.page-loader {
  background-color: #333333;
  left: 0;
  top: 0;
  position: fixed !important;
  z-index: 1000;
  width: 100%;
  height: 100vh;
  opacity: 1;
  transition-duration: 100s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.page-loader.loaded-transition {
  opacity: 0;
  transition: opacity 1s;
}

.page-loader.loaded {
  opacity: 0;
  display: none;
  z-index: -1;
}

.swing-out-left-bck {
  animation: swing-out-left-bck 0.8s cubic-bezier(0.6, -0.28, 0.735, 0.045) both;
}

.breakout {
  width: 60%;
  -webkit-animation: breakout 0.8s both;
  animation: breakout 0.8s cubic-bezier(.36, .07, .19, .97) both
}

@keyframes swing-out-left-bck {
  0% {
    transform: rotateY(0);
    transform-origin: left;
    opacity: 1;
  }

  100% {
    transform: rotateY(100deg);
    transform-origin: left;
    opacity: 0;
  }
}

@-webkit-keyframes breakout {

  0%,
  40% {
    border-width: 25px;
  }

  60% {
    border-color: gray;
    border-width: 6px;
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  100% {
    border-color: gray;
    opacity: 0;
    -webkit-transform: scale(2);
    transform: scale(2);
  }
}

@keyframes breakout {

  0%,
  40% {
    border-width: 25px;
  }

  60% {
    border-color: gray;
    border-width: 6px;
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  100% {
    border-color: gray;
    opacity: 0;
    -webkit-transform: scale(2);
    transform: scale(2);
  }
}