.glitch{
  position:relative;
  display:inline-block;
  text-shadow: 0 0 18px rgba(199,255,107,.08);
}
.glitch::before,
.glitch::after{
  content: attr(data-text);
  position:absolute;
  left:0; top:0;
  width:100%;
  overflow:hidden;
  clip-path: inset(0 0 0 0);
  opacity:.55;
  pointer-events:none;
}
.glitch::before{
  transform: translate(1px, 0);
  animation: glitchA 2.8s infinite steps(1, end);
}
.glitch::after{
  transform: translate(-1px, 0);
  animation: glitchB 3.6s infinite steps(1, end);
}
@keyframes glitchA{
  0%,100%{clip-path: inset(0 0 0 0); opacity:.0}
  6%{clip-path: inset(12% 0 72% 0); opacity:.55}
  7%{clip-path: inset(0 0 0 0); opacity:.0}
  41%{clip-path: inset(62% 0 20% 0); opacity:.45}
  42%{clip-path: inset(0 0 0 0); opacity:.0}
}
@keyframes glitchB{
  0%,100%{clip-path: inset(0 0 0 0); opacity:.0}
  18%{clip-path: inset(28% 0 50% 0); opacity:.45}
  19%{clip-path: inset(0 0 0 0); opacity:.0}
  78%{clip-path: inset(8% 0 78% 0); opacity:.35}
  79%{clip-path: inset(0 0 0 0); opacity:.0}
}
