/***********************/
/*  START :: Carousel  */
/***********************/

/* deactivate accordion outlines */
.fl-accordion .fl-accordion-button-label {
    outline: none;
}
.fl-accordion .fl-accordion-button-icon {
    outline: none;
}
/****************************/
/*  START :: All Carousels  */
/****************************/
:root {
    --carousel-arrow-right: url(/wp-content/uploads/vos-carousel-toggle-arrow-orange.svg);
    --carousel-arrow-left: var(--carousel-arrow-right);
}
.slick-initialized .slick-slide {
    display: flex!important;
    height: auto;
    flex-direction: column;
}
.slick-initialized .slick-slide>div{
    height:100%;
}
.slick-initialized .post .postBox {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}
.slick-arrow, .slick-arrow:hover, .slick-arrow:focus{
    background-color:transparent!important;
    border-radius: 100%;
    border:none!important;
    padding:0;
    transition: box-shadow 0.5s ease-in-out;
}
body:not(.fl-builder-edit) .slick-arrow:hover,
body:not(.fl-builder-edit) .slick-arrow:focus:hover /* enables hover even when button is clicked / focused */ {
    box-shadow: 0 0 24px 0 var(--glow-color) !important;
}
.slick-arrow.slick-prev {
    transform: rotate(180deg);
}
.slider-ctl{
    display:flex;
    gap:11px;
    justify-content:flex-end;
    margin-bottom:16px;
}
.slider-header{
    display: flex;
    justify-content: flex-end;
    gap: 22px;
}
.slick-dots{
    margin-bottom:0!important;
}
.slick-dots li.slick-active {
    display: block;
}
.slick-dots li {
    display: none;
    line-height: 1;
}
.slick-active button:not(.home-page-tab), 
.slick-active button:not(.home-page-tab):hover, 
.slick-active button:not(.home-page-tab):focus {
    background-color: transparent;
    border: 1px solid transparent;
    color: inherit;
    font-family: var(--font-button);
    font-size: 19px;
    font-size: 1.19rem;
    letter-spacing: 0.95px;
    padding: 0;
    pointer-events: none;
}
.slider-dot{
    display: flex;
    align-items: center;
    margin-bottom: 16px;
}

/**************************************************/
/*  START :: Carousel – Testimonial – 2 Columns   */
/**************************************************/
/* sets margin default for html modules in carousels, can be overridden individually in BB */
/* html modules = where the slider arrows are injected */
.testimonial-carousel-row .fl-module-html > div {
    margin-top: 36px;
}

