.md-perspective,
.md-perspective body {
  height: 100%;
  overflow: hidden;
}

.md-perspective body {
  -webkit-perspective: 600px;
  -ms-perspective: 600px;
  perspective: 600px;
}

.effeckt-modal-wrap {
  position: fixed;
  top: 40%;
  left: 50%;
  max-width: 320px;
  min-width: 320px;
  margin-left: -160px;
  z-index: 2000;
  display: none;
}

.effeckt-modal {
  visibility: hidden;
  -webkit-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  backface-visibility: hidden;
}

.effeckt-show .effeckt-modal {
  visibility: visible;
}

.effeckt-overlay.effeckt-show {
  opacity: 1;
  visibility: visible;
}

.effeckt-overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  visibility: hidden;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: 500ms;
  transition: 500ms;
}

/*
  Individual modal styles with animations/transitions
*/

.from-above .effeckt-modal {
  -webkit-transform: scale(1.5);
  -ms-transform: scale(1.5);
  transform: scale(1.5);
  opacity: 0;
  -webkit-transition: 500ms;
  transition: 500ms;
}

.effeckt-show.from-above .effeckt-modal {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}

.from-below .effeckt-modal {
  -webkit-transform: scale(0.5);
  -ms-transform: scale(0.5);
  transform: scale(0.5);
  opacity: 0;
  -webkit-transition: 500ms;
  transition: 500ms;
}

.effeckt-show.from-below .effeckt-modal {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}

.slide-in-right .effeckt-modal {
  -webkit-transform: translateX(30%);
  -ms-transform: translateX(30%);
  transform: translateX(30%);
  opacity: 0;
  -webkit-transition: 500ms cubic-bezier(0.25, 0.5, 0.5, 0.9);
  transition: 500ms cubic-bezier(0.25, 0.5, 0.5, 0.9);
}

.effeckt-show.slide-in-right .effeckt-modal {
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
  opacity: 1;
}

.slide-in-bottom .effeckt-modal {
  -webkit-transform: translateY(30%);
  -ms-transform: translateY(30%);
  transform: translateY(30%);
  opacity: 0;
  -webkit-transition: 500ms;
  transition: 500ms;
}

.effeckt-show.slide-in-bottom .effeckt-modal {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}

