/* 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 {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}
.banner_module.banner-type2 .container,
.banner_module.banner-type3 .container {
    align-items: flex-end;
}
.banner_module .caption {
    font-size: calc(var(--fontsize_s) * var(--text-scaler));
    line-height: calc(var(--lineh_s) * var(--text-scaler));
    margin-top: 0.4rem;
    text-align: right;
}
.banner-type4 .caption {
    color: var(--textclr1);
    max-width: 172rem;
    padding: 0 8rem;
    margin: 0 auto;
}
.banner_2 .container,
.banner_1 h1,
.banner_1 p {
    max-width: 57.5rem;
}
.banner_2 * {
    color: var(--clr2);
}
.banner_module .btn + .btn {
    margin-left: 2.4rem;
}
.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 {
    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,
.banner_module.banner-with-animation .container {
    padding-top: 8rem;
    padding-bottom: 8rem;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
}
.banner_module.center .banner_1_right .media-container figure,
.banner_module.center .hasmedia .banner_1_left,
.banner_module.banner-with-animation .banner_1_left,
.banner_module.center .media-container figure {
    height: var(--viewport-height, 100dvh);
}

.banner_module.center.smaller-height .banner_1_right .media-container figure,
.banner_module.center.smaller-height .hasmedia .banner_1_left,
.banner_module.banner-with-animation.smaller-height .banner_1_left,
.banner_module.center.smaller-height .media-container figure {
    height: 77.6rem;

}
.banner_module.center .banner_2 .container,
.banner_module.center .banner_1 h1,
.banner_1 p {
    max-width: 100%;
    width: 100%;
}
.banner_module h1 {
    margin-bottom: 2.4rem;
}
.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: var(--viewport-height, 100dvh) !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 .banner-text {
    margin-top: 3rem;
}
section.banner_module.banner-type2,
section.banner_module.banner-type3 {
    padding: 8rem 0;
}
.banner_module.banner-type2 .banner_1_right .media-container figure {
    height: auto;
    padding-bottom: 100%;
}
.banner_module.banner-type2 .banner_1_left {
    display: flex;
    align-items: center;
}
.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-type2.reverse .container,
.banner-type3.reverse .container {
    flex-direction: row-reverse;
}

.banner-type2 .container,
.banner-type3 .container {
    column-gap: 4.8rem;
}

.banner-type3 .banner_module .hasmedia .banner_1_right,
.banner-type3 .banner_module .hasmedia .banner_1_left {
    width: calc(50% - 2.4rem);
}

.banner-type3 .banner_1_right .media-container figure {
    height: auto;
    padding-bottom: 56vw;
}

.banner-columns-wrapper {
    display: flex;
    column-gap: 2.4rem;
    width: 100%;
    justify-content: space-between;
    align-items: flex-end;
}



.banner-bookmark-columns-wrapper {
    display: flex;
    column-gap: 2.4rem;
    width: 100%;
    justify-content: space-between;
    height: 61.6rem;
    align-items: flex-end;
}

.banner-bookmark-columns-wrapper .badge-text {
    background: #cee6c1;
    border-radius: 6rem;
    padding: 0.8rem 1.2rem;
    color: var(--textclr1);
    font-size: var(--Typeface-Size-Body-Small, 14px);
    font-weight: 500;
    display: inline-block;
}

.banner-bookmark-columns-wrapper .left {
    max-width: 74.7rem;
}

.banner-bookmark-columns-wrapper .right {
    width: 48.8rem;
    padding: 2.3rem 0 2.3rem 4rem;
    border-left: 1px solid #FFF;
}

.banner-bookmark-columns-wrapper .right .btn {
    width: 100%;
    justify-content: space-between;
    margin-top: 4rem;
}

.banner-bookmark-columns-wrapper .right .bookmark-info {
    margin-bottom: 2.4rem;
    margin-top: 0;
}

.banner-bookmark-columns-wrapper .right .bookmark-info:last-of-type {
    margin-bottom: 0;
}

.banner-bookmark-columns-wrapper .right .icon-save {
    position: absolute;
    right: 0;
    width: 5rem;
    height: 5rem;
    margin-top: 0.8rem;
}

.banner-bookmark-columns-wrapper .right .icon-save svg {
    width: 5rem;
    height: 5rem;
}

.banner-bookmark-columns-wrapper .right .icon-save:not(.disable) svg path {
    stroke: #FFF;
}

.banner-bookmark-columns-wrapper .left h1 {
    margin-top: 3.2rem;
}

.banner-columns-wrapper .banner1_inner {
    width: calc(50% - 1.2rem);
}

.banner-columns-wrapper .banner1_inner.right {
    text-align: right;
}

.banner1_inner--limited {
    max-width: 65rem;
}

.banner-type2 .banner1_inner--limited {
    max-width: 62rem;
}

.banner_module.blur-text .banner1_inner {
    background: rgba(255, 255, 255, 0.03);
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    border-radius: 2.4rem;
    padding: 8rem;
    max-width: 67.2rem;
}

.banner_module.blur-text .banner1_inner h1 {
    margin-bottom: 1.6rem;
}

.blur-text p {
    margin: 1.6rem 0;
}

.banner-text + .btn {
    margin-top: 2.4rem;
}

.blur-text .banner-text + .btn {
    margin-top: 1.6rem;
}
@media screen and (min-width: 1001px) {
    .banner_module.banner-type4:not(.smaller-height) .banner_1_right .media-container figure,
    .banner_module.banner-type4:not(.smaller-height) .hasmedia .banner_1_left,
    .banner_module.banner-type4:not(.smaller-height) .banner_1_left,
    .banner_module.banner-type4:not(.smaller-height) .media-container figure,
    .banner_module.banner-type4:not(.smaller-height) .banner_1_right .media-container figure img,
    .banner_module.banner-type4:not(.smaller-height) .banner_1_right .media-container figure video {
        min-height: 75rem;
    }
}
@media screen and (max-width: 1000px) {
    .banner_module.center.smaller-height .banner_1_right .media-container figure,
    .banner_module.center.smaller-height .hasmedia .banner_1_left,
    .banner_module.banner-with-animation.smaller-height .banner_1_left,
    .banner_module.center.smaller-height .media-container figure {
        height: 40rem;
    }
    .banner-bookmark-columns-wrapper .right {
        width: 70rem;
    }
    .banner-bookmark-columns-wrapper {
        height: 45rem;
    }
    .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; */
    }
    section.banner_module.banner-type2,
    section.banner_module.banner-type3 {
        padding-bottom: 2.4rem;
        padding-top: 1.6rem;
    }
    .banner-type2 .container,
    .banner-type2.reverse .container,
    .banner-type3 .container,
    .banner-type3.reverse .container {
        flex-direction: column-reverse;
        row-gap: 4rem;
    }
    .banner-type3 .banner1_inner,
    .banner_module .hasmedia .banner_1_right {
        margin-top: 0;
    }
    .banner_module.banner-type2 .container {
        /*flex-direction: column;*/
        /*row-gap: 1.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;
        padding: 0;
    }
    .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-bottom: 1.6rem;
    }

    .banner_module.center .container,
    .banner_module.banner-with-animation .container {
        padding-top: 2.4rem;
        padding-bottom: 2.4rem;
    }

    .banner-type4 .caption {
        padding: 0 1.6rem;
    }

    .banner-columns-wrapper {
        flex-direction: column;
        row-gap: 2.4rem;
    }

    .banner-columns-wrapper .banner1_inner {
        width: 100%;
    }

    .banner-columns-wrapper .banner1_inner.right {
        text-align: left;
    }

    .banner-type2 .banner1_inner--limited {
        max-width: 100%;
    }

    .banner_module.blur-text .banner1_inner {
        border-radius: 0;
        padding: 2.4rem 1.6rem;
        margin-left: -1.6rem;
        margin-right: -1.6rem;
        max-width: calc(100% + 3.2rem);
        width: calc(100% + 3.2rem);
    }

    .banner_module.center.blur-text .container {
        padding-bottom: 0;
    }
}
@media screen and (max-width: 768px) {
    .banner-bookmark-columns-wrapper {
        height: auto;
        flex-direction: column;
        align-items: unset;
        padding-top: 14.2rem;
    }
    .banner-bookmark-columns-wrapper .right {
        padding: 1.9rem 1.6rem;
        border-left: 0;
        border-top: 1px solid #FFF;
        width: auto;
    }
    .banner-bookmark-columns-wrapper .right .btn {
        margin-top: 2.4rem;
    }
    .banner-bookmark-columns-wrapper .right .icon-save {
        right: 1.6rem;
    }
    .banner-bookmark-columns-wrapper .left h1 {
        margin-top: 2.4rem;
    }
}
