[data-cue=bounceInDown],[data-cue=bounceInLeft],[data-cue=bounceInRight],[data-cue=bounceInUp],[data-cue=bounceIn],[data-cue=fadeIn],[data-cue=rotateIn],[data-cue=slideInDown],[data-cue=slideInLeft],[data-cue=slideInRight],[data-cue=slideInUp],[data-cue=zoomIn],[data-cue=zoomOut],[data-cues=bounceInDown]>*,[data-cues=bounceInLeft]>*,[data-cues=bounceInRight]>*,[data-cues=bounceInUp]>*,[data-cues=bounceIn]>*,[data-cues=fadeIn]>*,[data-cues=rotateIn]>*,[data-cues=slideInDown]>*,[data-cues=slideInLeft]>*,[data-cues=slideInRight]>*,[data-cues=slideInUp]>*,[data-cues=zoomIn]>*,[data-cues=zoomOut]>* {
    opacity: 0
}

@keyframes fadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px)
    }

    to {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(30px)
    }

    to {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes slideInDown {
    from {
        opacity: 0;
        transform: translateY(-30px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(30px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes zoomIn {
    from {
        opacity: 0;
        transform: scale(.8)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes zoomOut {
    from {
        opacity: 0;
        transform: scale(1.2)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes rotateIn {
    from {
        opacity: 0;
        transform: rotateZ(-15deg)
    }

    to {
        opacity: 1;
        transform: rotateZ(0)
    }
}

@keyframes bounceIn {
    0% {
        transform: scale3d(.3,.3,.3)
    }

    20% {
        transform: scale3d(1.1,1.1,1.1)
    }

    40% {
        transform: scale3d(.9,.9,.9)
    }

    60% {
        opacity: 1;
        transform: scale3d(1.03,1.03,1.03)
    }

    80% {
        transform: scale3d(.97,.97,.97)
    }

    100% {
        opacity: 1;
        transform: scale3d(1,1,1)
    }
}

@keyframes bounceInLeft {
    60%,75%,90%,from,to {
        animation-timing-function: cubic-bezier(0.215,0.61,0.355,1)
    }

    0% {
        opacity: 0;
        transform: translate3d(-3000px,0,0)
    }

    60% {
        opacity: 1;
        transform: translate3d(25px,0,0)
    }

    75% {
        transform: translate3d(-10px,0,0)
    }

    90% {
        transform: translate3d(5px,0,0)
    }

    to {
        opacity: 1;
        transform: translate3d(0,0,0)
    }
}

@keyframes bounceInRight {
    60%,75%,90%,from,to {
        animation-timing-function: cubic-bezier(0.215,0.61,0.355,1)
    }

    from {
        opacity: 0;
        transform: translate3d(3000px,0,0)
    }

    60% {
        opacity: 1;
        transform: translate3d(-25px,0,0)
    }

    75% {
        transform: translate3d(10px,0,0)
    }

    90% {
        transform: translate3d(-5px,0,0)
    }

    to {
        opacity: 1;
        transform: translate3d(0,0,0)
    }
}

@keyframes bounceInDown {
    60%,75%,90%,from,to {
        animation-timing-function: cubic-bezier(0.215,0.61,0.355,1)
    }

    0% {
        opacity: 0;
        transform: translate3d(0,-3000px,0)
    }

    60% {
        opacity: 1;
        transform: translate3d(0,25px,0)
    }

    75% {
        transform: translate3d(0,-10px,0)
    }

    90% {
        transform: translate3d(0,5px,0)
    }

    to {
        opacity: 1;
        transform: translate3d(0,0,0)
    }
}

@keyframes bounceInUp {
    60%,75%,90%,from,to {
        animation-timing-function: cubic-bezier(0.215,0.61,0.355,1)
    }

    from {
        opacity: 0;
        transform: translate3d(0,3000px,0)
    }

    60% {
        opacity: 1;
        transform: translate3d(0,-20px,0)
    }

    75% {
        transform: translate3d(0,10px,0)
    }

    90% {
        transform: translate3d(0,-5px,0)
    }

    to {
        opacity: 1;
        transform: translate3d(0,0,0)
    }
}

[data-cue=flipInX],[data-cue=flipInY],[data-cues=flipInX]>*,[data-cues=flipInY]>* {
    opacity: 0;
    backface-visibility: visible
}

@keyframes flipInX {
    from {
        transform: perspective(400px) rotate3d(1,0,0,90deg);
        animation-timing-function: ease-in;
        opacity: 0
    }

    40% {
        transform: perspective(400px) rotate3d(1,0,0,-20deg);
        animation-timing-function: ease-in
    }

    60% {
        transform: perspective(400px) rotate3d(1,0,0,10deg);
        opacity: 1
    }

    80% {
        transform: perspective(400px) rotate3d(1,0,0,-5deg)
    }

    to {
        opacity: 1;
        transform: perspective(400px)
    }
}

@keyframes flipInY {
    from {
        transform: perspective(400px) rotate3d(0,1,0,90deg);
        animation-timing-function: ease-in;
        opacity: 0
    }

    40% {
        transform: perspective(400px) rotate3d(0,1,0,-20deg);
        animation-timing-function: ease-in
    }

    60% {
        transform: perspective(400px) rotate3d(0,1,0,10deg);
        opacity: 1
    }

    80% {
        transform: perspective(400px) rotate3d(0,1,0,-5deg)
    }

    to {
        opacity: 1;
        transform: perspective(400px)
    }
}
