.preloader {
  background: #ffffff;
  width: 100vw;
  height: 100vh;
  position: fixed;
  z-index: 9999999;
}
@keyframes bgg {
  0% { background: var(--color-primary-light); }
  50% { background: var(--color-primary); }
  100% { background: var(--color-primary); }
}
.loader {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 70px;
  height: 70px;
  margin: auto;
}
.loader .circle {
  position: absolute;
  width: 50px;
  height: 50px;
  opacity: 0;
  transform: rotate(225deg);
  animation-iteration-count: infinite;
  animation-name: orbit;
  animation-duration: 5.5s;
  left: 3px;
  top: -5px;
}
.loader .circle:after {
  content: '';
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 100%;
  animation: bgg 1500ms ease-in alternate infinite;
}
.loader .circle:nth-child(2) {
  animation-delay: 240ms;
}
.loader .circle:nth-child(3) {
  animation-delay: 480ms;
}
.loader .circle:nth-child(4) {
  animation-delay: 720ms;
}
.loader .circle:nth-child(5) {
  animation-delay: 960ms;
}
@keyframes orbit {
  0% {
    transform: rotate(225deg);
    opacity: 1;
    animation-timing-function: ease-out;
  }
  7% {
    transform: rotate(345deg);
    animation-timing-function: linear;
  }
  30% {
    transform: rotate(455deg);
    animation-timing-function: ease-in-out;
  }
  39% {
    transform: rotate(690deg);
    animation-timing-function: linear;
  }
  70% {
    transform: rotate(815deg);
    opacity: 1;
    animation-timing-function: ease-out;
  }
  75% {
    transform: rotate(945deg);
    animation-timing-function: ease-out;
  }
  76% {
    transform: rotate(945deg);
    opacity: 0;
  }
  100% {
    transform: rotate(945deg);
    opacity: 0;
  }
}