@charset "UTF-8";


@keyframes bounce {
  0%,20%,53%,80%,to {
    animation-timing-function: cubic-bezier(.215,.61,.355,1);
    transform: translateZ(0)
  }

  40%,43% {
    animation-timing-function: cubic-bezier(.755,.05,.855,.06);
    transform: translate3d(0,-30px,0)
  }

  70% {
    animation-timing-function: cubic-bezier(.755,.05,.855,.06);
    transform: translate3d(0,-15px,0)
  }

  90% {
    transform: translate3d(0,-4px,0)
  }
}

.bounce-enter-active {
  animation: bounce .5s;
  transform-origin: center bottom
}
.bounce-leave-active {
  animation: bounce .5s reverse;
  transform-origin: center bottom
}

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

  25%,75% {
    opacity: 0
  }
}

.flash-enter-active {
  animation: flash .5s;
}
.flash-leave-active {
  animation: flash .5s reverse;
}

@keyframes pulse {
  0% {
    transform: scaleX(1)
  }

  50% {
    transform: scale3d(1.05,1.05,1.05)
  }

  to {
    transform: scaleX(1)
  }
}


.pulse-enter-active {
  animation: pulse .5s;
}
.pulse-leave-active {
  animation: pulse .5s reverse;
}




@keyframes rubberBand {
  0% {
    transform: scaleX(1)
  }

  30% {
    transform: scale3d(1.25,.75,1)
  }

  40% {
    transform: scale3d(.75,1.25,1)
  }

  50% {
    transform: scale3d(1.15,.85,1)
  }

  65% {
    transform: scale3d(.95,1.05,1)
  }

  75% {
    transform: scale3d(1.05,.95,1)
  }

  to {
    transform: scaleX(1)
  }
}

.rubberBand-enter-active {
  animation: rubberBand .5s;
}
.rubberBand-leave-active {
  animation: rubberBand .5s reverse;
}


@keyframes shake {
  0%,to {
    transform: translateZ(0)
  }

  10%,30%,50%,70%,90% {
    transform: translate3d(-10px,0,0)
  }

  20%,40%,60%,80% {
    transform: translate3d(10px,0,0)
  }
}


.shake-enter-active {
  animation: shake .5s;
}
.shake-leave-active {
  animation: shake .5s reverse;
}




@keyframes headShake {
  0% {
    transform: translateX(0)
  }

  6.5% {
    transform: translateX(-6px) rotateY(-9deg)
  }

  18.5% {
    transform: translateX(5px) rotateY(7deg)
  }

  31.5% {
    transform: translateX(-3px) rotateY(-5deg)
  }

  43.5% {
    transform: translateX(2px) rotateY(3deg)
  }

  50% {
    transform: translateX(0)
  }
}



.headShake-enter-active {
  animation: headShake .5s ease-in;
}
.headShake-leave-active {
  animation: headShake .5s ease-in-out reverse;
}



@keyframes swing {
  20% {
    transform: rotate(15deg)
  }

  40% {
    transform: rotate(-10deg)
  }

  60% {
    transform: rotate(5deg)
  }

  80% {
    transform: rotate(-5deg)
  }

  to {
    transform: rotate(0deg)
  }
}

.swing-enter-active {
  transform-origin: top center;
  animation: swing .5s ease-in;
}
.swing-leave-active {
  transform-origin: top center;
  animation: swing .5s ease-in-out reverse;
}




@keyframes tada {
  0% {
    transform: scaleX(1)
  }

  10%,20% {
    transform: scale3d(.9,.9,.9) rotate(-3deg)
  }

  30%,50%,70%,90% {
    transform: scale3d(1.1,1.1,1.1) rotate(3deg)
  }

  40%,60%,80% {
    transform: scale3d(1.1,1.1,1.1) rotate(-3deg)
  }

  to {
    transform: scaleX(1)
  }
}


.tada-enter-active {
  animation: tada .5s ease-in;
}
.tada-leave-active {
  animation: tada .5s ease-in-out reverse;
}


@keyframes wobble {
  0% {
    transform: none
  }

  15% {
    transform: translate3d(-25%,0,0) rotate(-5deg)
  }

  30% {
    transform: translate3d(20%,0,0) rotate(3deg)
  }

  45% {
    transform: translate3d(-15%,0,0) rotate(-3deg)
  }

  60% {
    transform: translate3d(10%,0,0) rotate(2deg)
  }

  75% {
    transform: translate3d(-5%,0,0) rotate(-1deg)
  }

  to {
    transform: none
  }
}

