#preloader {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #01003c;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 99999;
    transition: all 1s ease;
    -moz-transition: all 1s ease;
    -ms-transition: all 1s ease;
    -o-transition: all 1s ease;
    -webkit-transition: all 1s ease;
  }
  
  #preloader.hide {
    opacity: 0;
    visibility: hidden;
    width: 0%;
  }
  
  .preloader-inner {
    position: absolute;
    z-index: 100;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
  
  /* Spinner Loading */
  .preloader-inner .spinner {
    animation: spinner 1s infinite linear;
    border-radius: 50%;
    border: 3px solid #ffffff;
    border-top-color: #814439;
    width: 60px;
    height: 60px;
    margin: 0 auto 3.5em auto;
  }
  
  /* Loading text */
  .preloader-inner .loading-text {
    font-weight: 700;
    font-size: 60px;
    line-height: 60px;
    text-align: center;
    user-select: none;
  }
  
  .preloader-inner .loading-text .characters {
    position: relative;
    display: inline-block;
    color: rgba(255, 255, 255, 0.2);
  }
  
  .preloader-inner .loading-text .characters:before {
    content: attr(data-preloader-text);
    position: absolute;
    left: 0;
    top: 0px;
    opacity: 0;
    transform: rotateY(-90deg);
    color: #ffffff;
    animation: characters 4s infinite;
  }
  
  .preloader-inner .loading-text .characters:nth-child(2):before {
    animation-delay: 0.1s;
  }
  
  .preloader-inner .loading-text .characters:nth-child(3):before {
    animation-delay: 0.2s;
  }
  
  .preloader-inner .loading-text .characters:nth-child(4):before {
    animation-delay: 0.3s;
  }
  
  .preloader-inner .loading-text .characters:nth-child(5):before {
    animation-delay: 0.4s;
  }
  
  .preloader-inner .loading-text .characters:nth-child(6):before {
    animation-delay: 0.5s;
  }
  
  .preloader-inner .loading-text .characters:nth-child(7):before {
    animation-delay: 0.6s;
  }
  .preloader-inner .loading-text .characters:nth-child(8):before {
    animation-delay: 0.7s;
  }
  
  /* Animation of the preloader */
  @keyframes spinner {
    to {
      transform: rotateZ(360deg);
    }
  }
  
  /* Animation of letters loading from the preloader */
  @keyframes characters {
    0%,
    75%,
    100% {
      opacity: 0;
      transform: rotateY(-90deg);
    }
    25%,
    50% {
      opacity: 1;
      transform: rotateY(0deg);
    }
  }