.indicator-alt-sm {
  height: 24px;
}

.indicator-alt {
  height: 40px;
}

.indicator-alt-lg {
  height: 120px;
}

.indicator {
  font-size: 0.2em;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid @progress-bar-accent;
  border-right: 1.1em solid @progress-bar-accent;
  border-bottom: 1.1em solid @progress-bar-accent;
  border-left: 1.1em solid rgba(0, 0, 0, 0);
  transform: translateZ(0);
  animation: load8 1.1s infinite linear;
}

.indicator,
.indicator:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.indicator-primary {
  .indicator();

  border-top: 1.1em solid @indicator-primary;
  border-right: 1.1em solid @indicator-primary;
  border-bottom: 1.1em solid @indicator-primary;
}

.indicator-large {
  .indicator();

  font-size: 0.4em;
}

.indicator-primary-large {
  .indicator-primary();

  font-size: 0.4em;
}

//mini activate spinner
.spinner {
  &.spinner-bounce-middle,
  &.spinner-bounce-bottom,
  &.spinner-bounce-top,
  &.spinner-blink {
    position: relative;
    display: inline-flex;
    margin: 3.5px 6px;
    width: 3px;
    height: 3px;
    animation: bounce-middle 2000ms ease-in 200ms infinite;

    &:before,
    &:after {
      content: '';
      position: absolute;
      width: 3px;
      height: 3px;
    }

    &:before {
      left: -6px;
      animation: bounce-middle 2000ms ease-in 0ms infinite;
    }

    &:after {
      right: -6px;
      animation: bounce-middle 2000ms ease-in 400ms infinite;
    }
  }
}

.spinner-accent,
.spinner-accent:before,
.spinner-accent:after {
  background-color: @accent;
}

@keyframes bounce-middle {
  0%,
  70%,
  100% {
    transform: translateY(0);
  }

  5%,
  10% {
    transform: translateY(25%);
  }

  25%,
  30% {
    transform: translateY(-75%);
  }

  50%,
  55% {
    transform: translateY(50%);
  }
}