.newspaper .effeckt-modal {
  -webkit-transform: scale(0.5) rotate(720deg);
  -ms-transform: scale(0.5) rotate(720deg);
  transform: scale(0.5) rotate(720deg);
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.effeckt-show.newspaper .effeckt-modal {
  -webkit-transform: scale(1) rotate(0deg);
  -ms-transform: scale(1) rotate(0deg);
  transform: scale(1) rotate(0deg);
  opacity: 1;
}

.side-fall.effeckt-modal-wrap {
  -webkit-perspective: 600px;
  -ms-perspective: 600px;
  perspective: 600px;
  -webkit-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.side-fall .effeckt-modal {
  -webkit-transform: translateZ(600px) translateX(30%) rotate(10deg);
  -ms-transform: translateZ(600px) translateX(30%) rotate(10deg);
  transform: translateZ(600px) translateX(30%) rotate(10deg);
  opacity: 0;
}

.effeckt-show.side-fall .effeckt-modal {
  -webkit-transition: 500ms ease-in;
  transition: 500ms ease-in;
  -webkit-transform: translateZ(0) translateX(0) rotate(0deg);
  -ms-transform: translateZ(0) translateX(0) rotate(0deg);
  transform: translateZ(0) translateX(0) rotate(0deg);
  opacity: 1;
}

.effeckt-hide.side-fall .effeckt-modal {
  -webkit-transition: all 500ms ease-out;
  transition: all 500ms ease-out;
  opacity: 0;
}

.sticky-up {
  top: 0;
}

.sticky-up .effeckt-modal {
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0;
}

.effeckt-show.sticky-up .effeckt-modal {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}

.flip-horizontal-3D {
  -webkit-perspective: 600px;
  -ms-perspective: 600px;
  perspective: 600px;
  -webkit-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.flip-horizontal-3D .effeckt-modal {
  -webkit-transform: rotateY(-70deg);
  -ms-transform: rotateY(-70deg);
  transform: rotateY(-70deg);
  -webkit-transition: all 500ms;
  transition: all 500ms;
  opacity: 0;
}

.effeckt-show.flip-horizontal-3D .effeckt-modal {
  -webkit-transform: rotateY(0deg);
  -ms-transform: rotateY(0deg);
  transform: rotateY(0deg);
  opacity: 1;
}

.flip-vertical-3D {
  -webkit-perspective: 600px;
  -ms-perspective: 600px;
  perspective: 600px;
  -webkit-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.flip-vertical-3D .effeckt-modal {
  -webkit-transform: rotateX(-70deg);
  -ms-transform: rotateX(-70deg);
  transform: rotateX(-70deg);
  -webkit-transition: 500ms;
  transition: 500ms;
  opacity: 0;
}

.effeckt-show.flip-vertical-3D .effeckt-modal {
  -webkit-transform: rotateX(0deg);
  -ms-transform: rotateX(0deg);
  transform: rotateX(0deg);
  opacity: 1;
}

.sign-3D {
  -webkit-perspective: 600px;
  -ms-perspective: 600px;
  perspective: 600px;
  -webkit-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.sign-3D .effeckt-modal {
  -webkit-transform: rotateX(-60deg);
  -ms-transform: rotateX(-60deg);
  transform: rotateX(-60deg);
  -webkit-transform-origin: 50% 0;
  -ms-transform-origin: 50% 0;
  transform-origin: 50% 0;
  opacity: 0;
  -webkit-transition: 500ms;
  transition: 500ms;
}

.effeckt-show.sign-3D .effeckt-modal {
  -webkit-transform: rotateX(0deg);
  -ms-transform: rotateX(0deg);
  transform: rotateX(0deg);
  opacity: 1;
}

.just-me .effeckt-modal {
  opacity: 0;
  -webkit-transition: 500ms;
  transition: 500ms;
}

.effeckt-show.just-me .effeckt-modal {
  opacity: 1;
  background: #555555;
}

.effeckt-show.just-me ~ .effeckt-overlay {
  background: #555555;
}

.just-me,
.just-me h3 {
  background: transparent;
}

.slit-3D {
  -webkit-perspective: 600px;
  -ms-perspective: 600px;
  perspective: 600px;
  -webkit-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.slit-3D .effeckt-modal {
  -webkit-transform: translateZ(-3000px) rotateY(90deg);
  -ms-transform: translateZ(-3000px) rotateY(90deg);
  transform: translateZ(-3000px) rotateY(90deg);
  opacity: 0;
}

.effeckt-show.slit-3D .effeckt-modal {
  -webkit-animation: modalSlit 0.7s forwards ease-out;
  animation: modalSlit 0.7s forwards ease-out;
}

.effeckt-hide.slit-3D .effeckt-modal {
  opacity: 0;
  -webkit-transition: 500ms;
  transition: 500ms;
}

@-webkit-keyframes modalSlit {
  50% {
    -webkit-transform: translateZ(-250px) rotateY(89deg);
    transform: translateZ(-250px) rotateY(89deg);
    opacity: 1;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

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

@keyframes modalSlit {
  50% {
    -webkit-transform: translateZ(-250px) rotateY(89deg);
    -ms-transform: translateZ(-250px) rotateY(89deg);
    transform: translateZ(-250px) rotateY(89deg);
    opacity: 1;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

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

.rotate-from-bottom-3D {
  -webkit-perspective: 600px;
  -ms-perspective: 600px;
  perspective: 600px;
  -webkit-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.rotate-from-bottom-3D .effeckt-modal {
  -webkit-transform: translateY(100%) rotateX(90deg);
  -ms-transform: translateY(100%) rotateX(90deg);
  transform: translateY(100%) rotateX(90deg);
  -webkit-transform-origin: 0 100%;
  -ms-transform-origin: 0 100%;
  transform-origin: 0 100%;
  opacity: 0;
  -webkit-transition: all 500ms ease-out;
  transition: all 500ms ease-out;
}

.effeckt-show.rotate-from-bottom-3D .effeckt-modal {
  -webkit-transform: translateY(0%) rotateX(0deg);
  -ms-transform: translateY(0%) rotateX(0deg);
  transform: translateY(0%) rotateX(0deg);
  opacity: 1;
}

.rotate-from-left-3D {
  -webkit-perspective: 600px;
  -ms-perspective: 600px;
  perspective: 600px;
  -webkit-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.rotate-from-left-3D .effeckt-modal {
  -webkit-transform: translateZ(100px) translateX(-30%) rotateY(90deg);
  -ms-transform: translateZ(100px) translateX(-30%) rotateY(90deg);
  transform: translateZ(100px) translateX(-30%) rotateY(90deg);
  -webkit-transform-origin: 0 100%;
  -ms-transform-origin: 0 100%;
  transform-origin: 0 100%;
  opacity: 0;
  -webkit-transition: all 500ms;
  transition: all 500ms;
}

.effeckt-show.rotate-from-left-3D .effeckt-modal {
  -webkit-transform: translateZ(0px) translateX(0%) rotateY(0deg);
  -ms-transform: translateZ(0px) translateX(0%) rotateY(0deg);
  transform: translateZ(0px) translateX(0%) rotateY(0deg);
  opacity: 1;
}

.effeckt-show.blur ~ .md-overlay {
  background: rgba(180, 46, 32, 0.5);
}

.effeckt-show.blur ~ [data-effeckt-page] {
  -webkit-filter: blur(3px);
  filter: blur(3px);
}

.blur .effeckt-modal {
  opacity: 0;
}

.effeckt-show.blur ~ [data-effeckt-page],
.blur .effeckt-modal {
  -webkit-transition: all 500ms;
  transition: all 500ms;
}

.effeckt-show.blur .effeckt-modal {
  opacity: 1;
}

.effeckt-show.let-me-in ~ [data-effeckt-page] {
  height: 100%;
  overflow: hidden;
  -webkit-transition: -webkit-transform 500ms;
  transition: -ms-transform 500ms;
  transition: transform 500ms;
}

.effeckt-show.let-me-in ~ [data-effeckt-page],
.effeckt-show.let-me-in ~ .effeckt-overlay {
  -webkit-transform: rotateX(-2deg);
  -ms-transform: rotateX(-2deg);
  transform: rotateX(-2deg);
  -webkit-transform-origin: 50% 0%;
  -ms-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
  -webkit-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.let-me-in .effeckt-modal {
  opacity: 0;
  -webkit-transform: translateY(200%);
  -ms-transform: translateY(200%);
  transform: translateY(200%);
  -webkit-transition: all 500ms 0.2s;
  transition: all 500ms 0.2s;
}

.effeckt-show.let-me-in .effeckt-modal {
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  opacity: 1;
  -webkit-transition: all 500ms 0.2s;
  transition: all 500ms 0.2s;
}

.effeckt-hide.let-me-in .effeckt-modal {
  opacity: 0;
  -webkit-transition: all 500ms 0.2s;
  transition: all 500ms 0.2s;
}

.effeckt-show.make-way ~ [data-effeckt-page] {
  height: 100%;
  overflow: hidden;
}

.effeckt-show.make-way ~ .effeckt-overlay {
  background: rgba(0, 0, 0, 0.2);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.effeckt-show.make-way ~ [data-effeckt-page],
.effeckt-show.make-way ~ .effeckt-overlay {
  -webkit-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform-origin: 0% 50%;
  -ms-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
  -webkit-animation: makeWay 0.5s forwards ease-in;
  animation: makeWay 0.5s forwards ease-in;
}

.make-way .effeckt-modal {
  -webkit-transform: translateX(200%);
  -ms-transform: translateX(200%);
  transform: translateX(200%);
  opacity: 0;
  -webkit-transition: 0.5s 0.1s;
  transition: 0.5s 0.1s;
}

.effeckt-show.make-way .effeckt-modal {
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
  opacity: 1;
  -webkit-transition: 0.5s 0.1s;
  transition: 0.5s 0.1s;
}

.effeckt-hide.make-way .effeckt-modal {
  opacity: 0;
  -webkit-transition: 0.5s 0.1s;
  transition: 0.5s 0.1s;
}

@-webkit-keyframes makeWay {
  50% {
    -webkit-transform: translateZ(-50px) rotateY(5deg);
    transform: translateZ(-50px) rotateY(5deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  100% {
    -webkit-transform: translateZ(-200px);
    transform: translateZ(-200px);
  }
}

@keyframes makeWay {
  50% {
    -webkit-transform: translateZ(-50px) rotateY(5deg);
    -ms-transform: translateZ(-50px) rotateY(5deg);
    transform: translateZ(-50px) rotateY(5deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  100% {
    -webkit-transform: translateZ(-200px);
    -ms-transform: translateZ(-200px);
    transform: translateZ(-200px);
  }
}

.effeckt-show.slip-in-from-top ~ [data-effeckt-page] {
  height: 100%;
  overflow: hidden;
}

.effeckt-show.slip-in-from-top ~ .effeckt-overlay {
  -webkit-transition: 500ms;
  transition: 500ms;
}

.effeckt-show.slip-in-from-top ~ [data-effeckt-page],
.effeckt-show.slip-in-from-top ~ .effeckt-overlay {
  -webkit-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform-origin: 50% 100%;
  -ms-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-animation: OpenTop 500ms forwards ease-in;
  animation: OpenTop 500ms forwards ease-in;
}

.slip-in-from-top .effeckt-modal {
  -webkit-transition: 500ms;
  transition: 500ms;
}

.slip-in-from-top .effeckt-modal {
  -webkit-transform: translateY(-200%);
  -ms-transform: translateY(-200%);
  transform: translateY(-200%);
  opacity: 0;
}

.effeckt-show.slip-in-from-top .effeckt-modal {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
  -webkit-transition: all 500ms 100ms;
  transition: all 500ms 100ms;
}

.effeckt-hide.slip-in-from-top .effeckt-modal {
  opacity: 0;
  -webkit-transition: all 500ms 100ms;
  transition: all 500ms 100ms;
}

@-webkit-keyframes OpenTop {
  50% {
    -webkit-transform: rotateX(10deg);
    transform: rotateX(10deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
}

@keyframes OpenTop {
  50% {
    -webkit-transform: rotateX(10deg);
    -ms-transform: rotateX(10deg);
    transform: rotateX(10deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
}

.tilt-fall .effeckt-modal {
  -webkit-transition: 500ms ease-in-out;
  transition: 500ms ease-in-out;
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
  opacity: 0;
}

.effeckt-show.tilt-fall .effeckt-modal {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

.effeckt-hide.tilt-fall .effeckt-modal {
  -webkit-transform: translateY(100%) rotate(-25deg);
  -ms-transform: translateY(100%) rotate(-25deg);
  transform: translateY(100%) rotate(-25deg);
  opacity: 0;
}

.from-top-to-bottom .effeckt-modal {
  -webkit-transition: 500ms ease-in-out;
  transition: 500ms ease-in-out;
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
  opacity: 0;
}

.effeckt-show.from-top-to-bottom .effeckt-modal {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}

.effeckt-hide.from-top-to-bottom .effeckt-modal {
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
  opacity: 0;
}

.from-top-to-top .effeckt-modal {
  -webkit-transition: 500ms ease-in-out;
  transition: 500ms ease-in-out;
  opacity: 0;
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
}

.effeckt-show.from-top-to-top .effeckt-modal {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

.effeckt-hide.from-top-to-top .effeckt-modal {
  opacity: 0;
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
}

.shake .effeckt-modal {
  -webkit-transition: 500ms ease-in-out;
  transition: 500ms ease-in-out;
  opacity: 0;
}

.effeckt-show.shake .effeckt-modal {
  opacity: 1;
  -webkit-animation: modalShake 1s forwards ease;
  animation: modalShake 1s forwards ease;
}

.effeckt-hide.shake .effeckt-modal {
  opacity: 0;
}

@-webkit-keyframes modalShake {
  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 modalShake {
  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);
  }
}

.bounce .effeckt-modal {
  -webkit-transition: 500ms ease-in-out;
  transition: 500ms ease-in-out;
  opacity: 0;
}

.effeckt-show.bounce .effeckt-modal {
  opacity: 1;
  -webkit-animation: modalBounce 1s forwards ease;
  animation: modalBounce 1s forwards ease;
}

.effeckt-hide.bounce .effeckt-modal {
  opacity: 0;
}

@-webkit-keyframes modalBounce {
  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 modalBounce {
  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);
  }
}

.pulse .effeckt-modal {
  -webkit-transition: 500ms ease-in-out;
  transition: 500ms ease-in-out;
  opacity: 0;
}

.effeckt-show.pulse .effeckt-modal {
  opacity: 1;
  -webkit-animation: modalPulse 1s forwards ease;
  animation: modalPulse 1s forwards ease;
}

.effeckt-hide.pulse .effeckt-modal {
  opacity: 0;
}

@-webkit-keyframes modalPulse {
  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 modalPulse {
  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);
  }
}

.wobble .effeckt-modal {
  -webkit-transition: 500ms ease-in-out;
  transition: 500ms ease-in-out;
  opacity: 0;
}

.effeckt-show.wobble .effeckt-modal {
  opacity: 1;
  -webkit-animation: modalWobble 1s forwards ease;
  animation: modalWobble 1s forwards ease;
}

.effeckt-hide.wobble .effeckt-modal {
  opacity: 0;
}

@-webkit-keyframes modalWobble {
  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 modalWobble {
  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%);
  }
}

.swing .effeckt-modal {
  -webkit-transform-origin: 50% 0%;
  -ms-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
  -webkit-transition: 500ms ease-in-out;
  transition: 500ms ease-in-out;
  opacity: 0;
}

.effeckt-show.swing .effeckt-modal {
  opacity: 1;
  -webkit-animation: modalSwing 1s forwards ease;
  animation: modalSwing 1s forwards ease;
}

.effeckt-hide.swing .effeckt-modal {
  opacity: 0;
}

@-webkit-keyframes modalSwing {
  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 modalSwing {
  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);
  }
}

.tada .effeckt-modal {
  -webkit-transition: 500ms ease-in-out;
  transition: 500ms ease-in-out;
  opacity: 0;
}

.effeckt-show.tada .effeckt-modal {
  opacity: 1;
  -webkit-animation: modalTada 1s forwards ease;
  animation: modalTada 1s forwards ease;
}

.effeckt-hide.tada .effeckt-modal {
  opacity: 0;
}

@-webkit-keyframes modalTada {
  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 modalTada {
  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);
  }
}