/* resets padding-left on carousel text columns now that it's being handled by the fullwidth.marginleft classes */
.testimonial-carousel-row.nopadding.marginleft > div, .testimonial-carousel-row.nopadding .marginleft {
    --content-padding: 0px !important;
}
.testimonial-carousel-row .slick-arrow {
    --glow-color: var(--orange);
}
.testimonial-carousel-box .slick-track{
    display: flex;
    align-items: stretch;
}
.carousel-card {
    /* background-color: white; */
    border-radius: 40px;
    height: 100%;
    margin-right: 25px;
    max-width: 422px;
    padding: 26px 28px 36px;
    width: 422px !important;
}
.carousel-card .fl-module-content,
.carousel-card .fl-callout,
.carousel-card .fl-callout-content{
    height: 100%;
}
.carousel-card .fl-callout-content{
    display: flex;
    flex-direction: column;
}
.testimonial-carousel-box .carousel-card {
    max-width: 554px;
    margin: 0;
    padding: 0; /* reset padding from general carousel-card, now that padding is handled by inner div */
    width: 554px !important;
}
.testimonial-carousel-box .carousel-card > div {
    /* background-color: #FFF; */ /* Background color needs to be applied in BB only, for variable background colors */
    border-radius: var(--border-radius-img);
    box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.12);
    padding: 36px 41px;
}
/* reset BB so background color isn't applied */
.testimonial-carousel-box .carousel-card > .fl-drop-target, 
.testimonial-carousel-box .carousel-card > .fl-block-overlay, 
.testimonial-carousel-box .carousel-card > .fl-inline-editor {
    background-color: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
}
.carousel-card h3.fl-callout-title{
    /* padding-bottom:35px;
    padding-top:44px; */
}
.carousel-card .fl-callout-text p {
    /* padding-bottom: 26px!important; */
}
.testimonial-carousel-box .carousel-card .fl-photo{
    margin-bottom: 36px;
}
/* .testimonial-carousel-box .carousel-card .fl-callout-text-wrap{
    margin-top: auto;
} */
.testimonial-carousel-box .carousel-card .fl-callout-text p {
    color: var(--Primary-Dark) !important;
    padding-bottom: 0!important;
    font-weight: 600;
}
.testimonial-carousel-box .carousel-card .testinomial{
    color: var(--Text-Black);
    display: inline-block;
    font-size: 18px;
    font-size: 1.13rem;
    line-height: 29px;
    line-height: 1.81rem;
    margin-top: var(--Sizing-Units-S);
}
.testimonial-carousel-left-col .fl-col-content{
    position: relative;
    z-index: 1;
}
body:not(.fl-builder-edit) .testimonial-carousel-left-col .testimonial-carousel-left-col-box-img{
    position: absolute;
    bottom: -120px;
    right: -130px;
}
.testimonial-carousel-box .carousel-card img {
    height:200px;
    width:200px;
    object-fit: cover;
    border-radius: 50%;
}
.testimonial-carousel-row .slider-header{
    padding-right: 0px;
    padding-left: 0px;
    margin-right:0;
    /* margin-left:auto; */
    max-width: 675px;
    gap: 19px;
    justify-content:flex-start;
}
.testimonial-carousel-row .slider-ctl {
    gap: 12px;
}
.testimonial-carousel-row .slider-dot,
.testimonial-carousel-row .slider-ctl {
    margin-bottom: 0;
}
.testimonial-carousel-box .carousel-card img {
    height:200px;
    width:200px;
    object-fit: cover;
    border-radius: 50%;
}

/**************************************/
/*  Start :: box shadow clipping fix  */
/**************************************/
.testimonial-carousel-box .carousel-card > div {
    height: calc(100% - 30px); /* 100% minus margin, so box-shadow doesn't get clipped */
    margin: 15px 12px 15px 14px; /* left needs more than right, so box-shadow doesn't get clipped on left edge of carousel */
}
/* removes box-shadow from slide to the left of active slide, so it's box-shadow doesn't bleed into active view */
.testimonial-carousel-box .slick-slide:has(+ .slick-active) .carousel-card > div {
    box-shadow: none !important; 
}
.testimonial-carousel-box {
    margin: -15px;
}
/**************************************/
/*  End   :: box shadow clipping fix  */
/**************************************/

