.pre-animation { visibility: hidden;}

@-webkit-keyframes flipInX {
    0% {
        -webkit-transform: perspective(400px) rotateX(90deg);
        opacity: 0
    }

    40% {
        -webkit-transform: perspective(400px) rotateX(-10deg)
    }

    70% {
        -webkit-transform: perspective(400px) rotateX(10deg)
    }

    100% {
        -webkit-transform: perspective(400px) rotateX(0deg);
        opacity: 1
    }
}

@-moz-keyframes flipInX {
    0% {
        -moz-transform: perspective(400px) rotateX(90deg);
        opacity: 0
    }

    40% {
        -moz-transform: perspective(400px) rotateX(-10deg)
    }

    70% {
        -moz-transform: perspective(400px) rotateX(10deg)
    }

    100% {
        -moz-transform: perspective(400px) rotateX(0deg);
        opacity: 1
    }
}

@keyframes flipInX {
    0% {
        transform: perspective(400px) rotateX(90deg);
        opacity: 0
    }

    40% {
        transform: perspective(400px) rotateX(-10deg)
    }

    70% {
        transform: perspective(400px) rotateX(10deg)
    }

    100% {
        transform: perspective(400px) rotateX(0deg);
        opacity: 1
    }
}

@-webkit-keyframes flipInY {
    0% {
        -webkit-transform: perspective(400px) rotateY(5deg);
        opacity: 0
    }

    40% {
        -webkit-transform: perspective(400px) rotateY(-2deg)
    }

    70% {
        -webkit-transform: perspective(400px) rotateY(1deg)
    }

    100% {
        -webkit-transform: perspective(400px) rotateY(0deg);
        opacity: 1
    }
}

@-moz-keyframes flipInY {
    0% {
        -moz-transform: perspective(400px) rotateY(5deg);
        opacity: 0
    }

    40% {
        -moz-transform: perspective(400px) rotateY(-2deg)
    }

    70% {
        -moz-transform: perspective(400px) rotateY(1deg)
    }

    100% {
        -moz-transform: perspective(400px) rotateY(0deg);
        opacity: 1
    }
}

@keyframes flipInY {
    0% {
        transform: perspective(400px) rotateY(5deg);
        opacity: 0
    }

    40% {
        transform: perspective(400px) rotateY(-2deg)
    }

    70% {
        transform: perspective(400px) rotateY(1deg)
    }

    100% {
        transform: perspective(400px) rotateY(0deg);
        opacity: 1
    }
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(40px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY()
    }
}

@-moz-keyframes fadeInUp {
    0% {
        opacity: 0;
        -moz-transform: translateY(40px)
    }

    100% {
        opacity: 1;
        -moz-transform: translateY()
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(40px)
    }

    100% {
        opacity: 1;
        transform: translateY()
    }
}

@-webkit-keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-20px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY()
    }
}

@-moz-keyframes fadeInDown {
    0% {
        opacity: 0;
        -moz-transform: translateY(-20px)
    }

    100% {
        opacity: 1;
        -moz-transform: translateY()
    }
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        transform: translateY(-20px)
    }

    100% {
        opacity: 1;
        transform: translateY()
    }
}

@-webkit-keyframes fadeInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-20px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX()
    }
}

@-moz-keyframes fadeInLeft {
    0% {
        opacity: 0;
        -moz-transform: translateX(-20px)
    }

    100% {
        opacity: 1;
        -moz-transform: translateX()
    }
}

@keyframes fadeInLeft {
    0% {
        opacity: 0;
        transform: translateX(-20px)
    }

    100% {
        opacity: 1;
        transform: translateX()
    }
}

@-webkit-keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translateX(20px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX()
    }
}

@-moz-keyframes fadeInRight {
    0% {
        opacity: 0;
        -moz-transform: translateX(20px)
    }

    100% {
        opacity: 1;
        -moz-transform: translateX()
    }
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        transform: translateX(20px)
    }

    100% {
        opacity: 1;
        transform: translateX()
    }
}

