.gauge-loader:not(:required) {
  position: relative;
  display: inline-block;
  width: 64px;
  height: 32px;
  margin-bottom: 10px;
  overflow: hidden;
  text-indent: -9999px;
  background: #6ca;
  border-top-left-radius: 32px;
  border-top-right-radius: 32px;
}

.gauge-loader:not(:required)::before {
  position: absolute;
  top: 5px;
  left: 30px;
  width: 4px;
  height: 27px;
  content: '';
  background: white;
  border-radius: 2px;
  transform-origin: 50% 100%;
  animation: gauge-loader 4000ms infinite ease;
}

.gauge-loader:not(:required)::after {
  position: absolute;
  top: 26px;
  left: 26px;
  width: 13px;
  height: 13px;
  content: '';
  background: white;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
}

@keyframes gauge-loader {
  0% {
    transform: rotate(-50deg);
  }

  10% {
    transform: rotate(20deg);
  }

  20% {
    transform: rotate(60deg);
  }

  24% {
    transform: rotate(60deg);
  }

  40% {
    transform: rotate(-20deg);
  }

  54% {
    transform: rotate(70deg);
  }

  56% {
    transform: rotate(78deg);
  }

  58% {
    transform: rotate(73deg);
  }

  60% {
    transform: rotate(75deg);
  }

  62% {
    transform: rotate(70deg);
  }

  70% {
    transform: rotate(-20deg);
  }

  80% {
    transform: rotate(20deg);
  }

  83% {
    transform: rotate(25deg);
  }

  86% {
    transform: rotate(20deg);
  }

  89% {
    transform: rotate(25deg);
  }

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