* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  width: 100vw;
  min-height: 100vh;
  font-family: "Exo", "Bungee Shade", cursive, Arial, sans-serif;
  background-color: #557;
  color: #fff;
  display: grid;
  place-content: center;
  padding: 1rem;
}

@font-face {
  font-family: rotor;
  src: url("https://assets.codepen.io/467/rotor-VF.woff2")
    format("woff2-variations");
}

html {
  --size: 100vw;
  --loop: 6s;
  --delay: 0.15;
  --background1: #129681;
  --background2: #085147;
  --background3: #e01c82;
  --color1: #ffebe5;
  --color2: #ffd9ce;
  
  background: #282c37;
}

body {
  background-image: radial-gradient(
      circle at 0% 110%,
      var(--background2),
      var(--background1)
    ),
    radial-gradient(circle at 0% -30%, var(--background3), transparent);
  background-blend-mode: screen;
}

h1 {
  width: var(--size);
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 800;
  background-color: #000;
  background-image: repeating-radial-gradient(
      circle at 120% 110%,
      #000 10px,
      #333 20px
    ),
    repeating-radial-gradient(circle at -20% 30%, #000 10px, #333 20px);
  background-blend-mode: screen;
  filter: contrast(5);
  mix-blend-mode: lighten;
  font-family: rotor;
  font-size:10rem;
}

span {
  -webkit-animation: text var(--loop) ease-in alternate infinite;
          animation: text var(--loop) ease-in alternate infinite;
}

span:nth-child(1) {
  -webkit-animation-delay: calc(var(--loop) * -1);
          animation-delay: calc(var(--loop) * -1);
}

span:nth-child(2) {
  -webkit-animation-delay: calc(var(--loop) * -1 + (var(--loop) * var(--delay)));
          animation-delay: calc(var(--loop) * -1 + (var(--loop) * var(--delay)));
}

span:nth-child(3) {
  -webkit-animation-delay: calc(var(--loop) * -1 + (var(--loop) * var(--delay) * 2));
          animation-delay: calc(var(--loop) * -1 + (var(--loop) * var(--delay) * 2));
}

span:nth-child(4) {
  -webkit-animation-delay: calc(var(--loop) * -1 + (var(--loop) * var(--delay) * 3));
          animation-delay: calc(var(--loop) * -1 + (var(--loop) * var(--delay) * 3));
}

span:nth-child(5) {
  -webkit-animation-delay: calc(var(--loop) * -1 + (var(--loop) * var(--delay) * 4));
          animation-delay: calc(var(--loop) * -1 + (var(--loop) * var(--delay) * 4));
}

span:nth-child(6) {
  -webkit-animation-delay: calc(var(--loop) * -1 + (var(--loop) * var(--delay) * 5));
          animation-delay: calc(var(--loop) * -1 + (var(--loop) * var(--delay) * 5));
}

span:nth-child(7) {
  -webkit-animation-delay: calc(var(--loop) * -1 + (var(--loop) * var(--delay) * 6));
          animation-delay: calc(var(--loop) * -1 + (var(--loop) * var(--delay) * 6));
}

@-webkit-keyframes text {
  0% {
    font-weight: 900;
    font-variation-settings: "RTTX" 0, "DPTH" 62, "OFST" 0;
    scale: 1;
    filter: blur(calc(var(--size) * 0.005));
    color: var(--color1);
  }
  100% {
    font-weight: 100;
    font-variation-settings: "RTTX" 180, "DPTH" 62, "OFST" 0;
    scale: 1.5;
    filter: blur(calc(var(--size) * 0.06));
    color: var(--color2);
  }
}

@keyframes text {
  0% {
    font-weight: 900;
    font-variation-settings: "RTTX" 0, "DPTH" 62, "OFST" 0;
    scale: 1;
    filter: blur(calc(var(--size) * 0.005));
    color: var(--color1);
  }
  100% {
    font-weight: 100;
    font-variation-settings: "RTTX" 180, "DPTH" 62, "OFST" 0;
    scale: 1.5;
    filter: blur(calc(var(--size) * 0.06));
    color: var(--color2);
  }
}