#preloader {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-two);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999;
    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 var(--color-white);
    border-top-color: var(--color-primary);
    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: white;
    animation: characters 4s infinite;
  }
  
  .preloader-inner .loading-text .characters:nth-child(2):before {
    animation-delay: 0.2s;
  }
  
  .preloader-inner .loading-text .characters:nth-child(3):before {
    animation-delay: 0.4s;
  }
  
  .preloader-inner .loading-text .characters:nth-child(4):before {
    animation-delay: 0.6s;
  }
  
  .preloader-inner .loading-text .characters:nth-child(5):before {
    animation-delay: 0.8s;
  }
  
  .preloader-inner .loading-text .characters:nth-child(6):before {
    animation-delay: 1s;
  }
  
  .preloader-inner .loading-text .characters:nth-child(7):before {
    animation-delay: 1.2s;
  }
  
  /* 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);
    }
  }