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

body {
  font-family: sans-serif;
}

h1 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 20vh;
  text-shadow: 10px 10px 15px #6663;
  background-image: repeating-linear-gradient(to left, violet, indigo, blue, green, yellow, orange, red, violet);
  background-size: 200% 200%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  animation: rainbow 1s ease infinite;
}

@keyframes rainbow { 
  0%   { background-position:   0% 50% }
  50%  { background-position: 100% 25% }
  100% { background-position:   0% 50% }
}
