/* === Custom Block Styling === */
.heroBlock{
    padding: var(--CB-padding-top) var(--CB-padding-right) var(--CB-padding-bottom) var(--CB-padding-left);
    margin: var(--CB-margin-top) var(--CB-margin-bottom);
    background-color: var(--CB-background-color);
    background-image: var(--CB-background-image);
    background-position: var(--CB-background-position);
    background-size: cover;
}

.hero__slideContainer{
    background-size: cover;
    background-position: center;
    height: 600px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.hero__slideContainer::after{
    content: '';
    background-color: var(--FC-primary-color);
    mix-blend-mode: multiply;
    opacity: 60%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.hero__slideContentContainer{
    padding: 64px 0px;
}

.hero__heading{
    color: var(--FC-white);
    padding-bottom: 16px;
    text-shadow: 3px 3px 3px rgba(0, 0, 0, 60%);
}

.hero__copy{
    color: var(--FC-white);
    font-size: var(--FC-font-size-24);
    padding-bottom: 32px;
    text-shadow: 3px 3px 3px rgba(0, 0, 0, 60%);
}

.hero__link{
    color: var(--FC-white) !important;
    border: solid 1px var(--FC-white);
    padding: 8px 32px;
    border-radius: 20px;
    transition: var(--FC-default-transition);
}

.hero__link:hover{
    background-color: var(--FC-secondary-color);
    border: solid 1px var(--FC-secondary-color);
    transition: var(--FC-default-transition);
}


.hero__navContainer{
    padding: 64px 128px;
    background-color: var(--FC-primary-color);
}

.hero__navText{
    color: var(--FC-white);
    font-size: var(--FC-font-size-24);
    padding-bottom: 16px;
    transition: var(--FC-default-transition);
    cursor: pointer;
}

.hero__navText::after{
    content: '';
    height: 2px;
    width: 90%;
    background-color: var(--FC-white);
    position: absolute;
    bottom: 0;
    left: 0;
    transition: var(--FC-default-transition);
}

.hero__navText::before{
    content: '';
    height: 2px;
    width: 0%;
    background-color: var(--FC-secondary-color);
    position: absolute;
    bottom: 0;
    left: 0;
    transition: var(--FC-default-transition);
    z-index: 10;
}

/* .hero__navText.active::before{
    width: 90%;
    transition: var(--FC-default-transition);
} */


/* ===== This is for the continuous progress bar animation ===== */
.hero__navText.active::before {
    animation: progressFill 5s linear forwards;
}

.hero__navText.completed::before {
    width: 90%;
}

@keyframes progressFill {
    from {
        width: 0%;
    }
    to {
        width: 90%;
    }
}








.hero__navWrapper{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 32px;
}

.hero__navIconWrapper{
    max-width: 100px;
    width: 100%;
    background-color: var(--FC-secondary-color);
    border-radius: 50%;
    aspect-ratio: 1/1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.hero__navIconWrapper svg{
    width: 60%;
    height: auto;
    max-width: none;
    max-height: none;
}
.hero__navIconWrapper svg path{
    fill: #fff;
}

.hero__navIcon{
    width: 100%;
    cursor: pointer;
}

.heroMobile{
    display: none;
}

@media screen and (max-width: 1299.98px){
    .hero__navWrapper{
        gap: 16px;
    }
}

@media screen and (max-width: 1199.98px){
    .hero__navText{
        font-size: var(--FC-font-size-24);
    }
    .hero__navWrapper{
        gap: 25px;
    }
}

@media screen and (max-width: 991.98px){
    .hero__slideContainer{
        height: 600px;
    }
    .hero__navIconWrapper{
        max-width: 50px;
    }
    .hero__navContainer{
        padding: 64px 50px;
    }
}

@media screen and (max-width: 767px){
    .hero__slideContainer{
        height: 550px;
    }
    .hero__navContainer{
        display: none;
    }
    .heroDesktop{
        display: none;
    }
    .heroMobile{
        display: block;
    }

    .heroBlock{
        padding-top: 128px !important;
        margin-bottom: 64px !important;
    }

    .hero__mobileIconWrapper{
        display: flex;
        justify-content: center;
    }

    .hero__navIcon{
        max-width: 50px;
        width: 100%;
        margin: auto;
        user-select: none;
    }

    .hero__mobileIconRow{
        padding-bottom: 32px;
        width: 70%;
        margin: auto;
    }

    .heroMobileSwiper{
        position: absolute !important;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    }

    .heroMobileSwiper::after{
        content: '';
        background-color: var(--FC-primary-color);
        mix-blend-mode: multiply;
        opacity: 60%;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
    }

    .hero__mobileImagSlide{
        background-size: cover;
        background-position: center;
    }

    .hero__mobileNav{
        border: solid 1px var(--FC-white);
        height: 35px !important;
        width: 35px !important;
        border-radius: 50%;
    }

    .hero__mobileNav.swiper-button-prev::after, .hero__mobileNav.swiper-button-next::after{
        font-size: 16px;
        color: var(--FC-white);
    }

    .hero__mobileSlideContentWrapper{
        width: 70%;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .hero__heading{
        font-size: var(--FC-font-size-50) !important;
        text-align: center;
    }

    .hero__copy{
        text-align: center;
        padding-bottom: 16px;
    }

    .hero__link a{
        color: var(--FC-white);
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        width: 100%;
        align-items: center;
    }
}

@media screen and (max-width: 575px){
    .hero__mobileSlideContentWrapper, .hero__mobileIconRow{
        width: 66.66%;
    }
    .hero__navIcon{
        max-width: 50px;
    }
    .hero__heading{
        font-size: var(--FC-font-size-42) !important;
    }
}