/* xl desktop only */
@media screen and (min-width: 1366px) {

    /* works for any columns set to 50%, needs to be adjusted for other percentages */
    /* body:not(.fl-builder-edit) .left_margin > .fl-col-content{
        max-width: 683px;
        margin-left: auto;
        padding-left: 0px !important;
    } */
    /* testimonial text column is only 40%, so max-width needs to be adjusted */
    /* body:not(.fl-builder-edit) .testimonial-carousel-row .left_margin > .fl-col-content {
        max-width: 470px;
    } */
    body:not(.fl-builder-edit) .testimonial-carousel-row .testimonial-carousel-left-col {
        width: 40%;
        
    }
    body:not(.fl-builder-edit) .testimonial-carousel-row .testimonial-carousel-right-col {
        width: 60%;
    }
    /* body:not(.fl-builder-edit) .right_margin > .fl-col-content{
        max-width: 683px;
        margin-right: auto;
    } */
}
/* tablet */
@media only screen and (max-width: 992px) {
    .testimonial-carousel-box .carousel-card .fl-callout-text p {
        /* padding-bottom:16px!important; */
    }
    .testimonial-carousel-box .carousel-card {
        width: 430px !important;
        max-width: 430px;
        /* padding: 26px 26px 36px; */
        /* border-radius: 30px; */
    }
    .testimonial-carousel-box .carousel-card > div {
        padding: 36px 26px;
    }
    .testimonial-carousel-box .carousel-card .fl-callout-text p {
        font-size: 24px;
        font-size: 1.5rem;
        line-height: 35px;
        line-height: 2.19rem;
    }
    .testimonial-carousel-box .carousel-card .testinomial {
        margin-top: var(--Sizing-Units-XS);
    }
    .testimonial-carousel-row .slider-header{
        margin-left:0;
    }
    .testimonial-carousel-box .slick-track {
        /* gap: 26px; */
    }
    body:not(.fl-builder-edit) .testimonial-carousel-left-col .testimonial-carousel-left-col-box-img{
        position: absolute;
        bottom: 0;
        right: unset;
        left:0;
        max-width: 160px;
    }
    .testimonial-carousel-box .carousel-card img {
        height: 140px;
        width: 140px;
    }
    .testimonial-carousel-left-col .fl-col-content {
        position: static;
        z-index: 1;
    }
    body:not(.fl-builder-edit) .testimonial-carousel-row{
        position: relative;
    }  
    .testimonial-carousel-row .slider-dot,
    .testimonial-carousel-row .slider-ctl {
        margin-bottom: 0;
    }  
}
/* mobile */
@media only screen and (max-width: 768px) {
    /* sets margin default for html modules in carousels, can be overridden individually in BB */
    /* html modules = where the slider arrows are injected */
    .testimonial-carousel-row .fl-module-html > div {
        margin-top: 26px;
    }
    .testimonial-carousel-row .slick-arrow img {
        width: 48px;
    }
    .testimonial-carousel-box .slick-track {
        gap: 26px;
    }
    .testimonial-carousel-box .carousel-card > div {
        border-radius: var(--border-radius-img-mobile);
        height: unset; /* prevents empty cards from taking up full height of offscreen siblings */
        padding: 26px 16px;
        max-width: calc(100vw - 36px);
    }
    .testimonial-carousel-box .slick-slide {
        max-width: calc(100vw - 36px);
    }
    .testimonial-carousel-box .carousel-card .fl-photo{
        margin-bottom: 26px;
    }
    .testimonial-carousel-box .carousel-card img {
        height: 100px;
        width: 100px;
    }
    .testimonial-carousel-box .carousel-card .testinomial {
        margin-top: var(--Sizing-Units-2XS);
    }
}
/**************************************************/
/*  END   :: Carousel – Testimonial – 2 Columns   */
/**************************************************/
/****************************/
/*  END   :: All Carousels  */
/****************************/

/***********************/
/*  START :: All Tabs  */
/***********************/
.fl-tabs .fl-tabs-label {
    /* font-family: var(--sora-thin);
    font-size: 22.5px;
    font-size: 1.41rem;
    line-height: 39.38px;
    line-height: 2.46rem;
    color: var(--navy-fade);
    margin-right: 30px; */
}
.fl-tabs .fl-tabs-label.fl-tab-active {
    /* text-decoration: underline;
    color: var(--white); */
}

.fl-tabs .fl-tabs-panels {
    border:0;
    overflow: hidden;
    min-height: initial !important;
}

.fl-tabs .fl-tabs-panel-content {
    
    /* background: var(--white);
    color: var(--navy); */
}
.fl-tabs .fl-tabs-panel-content-wrapper {
    display: flex;
}

.fl-tabs .fl-tabs-panel-content-col2 {
    /* padding: 27px 67px 67px 67px; */
    flex: 1 1 0;
}
.fl-tabs .fl-tabs-panel-content-col1 {flex: 1 1 0;}

.fl-tabs .fl-tabs-panel-content-col1.onlyimg {
	max-height:500px
}
.fl-tabs .fl-tabs-panel-content-col1 img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.fl-tabs .fl-tabs-panel-content-col2 h3 {
    color: var(--white);
}
.fl-tabs .fl-tabs-panel-content-col2 img + h3 {
    margin-top: 10px; /* make space for 25% increase on icon */
}

