@font-face {
    font-family: Lato;
    src: url("../font/Lato/Lato-Regular.ttf");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: SF Pro;
    src: url("../font/sf-pro/SFPRODISPLAYREGULAR.OTF");
    font-weight: normal;
    font-style: normal;
}

.main-bg {
    background: #f2f2f2;
    padding-bottom: 5em;
}

body {
    font-family: "Lato";
    font-style: normal;
}

.title-white30 {
    font-weight: 900;
    font-size: 30px;
    line-height: 36px;
    /* Gray 6 */
    color: #f2f2f2;
}

.title-white70 {
    font-weight: 900;
    font-size: 70px;
    line-height: 92.7%;
    color: #f2f2f2;
}

.banner-main {
    height: 100vh;
    background: grey;
    background: url("../img/banner/banner-main.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    margin-top: -120px;
}

.button-round-blue {
    background: linear-gradient(89.24deg, #19325b -10.08%, #038189 122.04%);
    border-radius: 50px;
    font-weight: 700;
    font-size: 14px;
    line-height: 17px;
    color: #f2f2f2;
    text-decoration: none;
    transition: 0.3s ease-out;
    padding: 10px 35px 13px 35px;
}

.button-round-blue:hover {
    transition: 0.3s ease-in;
    background: linear-gradient(89.24deg, #038189 -10.08%, #19325b 122.04%);
    color: #f2f2f2;
    transform: translateY(2px);
}

.button-round-white {
    background: linear-gradient(
        89.24deg,
        #dbdbdb -10.08%,
        #ebebeb 49.47%,
        #ffffff 122.04%
    );
    border-radius: 50px;
    font-weight: 700;
    font-size: 14px;
    line-height: 17px;
    color: #19325b;
    text-decoration: none;
    transition: 0.3s ease-out;
    padding: 10px 35px 13px 35px;
}

.button-round-white:hover {
    transition: 0.3s ease-in;
    background: linear-gradient(
        89.24deg,
        #ebebeb 49.47%,
        #ebebeb -10.08%,
        #ebebeb 122.04%
    );
    color: #19325b;
    transform: translateY(2px);
}

.button-round-blue:active,
.button-round-white:active {
    transform: translateY(-2px);
}

.chev-right {
    position: relative;
    padding: 10px 40px 13px 25px;
}

.chev-right:after {
    position: absolute;
    top: 12px;
    right: 17px;
    font-family: "Font Awesome 5 Free";
    content: "\f054";
    font-weight: 900;
    margin-left: 10px;
}

.banner-container {
    position: absolute;
    top: 50%;
    left: 30%;
    transform: translate(-50%, -50%);
}

.button-chev-down {
    position: absolute;
    bottom: -29px;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #f2f2f2;
    color: #19325b;
    border-radius: 10em 10em 0px 0px;
    padding: 20px 40px 5px 40px;
    z-index: 0;
}

.button-chev-down i {
    color: #19325b;
    opacity: 0.54;
    font-weight: 900;
    font-size: 30px;
}

.grid4-fluid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    grid-column-gap: 15px;
    grid-row-gap: 15px;
    margin: 25px 0px;
}

.left-container {
    position: relative;
    height: 500px;
    background: transparent;
    border-radius: 0px 10px 10px 0px;
}

.right-container {
    position: relative;
    height: 500px;
    background: transparent;
    border-radius: 10px 0px 0px 10px;
}

.left-container img {
    border-radius: 0px 10px 10px 0px;
}

.right-container img {
    border-radius: 10px 0px 0px 10px;
}

.left-container:after,
.right-container:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        244.43deg,
        #6cffca 5.7%,
        rgba(0, 209, 255, 0.41) 121.18%
    );
    z-index: 1;
}

.left-container:after {
    border-radius: 0px 10px 10px 0px;
}

.right-container:after {
    border-radius: 10px 0px 0px 10px;
}

.left-container .description {
    position: absolute;
    z-index: 2;
    text-align: center;
    width: 20em;
    top: 10em;
    right: 3em;
}

.right-container .description {
    position: absolute;
    z-index: 2;
    text-align: center;
    width: 20em;
    top: 10em;
    left: 3em;
}

.img-full {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.title-blue50 {
    font-weight: 900;
    font-size: 50px;
    line-height: 90%;
    color: #19325b;
}

.text-blue14 {
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #19325b;
}

.title-blue30 {
    font-weight: 900;
    font-size: 30px;
    line-height: 100%;
    color: #19325b;
}

.link-blue14 {
    font-weight: 700;
    font-size: 14px;
    line-height: 17px;
    color: #19325b;
    transition: 0.3s ease-out;
    text-decoration: none;
}

.link-blue14:hover {
    color: #1b56b5;
    transition: 0.3s ease-in;
    cursor: pointer;
}

.link-blue14:active {
}

.flex-between {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
}

.section-article-card {
}

.slick-slider .slick-slide {
    padding: 0 10px;
}

.link-blue14.chev-right {
    padding: 10px 15px 13px 25px;
}

.link-blue14.chev-right:after {
    right: 0px;
}

.text-white10 {
    font-weight: 400;
    font-size: 10px;
    line-height: 100%;
    /* or 10px */
    color: #ffffff;
}

.text-grey12 {
    font-weight: 400;
    font-size: 12px;
    line-height: 150%;
    /* or 18px */
    color: #828282;
}

.title-black30 {
    font-weight: 700;
    font-size: 30px;
    line-height: 100%;
    color: #333333;
}

.card-slider {
    background: #f2f2f2;
    border-radius: 10px;
    height: 540px;
    position: relative;
}

.card-slider .image-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    background: #bbb;
    width: 100%;
    height: 60%;
    border-radius: 6px 6px 0px 0px;
}

.card-slider .image-wrapper img {
    border-radius: 6px 6px 0px 0px;
}

.card-slider .description-wrapper {
    position: absolute;
    bottom: 0;
    left: 0;
    background: #ffff;
    width: 100%;
    height: 40%;
    border-radius: 0px 0px 6px 6px;
    padding: 30px;
}

.card-slider .overlay-card {
    position: absolute;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0);
    width: 100%;
    height: 100%;
    border-radius: 6px 6px 6px 6px;
    z-index: 10;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    font-weight: 400;
    font-size: 18px;
    line-height: 17px;
    font-weight: bold;
    color: #fff;
    transition: 0.3s ease-out;
    opacity: 0;
    text-decoration: none;
}

.card-slider:hover .overlay-card {
    background: rgba(26, 25, 25, 0.5);
    transition: 0.3s ease-in;
    opacity: 1;
}

.card-slider .description-wrapper .description-title {
    width: 80%;
}

.flex-start {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    align-items: center;
    justify-content: flex-start;
}

.tag-blue {
    background: #19325b;
    padding: 3px 20px 8px 20px;
    margin-right: 15px;
}

.arrow-color:before {
    color: #111 !important;
    font-size: 30px;
    font-weight: 900;
}

.slick-prev {
    left: -50px;
}

.slick-next {
    right: -40px;
}

.title-black18 {
    font-weight: 700;
    font-size: 18px;
    line-height: 180%;
    color: #333333;
}