.wobble-enter-active {
  animation: wobble .5s;
}
.wobble-leave-active {
  animation: wobble .5s reverse;
}


@keyframes jello {
  0%,11.1%,to {
    transform: none
  }

  22.2% {
    transform: skewX(-12.5deg) skewY(-12.5deg)
  }

  33.3% {
    transform: skewX(6.25deg) skewY(6.25deg)
  }

  44.4% {
    transform: skewX(-3.125deg) skewY(-3.125deg)
  }

  55.5% {
    transform: skewX(1.5625deg) skewY(1.5625deg)
  }

  66.6% {
    transform: skewX(-.78125deg) skewY(-.78125deg)
  }

  77.7% {
    transform: skewX(.390625deg) skewY(.390625deg)
  }

  88.8% {
    transform: skewX(-.1953125deg) skewY(-.1953125deg)
  }
}



.jello-enter-active {
  transform-origin: center;
  animation: jello .5s;
}
.jello-leave-active {
  transform-origin: center;
  animation: jello .5s reverse;
}

@keyframes bounceIn {
  0%,20%,40%,60%,80%,to {
    animation-timing-function: cubic-bezier(.215,.61,.355,1)
  }

  0% {
    opacity: 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)
  }

  to {
    opacity: 1;
    transform: scaleX(1)
  }
}

.bounceIn-enter-active {
  transform-origin: center;
  animation: bounceIn .5s;
}
.bounceIn-leave-active {
  transform-origin: center;
  animation: bounceIn .5s reverse;
}



@keyframes bounceInDown {
  0%,60%,75%,90%,to {
    animation-timing-function: cubic-bezier(.215,.61,.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 {
    transform: none
  }
}

.bounceInDown-enter-active {
  animation: bounceInDown .5s;
}
.bounceInDown-leave-active {
  animation: bounceInDown .5s reverse;
}


@keyframes bounceInLeft {
  0%,60%,75%,90%,to {
    animation-timing-function: cubic-bezier(.215,.61,.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 {
    transform: none
  }
}


.bounceInLeft-enter-active {
  animation: bounceInLeft .5s;
}
.bounceInLeft-leave-active {
  animation: bounceInLeft .5s reverse;
}

@keyframes bounceInRight {
  0%,60%,75%,90%,to {
    animation-timing-function: cubic-bezier(.215,.61,.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 {
    transform: none
  }
}


.bounceInRight-enter-active {
  animation: bounceInRight .5s;
}
.bounceInRight-leave-active {
  animation: bounceInRight .5s reverse;
}


@keyframes bounceInUp {
  0%,60%,75%,90%,to {
    animation-timing-function: cubic-bezier(.215,.61,.355,1)
  }

  0% {
    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 {
    transform: translateZ(0)
  }
}


.bounceInUp-enter-active {
  animation: bounceInUp .5s;
}
.bounceInUp-leave-active {
  animation: bounceInUp .5s reverse;
}

@keyframes bounceOut {
  20% {
    transform: scale3d(.9,.9,.9)
  }

  50%,55% {
    opacity: 1;
    transform: scale3d(1.1,1.1,1.1)
  }

  to {
    opacity: 0;
    transform: scale3d(.3,.3,.3)
  }
}



.bounceOut-enter-active {
  animation: bounceOut .5s;
}
.bounceOut-leave-active {
  animation: bounceOut .5s reverse;
}

@keyframes bounceOutDown {
  20% {
    transform: translate3d(0,10px,0)
  }

  40%,45% {
    opacity: 1;
    transform: translate3d(0,-20px,0)
  }

  to {
    opacity: 0;
    transform: translate3d(0,2000px,0)
  }
}


.bounceOutDown-enter-active {
  animation: bounceOutDown .5s;
}
.bounceOutDown-leave-active {
  animation: bounceOutDown .5s reverse;
}

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px,0,0)
  }

  to {
    opacity: 0;
    transform: translate3d(-2000px,0,0)
  }
}



.bounceOutLeft-enter-active {
  animation: bounceOutLeft .5s;
}
.bounceOutLeft-leave-active {
  animation: bounceOutLeft .5s reverse;
}

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px,0,0)
  }

  to {
    opacity: 0;
    transform: translate3d(2000px,0,0)
  }
}



.bounceOutRight-enter-active {
  animation: bounceOutRight .5s;
}
.bounceOutRight-leave-active {
  animation: bounceOutRight .5s reverse;
}

@keyframes bounceOutUp {
  20% {
    transform: translate3d(0,-10px,0)
  }

  40%,45% {
    opacity: 1;
    transform: translate3d(0,20px,0)
  }

  to {
    opacity: 0;
    transform: translate3d(0,-2000px,0)
  }
}


.bounceOutUp-enter-active {
  animation: bounceOutUp .5s;
}
.bounceOutUp-leave-active {
  animation: bounceOutUp .5s reverse;
}


@keyframes fadeIn {
  0% {
    opacity: 0
  }

  to {
    opacity: 1
  }
}



.fadeIn-enter-active {
  animation: fadeIn .5s;
}
.fadeIn-leave-active {
  animation: fadeIn .5s reverse;
}


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

  to {
    opacity: 1;
    transform: none
  }
}



