.animated {
  -webkit-animation-duration: 1.4s;
  animation-duration: 1.4s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

@-webkit-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translatey(0);
    transform: translatey(0);
  }

  40% {
    -webkit-transform: translatey(-30px);
    transform: translatey(-30px);
  }

  60% {
    -webkit-transform: translatey(-15px);
    transform: translatey(-15px);
  }
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translatey(0);
    -ms-transform: translatey(0);
    transform: translatey(0);
  }

  40% {
    -webkit-transform: translatey(-30px);
    -ms-transform: translatey(-30px);
    transform: translatey(-30px);
  }

  60% {
    -webkit-transform: translatey(-15px);
    -ms-transform: translatey(-15px);
    transform: translatey(-15px);
  }
}

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
}

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

  25%, 75% {
    opacity: 0;
  }
}

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

  25%, 75% {
    opacity: 0;
  }
}

.flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}

/* originally authored by nick pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

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

@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }

  50% {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
  }

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

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
}

@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: translatex(0);
    transform: translatex(0);
  }

  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translatex(-10px);
    transform: translatex(-10px);
  }

  20%, 40%, 60%, 80% {
    -webkit-transform: translatex(10px);
    transform: translatex(10px);
  }
}

@keyframes shake {
  0%, 100% {
    -webkit-transform: translatex(0);
    -ms-transform: translatex(0);
    transform: translatex(0);
  }

  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translatex(-10px);
    -ms-transform: translatex(-10px);
    transform: translatex(-10px);
  }

  20%, 40%, 60%, 80% {
    -webkit-transform: translatex(10px);
    -ms-transform: translatex(10px);
    transform: translatex(10px);
  }
}

.shake {
  -webkit-animation-name: shake;
  animation-name: shake;
}

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

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

  60% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }

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

  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}

@keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    transform: rotate(15deg);
  }

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

  60% {
    -webkit-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    transform: rotate(5deg);
  }

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

  100% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}

.swing {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}

@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  10%, 20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg);
  }

  30%, 50%, 70%, 90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg);
  }

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

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

@keyframes tada {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }

  10%, 20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg);
  }

  30%, 50%, 70%, 90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg);
  }

  40%, 60%, 80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg);
  }

  100% {
    -webkit-transform: scale(1) rotate(0);
    -ms-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0);
  }
}

.tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}

/* originally authored by nick pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translatex(0%);
    transform: translatex(0%);
  }

  15% {
    -webkit-transform: translatex(-25%) rotate(-5deg);
    transform: translatex(-25%) rotate(-5deg);
  }

  30% {
    -webkit-transform: translatex(20%) rotate(3deg);
    transform: translatex(20%) rotate(3deg);
  }

  45% {
    -webkit-transform: translatex(-15%) rotate(-3deg);
    transform: translatex(-15%) rotate(-3deg);
  }

  60% {
    -webkit-transform: translatex(10%) rotate(2deg);
    transform: translatex(10%) rotate(2deg);
  }

  75% {
    -webkit-transform: translatex(-5%) rotate(-1deg);
    transform: translatex(-5%) rotate(-1deg);
  }

  100% {
    -webkit-transform: translatex(0%);
    transform: translatex(0%);
  }
}

@keyframes wobble {
  0% {
    -webkit-transform: translatex(0%);
    -ms-transform: translatex(0%);
    transform: translatex(0%);
  }

  15% {
    -webkit-transform: translatex(-25%) rotate(-5deg);
    -ms-transform: translatex(-25%) rotate(-5deg);
    transform: translatex(-25%) rotate(-5deg);
  }

  30% {
    -webkit-transform: translatex(20%) rotate(3deg);
    -ms-transform: translatex(20%) rotate(3deg);
    transform: translatex(20%) rotate(3deg);
  }

  45% {
    -webkit-transform: translatex(-15%) rotate(-3deg);
    -ms-transform: translatex(-15%) rotate(-3deg);
    transform: translatex(-15%) rotate(-3deg);
  }

  60% {
    -webkit-transform: translatex(10%) rotate(2deg);
    -ms-transform: translatex(10%) rotate(2deg);
    transform: translatex(10%) rotate(2deg);
  }

  75% {
    -webkit-transform: translatex(-5%) rotate(-1deg);
    -ms-transform: translatex(-5%) rotate(-1deg);
    transform: translatex(-5%) rotate(-1deg);
  }

  100% {
    -webkit-transform: translatex(0%);
    -ms-transform: translatex(0%);
    transform: translatex(0%);
  }
}

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}

@-webkit-keyframes bouncein {
  0% {
    opacity: 0;
    -webkit-transform: scale(.3);
    transform: scale(.3);
  }

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

  70% {
    -webkit-transform: scale(.9);
    transform: scale(.9);
  }

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

@keyframes bouncein {
  0% {
    opacity: 0;
    -webkit-transform: scale(.3);
    -ms-transform: scale(.3);
    transform: scale(.3);
  }

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

  70% {
    -webkit-transform: scale(.9);
    -ms-transform: scale(.9);
    transform: scale(.9);
  }

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

.bouncein {
  -webkit-animation-name: bouncein;
  animation-name: bouncein;
}

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

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

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

  100% {
    -webkit-transform: translatey(0);
    transform: translatey(0);
  }
}

@keyframes bounceindown {
  0% {
    opacity: 0;
    -webkit-transform: translatey(-2000px);
    -ms-transform: translatey(-2000px);
    transform: translatey(-2000px);
  }

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

  80% {
    -webkit-transform: translatey(-10px);
    -ms-transform: translatey(-10px);
    transform: translatey(-10px);
  }

  100% {
    -webkit-transform: translatey(0);
    -ms-transform: translatey(0);
    transform: translatey(0);
  }
}

.bounceindown {
  -webkit-animation-name: bounceindown;
  animation-name: bounceindown;
}

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

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

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

  100% {
    -webkit-transform: translatex(0);
    transform: translatex(0);
  }
}

@keyframes bounceinleft {
  0% {
    opacity: 0;
    -webkit-transform: translatex(-2000px);
    -ms-transform: translatex(-2000px);
    transform: translatex(-2000px);
  }

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

  80% {
    -webkit-transform: translatex(-10px);
    -ms-transform: translatex(-10px);
    transform: translatex(-10px);
  }

  100% {
    -webkit-transform: translatex(0);
    -ms-transform: translatex(0);
    transform: translatex(0);
  }
}

.bounceinleft {
  -webkit-animation-name: bounceinleft;
  animation-name: bounceinleft;
}

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

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

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

  100% {
    -webkit-transform: translatex(0);
    transform: translatex(0);
  }
}

@keyframes bounceinright {
  0% {
    opacity: 0;
    -webkit-transform: translatex(2000px);
    -ms-transform: translatex(2000px);
    transform: translatex(2000px);
  }

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

  80% {
    -webkit-transform: translatex(10px);
    -ms-transform: translatex(10px);
    transform: translatex(10px);
  }

  100% {
    -webkit-transform: translatex(0);
    -ms-transform: translatex(0);
    transform: translatex(0);
  }
}

.bounceinright {
  -webkit-animation-name: bounceinright;
  animation-name: bounceinright;
}

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

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

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

  100% {
    -webkit-transform: translatey(0);
    transform: translatey(0);
  }
}

@keyframes bounceinup {
  0% {
    opacity: 0;
    -webkit-transform: translatey(30px);
    -ms-transform: translatey(30px);
    transform: translatey(30px);
  }

  60% {
    opacity: 1;
    /*-webkit-transform: translatey(-15px);*/
    /*-ms-transform: translatey(-15px);*/
    /*transform: translatey(-15px);*/
  }

  80% {
    /*-webkit-transform: translatey(10px);*/
    /*-ms-transform: translatey(10px);*/
    /*transform: translatey(10px);*/
  }

  100% {
    -webkit-transform: translatey(0);
    -ms-transform: translatey(0);
    transform: translatey(0);
  }
}

