/* -------------------------------- 
    General Style
-------------------------------- */

/*** General Button Styles ***/

.button-container {
  display: inline-block;
  cursor: pointer;
  font-weight: 500;
  letter-spacing: 1px;
  height: 56px;
  width: 248px;
  -webkit-perspective: 700;
  -ms-perspective: 700;
  perspective: 700;
}

.button-container .flipper {
  transition: all 0.5s ease-in-out;
  -webkit-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
  position: relative;
}

.button-container .button {
  height: 56px;
  width: 248px;
  border-radius: 3px;
  backface-visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  -webkit-box-shadow: 1px 2px 4px -1px rgba(60, 60, 60, 0.64);
  box-shadow: 1px 2px 4px -1px rgba(60, 60, 60, 0.64);
}

.button-container .button.front {
  z-index: 10;
}

.button-container .button.back {
  color: white;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
}

.button a, .button a:hover {
  color: #ffffff;
}

/* -------------------------------- 
      3D-Flip
-------------------------------- */

.button-flip3d-vertical2 .flipper-flip3d-vertical2 {
  transform-origin: 100% 28px;
}

.button-flip3d-vertical2 .front {
  transform: translateZ(28px);
  background-image: linear-gradient(90deg, #6A39D7, #8656EF);
  font-size: 16px;
  text-align: center;
  font-weight: 700;
  height: 56px;
  color: #fff;
}

.button-flip3d-vertical2 .back {
  -webkit-transform: rotateX(90deg) rotateZ(180deg) rotateY(180deg) translateZ(28px);
  -ms-transform: rotateX(90deg) rotateZ(180deg) rotateY(180deg) translateZ(28px);
  transform: rotateX(90deg) rotateZ(180deg) rotateY(180deg) translateZ(28px);
  background-image: linear-gradient(90deg, #5A30B9, #794BDA);
  text-align: center;
  height: 56px;
}

.button-flip3d-vertical2:hover .flipper-flip3d-vertical2 {
  transform: rotateX(90deg);
}

/* -------------------------------- 
    Custom Animations
-------------------------------- */

.fadeInDownSwing {
  -moz-animation-name: fadeInDownSwing;
  -webkit-animation-name: fadeInDownSwing;
  animation-name: fadeInDownSwing;
  animation-fill-mode: both;
}

@-moz-keyframes fadeInDownSwing {
  0% {
    opacity: 0;
    -moz-transform: translate3d(-5%, -100%, 0);
    transform: translate3d(-5%, -100%, 0);
  }
  to {
    opacity: 1;
    -moz-transform: none;
    transform: none;
  }
}

@-webkit-keyframes fadeInDownSwing {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-5%, -100%, 0);
    transform: translate3d(-5%, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInDownSwing {
  0% {
    opacity: 0;
    transform: translate3d(-5%, -100%, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.slideInUp {
  -moz-animation-name: slideInUp;
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
  animation-fill-mode: both;
}

@-moz-keyframes slideInUp {
  0% {
    opacity: 0;
    -moz-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -moz-transform: none;
    transform: none;
  }
}

@-webkit-keyframes slideInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes slideInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* -------------------------------- 
    Vendor Customization
-------------------------------- */

.pace {
  -webkit-pointer-events: none;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.pace-inactive {
  display: none;
}

.pace .pace-progress {
  background: #9bc9ee;
  background: -webkit-linear-gradient(left, #4776E6, #8E54E9);
  background: -moz-linear-gradient(right, #4776E6, #8E54E9);
  background: linear-gradient(right, #4776E6, #8E54E9);
  position: fixed;
  z-index: 2000;
  top: 0;
  right: 100%;
  width: 100%;
  height: 3px;
}

.dark .pace .pace-progress {
  background: #fff;
}