.spinner {
   margin: 10px auto;
}

.spinner-circle01 {
   display: block;
   position: relative;
   width: 80px;
   height: 80px;
}
.spinner-circle01 div {
   box-sizing: border-box;
   display: block;
   position: absolute;
   width: 64px;
   height: 64px;
   margin: 8px;
   border: 8px solid #fff;
   border-radius: 50%;
   animation: spinner-circle01 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
   border-color: #fff transparent transparent transparent;
}
.spinner-circle01 div:nth-child(1) {
   animation-delay: -0.45s;
}
.spinner-circle01 div:nth-child(2) {
   animation-delay: -0.3s;
}
.spinner-circle01 div:nth-child(3) {
   animation-delay: -0.15s;
}
@keyframes spinner-circle01 {
   0% {
      transform: rotate(0deg);
   }
   100% {
      transform: rotate(360deg);
   }
}

.flash {
   animation: flash 1.5s linear infinite;
}

@keyframes flash {
   0% {
      opacity: 0.4;
   }

   50% {
      opacity: 1;
   }

   100% {
      opacity: 0.4;
   }
}
