/************************/
/*  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-left: url(/wp-content/uploads/carousel-arrow-left.svg);
    --carousel-arrow-right: url(/wp-content/uploads/carousel-arrow-right.svg);
}
.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:none!important;
    padding:0;
}
.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;
    color: inherit;
    padding: 0;
    font-weight:bold;
    border: 1px solid transparent;
    pointer-events: none;
}
.slider-dot{
    display: flex;
    align-items: center;
    margin-bottom: 16px;
}
/****************************/
/*  END   :: All Carousels  */
/****************************/

/*****************************************************/
/*  START :: Action Carousel / Expandable Image Card */
/*****************************************************/
/*action carousel*/
.noarrow.fl-module-button:not(.arrowlink) a.fl-button,
footer div.wpforms-container-full .wpforms-form button.wpforms-submit {
    padding: 12px 25px;
    border-radius: 100px;
    font-size: 1rem;
}
.fl-module-button.noarrow a.fl-button::after{
    display: none!important;
}
.action-carousel-slider > .fl-col-content .fl-col-content{
    overflow: hidden;
    width: 375px;
    height:100%;
    display: flex;
    flex-direction: column;
}
.action-carousel-slider > .fl-col-content .fl-col-content .btn-round{
    margin-top:auto;
}
body:not(.fl-builder-edit) .action-carousel-slider > .fl-col-content .fl-col{
    width:375px;
    height:100%;
}
body.fl-builder-edit .action-carousel-slider > .fl-col-content .fl-col{
    width:100%!important;
}

.action-carousel-row .slick-active button, .slick-active button:hover, 
.action-carousel-row .slick-active button:focus{
    color:white;
}
.action-carousel-row .slick-dots {
    padding-inline-start: 0;
}