.fl-tabs .fl-tabs-panel-content-col2 p {
    /* font-family: var(--sora-thin); */
    /* font-size: 18px;
    font-size: 1.13rem;
    line-height: 27px;
    line-height: 1.69rem; */
    /* text-align: left; */
}

/* .fl-tabs .tabs-content-icon {margin-bottom:10px;} */

.fl-tabs .fl-tabs-panel-content {
    display: block;
    opacity: 0;
    height: 0;
    padding:0;
    width: 0;
    visibility: hidden;
    transition: opacity .25s ease;
}

.fl-tabs .fl-tabs-panel-content.fl-tab-active {
    display: block;
    opacity: 1;
    visibility: visible;
    height: 100%;
    width: 100%;
}

/********************************/
/*  START ::  Tabs – 2 Columns  */
/********************************/

/*************dynamic tabs***********/
.row--tabs-2columns .fl-tabs-labels {
    padding-right: 44px;

}
.row--tabs-2columns .fl-tabs-panels {
    padding-left: 44px;
}

.dynamic-tab-number {
    /* font-family: var(--Paralucent); */
    font-weight: bold;
    font-size: 44px;
    font-size: 44px;
    line-height: 40px;
    margin-right:10px;
        position: relative;
    top: 3px;

}

.dynamic-tabs .fl-tabs .fl-tabs-label:not(.fl-tab-active):hover{
    background: rgba(57, 204, 237, 0.5); /* 50% of --sandbar-blue */
}
.dynamic-tabs .fl-tabs .fl-tabs-label:not(.fl-tab-active):focus {
    background: rgba(57, 204, 237, 0.5); /* 50% of --sandbar-blue */
    box-shadow: 0px 0px 0px 1px;
}

.dynamic-tabs .fl-tabs .fl-tabs-label{
    /* background-color: transparent; */
    border-radius: var(--border-radius-img);
    border: 1px solid var(--white);
    color:var(--white);
    text-decoration: none;
    font-size: 28px;
    font-size: 1.75rem;
    font-family: var(--font-button);
    font-weight: 400;
    letter-spacing: 1.4px;
    line-height: 36px;
    line-height: 2.25rem;
    margin-bottom: 36px;
    margin-right: 70px;
    padding: 36px 24px;
    position: relative;
    transition: all 0.25s ease;
}

.dynamic-tabs .fl-tabs .fl-tabs-label.fl-tab-active {
    background:transparent;
    background-color: var(--Light-Blue);
    border-color: var(--Light-Blue);
    color: var(--Primary-Dark);
    margin-left: 26px;
    margin-right: calc(70px - 26px); /* inactive label's margin right minus active lacbel's margin left */
    padding-left: 36px;
    text-decoration:none;
}

.dynamic-tabs .fl-tabs .fl-tabs-label.fl-tab-active .dynamic-tab-number { color:var(--white)}

.dynamic-tabs .fl-tabs-vertical .fl-tabs-label:after{
    background-color: transparent;
    background-image: var(--carousel-arrow-right);
    background-repeat:no-repeat;
    background-size: contain;
    content:"";
    display: block;
    transform: translateX(10px);
    opacity:0;
    position: absolute;
    right: -35px;
    top: calc(50% - 35px);
    transition: all 0.25s ease;
    width: 70px;
    height: 70px;
}
.dynamic-tabs .fl-tabs-vertical .fl-tabs-label.fl-tab-active:after {
    /* transform:rotate(180deg) translateX(0px); */
    transform: translateX(0px);
    opacity:1;
}
.dynamic-tabs .fl-tabs-vertical{
    display: flex;
}
.dynamic-tabs .fl-tabs-vertical .fl-tabs-labels{
    width:100%;
}
.dynamic-tabs .fl-tabs-vertical .fl-tabs-panels{
    width:100%;
}
.dynamic-tabs .fl-tabs .fl-tabs-panel-content-wrapper{
    flex-direction: column;
}
.dynamic-tabs .fl-tabs .fl-tabs-panel-content-col1 img{
    height: 300px;
    border-radius: 24px;
}
.dynamic-tabs .fl-tabs .fl-tabs-panel-content,
.dynamic-tabs .fl-tabs-panels{
    background: transparent;
}
.dynamic-tabs .fl-tabs .fl-tabs-panel-content-col2{
    padding: 66px 36px 0;
    position: relative;
}
.dynamic-tabs .fl-tabs .fl-tabs-panel-content-col2 p{
    margin-top: 16px;
    margin-bottom: 26px;
}
.dynamic-tabs .fl-tabs .fl-tabs-panel-content-col2 :is(ul, ol){
    margin-top: 0;
    margin-bottom: 26px;
}
.dynamic-tabs .fl-tabs .fl-tabs-panel-content-col2 p:has(strong) + :is(ul, ol){
    margin-top: -26px;
}
.dynamic-tabs .fl-tabs .fl-tabs-panel-content-col2 .tabs-content-icon {
    /* height: 76px; */
    /* increase icons by 25% */
    height: 95px;
    position: absolute;
    top: 0;
    transform: translate(-10px, -50%);
    width: auto;
}

