:root {

}

.highlight-text {
    color: var(--theme-primary);
}

/* Banner */

.banner-intro {
    background-color: var(--theme-primary);
}

.video-block {
    width: 100%;
    height: 100%;
    margin: 0 0 -9px;
}

.video-block video {
    width: 100% !important;
    height: 100%;
    object-fit: cover;
}

/* Awards */

.award-list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.award-block img {
    height: 48px;
    object-fit: contain;
}

/* Bordered Cards */

.bordered-block {
    background: var(--white-color);
    border: 1px solid #D4D6D8;
    padding: 40px 40px;
    border-radius: var(--radius-20);
    transition: all 0.3s;
}

.bordered-block:hover {
    background-color: var(--theme-secondary);
    transform: translateY(-5px);
}

/* Trust Intro */

.icon-title img {
    width: 100%;
    max-width: 140px;
    margin: -60px 0 0;
}

.main-title {
    line-height: 90px;
}

.title-icon {
    width: 100%;
    max-width: 70px;
    position: relative;
    top: -18px;
}

.trust-block {
    padding: 40px 40px;
    border-radius: var(--radius-20);
    background: #A3CCFF;
    transition: all 0.3s;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 30px;
}

.trust-block.trust-box-2 {
    background: #F8D2E2;
}

.trust-block.trust-box-3 {
    background: #FAE972;
}

.trust-img {
    border-radius: var(--radius-20);
    overflow: hidden;
}

.trust-img img {
    width: 100%;
    object-fit: cover;
}

/* Partners */

.sticky-block {
    position: sticky;
    top: 180px;
}

.partner-wrapper {
    grid-template-columns: repeat(2, 1fr);
    justify-content: space-between;
    display: grid;
    gap: 40px 40px;
}

.partner-box {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--white-color);
    box-shadow: 0px 0px 24px 0px #0000000D;
    padding: 30px 20px;
    border-radius: var(--radius-20);
    transition: all 0.3s;
}

.partner-box:hover {
    transform: translateY(-5px);
}

/* Process */

.process-row {
    margin: 0 0 50px;
}

.process-block {
    display: flex;
    flex-direction: column;
    justify-self: center;
    padding: 50px;
}

.process-video {
    width: 100%;
}

.process-video video {
    width: 100%;
    object-fit: cover;
}

/* Case Block */

.case-stack {
    position: relative;
    z-index: 9;
}

.case-block {
    padding: 40px 50px;
    border-radius: var(--radius-20);
    grid-area: 1/1/2/2;
    border-radius: 30px;
    padding: 2.5rem;
    position: absolute;
    will-change: transform;
}

.client-wrapper-list {
    --spacer: 20px;
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    align-items: center;
    justify-items: center;
    overflow-y: visible;
}

.client-wrapper-list .case-block:first-child {
    top: calc(var(--spacer) * 1);
    z-index: 1;
}
.client-wrapper-list .case-block:nth-child(2) {
    top: calc(var(--spacer) * 2);
    z-index: 2;
}
  
.client-wrapper-list .case-block:nth-child(3) {
    top: calc(var(--spacer) * 3);
    z-index: 3;
}

.case-block.case-theme-1 {
    background-color: #2850FA;
    color: var(--white-color);
}

.case-block.case-theme-2 {
    background-color: #E2F4FF;
}

.case-block.case-theme-3 {
    background: linear-gradient(90deg, #E8E9F1 0%, #FFFFFF 105.46%);
}

.case-wrapper {
    display: flex;
    flex-direction: column;
    gap: 40px;
    align-items: flex-start;
}

.case-point-list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
}

.case-key {
    border: 1px solid #6A6D764D;
    border-radius: 50px;
    padding: 5px 20px;
    text-align: center;
}

.case-block.case-theme-1 .case-key {
    border: 1px solid #FFFFFF29;
}

.case-brief {
    line-height: 36px;
}

.client-box {
    display: flex;
    align-items: center;
    gap: 20px;
}

.client-img {
    width: 60px;
    height: 60px;
    overflow: hidden;
    border-radius: 50%;
}

.client-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Partner */

