// https://tobiasahlin.com/spinkit/

// Loading
.loading {
  color: transparent !important;
  min-height: $unit-4;
  pointer-events: none;
  position: relative;
  &::after {
    animation: loading 500ms infinite linear;
    border: $border-width-lg solid $primary-color;
    border-radius: 50%;
    border-right-color: transparent;
    border-top-color: transparent;
    content: "";
    display: block;
    height: $unit-4;
    left: 50%;
    margin-left: -$unit-2;
    margin-top: -$unit-2;
    position: absolute;
    top: 50%;
    width: $unit-4;
    z-index: $zindex-0;
  }

  &.loading-lg {
    min-height: $unit-10;
    &::after {
      height: $unit-8;
      margin-left: -$unit-4;
      margin-top: -$unit-4;
      width: $unit-8;
    }
  }
}

.square-spinner {
  width: 40px;
  height: 40px;
  background-color: $primary-color;

  margin: 100px auto;
  -webkit-animation: sk-rotateplane 1.2s infinite ease-in-out;
  animation: sk-rotateplane 1.2s infinite ease-in-out;
}

@-webkit-keyframes sk-rotateplane {
  0% { -webkit-transform: perspective(120px) }
  50% { -webkit-transform: perspective(120px) rotateY(180deg) }
  100% { -webkit-transform: perspective(120px) rotateY(180deg)  rotateX(180deg) }
}

@keyframes sk-rotateplane {
  0% { 
    transform: perspective(120px) rotateX(0deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg) 
  } 50% { 
    transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg) 
  } 100% { 
    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
  }
}

.round-spinner {
  width: 40px;
  height: 40px;
  margin: 100px auto;
  background-color: $primary-color;

  border-radius: 100%;  
  -webkit-animation: sk-scaleout 1.0s infinite ease-in-out;
  animation: sk-scaleout 1.0s infinite ease-in-out;
}

@-webkit-keyframes sk-scaleout {
  0% { -webkit-transform: scale(0) }
  100% {
    -webkit-transform: scale(1.0);
    opacity: 0;
  }
}

@keyframes sk-scaleout {
  0% { 
    -webkit-transform: scale(0);
    transform: scale(0);
  } 100% {
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
    opacity: 0;
  }
}


