.flex-carousel img{
    width:100%; height:100%;
    object-fit:cover;
    object-position:center;
}

.flex-carousel-contained .swiper{
    border-radius:0.5rem;
    overflow:hidden;
}

.flex-carousel-full .swiper-slide{
    background:linear-gradient(274deg, rgba(62, 116, 143, 1) 0%, rgba(8, 70, 95, 1) 100%);
    min-height:260px;
}

.flex-carousel-full.flex-carousel-small .swiper-slide{
    min-height:200px;
}

.flex-carousel-full .slide-image{ position:absolute; top:0; left:0; width:100%; height:100%; z-index:0; }
.flex-carousel-full .slide-video{ position:absolute; top:0; left:0; width:100%; height:100%; z-index:0; }
.flex-carousel-full .slide-video .video-wrapper{ position:relative; width:100%; height:100%; padding:0; margin:0; }
.flex-carousel-full .slide-video .video-default{ height:100%; }
.flex-carousel-full .slide-video .video-default video, .flex-carousel-full .slide-video .video-wrapper video{ width:100%; min-height:100%; height:auto; object-fit:cover; }
.flex-carousel .overlay{ position:absolute; top:0; left:0; width:100%; height:100%; z-index:10; opacity:0.8; transition:opacity 0.35s ease; }
.flex-carousel .overlay-blue{ background:linear-gradient(274deg, rgba(62, 116, 143, 1) 0%, rgba(8, 70, 95, 1) 100%); }
.flex-carousel .overlay-digital{ background: linear-gradient(274deg, rgba(0, 159, 227, 1) 0%, rgba(5, 131, 185, 0.95) 100%); }
.flex-carousel .overlay-gray{ background:#a7a7aa; }
.flex-carousel .overlay-green{ background:linear-gradient(274deg, rgba(124, 218, 184, 1) 0%, rgba(45, 173, 136, 0.90) 100%); }
.flex-carousel .overlay-purple{ background: linear-gradient(274deg, rgba(145, 143, 199, 1) 0%, rgba(104, 101, 161, 0.90) 100%); }
.flex-carousel .overlay-sunset{ background: linear-gradient(274deg, rgba(229, 140, 23, 1) 0%, rgba(226, 91, 32, 0.90) 100%); }
.flex-carousel .overlay-yellow{ background: linear-gradient(279deg, rgba(255, 187, 97, 1) 0%, rgba(229, 140, 23, 0.90) 100%); }
.flex-carousel .overlay-shadow{
    background:url('../../../img/bg-features-shadow.png') bottom left / contain repeat-x;
}

.flex-carousel .overlay-none{ background:none; }

.flex-carousel-small .overlay{ opacity:0.9; }
/* .flex-carousel-full .swiper-slide img{ mix-blend-mode:multiply; opacity:0.2; } */

.flex-carousel-full .message{
    z-index:20;
    color:#fff;
    font-size:1.25rem;
    line-height:1.2;
    text-align:center;
    width:90%; height:100%;
    max-width:800px;
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    margin:0 auto;
    padding:4rem 0;
    box-sizing:border-box;
}

.flex-carousel h1, .flex-carousel h2{ margin-bottom:0; line-height:1.3; }
.flex-carousel .superheading{ font-size:1.675rem; margin:0 0 0.75rem; color:rgba(255,255,255,.75); }
.flex-carousel .subheading{ font-size:1.25rem; margin:0.75rem 0 0; color:#C4DDE9; color:rgba(255,255,255,.75); }
.flex-carousel .action{ margin-top:1rem; }

.flex-carousel-contained .message{
    position:absolute;
    z-index:20;
    color:#fff;
    left:0; bottom:0;
    padding:0 2rem 2rem;
    font-size:1.25rem;
    /* text-shadow:0px 0px 5px rgba(0,0,0,0.6); */
}

.flex-carousel-contained:hover .overlay{ opacity:0.7; }

.flex-carousel-contained h2{ font-size:2rem; }
.flex-carousel-contained .subheading{
    margin:0;
}

.flex-carousel .swiper-btn{
    width:26px; height:26px;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    background:rgba(0,0,0,.375);
    transition:all 0.2s ease;
    /* border:1px solid #fff; */
    cursor:pointer;
}

.flex-carousel .swiper-btn:hover{
    transform:scale(1.05);
    background:rgba(0,0,0,.675);
}

.flex-carousel .swiper-btn:active{
    transform:scale(0.95);
}

.flex-carousel .swiper-btn:after{ display:none; }

.flex-carousel .swiper-btn svg{
    display:block;
    fill:#fff;
    width:16px;
    position:relative;
}

.flex-carousel .swiper-btn svg path{ fill:#fff; }

.flex-carousel .swiper-button-prev svg{ left:-1px; }
.flex-carousel .swiper-button-next svg{ right:-1px; }

.flex-carousel-contained .swiper-button-prev{ left:1rem; }
.flex-carousel-contained .swiper-button-next{ right:1rem; }

/* .flex-carousel .container img{ max-height:600px; } */
.swiper-slide { height: auto; }

.flex-carousel-contained .swiper, .flex-carousel-contained .swiper-wrapper{
    /* max-height:600px; */
    /* aspect-ratio:16/9; */
    aspect-ratio:2.39/1;
}

.flex-carousel-full .swiper, .flex-carousel-full .swiper-wrapper{
    max-height:600px;
}


.flex-carousel-full .swiper-controls{
    position: absolute;
    width:90%;
    max-width:1200px;
    left:50%;
    transform:translateX(-50%);
    z-index:2;
    display:flex;
    justify-content:space-between;
    align-items:center;
    bottom:1rem;
}

.flex-carousel-full .swiper-controls .swiper-pagination{
    position:relative;
    text-align:left;
    bottom:auto;
}

.swiper-controls .swiper-pagination .swiper-pagination-bullet{ background-color:rgba(0,0,0,.65); opacity:1; }
.swiper-controls .swiper-pagination .swiper-pagination-bullet-active{
    background-color:#7fa7cc;
}

.flex-carousel-full .swiper-btn-nav{
    display:flex;
    gap:1.25rem;
}

.flex-carousel-full .swiper-btn{
    position:relative;
    top:inherit; margin:0;
    left:auto;
}

@media screen and (min-width:768px){
    .flex-carousel-full h1, .flex-carousel-full h2{ font-size:2.75rem; }
    .flex-carousel-full .swiper-slide{
        min-height:540px;
    }

    .flex-carousel-full.flex-carousel-small .swiper-slide{
        min-height:320px;
    }

    .flex-carousel .swiper-btn{
        width:32px; height:32px;
    }

    .flex-carousel .swiper-btn svg{ width:20px; }
}

@media screen and (max-width:767px){
    .flex-carousel-contained .swiper, .flex-carousel-contained .swiper-wrapper{
        aspect-ratio:16/9;
    }

    .flex-carousel-contained .swiper .slide-image{ height:100%; }
    .flex-carousel-contained .message{ padding:0 1rem 1rem; }
    .flex-carousel-contained .swiper .swiper-slide h2{ font-size:1.125rem; } 
    .flex-carousel-contained .swiper .subheading{ font-size:0.875rem; }

    .flex-carousel-full .swiper-controls{ padding:0; }
}