﻿/*--------------------------------------------------------------
# Global Header
--------------------------------------------------------------*/
.header {
    color: var(--dark-color);
    background-color: var(--light-color);
    padding: 24px 48px;
    border-bottom: 1px solid var(--secondary-regular-color);
    transition: all 0.5s;
    z-index: 997;
}

    .header .logo {
        line-height: 1;
    }

        .header .logo img {
            width: 150px;
            height: 46px;
        }

    .header .header-action {
        display: flex;
    }

@media (max-width: 1200px) {
    .header .logo {
        order: 1;
    }

    .header .navmenu {
        order: 3;
    }
}

.scrolled .header {
    box-shadow: 0 0 18px rgba(0, 0, 0, 0.1);
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
.navmenu {
    display: none;
}

    .navmenu a.nav-item span {
        font-size: 15px;
        font-weight: 600;
        font-family: var(--default-font);
    }

    .navmenu a.nav-item,
    .navmenu a.nav-item:focus,
    .header a.btn-login,
    .header a.btn-login:focus {
        display: flex;
        align-items: center;
        justify-content: space-between;
        white-space: nowrap;
        padding: 10px 8px;
        font-family: var(--default-font);
        font-size: 15px;
        font-weight: 600;
        color: var(--primary-violet-color);
        border: 1px solid;
        border-color: var(--light-color);
        border-radius: 4px;
        line-height: normal;
        text-decoration: none;
        transition: 0.3s;
    }

        .navmenu a.nav-item i,
        .navmenu a.nav-item:focus i {
            font-size: 12px;
            line-height: 0;
            margin-left: 5px;
            transition: 0.3s;
        }

        .navmenu li:hover > a.nav-item,
        .header a.btn-login:hover,
        .dropdown-toggle.is-open {
            border-color: var(--secondary-regular-color) !important;
            background-color: var(--secondary-light-color);
            border-radius: 4px;
            text-decoration: none;
        }

        .navmenu .active,
        .navmenu .active:focus,
        .header a.btn-login.active,
        .header a.btn-login.active:focus {
            border-color: var(--secondary-regular-color);
            background-color: var(--secondary-light-color);
            border-radius: 4px;
            text-decoration: none;
        }

.mobile-only {
    display: none;
}

.navmenu.active {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: var(--light-color);
    padding: 16px;
    z-index: 9998;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

@media (min-width: 1200px) {
    .navmenu {
        padding: 0;
        display: flex;
        margin-right: auto;
    }

        .navmenu.active {
            position: static;
            padding: 0;
            box-shadow: none;
        }

        .navmenu ul.main-ul {
            display: flex;
            list-style: none;
            margin: 0;
            padding: 0;
            gap: 12px;
            align-items: center;
        }

    .dropdown:hover > .nav-item.dropdown-toggle::after {
        transform: rotate(180deg); /* Arrow points up */
    }

    .nav-item.dropdown-toggle::after {
        content: "";
        display: inline-block;
        margin-left: 0.255em;
        vertical-align: 0.255em;
        border-top: 0.3em solid;
        border-right: 0.3em solid transparent;
        border-bottom: 0;
        border-left: 0.3em solid transparent;
        transition: transform 0.2s ease;
    }
}

.navmenu .mega-menu .dropdown-menu {
    position: fixed;
    top: 71px;
    left: 0;
    right: 0;
    width: 100vw;
    background: linear-gradient( to bottom, var(--light-color) 0px, var(--light-color) 21px, var(--secondary-regular-color) 21px, var(--secondary-regular-color) 24px, var(--primary-violet-color) 24px, var(--primary-violet-color) 100% );
    border-top: 0;
    z-index: 9999;
    box-sizing: unset;
    border-radius: 0;
}

.navmenu .mega-menu:hover .dropdown-menu, .navmenu .dropdown-menu.active {
    display: block;
}

.navmenu .mega-dropdown a:not(.btn) {
    color: var(--light-color);
    font-size: 14px;
    font-family: Raleway;
    font-style: normal;
    line-height: 19px;
    font-weight: 400;
    text-decoration: none;
    white-space: unset;
    padding-top: 10px;
    text-align: left;
    border: 0;
}

.navmenu .mega-block a.description {
    position: relative;
    text-decoration: none;
    background-image: linear-gradient(var(--secondary-regular-color), var(--secondary-regular-color));
    background-size: 0% 1px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    transition: background-size 0.3s ease;
    display: inline;
}

    .navmenu .mega-block a.description::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -2px;
        width: 0%;
        height: 1px;
        background-color: var(--secondary-regular-color);
        transition: width 0.3s ease;
    }

    .navmenu .mega-block a.description:hover {
        color: var(--secondary-regular-color);
        background-size: 100% 1px;
    }

.navmenu .mega-dropdown ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: block;
}

    .navmenu .mega-dropdown ul li {
        margin-bottom: 4px;
    }

.mega-menu-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 24px;
    max-width: 100%;
    width: fit-content;
    margin: 0 auto;
    justify-content: center;
}

    .mega-menu-grid .mega-box {
        border-radius: 10px;
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        margin-top: 16px;
        background: var(--secondary-light-color);
        max-width: 200px;
    }

    .mega-menu-grid .mega-block {
        padding: 16px;
        transition: transform 0.2s ease;
    }

        .mega-menu-grid .mega-block p.title {
            color: var(--light-color);
            position: relative;
            display: inline-block;
            margin-bottom: 32px;
        }

            .mega-menu-grid .mega-block p.title::after {
                content: "";
                position: absolute;
                left: 0;
                bottom: -16px;
                width: 20px;
                border-bottom: 1px solid var(--secondary-medium-color);
            }

@media (max-width: 1199px) {
    .gap-48 {
        gap: 24px;
    }

    .desktop-only {
        display: none !important;
    }

    .mobile-only {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .header-logo {
        order: 1;
    }

    .header-action {
        order: 2;
        margin-left: auto;
    }

        .header-action a.btn-login {
            display: none;
        }

    .header {
        padding: 25px 16px;
    }

    .mobile-nav-toggle {
        order: 3;
    }

    .navmenu {
        padding: 0;
        z-index: 9997;
    }

        .navmenu .dropdown ul {
            list-style: none;
            transition: 0.3s;
        }

        .navmenu .mega-menu .dropdown-menu.active {
            display: block;
            background-color: var(--light-color);
            position: unset;
            border: 0;
        }

    .mega-dropdown .mega-menu-grid {
        padding: 0;
        margin: 0;
    }

    .mega-dropdown .mega-block {
        background: none;
        padding: 0;
        border-radius: 0;
        text-align: start;
        box-shadow: none;
        transition: none;
    }

    .mega-dropdown .container-xl {
        display: flex;
        padding: 16px;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        align-self: stretch;
        border-radius: 4px;
        background: var(--primary-violet-color);
    }

    .navmenu .main-ul .mega-block li a,
    .navmenu .main-ul .mega-block h4 {
        color: var(--light-color);
        leading-trim: both;
        text-edge: cap;
        border: none;
    }

    .dropdown-menu.dropdown-active {
        display: block !important;
    }

    .mobile-nav-active {
        overflow: hidden;
    }

        .mobile-nav-active .mobile-nav-toggle {
            z-index: 9999;
        }

    .header .logo {
        z-index: 9999;
    }

    .mobile-nav-active .navmenu {
        position: fixed;
        overflow: hidden;
        inset: 0px;
        background: rgba(33, 37, 41, 0.8);
        transition: 0.3s;
        display: block;
        z-index: 9997;
    }

        .mobile-nav-active .navmenu > ul {
            display: block;
            list-style: none;
            position: absolute;
            inset: 0;
            padding: 25px;
            padding-top: 100px;
            margin: 0;
            background-color: var(--light-color);
            flex-direction: column;
            align-items: flex-start;
            gap: 8px;
            align-self: stretch;
            overflow-y: auto;
            z-index: 9998;
        }

    .navmenu .main-ul li .btn-primary {
        justify-content: center;
        gap: 12px;
        color: var(--light-color);
        font-size: 16px;
    }

    .navmenu .main-ul li {
        display: block;
        align-items: center;
        align-self: stretch;
    }

    .dropdown-menu .mega-block ul {
        width: 200px;
        justify-content: center;
        align-items: flex-start;
        display: flex;
        flex-direction: column;
    }

        .dropdown-menu .mega-block ul li {
            display: block;
        }

    .navmenu .main-ul li a {
        color: var(--primary-violet-color);
        leading-trim: both;
        text-edge: cap;
        font-family: var(--default-font);
        font-size: 15px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
    }

    .mobile-nav-overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0,0,0,0.5);
        display: none;
        z-index: 9998;
    }

    .header .header-action {
        display: block;
    }
}

