/*
--------------------------------------
banner -- container
--------------------------------------
*/

.banner-container {
    font-family : var(--e-global-typography-primary-font-family);
    position    : relative;
    overflow    : hidden;
    height      : 60vh;
    background  : var(--e-global-color-primary, #383838);
}

.home .banner-container {
    height : 100vh;
}

.banner-background-container,
.banner-video-img-container,
.banner-img-container,
.banner-img-container img {
    height : 100%;
}

/*
--------------------------------------
banner -- image or video
--------------------------------------
*/

.banner-container .banner-img-container img {
    width      : 100%;
    /*height: 85vh;*/
    max-width  : 100%;
    object-fit : cover;
}

body:not(.home) .banner-container .banner-img-container img {
    object-position : 100% 70%;
}

.banner-container video {
    height : 70vh;
}

.home .banner-container video {
    height : 100vh;
}

/*
--------------------------------------
banner -- overlay
--------------------------------------
*/

.banner-img-container__default {
    position : relative;
}

.banner-img-container__default .banner-overlay {
    position   : absolute;
    top        : 0;
    right      : 0;
    bottom     : 0;
    left       : 0;
    background : linear-gradient(0deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.15) 100%);
}

.banner-overlay-container {
    position : absolute;
    top      : 0;
    right    : 0;
    bottom   : 0;
    left     : 0;

}

.home .banner-overlay-container {
    background : linear-gradient(
        to bottom,
        rgba(1, 16, 48, 0.9) 0%,
        rgba(1, 16, 48, 0.8) 15%,
        rgba(1, 16, 48, 0.4) 40%,
        rgba(1, 16, 48, 0.3) 45%,
        rgba(1, 16, 48, 0.15) 55%,
        rgba(1, 16, 48, 0.3) 65%,
        rgba(1, 16, 48, 0.4) 80%,
        rgba(1, 16, 48, 0.7) 90%,
        rgba(1, 16, 48, 0.9) 100%
    );
}

body:not(.home) .banner-overlay-container {
    background : linear-gradient(0deg, rgba(0, 0, 0, 0.00) 68.6%, rgba(0, 0, 0, 0.80) 100%),
    linear-gradient(239deg, rgba(0, 0, 0, 0.20) 42.01%, rgba(0, 0, 0, 0.80) 76.04%);
}

/*
--------------------------------------
banner -- content
--------------------------------------
*/

/*Text*/

.banner-container .banner-text-container {
    position  : absolute;
    top       : 55%;
    left      : 50%;
    transform : translate(-50%, -50%);
    z-index   : 7;
    width     : 100%;
}

.banner-container .banner-text-inner {
    display        : flex;
    flex-direction : column;
    max-width      : 90%;
    margin         : auto;
}

/*Subhead*/

.banner-container .banner-subhead-container .banner-subhead {
    font-family    : var(--e-global-typography-032f926-font-family), sans-serif;
    font-size      : 22px;
    font-weight    : 400;
    color          : #FFFFFF;
    text-transform : uppercase;
}

/*Title*/

.banner-container .banner-title {
    font-family    : var(--e-global-typography-primary-font-family), sans-serif;
    font-size      : clamp(1.875rem, 1.4375rem + 2.1875vw, 4.0625rem);
    font-weight    : 600;
    line-height    : 100%;
    color          : #FFFFFF;
    letter-spacing : -1.8px;
}

body:not(.home) .banner-container .banner-title {
    color : #FFFFFF;
}

/*Description*/

.banner-container .banner-description-container {
    max-width   : 60%;
    padding-top : 1.5em;
}

.banner-container .banner-description {
    font-family : var(--e-global-typography-secondary-font-family), sans-serif;
    font-size   : 18px;
    font-weight : 300;
    line-height : 160%;
    color       : rgba(255, 255, 255, 0.40);
    max-width   : calc(350px + (600 - 350) * ((100vw - 320px) / (1920 - 320)));
}

.home .banner-container .banner-description {
    max-width : calc(350px + (1000 - 350) * ((100vw - 320px) / (1920 - 320)));
}

/*USP*/

.banner-container .usp-items-container {
    display     : flex;
    align-items : center;
    gap         : calc(5px + (50 - 5) * ((100vw - 320px) / (1920 - 320)));
}

.banner-container .usp-item {
    display     : flex;
    align-items : center;
    gap         : 10px;
}

.usp-item-img-container {
    display     : flex;
    align-items : center;
    height      : 61px;
}

.banner-container .usp-item .usp-item-title-container {
    font-family    : var(--e-global-typography-text-font-family), sans-serif;
    font-size      : 18px;
    font-weight    : 400;
    line-height    : 24px;
    color          : #FFFFFF;
    text-transform : uppercase;
}

/*btn*/

.banner-btn-container.banner-btns-container {
    display : flex;
    gap     : 20px;
}

.banner-btn-container {
    display     : flex;
    padding-top : 3em;
}

.banner-btn-container .banner-btn {
    font-family     : var(--e-global-typography-text-font-family), sans-serif;
    font-size       : 16px;
    font-weight     : 400;
    line-height     : 1;
    text-align      : center;
    display         : inline-flex;
    justify-content : center;
    align-items     : center;
    width           : 200px;
}

/*
--------------------------------------
banner -- additional img
--------------------------------------
*/

.banner-additional-img-container {
    display         : inline-flex;
    justify-content : center;
    margin-bottom   : calc(12px + (24 - 12) * ((100vw - 320px) / (1920 - 320)));
}

.banner-additional-img-container img {
    max-width  : 20%;
    object-fit : contain;
}

/*
--------------------------------------
Animation Title
--------------------------------------
*/

body:not(.elementor-editor-active) .banner-text-inner,
body:not(.elementor-editor-active) .s-main-banner .banner-text-container,
body:not(.elementor-editor-active) .section-text__container {
    opacity    : 0;
    transform  : translateY(50px);
    transition : transform 0.5s, opacity 0.5s;
}

body:not(.elementor-editor-active) .banner-text-inner--is-visible,
body:not(.elementor-editor-active) .s-main-banner .banner-text-container--is-visible,
body:not(.elementor-editor-active) .section-text__container--is-visible {
    opacity   : 1;
    transform : translateY(0);
}

/*
--------------------------------------
Animation d'apparition
--------------------------------------
*/

body:not(.elementor-editor-active) .animated-text-from-left {
    opacity   : 0;
    transform : translateX(-50px);
}

body:not(.elementor-editor-active) .animated-text-from-right {
    opacity   : 0;
    transform : translateX(50px);
}