.noarrow.fl-module-button:not(.arrowlink) a.fl-button,
footer div.wpforms-container-full .wpforms-form button.wpforms-submit {
    padding: 12px 25px;
    border-radius: 100px;
    font-size: 1rem;
}
/* .fl-module-button.noarrow a.fl-button::after{
    display: none!important;
} */
.action-carousel-slider .column--action-carousel .fl-col-content {
    display: flex;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    width: 394px;
}
/**************************************/
/*  Start :: box shadow clipping fix  */
/**************************************/
.action-carousel-slider .column--action-carousel .fl-col-content {
    height: calc(100% - 30px); /* 100% minus margin, so box-shadow doesn't get clipped */
    margin: 15px 9px 15px 11px; /* 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 */
.action-carousel-slider .slick-slide:has(+ .slick-active) .column--action-carousel > div {
    box-shadow: none !important; 
}
.action-carousel-slider {
    margin: -15px;
}
/**************************************/
/*  End   :: box shadow clipping fix  */
/**************************************/

/* allows cards to be editable in bb, not overlapping */
body.fl-builder-edit .action-carousel-slider .slick-slide .fl-col {
    width:100%!important; 
}

/* In this case, turn off flex inside BB editor on equalized height columns, so they're easier to edit */
body.fl-builder-edit .action-carousel-row .fl-col-group-equal-height,
body.fl-builder-edit .action-carousel-row .fl-col-group-equal-height .fl-col {
    display: unset;
}

body:not(.fl-builder-edit) .action-carousel-slider .slick-slide .fl-col {
    height: 100%;
}

.action-carousel-slider > .fl-col-content .fl-module-box {
    height:100%;
    overflow: hidden;
    width: 394px;
}

/* Best of both worlds! button has consistent margin-top and parent container is auto so button is always aligned to bottom of card */
/* as if margin-top-min: 26px; margin-top-max: auto; */
.action-carousel-slider > .fl-col-content .fl-module-button {
    margin-top:auto;
}
.action-carousel-slider > .fl-col-content .fl-module-button a {
    margin-top: 26px;
}

body:not(.fl-builder-edit) .action-carousel-slider > .fl-col-content .fl-col{
    width: 394px;
    height:100%;
}
/* body.fl-builder-edit .action-carousel-slider > .fl-col-content .fl-col{
    width:100%!important;
} */

body:not(.fl-builder-edit) .action-carousel-row .slick-track{
    display: flex;
}
.action-carousel-row .slick-slide img{
    height: 260px;
    object-fit: cover;
}

/* Action Carousel - controls */
.action-carousel-row .slick-active button, .slick-active button:hover, 
.action-carousel-row .slick-active button:focus{
    color:white;
}
.action-carousel-row .slick-dots {
    padding-inline-start: 0;
}
/* sets margin default for html modules in carousels, can be overridden individually in BB */
/* html modules = where the slider arrows are injected */
.action-carousel-row .fl-module-html > div {
    margin-top: 36px;
}
.action-carousel-row .slider-header {
    justify-content: flex-start;
    gap: 12px;
    /* padding-right: 72px; */
    /* margin-right:auto;
    margin-left:0;
    padding-left:0; */
    /* max-width: 675px; */
}
/* .action-carousel-row .slick-dots{
    
    left: 0px;
    position: relative;
    text-align: center;
} */
/* .action-carousel-row .slider-dot{
    margin-bottom:0;
} */
/* .action-carousel-row .slick-dots button{
    font-size: 0.85rem;
} */

/* .action-carousel-row .slick-prev img {
    transform: rotate(180deg);
} */
.action-carousel-row .slick-active button, .slick-active button:hover, 
.action-carousel-row .slick-active button:focus{
    color:white;
}

.action-carousel-row .slick-dots li.slick-active {
    display: block;
    /* min-width: 65px; */
    min-width: auto;
}
.action-carousel-row .slick-dots li {
    display: none;
    line-height: 1;
}
.action-carousel-row .slick-active button, 
.action-carousel-row .slick-active button:hover, 
.action-carousel-row .slick-active button:focus {
    background-color: transparent;
    color: var(--patch-reef-blue);
    /* padding: 0; */
    /* font-weight:bold;
    border: 1px solid transparent; */
    pointer-events: none;
}
.action-carousel-row .slider-dot{
    align-items: center;
    display: flex;
    margin-bottom: 0;
    order: 3;
}
/*  BB "EXTRA LARGE" DESKTOP, only  */
@media screen and (min-width: 1366px) {
    .action-carousel-row .fl-row-content-wrap {
        /* padding-left: calc(50vw - 623px); */
        padding-left: calc(50vw - 612px);
    }
}

/*  BB "LARGE" DESKTOP, only   */
@media only screen and (min-width: 992px) and (max-width: 1366px) {
    .action-carousel-row .fl-row-content-wrap {
        padding-left: 60px;
    }
}

/*  TABLET, and down  */
@media only screen and (max-width: 992px) {
    .action-carousel-row .fl-row-content-wrap {
        padding-left: 36px;
    }
    .action-carousel-row .slider-header {
        /* justify-content: flex-start; */
        justify-content: flex-end;
        padding-right: 0;
    }
    .action-carousel-row .slick-track {
        justify-content: right;
        gap: 20px;
    }
    .action-carousel-row .slick-initialized .slick-slide {
        max-width: 394px;
    }
    /**************************************/
    /*  Start :: box shadow clipping fix  */
    /**************************************/
    .fl-builder-content .action-carousel-slider {
        margin-left: -9px;
        width: calc(100% + 9px) !important;
    }
    /**************************************/
    /*  End   :: box shadow clipping fix  */
    /**************************************/
}

/*  MOBILE, only  */
@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,
    .number-carousel-row .fl-module-html > div {
        margin-top: 16px;
    }

    .action-carousel-slider > .fl-col-content .fl-col-content{
        overflow: hidden;
        width: 280px;
    }
    .action-carousel-row .slick-slide img{
        height:215px;
    }
    body:not(.fl-builder-edit) .action-carousel-slider > .fl-col-content .fl-col{
        width:280px;
    }
    .action-carousel-row .fl-row-content-wrap {
        padding-left: 18px;
    }
    .action-carousel-row .slider-header {
        /* justify-content: flex-end; */
        padding-right: 0;
    }
    .action-carousel-row .slick-slide img{
        height:240px;
    }
    body:not(.fl-builder-edit) .action-carousel-slider > .fl-col-content .fl-col{
        /* height: auto;
        width:280px; */
    }
    body:not(.fl-builder-edit) .action-carousel-row .slick-initialized .slick-slide {
        max-width: calc(100vw - 36px);
    }
    .action-carousel-slider > .fl-col-content .fl-module-box,
    .action-carousel-slider > .fl-col-content .fl-col-content {
        width: auto;
    }
    /* these together: removes weird spacing at top of slide */
    .action-carousel-row .slick-slide > div {
        display: flex; 
        /* height: auto; */
    }
    /* these together: removes weird spacing at top of slide */
    .action-carousel-row .slick-slide .fl-col {
        align-self: flex-start; 
    }
    /* In this case, limit the width of the cards only in BB editor so they're easier to edit in BB editor's responsive small */
    body.fl-builder-edit .action-carousel-slider > .fl-col-content .fl-col.column--action-carousel {
        display: inline-block;
        max-width: 394px;
    }
    /**************************************/
    /*  Start :: box shadow clipping fix  */
    /**************************************/
    .fl-builder-content .action-carousel-slider {
        margin: 0;
    }
    .action-carousel-slider .slick-list {
        overflow: visible;
    }
    .action-carousel-slider .column--action-carousel .fl-col-content {
        height: 100%;
        margin: 0;
    }
    /**************************************/
    /*  End   :: box shadow clipping fix  */
    /**************************************/

}
/*****************************************************/
/*  END   :: Action Carousel / Expandable Image Card */
/*****************************************************/

