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

body {
  background-color: #111;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}


.waviy {
  display: block;
  overflow: hidden;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  font-family: 'Bodoni Moda', serif;
  font-size: 40px;
  color: #fcc900;
  text-transform: uppercase;
  animation: skew 4s infinite;
  width: 50vw;
  height: 500px;
  overflow: hidden;
}

.waviy span {
  position: relative;
  animation: flip 2s infinite;
  animation-delay: calc(.2s * var(--i));
  margin-right: 0px;
  line-height: 0.8;
}

@keyframes flip {
  0% {
    transform: rotateY(0deg);
    font-variation-settings: 'wght' 400, 'opsz' 96;
  }
  20% {
    transform: rotateY(360deg);
    font-variation-settings: 'wght' 900, 'opsz' 96;
  }
  100% {
    transform: rotateY(360deg);
    font-variation-settings: 'wght' 400, 'opsz' 96;
  }
}

@keyframes skew {
  0% {
    transform: skewX(0deg) skewY(0deg) rotateX(0deg);
  }
  25% {
    transform: skewX(-3deg) skewY(-3deg) rotate(5deg);
  }
  50% {
    transform: skewX(3deg) skewY(3deg) rotate(-5deg);
  }
  75% {
    transform: skewX(-3deg) skewY(-3deg) rotate(5deg);
  }
  100% {
    transform: skewX(0deg) skewY(0deg) rotate(0deg);
  }
}