.fadeInDown-enter-active {
  animation: fadeInDown .5s;
}
.fadeInDown-leave-active {
  animation: fadeInDown .5s reverse;
}


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

  to {
    opacity: 1;
    transform: none
  }
}



.fadeInDownBig-enter-active {
  animation: fadeInDownBig .5s;
}
.fadeInDownBig-leave-active {
  animation: fadeInDownBig .5s reverse;
}

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

  to {
    opacity: 1;
    transform: none
  }
}


.fadeInLeft-enter-active {
  animation: fadeInLeft .5s;
}
.fadeInLeft-leave-active {
  animation: fadeInLeft .5s reverse;
}

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

  to {
    opacity: 1;
    transform: none
  }
}


.fadeInLeftBig-enter-active {
  animation: fadeInLeftBig .5s;
}
.fadeInLeftBig-leave-active {
  animation: fadeInLeftBig .5s reverse;
}

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

  to {
    opacity: 1;
    transform: none
  }
}

.fadeInRight-enter-active {
  animation: fadeInRight .5s;
}
.fadeInRight-leave-active {
  animation: fadeInRight .5s reverse;
}

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

  to {
    opacity: 1;
    transform: none
  }
}


.fadeInRightBig-enter-active {
  animation: fadeInRightBig .5s;
}
.fadeInRightBig-leave-active {
  animation: fadeInRightBig .5s reverse;
}



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

  to {
    opacity: 1;
    transform: none
  }
}



.fadeInUp-enter-active {
  animation: fadeInUp .5s;
}
.fadeInUp-leave-active {
  animation: fadeInUp .5s reverse;
}

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

  to {
    opacity: 1;
    transform: none
  }
}



.fadeInUpBig-enter-active {
  animation: fadeInUpBig .5s;
}
.fadeInUpBig-leave-active {
  animation: fadeInUpBig .5s reverse;
}

@keyframes fadeOut {
  0% {
    opacity: 1
  }

  to {
    opacity: 0
  }
}


.fadeOut-enter-active {
  animation: fadeOut .5s;
}
.fadeOut-leave-active {
  animation: fadeOut .5s reverse;
}

@keyframes fadeOutDown {
  0% {
    opacity: 1
  }

  to {
    opacity: 0;
    transform: translate3d(0,100%,0)
  }
}



.fadeOutDown-enter-active {
  animation: fadeOutDown .5s;
}
.fadeOutDown-leave-active {
  animation: fadeOutDown .5s reverse;
}


@keyframes fadeOutDownBig {
  0% {
    opacity: 1
  }

  to {
    opacity: 0;
    transform: translate3d(0,2000px,0)
  }
}



.fadeOutDownBig-enter-active {
  animation: fadeOutDownBig .5s;
}
.fadeOutDownBig-leave-active {
  animation: fadeOutDownBig .5s reverse;
}


@keyframes fadeOutLeft {
  0% {
    opacity: 1
  }

  to {
    opacity: 0;
    transform: translate3d(-100%,0,0)
  }
}


.fadeOutLeft-enter-active {
  animation: fadeOutLeft .5s;
}
.fadeOutLeft-leave-active {
  animation: fadeOutLeft .5s reverse;
}

@keyframes fadeOutLeftBig {
  0% {
    opacity: 1
  }

  to {
    opacity: 0;
    transform: translate3d(-2000px,0,0)
  }
}



.fadeOutLeftBig-enter-active {
  animation: fadeOutLeftBig .5s;
}
.fadeOutLeftBig-leave-active {
  animation: fadeOutLeftBig .5s reverse;
}