@-webkit-keyframes fadeInUpBig {
    0% {
        opacity: 0;
        -webkit-transform: translateY(2000px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY()
    }
}

@-moz-keyframes fadeInUpBig {
    0% {
        opacity: 0;
        -moz-transform: translateY(2000px)
    }

    100% {
        opacity: 1;
        -moz-transform: translateY()
    }
}

@keyframes fadeInUpBig {
    0% {
        opacity: 0;
        transform: translateY(2000px)
    }

    100% {
        opacity: 1;
        transform: translateY()
    }
}

@-webkit-keyframes fadeInDownBig {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-2000px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY()
    }
}

@-moz-keyframes fadeInDownBig {
    0% {
        opacity: 0;
        -moz-transform: translateY(-2000px)
    }

    100% {
        opacity: 1;
        -moz-transform: translateY()
    }
}

@keyframes fadeInDownBig {
    0% {
        opacity: 0;
        transform: translateY(-2000px)
    }

    100% {
        opacity: 1;
        transform: translateY()
    }
}

@-webkit-keyframes fadeInLeftBig {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-2000px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX()
    }
}

@-moz-keyframes fadeInLeftBig {
    0% {
        opacity: 0;
        -moz-transform: translateX(-2000px)
    }

    100% {
        opacity: 1;
        -moz-transform: translateX()
    }
}

@keyframes fadeInLeftBig {
    0% {
        opacity: 0;
        transform: translateX(-2000px)
    }

    100% {
        opacity: 1;
        transform: translateX()
    }
}

@-webkit-keyframes fadeInRightBig {
    0% {
        opacity: 0;
        -webkit-transform: translateX(2000px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX()
    }
}

@-moz-keyframes fadeInRightBig {
    0% {
        opacity: 0;
        -moz-transform: translateX(2000px)
    }

    100% {
        opacity: 1;
        -moz-transform: translateX()
    }
}

@keyframes fadeInRightBig {
    0% {
        opacity: 0;
        transform: translateX(2000px)
    }

    100% {
        opacity: 1;
        transform: translateX()
    }
}

@-webkit-keyframes slideInDown {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-2000px)
    }

    100% {
        -webkit-transform: translateY()
    }
}

@-moz-keyframes slideInDown {
    0% {
        opacity: 0;
        -moz-transform: translateY(-2000px)
    }

    100% {
        -moz-transform: translateY()
    }
}

@keyframes slideInDown {
    0% {
        opacity: 0;
        transform: translateY(-2000px)
    }

    100% {
        transform: translateY()
    }
}

@-webkit-keyframes slideInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-2000px)
    }

    100% {
        -webkit-transform: translateX()
    }
}

@-moz-keyframes slideInLeft {
    0% {
        opacity: 0;
        -moz-transform: translateX(-2000px)
    }

    100% {
        -moz-transform: translateX()
    }
}

@keyframes slideInLeft {
    0% {
        opacity: 0;
        transform: translateX(-2000px)
    }

    100% {
        transform: translateX()
    }
}

@-webkit-keyframes slideInRight {
    0% {
        opacity: 0;
        -webkit-transform: translateX(2000px)
    }

    100% {
        -webkit-transform: translateX()
    }
}

@-moz-keyframes slideInRight {
    0% {
        opacity: 0;
        -moz-transform: translateX(2000px)
    }

    100% {
        -moz-transform: translateX()
    }
}

@keyframes slideInRight {
    0% {
        opacity: 0;
        transform: translateX(2000px)
    }

    100% {
        transform: translateX()
    }
}

@-webkit-keyframes bounceIn {
    0% {
        opacity: 0;
        -webkit-transform: scale(0.90)
    }

    50% {
        opacity: 1;
        -webkit-transform: scale(1.02)
    }

    70% {
        -webkit-transform: scale(0.99)
    }

    100% {
        -webkit-transform: scale(1)
    }
}

@-moz-keyframes bounceIn {
    0% {
        opacity: 0;
        -moz-transform: scale(0.90)
    }

    50% {
        opacity: 1;
        -moz-transform: scale(1.02)
    }

    70% {
        -moz-transform: scale(0.99)
    }

    100% {
        -moz-transform: scale(1)
    }
}

@keyframes bounceIn {
    0% {
        opacity: 0;
        transform: scale(0.90)
    }

    50% {
        opacity: 1;
        transform: scale(1.02)
    }

    70% {
        transform: scale(0.99)
    }

    100% {
        transform: scale(1)
    }
}

