@keyframes scaleUp {
    0%, 20%, 100% {
      transform: scale(1);
    }
    10% {
      transform: scale(1.5);
    }
}

.ellipses {
    display: inline-block;
    color: (93, 93, 93, 1);    
    /* font-size: 48px; */
}
  

.ellipses > span {
    /* display: inline-block;
    width: 18px;    
    height: 18px;   
    animation: scaleUp 1.5s infinite; 
    margin-left: 4px;
    margin-right: 4px;
    border-radius: 50%; */
  
    display: inline-block;
    width: 12px;    
    height: 12px;   
    background-color: currentColor;
    border-radius: 50%;  
    animation: scaleUp 1.5s infinite; 
    margin-left: 4px;
    margin-right: 4px;
}
  
.ellipses > span:nth-child(2) {
    animation-delay: 0.5s;
}
  
.ellipses > span:nth-child(3) {
    animation-delay: 1s;
}

/* HTML: <div class="loader"></div> */
.bouncy {
    width: 60px;
    aspect-ratio: 2;
    --_g: no-repeat radial-gradient(circle closest-side,#000 90%,#0000);
    background: 
      var(--_g) 0%   50%,
      var(--_g) 50%  50%,
      var(--_g) 100% 50%;
    background-size: calc(100%/3) 50%;
    animation: l3 1s infinite linear;
  }
  @keyframes l3 {
      20%{background-position:0%   0%, 50%  50%,100%  50%}
      40%{background-position:0% 100%, 50%   0%,100%  50%}
      60%{background-position:0%  50%, 50% 100%,100%   0%}
      80%{background-position:0%  50%, 50%  50%,100% 100%}
  }