@keyframes fadeOutRight {
  0% {
    opacity: 1
  }

  to {
    opacity: 0;
    transform: translate3d(100%,0,0)
  }
}



.fadeOutRight-enter-active {
  animation: fadeOutRight .5s;
}
.fadeOutRight-leave-active {
  animation: fadeOutRight .5s reverse;
}

@keyframes fadeOutRightBig {
  0% {
    opacity: 1
  }

  to {
    opacity: 0;
    transform: translate3d(2000px,0,0)
  }
}



.fadeOutRightBig-enter-active {
  animation: fadeOutRightBig .5s;
}
.fadeOutRightBig-leave-active {
  animation: fadeOutRightBig .5s reverse;
}

@keyframes fadeOutUp {
  0% {
    opacity: 1
  }

  to {
    opacity: 0;
    transform: translate3d(0,-100%,0)
  }
}

.fadeOutUp-enter-active {
  animation: fadeOutUp .5s;
}
.fadeOutUp-leave-active {
  animation: fadeOutUp .5s reverse;
}

@keyframes fadeOutUpBig {
  0% {
    opacity: 1
  }

  to {
    opacity: 0;
    transform: translate3d(0,-2000px,0)
  }
}


.fadeOutUpBig-enter-active {
  animation: fadeOutUpBig .5s;
}
.fadeOutUpBig-leave-active {
  animation: fadeOutUpBig .5s reverse;
}

@keyframes flip {
  0% {
    transform: perspective(400px) rotateY(-1turn);
    animation-timing-function: ease-out
  }

  40% {
    transform: perspective(400px) translateZ(150px) rotateY(-190deg);
    animation-timing-function: ease-out
  }

  50% {
    transform: perspective(400px) translateZ(150px) rotateY(-170deg);
    animation-timing-function: ease-in
  }

  80% {
    transform: perspective(400px) scale3d(.95,.95,.95);
    animation-timing-function: ease-in
  }

  to {
    transform: perspective(400px);
    animation-timing-function: ease-in
  }
}



.flip-enter-active {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  animation: flip .5s;
}
.flip-leave-active {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  animation: flip .5s reverse;
}

@keyframes flipInX {
  0% {
    transform: perspective(400px) rotateX(90deg);
    animation-timing-function: ease-in;
    opacity: 0
  }

  40% {
    transform: perspective(400px) rotateX(-20deg);
    animation-timing-function: ease-in
  }

  60% {
    transform: perspective(400px) rotateX(10deg);
    opacity: 1
  }

  80% {
    transform: perspective(400px) rotateX(-5deg)
  }

  to {
    transform: perspective(400px)
  }
}



.flipInX-enter-active {
  animation: flipInX .5s;
}
.flipInX-leave-active {
  animation: flipInX .5s reverse;
}

@keyframes flipInY {
  0% {
    transform: perspective(400px) rotateY(90deg);
    animation-timing-function: ease-in;
    opacity: 0
  }

  40% {
    transform: perspective(400px) rotateY(-20deg);
    animation-timing-function: ease-in
  }

  60% {
    transform: perspective(400px) rotateY(10deg);
    opacity: 1
  }

  80% {
    transform: perspective(400px) rotateY(-5deg)
  }

  to {
    transform: perspective(400px)
  }
}



.flipOutX-enter-active {
  animation: flipOutX .5s;
}
.flipOutX-leave-active {
  animation: flipOutX .5s reverse;
}

@keyframes flipOutX {
  0% {
    transform: perspective(400px)
  }

  30% {
    transform: perspective(400px) rotateX(-20deg);
    opacity: 1
  }

  to {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0
  }
}


.flipOutX-enter-active {
  animation: flipOutX .5s;
}
.flipOutX-leave-active {
  animation: flipOutX .5s reverse;
}

@keyframes flipOutY {
  0% {
    transform: perspective(400px)
  }

  30% {
    transform: perspective(400px) rotateY(-15deg);
    opacity: 1
  }

  to {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0
  }
}


.flipOutY-enter-active {
  animation: flipOutY .5s;
}
.flipOutY-leave-active {
  animation: flipOutY .5s reverse;
}

@keyframes lightSpeedIn {
  0% {
    transform: translate3d(100%,0,0) skewX(-30deg);
    opacity: 0
  }

  60% {
    transform: skewX(20deg);
    opacity: 1
  }

  80% {
    transform: skewX(-5deg);
    opacity: 1
  }

  to {
    transform: none;
    opacity: 1
  }
}