@-webkit-keyframes bounceInUp {
    0% {
        opacitÃ¦y: 0;
        -webkit-transform: translateY(2000px)
    }

    60% {
        opacity: 1;
        -webkit-transform: translateY(-30px)
    }

    80% {
        -webkit-transform: translateY(10px)
    }

    100% {
        -webkit-transform: translateY()
    }
}

@-moz-keyframes bounceInUp {
    0% {
        opacity: 0;
        -moz-transform: translateY(2000px)
    }

    60% {
        opacity: 1;
        -moz-transform: translateY(-30px)
    }

    80% {
        -moz-transform: translateY(10px)
    }

    100% {
        -moz-transform: translateY()
    }
}

@keyframes bounceInUp {
    0% {
        opacity: 0;
        transform: translateY(2000px)
    }

    60% {
        opacity: 1;
        transform: translateY(-30px)
    }

    80% {
        transform: translateY(10px)
    }

    100% {
        transform: translateY()
    }
}

@-webkit-keyframes bounceInDown {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-2000px)
    }

    60% {
        opacity: 1;
        -webkit-transform: translateY(30px)
    }

    80% {
        -webkit-transform: translateY(-10px)
    }

    100% {
        -webkit-transform: translateY()
    }
}

@-moz-keyframes bounceInDown {
    0% {
        opacity: 0;
        -moz-transform: translateY(-2000px)
    }

    60% {
        opacity: 1;
        -moz-transform: translateY(30px)
    }

    80% {
        -moz-transform: translateY(-10px)
    }

    100% {
        -moz-transform: translateY()
    }
}

@keyframes bounceInDown {
    0% {
        opacity: 0;
        transform: translateY(-2000px)
    }

    60% {
        opacity: 1;
        transform: translateY(30px)
    }

    80% {
        transform: translateY(-10px)
    }

    100% {
        transform: translateY()
    }
}

@-webkit-keyframes bounceInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-2000px)
    }

    60% {
        opacity: 1;
        -webkit-transform: translateX(30px)
    }

    80% {
        -webkit-transform: translateX(-10px)
    }

    100% {
        -webkit-transform: translateX()
    }
}

@-moz-keyframes bounceInLeft {
    0% {
        opacity: 0;
        -moz-transform: translateX(-2000px)
    }

    60% {
        opacity: 1;
        -moz-transform: translateX(30px)
    }

    80% {
        -moz-transform: translateX(-10px)
    }

    100% {
        -moz-transform: translateX()
    }
}

@keyframes bounceInLeft {
    0% {
        opacity: 0;
        transform: translateX(-2000px)
    }

    60% {
        opacity: 1;
        transform: translateX(30px)
    }

    80% {
        transform: translateX(-10px)
    }

    100% {
        transform: translateX()
    }
}

@-webkit-keyframes bounceInRight {
    0% {
        opacity: 0;
        -webkit-transform: translateX(2000px)
    }

    60% {
        opacity: 1;
        -webkit-transform: translateX(-30px)
    }

    80% {
        -webkit-transform: translateX(10px)
    }

    100% {
        -webkit-transform: translateX()
    }
}

@-moz-keyframes bounceInRight {
    0% {
        opacity: 0;
        -moz-transform: translateX(2000px)
    }

    60% {
        opacity: 1;
        -moz-transform: translateX(-30px)
    }

    80% {
        -moz-transform: translateX(10px)
    }

    100% {
        -moz-transform: translateX()
    }
}

@keyframes bounceInRight {
    0% {
        opacity: 0;
        transform: translateX(2000px)
    }

    60% {
        opacity: 1;
        transform: translateX(-30px)
    }

    80% {
        transform: translateX(10px)
    }

    100% {
        transform: translateX()
    }
}

@-webkit-keyframes rotateIn {
    0% {
        -webkit-transform-origin: center center;
        -webkit-transform: rotate(-200deg);
        opacity: 0
    }

    100% {
        -webkit-transform-origin: center center;
        -webkit-transform: rotate();
        opacity: 1
    }
}

@-moz-keyframes rotateIn {
    0% {
        -moz-transform-origin: center center;
        -moz-transform: rotate(-200deg);
        opacity: 0
    }

    100% {
        -moz-transform-origin: center center;
        -moz-transform: rotate();
        opacity: 1
    }
}