/**********************************************/
/*  START :: Vertical - Parallax - 2 Columns  */
/**********************************************/
.parallax_img,  body:not(.fl-builder-edit) .parallax_img div{
    height:100%;
    display: block;
}
.parallax_img .fl-photo-content img{
    z-index: 1;
    position: relative;
}
body:not(.fl-builder-edit) .fl-post .parallax_img .fl-photo-content{
    height:auto;
    position:sticky;
    top:60px;
    padding-bottom:90px;
}
.parallax_col>.fl-col-content>.fl-col-group{
    display: flex;
    flex-direction: column;
    gap:25vh;
}
.parallax_col_child{
    width:100%!important;
    min-height: 50vh;
    display: flex;
    align-items: center;
}
body:not(.fl-builder-edit) .img_parallax{
    opacity: 0.2;
    transition: all 0.5s ease;
    pointer-events: none;
}
body:not(.fl-builder-edit) .img_parallax.active{
    opacity: 1;
    pointer-events: auto;
}
.text_parallax_row .fl-row-content .fl-col-group:not(.fl-col-group-equal-height){
    position: sticky;
    top:0;
}
.parallax_col_child.text_parallax{
    min-height: auto;
}
body:not(.fl-builder-edit) .parallax_col_child.text_parallax{
    opacity: 0;
    pointer-events: none;
}
body:not(.fl-builder-edit) .parallax_col_child.text_parallax.active{
    opacity: 1;
    pointer-events: all;
}
.txt_partner_parallax{
    padding:26px;
    background-color:var(--cream);
    border-radius: 6px;
    max-width: 332px;
    transition: all 0.5s ease-out;
}
body:not(.fl-builder-edit) .txt_partner_parallax blockquote{
    margin-bottom:10px;
}
body:not(.fl-builder-edit) .partner_parallax_row .fl-row-content .fl-col-group:not(.fl-col-group-equal-height){
    position: sticky;
    top:44px;
}
body:not(.fl-builder-edit) .parallax_col_child.partner_parallax{
    min-height:auto;
    display:block;
    position: relative;
    z-index: 2;
}
body:not(.fl-builder-edit) .parallax_col_child.partner_parallax .img_partner_parallax{
    width:587px;
    height:587px;
    transition: all 0.5s ease-out;
}
body:not(.fl-builder-edit) .parallax_col_child.partner_parallax:nth-child(1) .img_partner_parallax,
body:not(.fl-builder-edit) .parallax_col_child.partner_parallax:nth-child(4) .img_partner_parallax{
    width:674px;
    height:674px;
    float: right;
    margin-right: 75px;
}
body:not(.fl-builder-edit) .parallax_col_child.partner_parallax:nth-child(1) .txt_partner_parallax,
body:not(.fl-builder-edit) .parallax_col_child.partner_parallax:nth-child(4) .txt_partner_parallax{
    bottom: -170px;
    position: absolute;
    right: 0;
}
body:not(.fl-builder-edit) .parallax_col_child.partner_parallax:nth-child(2),
body:not(.fl-builder-edit) .parallax_col_child.partner_parallax:nth-child(5){
    position: relative;
    top:-68px;
    z-index: 1;
}
body:not(.fl-builder-edit) .parallax_col_child.partner_parallax:nth-child(2) .img_partner_parallax,
body:not(.fl-builder-edit) .parallax_col_child.partner_parallax:nth-child(5) .img_partner_parallax{
    float: left;
    margin-left: 235px;
}
body:not(.fl-builder-edit) .parallax_col_child.partner_parallax:nth-child(2) .txt_partner_parallax,
body:not(.fl-builder-edit) .parallax_col_child.partner_parallax:nth-child(5) .txt_partner_parallax{
    bottom: -36px;
    position: absolute;
    left: 0px;
}
body:not(.fl-builder-edit) .parallax_col_child.partner_parallax:nth-child(3){
    margin-top:32px;
    margin-bottom:16px;
}
body:not(.fl-builder-edit) .parallax_col_child.partner_parallax:nth-child(3) .img_partner_parallax{
    float: right;
    margin-right: 220px;
}
body:not(.fl-builder-edit) .parallax_col_child.partner_parallax:nth-child(3) .txt_partner_parallax{
    bottom: 134px;
    position: absolute;
    right: 0px;
}