.lightSpeedIn-enter-active {
  animation: lightSpeedIn .5s;
}
.lightSpeedIn-leave-active {
  animation: lightSpeedIn .5s reverse;
}


@keyframes lightSpeedOut {
  0% {
    opacity: 1
  }

  to {
    transform: translate3d(100%,0,0) skewX(30deg);
    opacity: 0
  }
}



.lightSpeedOut-enter-active {
  animation: lightSpeedOut .5s;
}
.lightSpeedOut-leave-active {
  animation: lightSpeedOut .5s reverse;
}


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

  to {
    transform-origin: center;
    transform: none;
    opacity: 1
  }
}


.rotateIn-enter-active {
  animation: rotateIn .5s;
}
.rotateIn-leave-active {
  animation: rotateIn .5s reverse;
}


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

  to {
    transform-origin: left bottom;
    transform: none;
    opacity: 1
  }
}



.rotateInDownLeft-enter-active {
  animation: rotateInDownLeft .5s;
}
.rotateInDownLeft-leave-active {
  animation: rotateInDownLeft .5s reverse;
}

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

  to {
    transform-origin: right bottom;
    transform: none;
    opacity: 1
  }
}


.rotateInDownRight-enter-active {
  animation: rotateInDownRight .5s;
}
.rotateInDownRight-leave-active {
  animation: rotateInDownRight .5s reverse;
}


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

  to {
    transform-origin: left bottom;
    transform: none;
    opacity: 1
  }
}



.rotateInUpRight-enter-active {
  animation: rotateInUpRight .5s;
}
.rotateInUpRight-leave-active {
  animation: rotateInUpRight .5s reverse;
}


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

  to {
    transform-origin: right bottom;
    transform: none;
    opacity: 1
  }
}


.rotateInUpRight-enter-active {
  animation: rotateInUpRight .5s;
}
.rotateInUpRight-leave-active {
  animation: rotateInUpRight .5s reverse;
}


@keyframes rotateOut {
  0% {
    transform-origin: center;
    opacity: 1
  }

  to {
    transform-origin: center;
    transform: rotate(200deg);
    opacity: 0
  }
}


.rotateOut-enter-active {
  animation: rotateOut .5s;
}
.rotateOut-leave-active {
  animation: rotateOut .5s reverse;
}

@keyframes rotateOutDownLeft {
  0% {
    transform-origin: left bottom;
    opacity: 1
  }

  to {
    transform-origin: left bottom;
    transform: rotate(45deg);
    opacity: 0
  }
}



.rotateOutDownLeft-enter-active {
  animation: rotateOutDownLeft .5s;
}
.rotateOutDownLeft-leave-active {
  animation: rotateOutDownLeft .5s reverse;
}

@keyframes rotateOutDownRight {
  0% {
    transform-origin: right bottom;
    opacity: 1
  }

  to {
    transform-origin: right bottom;
    transform: rotate(-45deg);
    opacity: 0
  }
}


.rotateOutDownRight-enter-active {
  animation: rotateOutDownRight .5s;
}
.rotateOutDownRight-leave-active {
  animation: rotateOutDownRight .5s reverse;
}

@keyframes rotateOutUpLeft {
  0% {
    transform-origin: left bottom;
    opacity: 1
  }

  to {
    transform-origin: left bottom;
    transform: rotate(-45deg);
    opacity: 0
  }
}


.rotateOutUpLeft-enter-active {
  animation: rotateOutUpLeft .5s;
}
.rotateOutUpLeft-leave-active {
  animation: rotateOutUpLeft .5s reverse;
}

@keyframes rotateOutUpRight {
  0% {
    transform-origin: right bottom;
    opacity: 1
  }

  to {
    transform-origin: right bottom;
    transform: rotate(90deg);
    opacity: 0
  }
}



.rotateOutUpRight-enter-active {
  animation: rotateOutUpRight .5s;
}
.rotateOutUpRight-leave-active {
  animation: rotateOutUpRight .5s reverse;
}