.partner-block {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
    color: var(--white-color);
    border-bottom: 1px solid #FFFFFF33;
    padding: 30px 0;
    transition: all 0.3s;
}

.partner-content {
    display: flex;
    gap: 30px;
    width: 100%;
    max-width: 50%;
}

.partner-content p {
    margin: 0;
    height: 0;
    overflow: hidden;
    transition: all 0.3s;
}

.partner-imghold {
    width: 100%;
    max-width: 140px;
    transition: all 0.3s;
}

.partner-block img {
    width: 100%;
    max-width: 100%;
    transition: all 0.3s;
}

/* Hover Block */

.partner-block:hover .partner-content p {
    margin: 20px 0 0;
    height: auto;
}

.partner-block:hover .partner-imghold {
    transform: translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(-6deg) skew(0deg, 0deg);
    transform-style: preserve-3d;
    max-width: 240px;
}

/* Review */

.review-title {
    font-size: 150px;
    font-weight: 900;
}

.review-holder {
    display: flex;
    flex-direction: column;
    gap: 80px;
    margin: 120px 0 0;
}

.review-holder .review-blk:first-child {
    rotate: 8deg;
}

.review-holder .review-blk:nth-child(2) {
    rotate: -8deg;
}

.review-blk {
    width: 100%;
    max-width: 600px;
    background: var(--white-color);
    box-shadow: 0px 0px 24px 0px #0000000D;
    padding: 30px 30px;
    border-radius: var(--radius-20);
    transition: all 0.3s;
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: auto;
    position: sticky;
    top: 180px;
}

.review-author {
    display: flex;
    align-items: center;
    gap: 20px;
}

.review-img {
    width: 100%;
    max-width: 60px;
    height: 60px;
    border-radius: 50%;
    overflow: hidden;
}

.review-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Faq Block */

.faq-block {
    padding: 50px 130px;
    background: var(--theme-secondary);
    border-radius: 100px;
}

.faq-block .new-faq .accordion-item {
    padding: 24px 0px;
    background: transparent;
    border-bottom: 1px solid #D4D6D8;
}

.faq-block .new-faq,
.faq-block .new-faq .accordion-item:last-child {
    border: none;
}

.faq-block .new-faq .accordion-item h2.accordion-header button {
    font-size: 22px !important;
    color: var(--text-black);
    font-weight: 600;
}

.faq-block .new-faq .accordion-button::after {
    background-size: 30px;
    width: 30px;
    height: 30px;
}

/* Resources Block */

.resource-block {
    background-color: var(--white-color);
    border-radius: var(--radius-20);
    transition: all 0.3s;
    padding: 25px 25px;
    width: 100%;
    height: 100%;
}

.resource-block:hover {
    transform: translateY(-4px);
}

.resource-image img {
    width: 100%;
    object-fit: cover;
}

.slider-button {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 90%;
    margin: 20px 0 0;
}

.slider-arrow {
    display: flex;
    flex-direction: row-reverse;
    gap: 20px;
}

.resource-slider .swiper-pagination {
    top: unset !important;
    bottom: 14px !important;
    max-width: 80%;
    background: #DCDCDC;
    border-radius: 10px;
    height: 6px !important;
}

.resource-slider .swiper-slide {
    height: auto !important;
}

.resource-slider .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    border-radius: 10px;
}

.slider-button .swiper-button-next,
.slider-button .swiper-button-prev {
    width: 38px;
    height: 38px;
    min-width: 38px;
    border: unset;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: static !important;
    color: var(--text-black);
    margin: unset !important;
    z-index: 1 !important;
    transition: ease-in 0.3s;
}

.slider-button .swiper-button-next:hover,
.slider-button .swiper-button-prev:hover {
    background: var(--theme-primary);
    color: var(--white-color);
    transition: ease-in 0.3s;
}

.slider-button .swiper-button-next:after,
.slider-button .swiper-button-prev:after {
    font-size: 20px;
}

.read-btn {
    color: var(--text-black);
    padding: 0 0;
    display: flex;
    align-items: center;
    gap: 18px;
}

.read-btn:hover {
    color: var(--theme-primary);
}

