#spinLoader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 999999 !important;
  display: none;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

#spinLoader::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #f00;
  -webkit-animation: spin 1s linear infinite, changeColor 4s linear infinite;
  animation: spin 1s linear infinite, changeColor 4s linear infinite;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

@keyframes spin {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

@-webkit-keyframes changeColor {
  0%, 100% {
    border-top-color: #f00;
  }
  20% {
    border-top-color: #fa0;
  }
  40% {
    border-top-color: #ff0;
  }
  60% {
    border-top-color: #080;
  }
  80% {
    border-top-color: #00f;
  }
}

@keyframes changeColor {
  0%, 100% {
    border-top-color: #f00;
  }
  20% {
    border-top-color: #fa0;
  }
  40% {
    border-top-color: #ff0;
  }
  60% {
    border-top-color: #080;
  }
  80% {
    border-top-color: #00f;
  }
}
