/* ----------------------------------------------
* Generated by Animista on 2019-8-15 23:54:34
* w: http://animista.net, t: @cssanimista
* ---------------------------------------------- */
/**
 * ----------------------------------------
 * animation shake-bottom
 * ----------------------------------------
 */
.shake-bottom {
  -webkit-animation: shake-bottom 0.8s cubic-bezier(0.455, 0.03, 0.515, 0.955) both;
  animation: shake-bottom 0.8s cubic-bezier(0.455, 0.03, 0.515, 0.955) both;
}

@-webkit-keyframes shake-bottom {
  0%, 100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
  }
  10% {
    -webkit-transform: rotate(2deg);
    transform: rotate(2deg);
  }
  20%, 40%, 60% {
    -webkit-transform: rotate(-4deg);
    transform: rotate(-4deg);
  }
  30%, 50%, 70% {
    -webkit-transform: rotate(4deg);
    transform: rotate(4deg);
  }
  80% {
    -webkit-transform: rotate(-2deg);
    transform: rotate(-2deg);
  }
  90% {
    -webkit-transform: rotate(2deg);
    transform: rotate(2deg);
  }
}
@keyframes shake-bottom {
  0%, 100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
  }
  10% {
    -webkit-transform: rotate(2deg);
    transform: rotate(2deg);
  }
  20%, 40%, 60% {
    -webkit-transform: rotate(-4deg);
    transform: rotate(-4deg);
  }
  30%, 50%, 70% {
    -webkit-transform: rotate(4deg);
    transform: rotate(4deg);
  }
  80% {
    -webkit-transform: rotate(-2deg);
    transform: rotate(-2deg);
  }
  90% {
    -webkit-transform: rotate(2deg);
    transform: rotate(2deg);
  }
}
/* ----------------------------------------------
 * Generated by Animista on 2019-5-4 3:31:24
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */
/**
 * ----------------------------------------
 * animation scale-out-horizontal
 * ----------------------------------------
 */
@-webkit-keyframes scale-out-horizontal {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    opacity: 1;
  }
  100% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    opacity: 1;
  }
}
@keyframes scale-out-horizontal {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    opacity: 1;
  }
  100% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    opacity: 1;
  }
}
.scale-out-horizontal {
  -webkit-animation: scale-out-horizontal 0.5s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
  animation: scale-out-horizontal 0.5s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
}

/* ----------------------------------------------
* Generated by Animista on 2019-2-1 15:34:43
* w: http://animista.net, t: @cssanimista
* ---------------------------------------------- */
@-webkit-keyframes blink-1 {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
@keyframes blink-1 {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
@-webkit-keyframes scale-in-hor-center {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    opacity: 1;
  }
}
@keyframes scale-in-hor-center {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    opacity: 1;
  }
}
@-webkit-keyframes slide-in-blurred-top {
  0% {
    -webkit-transform: translateY(-1000px) scaleY(2.5) scaleX(0.2);
    transform: translateY(-1000px) scaleY(2.5) scaleX(0.2);
    -webkit-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    -webkit-filter: blur(40px);
    filter: blur(40px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0) scaleY(1) scaleX(1);
    transform: translateY(0) scaleY(1) scaleX(1);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-filter: blur(0);
    filter: blur(0);
    opacity: 1;
  }
}
@keyframes slide-in-blurred-top {
  0% {
    -webkit-transform: translateY(-1000px) scaleY(2.5) scaleX(0.2);
    transform: translateY(-1000px) scaleY(2.5) scaleX(0.2);
    -webkit-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    -webkit-filter: blur(40px);
    filter: blur(40px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0) scaleY(1) scaleX(1);
    transform: translateY(0) scaleY(1) scaleX(1);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-filter: blur(0);
    filter: blur(0);
    opacity: 1;
  }
}
.scale-in-hor-center {
  -webkit-animation: scale-in-hor-center 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  animation: scale-in-hor-center 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.blink-1 {
  -webkit-animation: blink-1 0.6s both;
  animation: blink-1 0.6s both;
}

.slide-in-blurred-top {
  -webkit-animation: slide-in-blurred-top 0.5s cubic-bezier(0.23, 1, 0.32, 1) both;
  animation: slide-in-blurred-top 0.5s cubic-bezier(0.23, 1, 0.32, 1) both;
}

.fade {
  position: absolute;
  width: 100%;
  height: 100%;
  transition: opacity 0.25s ease-in-out;
  -webkit-transition: opacity 0.25s ease-in-out;
  will-change: opacity;
}

.fade.ng-enter {
  opacity: 0;
}

.fade.ng-leave {
  opacity: 1;
}

.fade.ng-enter-active {
  opacity: 1;
}

.fade.ng-leave-active {
  opacity: 0;
}

.slide-up, .slide-down, .slide-right, .slide-left {
  position: absolute;
  width: 100%;
  height: 100%;
  transition: transform 0.3s ease-in-out;
  -webkit-transition: transform 0.3s ease-in-out;
  will-change: transform;
}

.slide-up.ng-enter {
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  pointer-events: none;
}

.slide-up.ng-enter-active {
  -webkit-transform: translateY(0%);
  transform: translateY(0%);
}

.slide-up.ng-leave-active {
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
}

.slide-down.ng-enter {
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
  pointer-events: none;
}

.slide-down.ng-enter-active {
  -webkit-transform: translateY(0%);
  transform: translateY(0%);
}

.slide-down.ng-leave-active {
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
}

.slide-right.ng-enter {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  pointer-events: none;
}

.slide-right.ng-enter-active {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
}

.slide-right.ng-leave-active {
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}

.slide-left.ng-enter {
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
  pointer-events: none;
}

.slide-left.ng-enter-active {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
}

.slide-left.ng-leave-active {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}