
.spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
}

.spinner i {
  display: block;
  position: absolute;
  width: 14px;
  height: 3px;
  background: #fff;
  opacity: 0.2;
  border-radius: 2px;
  animation-name: spin;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease;
}
.spinner i:after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.8;
  border-radius: 2px;
  box-shadow: 0px 0px 4px rgba(255, 255, 255, 0.2), 0px 0px 10px rgba(255, 255, 255, 0.2) inset;
  background: transparent;
  transform: translateX(160px) scale(8);
  -webkit-filter: blur(1px);
}

.spinner i:nth-child(1) {
  transform: rotate(30deg) translateX(30px);
  animation-delay: 0.16667s;
}

.spinner i:nth-child(2) {
  transform: rotate(60deg) translateX(30px);
  animation-delay: 0.33333s;
}

.spinner i:nth-child(3) {
  transform: rotate(90deg) translateX(30px);
  animation-delay: 0.5s;
}

.spinner i:nth-child(4) {
  transform: rotate(120deg) translateX(30px);
  animation-delay: 0.66667s;
}

.spinner i:nth-child(5) {
  transform: rotate(150deg) translateX(30px);
  animation-delay: 0.83333s;
}

.spinner i:nth-child(6) {
  transform: rotate(180deg) translateX(30px);
  animation-delay: 1s;
}

.spinner i:nth-child(7) {
  transform: rotate(210deg) translateX(30px);
  animation-delay: 1.16667s;
}

.spinner i:nth-child(8) {
  transform: rotate(240deg) translateX(30px);
  animation-delay: 1.33333s;
}

.spinner i:nth-child(9) {
  transform: rotate(270deg) translateX(30px);
  animation-delay: 1.5s;
}

.spinner i:nth-child(10) {
  transform: rotate(300deg) translateX(30px);
  animation-delay: 1.66667s;
}

.spinner i:nth-child(11) {
  transform: rotate(330deg) translateX(30px);
  animation-delay: 1.83333s;
}

.spinner i:nth-child(12) {
  transform: rotate(360deg) translateX(30px);
  animation-delay: 2s;
}

@keyframes spin {
  30% {
    opacity: 1;
    box-shadow: 0px 0px 6px rgba(255, 255, 255, 0.8);
  }
}