.bounceinup {
  -webkit-animation-name: bounceinup;
  animation-name: bounceinup;
}

@-webkit-keyframes bounceout {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  25% {
    -webkit-transform: scale(.95);
    transform: scale(.95);
  }

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

  100% {
    opacity: 0;
    -webkit-transform: scale(.3);
    transform: scale(.3);
  }
}

@keyframes bounceout {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }

  25% {
    -webkit-transform: scale(.95);
    -ms-transform: scale(.95);
    transform: scale(.95);
  }

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

  100% {
    opacity: 0;
    -webkit-transform: scale(.3);
    -ms-transform: scale(.3);
    transform: scale(.3);
  }
}

.bounceout {
  -webkit-animation-name: bounceout;
  animation-name: bounceout;
}

@-webkit-keyframes bounceoutdown {
  0% {
    -webkit-transform: translatey(0);
    transform: translatey(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translatey(-20px);
    transform: translatey(-20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatey(2000px);
    transform: translatey(2000px);
  }
}

@keyframes bounceoutdown {
  0% {
    -webkit-transform: translatey(0);
    -ms-transform: translatey(0);
    transform: translatey(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translatey(-20px);
    -ms-transform: translatey(-20px);
    transform: translatey(-20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatey(2000px);
    -ms-transform: translatey(2000px);
    transform: translatey(2000px);
  }
}

.bounceoutdown {
  -webkit-animation-name: bounceoutdown;
  animation-name: bounceoutdown;
}

@-webkit-keyframes bounceoutleft {
  0% {
    -webkit-transform: translatex(0);
    transform: translatex(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translatex(20px);
    transform: translatex(20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatex(-2000px);
    transform: translatex(-2000px);
  }
}

@keyframes bounceoutleft {
  0% {
    -webkit-transform: translatex(0);
    -ms-transform: translatex(0);
    transform: translatex(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translatex(20px);
    -ms-transform: translatex(20px);
    transform: translatex(20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatex(-2000px);
    -ms-transform: translatex(-2000px);
    transform: translatex(-2000px);
  }
}

.bounceoutleft {
  -webkit-animation-name: bounceoutleft;
  animation-name: bounceoutleft;
}

@-webkit-keyframes bounceoutright {
  0% {
    -webkit-transform: translatex(0);
    transform: translatex(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translatex(-20px);
    transform: translatex(-20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatex(2000px);
    transform: translatex(2000px);
  }
}

@keyframes bounceoutright {
  0% {
    -webkit-transform: translatex(0);
    -ms-transform: translatex(0);
    transform: translatex(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translatex(-20px);
    -ms-transform: translatex(-20px);
    transform: translatex(-20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatex(2000px);
    -ms-transform: translatex(2000px);
    transform: translatex(2000px);
  }
}

.bounceoutright {
  -webkit-animation-name: bounceoutright;
  animation-name: bounceoutright;
}

@-webkit-keyframes bounceoutup {
  0% {
    -webkit-transform: translatey(0);
    transform: translatey(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translatey(20px);
    transform: translatey(20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatey(-2000px);
    transform: translatey(-2000px);
  }
}

@keyframes bounceoutup {
  0% {
    -webkit-transform: translatey(0);
    -ms-transform: translatey(0);
    transform: translatey(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translatey(20px);
    -ms-transform: translatey(20px);
    transform: translatey(20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatey(-2000px);
    -ms-transform: translatey(-2000px);
    transform: translatey(-2000px);
  }
}

.bounceoutup {
  -webkit-animation-name: bounceoutup;
  animation-name: bounceoutup;
}

@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadein {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.fadein {
  -webkit-animation-name: fadein;
  animation-name: fadein;
}

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

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

@keyframes fadeindown {
  0% {
    opacity: 0;
    -webkit-transform: translatey(-20px);
    -ms-transform: translatey(-20px);
    transform: translatey(-20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translatey(0);
    -ms-transform: translatey(0);
    transform: translatey(0);
  }
}

.fadeindown {
  -webkit-animation-name: fadeindown;
  animation-name: fadeindown;
}

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

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

@keyframes fadeindownbig {
  0% {
    opacity: 0;
    -webkit-transform: translatey(-2000px);
    -ms-transform: translatey(-2000px);
    transform: translatey(-2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translatey(0);
    -ms-transform: translatey(0);
    transform: translatey(0);
  }
}

.fadeindownbig {
  -webkit-animation-name: fadeindownbig;
  animation-name: fadeindownbig;
}

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

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

@keyframes fadeinleft {
  0% {
    opacity: 0;
    -webkit-transform: translatex(-20px);
    -ms-transform: translatex(-20px);
    transform: translatex(-20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translatex(0);
    -ms-transform: translatex(0);
    transform: translatex(0);
  }
}

.fadeinleft {
  -webkit-animation-name: fadeinleft;
  animation-name: fadeinleft;
}

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

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

@keyframes fadeinleftbig {
  0% {
    opacity: 0;
    -webkit-transform: translatex(-2000px);
    -ms-transform: translatex(-2000px);
    transform: translatex(-2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translatex(0);
    -ms-transform: translatex(0);
    transform: translatex(0);
  }
}

.fadeinleftbig {
  -webkit-animation-name: fadeinleftbig;
  animation-name: fadeinleftbig;
}

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

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

@keyframes fadeinright {
  0% {
    opacity: 0;
    -webkit-transform: translatex(20px);
    -ms-transform: translatex(20px);
    transform: translatex(20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translatex(0);
    -ms-transform: translatex(0);
    transform: translatex(0);
  }
}

.fadeinright {
  -webkit-animation-name: fadeinright;
  animation-name: fadeinright;
}

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

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

@keyframes fadeinrightbig {
  0% {
    opacity: 0;
    -webkit-transform: translatex(2000px);
    -ms-transform: translatex(2000px);
    transform: translatex(2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translatex(0);
    -ms-transform: translatex(0);
    transform: translatex(0);
  }
}

.fadeinrightbig {
  -webkit-animation-name: fadeinrightbig;
  animation-name: fadeinrightbig;
}

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

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

@keyframes fadeinup {
  0% {
    opacity: 0;
    -webkit-transform: translatey(20px);
    -ms-transform: translatey(20px);
    transform: translatey(20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translatey(0);
    -ms-transform: translatey(0);
    transform: translatey(0);
  }
}

.fadeinup {
  -webkit-animation-name: fadeinup;
  animation-name: fadeinup;
}

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

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

@keyframes fadeinupbig {
  0% {
    opacity: 0;
    -webkit-transform: translatey(2000px);
    -ms-transform: translatey(2000px);
    transform: translatey(2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translatey(0);
    -ms-transform: translatey(0);
    transform: translatey(0);
  }
}

.fadeinupbig {
  -webkit-animation-name: fadeinupbig;
  animation-name: fadeinupbig;
}

@-webkit-keyframes fadeout {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes fadeout {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.fadeout {
  -webkit-animation-name: fadeout;
  animation-name: fadeout;
}

@-webkit-keyframes fadeoutdown {
  0% {
    opacity: 1;
    -webkit-transform: translatey(0);
    transform: translatey(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatey(20px);
    transform: translatey(20px);
  }
}

@keyframes fadeoutdown {
  0% {
    opacity: 1;
    -webkit-transform: translatey(0);
    -ms-transform: translatey(0);
    transform: translatey(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatey(20px);
    -ms-transform: translatey(20px);
    transform: translatey(20px);
  }
}

.fadeoutdown {
  -webkit-animation-name: fadeoutdown;
  animation-name: fadeoutdown;
}

@-webkit-keyframes fadeoutdownbig {
  0% {
    opacity: 1;
    -webkit-transform: translatey(0);
    transform: translatey(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatey(2000px);
    transform: translatey(2000px);
  }
}

@keyframes fadeoutdownbig {
  0% {
    opacity: 1;
    -webkit-transform: translatey(0);
    -ms-transform: translatey(0);
    transform: translatey(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatey(2000px);
    -ms-transform: translatey(2000px);
    transform: translatey(2000px);
  }
}

.fadeoutdownbig {
  -webkit-animation-name: fadeoutdownbig;
  animation-name: fadeoutdownbig;
}

@-webkit-keyframes fadeoutleft {
  0% {
    opacity: 1;
    -webkit-transform: translatex(0);
    transform: translatex(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatex(-20px);
    transform: translatex(-20px);
  }
}

@keyframes fadeoutleft {
  0% {
    opacity: 1;
    -webkit-transform: translatex(0);
    -ms-transform: translatex(0);
    transform: translatex(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatex(-20px);
    -ms-transform: translatex(-20px);
    transform: translatex(-20px);
  }
}

.fadeoutleft {
  -webkit-animation-name: fadeoutleft;
  animation-name: fadeoutleft;
}

@-webkit-keyframes fadeoutleftbig {
  0% {
    opacity: 1;
    -webkit-transform: translatex(0);
    transform: translatex(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatex(-2000px);
    transform: translatex(-2000px);
  }
}

@keyframes fadeoutleftbig {
  0% {
    opacity: 1;
    -webkit-transform: translatex(0);
    -ms-transform: translatex(0);
    transform: translatex(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatex(-2000px);
    -ms-transform: translatex(-2000px);
    transform: translatex(-2000px);
  }
}

.fadeoutleftbig {
  -webkit-animation-name: fadeoutleftbig;
  animation-name: fadeoutleftbig;
}

@-webkit-keyframes fadeoutright {
  0% {
    opacity: 1;
    -webkit-transform: translatex(0);
    transform: translatex(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatex(20px);
    transform: translatex(20px);
  }
}

@keyframes fadeoutright {
  0% {
    opacity: 1;
    -webkit-transform: translatex(0);
    -ms-transform: translatex(0);
    transform: translatex(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatex(20px);
    -ms-transform: translatex(20px);
    transform: translatex(20px);
  }
}

.fadeoutright {
  -webkit-animation-name: fadeoutright;
  animation-name: fadeoutright;
}

@-webkit-keyframes fadeoutrightbig {
  0% {
    opacity: 1;
    -webkit-transform: translatex(0);
    transform: translatex(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatex(2000px);
    transform: translatex(2000px);
  }
}

@keyframes fadeoutrightbig {
  0% {
    opacity: 1;
    -webkit-transform: translatex(0);
    -ms-transform: translatex(0);
    transform: translatex(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatex(2000px);
    -ms-transform: translatex(2000px);
    transform: translatex(2000px);
  }
}

.fadeoutrightbig {
  -webkit-animation-name: fadeoutrightbig;
  animation-name: fadeoutrightbig;
}

@-webkit-keyframes fadeoutup {
  0% {
    opacity: 1;
    -webkit-transform: translatey(0);
    transform: translatey(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatey(-20px);
    transform: translatey(-20px);
  }
}

@keyframes fadeoutup {
  0% {
    opacity: 1;
    -webkit-transform: translatey(0);
    -ms-transform: translatey(0);
    transform: translatey(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatey(-20px);
    -ms-transform: translatey(-20px);
    transform: translatey(-20px);
  }
}

.fadeoutup {
  -webkit-animation-name: fadeoutup;
  animation-name: fadeoutup;
}

@-webkit-keyframes fadeoutupbig {
  0% {
    opacity: 1;
    -webkit-transform: translatey(0);
    transform: translatey(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatey(-2000px);
    transform: translatey(-2000px);
  }
}

@keyframes fadeoutupbig {
  0% {
    opacity: 1;
    -webkit-transform: translatey(0);
    -ms-transform: translatey(0);
    transform: translatey(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatey(-2000px);
    -ms-transform: translatey(-2000px);
    transform: translatey(-2000px);
  }
}

.fadeoutupbig {
  -webkit-animation-name: fadeoutupbig;
  animation-name: fadeoutupbig;
}

@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) translatez(0) rotatey(0) scale(1);
    transform: perspective(400px) translatez(0) rotatey(0) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translatez(150px) rotatey(170deg) scale(1);
    transform: perspective(400px) translatez(150px) rotatey(170deg) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) translatez(150px) rotatey(190deg) scale(1);
    transform: perspective(400px) translatez(150px) rotatey(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) translatez(0) rotatey(360deg) scale(.95);
    transform: perspective(400px) translatez(0) rotatey(360deg) scale(.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  100% {
    -webkit-transform: perspective(400px) translatez(0) rotatey(360deg) scale(1);
    transform: perspective(400px) translatez(0) rotatey(360deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) translatez(0) rotatey(0) scale(1);
    -ms-transform: perspective(400px) translatez(0) rotatey(0) scale(1);
    transform: perspective(400px) translatez(0) rotatey(0) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translatez(150px) rotatey(170deg) scale(1);
    -ms-transform: perspective(400px) translatez(150px) rotatey(170deg) scale(1);
    transform: perspective(400px) translatez(150px) rotatey(170deg) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) translatez(150px) rotatey(190deg) scale(1);
    -ms-transform: perspective(400px) translatez(150px) rotatey(190deg) scale(1);
    transform: perspective(400px) translatez(150px) rotatey(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) translatez(0) rotatey(360deg) scale(.95);
    -ms-transform: perspective(400px) translatez(0) rotatey(360deg) scale(.95);
    transform: perspective(400px) translatez(0) rotatey(360deg) scale(.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  100% {
    -webkit-transform: perspective(400px) translatez(0) rotatey(360deg) scale(1);
    -ms-transform: perspective(400px) translatez(0) rotatey(360deg) scale(1);
    transform: perspective(400px) translatez(0) rotatey(360deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

.animated.flip {
  -webkit-backface-visibility: visible;
  -ms-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}

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

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

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

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

@keyframes flipinx {
  0% {
    -webkit-transform: perspective(400px) rotatex(90deg);
    -ms-transform: perspective(400px) rotatex(90deg);
    transform: perspective(400px) rotatex(90deg);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotatex(-10deg);
    -ms-transform: perspective(400px) rotatex(-10deg);
    transform: perspective(400px) rotatex(-10deg);
  }

  70% {
    -webkit-transform: perspective(400px) rotatex(10deg);
    -ms-transform: perspective(400px) rotatex(10deg);
    transform: perspective(400px) rotatex(10deg);
  }

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

.flipinx {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipinx;
  animation-name: flipinx;
}

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

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

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

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

@keyframes flipiny {
  0% {
    -webkit-transform: perspective(400px) rotatey(90deg);
    -ms-transform: perspective(400px) rotatey(90deg);
    transform: perspective(400px) rotatey(90deg);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotatey(-10deg);
    -ms-transform: perspective(400px) rotatey(-10deg);
    transform: perspective(400px) rotatey(-10deg);
  }

  70% {
    -webkit-transform: perspective(400px) rotatey(10deg);
    -ms-transform: perspective(400px) rotatey(10deg);
    transform: perspective(400px) rotatey(10deg);
  }

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

.flipiny {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipiny;
  animation-name: flipiny;
}

@-webkit-keyframes flipoutx {
  0% {
    -webkit-transform: perspective(400px) rotatex(0deg);
    transform: perspective(400px) rotatex(0deg);
    opacity: 1;
  }

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

@keyframes flipoutx {
  0% {
    -webkit-transform: perspective(400px) rotatex(0deg);
    -ms-transform: perspective(400px) rotatex(0deg);
    transform: perspective(400px) rotatex(0deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(400px) rotatex(90deg);
    -ms-transform: perspective(400px) rotatex(90deg);
    transform: perspective(400px) rotatex(90deg);
    opacity: 0;
  }
}

.flipoutx {
  -webkit-animation-name: flipoutx;
  animation-name: flipoutx;
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipouty {
  0% {
    -webkit-transform: perspective(400px) rotatey(0deg);
    transform: perspective(400px) rotatey(0deg);
    opacity: 1;
  }

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

@keyframes flipouty {
  0% {
    -webkit-transform: perspective(400px) rotatey(0deg);
    -ms-transform: perspective(400px) rotatey(0deg);
    transform: perspective(400px) rotatey(0deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(400px) rotatey(90deg);
    -ms-transform: perspective(400px) rotatey(90deg);
    transform: perspective(400px) rotatey(90deg);
    opacity: 0;
  }
}

.flipouty {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipouty;
  animation-name: flipouty;
}

@-webkit-keyframes lightspeedin {
  0% {
    -webkit-transform: translatex(100%) skewx(-30deg);
    transform: translatex(100%) skewx(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: translatex(-20%) skewx(30deg);
    transform: translatex(-20%) skewx(30deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: translatex(0%) skewx(-15deg);
    transform: translatex(0%) skewx(-15deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: translatex(0%) skewx(0deg);
    transform: translatex(0%) skewx(0deg);
    opacity: 1;
  }
}

@keyframes lightspeedin {
  0% {
    -webkit-transform: translatex(100%) skewx(-30deg);
    -ms-transform: translatex(100%) skewx(-30deg);
    transform: translatex(100%) skewx(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: translatex(-20%) skewx(30deg);
    -ms-transform: translatex(-20%) skewx(30deg);
    transform: translatex(-20%) skewx(30deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: translatex(0%) skewx(-15deg);
    -ms-transform: translatex(0%) skewx(-15deg);
    transform: translatex(0%) skewx(-15deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: translatex(0%) skewx(0deg);
    -ms-transform: translatex(0%) skewx(0deg);
    transform: translatex(0%) skewx(0deg);
    opacity: 1;
  }
}

.lightspeedin {
  -webkit-animation-name: lightspeedin;
  animation-name: lightspeedin;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

@-webkit-keyframes lightspeedout {
  0% {
    -webkit-transform: translatex(0%) skewx(0deg);
    transform: translatex(0%) skewx(0deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: translatex(100%) skewx(-30deg);
    transform: translatex(100%) skewx(-30deg);
    opacity: 0;
  }
}

@keyframes lightspeedout {
  0% {
    -webkit-transform: translatex(0%) skewx(0deg);
    -ms-transform: translatex(0%) skewx(0deg);
    transform: translatex(0%) skewx(0deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: translatex(100%) skewx(-30deg);
    -ms-transform: translatex(100%) skewx(-30deg);
    transform: translatex(100%) skewx(-30deg);
    opacity: 0;
  }
}

.lightspeedout {
  -webkit-animation-name: lightspeedout;
  animation-name: lightspeedout;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

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

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

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

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

.rotatein {
  -webkit-animation-name: rotatein;
  animation-name: rotatein;
}

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

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

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

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

.rotateindownleft {
  -webkit-animation-name: rotateindownleft;
  animation-name: rotateindownleft;
}

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

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

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

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

.rotateindownright {
  -webkit-animation-name: rotateindownright;
  animation-name: rotateindownright;
}

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

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

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

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

.rotateinupleft {
  -webkit-animation-name: rotateinupleft;
  animation-name: rotateinupleft;
}

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

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

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

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

.rotateinupright {
  -webkit-animation-name: rotateinupright;
  animation-name: rotateinupright;
}

@-webkit-keyframes rotateout {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

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

@keyframes rotateout {
  0% {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(200deg);
    -ms-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0;
  }
}

.rotateout {
  -webkit-animation-name: rotateout;
  animation-name: rotateout;
}

@-webkit-keyframes rotateoutdownleft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

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

@keyframes rotateoutdownleft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

.rotateoutdownleft {
  -webkit-animation-name: rotateoutdownleft;
  animation-name: rotateoutdownleft;
}

@-webkit-keyframes rotateoutdownright {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

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

@keyframes rotateoutdownright {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

.rotateoutdownright {
  -webkit-animation-name: rotateoutdownright;
  animation-name: rotateoutdownright;
}

@-webkit-keyframes rotateoutupleft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

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

@keyframes rotateoutupleft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

.rotateoutupleft {
  -webkit-animation-name: rotateoutupleft;
  animation-name: rotateoutupleft;
}

@-webkit-keyframes rotateoutupright {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

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

@keyframes rotateoutupright {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

.rotateoutupright {
  -webkit-animation-name: rotateoutupright;
  animation-name: rotateoutupright;
}

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

  100% {
    -webkit-transform: translatey(0);
    transform: translatey(0);
  }
}

@keyframes slideindown {
  0% {
    opacity: 0;
    -webkit-transform: translatey(-2000px);
    -ms-transform: translatey(-2000px);
    transform: translatey(-2000px);
  }

  100% {
    -webkit-transform: translatey(0);
    -ms-transform: translatey(0);
    transform: translatey(0);
  }
}

.slideindown {
  -webkit-animation-name: slideindown;
  animation-name: slideindown;
}

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

  100% {
    -webkit-transform: translatex(0);
    transform: translatex(0);
  }
}

@keyframes slideinleft {
  0% {
    opacity: 0;
    -webkit-transform: translatex(-2000px);
    -ms-transform: translatex(-2000px);
    transform: translatex(-2000px);
  }

  100% {
    -webkit-transform: translatex(0);
    -ms-transform: translatex(0);
    transform: translatex(0);
  }
}

.slideinleft {
  -webkit-animation-name: slideinleft;
  animation-name: slideinleft;
}

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

  100% {
    -webkit-transform: translatex(0);
    transform: translatex(0);
  }
}

@keyframes slideinright {
  0% {
    opacity: 0;
    -webkit-transform: translatex(2000px);
    -ms-transform: translatex(2000px);
    transform: translatex(2000px);
  }

  100% {
    -webkit-transform: translatex(0);
    -ms-transform: translatex(0);
    transform: translatex(0);
  }
}

.slideinright {
  -webkit-animation-name: slideinright;
  animation-name: slideinright;
}

@-webkit-keyframes slideoutleft {
  0% {
    -webkit-transform: translatex(0);
    transform: translatex(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatex(-2000px);
    transform: translatex(-2000px);
  }
}

@keyframes slideoutleft {
  0% {
    -webkit-transform: translatex(0);
    -ms-transform: translatex(0);
    transform: translatex(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatex(-2000px);
    -ms-transform: translatex(-2000px);
    transform: translatex(-2000px);
  }
}

.slideoutleft {
  -webkit-animation-name: slideoutleft;
  animation-name: slideoutleft;
}

@-webkit-keyframes slideoutright {
  0% {
    -webkit-transform: translatex(0);
    transform: translatex(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatex(2000px);
    transform: translatex(2000px);
  }
}

@keyframes slideoutright {
  0% {
    -webkit-transform: translatex(0);
    -ms-transform: translatex(0);
    transform: translatex(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatex(2000px);
    -ms-transform: translatex(2000px);
    transform: translatex(2000px);
  }
}

.slideoutright {
  -webkit-animation-name: slideoutright;
  animation-name: slideoutright;
}

@-webkit-keyframes slideoutup {
  0% {
    -webkit-transform: translatey(0);
    transform: translatey(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatey(-2000px);
    transform: translatey(-2000px);
  }
}

@keyframes slideoutup {
  0% {
    -webkit-transform: translatey(0);
    -ms-transform: translatey(0);
    transform: translatey(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatey(-2000px);
    -ms-transform: translatey(-2000px);
    transform: translatey(-2000px);
  }
}

.slideoutup {
  -webkit-animation-name: slideoutup;
  animation-name: slideoutup;
}

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

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

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

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

  100% {
    -webkit-transform: translatey(700px);
    transform: translatey(700px);
    opacity: 0;
  }
}

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

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

  40% {
    -webkit-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

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

  100% {
    -webkit-transform: translatey(700px);
    -ms-transform: translatey(700px);
    transform: translatey(700px);
    opacity: 0;
  }
}

.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge;
}

/* originally authored by nick pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollin {
  0% {
    opacity: 0;
    -webkit-transform: translatex(-100%) rotate(-120deg);
    transform: translatex(-100%) rotate(-120deg);
  }

  100% {
    opacity: 1;
    -webkit-transform: translatex(0px) rotate(0deg);
    transform: translatex(0px) rotate(0deg);
  }
}

@keyframes rollin {
  0% {
    opacity: 0;
    -webkit-transform: translatex(-100%) rotate(-120deg);
    -ms-transform: translatex(-100%) rotate(-120deg);
    transform: translatex(-100%) rotate(-120deg);
  }

  100% {
    opacity: 1;
    -webkit-transform: translatex(0px) rotate(0deg);
    -ms-transform: translatex(0px) rotate(0deg);
    transform: translatex(0px) rotate(0deg);
  }
}

.rollin {
  -webkit-animation-name: rollin;
  animation-name: rollin;
}

/* originally authored by nick pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollout {
  0% {
    opacity: 1;
    -webkit-transform: translatex(0px) rotate(0deg);
    transform: translatex(0px) rotate(0deg);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatex(100%) rotate(120deg);
    transform: translatex(100%) rotate(120deg);
  }
}

@keyframes rollout {
  0% {
    opacity: 1;
    -webkit-transform: translatex(0px) rotate(0deg);
    -ms-transform: translatex(0px) rotate(0deg);
    transform: translatex(0px) rotate(0deg);
  }

  100% {
    opacity: 0;
    -webkit-transform: translatex(100%) rotate(120deg);
    -ms-transform: translatex(100%) rotate(120deg);
    transform: translatex(100%) rotate(120deg);
  }
}

.rollout {
  -webkit-animation-name: rollout;
  animation-name: rollout;
}