/*  TABLET, and down  */
@media only screen and (max-width: 992px) {
    .fl-post .largeheight.parallax_img img{
        height:400px;
    }
    body:not(.fl-builder-edit) .fl-post .parallax_img .fl-photo-content{
        top:120px;
    }
}
/*  MOBILE, only  */
@media only screen and (max-width: 768px) {
    body:not(.fl-builder-edit) .img_parallax{
        opacity: 1;
        pointer-events: all;
        /* padding-top:26px; */
    }
    .parallax_img img{
        position:static;
    }
    .parallax_img,  body:not(.fl-builder-edit) .parallax_img div{
        height:auto;
        display: block;
    }
    .fl-post .largeheight.parallax_img img{
        height: 360px;
        width:100%;
        margin: auto;
        display: block;
    }
    .parallax_col>.fl-col-content>.fl-col-group{
        gap:0px;
    }
    .parallax_col_child{
        min-height:auto;
    }
    .text_parallax_row  .parallax_col>.fl-col-content>.fl-col-group{
        gap:120px;
    }
    .parallax_col_child .fl-module-button:not(:has( > div)) {
        margin-top: 16px;
    }
}
@media only screen and (max-width: 500px) {
    /***parallax***/
    .fl-post .largeheight.parallax_img img{
        width: 100%;
        height: 260px;
        margin: auto;
        display: block;
    }
    .parallax_img .fl-photo-content::before{
        width:100%;
        height:42px;
        background-position: center;
    }
    .parallax_img .fl-photo-content::after{
        width:48px;
        height:46px;
        background-position: center;
        right:calc(50vw - 126px);
        top:-10px;
    }
    body:not(.fl-builder-edit) .fl-post .parallax_img .fl-photo-content{
        padding-bottom:36px;
    }
}
/**********************************************/
/*  START :: Vertical - Parallax - 2 Columns  */
/**********************************************/