/* ----------------------------------------------------------------------------------
 * Screen
 */
.-navstack {
  position: relative;
  overflow: hidden;
}
.-navstack-nav,
.-navstack-pane {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.-navstack-pane,
.full-screen {
  background: #fff;
}
.-navstack-nav {
  z-index: 3;
  pointer-events: none;
  background: transparent;
}
.-navstack-hide {
  -webkit-transform: translate3d(-9999px, 0, 0);
  -ms-transform: translate3d(-9999px, 0, 0);
  transform: translate3d(-9999px, 0, 0);
}
.-navstack-animating {
  pointer-events: none;
}
/* ----------------------------------------------------------------------------------
 * Animations: slide
 */
.slide-container {
  background: #345;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.slide-enter-forward {
  z-index: 2;
  -webkit-animation: slide-enter-forward 500ms cubic-bezier(0.3, 0.5, 0, 1);
  animation: slide-enter-forward 500ms cubic-bezier(0.3, 0.5, 0, 1);
  -webkit-box-shadow: 0 0 20px rgba(0,0,0,0.3), 0 0 10px rgba(0,0,0,0.1);
  box-shadow: 0 0 20px rgba(0,0,0,0.3), 0 0 10px rgba(0,0,0,0.1);
}
.slide-enter-backward {
  z-index: 1;
  -webkit-animation: slide-enter-backward 450ms cubic-bezier(0.3, 0.5, 0, 1);
  animation: slide-enter-backward 450ms cubic-bezier(0.3, 0.5, 0, 1);
}
.slide-exit-forward {
  z-index: 1;
  -webkit-animation: slide-exit-forward 500ms cubic-bezier(0.3, 0.5, 0, 1);
  animation: slide-exit-forward 500ms cubic-bezier(0.3, 0.5, 0, 1);
}
.slide-exit-backward {
  z-index: 2;
  -webkit-animation: slide-exit-backward 450ms cubic-bezier(0.3, 0.5, 0, 1);
  animation: slide-exit-backward 450ms cubic-bezier(0.3, 0.5, 0, 1);
  -webkit-box-shadow: 0 0 20px rgba(0,0,0,0.3), 0 0 10px rgba(0,0,0,0.1);
  box-shadow: 0 0 20px rgba(0,0,0,0.3), 0 0 10px rgba(0,0,0,0.1);
}
/* ----------------------------------------------------------------------------
 */
.nav-slide-enter-forward {
  z-index: 2;
  -webkit-animation: nav-slide-enter-forward 500ms cubic-bezier(0.3, 0.5, 0, 1);
  animation: nav-slide-enter-forward 500ms cubic-bezier(0.3, 0.5, 0, 1);
}
.nav-slide-enter-backward {
  z-index: 1;
  -webkit-animation: nav-slide-enter-backward 450ms cubic-bezier(0.3, 0.5, 0, 1);
  animation: nav-slide-enter-backward 450ms cubic-bezier(0.3, 0.5, 0, 1);
}
.nav-slide-exit-forward {
  z-index: 1;
  -webkit-animation: nav-slide-exit-forward 500ms cubic-bezier(0.3, 0.5, 0, 1);
  animation: nav-slide-exit-forward 500ms cubic-bezier(0.3, 0.5, 0, 1);
  opacity: 0;
}
.nav-slide-exit-backward {
  z-index: 2;
  -webkit-animation: nav-slide-exit-backward 450ms cubic-bezier(0.3, 0.5, 0, 1);
  animation: nav-slide-exit-backward 450ms cubic-bezier(0.3, 0.5, 0, 1);
  opacity: 0;
}
/* ----------------------------------------------------------------------------------
 * Animations: vertical slide
 */
.modal-container {
  background: #000;
}
.modal-enter-forward {
  z-index: 2;
  -webkit-animation: modal-enter-forward 500ms cubic-bezier(0.3, 0.5, 0, 1);
  animation: modal-enter-forward 500ms cubic-bezier(0.3, 0.5, 0, 1);
  -webkit-box-shadow: 0 0 20px rgba(0,0,0,0.3), 0 0 10px rgba(0,0,0,0.1);
  box-shadow: 0 0 20px rgba(0,0,0,0.3), 0 0 10px rgba(0,0,0,0.1);
}
.modal-enter-backward {
  z-index: 1;
  -webkit-animation: modal-enter-backward 450ms cubic-bezier(0.3, 0.5, 0, 1);
  animation: modal-enter-backward 450ms cubic-bezier(0.3, 0.5, 0, 1);
}
.modal-exit-forward {
  z-index: 1;
  -webkit-animation: modal-exit-forward 500ms cubic-bezier(0.3, 0.5, 0, 1);
  animation: modal-exit-forward 500ms cubic-bezier(0.3, 0.5, 0, 1);
}
.modal-exit-backward {
  z-index: 2;
  -webkit-animation: modal-exit-backward 450ms cubic-bezier(0.3, 0.5, 0, 1);
  animation: modal-exit-backward 450ms cubic-bezier(0.3, 0.5, 0, 1);
}
@-webkit-keyframes slide-enter-forward {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    -webkit-box-shadow: 0 0 20px rgba(0,0,0,0), 0 0 10px rgba(0,0,0,0);
    box-shadow: 0 0 20px rgba(0,0,0,0), 0 0 10px rgba(0,0,0,0);
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-ms-keyframes slide-enter-forward {
  0% {
    -ms-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    box-shadow: 0 0 20px rgba(0,0,0,0), 0 0 10px rgba(0,0,0,0);
  }

  100% {
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slide-enter-forward {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
    -ms-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    -webkit-box-shadow: 0 0 20px rgba(0,0,0,0), 0 0 10px rgba(0,0,0,0);
    box-shadow: 0 0 20px rgba(0,0,0,0), 0 0 10px rgba(0,0,0,0);
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes slide-enter-backward {
  0% {
    -webkit-transform: translate3d(-40%, 0, 0);
    transform: translate3d(-40%, 0, 0);
    opacity: 0.95;
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-ms-keyframes slide-enter-backward {
  0% {
    -ms-transform: translate3d(-40%, 0, 0);
    transform: translate3d(-40%, 0, 0);
    opacity: 0.95;
  }

  100% {
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slide-enter-backward {
  0% {
    -webkit-transform: translate3d(-40%, 0, 0);
    -ms-transform: translate3d(-40%, 0, 0);
    transform: translate3d(-40%, 0, 0);
    opacity: 0.95;
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes slide-exit-forward {
  0% {
    -webkit-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0);
  }

  100% {
    -webkit-transform: translate3d(-40%, 0, 0);
    transform: translate3d(-40%, 0, 0);
    opacity: 0.95;
  }
}
@-ms-keyframes slide-exit-forward {
  0% {
    -ms-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0);
  }

  100% {
    -ms-transform: translate3d(-40%, 0, 0);
    transform: translate3d(-40%, 0, 0);
    opacity: 0.95;
  }
}
@keyframes slide-exit-forward {
  0% {
    -webkit-transform: translate3d(0%, 0, 0);
    -ms-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0);
  }

  100% {
    -webkit-transform: translate3d(-40%, 0, 0);
    -ms-transform: translate3d(-40%, 0, 0);
    transform: translate3d(-40%, 0, 0);
    opacity: 0.95;
  }
}
@-webkit-keyframes slide-exit-backward {
  0% {
    -webkit-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0);
  }

  100% {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    -webkit-box-shadow: 0 0 20px rgba(0,0,0,0), 0 0 10px rgba(0,0,0,0);
    box-shadow: 0 0 20px rgba(0,0,0,0), 0 0 10px rgba(0,0,0,0);
  }
}
@-ms-keyframes slide-exit-backward {
  0% {
    -ms-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0);
  }

  100% {
    -ms-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    box-shadow: 0 0 20px rgba(0,0,0,0), 0 0 10px rgba(0,0,0,0);
  }
}
@keyframes slide-exit-backward {
  0% {
    -webkit-transform: translate3d(0%, 0, 0);
    -ms-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0);
  }

  100% {
    -webkit-transform: translate3d(100%, 0, 0);
    -ms-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    -webkit-box-shadow: 0 0 20px rgba(0,0,0,0), 0 0 10px rgba(0,0,0,0);
    box-shadow: 0 0 20px rgba(0,0,0,0), 0 0 10px rgba(0,0,0,0);
  }
}
@-webkit-keyframes nav-slide-enter-forward {
  0% {
    -webkit-transform: translate3d(40%, 0, 0);
    transform: translate3d(40%, 0, 0);
    opacity: 0;
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-ms-keyframes nav-slide-enter-forward {
  0% {
    -ms-transform: translate3d(40%, 0, 0);
    transform: translate3d(40%, 0, 0);
    opacity: 0;
  }

  100% {
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes nav-slide-enter-forward {
  0% {
    -webkit-transform: translate3d(40%, 0, 0);
    -ms-transform: translate3d(40%, 0, 0);
    transform: translate3d(40%, 0, 0);
    opacity: 0;
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes nav-slide-enter-backward {
  0% {
    -webkit-transform: translate3d(-40%, 0, 0);
    transform: translate3d(-40%, 0, 0);
    opacity: 0;
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-ms-keyframes nav-slide-enter-backward {
  0% {
    -ms-transform: translate3d(-40%, 0, 0);
    transform: translate3d(-40%, 0, 0);
    opacity: 0;
  }

  100% {
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes nav-slide-enter-backward {
  0% {
    -webkit-transform: translate3d(-40%, 0, 0);
    -ms-transform: translate3d(-40%, 0, 0);
    transform: translate3d(-40%, 0, 0);
    opacity: 0;
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes nav-slide-exit-forward {
  0% {
    -webkit-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0);
    opacity: 1;
  }

  100% {
    -webkit-transform: translate3d(-40%, 0, 0);
    transform: translate3d(-40%, 0, 0);
  }
}
@-ms-keyframes nav-slide-exit-forward {
  0% {
    -ms-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0);
    opacity: 1;
  }

  100% {
    -ms-transform: translate3d(-40%, 0, 0);
    transform: translate3d(-40%, 0, 0);
  }
}
@keyframes nav-slide-exit-forward {
  0% {
    -webkit-transform: translate3d(0%, 0, 0);
    -ms-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0);
    opacity: 1;
  }

  100% {
    -webkit-transform: translate3d(-40%, 0, 0);
    -ms-transform: translate3d(-40%, 0, 0);
    transform: translate3d(-40%, 0, 0);
  }
}
@-webkit-keyframes nav-slide-exit-backward {
  0% {
    -webkit-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0);
    opacity: 1;
  }

  100% {
    -webkit-transform: translate3d(40%, 0, 0);
    transform: translate3d(40%, 0, 0);
  }
}
@-ms-keyframes nav-slide-exit-backward {
  0% {
    -ms-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0);
    opacity: 1;
  }

  100% {
    -ms-transform: translate3d(40%, 0, 0);
    transform: translate3d(40%, 0, 0);
  }
}
@keyframes nav-slide-exit-backward {
  0% {
    -webkit-transform: translate3d(0%, 0, 0);
    -ms-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0);
    opacity: 1;
  }

  100% {
    -webkit-transform: translate3d(40%, 0, 0);
    -ms-transform: translate3d(40%, 0, 0);
    transform: translate3d(40%, 0, 0);
  }
}
@-webkit-keyframes modal-enter-forward {
  0% {
    -webkit-transform: translate3d(0, 110%, 0);
    transform: translate3d(0, 110%, 0);
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-ms-keyframes modal-enter-forward {
  0% {
    -ms-transform: translate3d(0, 110%, 0);
    transform: translate3d(0, 110%, 0);
  }

  100% {
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes modal-enter-forward {
  0% {
    -webkit-transform: translate3d(0, 110%, 0);
    -ms-transform: translate3d(0, 110%, 0);
    transform: translate3d(0, 110%, 0);
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes modal-exit-backward {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  100% {
    -webkit-transform: translate3d(0, 110%, 0);
    transform: translate3d(0, 110%, 0);
  }
}
@-ms-keyframes modal-exit-backward {
  0% {
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  100% {
    -ms-transform: translate3d(0, 110%, 0);
    transform: translate3d(0, 110%, 0);
  }
}
@keyframes modal-exit-backward {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  100% {
    -webkit-transform: translate3d(0, 110%, 0);
    -ms-transform: translate3d(0, 110%, 0);
    transform: translate3d(0, 110%, 0);
  }
}
@-webkit-keyframes modal-exit-forward {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  100% {
    -webkit-transform: scale(0.94);
    transform: scale(0.94);
    opacity: 0.1;
  }
}
@-ms-keyframes modal-exit-forward {
  0% {
    -ms-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  100% {
    -ms-transform: scale(0.94);
    transform: scale(0.94);
    opacity: 0.1;
  }
}
@keyframes modal-exit-forward {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  100% {
    -webkit-transform: scale(0.94);
    -ms-transform: scale(0.94);
    transform: scale(0.94);
    opacity: 0.1;
  }
}
@-webkit-keyframes modal-enter-backward {
  0% {
    -webkit-transform: scale(0.94);
    transform: scale(0.94);
    opacity: 0.1;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@-ms-keyframes modal-enter-backward {
  0% {
    -ms-transform: scale(0.94);
    transform: scale(0.94);
    opacity: 0.1;
  }

  100% {
    -ms-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes modal-enter-backward {
  0% {
    -webkit-transform: scale(0.94);
    -ms-transform: scale(0.94);
    transform: scale(0.94);
    opacity: 0.1;
  }

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