.tab-cta-button a.fl-button {
    background: var(--teal);
    border:0;
    border-radius: var(--border-radius-btn);
    color: var(--Text-Black);
    margin-bottom: 2px; /* so button overflow isn't cut off when it resizes on hover */
    transition: all .25s ease-in-out;
}

.tab-cta-button a.fl-button .fl-button-text {
    color: var(--patch-reef-blue) !important;
    font-size: 18px;
    font-size: 1.13rem;
    font-style: normal;
    font-weight: 700;
    line-height: 28px;
    line-height: 1.75rem;
}

.tab-cta-button a.fl-button:hover,
.tab-cta-button a.fl-button:focus {
    /* border: 1px solid #001d36; */
    border-style: none;
    border-width: 0;
    background-clip: border-box;
    background: var(--teal);
    color: var(--Text-Black);
    /* transform:scale(1.05); */
    transform: scale(1.05);
    transform: scale3d(1.05, 1.05, 1.05); /* testing performance of scale on hover */
}

.tab-cta-button a.fl-button:hover span:after {
    transform: translateX(calc((var(--btn-icon-gap-hover) - var(--btn-icon-gap)) / 2));
}




.tab-cta-button a.fl-button:after {
    /* content: "";
    background-image: var(--arrow-blue);
    width: 14px;
    height: 15px;
    display: block;
    position: relative;
    float: right;
    top: 2px;
    right: -13px;
    margin-right: 10px;
    transition:all .2s ease; */
    
}
/* large desktop, only */
@media only screen and (min-width: 992px) and (max-width: 1366px) {
    .row--tabs-2columns .fl-tabs-labels {
        padding-right: 22px;
    
    }
    .row--tabs-2columns .fl-tabs-panels {
        padding-left: 22px;
    } 

    .dynamic-tabs .fl-tabs .fl-tabs-label {
        margin-right: 86px;
        padding: 26px 36px 26px 26px;
    }

    .dynamic-tabs .fl-tabs .fl-tabs-label.fl-tab-active {
        margin-left: 32px;
        margin-right: calc(86px - 32px); /* inactive label's margin right minus active label's margin left*/
    }
}
/* tablet */
@media only screen and (max-width: 992px) {
    .row--tabs-2columns .fl-tabs-labels {
        padding-right: 13px;
    
    }
    .row--tabs-2columns .fl-tabs-panels {
        padding-left: 13px;
    } 
    .dynamic-tabs .fl-tabs .fl-tabs-label {
        margin-bottom: 26px;
        margin-right: 65px;
        padding: 26px 36px 26px 26px;
    }
    .dynamic-tabs .fl-tabs .fl-tabs-label.fl-tab-active {
        margin-left: 26px;
        margin-right: calc(65px - 26px); /* inactive label's margin right minus active label's margin left */
    }
    .dynamic-tabs .fl-tabs .fl-tabs-panel-content-col1 img {
        height: 240px;
    }

    /* if label isn't active while its panel is active (bug on mobile) */
    .dynamic-tabs .fl-tabs-panel-label:not(.fl-tab-active):has(+ .fl-tab-active) {
        margin-bottom: 16px;
    }
}
/* mobile */
@media only screen and (max-width: 768px) {
    .row--tabs-2columns .fl-tabs-labels {
        padding-right: 0;
    
    }
    .row--tabs-2columns .fl-tabs-panels {
        padding-left: 0;
    } 

    .fl-tabs .fl-tabs-panel-content-wrapper {
        display: block;
    }
    .fl-tabs .fl-tabs-panel-content-col1,
    .fl-tabs .fl-tabs-panel-content-col2 {
        width: 100%;
    }
    .fl-tabs .fl-tabs-panel-content-col2 {
        padding: 26px 18px;
    }

    .fl-tabs .fl-tabs-panel-content-col2 p {
        margin-top: 8px;
    }
    .fl-tabs-panel {
        /* border-bottom: 1px solid rgba(0,0,0,0.2); */
        border-bottom: none;
    }

    /* .dynamic-tabs .fl-tabs .fl-tabs-label span { line-height: 26px; }
    .dynamic-tabs .fl-tabs .fl-tabs-label.fl-tab-active span {
        color: var(--white);
    } */
    .dynamic-tabs .fl-tabs .fl-tabs-label.fl-tab-active { padding-bottom: 25px;} 
    .dynamic-tabs .fl-tabs .fl-tabs-label.fl-tab-active, 
    .dynamic-tabs .fl-tabs .fl-tabs-label {
        box-shadow: none!important;
        font-size: 27px;
        font-size: 1.69rem;
        line-height: 34px;
        line-height: 2.13rem;
        padding: 26px 16px;
        text-align: center;
    }
    .dynamic-tabs .fl-tabs .fl-tabs-label {
        margin: 16px 0 0;

    }
    .dynamic-tabs .fl-tabs .fl-tabs-label.fl-tab-active {
        margin: 16px 0 calc(24px + 26px); /* margin bottom is half of icon's height + gap before image*/
    }

    .dynamic-tabs .fas {display:none}
    .dynamic-tabs .fl-tabs .fl-tabs-panel-content-wrapper {
        /* margin-top: 10px;
        margin-bottom: 44px; */
        margin: 0;
    }
    .dynamic-tabs .fl-tabs .fl-tabs-panel-content-col2 {
        padding: 44px 16px 0;
    }
    .dynamic-tabs .fl-tabs-vertical .fl-tabs-label:after{
        transition: none!important;
    }
    .dynamic-tabs .fl-tabs-vertical .fl-tabs-label.fl-tab-active:after {
        transform: rotate(450deg);
        left: calc(50% - 24px); /* half minus half of width */
        top: initial;
        bottom: -24px;
        width: 48px;
        height: 48px;
    }
    .dynamic-tabs .fl-tabs .fl-tabs-panel-content-col1 img {
        height: 200px;
    }
    .dynamic-tabs .fl-tabs .fl-tabs-panel-content-col2 .tabs-content-icon {
        position: absolute;
        /* width: 76px;
        height: 76px; */
    }
    .dynamic-tabs .fl-tabs .fl-tabs-panel-content-col2 p {
        /* font-size:16px;
        font-size:0.84rem;
        line-height:24px;
        line-height:1.26rem; */
    }
    .tab-cta-button:not(.arrowlink):not(.buttonlink) a.fl-button {
        gap: 8px; 
        padding: 14px 20px;
    }
    .tab-cta-button a.fl-button span.fl-button-text {
        /* font-size:20px;
        font-size:1.05rem; */
        line-height: normal;
    }
}
/********************************/
/*  END   ::  Tabs – 2 Columns  */
/********************************/
/***********************/
/*  END  :: All Tabs  */
/***********************/

