.glitch {
  position: relative;
  font-size: 5rem;
  color: #f5e000;
  text-transform: uppercase;
  letter-spacing: 4px;
  animation: flicker 2s infinite;
}

.glitch::before,
.glitch::after {
  content: attr(data-text);
  position: absolute;
  left: 0;
}

.glitch::before {
  left: 2px;
  text-shadow: -2px 0 #00ff9c;
  animation: glitch 1s infinite linear alternate-reverse;
}

.glitch::after {
  left: -2px;
  text-shadow: 2px 0 #00d4ff;
  animation: glitch 1.5s infinite linear alternate-reverse;
}



@keyframes glitch {
  0% { clip-path: inset(10% 0 90% 0); }
  20% { clip-path: inset(30% 0 60% 0); }
  40% { clip-path: inset(50% 0 30% 0); }
  60% { clip-path: inset(70% 0 10% 0); }
  80% { clip-path: inset(90% 0 0 0); }
  100% { clip-path: inset(0 0 100% 0); }
}

@keyframes flicker {
  0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% { opacity: 1; }
  20%, 24%, 55% { opacity: 0.4; }
}