@keyframes hinge {
  0% {
    transform-origin: top left;
    animation-timing-function: ease-in-out
  }

  20%,60% {
    transform: rotate(80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out
  }

  40%,80% {
    transform: rotate(60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1
  }

  to {
    transform: translate3d(0,700px,0);
    opacity: 0
  }
}



.hinge-enter-active {
  animation: hinge .5s;
}
.hinge-leave-active {
  animation: hinge .5s reverse;
}

@keyframes jackInTheBox {
  0% {
    opacity: 0;
    transform: scale(.1) rotate(30deg);
    transform-origin: center bottom
  }

  50% {
    transform: rotate(-10deg)
  }

  70% {
    transform: rotate(3deg)
  }

  to {
    opacity: 1;
    transform: scale(1)
  }
}


.jackInTheBox-enter-active {
  animation: jackInTheBox .5s;
}
.jackInTheBox-leave-active {
  animation: jackInTheBox .5s reverse;
}


@keyframes rollIn {
  0% {
    opacity: 0;
    transform: translate3d(-100%,0,0) rotate(-120deg)
  }

  to {
    opacity: 1;
    transform: none
  }
}



.rollIn-enter-active {
  animation: rollIn .5s;
}
.rollIn-leave-active {
  animation: rollIn .5s reverse;
}


@keyframes rollOut {
  0% {
    opacity: 1
  }

  to {
    opacity: 0;
    transform: translate3d(100%,0,0) rotate(120deg)
  }
}


.rollOut-enter-active {
  animation: rollOut .5s;
}
.rollOut-leave-active {
  animation: rollOut .5s reverse;
}

@keyframes zoomIn {
  0% {
    opacity: 0;
    transform: scale3d(.3,.3,.3)
  }

  50% {
    opacity: 1
  }
}



.zoomIn-enter-active {
  animation: zoomIn .5s;
}
.zoomIn-leave-active {
  animation: zoomIn .5s reverse;
}

@keyframes zoomInDown {
  0% {
    opacity: 0;
    transform: scale3d(.1,.1,.1) translate3d(0,-1000px,0);
    animation-timing-function: cubic-bezier(.55,.055,.675,.19)
  }

  60% {
    opacity: 1;
    transform: scale3d(.475,.475,.475) translate3d(0,60px,0);
    animation-timing-function: cubic-bezier(.175,.885,.32,1)
  }
}


.zoomInDown-enter-active {
  animation: zoomInDown .5s;
}
.zoomInDown-leave-active {
  animation: zoomInDown .5s reverse;
}

@keyframes zoomInLeft {
  0% {
    opacity: 0;
    transform: scale3d(.1,.1,.1) translate3d(-1000px,0,0);
    animation-timing-function: cubic-bezier(.55,.055,.675,.19)
  }

  60% {
    opacity: 1;
    transform: scale3d(.475,.475,.475) translate3d(10px,0,0);
    animation-timing-function: cubic-bezier(.175,.885,.32,1)
  }
}
.zoomInLeft-enter-active {
  animation: zoomInLeft .5s;
}
.zoomInLeft-leave-active {
  animation: zoomInLeft .5s reverse;
}



@keyframes zoomInRight {
  0% {
    opacity: 0;
    transform: scale3d(.1,.1,.1) translate3d(1000px,0,0);
    animation-timing-function: cubic-bezier(.55,.055,.675,.19)
  }

  60% {
    opacity: 1;
    transform: scale3d(.475,.475,.475) translate3d(-10px,0,0);
    animation-timing-function: cubic-bezier(.175,.885,.32,1)
  }
}


.zoomInRight-enter-active {
  animation: zoomInRight .5s;
}
.zoomInRight-leave-active {
  animation: zoomInRight .5s reverse;
}

@keyframes zoomInUp {
  0% {
    opacity: 0;
    transform: scale3d(.1,.1,.1) translate3d(0,1000px,0);
    animation-timing-function: cubic-bezier(.55,.055,.675,.19)
  }

  60% {
    opacity: 1;
    transform: scale3d(.475,.475,.475) translate3d(0,-60px,0);
    animation-timing-function: cubic-bezier(.175,.885,.32,1)
  }
}


.zoomInUp-enter-active {
  animation: zoomInUp .5s;
}
.zoomInUp-leave-active {
  animation: zoomInUp .5s reverse;
}


@keyframes zoomOut {
  0% {
    opacity: 1
  }

  50% {
    opacity: 0;
    transform: scale3d(.3,.3,.3)
  }

  to {
    opacity: 0
  }
}


.zoomOut-enter-active {
  animation: zoomOut .5s;
}
.zoomOut-leave-active {
  animation: zoomOut .5s reverse;
}

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    transform: scale3d(.475,.475,.475) translate3d(0,-60px,0);
    animation-timing-function: cubic-bezier(.55,.055,.675,.19)
  }

  to {
    opacity: 0;
    transform: scale3d(.1,.1,.1) translate3d(0,2000px,0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(.175,.885,.32,1)
  }
}


.zoomOutDown-enter-active {
  animation: zoomOutDown .5s;
}
.zoomOutDown-leave-active {
  animation: zoomOutDown .5s reverse;
}

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    transform: scale3d(.475,.475,.475) translate3d(42px,0,0)
  }

  to {
    opacity: 0;
    transform: scale(.1) translate3d(-2000px,0,0);
    transform-origin: left center
  }
}



