:root {
    --logo-width: 100px;
    --spin-speed: 1.3s;
  }
  
.preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    background-color: #f2f5f8;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity .25s ease;
    flex-direction: row;
  }
  
  .preloader--invisible {
    opacity: 0;
  }
  
  .preloader--hidden {
    visibility: hidden;
  }
  
  .preloader__logo {
    width: var(--logo-width);
    padding-bottom: 10px;
    
    background: no-repeat center;
    
    background-size: 40%;
  }
  .circle1 {
    background-color: #ff8336;
  }
  .circle2 {
    background-color: #bd1b2d;
  }
  .circle3 {
    background-color: #0d97e8;
  }
  .preloader__circle {    
    border-radius: 50%;
    width: calc(var(--logo-width) + 10px);
    height: calc(var(--logo-width) + 10px);    
    margin :30px;
    animation: preloader-spin var(--spin-speed) linear infinite;

  }
  .preloader__dot {
    height: 25px;
    width: 25px;
    background-color: #bbb;
    border-radius: 50%;    
    top:0; bottom:0; left:0;right:0;
    overflow:hidden;
    margin:auto;
    
  }
  
  @keyframes preloader-spin {
    0% {
      transform: rotate(0deg);
    }
  
    100% {
      transform: rotate(360deg);
    }
  }

  @keyframes  preloader-circle {
    0%{
      transform:rotate(0deg)
                translate(-165px)
                rotate(0deg);
    
    }
    100%{
      transform:rotate(360deg)
                translate(-165px)
                rotate(-360deg);
    }
  }
  