/* Default css */
section.banner_module {
    padding: 0;
}
section.banner_module.reverse .banner_1 {
    flex-direction: row-reverse;
}
.banner_module p.h3 {
    margin: 2rem 0 4rem 0;
}
.banner_module video {
    max-width: unset;
}
.banner_module .container {
    padding-top: 17.3rem;
    padding-bottom: 13.2rem;
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}
.banner_2 .container,
.banner_1 h1,
.banner_1 p {
    max-width: 57.5rem;
}
.banner_2 * {
    color: var(--clr2);
}
.banner_module .btn {
    color: white;
    border-color: var(--clr1);
}
.banner_module h1,
.banner_module h2,
.banner_module p.label {
    margin-top: 0;
}
.banner1_inner {
    position: relative;
}
.banner_1.hasmedia {
    display: flex;
}
.banner_module .hasmedia .banner_1_right,
.banner_module .hasmedia .banner_1_left {
    width: 50%;
}
.banner_module.center .banner1_inner {
    text-align: center;
    z-index: 2;
}
.banner_module .hasmedia .banner_1_right,
.banner_module .hasmedia .banner_1_left {
    width: 50%;
}
.banner_module.center .hasmedia .banner_1_right,
.banner_module.center .hasmedia .banner_1_left {
    width: 100%;
}
.banner_module.center .container {
    flex-direction: column;
    justify-content: center;
}
.banner-type4.banner_module.center .container {
    align-items: flex-start;
}
.banner-type4.banner_module.center .banner1_inner {
    text-align: left;
}
.banner_module.center .banner_1_right .media-container figure,
.banner_module.center .hasmedia .banner_1_left,
.banner_module.center .media-container figure {
    height: 100vh;
}
.banner_module.center .banner_2 .container,
.banner_module.center .banner_1 h1,
.banner_1 p {
    max-width: 100%;
    width: 100%;
}
.banner_module.center .banner_1 h1 {
    margin-bottom: 2.9rem;
}
.banner_module.center .banner_1 p {
    margin-top: 0;
}
.banner_module.center .hasmedia .banner_1_right {
    position: absolute;
}
.banner_module.center .banner_1_right .media-container figure img,
.banner_module.center .banner_1_right .media-container figure video {
    height: 100vh !important;
    object-fit: cover !important;
}
.banner_1_right .media-container figure {
    margin: 0;
    position: relative;
    height: 72rem;
    width: 100%;
}
.banner_1_right .media-container figure img,
.banner_1_right .media-container figure video {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
    object-fit: cover;
    object-position: center;
}
/* Banner type 2*/
.banner-type2 .banner_1 h1 {
    max-width: unset;
}
.banner-type2 .banner1_inner {
    z-index: 2;
}
.banner-type2 .banner1_inner h1 {
    margin-right: -100%;
}
.banner-type2 .banner-text {
    margin-top: 3rem;
}
section.banner_module.banner-type2 {
    padding: 10rem 0;
}
.banner_module.banner-type2 .banner_1_right .media-container figure {
    height: 50rem;
}
.banner_module.banner-type2 .banner_1_left {
    display: flex;
    align-items: center;
}
.banner_module.banner-type2 .container {
    padding: 5rem 5rem 5rem 0;
}
.banner_module.banner-type2 .banner_1 {
    position: relative;
    max-width: 130rem;
    margin: 0 auto;
}
.banner-type2.reverse .banner1_inner h1 {
    margin-left: -100%;
    text-align: right;
    margin-right: 0;
}
.banner-type2.reverse .banner-text p {
    text-align: right;
    margin-left: auto;
}
/* Banner type 3 */
.banner_module.banner-type3 {
    padding: 27rem 0 6.4rem;
}
.banner_module.banner-type3 .banner_1 {
    position: relative;
    max-width: 136rem;
    margin: 0 auto;
    display: block;
}
.banner_module.banner-type3 .hasmedia .banner_1_left {
    width: 100%;
    padding: 0;
}
.banner_module.banner-type3 .hasmedia .banner_1_left .container {
    display: block;
    padding: 0;
}
.banner-type3 .hasmedia .banner_1_right {
    width: 100%;
    margin: 5rem 0 0;
}
.banner-type3 .banner_1_right .media-container figure {
    height: 63.8rem;
}

.banner_module.banner-type3 .banner1_inner h1 {
    margin: 0 0 3.2rem;
    max-width: 100%;
}

.banner_module.banner-type3 .banner1_inner .banner-text {
    max-width: 76.5rem;
}

.banner-logo-first {
    display: block;
    height: auto;
}

.banner-logo-first {
    width: 84.3rem;
}

.scroll-arrow-wrap {
    position: absolute;
    bottom: 5rem;
    left: 0;
    width: 100%;
    pointer-events: none;
    z-index: 5;
}

.scroll-arrow-wrap .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.scroll-arrow {
    pointer-events: all;
    padding: 0;
    background-color: transparent;
    border: none;
    cursor: pointer;
}

.scroll-arrow svg {
    width: 4.5rem;
    height: 1.9rem;
    stroke: var(--text-color);
    display: none!important;
}

@media screen and (max-width: 1000px) {
    .banner_module .hasmedia .banner_1_right,
    .banner_module .hasmedia .banner_1_left {
        width: 100%;
    }
    section.banner_module.reverse .banner_1,
    .banner_1.hasmedia {
        flex-direction: column-reverse;
    }
    .banner-type3 .banner1_inner,
    .banner_module .hasmedia .banner_1_right {
        margin-top: 0;
    }
    .banner-type2 .banner1_inner h1 {
        margin-right: 0;
        width: 90%;
        margin-top: -25%;
    }
    .banner_module.banner-type2 .container {
        padding: 0 1.5rem 6rem;
    }
    .banner_1_right .media-container figure {
        height: auto;
    }
    .banner-type3 .banner_1_right .media-container figure,
    .banner_module.banner-type2 .banner_1_right .media-container figure {
        height: auto;
    }
    .banner-type3 .container {
        padding-left: 1.6rem;
        padding-right: 1.6rem;
    }
    .banner_1_right .media-container figure img,
    .banner_1_right .media-container figure video {
        position: unset;
        width: 100%;
        height: unset;
        z-index: 1;
        object-fit: unset;
        object-position: unset;
    }
    section.banner_module.banner-type2 {
        padding: 0;
    }
    .banner_module .container {
        padding-top: 7rem;
        padding-bottom: 7rem;
    }
    .banner_module.center .container {
        justify-content: flex-end;
    }
    .banner-type4.banner_module .container {
        padding-bottom: 14.5rem;
    }

    .banner-logo-first {
        width: 29.6rem;
    }
    .banner_module.banner-type3 {
        padding: 16.5rem 0 0;
    }

    .banner_module.banner-type3 .hasmedia .banner_1_left .container {
        padding: 0 3.6rem;
    }

    .banner-type3 .hasmedia .banner_1_right {
        margin: 11.7rem 0 0;
    }

    .banner-type3 .banner_1_right .media-container figure {
        height: 74.8rem;
    }

    .banner-type3 .banner_1_right .media-container figure img,
    .banner-type3 .banner_1_right .media-container figure video {
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: 1;
        object-fit: cover;
        object-position: center;
    }
}
