body {
  margin: 0;
  padding: 0;
  background-color: #111;
}
.loader {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  height: 10%;
  text-align: center;
}
.loader span {
  width: 15px;
  height: 15px;
  display: inline-block;
  border-radius: 50%;
  animation: animate 2s linear infinite;
  opacity: 0;
}
.loader span:nth-child(1) {
  animation-delay: 0.8s;
}
.loader span:nth-child(2) {
  animation-delay: 0.4s;
}
.loader span:nth-child(3) {
  animation-delay: 0s;
}
@keyframes animate {
  0% {
    transform: translateX(-100px);
    opacity: 0;
  }
  10% {
    transform: translateX(-100px);
    opacity: 0;
  }
  25% {
    transform: translateX(0px);
    opacity: 1;
  }
  50% {
    transform: translateX(0px);
    opacity: 1;
  }
  75% {
    transform: translateX(0px);
    opacity: 1;
  }
  100% {
    transform: translateX(100px);
    opacity: 0;
  }
  90% {
    transform: translateX(100px);
    opacity: 0;
  }
}
