/* banner
---------------------------------------------------------- */
/* css for this is in the /css/patterns/banner-and-stats.css file */
.bannerarea {
    background-color: transparent;
}
.banner-half-holder {
    gap: 60px;
}
.banner-right {
    z-index: 1;
    max-width: 796px;
    width: 100%;
    max-height: 450px;
    height: 100%;
}
.banner-video-box-holder {
    position: relative;
    padding: 56.25% 0 0 0;
}

@media (max-width: 1025px) {
    .banner-half-holder {
        flex-direction: column-reverse;
        gap: 0px;
    }
}

/* video-section
---------------------------------------------------------- */
/* css for this is in the /css/patterns/video-section.css file */
.video-section {
    z-index: 0;
}
.video-section::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -1px;
    left: 0;
    right: 0;
    bottom: -1px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 0%, var(--light-blue) 100%);
}

.gradient-smudge.video-smudge .smudge {
    border-radius: 1090px;
    width: 1090px;
    height: 832px;
    transform: translate(-50%, -30%);
    left: 100%;
    top: 0%;
}
.gradient-smudge.video-smudge .smudge::before {
    transform: rotate(113deg);
}


/* key-website-design-elements-section
---------------------------------------------------------- */
.key-website-design-elements-section {
    position: relative;
    z-index: 0;
    padding: 8px 40px;
}
.key-website-design-elements-section::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -1px;
    left: 0;
    right: 0;
    bottom: -1px;
    background: var(--light-blue);
}
.key-website-design-elements-inner {
    max-width: 1700px;
    margin: 0 auto;
    border: 1px solid var(--accent-green);
    background: linear-gradient(104deg, #4C5A70 -12.31%, #2B3345 79.18%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 45px;
    padding: 75px 25px;
}
.key-website-design-elements-title-holder h2 {
    font-size: var(--h1-font-size);
    color: var(--white);
    line-height: 1.12;
    font-weight: var(--font-weight-bold);
    letter-spacing: .48px;
}
.swapper-holder {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 60px;
    width: 100%;
    max-width: 1500px;
    min-height: 480px;
}
.key-website-design-elements-content-holder {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 25px;
    width: 40%;
}
.key-website-design-elements-image-holder {
    width: 60%;
    position: relative;
    height: auto;
    max-width: 796px;
    aspect-ratio: 796 / 477;
}
.key-website-design-elements-image-holder img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
    box-shadow: 0px 3.749px 14.994px 0px rgba(55, 60, 89, 0.06), 0px 2.343px 3.749px 0px rgba(55, 60, 89, 0.06), 0px 4.686px 46.857px 0px rgba(55, 60, 89, 0.08);
}
.key-website-design-elements-image-holder img.active {
    opacity: 1;
}
.key-website-design-element {
    cursor: pointer;
    width: 100%;
}
.key-website-design-element h3 {
    color: var(--white);
    font-size: var(--h2-font-size);
    line-height: 1.5;
    transition: color 0.2s ease-in-out;
}
.key-website-design-element.active h3 {
    color: var(--accent-green);
}
.key-website-design-element p {
    font-size: 18px;
    color: var(--white);
    margin-bottom: 0;
    letter-spacing: 1px;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.2s ease-in-out, opacity 0.2s ease-in-out;
}
.key-website-design-element.active p {
    opacity: 1;
    max-height: 76px;
}

@media (max-width: 1600px) {
    .key-website-design-elements-content-holder {
        max-width: 360px;
    }
    .key-website-design-element.active p {
        font-size: 15px;
        max-height: 84px;
    }
}
@media (max-width: 1100px) {
    .key-website-design-elements-content-holder {
        max-width: 230px;
    }
    .key-website-design-element.active p {
        max-height: 126px;
    }
}
@media (max-width: 767px) {
    .key-website-design-elements-section {
        padding: 8px 25px;
    }
    .swapper-holder {
        flex-direction: column;
    }
    .key-website-design-elements-content-holder {
        max-width: 100%;
        width: 100%;
    }
    .key-website-design-element.active p {
        max-height: 63px;
    }
    .key-website-design-elements-image-holder {
        width: 100%;
    }
}
@media (max-width: 550px) {
    .key-website-design-element.active p {
        max-height: fit-content;
    }
}


/* what-we-offer-section
---------------------------------------------------------- */
/* css for this is in the /css/patterns/half-section.css file */
.what-we-offer-section {
    position: relative;
    z-index: 0;
}
.what-we-offer-section::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -1px;
    left: 0;
    right: 0;
    bottom: -1px;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.00) 0%, var(--light-blue) 100%);
}
.image-left .half-section-content-holder,
.image-left .half-section-content-holder p {
    max-width: 738px;
}


/* tailored-web-solutions-section
---------------------------------------------------------- */
/* css for this is in the /css/patterns/half-section.css file */


/* optimized-performance-section
---------------------------------------------------------- */
/* css for this is in the /css/patterns/half-section.css file */
.optimized-performance-section h3 {
    color: var(--secondary-color);
}


/* seo-section
---------------------------------------------------------- */
/* css for this is in the /css/patterns/half-section.css file */
.seo-section {
    position: relative;
    z-index: 0;
}
.seo-section::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -1px;
    left: 0;
    right: 0;
    bottom: -1px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 0%, var(--light-blue) 100%);
}
.half-section-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
}


/* proven-track-record-section
---------------------------------------------------------- */
/* css for this is in the /css/patterns/slider-and-faq.css file */
.proven-track-record-slider-holder .dentist-holder {
    min-height: 450px;
}
@media (max-width: 800px) {
    .proven-track-record-slider-holder .dentist-holder {
        min-height: 500px;
    }
}
@media (max-width: 500px) {
    .proven-track-record-slider-holder .dentist-holder {
        min-height: 460px;
    }
}
@media (max-width: 400px) {
    .proven-track-record-slider-holder .dentist-holder {
        min-height: 510px;
    }
}

/* faq-section
---------------------------------------------------------- */
/* css for this is in the /css/patterns/slider-and-faq.css file */