/*****************************/
/*  START  :: Logo Marquee   */
/*****************************/

.scroller ul {
    list-style: none;
}
.scroller,
.marquee {
    max-width: 100%;
    -webkit-transform: translate3d(0, 0, 0); /* bug fix: webkit flickering on mobile */
}
.scroller[data-animated="true"],
.marquee[data-animated="true"]{
    overflow: hidden;
}
/* BB XL DESKTOP, and up */
@media screen and (min-width: 2000px) {
    .marquee[data-animated="true"]{
        -webkit-mask: linear-gradient(
            90deg, 
            transparent, 
            white 10%, 
            white 90%, 
            transparent
        );
        mask: linear-gradient(
            90deg, 
            transparent, 
            white 10%, 
            white 90%, 
            transparent
        );
        float: none;
        margin-left: auto;
        margin-right: auto;
        max-width: 1234px;
    }
    
}

.marquee > .fl-col-content {
    -webkit-transform: translate3d(0, 0, 0); /* bug fix: webkit flickering on mobile */
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--scroll-gap);
    padding: 0;
}
.marquee > .fl-col-content > div {
    -webkit-transform: translate3d(0, 0, 0); /* bug fix: webkit flickering on mobile */
    /* border: 3px solid trasparent; */ /* for debugging */
    min-width: 200px;
    min-height: 100px;
}

