.glitch {
  position: relative;
}

@keyframes noise-anim {
  0% {
    clip-path: inset(44% 0 16% 0);
  }
  5% {
    clip-path: inset(72% 0 6% 0);
  }
  10% {
    clip-path: inset(4% 0 19% 0);
  }
  15% {
    clip-path: inset(74% 0 3% 0);
  }
  20% {
    clip-path: inset(80% 0 13% 0);
  }
  25% {
    clip-path: inset(18% 0 24% 0);
  }
  30% {
    clip-path: inset(62% 0 31% 0);
  }
  35% {
    clip-path: inset(76% 0 18% 0);
  }
  40% {
    clip-path: inset(90% 0 1% 0);
  }
  45% {
    clip-path: inset(59% 0 20% 0);
  }
  50% {
    clip-path: inset(86% 0 14% 0);
  }
  55% {
    clip-path: inset(43% 0 48% 0);
  }
  60% {
    clip-path: inset(98% 0 3% 0);
  }
  65% {
    clip-path: inset(16% 0 5% 0);
  }
  70% {
    clip-path: inset(86% 0 4% 0);
  }
  75% {
    clip-path: inset(100% 0 1% 0);
  }
  80% {
    clip-path: inset(51% 0 47% 0);
  }
  85% {
    clip-path: inset(77% 0 11% 0);
  }
  90% {
    clip-path: inset(93% 0 2% 0);
  }
  95% {
    clip-path: inset(38% 0 13% 0);
  }
  100% {
    clip-path: inset(48% 0 27% 0);
  }
}
.glitch::after {
  content: attr(data-text);
  position: absolute;
  left: 2px;
  text-shadow: -1px 0 red;
  top: 0;
  overflow: hidden;
  animation: noise-anim 2s infinite linear alternate-reverse;
}

@keyframes noise-anim-2 {
  0% {
    clip-path: inset(16% 0 76% 0);
  }
  5% {
    clip-path: inset(78% 0 7% 0);
  }
  10% {
    clip-path: inset(8% 0 86% 0);
  }
  15% {
    clip-path: inset(12% 0 83% 0);
  }
  20% {
    clip-path: inset(29% 0 17% 0);
  }
  25% {
    clip-path: inset(30% 0 30% 0);
  }
  30% {
    clip-path: inset(93% 0 6% 0);
  }
  35% {
    clip-path: inset(7% 0 55% 0);
  }
  40% {
    clip-path: inset(45% 0 11% 0);
  }
  45% {
    clip-path: inset(38% 0 23% 0);
  }
  50% {
    clip-path: inset(30% 0 55% 0);
  }
  55% {
    clip-path: inset(63% 0 12% 0);
  }
  60% {
    clip-path: inset(67% 0 24% 0);
  }
  65% {
    clip-path: inset(93% 0 2% 0);
  }
  70% {
    clip-path: inset(13% 0 45% 0);
  }
  75% {
    clip-path: inset(85% 0 14% 0);
  }
  80% {
    clip-path: inset(30% 0 4% 0);
  }
  85% {
    clip-path: inset(30% 0 57% 0);
  }
  90% {
    clip-path: inset(46% 0 32% 0);
  }
  95% {
    clip-path: inset(39% 0 49% 0);
  }
  100% {
    clip-path: inset(94% 0 4% 0);
  }
}
.glitch::before {
  content: attr(data-text);
  position: absolute;
  left: -2px;
  text-shadow: 1px 0 blue;
  top: 0;
  overflow: hidden;
  animation: noise-anim-2 15s infinite linear alternate-reverse;
}