.zoomOutLeft-enter-active {
  animation: zoomOutLeft .5s;
}
.zoomOutLeft-leave-active {
  animation: zoomOutLeft .5s reverse;
}

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    transform: scale3d(.475,.475,.475) translate3d(-42px,0,0)
  }

  to {
    opacity: 0;
    transform: scale(.1) translate3d(2000px,0,0);
    transform-origin: right center
  }
}




.zoomOutRight-enter-active {
  animation: zoomOutRight .5s;
}
.zoomOutRight-leave-active {
  animation: zoomOutRight .5s reverse;
}

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    transform: scale3d(.475,.475,.475) translate3d(0,60px,0);
    animation-timing-function: cubic-bezier(.55,.055,.675,.19)
  }

  to {
    opacity: 0;
    transform: scale3d(.1,.1,.1) translate3d(0,-2000px,0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(.175,.885,.32,1)
  }
}



.zoomOutUp-enter-active {
  animation: zoomOutUp .5s;
}
.zoomOutUp-leave-active {
  animation: zoomOutUp .5s reverse;
}

@keyframes slideInDown {
  0% {
    transform: translate3d(0,-100%,0);
    visibility: visible
  }

  to {
    transform: translateZ(0)
  }
}


.slideInDown-enter-active {
  animation: slideInDown .5s;
}
.slideInDown-leave-active {
  animation: slideInDown .5s reverse;
}

@keyframes slideInLeft {
  0% {
    transform: translate3d(-100%,0,0);
    visibility: visible
  }

  to {
    transform: translateZ(0)
  }
}



.slideInLeft-enter-active {
  animation: slideInLeft .5s;
}
.slideInLeft-leave-active {
  animation: slideInLeft .5s reverse;
}


@keyframes slideInRight {
  0% {
    transform: translate3d(100%,0,0);
    visibility: visible
  }

  to {
    transform: translateZ(0)
  }
}



.slideInRight-enter-active {
  animation: slideInRight .5s;
}
.slideInRight-leave-active {
  animation: slideInRight .5s reverse;
}


@keyframes slideInUp {
  0% {
    transform: translate3d(0,100%,0);
    visibility: visible
  }

  to {
    transform: translateZ(0)
  }
}



.slideInUp-enter-active {
  animation: slideInUp .5s;
}
.slideInUp-leave-active {
  animation: slideInUp .5s reverse;
}

@keyframes slideOutDown {
  0% {
    transform: translateZ(0)
  }

  to {
    visibility: hidden;
    transform: translate3d(0,100%,0)
  }
}


.slideOutDown-enter-active {
  animation: slideOutDown .5s;
}
.slideOutDown-leave-active {
  animation: slideOutDown .5s reverse;
}

@keyframes slideOutLeft {
  0% {
    transform: translateZ(0)
  }

  to {
    visibility: hidden;
    transform: translate3d(-100%,0,0)
  }
}


.slideOutLeft-enter-active {
  animation: slideOutLeft .5s;
}
.slideOutLeft-leave-active {
  animation: slideOutLeft .5s reverse;
}

@keyframes slideOutRight {
  0% {
    transform: translateZ(0)
  }

  to {
    visibility: hidden;
    transform: translate3d(100%,0,0)
  }
}



.slideOutRight-enter-active {
  animation: slideOutRight .5s;
}
.slideOutRight-leave-active {
  animation: slideOutRight .5s reverse;
}

@keyframes slideOutUp {
  0% {
    transform: translateZ(0)
  }

  to {
    visibility: hidden;
    transform: translate3d(0,-100%,0)
  }
}

.slideOutUp-enter-active {
  animation: slideOutUp .5s;
}
.slideOutUp-leave-active {
  animation: slideOutUp .5s reverse;
}


