.g_mainslider_container{
    height: 100vh; background: var(--g-blue);
}

.g_mainslider_container .g_banner_canvas{
    background: url(/prod-fr-fr/s3fs-public/slider_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    width: 20%;
    padding: 0;
    height: 100vh;
}

.g_mainslider_container .mainslider_wrapper{
    width: 100%;
    display: block;
    position: relative;
    padding: 0;
}

.g_mainslider_container .mainslider .mainslider_item {
    height: 100vh;
}

.g_mainslider_container .mainslider{
    overflow-y:visible; 
    overflow-x:hidden !important;
}

.g_mainslider_container .mainslider img{
    width: 100%;
    height: 100vh;
    -webkit-transition: all 0.45s ease-in-out;
    transition: all 0.45s ease-in-out; 
    object-fit: cover;
}

.mainslider_caption_container{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    height: 100%;
}

.mainslider_caption_container .mainslider_caption{
    background: #fff;
    -webkit-transition: all 0.45s ease-in-out;
    transition: all 0.45s ease-in-out;
    overflow: hidden;
    padding: 35px;
    height: auto;
    position: relative;
    left: 25%;
    border-radius: 8px;
    width: calc(400px + 10vw);
    top: 28%;
    /* opacity: 0; */
}

.mainslider_caption_container .mainslider_caption h2{
    color: #0113C4;
    font-weight: 700; font-size: clamp(1.25, 2.5vw, 2.25rem); line-height: clamp(2rem, 2.5vw, 3rem); margin-bottom: 0.5rem;
}

.g_mainslider_container .mainslider_wrapper .banner-asset-slider{
    position: absolute;
    width: 100%;
    bottom: 10px; left: 0;
    overflow: hidden;
    padding: 0;
}

.banner-asset-slider-item{
    background: var(--g-dark-70);
    padding: 10px;
    border-radius: 8px;
    border-bottom: 3px solid transparent;
    height: auto!important;
}

.banner-asset-slider-item{
    height: 100%;
}

.banner-asset-slider-item:hover{
    border-color: #C20AFF;
}

.banner-asset-slider .slider-asset-title{
    color: #ffffff;
    font-size: clamp(0.6rem, 2.5vw, 0.875rem); line-height: 1.25rem;
    font-weight: 500;
    margin-bottom: 0;
}

.slider-asset-link{
    color: #ffffff;
    font-size: .7rem;
    font-weight: 400;
    text-decoration: underline;
}

.slider-asset-link:hover{
    color: #ffffff;
}

.g_mainslider_container .mainslider_wrapper .swiper-pagination-vertical.swiper-pagination-bullets, .g_mainslider_container .mainslider_wrapper .swiper-vertical>.swiper-pagination-bullets {
    right: var(--swiper-pagination-right, auto)!important;
    left: var(--swiper-pagination-left, 90px)!important;
    top: 55%;
    transform: translate3d(0px, -50%, 0);
    width: auto;
}

.g_mainslider_container .mainslider_wrapper .swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, 
.g_mainslider_container .mainslider_wrapper .swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{
    border: 1px solid #ffffff50; opacity: 1; background: var(--g-dark-50); margin-bottom: 5px;
}
.g_mainslider_container .mainslider_wrapper .swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active, 
.g_mainslider_container .mainslider_wrapper .swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active{ border: 0; background: var(--g-blue);}

.g_mainslider_container .mainslider_wrapper .swiper-pagination-bullet{
    /* background: #ffffff; */
    height: 50px;
    width: 5px;
    border-radius: 0;
}

/* .g_mainslider_container .mainslider_wrapper .swiper-pagination-bullet-active{
    box-shadow: 0 0 4px 4px #eee;
} */

@media screen and (max-width: 767px){
    .g_mainslider_container {
        height: auto;
        background: #ffffff;
    }

    .mainslider_caption_container{
        background: none;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        position: relative;
        top: -50px;
    }

    .mainslider_caption_container .mainslider_caption{
        width: calc(100% - 10vw);
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        height: auto;
        border: 1px solid #ddd;
        transition: all .2s ease;
    }

    .g_mainslider_container .mainslider_item.swiper-slide.swiper-slide-active .mainslider_caption_container .mainslider_caption{
        display: block;
    }

    .g_mainslider_container .mainslider_item.swiper-slide.swiper-slide-prev .mainslider_caption_container .mainslider_caption{
        display: none;
    }

    .g_mainslider_container .mainslider img{
        height: 432px;
    }

    .g_mainslider_container .mainslider .mainslider_item {
        height: inherit;
    }

    .g_banner_canvas{
        display: none;
    }

    .g_mainslider_container .mainslider_wrapper{
        width: 100%;
    }

    .banner-asset-slider{
        display: none;
    }
}

@media screen and (min-width: 991px) and (max-width: 1440px){
    /* .mainslider_caption_container .mainslider_caption{
        height: 330px;
    } */

    .slider-asset-link{
        font-size: .58rem;
    }
    
    .mainslider_caption_container .mainslider_caption h2{
        font-size: 1.75rem;
    }
}

@media screen and (min-width: 991px) and (max-width: 1199px){
    .mainslider_caption_container .mainslider_caption{
        left: 20%;
    }
}

@media screen and (min-width: 1200px) and (max-width: 1440px){
    .mainslider_caption_container .mainslider_caption{
        left: 10%;
    }

    .g_mainslider_container .mainslider_wrapper .swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .g_mainslider_container .mainslider_wrapper .swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{
        margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 2%!important;
    }

    .g_mainslider_container .mainslider_wrapper .swiper-pagination-vertical.swiper-pagination-bullets, .g_mainslider_container .mainslider_wrapper .swiper-vertical>.swiper-pagination-bullets{
        left: var(--swiper-pagination-left, 28px) !important;
    }
}

@media screen and (max-width: 991px){
    .banner-mobile{
        display: block;
    }

    .banner-desktop{
        display: none;
    }

    .swiper-pagination{
        display: none;
    }
}

@media screen and (min-width: 992px){
    .banner-mobile{
        display: none;
    }

    .banner-desktop{
        display: block;
    }
}