@keyframes rotateIn {
    0% {
        transform-origin: center center;
        transform: rotate(-200deg);
        opacity: 0
    }

    100% {
        transform-origin: center center;
        transform: rotate();
        opacity: 1
    }
}

@-webkit-keyframes rotateInUpLeft {
    0% {
        -webkit-transform-origin: left bottom;
        -webkit-transform: rotate(90deg);
        opacity: 0
    }

    100% {
        -webkit-transform-origin: left bottom;
        -webkit-transform: rotate();
        opacity: 1
    }
}

@-moz-keyframes rotateInUpLeft {
    0% {
        -moz-transform-origin: left bottom;
        -moz-transform: rotate(90deg);
        opacity: 0
    }

    100% {
        -moz-transform-origin: left bottom;
        -moz-transform: rotate();
        opacity: 1
    }
}

@keyframes rotateInUpLeft {
    0% {
        transform-origin: left bottom;
        transform: rotate(90deg);
        opacity: 0
    }

    100% {
        transform-origin: left bottom;
        transform: rotate();
        opacity: 1
    }
}

@-webkit-keyframes rotateInDownLeft {
    0% {
        -webkit-transform-origin: left bottom;
        -webkit-transform: rotate(-90deg);
        opacity: 0
    }

    100% {
        -webkit-transform-origin: left bottom;
        -webkit-transform: rotate();
        opacity: 1
    }
}

@-moz-keyframes rotateInDownLeft {
    0% {
        -moz-transform-origin: left bottom;
        -moz-transform: rotate(-90deg);
        opacity: 0
    }

    100% {
        -moz-transform-origin: left bottom;
        -moz-transform: rotate();
        opacity: 1
    }
}

@keyframes rotateInDownLeft {
    0% {
        transform-origin: left bottom;
        transform: rotate(-90deg);
        opacity: 0
    }

    100% {
        transform-origin: left bottom;
        transform: rotate();
        opacity: 1
    }
}

@-webkit-keyframes rotateInUpRight {
    0% {
        -webkit-transform-origin: right bottom;
        -webkit-transform: rotate(-90deg);
        opacity: 0
    }

    100% {
        -webkit-transform-origin: right bottom;
        -webkit-transform: rotate();
        opacity: 1
    }
}

@-moz-keyframes rotateInUpRight {
    0% {
        -moz-transform-origin: right bottom;
        -moz-transform: rotate(-90deg);
        opacity: 0
    }

    100% {
        -moz-transform-origin: right bottom;
        -moz-transform: rotate();
        opacity: 1
    }
}

@keyframes rotateInUpRight {
    0% {
        transform-origin: right bottom;
        transform: rotate(-90deg);
        opacity: 0
    }

    100% {
        transform-origin: right bottom;
        transform: rotate();
        opacity: 1
    }
}

@-webkit-keyframes rotateInDownRight {
    0% {
        -webkit-transform-origin: right bottom;
        -webkit-transform: rotate(90deg);
        opacity: 0
    }

    100% {
        -webkit-transform-origin: right bottom;
        -webkit-transform: rotate();
        opacity: 1
    }
}

@-moz-keyframes rotateInDownRight {
    0% {
        -moz-transform-origin: right bottom;
        -moz-transform: rotate(90deg);
        opacity: 0
    }

    100% {
        -moz-transform-origin: right bottom;
        -moz-transform: rotate();
        opacity: 1
    }
}

@keyframes rotateInDownRight {
    0% {
        transform-origin: right bottom;
        transform: rotate(90deg);
        opacity: 0
    }

    100% {
        transform-origin: right bottom;
        transform: rotate();
        opacity: 1
    }
}

@-webkit-keyframes flash {
    0%, 50%, 100% {
        opacity: 1
    }

    25%, 75% {
        opacity: 0
    }
}

@-moz-keyframes flash {
    0%, 50%, 100% {
        opacity: 1
    }

    25%, 75% {
        opacity: 0
    }
}

@keyframes flash {
    0%, 50%, 100% {
        opacity: 1
    }

    25%, 75% {
        opacity: 0
    }
}