.dropdown-toggle::after {
    content: "";
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent;
    transition: transform 0.2s ease;
}

.dropdown-toggle.is-open::after {
    transform: rotate(180deg);
}

@media (max-width: 480px) {
    .header .logo img {
        width: 114px;
        height: 35px;
    }
}
/*--------------------------------------------------------------
# Global Footer
--------------------------------------------------------------*/
.footer-section {
    display: flex;
    padding: 64px;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    background: var(--primary-violet-color);
    background-image: url(/Portals/_default/Skins/XPI360/img/logo/whanau3footer.svg);
    background-repeat: no-repeat;
    background-position: right 0 top 50px;
}

    .footer-section .footer-container {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 32px;
        align-self: stretch;
    }

    .footer-section .footer-content-wrapper {
        display: flex;
        align-content: flex-end;
        gap: 47px;
        align-self: stretch;
        flex-wrap: wrap;
    }

    .footer-section .footer-group {
        display: flex;
        min-width: 100px;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        flex: 1 0 0;
    }

        .footer-section .footer-group h4 {
            color: var(--secondary-regular-color);
        }

        .footer-section .footer-group p {
            padding: 0;
            margin: 0;
            display: flex;
            align-items: center;
            gap: 8px;
            color: var(--light-color);
            font-size: 14px;
            font-weight: 600;
        }

        .footer-section .footer-group a {
            color: var(--light-color) !important;
            font-size: 14px !important;
            font-weight: 600 !important;
            text-decoration: none;
            position: relative;
            display: inline-block;
        }

            .footer-section .footer-group a::after {
                content: "";
                position: absolute;
                left: 0;
                bottom: -2px;
                width: 0%;
                height: 1px;
                background-color: var(--secondary-regular-color);
                transition: width 0.3s ease;
            }

            .footer-section .footer-group a:hover::after {
                width: 100%;
            }

    .footer-section .footer-contact-info {
        display: flex;
        margin-top: 10px;
        justify-content: space-between;
        align-items: flex-end;
        align-self: stretch;
    }

    .footer-section .social-icons-wrapper {
        display: flex;
        align-items: flex-start;
        gap: 32px;
    }

    .footer-section .social-media-icons {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        align-self: stretch;
    }

        .footer-section .social-media-icons i {
            width: 36px;
            height: 36px;
            aspect-ratio: 1 / 1;
        }

    .footer-section .footer-social-icons {
        display: flex;
        height: 188px;
        flex-direction: column;
        justify-content: space-between;
        align-items: flex-end;
    }

    .footer-section .footer-contact-info h2 {
        min-width: 160px;
        max-width: 400px;
        flex: 1 0 0;
        color: var(--light-color);
        font-family: Raleway;
        font-size: 36px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
    }

    .footer-section .footer-contact-info .google-rating {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .footer-section .google-icon-section {
        display: flex;
        width: 48px;
        height: 48px;
        max-width: var(--width-222_39, 222.39px);
        flex-direction: column;
        justify-content: center;
        align-items: center;
        border-radius: 24px;
        background: var(--light-color);
    }

        .footer-section .google-icon-section i {
            width: 25.403px;
            height: 25.922px;
            flex-shrink: 0;
        }

    .footer-section .rating-info {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

        .footer-section .rating-info i {
            width: 18px;
            height: 16px;
            opacity: var(--opacity-100, 1);
        }

        .footer-section .rating-info span {
            color: var(--light-color);
        }

        .footer-section .rating-info p {
            color: var(--light-color);
            leading-trim: both;
            text-edge: cap;
            font-family: "Open Sans";
            font-size: 14px;
            font-style: normal;
            font-weight: 400;
            line-height: 30px;
            padding: 0;
            margin: 0;
        }

    .footer-section .footer-bottom-section {
        display: flex;
        padding: 16px 0px;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: 100px;
        align-self: stretch;
        border-top: 1px solid var(--secondary-regular-color);
    }

        .footer-section .footer-bottom-section p {
            color: var(--light-color);
            font-family: "Open Sans";
            font-size: 14px;
            font-style: normal;
            font-weight: 400;
            line-height: normal;
            align-self: stretch;
        }


@media (max-width: 992px) {
    .footer-section .footer-contact-info {
        display: contents;
    }
}


/*--------------------------------------------------------------
# Hero Banner
--------------------------------------------------------------*/
.hero-banner_container {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: space-between;
    width: 100%;
}

.hero-banner_content {
    flex: 0 0 60%;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.hero-banner_spacer {
    flex: 0 0 10%;
}

.hero-banner_image-section {
    flex: 0 0 30%;
    overflow: hidden;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .hero-banner_image-section img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

.hero-banner_title {
    max-width: 700px;
    margin-bottom: 0;
}

.hero-banner_description {
    line-height: 150%;
    font-size: 18px;
    font-weight: 600;
    max-width: 700px;
    margin-bottom: 0;
}

.hero-banner_button-section {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

@media (max-width: 768px) {
    .hero-banner_container {
        flex-direction: column;
    }

    .hero-banner_image-section {
        padding-top: 32px;
    }

    .hero-banner_spacer {
        display: none;
    }

    .hero-banner_image-section img {
        width: 100%;
        height: auto;
        object-fit: cover;
    }
}

/*--------------------------------------------------------------
# Content Media
--------------------------------------------------------------*/
.content_media {
    background: linear-gradient(0deg, var(--light-color) 50%, var(--Primary-Violet, var(--primary-violet-color)) 50%);
}

.content_media_container {
    display: flex;
    flex-direction: row;
}

    .content_media_container.row-reverse {
        flex-direction: row-reverse;
    }

.content_media .content_media_container {
    display: flex;
    max-width: 100%;
    justify-content: center;
    align-items: center;
    align-content: center;
    gap: -72px;
    align-self: stretch;
    flex-wrap: wrap;
}

.content_media .content_media_image_section {
    flex: 1 0 0;
    align-self: stretch;
    border-radius: 10px;
    background: url(<path-to-image>) lightgray 50% / cover no-repeat, url(<path-to-image>) lightgray 50% / cover no-repeat;
}

.content_media .content_media_content {
    display: flex;
    min-width: 450px;
    padding: 40px;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    flex: 1 0 0;
    border-radius: 10px;
    background: var(--light-color);
    box-shadow: 0px 0px 24.4px 0px rgba(0, 0, 0, 0.10);
    margin-left: -35px;
}

.content_media .content_media_title {
    align-self: stretch;
    color: var(--primary-azure-regular);
}

.content_media .content_media_description {
    align-self: stretch;
    color: var(--primary-violet-color);
}

.content_media .content_media_image {
    height: 100%;
    width: 100%;
    min-width: 335px
}

.content_media .content_media_image_caption {
    position: absolute;
}

.content_media .row-reverse .content_media_image_section {
    margin-left: -35px;
}

.content_media .row-reverse .content_media_content {
    margin-left: 0;
    z-index: 9;
}

@media (max-width: 992px) {
    .content_media .content_media {
        padding: 16px !important;
        gap: 8px !important;
    }

    .content_media .content_media_image_caption {
        display: none;
    }

    .content_media .row-reverse .content_media_image_section {
        margin-left: 0;
    }

    .content_media .content_media_content {
        margin-left: 0;
        display: flex;
        padding: 24px;
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
        align-self: stretch;
        /*max-width: 95%;*/
        min-width: 100%;
        margin-top: -98px;
    }

    .content_media .content_media_image_content {
        padding: 24px !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 24px !important;
        align-self: stretch !important;
    }
}

@media (max-width: 452px) {
    .content_media .content_media_image {
        min-width: 200px
    }

    .content_media .content_media_content {
        margin-top: -68px;
    }
}

/*--------------------------------------------------------------
# CallToAction
--------------------------------------------------------------*/
.cta-container {
    position: relative;
    padding: 64px 32px !important;
    display: flex;
    border-radius: 16px !important;
    background-color: var(--secondary-light-color);
    overflow: visible;
    z-index: 1;
    color: var(--primary--white);
    justify-content: space-between;
    align-items: center;
}

    .cta-container h2 {
        font-size: 36px;
    }

    .cta-container .cta-title {
        font-family: var(--default-font);
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: 150%;
    }

.elg-promo-hover-burst-wrap {
    border-radius: 20px;
    background-color: var(--primary-azure-light);
    pointer-events: none;
    justify-content: center;
    align-items: center;
    min-width: 100%;
    min-height: 100%;
    display: flex;
    position: absolute;
    inset: 0%;
    overflow: hidden;
    will-change: transform;
    transform: translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
    transform-style: preserve-3d;
    transition: transform 0.5s ease-in-out;
}

.elg-promo-wrapper:hover .elg-promo-hover-burst-wrap {
    transform: translate3d(0px, 0px, 0px) scale3d(1.03, 1.13, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
}

@media (max-width: 1199px) {
    .elg-promo-wrapper:hover .elg-promo-hover-burst-wrap {
        transform: translate3d(0px, 0px, 0px) scale3d(1.04, 1.12, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
    }
}

@media (max-width: 767px) {
    .cta-container h2 {
        margin-bottom: 28px;
    }

    .elg-promo-wrapper:hover .elg-promo-hover-burst-wrap {
        transform: translate3d(0px, 0px, 0px) scale3d(1.05, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
    }
}

.elg-promo-wrapper {
    border-radius: 20px;
    background-color: var(--dark-color);
    color: var(--light-color);
    justify-content: space-between;
    align-items: center;
    display: flex;
    position: relative;
}

.w-inline-block {
    max-width: 100%;
    display: inline-block;
}

.elg-promo-hover-cover {
    border-radius: 20px;
    background-color: var(--primary-azure-light);
    pointer-events: none;
    min-width: 100%;
    min-height: 100%;
    position: absolute;
    inset: 0%;
}

.elg-burst {
    min-width: 2200px;
    min-height: 100%;
    /*animation: spinClockwise 10s linear infinite;*/
    transform-origin: center center;
}

.elg-promo-wrapper:hover .elg-burst {
    /*animation: spinClockwise 80s linear infinite;*/
}


/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/

.text-media {
    gap: 8px;
}

    .text-media .video-wrapper {
        aspect-ratio: 16 / 9;
        width: 100%;
        max-width: 1280px;
        border-radius: 10px;
        position: relative;
        overflow: hidden;
    }

    .text-media .img-fluid {
        width: 100%;
        height: auto;
        border-radius: 10px;
        object-fit: cover;
    }

.video-wrapper {
    position: relative;
    display: inline-block;
}

.video-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

    .video-link:hover {
        cursor: url('/Portals/_default/Skins/XPI360/img/svg/play.png') 68 68, pointer;
    }

        .video-link:hover .play-button-overlay {
            opacity: 0;
            transform: scale(0.8) translate(-50%, -50%);
            transition: opacity 0.3s ease, transform 0.3s ease;
        }

.play-button-overlay {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 125px;
    height: 125px;
    background: url('/Portals/_default/Skins/XPI360/img/svg/play.png') no-repeat center center;
    background-size: contain;
    pointer-events: none;
    opacity: 1;
    transition: opacity 1.3s ease, transform 1.3s ease;
}

@media (hover: none) and (pointer: coarse) {
    .play-button-overlay {
        display: block;
        opacity: 1;
        transform: translate(-50%, -50%);
    }

    .video-link {
        transition: opacity 1.3s ease, transform 1.3s ease;
        cursor: pointer;
    }
}


/*
 ------------------------------
   Pulsating Play Button
------------------------------*/

.pulsating-play-btn {
    width: 94px;
    height: 94px;
    background: radial-gradient(var(--secondary-regular-color) 8%, color-mix(in srgb, var(--secondary-regular-color), transparent 67%) 9%);
    border-radius: 50%;
    display: block;
    position: relative;
    overflow: hidden;
    border: 2px solid var(--primary-medium-color);
}

    /*  .pulsating-play-btn:before {
        content: "";
        position: absolute;
        width: 120px;
        height: 120px;
        animation-delay: 0s;
        animation: pulsate-play-btn 2s;
        animation-direction: forwards;
        animation-iteration-count: infinite;
        animation-timing-function: steps;
        opacity: 1;
        border-radius: 50%;
        border: 5px solid color-mix(in srgb, var(--primary-medium-color), transparent 30%);
        top: -15%;
        left: -15%;
        background: rgba(198, 16, 0, 0);
    }*/
    .pulsating-play-btn:after {
        content: "";
        position: absolute;
        top: 50%;
        left: 57%;
        transform: translate(-50%, -50%);
        width: 0;
        height: 0;
        border-top: 20px solid transparent;
        border-bottom: 20px solid transparent;
        border-left: 30px solid white;
        z-index: 100;
    }

    .pulsating-play-btn:hover:before {
        content: "";
        position: absolute;
        left: 54%;
        top: 50%;
        transform: translateX(-40%) translateY(-50%);
        width: 0;
        height: 0;
        border: none;
        border-top: 20px solid transparent;
        border-bottom: 20px solid transparent;
        border-left: 30px solid white;
        z-index: 101;
        animation: none;
        border-radius: 0;
    }

    .pulsating-play-btn:hover:after {
        border-left: 15px solid var(--secondary-regular-color);
        transform: scale(20);
    }

    .pulsating-play-btn:hover {
        background: radial-gradient(var(--secondary-regular-color) 8%, color-mix(in srgb, var(--secondary-regular-color), transparent 67%) 9%);
        border: 2px solid var(--primary-medium-color);
    }

@keyframes pulsate-play-btn {
    0% {
        transform: scale(0.6, 0.6);
        opacity: 1;
    }

    100% {
        transform: scale(1, 1);
        opacity: 0;
    }
}


/* ------------------------------   
   Countdown
------------------------------*/

.countdown .countdown_header_info {
    padding: 32px;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 24px;
    flex: 1 0 0;
    align-self: stretch;
    background-color: var(--primary-azure-light);
    border-top-left-radius: 10px;
}

    .countdown .countdown_header_info h2 {
        color: var(--primary-azure-regular);
    }

.countdown .countdown_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: unset;
    padding: 0;
}

.countdown .countdown_aside {
    padding: 32px;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    flex: 1 0 0;
    background: var(--primary-azure-light);
    border-bottom-right-radius: 10px;
    border-top-right-radius: 10px;
}

    .countdown .countdown_aside h3 {
        color: var(--primary-azure-regular);
        font-variant-numeric: lining-nums proportional-nums;
    }

    .countdown .countdown_aside p {
        color: var(--primary-violet-color);
    }

.countdown .countdown_timer {
    padding: 24px;
    align-content: center;
    row-gap: 32px;
    align-self: stretch;
    flex-wrap: wrap;
    background-color: var(--light-blue);
    border-bottom-left-radius: 10px;
}

.countdown .countdown_digits {
    display: flex;
    min-width: 190px;
    max-width: 350px;
    justify-content: space-between;
    align-items: center;
    flex: 1 0 0;
}

.countdown .countdown_timer p {
    color: var(--primary-violet-color);
    font-weight: 700;
    line-height: 30px;
    margin-bottom: 0;
}

.countdown .countdown_digits div {
    display: flex;
    min-width: 58px;
    flex-direction: column;
    align-items: center;
    gap: 22px;
    flex: 1 0 0;
}


@media (max-width: 1199px) {
    .countdown .countdown_header_info {
        border-top-left-radius: 10px;
    }

    .countdown_image .countdown_img {
        border-top-right-radius: 10px;
    }

    .countdown .countdown_timer {
        border-radius: 0;
    }

    .countdown .countdown_digits {
    }

    .countdown .countdown_aside {
        border-top-right-radius: 0;
        border-bottom-left-radius: 10px;
        border-bottom-right-radius: 10px;
    }
}

@media (max-width: 767px) {
    .countdown .countdown_header_info {
        border-top-right-radius: 10px;
    }

    .countdown_image .countdown_img {
        display: none;
    }

    .countdown_timer {
        flex-direction: column;
        align-content: stretch !important;
        align-items: unset !important;
        justify-content: unset !important;
    }
}

@media (max-width:575px) {
    .countdown-parent {
        padding-right: 0.7rem;
        padding-left: 0.7rem;
    }
}

@media (max-width:380px) {
    .countdown .countdown_timer strong {
        font-size: 36px;
        line-height: 16px;
        gap: 12px;
    }

    .countdown-parent {
        padding: 16px;
    }
}

/*--------------------------------------------------------------
# SingleQuote Module
--------------------------------------------------------------*/
.single_quote .single_quote_container {
    display: flex;
    /*    max-width:100%;*/
    padding: 22px;
    border-radius: 10px;
    border: 2px solid #E1E1E1;
    background: #FAFAFA;
}

.single-quote {
    display: flex;
    flex-direction: row;
    gap: 30px;
}

.single-quotes-icon-content {
    display: flex;
    flex-direction: column;
}

.single_quote_content {
    display: flex;
    /*    max-width: 802px;*/
    flex-direction: column;
    align-items: flex-start;
    flex: 1 0 0;
    justify-content: flex-end;
}

.single-quote-image-section {
    max-width: 366px;
    width: 100%;
}

.single_quote_image {
    width: 100%;
    max-width: 366px;
    /* width: 100%; */
    height: 366px;
    /*    object-fit: cover;
    display: block;*/
}



.single_quote .person_details {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.single_quote p {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 0;
}

.single_quote .person_job_details {
    margin-bottom: 0 !important;
}

.single_quote span {
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 0;
}

.single_quote h4 {
    font-size: 34px;
    margin-bottom: 20px;
}

@media (max-width: 992px) {
    .single_quote {
        padding: 16px !important;
        gap: 8px !important;
    }

        .single_quote .single-quote {
            margin-left: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 24px;
            align-self: stretch;
        }

        .single_quote h4 {
            font-size: 27px;
            margin-bottom: 20px;
        }
}



/*--------------------------------------------------------------
# LogoCarousel Module
--------------------------------------------------------------*/

.logo_carousel {
    overflow: hidden;
    white-space: nowrap;
}

    /*.logo_carousel:hover .logo_carousel_box {
            animation-play-state: paused;
        }*/

    .logo_carousel .logo_image {
        margin: 0 40px;
        vertical-align: middle;
        height: 200px;
    }

.logo_title_text {
    text-align: var(--title-align,center);
    color: var(--title-color,#000);
    font-size: clamp(1.5rem, 2vw + 1rem, 2.25rem);
    padding-bottom: 32px !important;
}

@keyframes moveRightToLeft {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

.logo_carousel_box {
    animation: moveRightToLeft infinite linear;
    display: inline-block;
    vertical-align: middle;
}


/*--------------------------------------------------------------
# fact_Card Module
--------------------------------------------------------------*/
.fact_cards {
    display: flex;
    padding: 44px;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    background-image: url(/Portals/_default/Skins/XPI360/img/BrandDevice.svg);
    background-repeat: no-repeat;
    background-position: left 0 top 50px;
}

.fact_cards_container {
    display: flex;
    align-items: flex-start;
    /*    padding: 64px 32px;*/
    /*  max-width: 1280px;*/
    margin: auto;
    box-sizing: border-box;
    flex-wrap: nowrap;
    gap: 100px;
}

.brand_img {
    /*    width: 64px;*/
    height: auto;
    object-fit: contain;
}

.cards_container {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    flex: 1 1 auto;
    box-sizing: border-box;
}

.cards {
    flex: 1 1 330px;
    padding: 32px;
    border-radius: 10px;
    background: var(--card-bg, #B3EAE4);
    box-sizing: border-box;
    gap: 32px;
    display: flex;
    flex-direction: column;
    transition: background .25s ease, transform .25s ease;
}

    .cards.link-enabled:hover {
        background: #006BBF;
        cursor: pointer;
        transform: translateY(-6px);
        box-shadow: 0 10px 24px rgba(0,0,0,.15);
    }

        .cards.link-enabled:hover .fact_title {
            color: #ffffff !important;
        }

.fact_cards .cards.link-enabled:hover p,
.fact_cards .cards.link-enabled:hover a,
.fact_cards .cards.link-enabled:hover h1,
.fact_cards .cards.link-enabled:hover h2,
.fact_cards .cards.link-enabled:hover h3,
.fact_cards .cards.link-enabled:hover h4,
.fact_cards .cards.link-enabled:hover h5,
.fact_cards .cards.link-enabled:hover h6,
.fact_cards .cards.link-enabled:hover span,
.fact_cards .cards.link-enabled:hover strong {
    color: #ffffff !important;
}

.card-link, .card-link:visited {
    color: #000;
    transition: color .25s ease;
}

.cards.link-enabled:hover .card-link {
    color: #ffffff;
}

.fact_cards .logo_image {
    width: 64px;
    height: 64px;
    margin: 0;
}

.facts_cards_title {
    text-align: center;
    color: #006BBF !important;
    padding-top: 32px;
    /* margin-bottom: 48px !important;*/
}

.fact_cards h3 {
    font-weight: 700;
}

.fact_cards .fact_title {
    color: #006BBF !important;
}

@media(max-width:800px) {
    .fact_cards_container {
        gap: 5%;
    }

    .fact_cards {
        padding: 32px;
    }
}

@media (max-width: 600px) {
    .cards_container {
        margin-left: 0;
        justify-content: center;
    }

    .cards {
        flex: 1 1 100%;
    }
}


/*--------------------------------------------------------------
#ClientStoryHeader Module
--------------------------------------------------------------*/
.client-story-header {
    display: flex;
    padding: 64px 32px 16px 32px;
    justify-content: center;
    align-items: flex-start;
}

.client-story_container {
    display: flex;
    flex-direction: column;
    /*    width: 100%;
    max-width: 1280px;*/
    margin: 0 auto !important;
    gap: 20px;
}

.client-story_subtitle {
    font-weight: 600 !important;
    margin-bottom: 0 !important;
    font-size: 18px !important;
}

.client-story_content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1 0 0;
}

.client-story_header {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.client-story_button-section {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    gap: 10px;
    /*    width: auto;*/
    overflow-x: auto;
    scrollbar-width: none;
}

    .client-story_button-section::-webkit-scrollbar {
        display: none;
    }


    .client-story_button-section .left-section {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 8px;
        flex-wrap: nowrap;
    }


.client-story_image-section {
    position: relative;
    margin-top: 10px;
    /*   width: 100%;*/
}

.client-story_image {
    border-radius: 10px;
    /*    width: 100%;*/
    height: 0;
    padding-top: 56.25%; /* 16:9 aspect ratio */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.client-story_logo {
    position: absolute;
    bottom: 20px;
    left: 2%;
    /*   max-width: 100px;*/
    height: auto;
}

.client-story_container .articleorcase {
    font-size: 11px !important;
    margin-bottom: 0 !important;
}

.featured {
    border-radius: 2px;
    border: none;
    background: #006BBF;
    color: #FFF;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 8px !important;
    height: 22px;
}

.share {
    border-radius: 4px;
    border: 1px solid #4ACEBF;
    background: #DBF5F2;
    padding: 16px !important;
}


.featured,
.share {
    white-space: nowrap;
    /*padding: 4px 12px;*/
    /*    font-size: 11px;
    max-width: 100%;*/
}


.client-story_container h1, client-story_container p {
    margin: 0;
}

.client-story_container .breadcrumb {
    margin-bottom: 0;
}

.client-story_content hr {
    /*    width: 100%;
    max-width: 1280px;*/
    height: 1px;
    background-color: #4ACEBF;
    border: none;
    margin: 0 !important;
}

.client-story_button-section .icon-case-study, .client-story_button-section .icon-article {
    width: 21px !important;
    height: 21px !important;
}

@media (max-width: 992px) {
    .client-story_button-section {
        flex-direction: row;
        align-items: flex-start;
    }

        .client-story_button-section .left-section {
            width: auto;
            justify-content: flex-start;
        }

            .client-story_button-section .left-section p {
                font-size: 14px;
            }
}

@media (max-width: 768px) {
    .client-story_header h1 {
        font-size: 1.5rem;
    }

    .client-story_logo {
        max-width: 80px;
    }

    .client-story_image {
        padding-top: 75%; /* 4:3 ratio for smaller screens */
    }
}

@media (max-width: 480px) {
    .client-story_button-section {
        flex-direction: row !important; /* Enforce row */
        justify-content: space-between;
        align-items: center;
        flex-wrap: nowrap;
    }

        .client-story_button-section .left-section {
            width: auto;
        }

    .featured,
    .share {
        width: auto;
        min-width: fit-content;
        font-size: 12px;
    }

    .client-story_button-section .left-section p {
        font-size: 12px;
    }
}


@media (min-width:350px) and (max-width: 440px) {
    /*.client-story_button-section {
        flex-direction: row !important;*/ /* Enforce row */
    /*justify-content: space-between;
        align-items: center;
        flex-wrap: nowrap;
    }*/

    .client-story_button-section .left-section {
        gap: 2px;
    }

    .featured,
    .share {
        /*  width: auto;
        min-width: fit-content;*/
        font-size: 8px;
        padding: 0px 8px;
    }

    .client-story_button-section .left-section p {
        font-size: 8px;
    }
}

/*--------------------------------------------------------------
#StaffCarousel Module
--------------------------------------------------------------*/
.staff_carousel_image_section {
    box-sizing: border-box;
    padding: 0 10px;
}

.staff_image {
    border-radius: 10px;
    height: 466px;
    width: 100%;
    object-fit: cover;
}

.staff_name, .staff_designation, .linkedin_icon_black {
    margin-bottom: 0 !important;
}

.staff_carousel_slider {
    width: 100%;
}

.staff_carousel {
    position: relative;
    padding-bottom: 50px;
}

.staff-carousel-arrows {
    text-align: right;
    margin-top: 40px;
    margin-right: 50px;
}

    .staff-carousel-arrows .custom-arrow {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: none;
        border: none;
        width: 50px;
        height: 50px;
        cursor: pointer;
        /*   margin: 0 10px;*/
        transition: all 0.3s ease;
    }

        .staff-carousel-arrows .custom-arrow:hover .left_arrow_icon_default {
            background-image: url('/Portals/_default/Skins/XPI360/img/svg/left_arrow_button_hover.svg'); /* Black version */
        }

        .staff-carousel-arrows .custom-arrow:hover .right_arrow_icon_default {
            background-image: url('/Portals/_default/Skins/XPI360/img/svg/right_arrow_button_hover.svg'); /* Black version */
        }

/*.custom-arrow:hover {
        border-color: black;
    }

    .custom-arrow .left_arrow_icon,
    .custom-arrow .right_arrow_icon {
        font-size: 24px;
        color: #00B9AE;
        transition: color 0.3s ease;
    }

    .custom-arrow:hover .left_arrow_icon,
    .custom-arrow:hover .right_arrow_icon {
        color: #fff;
    }
*/
/* .slick-slide {
        width: 350px !important;
    }
*/

.staff_carousel_slider .staff_carousel_image_section {
    padding: 0 16px;
    box-sizing: border-box;
    min-width: 300px;
    max-width: 350px;
}

.staff_carousel_slider .slick-list {
    /*margin: 0 -16px;*/
}


.slick-prev, .slick-next {
    display: none !important;
}

.custom-arrow.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    border-color: #ccc;
}

    .custom-arrow.disabled .left_arrow_icon,
    .custom-arrow.disabled .right_arrow_icon {
        color: #ccc;
    }

.staff_name {
    margin-top: 15px; /* add space from image */
    font-size: 18px;
    /*  font-weight: 600;*/
    text-align: left;
}

.staff_designation {
    margin-top: 3px;
    font-size: 14px;
    color: #777;
    text-align: left;
}

.linkedin_icon_black {
    margin-top: 8px;
    display: flex;
    justify-content: center;
    width: 21px !important;
    height: 21px !important;
}

.staff_carousel .staff_carousel_title {
    text-align: center;
    margin-bottom: 48px !important;
}




/*--------------------------------------------------------------
#Timeline Module
--------------------------------------------------------------*/
.TimeLine_carousel .TimeLine_title {
    text-align: center;
    color: #006BBF !important;
    margin-bottom: 70px;
}

.timeline-carousel-arrows {
    text-align: right;
    margin-top: 40px;
    margin-right: 50px;
}

.TimeLine_carousel .TimeLine_carousel_slider {
    padding: 0;
    box-sizing: border-box;
}


.TimeLine_carousel .slick-slide {
    padding: 0 10px;
    box-sizing: border-box;
}

.TimeLine_carousel .TimeLine_carousel_slider .cards {
    margin: 0 15px;
    box-sizing: border-box;
}
/* Card layout */
.TimeLine_carousel .cards {
    width: 100%;
    max-width: 372px;
    height: 653px;
    display: flex !important;
    flex-direction: column;
    justify-content: space-between !important;
    align-items: center;
    background-color: white;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    overflow: hidden;
    padding: 20px;
    padding-bottom: 0 !important;
    margin: 0 10px;
    box-sizing: border-box;
}

.TimeLine_carousel .card_content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 300px;
    gap: 0px;
    width: 100%;
}

.TimeLine_carousel .card_Image {
    display: flex;
    justify-content: center;
    /* width: 100%;*/
}

    .TimeLine_carousel .card_Image img {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
        display: block;
    }

.TimeLine_carousel .cards.light {
    color: #000;
}

.TimeLine_carousel .cards.dark {
    color: #fff;
}

.TimeLine_carousel .cards * {
    color: inherit;
}

.timeline-carousel-arrows .custom-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    width: 50px;
    height: 50px;
    cursor: pointer;
    /*   margin: 0 10px;*/
    transition: all 0.3s ease;
}

    .timeline-carousel-arrows .custom-arrow:hover .left_arrow_icon_default {
        background-image: url('/Portals/_default/Skins/XPI360/img/svg/left_arrow_button_hover.svg'); /* Black version */
    }

    .timeline-carousel-arrows .custom-arrow:hover .right_arrow_icon_default {
        background-image: url('/Portals/_default/Skins/XPI360/img/svg/right_arrow_button_hover.svg'); /* Black version */
    }


/*--------------------------------------------------------------
#TwoColumns Module
--------------------------------------------------------------*/
.two_columns_container {
    display: flex;
    margin: 0 auto;
    gap: 32px;
    flex: 1 1;
    padding: 32px;
}

.column1, .column2 {
    flex: 1 1 0; /* equal columns */
    min-width: 0; /* allow shrinking */
}


@media (max-width:550px) {
    .two_columns_container {
        flex-direction: column;
    }
}

/*--------------------------------------------------------------
#ThreePanel Module
--------------------------------------------------------------*/

.three-panel {
    display: flex;
    max-width: 100%;
    gap: 24px;
    flex-wrap: wrap;
}

.third_panel, .first_panel, .second_panel {
    display: flex;
    flex-direction: column;
    flex: 1 1 0; /* equal width */
    padding: 25px 32px 32px 32px;
    border-radius: 10px;
    border: 2px solid #E1E1E1;
    background: #FAFAFA;
    min-width: 0;
    gap: 16px;
}

.third_panel {
    flex-direction: column;
}

    .third_panel .project_details {
        display: flex;
        flex-direction: column;
    }


.three-panel .tile {
    display: flex;
    background-color: #F3F3F3 !important;
    padding: 12px;
    gap: 8px;
    border-radius: 10px;
}


.three-panel .title img {
    width: 29px;
    height: 29px;
}


.three-panel .tiles_container {
    display: flex;
    gap: 8px !important;
    flex-direction: column;
}

.three_panel {
    display: flex;
    padding: 32px;
    flex-direction: column;
    align-items: center;
    /*gap: 8px;*/
}

    .three_panel .panel-title {
        color: #006BBF !important;
    }

.tile p {
    margin-bottom: 0 !important;
    font-weight: 700;
    line-height: 30px;
}

.tile img {
    width: 29px;
    height: 29px;
}

@media (max-width: 800px) {
    .first_panel, .second_panel {
        flex: 1 1 calc(50% - 15px); /* 50% minus half the gap for correct spacing */
    }

    .third_panel {
        flex: 1 1 100%;
        width: 100%;
        margin-top: 10px;
    }
}

@media (max-width: 660px) {
    .three-panel {
        flex-direction: column;
        /*padding: 16px !important;*/
    }
}

@media (max-width:393px) {
    .three_panel {
        min-width: 329px;
        width: 100%;
    }
}

/*--------------------------------------------------------------
# Case Study Feature Module
--------------------------------------------------------------*/
.case-study-feature {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 48px;
    flex: 1 0 0;
}

    .case-study-feature .case-study-feature_container {
        display: flex;
        padding: 32px;
        justify-content: center;
        align-items: center;
        gap: 76px;
        align-self: stretch;
        border-radius: 10px;
        border: 2px solid var(--pale-gray);
        background: var(--snow-light);
    }

    .case-study-feature .case-study-features-icon-content {
        display: flex;
        flex-direction: column;
    }

    .case-study-feature .case-study-feature_content {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        flex: 1 0 0;
        justify-content: flex-end;
    }

    .case-study-feature .case-study-feature-logo {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        align-self: stretch;
    }

    .case-study-feature .case-study-feature-image-section {
        flex: 1 0 0;
        align-self: stretch;
        max-width: 366px;
        max-height: 500px;
        border-radius: 10px;
    }

    .case-study-feature .case-study-feature_image {
        width: 100%;
        max-height: 400px;
        min-height: 400px;
    }



    .case-study-feature .case-study-feature .person_detail-section {
        display: flex;
        align-items: center;
        gap: 48px;
    }

    .case-study-feature .case-study-feature .person_details {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .case-study-feature .person_detail-section a {
        color: var(--dark-color);
        font-family: "Open Sans";
        font-weight: 400;
        line-height: 46px;
        text-decoration-line: underline !important;
        text-decoration-thickness: auto !important;
        text-underline-offset: auto !important;
        text-underline-position: from-font !important;
    }

    .case-study-feature p {
        font-size: 20px;
        font-weight: 700;
        margin-bottom: 0;
    }

    .case-study-feature .person_job_details {
        margin-bottom: 0 !important;
    }

    .case-study-feature span {
        font-size: 14px;
        font-weight: 400;
        margin-bottom: 0;
    }

    .case-study-feature h4 {
        font-size: 34px;
        margin-bottom: 20px;
    }

    .case-study-feature .logo-content {
        display: flex;
        align-items: center;
        gap: 56px;
        align-self: stretch;
        justify-content: center;
    }

        .case-study-feature .logo-content .logo_carousel_box {
            display: flex;
            padding: 0px 16px;
            justify-content: center;
            align-items: center;
            gap: 56px;
            flex: 1 0 0;
            margin-top: 24px;
        }

    .case-study-feature .logo-divider {
        width: 1px;
        height: 62px;
        background: var(--gray60);
    }

    .case-study-feature .logo_carousel_box img {
        flex-shrink: 0;
        fill: var(--gray60);
    }

    .case-study-feature .logo_image {
        transition: filter 10s ease;
    }

    .case-study-feature .logo_carousel_box .active img {
        filter: brightness(0) invert(0);
        opacity: 1 !important;
    }

    .case-study-feature .auto-tab img {
        filter: grayscale(100%) brightness(60%);
        transition: filter 0.3s ease;
        opacity: 0.7 !important;
    }

    .case-study-feature .logo-carousel-wrapper {
        display: flex;
        align-items: center;
        min-height: 150px;
        gap: 42px;
        align-self: stretch;
    }

        .case-study-feature .logo-carousel-wrapper .wrapper_logo_carousel_box {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: flex-start;
            gap: 8px;
            flex: 1 0 0;
        }

        .case-study-feature .logo-carousel-wrapper .logo-carousel-nav {
            display: flex;
            align-items: center;
            gap: 12px;
            align-self: stretch;
        }


        .case-study-feature .logo-carousel-wrapper .wrapper_logo_carousel_box img {
            filter: brightness(0) invert(0);
            opacity: 1 !important;
        }

        .case-study-feature .logo-carousel-wrapper .nav-arrow {
            display: flex;
            width: 50.083px;
            height: 50px;
            padding: 9.532px;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            gap: 9.532px;
            flex-shrink: 0;
            aspect-ratio: 50.08/50.00;
            border-radius: 38.127px;
            border: 2.383px solid #4ACEBF;
            background: transparent;
        }

        .case-study-feature .logo-carousel-wrapper .carousel-item {
            display: none;
        }

            .case-study-feature .logo-carousel-wrapper .carousel-item.active {
                display: flex;
            }


    .case-study-feature .logo-carousel-wrapper {
        display: none;
    }

@media (max-width: 1199px) {
    .case-study-feature .person_detail-section {
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: 38px;
    }

    .case-study-feature .case-study-feature-image-section {
        max-width: 100%;
    }
}

@media (max-width: 992px) {
    .case-study-feature .logo-carousel-wrapper {
        display: flex;
    }

    .case-study-feature {
        /*padding: 16px !important;*/
        gap: 8px !important;
    }

        .case-study-feature .case-study-feature {
            margin-left: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 24px;
            align-self: stretch;
        }

        .case-study-feature h4 {
            font-size: 27px;
            margin-bottom: 20px;
        }

        .case-study-feature .logo-content {
            display: none !important;
        }

        .case-study-feature .case-study-feature_image {
            max-height: unset;
            min-height: unset;
            width: 100%;
            height: 100%;
        }
}

/*--------------------------------------------------------------
#BlogStory
--------------------------------------------------------------*/

.stories-container {
    display: flex;
    gap: 32px;
    max-width: 1280px;
    margin-top: 32px;
}

    .stories-container .feature-story {
        display: flex;
        flex-direction: column;
        max-width: 511px;
        /*     min-width: 380px;*/
        gap: 13px;
    }

    .stories-container .feature-story-img {
        width: 100%;
        border-radius: 10px;
        height: 250px;
    }

    .stories-container .story-details-featured {
        display: flex;
        gap: 5px;
        align-items: center;
    }

    .stories-container .featured-story-content .cards-title {
        font-size: 32px;
        font-weight: 400;
        line-height: 40px;
    }

    .stories-container .featured-story-content {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    .stories-container .featured {
        border-radius: 2px;
        border: none;
        background: #006BBF;
        color: #FFF;
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        padding: 8px !important;
        height: 22px;
    }

    .stories-container .cards-body {
        display: flex;
        flex-direction: column;
        justify-content: center;
        /*  max-width:573px;*/
        gap: 5px;
    }

    .stories-container .img-all-stories {
        width: 140px;
        border-radius: 10px;
    }

    .stories-container .category-image {
        width: 21px;
        height: 21px;
    }

    .stories-container .story-details {
        display: flex;
        gap: 4px;
        align-items: center;
    }

    .stories-container .articleorcase {
        font-size: 11px !important;
        margin-bottom: 0px !important;
    }

    .stories-container .story {
        display: flex;
        gap: 24px;
        max-width: 737px;
        flex-direction: row;
    }

    .stories-container .cards-title, .cards-text {
        margin-bottom: 0;
        margin-top: 0;
    }

    .stories-container .icon {
        width: 21px;
        height: 21px;
    }

.blogStoryTitle {
    color: #006BBF !important;
    margin-bottom: 16px;
    /* display: inline-block;*/
}

.stories-container .cards-title:hover {
    text-decoration: underline !important;
}

.stories-container .all-stories-container {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.stories_display_section .cards-text,
.story .cards-text {
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Number of lines to show */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4em;
    max-height: calc(1.4em * 2); /* Line height × number of lines */
}

@media (max-width: 1024px) {
    .all-stories-container .cards-title {
        text-decoration: underline !important;
    }

    .stories-container {
        /*     max-width: 800px;*/
        flex-direction: column;
    }
}

@media (min-width:600px) and (max-width: 1024px) {
    .stories-container {
        max-width: 800px;
        flex-direction: column;
    }

        .stories-container .outer {
            padding: 32px;
        }

        .stories-container .feature-story, .all-stories-container {
            max-width: 800px;
        }

        .stories-container .all-stories-container {
            gap: 32px;
        }
}

/*@media (max-width: 599px) {
    .stories-container {
        max-width: 393px;
        flex-direction: column;
        margin: auto;
        gap: 64px;
    }

        .stories-container .feature-story, .all-stories-container {
            max-width: 393px;
        }

        .stories-container .all-stories-container {
            gap: 33px;
        }

        .stories-container .story {
            flex-direction: column;
            gap: 16px;
        }

        .stories-container .img-all-stories {
            width: 100%;
            height: 180px;
        }

    .blogStoryTitle {
        text-align: center;
         display: inline-block;
    }

    @media (max-width:400px) {
        .blogStoryTitle {
            margin-bottom: 0px;
        }
    }*/
@media (max-width:414px) {
    .stories-container .feature-story-img {
        /*  min-width: 329px;
            width: 100%;*/
        margin-bottom: 32px;
    }

    .stories-container .img-all-stories {
        width: 100%;
        height: 180px;
    }

    .stories-container .story {
        flex-direction: column;
    }
}


/*--------------------------------------------------------------
    Search Box 
--------------------------------------------------------------*/
.search-box {
    position: relative;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    border-radius: 10px;
    border: 0.5px solid var(--secondary-light-color);
    background: var(--light-color);
}

    .search-box i {
        color: #888;
        margin-right: 8px;
    }

    .search-box input {
        border: none;
        outline: none;
        font-size: 14px;
        background: transparent;
        width: 160px;
    }

/*--------------------------------------------------------------
    Box 
--------------------------------------------------------------*/
.box-container {
    display: flex;
    width: 494px;
    padding: 32px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 23px;
    border-radius: 10px;
    border: 1px solid var(--gray-80);
    background: var(--light-color);
}


/*--------------------------------------------------------------
    MFA Check
--------------------------------------------------------------*/

.code-box {
    display: flex;
    width: 65px;
    height: 65px;
    padding: 6px 10px;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: var(--Primary-Turquoise-Regular, #4ACEBF);
    font-family: "Open Sans";
    font-size: 32px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    border-radius: 4px;
    background: var(--Primary-Turquoise-Light, #DBF5F2);
}


/*--------------------------------------------------------------
    Dashboard Card
--------------------------------------------------------------*/

.dashboard-card {
    display: flex;
    padding: 32px;
    flex-direction: column;
    gap: 32px;
    align-self: stretch;
    border-radius: 10px;
    background: #FFF;
}

.activity-card {
    border-radius: 10px;
    box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.12);
}

    .activity-card .show-new-case:hover {
        color: transparent !important;
    }

.card-header {
    display: flex;
    padding: 16px;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    align-self: stretch;
    border-radius: 10px 10px 0px 0px !important;
}

.dashboard-card .card-body {
    display: flex;
    padding: 8px 16px 16px 16px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 8px;
    flex: 1 0 0;
    align-self: stretch;
    border-radius: 0px 0px 10px 10px;
    background: var(--light-color);
}

.card-body {
    display: flex;
    padding: 8px 16px 16px 16px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 8px;
    flex: 1 0 0;
    align-self: stretch;
    border-radius: 0px 0px 10px 10px;
    background: var(--light-color);
}

/*--------------------------------------------------------------
    Article Stories
--------------------------------------------------------------*/

.article-Container {
    display: flex;
    flex-direction: column;
    background: var(--primary-azure-azure-5, #F2F8FC);
    justify-content: center;
    gap: 32px;
    position: relative;
    max-width: 1280px;
    width: 100%;
}

    .article-Container .Article-feature-story {
        display: flex;
        gap: 32px;
    }

    .article-Container .Article-feature-img {
        position: relative;
        border-radius: 10px;
        height: 371px !important
    }

    .article-Container .article-header-container {
        display: flex;
        flex-direction: row;
        gap: 32px;
    }

    .article-Container .story-details-featured {
        display: flex;
    }

    .article-Container .Article-featured-content {
        display: flex;
        flex-direction: column;
        gap: 15px;
        /*max-width:624px*/
    }

    .article-Container .icon {
        width: 21px;
        height: 21px;
    }

    .article-Container .articleorcase {
        font-size: 11px !important;
        margin-bottom: 0px !important;
    }

    .article-Container .Article-details-featured {
        display: flex;
        gap: 5px;
        align-items: center;
    }

    .article-Container .featured-story-content .cards-title {
        font-size: 32px;
        font-weight: 400;
        line-height: 40px;
    }

    .article-Container .card-description {
        margin-top: 15px !important;
    }

    .article-Container .Article-story_image-section {
        position: relative;
        /*    margin-top: 10px;*/
        width: 100%;
        /*       min-width:329px;*/
    }

    .article-Container .article-story_logo {
        position: absolute;
        bottom: 20px;
        right: 2%;
        /*   max-width: 100px;*/
        height: auto;
    }

    .article-Container .Article_search_section {
        display: flex;
        justify-content: flex-end;
        /*    max-width: 351px;*/
        gap: 16px;
        height: 44px;
    }

    .article-Container .search-box {
        padding: 8px;
        box-sizing: border-box;
        gap: 8px;
        border-radius: 4px;
        border: 1px solid var(--Primary-Turquoise-Regular, #4ACEBF);
        background: #FFF;
        display: flex;
        align-items: center;
        position: relative;
        width: 351px;
    }

    .article-Container .search-box-content {
        position: relative;
        flex-grow: 1;
    }

    .article-Container .Article_Filter_search {
        display: flex;
        gap: 16px;
        flex-direction: column;
    }

    .article-Container .search-box-content input {
        /*    width: 100%;
    padding: 12px 8px 4px 8px;*/
        font-size: 16px;
        border: none;
        outline: none;
        background: transparent;
        font-family: var(--default-font);
    }

    .article-Container .search-placeholder {
        position: absolute;
        top: 50% !important;
        left: 8px;
        transform: translateY(-50%);
        color: var(--XP-Primary-1000-4ACEBF, #4ACEBF) !important;
        font-size: 14px;
        pointer-events: none;
        transition: 0.2s ease all;
    }


    .article-Container .search-box-content input:focus + .search-placeholder,
    .search-box-content input:not(:placeholder-shown) + .search-placeholder {
        top: 4px;
        font-size: 16px;
        color: #333;
    }

    .article-Container .clear_btn {
        border: none;
        background: transparent;
        /* display: none;*/
        cursor: pointer;
    }

    .article-Container .Article_Category_Section {
        list-style-type: none;
        padding-left: 0;
        margin: 0;
        border-bottom: 1px solid var(--Primary-Turquoise-Regular, #4ACEBF);
        position: relative;
    }

        .article-Container .Article_Category_Section > li {
            display: inline-block;
            margin-right: 16px;
            padding: 8px 0;
            position: relative;
        }

            .article-Container .Article_Category_Section > li > a {
                font-family: var(--default-font);
                font-size: 14px;
                font-style: normal;
                font-weight: 500;
                line-height: normal;
                text-decoration: none;
                text-transform: uppercase;
                color: black;
            }

                /* Active link underline effect */
                .article-Container .Article_Category_Section > li > a.active::after {
                    content: "";
                    position: absolute;
                    left: 0;
                    bottom: -1px; /* Align with ul border */
                    width: 100%;
                    height: 2px;
                    background-color: black;
                }


    .article-Container .stories_display_section {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(2, 1fr); /* Two equal-width columns */
        gap: 32px; /* 32px gap between columns and rows */
    }

    .article-Container .img-all-stories {
        width: 140px;
        border-radius: 10px;
        height: 140px;
    }

    .article-Container .All-story-details {
        display: flex;
        gap: 4px;
        align-items: center;
    }

    .article-Container .story {
        display: flex;
        gap: 24px;
        /*  max-width: 737px;*/
        flex-direction: row;
    }

    .article-Container .cards-body {
        display: flex;
        flex-direction: column;
        /*justify-content: center;*/
        /*  max-width:573px;*/
        gap: 5px;
    }

    .article-Container .cards-title:hover {
        text-decoration: underline !important;
    }

.xp-story .load-more-layout {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: 478px;
    margin-left: calc(-50vw + 50%);
    display: flex;
    justify-content: center;
    align-items: center;
    backdrop-filter: blur(3px);
    background: linear-gradient(0deg, #FFF 0%, rgba(255, 255, 255, 0.93) 25%, rgba(255, 255, 255, 0.00) 100%);
    z-index: 10;
    pointer-events: none;
}




.xp-story .loadmore-btn {
    display: flex;
    height: 44px;
    padding: 16px;
    justify-content: center;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    border-radius: 4px;
    border: 1px solid #4ACEBF;
    background: var(--Primary-Turquoise-Light, #DBF5F2);
    cursor: pointer;
    font-weight: 500;
    pointer-events: auto
}

    .xp-story .loadmore-btn:hover {
        background-color: #4ACEBF !important;
    }

.xp-story {
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* or adjust based on your layout */
    position: relative;
    background: #F7F7F7 !important;
    padding-top: 64px !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
}

@media (max-width:992px) {
    .article-Container .Article-feature-story {
        flex-direction: column;
    }

    .article-Container .search-box {
        width: 100%;
    }

    .article-Container .story {
        flex-direction: column;
    }

    .article-Container .img-all-stories {
        width: 100%;
    }
}

@media (max-width:600px) {
    .article-Container .stories_display_section {
        grid-template-columns: 1fr;
    }

    .article-Container .search-box {
        width: 80% !important;
    }

    .article-Container .Article_search_section {
        gap: 2px;
        justify-content: center;
    }

    .article-Container .search-placeholder {
        font-size: 12px !important;
    }

    .article-Container #searchInput {
        width: 60%;
    }

    .article-Container .search-icon {
        width: 30px !important;
    }
}

@media (max-width:410px) {
    .article-Container .search-placeholder {
        font-size: 10px !important;
    }
}

.wave-bg {
    background-image: url(/Portals/_default/Skins/XPI360/img/wep-wave-device.svg);
    background-repeat: no-repeat;
    background-position: left 0 top 50px;
}

/*--------------------------------------------------------------
   Whitepaper
--------------------------------------------------------------*/
.whitepaper-SectionImage-wrapper {
    background-image: url(/portals/0/d9bb4e5….jpg);
    background-size: cover;
    background-position: center;
    display: flex;
    height: 250px;
    padding: 25px 118px 25px 70px;
    align-items: center;
    gap: 8px;
    align-self: stretch;
    border-radius: 10px;
}

.whitepaper-thumbnail-wrapper {
    width: 152.831px;
    height: 201.383px;
    transform: rotate(-4.49deg);
    box-shadow: -5px 5px 6px rgba(0, 0, 0, 0.25);
    overflow: hidden;
    border-radius: 4px;
    margin-top: 20px;
}

.whitepaper-thumbnail {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.highlighted {
    position: relative;
    color: #fff;
    padding: 0 10px;
    display: inline-block;
    z-index: 1;
    line-height: 55px;
}

    .highlighted::before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background-color: #335889;
        transform: skew(0deg, -1deg);
        z-index: -1;
    }
/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/
#preloader {
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: rgba(255, 255, 255, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity 0.6s ease-out;
    opacity: 1;
}

    #preloader .dot-container {
        display: flex;
        justify-content: center;
        gap: 8px;
    }

    #preloader .dot {
        width: 16px;
        height: 16px;
        border-radius: 50%;
        background-color: var(--primary-color);
        animation: pulse 1.2s infinite ease-in-out;
    }

        #preloader .dot:nth-child(1) {
            animation-delay: 0s;
        }

        #preloader .dot:nth-child(2) {
            animation-delay: 0.2s;
        }

        #preloader .dot:nth-child(3) {
            animation-delay: 0.4s;
        }

@keyframes pulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.5);
        opacity: 0.5;
    }
}