.read-btn:hover svg path {
    fill: var(--theme-primary);
}

/* Form Block */

.form-intro {
    background-image: url(../images/home-images/form-bg.webp);
    background-size: cover;
    background-position: top;
    padding-block: 90px;
    margin: 0 0 -2px;
}   

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

.contact-blk {
    display: flex;
    align-items: center;
    gap: 20px;
    background-color: #0023B9;
    color: var(--white-color);
    padding: 20px 30px;
    border-radius: 10px;
    width: 100%;
    max-width: 300px;
    transition: all 0.3s;
}

.contact-blk:hover {
    background-color: var(--theme-blue);
    color: var(--white-color);
    transform: translateY(-4px);
}

.form-social {
    display: flex;
    align-items: center;
    gap: 40px;
    font-size: 30px;
}

.form-social a,
.form-social a:hover {
    color: var(--white-color);
    transition: all 0.3s;
}

.form-block {
    background-color: var(--white-color);
    padding: 40px;
    border-radius: var(--radius-20);
    box-shadow: -40px 24px 55px 0px #0000001A;
    margin: -60px 0 0;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.input-blk {
    width: 100%;
}

.input-blk input, .input-blk textarea {
    width: 100%;
    border: 1px solid #D4D6D8;
    background-color: var(--white-color);
    padding: 14px 20px;
    border-radius: 10px;
}

.input-blk textarea {
    width: 100%;
    border: 1px solid #D4D6D8;
    background-color: var(--white-color);
    padding: 14px 20px;
    border-radius: 10px;
    resize: none;
}

.input-blk input:focus, 
.input-blk textarea:focus {
    outline: none;
    box-shadow: unset;
}


@media screen and (max-width: 1366px) {

    .bordered-block,
    .trust-block {
        padding: 30px 30px;
    }

    .icon-title img {
        max-width: 120px;
        margin: -50px 0 0;
    }

    .case-block {
        padding: 30px 40px;
    }

    .case-wrapper {
        gap: 20px;
    }

    .case-brief {
        line-height: 26px;
        font-size: 16px;
    }
    
}


@media screen and (max-width: 991px) {

    .banner-intro {
        padding: 50px 0px;
    }

    .process-block {
        padding: 20px;
        border: 1px solid #dddddd61;
    }

    .case-block {
        padding: 40px 20px;
    }

    .faq-block {
        padding: 40px 30px;
        border-radius: 30px;
    }

    .slider-button {
        max-width: 100%;
    }

    .resource-slider .swiper-pagination {
        max-width: 70%;
    }

    .form-intro {
        background-color: var(--theme-primary);
    }

    .form-block {
        padding: 40px 20px;
    }
    
}

@media screen and (max-width: 767px) {

    .bordered-block, .trust-block {
        padding: 20px;
    }

    .icon-title img {
        max-width: 80px;
        margin: -10px 0 0;
    }

    .partner-block {
        flex-direction: column;
    }

    .partner-content {
        max-width: 100%;
    }

    .partner-content p {
        height: auto;
    }

    .partner-imghold {
        display: none;
    }

    .review-title {
        font-size: 60px;
    }

    .review-holder {
        gap: 80px;
        margin: 40px 0 0;
    }

    .review-blk {
        rotate: unset !important;
    }

    .main-title {
        line-height: 50px;
    }

    .title-icon {
        max-width: 40px;
        top: -8px;
    }

    .contact-blk {
        max-width: 100%;
    }

    .partner-box img {
        max-width: 100px;
    }
    
}

@media (max-width: 1130px) {

    .case-stack-m {
        display: block !important;
    }
    .case-stack{
        height: auto !important;
        position: static !important;
        max-height: none !important;
        display: none !important;
    }

    .client-wrapper-list,
    .client-wrapper-list-m {
        height: auto !important;
        position: static;
        display: flex;
        flex-direction: column;
        gap: 40px;
    }

    .client-wrapper-list .case-block,
    .client-wrapper-list-m .case-block {
        position: static !important;
        height: auto !important;
        opacity: 1 !important;
        transform: none !important;
        width: 100%;
        
    }
}