body {
  height: 100vh;
  overflow: hidden;
  display: grid;
  place-items: center;
}

.loader {
  width: fit-content;
  font-weight: bold;
  font-family: monospace;
  font-size: 30px;
  color: #0000;
  background: linear-gradient(
      90deg,
      #000 25%,
      #8a9b0f 0 50%,
      #c02942 0 75%,
      #00a0b0 0
    )
    0 0/400% 100%;
  background-clip: text;
  animation: loading 5s infinite cubic-bezier(0.3, 1, 0, 1);
}

.loader::before {
  content: "Loading...";
}

@keyframes loading {
  25% {
    background-position: calc(1 * 100% / 3) 0;
  }

  50% {
    background-position: calc(2 * 100% / 3) 0;
  }

  75% {
    background-position: calc(3 * 100% / 3) 0;
  }

  100% {
    background-position: calc(4 * 100% / 3) 0;
  }
}
