@-webkit-keyframes spinner-border {
   to {
      transform: rotate(360deg)
   }
}

@keyframes spinner-border {
   to {
      transform: rotate(360deg)
   }
}

.spinner-border {
   display: inline-block;
   width: 2rem;
   height: 2rem;
   vertical-align: -.125em;
   border: .25em solid currentColor;
   border-right-color: transparent;
   border-radius: 50%;
   -webkit-animation: .75s linear infinite spinner-border;
   animation: .75s linear infinite spinner-border
}

.spinner-border-sm {
   width: 1rem;
   height: 1rem;
   border-width: .2em
}

@-webkit-keyframes spinner-grow {
   0% {
      transform: scale(0)
   }

   50% {
      opacity: 1;
      transform: none
   }
}

@keyframes spinner-grow {
   0% {
      transform: scale(0)
   }

   50% {
      opacity: 1;
      transform: none
   }
}

.spinner-grow {
   display: inline-block;
   width: 2rem;
   height: 2rem;
   vertical-align: -.125em;
   background-color: currentColor;
   border-radius: 50%;
   opacity: 0;
   -webkit-animation: .75s linear infinite spinner-grow;
   animation: .75s linear infinite spinner-grow
}

.spinner-grow-sm {
   width: 1rem;
   height: 1rem
}

@media (prefers-reduced-motion:reduce) {

   .spinner-border,
   .spinner-grow {
      -webkit-animation-duration: 1.5s;
      animation-duration: 1.5s
   }
}
