
  .loader-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
  }

  .loader {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #80b7e4;
    box-shadow: 32px 0 #80b7e4, -32px 0 #80b7e4;
    position: relative;
    animation: flash 0.3s ease-in infinite alternate;
  }

  .loader::before, .loader::after {
    content: '';
    position: absolute;
    left: -64px;
    top: 0;
    background: #80b7e4;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    transform-origin: 35px -35px;
    transform: rotate(45deg);
    animation: hitL 0.3s ease-in infinite alternate;
  }

  .loader::after {
    left: 64px;
    transform: rotate(-45deg);
    transform-origin: -35px -35px;
    animation: hitR 0.3s ease-out infinite alternate;
  }

  @keyframes flash {
    0%, 100% {
      background-color: rgba(128, 128, 128, 0.5);
      box-shadow: 32px 0 rgba(128, 128, 128, 0.5), -32px 0 rgba(128, 128, 128, 0.5);
    }
    25% {
      background-color: rgba(128, 128, 128, 0.5);
      box-shadow: 32px 0 rgba(128, 128, 128, 0.5), -32px 0 #80b7e4;
    }
    50% {
      background-color: #80b7e4;
      box-shadow: 32px 0 rgba(128, 128, 128, 0.5), -32px 0 rgba(128, 128, 128, 0.5);
    }
    75% {
      background-color: rgba(128, 128, 128, 0.5);
      box-shadow: 32px 0 #80b7e4, -32px 0 rgba(128, 128, 128, 0.5);
    }
  }

  @keyframes hitL {
    0% {
      transform: rotate(45deg);
      background-color: #80b7e4;
    }
    25%, 100% {
      transform: rotate(0deg);
      background-color: rgba(128, 128, 128, 0.5);
    }
  }

  @keyframes hitR {
    0%, 75% {
      transform: rotate(0deg);
      background-color: rgba(128, 128, 128, 0.5);
    }
    100% {
      transform: rotate(-45deg);
      background-color: #80b7e4;
    }
  }


  .spinner {
    background-color: #ffffffb5 !important;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
