#banner-area {
    position: absolute;
    width: 100vw;
    min-width: 1632px;
    height: 41.67vw;
    min-height: 680px;
    pointer-events: none;
    opacity: 0.7;
    background: #000;
    z-index: 0;
    top: 0;
}

.rl-banner-other {
    min-height: 41vw;
    height: inherit;
}

.rl-banner-text {
    font-size: calc(2.875vw + 26.8px);
    line-height: 1.1;
}

.rl-feature-banner-desc {
    font-size: calc(0.6944444444444444vw + 14.666666666666666px);
}

.rl-banner-button {
    padding: 11px 20px;
}


.rl-banner-description {
    flex: 9;
}

.over-face {
    display: flex;
    flex-wrap: nowrap;
}

.img-gallery-container {
    display: flex;
    margin: 0 -10px;
}

.img-gallery-item {
    flex: 1;
    margin: 0 10px;
}

.lower-face .img-gallery-item {
    max-width: calc(25% - 25px);
}

.rl-play-wrapper.rl-play-wrapper-right-bottom {
    top: unset;
    bottom: 30px;
    left: unset;
    right: 40px;
}

.img-gallery-item .rl-play-wrapper {
    transform: scale(0.6);
    bottom: 0px;
    top: unset;
    left: unset;
    right: 0px;
}

.img-gallery-item .rl-rel:hover .rl-play-wrapper {
    transform: scale(0.7);
}

.img-gallery-item-title {
    font-size: calc(0.125vw + 16.6px);
    margin-top: 20px;
    margin-bottom: 0px;
    line-height: 1.3;
    font-weight: 300;
}

.facial-performance {
    background-image: url(../../images/3d-facial-expression/banner_Lipsync.jpg);
    height: calc(10vw + 208px);
    background-size: cover;
    background-position: 30% 50%;
    background-repeat: no-repeat;
}

.facial-performance-text {
    height: 100%;
}

.facial-performance-play-button {
    height: 100%;
    display: block;
}

.facial-performance-video {
    position: relative;
}

.facial-mocap {
    background-image: url(../../images/3d-facial-expression/banner_Facial-Mocap.jpg);
    height: calc(10vw + 208px);
    background-size: cover;
    background-position: 30% 50%;
    background-repeat: no-repeat;
}

.essential-expression-assets {
    background-image: url(../../images/3d-facial-expression/banner_Expression-Assets.jpg);
    height: calc(10vw + 208px);
    background-size: cover;
    background-position: 30% 50%;
    background-repeat: no-repeat;
}

.grid-system-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(3, auto);
    column-gap: calc(100%/15);
}

.grid-system-2>*:nth-child(2) {
    grid-row: 2;
}

.grid-system-2>*:nth-child(3) {
    grid-row: 3;
}

.grid-system-2>*:nth-child(4) {
    grid-row: 4;
}

.custom-flex-layout {
    display: flex;
}

.rl-arrow-up {
    transform: rotate(180deg);
}

/* custom */
.rl-grid {
    display: grid;
}

.rl-grid-align-center {
    align-items: center;
}

@media screen and (max-width: 1360px) {
    .over-face {
        flex-direction: column;
    }

    .img-gallery-item, .lower-face .img-gallery-item {
        max-width: calc(33.333% - 20px);
    }
}

@media screen and (max-width: 1350px) {
    .rl-banner-other {
        height: 50vw;
    }
}

@media screen and (max-width: 1200px) {
    .iframe-bg-wrapper {
        right: calc(-26.041666666666668vw + 500px);
    }
}

@media screen and (max-width: 1069px) {
    .rl-banner-other {
        height: 60vw;
    }
}

@media screen and (max-width: 991px) {
    .rl-banner-other {
        height: 83vw;
    }

    .rl-banner-description {
        flex: 15;
    }
}

@media screen and (max-width: 767px) {
    #banner-area,
    .iframe-bg-wrapper {
        background-color: transparent;
    }

    .rl-feature-banner-desc {
        font-size: calc(0.8928571428571428vw + 13.142857142857142px);
    }

    .rl-banner-button {
        padding: calc(0.4464285714285714vw + 4.571428571428571px) calc(4.464285714285714vw + 25.714285714285715px);
    }

    .rl-banner-other {
        background-position: 50% 50%;
        background-image: url(../../images/3d-facial-expression/main-banner-mobile.jpg);
        height: initial;
        min-height: inherit;
    }

    .rl-banner-mobile-centerbot {
        justify-content: center;
        align-items: flex-end;
        text-align: center;
    }

    .custom-flex-layout {
        flex-direction: column;
        align-items: left;
    }

    .lower-face.img-gallery-container {
        flex-wrap: wrap;
    }

    .img-gallery-item, .lower-face .img-gallery-item {
        min-width: calc(50% - 20px);
    }

    .facial-mocap,
    .essential-expression-assets {
        height: auto;
        background-image: none;
    }

    .facial-performance {
        background-image: none;
        height: auto;
    }

    .facial-performance-text {
        position: unset;
        pointer-events: unset;
    }

    .facial-performance-play-button {
        position: relative;
    }

    .grid-system-2 {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(6, auto);
        column-gap: 0;
    }

    .grid-system-2>* {
        grid-row: unset;
    }

}

@media screen and (max-width: 500px) {
    .img-gallery-container {
        flex-wrap: wrap;
    }

    .img-gallery-item, .lower-face .img-gallery-item {
        min-width: calc(100% - 20px);
    }
}
