@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translate3d(0, 100%, 0);
    }
    100% {
        opacity: 1;
        transform: none;
    }
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        transform: translate3d(100%, 0, 0);
    }
    100% {
        opacity: 1;
        transform: none;
    }
}

@keyframes fadeInLeft {
    0% {
        opacity: 0;
        transform: translate3d(-100%, 0, 0);
    }
    100% {
        opacity: 1;
        transform: none;
    }
}


/** Basic styles for an animated element */

.scene_element {
    animation-duration: 0.5s;
    transition-timing-function: ease-in;
    animation-fill-mode: both;
}

.layer-5 {
    animation-duration: 1.8s;
}

.layer-4 {
    animation-duration: 1.7s;
}

.layer-3 {
    animation-duration: 1.6s;
}

.layer-2 {
    animation-duration: 1.5s;
}

.layer-1 {
    animation-duration: 1.4s;
}

.layer-0 {
    animation-duration: 1.3s;
}


/** An element that fades in */

.scene_element--fadein {
    animation-name: fadeIn;
}


/** An element that fades in and slides up */

.scene_element--fadeinup {
    animation-name: fadeInUp;
}


/** An element that fades in and slides from the right */

.scene_element--fadeinright {
    animation-name: fadeInRight;
}

.scene_element--fadeinleft {
    animation-name: fadeInLeft;
}

.m-scene.is-exiting .scene_element {
    animation-direction: alternate-reverse;
}