body.loaded #preloader {
  opacity: 0;
  pointer-events: none;
}

#preloader {
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: white;
}

#preloader .loader {
  height: 50px;
  width: 50px;
  animation: loader-1 4.8s linear infinite;
}

@keyframes loader-1 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

#preloader .loader span {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  height: 50px;
  width: 50px;
  clip: rect(0, 50px, 50px, 25px);
  animation: loader-2 1.2s linear infinite;
}

@keyframes loader-2 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(220deg);
  }
}
#preloader .loader span::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  height: 50px;
  width: 50px;
  clip: rect(0, 50px, 50px, 25px);
  border: 3px solid #00D86D;
  border-radius: 50%;
  animation: loader-3 1.2s cubic-bezier(0.77, 0, 0.175, 1) infinite;
  box-sizing: border-box;
}

@keyframes loader-3 {
  0% {
    transform: rotate(-140deg);
  }
  50% {
    transform: rotate(-160deg);
  }
  100% {
    transform: rotate(140deg);
  }
}
