.loading-wave-dots {
  $size: 8px;
  $wave: -6px;
  $delay: .14s;
  position: relative;

  :deep(.wave-item) {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    margin-top: -$size/2;
    width: $size;
    height: $size;
    border-radius: 50%;
    animation: loading-wave-dots linear 2.8s infinite;

    &:first-child {
      margin-left: -$size/2 + -$size * 4;
    }

    &:nth-child(2) {
      margin-left: -$size/2 + -$size * 2;
      animation-delay: $delay;
    }

    &:nth-child(3) {
      margin-left: -$size/2;
      animation-delay: $delay * 2;
    }

    &:nth-child(4) {
      margin-left: -$size/2 + $size * 2;
      animation-delay: $delay * 3;
    }

    &:last-child {
      margin-left: -$size/2 + $size * 4;
      animation-delay: $delay * 4;
    }
  }

  @keyframes loading-wave-dots {
    0% {
      transform: translateY(0);
      background: #bbb;
    }
    10% {
      transform: translateY($wave);
      background: #999;
    }
    20% {
      transform: translateY(0);
      background: #bbb;
    }
    100% {
      transform: translateY(0);
      background: #bbb;
    }
  }
}