.marquee > .fl-col-content > div:first-child {
    /* border: 3px solid rebeccapurple; */ /* for debugging */
}
.marquee > .fl-col-content > div:last-child {
    /* border: 3px solid lime; */ /* for debugging */
}
.marquee.logos {
    --scroll-gap: 100px;
}
.marquee.logos .fl-photo img {
    border-radius: 0;
    box-shadow: none;
}
/* restyle the marquee when motion is not activated */
body:not(.fl-builder-edit) .marquee[data-animated="false"] > .fl-col-content {
    gap: 26px var(--scroll-gap);
    justify-content: center;
}
body:not(.fl-builder-edit) .marquee[data-animated="true"] > .fl-col-content {
    animation: 
        scroll 
        var(--_animation-duration, 60s) 
        var(--_animation-direction, forwards) linear infinite;
    flex-wrap: nowrap;
    width: max-content;
}
body:not(.fl-builder-edit) .marquee {
    --_animation-duration: 60s;
    --_animation-direction: forwards;
}
body:not(.fl-builder-edit) .marquee.slow {
    --_animation-duration: 140s;
}
body:not(.fl-builder-edit) .marquee.fast {
    --_animation-duration: 40s;
}
body:not(.fl-builder-edit) .marquee.direction-right {
    --_animation-direction: reverse;
}
body:not(.fl-builder-edit) .marquee.direction-left {
    --_animation-direction: forwards;
}
@keyframes scroll {
    to {
        transform: translate(calc(-50% - calc(var(--scroll-gap, 0px)/2)));
    }
}
body:not(.fl-builder-edit) .marquee[data-animated="loading"] > .fl-col-content {
    flex-wrap: nowrap;
    width: max-content;
}
body:not(.fl-builder-edit) .marquee[data-animated="loading"] > .fl-col-content .logo, 
body:not(.fl-builder-edit) .marquee[data-animated="loading"] > .fl-col-content .logo img {
    min-width: 300px;
}

.logo img {
    border-radius: 0;
    box-shadow: none;
    max-width: unset;
    width: auto;
} 


@media (prefers-reduced-motion: reduce) {
    /* restyle the marquee when motion is disabled */
    .marquee > .fl-col-content {
        gap: 26px var(--scroll-gap);
        justify-content: center;
    }
}

/* mobile */
@keyframes scrollmobile {
    from {
        transform: translate(26px);
    }
    to {
        transform: translate(-50%);
    }
}
/* mobile */
@media only screen and (max-width: 768px) {
    body:not(.fl-builder-edit) .marquee[data-animated="true"] > .fl-col-content {
        animation: scrollmobile 
            var(--_animation-duration, 20s) 
            var(--_animation-direction, forwards) linear infinite;
    }

    body:not(.fl-builder-edit) .marquee.logos {
        /* increase speed on mobile */
        --_animation-duration: 20s;
        --_animation-direction: forwards;
        /* decrease gap between logos */
        --scroll-gap: 50px;
    }
    .marquee > .fl-col-content > div {
        min-width: unset;
        min-height: unset;
    }
    .marquee > .fl-col-content > div,
    .marquee.logos .fl-photo img {
        height: auto;
        max-width: 50vw;
        width: 50vw;
    }
}