.card-client {
    position: relative;
    height: 240px;
    border-radius: 5px;
}

.card-client .img-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 5px;
    width: 100%;
    height: 85%;
    background: #bbb;
}

.card-client .img-wrapper img {
    border-radius: 5px;
}

.card-client .footer-card {
    position: absolute;
    bottom: 0;
    left: 0;
    border-radius: 0px 0px 5px 5px;
    width: 100%;
    height: 15%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
}

.section-client {
    margin-top: 5em;
}

.footer-wrapper {
    min-height: 391px;
    background: #ffffff;
    padding: 40px 0px 10px 0px;
}

.footer-logo-wrapper {
    height: 30px;
    width: 130px;
    position: relative;
    margin-bottom: 30px;
}

.title-blue12 {
    font-weight: 900;
    font-size: 12px;
    line-height: 14px;
    color: #19325b;
}

ul.list-footer {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

ul.list-footer li.item {
    padding: 0;
    margin: 0px 0px 4px 0px;
}

ul.list-footer li.title {
    padding: 0;
    margin: 0px 0px 10px 0px;
}

ul.list-footer li.item a {
    font-weight: 400;
    font-size: 12px;
    line-height: 14px;
    color: #19325b;
    text-decoration: none;
    padding: 0px 20px 0px 0px;
}

ul.list-footer li.item a:hover {
    color: #2958a3;
}

ul.list-footer li.item a:active {
}

.subscribe-footer {
    background: #19325b;
    border-radius: 10px;
    padding: 25px;
}

.text-white12 {
    font-weight: 400;
    font-size: 12px;
    line-height: 14px;
    color: #f2f2f2;
}

.title-white22 {
    font-weight: 900;
    font-size: 22px;
    line-height: 100%;
    color: #f2f2f2;
}

.input-subscribe-wrapper {
    border-bottom: 1px solid #e0e0e0;
    position: relative;
    height: 46px;
    width: 70%;
}

.input-main {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
    background: transparent;
    font-weight: 700;
    font-size: 14px;
    line-height: 17px;
    display: flex;
    align-items: center;
    /* white */
    color: #ffffff;
}

.input-main::placeholder {
    font-weight: 700;
    font-size: 14px;
    line-height: 17px;
    color: #ffffff;
}

.input-main:focus {
    outline: none;
}

.input-subscribe-wrapper .btn-round-white {
    position: absolute;
    top: 0;
    right: -10em;
}

.btn-round-white {
    background:
        linear-gradient(89.24deg, #ffffff -10.08%, #c3c6c7 122.04%), #5aaa46;
    box-shadow:
        0px 0px 2px rgba(0, 0, 0, 0.12),
        0px 2px 2px rgba(0, 0, 0, 0.24);
    border-radius: 46px;
    font-weight: 700;
    font-size: 14px;
    line-height: 17px;
    color: #19325b;
    padding: 7px 20px;
    text-decoration: none;
    transition: 0.3s ease-out;
}

.btn-round-white:hover {
    transition: 0.3s ease-in;
    color: #18448b;
    background:
        linear-gradient(89.24deg, #c3c6c7 -10.08%, #fff 122.04%), #5aaa46;
    box-shadow:
        0px 0px 2px rgba(0, 0, 0, 0.12),
        0px 2px 2px rgba(0, 0, 0, 0.24);
}

.btn-round-white:active {
}

.text-grey12 {
    font-weight: 400;
    font-size: 12px;
    line-height: 14px;
    color: #bdbdbd;
}

.list-privacy {
    list-style-type: none;
    display: inline-flex;
    padding: 0;
    margin: 0;
}

.list-privacy li {
    border-right: 1px solid #e0e0e0;
    margin-right: 10px;
}

.list-privacy li:last-child {
    margin-right: 0px;
    border-right: none;
}

.list-privacy li a {
    padding: 3px 10px 8px 0px;
}

.footer-copyright {
    margin-top: 80px;
    border-top: 1px solid #e0e0e0;
    padding: 15px 0px 10px 0px;
}

.banner-business {
    background: #fff;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    grid-column-gap: 40px;
    padding: 40px 0px;
}

.wrapper-desc-business {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-content: flex-start;
    flex-wrap: nowrap;
    padding-left: 20em;
}

.wrapper-img-business {
    background: #bbb;
    height: 569px;
    border-radius: 6px;
    position: relative;
}

.wrapper-img-business img {
    border-radius: 6px;
}

.banner-expertise {
    padding: 8em 0px 3em 0px;
    margin-top: -120px;
}

.text-grey20 {
    font-weight: 700;
    font-size: 20px;
    line-height: 100%;
    /* or 20px */
    color: #828282;
}

.text-black30 {
    font-weight: 400;
    font-size: 30px;
    line-height: 120%;
    color: #333333;
}

.banner-ui {
    min-height: 850px;
    padding: 80px 0px;
    position: relative;
    background: url("../img/banner/bannerui.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.banner-architecture {
    min-height: 850px;
    padding: 80px 0px;
    position: relative;
    background: url("../img/banner/banner-blue.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.banner-architecture .title-architecture,
.banner-ui .title-architecture {
    text-align: center;
    margin-bottom: 60px;
}

.banner-architecture .card-architect-wrapper,
.banner-ui .card-architect-wrapper {
    padding: 0px 60px;
}

.card-architect {
    background: linear-gradient(0deg, #e3e3e3 -5.75%, #fafafa 75.47%), #f7f7f7;
    border-radius: 10px;
    min-height: 500px;
    transition: 0.3s ease-out;
    margin-bottom: 30px;
    /* padding: 30px; */
    position: relative;
}

.card-architect:hover {
    cursor: pointer;
    transition: 0.3s ease-in;
    transform: translateY(-5px);
    box-shadow:
        rgba(0, 0, 0, 0.16) 0px 10px 36px 0px,
        rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;
}

.card-architect:active {
    transform: translateY(5px);
}

.list-service {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.list-service li {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: #333333;
    padding-left: 35px;
    position: relative;
    text-transform: capitalize;
}

.list-service li:before {
    content: "";
    position: absolute;
    font-family: "Font Awesome 5 Free";
    content: "\f00c";
    font-weight: 900;
    margin-left: 10px;
    top: 0;
    left: 0;
    font-size: 18px;
    color: #14ef10;
}

.icon-card-architect {
    width: 130px;
    height: 126px;
    position: relative;
}

.title-black40 {
    font-weight: 700;
    font-size: 40px;
    line-height: 100%;
    color: #333333;
}

.card-architect .card-arch-pos {
    position: absolute;
    top: 23%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.card-architect .card-arch-title {
    /*background: lime;*/
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
    padding: 0px 50px;
}

.card-architect .card-arch-item {
    padding: 0px 0px 0px 40px;
    position: absolute;
    top: 60%;
    width: 100%;
    /* left: 50%; */
    /* transform: translate(-50%,-50%); */
    /* background: red;*/
}

.card-arch-item .list-service {
    margin-right: 20px;
}

.card-arch-item .list-service:last-child {
    margin-right: 0px;
}

.text-unset {
    text-transform: unset;
}

.banner-skill {
    background: #19325b;
    min-height: 300px;
    text-align: center;
    padding-top: 5em;
}

.title-white50 {
    font-weight: 900;
    font-size: 50px;
    line-height: 120%;
    color: #ffffff;
}

.text-white18 {
    font-weight: 400;
    font-size: 18px;
    line-height: 120%;
    color: #ffffff;
}

.banner-solution {
    min-height: 300px;
    background: url("../img/banner/banner-solution.png");
    padding: 55px 0px 0px 0px;
}

.banner-same .grid4-fluid {
    margin: 7px 0px;
    grid-column-gap: 9px;
}

.link-white14 {
    font-weight: 700;
    font-size: 14px;
    line-height: 17px;
    color: #ffffff;
    text-decoration: none;
    transition: 0.3s ease-out;
}

.link-white14:hover {
    color: #ccc6c6;
    transition: 0.3s ease-in;
}

.link-white14:active {
}

.pl-0 {
    padding-left: 0;
}

.dev-bg-left1,
.dev-bg-left2,
.dev-bg-left3,
.dev-bg-right1,
.dev-bg-right2,
.dev-bg-right3 {
    position: relative;
}

.dev-bg-left1:before {
    content: "";
    background: url(../img/gallery/groupfile.png);
    background-position: center;
    position: absolute;
    background-size: cover;
    background-repeat: no-repeat;
    right: 0;
    top: 0;
    width: 10em;
    height: 10em;
}

.dev-bg-left2:before {
    content: "";
    background: url(../img/gallery/groupsecurity.png);
    background-position: center;
    position: absolute;
    background-size: cover;
    background-repeat: no-repeat;
    right: -7px;
    top: -7px;
    width: 10em;
    height: 10em;
    z-index: 0;
}

.dev-bg-left3:before {
    content: "";
    background: url(../img/gallery/groupfile.png);
    background-position: center;
    position: absolute;
    background-size: cover;
    background-repeat: no-repeat;
    right: 0;
    top: 0;
    width: 10em;
    height: 10em;
}

.dev-bg-right1:before {
    content: "";
    background: url(../img/gallery/groupcomputer.png);
    background-position: center;
    position: absolute;
    background-size: cover;
    background-repeat: no-repeat;
    right: 0;
    top: 0;
    width: 10em;
    height: 10em;
}

.dev-bg-right2:before {
    content: "";
    background: url(../img/gallery/groupdb.png);
    background-position: center;
    position: absolute;
    background-size: cover;
    background-repeat: no-repeat;
    right: 0;
    top: 0;
    width: 10em;
    height: 10em;
}

.dev-bg-right3 {
    content: "";
    background: url(../img/gallery/groupfile.png);
    background-position: center;
    position: absolute;
    background-size: cover;
    background-repeat: no-repeat;
    right: 0;
    top: 0;
    width: 10em;
    height: 10em;
}

.card-rounded {
    position: relative;
    background: #bbb;
    height: 500px;
    border-radius: 10px;
}

.card-rounded img {
    border-radius: 10px;
    z-index: 0;
}

.title-card-round {
    position: absolute;
    top: 35px;
    left: 35px;
}

.overlay-round-card {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    text-decoration: none;
    font-style: normal;
    font-weight: 700;
    font-size: 30px;
    line-height: 100%;
    color: #ffffff;
    opacity: 0;
    transition: 0.3s ease-out;
}

.card-rounded:hover .overlay-round-card {
    opacity: 1;
    color: #ffffff;
    transition: 0.3s ease-in;
}

.card-rounded:hover .title-card-round {
    opacity: 0;
}

.solution-item {
    padding: 3em 0px 10em 0px;
}

.banner-enterprise {
    height: 348px;
    text-align: center;
    padding-top: 6em;
    position: relative;
}

.title-blue40 {
    font-weight: 700;
    font-size: 40px;
    line-height: 120%;
    color: #19325b;
}

.banner-circle-wrapper {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.desc-left-wrapper {
    padding: 6em 8em 0px 0px;
}

.alter-left-wrapper {
    padding: 2em 8em 0px 0px;
}

.desc-right-wrapper {
    padding: 6em 0px 0px 8em;
}

.text-green14 {
    font-weight: 400;
    font-size: 20px;
    line-height: 100%;
    color: #5aaa46;
}

.mb-card {
    margin-bottom: 4em;
}

.wrapper-img-container {
    background: transparent;
    height: 400px;
    border-radius: 6px;
    position: relative;
}

.wrapper-img-container img {
    border-radius: 6px;
}

.left-xl {
    height: 400px;
    position: relative;
}

.right-xl {
    height: 400px;
    position: relative;
}

.left-xl:after {
    background:
        linear-gradient(
            144.24deg,
            #000b6c -22.85%,
            rgba(32, 255, 255, 0) 107.62%,
            rgba(0, 255, 255, 0) 107.62%
        ),
        linear-gradient(
            147.23deg,
            #00666c -13.38%,
            rgba(0, 255, 255, 0) 71.09%
        ),
        url(image.png);
    mix-blend-mode: multiply;
}

.right-xl:after {
    background:
        linear-gradient(
            92.3deg,
            #00666c 0.42%,
            rgba(32, 255, 255, 0) 157.95%,
            rgba(0, 255, 255, 0) 157.95%
        ),
        linear-gradient(
            147.23deg,
            #00666c -13.38%,
            rgba(0, 255, 255, 0) 71.09%
        ),
        url(image.png);
    mix-blend-mode: multiply;
}

.left-xl .double {
    width: 28em;
    top: 7em;
}

.right-xl .double {
    width: 28em;
    top: 7em;
}

.list-feature {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.list-feature li {
    position: relative;
    margin-bottom: 5px;
}

.list-feature li:before {
    font-family: "Font Awesome 5 Free";
    content: "\f00c";
    font-weight: 900;
    margin-right: 10px;
    color: #5aaa46;
}

.alter-left-wrapper-list {
    padding-top: 1em;
}

.card-desc-pt4 {
    padding-top: 4em;
}

.banner-vission {
    background: #fff;
}

.text-blue20 {
    font-weight: 400;
    font-size: 20px;
    line-height: 100%;
    color: #19325b;
}

.cl-green {
    color: #5aaa46 !important;
}

.vission-wrapper {
    padding: 10em 3em;
}

.section-principle {
    height: 580px;
    background: url("../img/banner/banner-principle.png");
}

.card-principle {
    background: rgba(140, 200, 255, 0.1);
    height: 280px;
    border: 1px solid #69ffed;
    border-radius: 10px;
    position: relative;
    padding: 40px;
}

.card-principle .flex-start {
    margin-bottom: 30px;
}

.card-principle .flex-start img {
    margin-right: 20px;
}

.title-principle {
    margin-top: 4em;
    margin-bottom: 5em;
    text-align: center;
}

.section-talent {
    background: #fff;
    padding: 8em 0px;
}

.talent-img-wrapper {
    background: #bbb;
    height: 700px;
    position: relative;
}

.text-green20 {
    font-weight: 400;
    font-size: 20px;
    line-height: 100%;
    color: #5aaa46;
}

.talent-desc-wrapper {
    padding-top: 10em;
}

.talent-desc-wrapper .title-black40 {
    margin-top: 1em;
    margin-bottom: 1.2em;
}

.title-white60 {
    font-weight: 900;
    font-size: 60px;
    line-height: 120%;
    color: #ffffff;
}

.section-percent {
    background: #5aaa46;
}

.pecent-wrapper {
    height: 200px;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0px 35px;
}

.circle-percent {
    background: #488b37;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    height: 250px;
    width: 250px;
    text-align: center;
}

.fs-40 {
    font-size: 40px;
}

.circle1 {
    width: 344px;
    height: 344px;
    border: 1px solid green;
    border-radius: 50%;
    position: relative;
    padding: 25px 28px;
    top: -65px;
}

.circle2 {
    width: 286px;
    height: 286px;
    border: 1px solid #e0e0e0;
    border-radius: 50%;
    padding: 16px 17px;
}

.general-detail {
    border-top: 1px solid #e0e0e0;
    border-right: 1px solid #e0e0e0;
    padding: 25px 25px;
}

.general-detail:first-child {
    padding: 25px 0px;
}

.general-detail:last-child {
    border-right: none;
}

.grid-general {
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
}

.ul-vertical {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.list-social-rounded-info {
}

.list-social-rounded-info ul {
}

.list-social-rounded-info ul li {
}

.list-social-rounded-info ul li a {
    text-decoration: none;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
    margin-top: 10px;
}

.list-social-rounded-info ul li a i {
    color: #fff;
    background: #000;
    padding: 10px 10px;
    border-radius: 50%;
    font-size: 18px;
    margin-right: 10px;
}

.list-social-rounded-info ul li a i.fa-facebook-f {
    padding: 10px 14px;
}

.list-social-rounded-info ul li a span {
    font-weight: 400;
    font-size: 12px;
    line-height: 14px;
    color: #333333;
}

.text-grey14 {
    font-weight: 400;
    font-size: 14px;
    line-height: 100%;
    color: #bdbdbd;
}

.banner-contact {
    padding-top: 8em;
    padding-bottom: 8em;
    margin-top: -120px;
}

.text-black18 {
    font-weight: 400;
    font-size: 18px;
    line-height: 180%;
    /* or 32px */
    /* Gray 1 */
    color: #333333;
}

.card-contact {
    background:
        linear-gradient(
            174.09deg,
            #00ff98 -38.95%,
            #09ddb2 6.47%,
            #1aa2df 90.34%,
            #2578ff 145.72%
        ),
        #19325b;
    border: 1px solid #f2f2f2;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    border-radius: 6px;
    min-height: 600px;
    position: relative;
    padding: 40px;
}

.card-contact:before {
    content: "";
    position: absolute;
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
    border-left: 0px solid blue;
    border-right: 35px solid #09ddb2;
    transform: rotate(0deg);
    top: 27px;
    left: -35px;
    z-index: 0;
}

.form-wrapper {
    border: 1px solid #f2f2f2;
    background: #fff;
    border-radius: 5px;
    height: 50px;
    position: relative;
    margin-bottom: 30px;
}

.form-wrapper.textarea {
    height: 160px;
}

.form-wrapper.textarea .input-main {
    padding-top: 20px;
}

.form-wrapper .input-main {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    border-radius: 5px;
    padding-left: 20px;
    background: transparent;
    border: none;
    font-weight: 400;
    font-size: 18px;
    line-height: 17px;
    color: #333;
}

.form-wrapper small {
    position: absolute;
    bottom: -20px;
    left: 5px;
    font-size: 14px;
    font-style: italic;
    font-weight: 900;
    color: red;
}

.form-wrapper .input-main::placeholder {
    font-weight: 400;
    font-size: 18px;
    line-height: 17px;
    color: #828282;
}

.form-wrapper .input-main:focus {
    outline: none;
}

.button-rounded-blue {
    border: none;
    background: #19325b;
    box-shadow:
        0px 0px 2px rgba(0, 0, 0, 0.12),
        0px 2px 2px rgba(0, 0, 0, 0.24);
    border-radius: 46px;
    padding: 10px 30px;
    font-weight: 700;
    font-size: 14px;
    line-height: 17px;
    color: #f2f2f2;
}

.link-black14 {
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #222222;
    opacity: 0.5;
}

.link-black14.active {
    opacity: 1;
}

.anchor-navbar {
    position: relative;
}

.anchor-navbar:after {
    font-family: "Font Awesome 5 Free";
    content: "\f078";
    position: absolute;
    top: 10px;
    right: -7px;
    color: #222222;
    font-size: 14px;
    font-weight: 900;
    opacity: 0.5;
}

.link-black14:hover {
    opacity: 1;
}

.link-black14:active {
    opacity: 1;
}

.nav-item .anchor-navbar {
    margin-right: 20px;
}

.main-nav {
    height: 120px;
    position: relative;
}

.main-nav:hover {
}

.nav-sub {
    background: yellow;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    transform: scaleY(0);
    transform-origin: top;
}

.nav-sub.collaps {
    height: 0px;
    transform: scaleY(0);
}

.nav-sub.appear {
    height: 64px;
    transition: transform 0.26s ease-in;
    transform: scaleY(1);
}

#menu-1-wrapper {
    background: #fff;
    border-bottom: 1px solid #fff;
}

#menu-2-wrapper {
    background: #fff;
    border-bottom: 1px solid #fff;
}

#menu-3-wrapper {
    background: green;
}

.title-blue24 {
    font-weight: 700;
    font-size: 24px;
    line-height: 29px;
    color: #19325b;
}

.ul-main {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
}

.ul-main li {
}

.ul-main li a {
    font-weight: 400;
    font-size: 12px;
    line-height: 14px;
    color: #828282;
    text-decoration: none;
    margin-right: 20px;
    opacity: 0.5;
}

.ul-main li a:hover {
    opacity: 1;
}

.ul-main li a.active {
    opacity: 1;
}

.ul-main li:last-child a {
    margin-right: 0px;
}

.banner-dev {
    background: #f2f2f2;
    padding: 80px 0px;
}

.grid-dev {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    grid-column-gap: 0;
    grid-row-gap: 0;
    background: lime;
}

.dev-left {
}

.dev-right {
}

.dev-wrapper {
    margin-top: 50px;
    min-height: 1500px;
    position: relative;
}

.line-y {
    position: absolute;
    width: 1px;
    height: 80%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 1px solid #19325b;
    background: #19325b;
}

.line-y {
    position: absolute;
    width: 1px;
    height: 87%;
    top: 41em;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 1px solid #19325b;
    background: #19325b;
}

.dot {
    background: #19325b;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    position: absolute;
}

.dot-start {
    top: -4px;
    left: -5px;
}

.dot-end {
    bottom: -4px;
    left: -5px;
}

.circle-number {
    background: #5aaa46;
    box-shadow: 0px 4px 4px rgb(0 0 0 / 25%);
    font-weight: 900;
    font-size: 30px;
    line-height: 36px;
    color: #ffffff;
    border-radius: 50%;
    padding: 13px 15px;
    position: absolute;
    left: -33px;
}

.card-chat-left {
    /*display: inline-block; */
    padding: 40px;
    /* border-radius: 6px; */
    /* float: right; */
    /* margin-right: 40px; */
    /* color: black; */
    background: linear-gradient(0deg, #ffffff, #ffffff), #f7f7f7;
    border: 1px solid #f2f2f2;
    box-shadow: 0px 4px 4px rgb(0 0 0 / 25%);
    border-radius: 6px;
    position: absolute;
    left: 0;
    min-height: 320px;
    width: 560px;
    overflow: hidden;
}

.card-chat-left p.text-black18 {
    position: absolute;
}

.card-chat-right {
    /* display: inline-block; */
    /* padding: 5px 6px 8px 6px; */
    /* border-radius: 6px; */
    /* float: right; */
    /* margin-right: 40px; */
    /* color: black; */
    background: linear-gradient(0deg, #ffffff, #ffffff), #f7f7f7;
    /* Gray 6 */
    border: 1px solid #f2f2f2;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    border-radius: 6px;
    position: absolute;
    right: 0;
    min-height: 320px;
    width: 560px;
    padding: 40px;
    overflow: hidden;
}

.card-chat-left:after {
    content: "";
    position: absolute;
    margin-top: 12px;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-bottom: 30px solid #fff;
    transform: rotate(90deg);
    right: -43px;
    top: 34px;
}

.card-chat-right:after {
    content: "";
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 30px solid #fff;
    border-bottom: 10px solid transparent;
    position: absolute;
    top: 40px;
    left: -50px;
    transform: rotate(90deg);
}

.s1 {
    top: 2em;
}

.s2 {
    top: 11em;
}

.s3 {
    top: 20em;
}

.s4 {
    top: 29em;
}

.s5 {
    top: 38em;
}

.cl1 {
    top: 2em;
}

.cr1 {
    top: 19em;
}

.cl2 {
    top: 35.5em;
}

.cr2 {
    top: 52.5em;
}

.cl3 {
    top: 69.5em;
}

.cr3 {
}

.cl4 {
}

.cr4 {
}

.title-blue40 {
    font-weight: 900;
    font-size: 40px;
    line-height: 100%;
    color: #19325b;
}

.banner-consulting {
    min-height: 850px;
    padding: 80px 60px;
    position: relative;
    background: url(../img/gallery/bgoffered.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    text-align: center;
}

.img-consulting-card {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: contain;
    object-position: center;
}

.card-consult {
    min-height: 400px;
}

.card-consult .card-arch-pos {
}

.card-consult .card-arch-title {
}

.card-consult .card-arch-title p {
}

.card-consult .card-arch-item {
    width: auto;
    top: unset;
    left: 0;
    bottom: 25px;
    height: 7em;
    position: absolute;
    padding: 15px;
}

.dev-img div img.img-card {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50%;
    object-fit: cover;
    object-position: center;
    border-radius: 6px 6px 0px 0px;
}

.dev-img div.card-chat-left,
.dev-img div.card-chat-right {
    min-height: 550px;
}

.dev-img > div.card-chat-left > .wrap,
.dev-img > div.card-chat-right > .wrap {
    position: absolute;
    /* background: lime; */
    width: 85%;
    bottom: 0px;
    height: 15em;
}

.dev-img div.cr1 {
    top: 23em;
}

.dev-img div.cl2 {
    top: 42.5em;
}

.dev-img div.cr2 {
    top: 63.5em;
}

.dev-img div.line-y .s1 {
}

.dev-img div.line-y .s2 {
    top: 13em;
}

.dev-img div.line-y .s3 {
    top: 24em;
}

.dev-img div.line-y .s4 {
    top: 35em;
}

section.consultation-banner {
    padding: 80px 0px 160px 0px;
}

.card-discover {
    border-radius: 10px;
    border: 25px solid #000;
    padding: 20px 20px 30px;
    width: 650px;
    height: 440px;

    transition: all 0.3s ease;
}

.card-discover:hover {
    border: 6px solid;
    border-color: #25c9a0; /* Change this hex code to your preferred color */
}

.card-discover-body {
    display: flex;
    padding: 25px;
    justify-content: center;
    align-items: center;
}

.card-discover-body-2 {
    display: flex;
    padding: 25px;
    justify-content: center;
    align-items: center;
    flex-direction: row-reverse;
}

.card-discover-icon {
    width: 190px;
    height: 130px;
    position: relative;
    margin-right: 20px;
    flex-shrink: 0;
}

.img-full-size {
    width: 134%;
    height: 100%;

    /* Forces the image to fit entirely inside the 190x130 box 
       without cropping or stretching */
    object-fit: contain;
    object-position: center;
}

.img-full-size2 {
    width: 100%;
    height: 100%;
    padding-top: 90px;
    object-fit: cover;
}

.card-discover-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}

.card-discover-title h1 {
    color: #000;
    font-family: Lato;
    font-size: 40px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    letter-spacing: 1.44px;
}

.card-discover-title p {
    color: #000;
    font-family: Lato;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.6px;
}

/* =========================================
   CUSTOM "LEARN MORE" ANIMATED BUTTON
   ========================================= */

/* 1. Base Button Container */
.btn-learn-more {
    position: relative;
    display: inline-block;
    cursor: pointer;
    outline: none;
    border: 0;
    vertical-align: middle;
    text-decoration: none;
    background: transparent;
    padding: 0;

    /* Pulled from your old CSS! */
    font-family: Lato, sans-serif;
    font-size: 20px;

    width: 12rem;
    height: auto;
}

/* 2. The Black Circle Background */
.btn-learn-more .circle {
    transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
    position: relative;
    display: block;
    margin: 0;
    width: 3rem;
    height: 3rem;
    background: #000; /* Changed to your solid black */
    border-radius: 1.625rem;
}

/* 3. The Arrow Icon Container */
.btn-learn-more .circle .icon {
    transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    background: #fff;
}

/* 4. The Arrow Lines */
.btn-learn-more .circle .icon.arrow {
    transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
    left: 0.625rem;
    width: 1.125rem;
    height: 0.125rem;
    background: none;
}

.btn-learn-more .circle .icon.arrow::before {
    position: absolute;
    content: "";
    top: -0.29rem;
    right: 0.0625rem;
    width: 0.625rem;
    height: 0.625rem;
    border-top: 0.125rem solid #fff;
    border-right: 0.125rem solid #fff;
    transform: rotate(45deg);
}

/* 5. The Text Styling */
.btn-learn-more .button-text {
    transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 6px;
    margin: 0 0 0 1.85rem;

    /* Pulled from your old CSS! */
    color: #000;
    font-weight: 600;
    letter-spacing: 0.6px;

    line-height: 1.6;
    text-align: center;
}

/* =========================================
   THE HOVER ANIMATIONS
   ========================================= */

/* Expand the black circle to full width */
.btn-learn-more:hover .circle {
    width: 100%;
}

/* Push the arrow to the right and turn it solid white */
.btn-learn-more:hover .circle .icon.arrow {
    background: #fff;
    transform: translate(1rem, 0);
}

/* Turn the text white so it shows up on the expanded black background */
.btn-learn-more:hover .button-text {
    color: #fff;
}

.action-button {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    z-index: 1;
}

.action-button button {
    display: flex;
    width: 55px;
    padding: 15px 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 25px;
    border-radius: 10px 0 0 10px;
    border: 1px solid #000;
    background: #000;
}

.search-wrapper,
.standard-btn {
    display: flex;
    align-items: center;
    height: 55px;
    background: #000;
    border: 1px solid #000;
    border-radius: 10px 0 0 10px;
    overflow: hidden;
}

.search-wrapper {
    width: 55px;
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.search-wrapper.active {
    width: 250px;
}

.search-wrapper button {
    width: 55px;
    height: 100%;
    flex-shrink: 0;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
}

.search-wrapper input {
    width: 100%;
    height: 100%;
    background: transparent;
    border: none;
    color: #fff;
    font-family: "Lato", sans-serif;
    font-size: 14px;
    outline: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    padding-right: 15px;
}

.search-wrapper.active input {
    opacity: 1;
    transition-delay: 0.1s;
}

.share-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    position: relative;
}

.share-menu {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: calc(100% + 0px);
    right: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.share-wrapper.active .share-menu {
    max-height: 250px;
}

.social-btn {
    color: #fff;
}

.eva-content {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.evada-foot {
    padding: 40px 100px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.nav-foot ul {
    display: flex;
    padding: 0;
    margin: 0;
    list-style-type: none;
    gap: 15px;
}

.nav-foot ul li a {
    padding: 8px 20px;
    color: #000;
    text-align: center;
    font-family: Lato;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-decoration: none;
    background: #fff;
    border-radius: 10px;
    transition: all 0.3s ease;
    display: block;
}

.eva-follow {
    display: flex;
    align-items: center;
}

.eva-follow span {
    color: #fff;
    font-family: Lato;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-right: 40px;
}

.eva-follow button {
    background: none;
    border: none;
}

.eva-contact {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.eva-contacts {
    display: flex;
    flex-direction: column;
}

.eva-contacts span {
    color: #fff;
    font-family: Lato;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.eva-address {
    display: flex;
    flex-direction: column;
}

.eva-address span {
    color: #fff;
    font-family: Lato;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.evada-logo {
    position: absolute;
    top: -80px;
    right: 210px;
    border-radius: 400px;
    border: 1px solid #000;
    background: #fff;
    width: 140px;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.data-title {
    padding-top: 80px;
}

.data-title h3 {
    text-align: center;
    color: #000;
    font-family: Lato, sans-serif;
    font-size: 20px;
    font-weight: 700;
    font-style: normal;
    line-height: normal;
}

.data-title .bracket {
    color: #a7a7a7;
}

.card-status {
    display: flex;
    flex-direction: column; /* Grouped for cleaner reading */
    width: 315px;
    height: 145px;
    padding-top: 11px;
    align-items: center;
    gap: 15px;
    border-radius: 10px;
    border-bottom: 10px solid #000;
    background: #fff;
    box-shadow:
        0 0 4px 0 rgba(0, 0, 0, 0.25),
        0 4px 4px 0 rgba(0, 0, 0, 0.25);

    /* FIX: Tell the browser to animate the background! */
    transition: background-color 0.3s ease;
}

/* The hover state */
.card-status:hover {
    /* We only need the exact property that is changing */
    background: #000;
}

.card-status h1 {
    color: #000;
    font-family: Lato, sans-serif;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;

    /* Make the text fade smoothly */
    transition: color 0.3s ease;
}

/* When the CARD is hovered, change the H1 color */
.card-status:hover h1 {
    color: #ffffff;
}

/* --- H3 Styles --- */
.card-status h3 {
    text-align: center;
    font-family: Lato, sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;

    background: var(
        --background,
        linear-gradient(113deg, #2e3235 0%, #111 57.41%)
    );
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    /* Make the gradient-to-white fade smoothly */
    transition: -webkit-text-fill-color 0.3s ease;
}

/* When the CARD is hovered, change the H3 fill color */
.card-status:hover h3 {
    /* Override the transparent fill with solid white */
    -webkit-text-fill-color: #ffffff;
}

.card-statistic {
    display: flex;
    padding-top: 80px;
    padding-bottom: 80px;
}

.vid-card {
    border-radius: 10px;
    border: 2px solid #000;
    background: rgba(0, 0, 0, 0.1);
    width: 1307px;
}

.card-text h1 {
    color: #000;
    font-family: Lato;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 1.44px;
}

.card-text p {
    color: #000;
    font-family: Lato;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px; /* 150% */
    letter-spacing: 0.6px;
}

.card-padding {
    padding: 80px;
    display: flex;
}

.card-title {
    padding-bottom: 30px;
}

.vid-title {
    display: flex;
    padding: 60px;
    flex-direction: column;
}

.vid-title h1 {
    color: #000;
    font-family: Lato, sans-serif;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 1.44px;
    margin: 0; /* Removes default spacing that can cause jumps */

    /* === THE MAGIC FIXES === */
    width: fit-content; /* Forces the box to tightly hug the text */
    min-width: 4px; /* Gives the cursor a tiny space to exist when the line is completely empty */
    height: 60px; /* Locks the height so the cursor isn't super tall and the page doesn't jump */

    /* The Cursor Styling */
    border-right: 3.5px solid black;
    padding-right: 5px; /* Gives a tiny gap between the last letter and the cursor */
    white-space: nowrap;
    overflow: hidden;

    animation: blink 0.7s steps(2) infinite;
}

/* If you still want "Go Further" to align to the right side of the screen */
#typing-text2 {
    margin-left: auto; /* This cleanly pushes a 'fit-content' box to the right */
}

@keyframes blink {
    0%,
    100% {
        border-color: transparent;
    }
    50% {
        border-color: #000; /* Swapped var() to pure black to match your text */
    }
}

.vid-text {
    display: flex;
    justify-content: center;
    padding: 60px;
    flex-direction: column;
}

.vid-text p {
    color: #000;
    font-family: Lato;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px; /* 150% */
    letter-spacing: 0.6px;
}

.clientele-section {
    width: 100%;
    height: 345px;
    padding: 40px 0;
    overflow: hidden;
    position: relative;
}

.clientele-section h3 {
    text-align: center;
    color: #000;
    font-family: Lato;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 80px;
    letter-spacing: 1px;
}

/* Diagonal lines — top and bottom */
.marquee-wrapper {
    position: relative;
    width: 100%;
    padding: 50px 0;
    overflow: hidden; /* clips the rotated lines at edges */
    transform: rotate(-4.5deg);
}

/* Top diagonal line */
.marquee-wrapper::before {
    content: "";
    position: absolute;
    top: 0;
    left: -10%;
    width: 120%;
    border-top: 2px dashed #000;
    transform-origin: center;
}

/* Bottom diagonal dotted line */
.marquee-wrapper::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: -10%;
    width: 120%;
    border-top: 2px dashed #000;
    transform-origin: center;
}

/* Track stays perfectly horizontal */
.marquee-track {
    display: flex;
    align-items: center;
    gap: 80px;
    width: max-content;
    animation: marquee-scroll 20s linear infinite;
}

/* Pause on hover over the whole track */
.marquee-track:hover {
    animation-play-state: paused;
}

@keyframes marquee-scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    } /* -50% because we duplicated the logos */
}

/* Each logo item */
.logo-item {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
}

.logo-item img {
    height: 60px;
    width: auto;
    object-fit: contain;

    /* Grayscale by default */
    filter: grayscale(100%);
    opacity: 0.6;
    transition:
        filter 0.4s ease,
        opacity 0.4s ease;
}

/* Original color on hover */
.logo-item:hover img {
    filter: grayscale(0%);
    opacity: 1;
}

.eva-guide {
    margin-top: 60px;
}

/* --- YOUR ORIGINAL CONTAINER (Perfect for the Figma background) --- */
.guide-card-container {
    display: flex;
    gap: 40px;
    padding: 40px;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 600px;

    /* Your SVG encoded safely for CSS! */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1728 633' preserveAspectRatio='none'%3E%3Cg opacity='0.6'%3E%3Cpath d='M0 0H1728V633H0V0Z' fill='url(%23paint0_linear_262_171)'/%3E%3Cpath d='M0 0H1728V633H0V0Z' fill='url(%23paint1_linear_262_171)' fill-opacity='0.5'/%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_262_171' x1='819' y1='68.4872' x2='848.617' y2='558.553' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='white'/%3E%3Cstop offset='0.25' stop-opacity='0.5'/%3E%3Cstop offset='0.5' stop-opacity='0.8'/%3E%3Cstop offset='0.75' stop-opacity='0.5'/%3E%3Cstop offset='1' stop-color='white'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint1_linear_262_171' x1='1728' y1='316.905' x2='-1.26731e-05' y2='316.905' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='white'/%3E%3Cstop offset='0.5' stop-color='white' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='white'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
}

/* --- THE CARD STYLES --- */
* {
    box-sizing: border-box; /* Ensures padding doesn't affect the exact width/height */
}

.guide-card {
    width: 100%;

    /* Drop this down from 463px so they have room to breathe inside the columns */
    max-width: 380px;

    margin: 0 auto;
    border-radius: 10px;
    border: 1px solid #000;
    background: #fff;
    height: 427px;
    padding: 140px 40px 0;
    position: relative;
    overflow: hidden;
    transition:
        background-color 0.4s ease,
        transform 0.4s ease;
}

/* THE DIAGONAL DASHED LINE */
.guide-card::before {
    content: "";
    position: absolute;
    /* 1. Push the line further down the left side */
    top: 150px; /* Increased from 120px */
    left: 0;
    /* 2. Increase the length of the line so it spans the new gap */
    width: 215px; /* Increased from 170px */

    border-top: 1px dashed #000;
    transform: rotate(-45deg);
    transform-origin: top left;

    transition: border-color 0.4s ease;
}

.guide-page {
    position: absolute;
    top: 40px;
    left: 45px;
    color: #000;
    text-align: center;
    font-family: Lato, sans-serif;
    font-size: 24px;
    font-weight: 700;
    z-index: 1;

    transition: color 0.4s ease;
}

.guide-card-body h1 {
    color: #000;
    font-family: Lato, sans-serif;
    font-size: 48px;
    font-weight: 500;
    margin-top: 0;
    margin-bottom: 20px;

    transition: color 0.4s ease;
}

.guide-card-body p {
    color: #000;
    font-family: Lato, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.4;

    transition: color 0.4s ease;
}

/* --- SHIFT THE SECOND CARD DOWN --- */

/* --- THE HOVER ANIMATION --- */

/* 1. Change the background and add the tilt on hover */
.guide-card:hover {
    background-color: #000;
    cursor: pointer; /* Changes the mouse to a pointing hand */
}

/* 3. Invert the text colors to white on hover */
.guide-card:hover .guide-page,
.guide-card:hover .guide-card-body h1,
.guide-card:hover .guide-card-body p {
    color: #fff;
}

/* 4. Turn the dashed line white on hover */
.guide-card:hover::before {
    border-top-color: #fff;
}

.title-ads {
    color: #fff;
    text-align: center;
    font-family: "SF Pro";
    font-size: 110px;
    font-style: normal;
    font-weight: 510;
    line-height: normal;
    letter-spacing: 3.84px;
    white-space: nowrap;
    display: inline-block;
    padding-right: 50px;
}

.adsbanner {
    background: #000;
    min-height: 250px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-bottom: 20px;
}

/* --- CUSTOM MODAL STYLING --- */

.custom-modal {
    border-radius: 20px; /* Highly rounded corners like the picture */
    border: none;
    /* A very subtle grey-to-white gradient background */
    background: linear-gradient(180deg, #f0f2f5 0%, #ffffff 40%);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
}

.custom-modal .modal-title {
    font-family: Lato, sans-serif;
    font-size: 32px;
    font-weight: 800;
    letter-spacing: 0.5px;
}

.custom-modal .modal-text {
    font-family: Lato, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    color: #6c757d; /* A nice, legible grey */
}

/* The Black "Got it" Button */
.btn-got-it {
    background-color: #000;
    color: #fff;
    font-family: Lato, sans-serif;
    font-size: 18px;
    font-weight: 700;
    border-radius: 12px;
    padding: 10px 40px;
    transition: all 0.3s ease;
    border: 2px solid #000;
}

.btn-got-it:hover {
    background-color: #fff; /* Inverts to white */
    color: #000; /* Text becomes black */
    transform: translateY(-2px); /* Slight lift effect */
}

/* Hero section - exactly 100vh */
.hero-section {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    position: relative;
}

/* About Us Page CSS  */

.top-background {
    position: relative;
    width: 100%;
    max-height: 600px;
    overflow: hidden;
}

.top-background .img-full-size {
    width: 100%;
    height: auto;
    display: block;
}

.top-slogan {
    position: absolute;
    top: 35%;
    left: 4%;
    transform: translateY(-50%);
    width: 50%;
    text-align: left;
}

.top-box {
    position: absolute;
    top: 81%;
    left: 6%;
    transform: translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    background: #d9d9d9;
    width: 700px;
    padding-right: 23px;
    max-width: 90%;
    height: 85px;
}

.top-slogan h1 {
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
    margin: 0;
    text-align: center;

    color: #fff;
    font-family: "Adobe Arabic", serif;
    font-size: 68px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}
.top-box h2 {
    color: #141212;
    font-family: "Adobe Arabic", serif;
    font-size: 40px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

/* --- Base Container --- */
.top-card {
    display: flex;
    padding-left: 60px;
    padding-bottom: 25px;
}

/* --- The Number Styles --- */
.top-card-num {
    display: flex;
    flex-direction: column;
    justify-content: center;
    /* Consider removing fixed height/width for better responsiveness later! */
    height: 124px;
}

.top-card-num h2 {
    color: #2b2929;
    text-align: center;
    font-family: "Adobe Arabic", serif;
    font-size: 73px;
    font-weight: 700;
    padding-top: 70px;
    margin: 0; /* Added to reset default spacing */
}

/* --- The Text Styles --- */
.top-card-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 32px;
    padding-bottom: 43px;
}

.top-card-text h3 {
    color: #2b2929;
    text-align: center;
    font-family: "Adobe Arabic", serif;
    font-size: 36px;
    font-weight: 400;
    margin: 29px;
}

/* --- THE NEW HOVER LINES --- */
.hover-line {
    width: 100%;
    height: 2px;
    background: linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.21) 0%,
        #087069 50%,
        rgba(0, 0, 0, 0.21) 100%
    );
    margin-top: 17px;

    /* Make it invisible by default */
    opacity: 0;
    /* Add a smooth fade-in effect */
    transition: opacity 0.3s ease;
}

/* When the stat-card is hovered, find the hover-line inside it and make it visible */
.stat-card:hover .hover-line {
    opacity: 1;
}

.story {
    display: flex;
    width: 100%;
    height: 430px;
    background-color: #fff;
    flex-direction: column;
    justify-content: center;
    padding-bottom: 40px;
}

.story-title {
}

.story-title h1 {
    color: #000;
    text-align: center;
    font-family: "Adobe Arabic";
    font-size: 55px;
    padding-bottom: 40px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.story-text {
    margin: 0px 100px;
}

.story-text p {
    color: #000;
    text-align: center;
    font-family: "Adobe Arabic";
    font-size: 28px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.vision {
    height: 631px;
    background: #252525;
    display: flex;
    /* ADDED: This ensures both the image column and text column are perfectly equal in height */
    align-items: stretch;
}

/* --- THE MAGIC SLANT --- */
.vision-image {
    height: 100%;
    width: 100%;
    /* This creates the diagonal cut. 
       Point 1: Top-Left (0 0)
       Point 2: Top-Right (100% 0)
       Point 3: Bottom-Right, pulled inward by 20% (80% 100%)
       Point 4: Bottom-Left (0 100%) */
    clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%);
}

.img-full-size {
    width: 100%;
    height: 100%;
    /* ADDED: object-fit is crucial! It forces the image to fill the container 
       like a background without squishing or stretching the people in the photo. */
    object-fit: cover;
}

/* --- TEXT STYLES (Cleaned up slightly) --- */
.vision-note h1 {
    color: #fff;
    text-align: left;
    font-family: "Adobe Arabic";
    font-size: 41px;
    font-weight: 400;
    margin: 0 100px;
    padding-top: 45px;
    padding-bottom: 45px;
}

.vision-note p {
    color: #fff;
    font-family: "Adobe Arabic";
    font-size: 22px;
    word-spacing: 7px;
    line-height: 40px;
    margin: 0 100px;
    text-align: left;
}

.block {
    height: 560px;
    background: #f9f9f9;
}

.block h1 {
    color: #000;
    text-align: center;
    font-family: "Adobe Arabic";
    font-size: 50px;
    margin: 66px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    padding-top: 62px;
}

.block p {
    color: #000;
    text-align: center;
    font-family: "Adobe Arabic";
    font-size: 29px;
    margin: 66px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.about-future {
    height: 731px;
    background: linear-gradient(90deg, #4b4b4b 0.1%, #212121 49.39%);
    display: flex;
    align-items: stretch;
}

/* --- THE REVERSED SLANT --- */
.future-image {
    height: 100%;
    width: 100%;
    /* THE CORRECTED SLANT 
       Point 1 (Top-Left): Flush left (0 0)
       Point 2 (Top-Right): Full width (100% 0)
       Point 3 (Bottom-Right): Full width (100% 100%)
       Point 4 (Bottom-Left): Pushed inward 15% (15% 100%) */
    clip-path: polygon(0 0, 100% 0, 100% 100%, 15% 100%);
}

.img-full-size {
    width: 100%;
    height: 100%;
    /* Ensures the image fills the space without squishing */
    object-fit: cover;
}

/* --- TEXT STYLES --- */
.about-future h1 {
    color: #fff;
    text-align: left; /* Changed from center to left */
    font-family: "Adobe Arabic";
    font-size: 41px;
    font-weight: 400;
    margin: 0 100px;
    padding-top: 60px;
    padding-bottom: 20px;
}

.about-future p {
    color: #fff;
    font-family: "Adobe Arabic";
    font-size: 22px;
    line-height: 40px; /* Added this back to match the previous spacing */
    margin: 0 100px 30px; /* Added 30px bottom margin to space out the paragraphs */
    text-align: left;
}

.core-value {
    width: 100%;
    height: 972px;
    background: #d9d9d9;
    display: flex;
}

.core-value h1 {
    color: #000;
    font-family: Aclonica;
    font-size: 64px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-align: center;
}

/* --- Core Values Section (AI Design) --- */
/* --- Base Container --- */
.core-values-section {
    background-color: #e3e3e3; /* Light grey background */
    padding: 50px 20px;
    font-family: serif; /* Matches the classic look of the image */
    overflow: hidden;
    position: relative;
}

.core-values-section h1 {
    text-align: center;
    font-size: 42px;
    margin-bottom: 40px;
}

/* --- Top Text --- */
.top-text-container {
    display: flex;
    justify-content: space-between;
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px;
    font-size: 18px;
}

/* --- The Curved Divider Trick --- */
.divider-line {
    display: flex;
    align-items: flex-end;
    max-width: 100%;
    margin: -75px auto 0;
}

.straight-line {
    flex-grow: 1; /* Makes the straight lines stretch to fill empty space */
    height: 1px;
    background-color: #000;
}

.arc {
    width: 260px; /* Width of the arch */
    height: 130px; /* Exactly half the width to make a perfect semi-circle */
    border: 1px solid #000;
    border-bottom: none; /* Removes the bottom flat line */
    border-radius: 130px 130px 0 0; /* Rounds the top-left and top-right corners perfectly */
}

/* --- The Main Circle --- */
.main-circle {
    width: 220px;
    height: 220px;
    background-color: #000;
    color: #fff;
    border-radius: 50%;

    /* Center the text inside the circle */
    display: flex;
    justify-content: center;
    align-items: center;

    /* Center the circle horizontally */
    margin: 0 auto;

    /* THE TRICK: Pull the circle UP so it overlaps the arch */
    margin-top: -110px;

    /* Subtle shadow for depth */
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.3);
    position: relative; /* Ensures it stays visually on top of the line */
}

.main-circle h2 {
    font-size: 24px;
    letter-spacing: 2px;
    font-weight: normal;
}

/* --- The Arched Pills --- */
.pills-container {
    /* margin-top: -80px; */
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    top: -88px;
}

.pill-row {
    display: flex;
}

/* Controlling the gap tricks the eye into seeing an arch */
.row-wide {
    gap: 350px;
}
.row-medium {
    gap: 150px;
}
.row-narrow {
    gap: 20px;
    margin-top: 10px;
}

.pill {
    background-color: #fff;
    color: #000;
    padding: 15px 40px;
    border-radius: 30px;
    font-size: 18px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}

.top-footer {
    height: 1135px;
    background: #ac5959;
}

.top-footer h1 {
    padding-top: 331px;
    color: #fff;
    display: flex;
    text-align: center;
    font-family: "Adobe Arabic";
    font-size: 96px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin: 380px;
    margin-top: 2px;
    align-items: center;
    justify-content: center;
    align-content: center;
}

.card-img {
    display: flex;
    justify-content: flex-end;
    position: relative;
    height: 40em;
}

.card-img video {
    object-fit: contain;
    padding: 0;
}
