.loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(-45deg, #1c1c1c, #232323, #1c1c1c, #232323);
    background-size: 400% 400%;
    animation: gradient 10s ease infinite;
    transition: opacity 0.75s, visibility 0.75s;
  }
  
  .loader-hidden {
    opacity: 0;
    visibility: hidden;
  }
  
  .loader::after {
    content: "";
    width: 75px;
    height: 75px;
    border: 15px solid white;
    border-top-color: rgb(94, 94, 94);
    border-radius: 50%;
    animation: loading 0.75s ease infinite;
  }
  
  @keyframes loading {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  
  @keyframes gradient {
    0% {
      background-position: 0% 50%;
    }
    50% {
      background-position: 100% 50%;
    }
    100% {
      background-position: 0% 50%;
    }
  }
  