html,body {
    margin: 0;
    overflow: hidden;
}

body {
    position: relative;
    background-image: url(https://cdn.rwd.to/midnight-train/assets/img/black_bg.jpg);
    background-size: cover;
    background-position: center;

    font-family: 'Noto Sans KR';
    font-weight: 300;
    color: white;
}

button {
    border: none;
    outline: none !important;
    background: none;
    color: white;
    -webkit-appearance: none;
    appearance: none;
    user-select: none;
}

.close-button, .mute-button {
    pointer-events: all;
}

.t-serif {
    font-family: 'Noto Serif KR';
    font-weight: 600;
}

.t-sans {
    font-family: 'Noto Sans KR';
    font-weight: 300;
}

p {
    line-height: 1.69;
    margin-bottom: 2em;
    max-width: 100vw;
    padding: 0 30px;
    word-break: keep-all;
    user-select: none;
}

[v-cloak] {
    display: none !important;
}

@keyframes hide {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes hide-half {
    0% {
        opacity: 1;
    }

    100% {
        opacity: .5;
    }
}

@keyframes hide-half-to-end {
    0% {
        opacity: .5;
    }

    100% {
        opacity: 0;
    }
}

@keyframes show {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.fader-half {
    animation: hide-half .5s ease forwards !important;
}

.fader-half-to-end {
    animation: hide-half-to-end .5s ease forwards !important;
}

.fader {
    animation: hide .5s ease forwards !important;
}

.scene {
    position: absolute;
    width: 447px;
    height: 812px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;

    left: 50%;
    top: 50%;
    transform: translate(-223.5px, -406px);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.scene .content {
    position: relative;
    z-index: 3;
}

.scene-0 {
    background-image: url('https://cdn.rwd.to/midnight-train/assets/img/loading.jpg');
    z-index: 100;
}

.scene-1 {
    background-image: url('https://cdn.rwd.to/midnight-train/assets/img/scn1/door_bg.jpg');
    animation: scene-1-bg-shaking 6s ease infinite;
}

    .scene-1 .door-top {
        position: absolute;
        top: -10px;
        width: 467px;
        height: 88.67px;
        background-image: url(https://cdn.rwd.to/midnight-train/assets/img/scn1/door-top.png);
        background-position: center;
        background-size: contain;
        animation: scene-1-shaking 3s ease infinite;
    }

    .scene-1 .door-left {
        position: absolute;
        left: -10px;
        top: 78.67px;
        width: 233.5px;
        height: 743.33px;
        background-image: url(https://cdn.rwd.to/midnight-train/assets/img/scn1/door-left2.png);
        background-color: rgba(0, 0, 0, .3);
        background-size: cover;
        background-position: right;
        animation: scene-1-shaking 3s ease infinite;
    }
    .scene-1 .door-right {
        position: absolute;
        right: -10px;
        top: 78.67px;
        width: 233.5px;
        height: 743.33px;
        background-image: url(https://cdn.rwd.to/midnight-train/assets/img/scn1/door-right2.png);
        background-color: rgba(0, 0, 0, .3);
        background-size: cover;
        background-position: left;
        animation: scene-1-shaking 3s ease infinite;
    }

    .scene-1 .logo {
        width: 260px;
        margin-top: 70px;
        margin-bottom: 1px;
    }

    .scene-1 .logo-slogan {
        margin-bottom: 247px;
        font-weight: 300;
        font-size: 15px;
    }

    .scene-1 .instruction {
        animation: scene-1-btn-glow 3s ease infinite, show 3s 1s ease forwards;
        font-size: 14px;
        outline: none;
        opacity: 0;
    }

    .scene-1 .dark-cover {
        background-image: url(https://cdn.rwd.to/midnight-train/assets/img/black_bg.jpg);
        background-size: cover;
        background-position: center;
        z-index: 2;
        opacity: 0;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
    }

    @keyframes scene-1-btn-glow {
        0% {
            text-shadow: 0 0 0 white;
            transform: translateY(-10px);
        }

        50% {
            text-shadow: 0 0 10px white;
            transform: translateY(0);
        }

        100% {
            text-shadow: 0 0 0 white;
            transform: translateY(-10px);
        }
    }

    @keyframes scene-1-shaking {
        0% {transform: translate(0, 0);}
        5% {transform: translate(-3px, -3px);}
        15% {transform: translate(-1px, 0px);}
        40% {transform: translate(3px, 2.5px);}
        70% {transform: translate(0px, 1px);}
        90% {transform: translate(-1.5px, 3px);}
        100% {transform: translate(0px, 0px);}
    }

    @keyframes scene-1-bg-shaking {
        0% { background-position: 0 0;}
        10% { background-position: 2px 3px;}
        30% { background-position: 1px -1px;}
        40% { background-position: -1px 2px;}
        60% { background-position: 1px -1px;}
        70% { background-position: 2px 3px;}
        90% { background-position: 1px -1px;}
        100% { background-position: 0 0;}
    }

    .scene-1.step-1 .door-left {
        left: -233.5px;
        transition: all ease-in 1s;
        animation: none;
    }
    .scene-1.step-1 .door-right {
        right: -233.5px;
        transition: all ease-in 1s;
        animation: none;
    }

    .scene-1.step-1 .instruction {
        animation: hide 1s ease-in forwards;
    }

    .scene-1.step-1 .dark-cover {
        animation: show 1s .5s ease-in forwards;
    }



.scene-2 {
    background-image: url(https://cdn.rwd.to/midnight-train/assets/img/black_bg.jpg);
}

    .scene-2 p {
        margin-bottom: 2em;
        line-height: 1.8;
        opacity: 0;
    }

    .scene-2 .info {
        font-size: 14px;
        color: #c1c1c1;
        opacity: 0;
    }

    .scene-2 button {
        margin-top: 60px;
        color: black;
        background: white;
        padding: 5px 31px;
        border-radius: 6px;
        font-weight: 500;
        opacity: 0;
        animation: show .8s 4.8s ease forwards, white-button-glow 2s ease infinite;
    }

    .scene-2 .p1 {animation: show .8s .8s ease forwards;}
    .scene-2 .p2 {animation: show .8s 1.8s ease forwards;}
    .scene-2 .p3 {animation: show .8s 2.8s ease forwards;}
    .scene-2 .info {animation: show .8s 3.8s ease forwards;}

    @keyframes white-button-glow {
        0% {
            box-shadow: 0 0 5px 0 white;
            transform: translateY(0);
        }

        50% {
            box-shadow: 0 0 16px 0 white;
            transform: translateY(-7px);
        }

        100% {
            box-shadow: 0 0 5px 0 white;
            transform: translateY(0);
        }
    }
    @keyframes white-button-glow-inverse {
        0% {
            box-shadow: 0 3px 6px 0 rgba(0,0,0,.16);
            transform: translateY(0);
        }

        50% {
            box-shadow: 0 10px 16px 0 rgba(0,0,0,.1);
            transform: translateY(-7px);
        }

        100% {
            box-shadow: 0 3px 5px 0 rgba(0,0,0,.16);
            transform: translateY(0);
        }
    }

    .scene-2 .ticket-wrap {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 3;
        background-color: rgba(0, 0, 0, .8);
        display: flex;
        justify-content: center;
        align-items: center;
        opacity: 0;

        animation: scene-2-ticket-wrap 1s ease forwards;
    }

    .scene-2 .ticket-left{
        width: 188.67px;
        flex-basis: auto;
        transform: translateY(500px);
        transform-origin: 100% 100%;

        animation: scene-2-ticket-show 1s .3s ease forwards,
                   scene-2-ticket-left .2s 1.5s ease-out forwards;
    }

    .scene-2 .ticket-right {
        width: 74.67px;
        flex-basis: auto;
        transform: translateY(500px);
        transform-origin: 0 100%;
        animation: scene-2-ticket-show 1s .3s ease forwards,
                   scene-2-ticket-right .2s 1.5s ease-out forwards;
    }

    @keyframes scene-2-ticket-wrap {
        0% {
            opacity: 0;
        }
        100% {
            opacity: 1;
        }
    }

    @keyframes scene-2-ticket-show {
        0% {
            transform: translateY(500px);
        }
        70% {
            transform: translateY(-20px);
        }
        100% {
            transform: translateY(0);
        }
    }

    @keyframes scene-2-ticket-left {
        0% { transform: rotate(0); }
        100% { transform: rotate(-20deg); }
    }

    @keyframes scene-2-ticket-right {
        0% { transform: rotate(0); }
        100% { transform: rotate(20deg); }
    }

    .scene-2 .scene-end {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 3;
        background-image: url(https://cdn.rwd.to/midnight-train/assets/img/black_bg.jpg);

        opacity: 0;
        animation: show ease .5s forwards;
    }


    .step-wrap {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0px;
        padding-bottom: 125px;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 2;
    }

.scene-3 .train-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    background-size: cover;
    z-index: 1;
}

.train-bg.train-bg-1 {
    background-image: url('https://cdn.rwd.to/midnight-train/assets/img/train-bg-1.jpg');
}
.train-bg.train-bg-2 {
    background-image: url('https://cdn.rwd.to/midnight-train/assets/img/train-bg-2.jpg');
    opacity: 0;
    animation: show 6s ease forwards;
}
.train-bg.train-bg-3 {
    background-image: url('https://cdn.rwd.to/midnight-train/assets/img/train-bg-3.jpg');
    opacity: 0;
    animation: show 6s ease forwards;
}
.train-bg.train-bg-4 {
    background-image: url('https://cdn.rwd.to/midnight-train/assets/img/train-bg-4.jpg');
    opacity: 0;
    animation: show 6s ease forwards;
}
.train-bg.train-bg-5 {
    background-image: url('https://cdn.rwd.to/midnight-train/assets/img/train-bg-5.jpg');
    opacity: 0;
    animation: show 6s ease forwards;
}

.scene-3 .bg-hands {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background-image: url('https://cdn.rwd.to/midnight-train/assets/img/hands.jpg');
    background-size: cover;
    background-position: bottom;
    opacity: 0;
    animation: show 1s ease forwards;
    z-index: 1;
}
.scene-3 .bg-vital {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background-image: url('https://cdn.rwd.to/midnight-train/assets/img/black_bg.jpg');
    background-size: cover;
    opacity: 0;
    z-index: 2;
    animation: show 1s ease forwards;
}

.scene-3 .bg-foot-1,
.scene-3 .bg-foot-2,
.scene-3 .bg-foot-3,
.scene-3 .bg-foot-4 {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: bottom;
    opacity: 0;
    animation: show 1s ease forwards;
}

.scene-3 .bg-foot-1 {
    background-image: url('https://cdn.rwd.to/midnight-train/assets/img/foot-1.jpg');
    z-index: 1;
}
.scene-3 .bg-foot-2 {
    background-image: url('https://cdn.rwd.to/midnight-train/assets/img/foot-2.jpg');
    z-index: 2;
}
.scene-3 .bg-foot-3 {
    background-image: url('https://cdn.rwd.to/midnight-train/assets/img/foot-3.jpg');
    z-index: 1;
}
.scene-3 .bg-foot-4 {
    background-image: url('https://cdn.rwd.to/midnight-train/assets/img/foot-4.jpg');
    z-index: 2;
}

    .scene-3 .train {
        width: 2038px;
        height: 832px;
        background-image: url('https://cdn.rwd.to/midnight-train/assets/img/Train-light-on.gif');
        background-size: 2038px 832px;
        background-position: 0 50%;
        animation: scene-3-train-shaking 3s infinite;
        position: absolute;
        left: 0;
        z-index: 1;
    }

    .scene-3 .btn-wrap {
        position: fixed;
        bottom: 143px;
        left: 0;
        right: 0;

        z-index: 4;

        display: flex;
        justify-content: center;
    }

    .white-btn {
        color: black;
        background: white;
        padding: 5px 31px;
        margin-bottom: 20px;
        border-radius: 6px;
        font-weight: 500;
        opacity: 0;
        animation: show .8s 4.8s ease forwards, white-button-glow 2s ease infinite;
    }

    @keyframes light-glow {
        0% { opacity: 1; }
        50% { opacity: .5; }
        100% { opacity: 1; }
    }

    @keyframes scene-3-train-shaking {
        0% {transform: translate(0, 0)}
        5% {transform: translate(-2px, -2px);}
        15% {transform: translate(-1px, 0);}
        40% {transform: translate(2px, 1px);}
        70% {transform: translate(0, 2px);}
        90% {transform: translate(-1px, 1px);}
        100% {transform: translate(0, 0);}
    }

    .scene-3.step-0 .train {
        left: 0;
    }

    .scene-3.step-1 .train {
        left: -460px;
        transition: left ease 5s;
    }

    .scene-3.step-2 .train {
        left: -1025px;
        transition: left ease 7s;
    }

    .scene-3.step-3 .train {
        left: -1400px;
        transition: left ease 3s;
    }

    .scene-3 .train {
        left: -1400px;
    }

    .scene-3 .shadowman {
        position: absolute;
        width: 235px;
        height: 478px;
        left: 1420px;
        top: 310px;
        opacity: 0;
    }

    .scene-3.step-4:not(.step-3) .shadowman {
        opacity: 0;
        animation: show 2s forwards;
    }
    .scene-3:not(.step-3):not(.step-4) .shadowman {
        opacity: 1;
    }

    .scene-3 .dark-cover {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1;
    }

        .scene-3 .dark-cover:before {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 1;
            background-image: url('https://cdn.rwd.to/midnight-train/assets/img/black_bg.jpg');
            opacity: 0.7;
            content: ' ';
            display: block;
        }

    .scene-3.step-7 .dark-cover {
        opacity: 0;
        animation: show 1s ease forwards;
    }

    .scene-3.step-15 .dark-cover {
        opacity: 1;
        animation: hide-half 3s 2s ease forwards;
    }
    .scene-3.step-16 .dark-cover {
        opacity: .5;
        animation: hide-half-to-end 3s 1s ease forwards;
    }

    

    .scene-3 .step-wrap p { opacity: 0; }
    .scene-3 .step-wrap button { opacity: 0; }
    
    .scene-3 .step-wrap .p1 { animation: show .8s 1s ease forwards; }
    .scene-3 .step-wrap .p2 { animation: show .8s 2s ease forwards; }
    .scene-3 .step-wrap .p3 { animation: show .8s 3s ease forwards; }
    .scene-3 .step-wrap .p4 { animation: show .8s 4s ease forwards; }
    .scene-3 .step-wrap .p5 { animation: show .8s 5s ease forwards; }

    .scene-3 .step-wrap .light-btn {
        animation: show .8s 4s ease forwards, light-glow 2.5s 4.8s ease infinite
    }
    .scene-3 .step-wrap .white-btn {
        animation: show .8s 4s ease forwards, white-button-glow 2.5s 4.8s ease infinite;
    }

    .scene-3 .step-wrap.btn-delay-1 button { animation-delay: 1s, 1.8s;}
    .scene-3 .step-wrap.btn-delay-2 button { animation-delay: 2s, 2.8s;}
    .scene-3 .step-wrap.btn-delay-3 button { animation-delay: 3s, 3.8s;}
    .scene-3 .step-wrap.btn-delay-4 button { animation-delay: 4s, 4.8s;}
    .scene-3 .step-wrap.btn-delay-5 button { animation-delay: 5s, 5.8s;}
    .scene-3 .step-wrap.btn-delay-7 button { animation-delay: 7s, 7.8s;}
    .scene-3 .step-wrap.btn-delay-9 button { animation-delay: 9s, 9.8s;}

    .scene-3 .step-wrap .info {
        font-size: 14px;
        color: #989898;
    }


    .scene-3.show-all .step-wrap p { opacity: 1 !important; animation: none; }
    .scene-3.show-all .step-wrap button { opacity: 1 !important; animation: none; }

.scene-3 .step-inverse {
    color: black;
}

    .scene-3 .step-inverse .white-btn {
        box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .16);
        animation: show .8s 4.8s ease forwards, white-button-glow-inverse 2s ease infinite;
    }

    .scene-3 .input-popup {
        position: fixed;
        top: 0;
        bottom: 0;
        z-index: 4;
        max-width: 100vw;

        display: flex;
        align-items: center;
        justify-content: center;
        padding-left: 20px;
        padding-right: 20px;
    }

    .scene-3 .input-popup .input-popup-body {
        padding: 24px 12px;
        border-radius: 6px;

        background-color: rgba(0, 0, 0, .5);

        opacity: 0;
        animation: show-input-popup-body 1s .5s ease forwards;
    }

    @keyframes show-input-popup-body {
        0% {
            opacity: 0;
            transform: translateY(30px);
        }
        100% {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .scene-3 .input-popup .input-popup-body p {
        opacity: 1;
    }

    .input-popup .input-popup-form {
        max-width: 280px;
        margin: 0 auto;
    }

    .scene-3 .input-popup .input-popup-form input[type=text] {
        border: none;
        outline: none !important;
        width: 100%;
        padding: 6px 12px;
        background-color: #e3e3e3;
        border-radius: 3px 0 0 3px;
    }

    .scene-3 .input-popup .input-popup-form button[type=submit]{
        padding: 6px 12px;
        color: white;
        background-color: #464646;
        opacity: 1;
        border-radius: 0 3px 3px 0;
        flex-shrink: 0
    }

    

    .scene-3 .step-0-wrap .content {
        margin-top: 140px;
    }

    .blinking {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1;
    }

    .blinking-top, .blinking-bottom {
        height: 406px;
        width: 100%;
        background-image: url('https://cdn.rwd.to/midnight-train/assets/img/black_bg.jpg');
        background-size: cover;
        position: absolute;
    }

    .blinking-top {
        top: 0;
        transform: scale(1.1) translateY(-406px);
        animation: blinking-top 4s ease forwards;
        background-position: 0 0;
    }

    .blinking-bottom {
        bottom: 0;
        transform: scale(1.1) translateY(406px);
        animation: blinking-bottom 4s ease forwards;
        background-position: 0 100%;
    }

    @keyframes blinking-top {
        0% {
            transform: translateY(-406px) scale(1.1);
            filter: blur(0);
        }

        30% {
            transform: translateY(-150px) scale(1.1);
            filter: blur(6px);
        }

        60% {
            transform: translateY(-300px) scale(1.1);
            filter: blur(3px);
        }

        100% {
            transform: translateY(0) scale(1.1);
            filter: blur(10px);
        }
    }

    @keyframes blinking-bottom {
        0% {
            transform: translateY(406px) scale(1.1);
            filter: blur(0);
        }

        30% {
            transform: translateY(150px) scale(1.1);
            filter: blur(6px);
        }

        60% {
            transform: translateY(300px) scale(1.1);
            filter: blur(3px);
        }

        100% {
            transform: translateY(0) scale(1.1);
            filter: blur(10px);
        }
    }

    .scene-3.step-48 .bg-hands {
        opacity: 1;
        animation: blinking-bg 6s ease forwards;
    }

    @keyframes blinking-bg {
        0% {
            filter: blur(0);
        }

        30% {
            filter: blur(6px);
        }

        60% {
            filter: blur(2px);
        }

        100% {
            filter: blur(10px);
        }
    }

    .step-51-wrap .btn-wrap{
        bottom: 166px;
    }

    .vital-sign {
        background-image: url('https://cdn.rwd.to/midnight-train/assets/img/vital-sign.png');
        background-size: cover;
        background-position-x: 0;

        top: 200px;
        left: 0;
        right: 0;
        bottom: 200px;
        position: absolute;
        z-index: 2;
        animation: vital-sign 9s linear infinite;
    }

    @keyframes vital-sign {
        0% {
            background-position-x: 0;
        }

        100% {
            background-position-x: 166%;
        }
    }

    .scene-3 .bg-whale {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 0;
        background-image: url('https://cdn.rwd.to/midnight-train/assets/img/whale.jpg');
        background-size: cover;
        background-position-x: 0;
        animation: bg-whale 3s 3s ease forwards;
    }

        .scene-3 .bg-whale.fader {
            animation: bg-whale 3s 3s ease forwards,
                       hide .5s ease forwards !important;
        }


    @keyframes bg-whale {
        0% {
            background-position-x: 0;
        }

        100% {
            background-position-x: 100%;
        }
    }

.scene-3 .bg-black-end {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    opacity: 0;
    background-image: url('https://cdn.rwd.to/midnight-train/assets/img/black_bg.jpg');
    background-size: cover;
}

.scene-3.step-76 .bg-black-end {
    opacity: 0.2;
    transition: opacity 1s ease;
}
.scene-3.step-77 .bg-black-end {
    opacity: 0.3;
    transition: opacity 1s ease;
}
.scene-3.step-78 .bg-black-end {
    opacity: 0.4;
    transition: opacity 1s ease;
}
.scene-3.step-79 .bg-black-end {
    opacity: 0.5;
    transition: opacity 1s ease;
}
.scene-3.step-80 .bg-black-end {
    opacity: 0.6;
    transition: opacity 1s ease;
}
.scene-3.step-81 .bg-black-end {
    opacity: 0.7;
    transition: opacity 1s ease;
}
.scene-3.step-82 .bg-black-end {
    opacity: 0.8;
    transition: opacity 1s ease;
}
.scene-3.step-83 .bg-black-end {
    opacity: 0.9;
    transition: opacity 1s ease;
}
.scene-3.step-84 .bg-black-end {
    opacity: 1;
    transition: opacity 1s ease;
}

.scene-3 .door-top {
    position: absolute;
    top: -10px;
    width: 467px;
    height: 88.67px;
    opacity: 0;
    background-image: url(https://cdn.rwd.to/midnight-train/assets/img/scn1/door-top.png);
    background-position: center;
    background-size: contain;
    animation: scene-3-door-top 2s ease forwards;
}

.scene-3 .door-left {
    position: absolute;
    left: -233.5px;
    top: 78.67px;
    width: 233.5px;
    height: 743.33px;
    background-image: url(https://cdn.rwd.to/midnight-train/assets/img/scn1/door-left2.png);
    background-color: rgba(0, 0, 0, .3);
    background-size: cover;
    background-position: right;
    animation: scene-3-door-left 2s 1s ease forwards;
}

.scene-3 .door-right {
    position: absolute;
    right: -233.5px;
    top: 78.67px;
    width: 233.5px;
    height: 743.33px;
    background-image: url(https://cdn.rwd.to/midnight-train/assets/img/scn1/door-right2.png);
    background-color: rgba(0, 0, 0, .3);
    background-size: cover;
    background-position: left;
    animation: scene-3-door-right 2s 1s ease forwards;
}

@keyframes scene-3-door-top {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes scene-3-door-left {
    0% {
        left: -233.5px;
    }
    100% {
        left: -10px;
    }
}
@keyframes scene-3-door-right {
    0% {
        right: -233.5px;
    }
    100% {
        right: -10px;
    }
}

.scene-3 .light-object-wrap {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    animation: show 2s ease forwards;
}
.scene-3 .light-object {
    width: 145px;
    opacity: .3;
}
.scene-3.step-88 .light-object {
    width: 375px;
    opacity: .6;
    transition: all 2s ease;
}

.scene-3.step-89 .light-object {
    opacity: 0;
    transition: all .5s ease;
}

.step-wrap .l1,
.step-wrap .l2,
.step-wrap .l3,
.step-wrap .l4,
.step-wrap .l5,
.step-wrap .l6,
.step-wrap .l7,
.step-wrap .l8,
.step-wrap .l9 {
    opacity: 0;
}

.step-wrap .l1 { animation: show .8s 1s ease forwards; }
.step-wrap .l2 { animation: show .8s 2s ease forwards; }
.step-wrap .l3 { animation: show .8s 3s ease forwards; }
.step-wrap .l4 { animation: show .8s 4s ease forwards; }
.step-wrap .l5 { animation: show .8s 5s ease forwards; }
.step-wrap .l6 { animation: show .8s 6s ease forwards; }
.step-wrap .l7 { animation: show .8s 7s ease forwards; }
.step-wrap .l8 { animation: show .8s 8s ease forwards; }
.step-wrap .l9 { animation: show .8s 9s ease forwards; }

.bg-white {
    background-image: url('https://cdn.rwd.to/midnight-train/assets/img/white-bg.jpg');
    background-size: cover;
    background-position: center;

    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;

    opacity: 0;
    animation: show 1s ease forwards;
}

.scene-4 {
    background-image: url('https://cdn.rwd.to/midnight-train/assets/img/whale.jpg');
    background-size: cover;
    background-position-x: 100%;
    padding-left: 30px;
    padding-right: 30px;
}

.scene-4 .content {
    max-width: 314px;
}

.scene-4 .title {
    max-width: 100%;
    margin-bottom: 12px;
}

.scene-4 canvas {
    width: 100%;
    margin-top: 12px;
}

.scene-4 .instruction {
    font-size: 15px;
    margin-top: 11px;
    margin-bottom: 30px;
}

.scene-4 hr {
    margin-top: 30px;
    border-color: white;
}

.share {
    margin-bottom: 40px;
}

.share h5 {
    font-size: 16px;
    font-weight: 400;
    margin-top: 30px;
    margin-bottom: 15px;
}

.share-btn {
    appearance: none;
    border: none;
    outline: none;
    background: none;
    padding: 0;
    display: inline-block;
    width: 40px;
    height: 40px;
    border-radius: 20px;
    margin: 0 4.75px;
    overflow: hidden;
}

.share-btn img {
    width: 100%;
    height: 100%;
}

.scene-4 .white-btn {
    color: black!important;
    text-decoration: none!important;
    animation-delay: 0s, .8s;
}