/*****************************/
/*  END    :: Logo Marquee   */
/*****************************/

/**********************************/
/*  START :: post-carrousel-news  */
/**********************************/
.fl-row:not(.nopadding) >.fl-row-content-wrap >.fl-row-content,
.content_innerpadding {
    padding-left:  var(--content-padding);
    padding-right: var(--content-padding);
}

/******POST CARROUSEL (NEWS)******/
.carrousel-news-row .module--slider-header{
    margin-top: auto;
}
.carrousel-news-row .slick-arrow {
    --glow-color: var(--orange);
}
.carrousel-news-row .slider-dot,
.slider-ctl {
    margin-bottom: 0;
}
.carrousel-news-row .slider-dot{
    order: -1;
}
.carrousel-news .arrowlink{
    margin-left:0;
}
.carrousel-news .post{
    max-width: 370px;
    width: 370px!important;
    margin-right:26px;
    padding-left:26px;
    border-left: 1px solid var(--Light-Blue);
    height:100%;
    /* padding-top:16px; */
    /* padding-bottom:16px; */
    cursor: pointer!important;
}
.carrousel-news .tags{
    margin-bottom:16px;
    max-width: fit-content;
}

.carrousel-news .slick-track{
    display: flex;
    align-items: stretch;
}
/* .carrousel-news-row .slider-header{
    padding-right: 72px;
    max-width: 1366px;
    margin: auto;
} */
.carrousel-news-row .carrousel-news{
    padding-left: var(--content-padding);
    margin-left: calc(50vw - 691px);
}

/* start: animate carousel fade-up only after slick is initialized */
.post-wedget{
    opacity: 0;
}
.post-wedget.slick-initialized {
    /* forwards animation-fill-mode property ensures opacity: 1 persists after animation completes */
    animation: fl-fade-up 1s ease forwards; 
    opacity: 1;
    -webkit-animation: fl-fade-up 1s ease forwards;
}
/* end: animate carousel fade-up only after slick is initialized */

.post-wedget .post .tags {
    background-color: var(--Light-Blue);
    border-radius: 10px;
    color: var(--Text-Black) !important;
    display: inline-block;
    font-family: var(--font-content);
    font-size: 14px;
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 22px;
    line-height: 1.38rem;
    margin-bottom: 16px;
    opacity: 1;
    padding: 4px 16px;
}

.post-wedget .post .tags span::before{
    content: ', ';
}
.post-wedget .post .tags span:first-of-type::before {
    content: '';
}

.carrousel-news-row .post h3.h4{
    color: var(--white);
    font-size: 28px;
    font-size: 1.75rem;
    line-height: 36px;
    line-height: 2.25rem;
    margin-bottom: 16px;
}
.carrousel-news-row .posts .post h3 a{
    background-image: linear-gradient(var(--orange), var(--orange));
}
.carrousel-news-row .post .date,
.carrousel-news-row .post .location {
    color: var(--white);
    display: block;
    font-size: 18px;
    font-size: 1.13rem;
    font-weight: 900;
    line-height: 29px;
    line-height: 1.81rem;
    margin-bottom: 16px;
}
.carrousel-news-row .post .infoBox {
    height: 100%;
}
.carrousel-news-row .post .buttonlink {
    display: inline-block;
    font-family: var(--font-button);
    font-size: 19px;
    font-size: 1.19rem;
    font-weight: 400;
    line-height: normal;
    letter-spacing: var(--btn-link-letter-spacing-light);
    margin-top: auto;
    width: fit-content;
}

/* large desktop, only */
@media only screen and (max-width: 1366px) {
    .carrousel-news-row .carrousel-news{
        margin-left: 0;
    }
}
/**********************************/
/*  END   :: post-carrousel-news  */
/**********************************/