
.glitch, .glow {
  animation: glitch 5s 5s infinite;
  }

.glitch::before, .glow::before {
  animation  : noise-1 3s linear infinite alternate-reverse, glitch 5s 5.05s infinite;
  background : black;
  content    : attr(data-text);
  left       : -2px;
  overflow   : hidden;
  position   : absolute;
  text-shadow: -5px 0 magenta;
  top        : 1em;
  left: 1em;
  }

.glitch::after, .glow::after {
  animation  : noise-2 3s linear infinite alternate-reverse, glitch 5s 5s infinite;
  background : black;
  content    : attr(data-text);
  left       : 2px;
  overflow   : hidden;
  position   : absolute;
  text-shadow: -5px 0 lightgreen;
  top        : 1em;
  left: 1em;
  }

@keyframes glitch {
	1% { transform: rotateX(10deg) skewX(90deg); }
	2% { transform: rotateX(0deg) skewX(0deg); }
}

@keyframes noise-1 {
	3.3333333333% { clip-path: inset(29px 0 55px 0); }
	6.6666666667% { clip-path: inset(36px 0 11px 0); }
	10% { clip-path: inset(19px 0 66px 0); }
	13.3333333333% { clip-path: inset(86px 0 11px 0); }
	16.6666666667% { clip-path: inset(34px 0 11px 0); }
	20% { clip-path: inset(36px 0 16px 0); }
	23.3333333333% { clip-path: inset(21px 0 6px 0); }
	26.6666666667% { clip-path: inset(35px 0 26px 0); }
	30% { clip-path: inset(94px 0 7px 0); }
	33.3333333333% { clip-path: inset(19px 0 30px 0); }
	36.6666666667% { clip-path: inset(24px 0 43px 0); }
	40% { clip-path: inset(82px 0 10px 0); }
	43.3333333333% { clip-path: inset(87px 0 14px 0); }
	46.6666666667% { clip-path: inset(30px 0 36px 0); }
	50% { clip-path: inset(63px 0 29px 0); }
	53.3333333333% { clip-path: inset(83px 0 1px 0); }
	56.6666666667% { clip-path: inset(25px 0 68px 0); }
	60% { clip-path: inset(68px 0 3px 0); }
	63.3333333333% { clip-path: inset(53px 0 34px 0); }
	66.6666666667% { clip-path: inset(51px 0 45px 0); }
	70% { clip-path: inset(34px 0 16px 0); }
	73.3333333333% { clip-path: inset(51px 0 41px 0); }
	76.6666666667% { clip-path: inset(70px 0 16px 0); }
	80% { clip-path: inset(24px 0 36px 0); }
	83.3333333333% { clip-path: inset(1px 0 36px 0); }
	86.6666666667% { clip-path: inset(21px 0 66px 0); }
	90% { clip-path: inset(51px 0 23px 0); }
	93.3333333333% { clip-path: inset(78px 0 20px 0); }
	96.6666666667% { clip-path: inset(34px 0 21px 0); }
	100% { clip-path: inset(46px 0 28px 0); }
}

@keyframes noise-2 {
	0% { clip-path: inset(50px 0 40px 0); }
	3.3333333333% { clip-path: inset(72px 0 8px 0); }
	6.6666666667% { clip-path: inset(14px 0 79px 0); }
	10% { clip-path: inset(2px 0 39px 0); }
	13.3333333333% { clip-path: inset(21px 0 64px 0); }
	16.6666666667% { clip-path: inset(77px 0 21px 0); }
	20% { clip-path: inset(1px 0 68px 0); }
	23.3333333333% { clip-path: inset(64px 0 22px 0); }
	26.6666666667% { clip-path: inset(76px 0 8px 0); }
	30% { clip-path: inset(59px 0 26px 0); }
	33.3333333333% { clip-path: inset(12px 0 52px 0); }
	36.6666666667% { clip-path: inset(7px 0 84px 0); }
	40% { clip-path: inset(92px 0 9px 0); }
	43.3333333333% { clip-path: inset(70px 0 30px 0); }
	46.6666666667% { clip-path: inset(24px 0 41px 0); }
	50% { clip-path: inset(37px 0 34px 0); }
	53.3333333333% { clip-path: inset(42px 0 10px 0); }
	56.6666666667% { clip-path: inset(21px 0 39px 0); }
	60% { clip-path: inset(1px 0 19px 0); }
	63.3333333333% { clip-path: inset(28px 0 72px 0); }
	66.6666666667% { clip-path: inset(54px 0 16px 0); }
	70% { clip-path: inset(57px 0 32px 0); }
	73.3333333333% { clip-path: inset(19px 0 82px 0); }
	76.6666666667% { clip-path: inset(2px 0 99px 0); }
	80% { clip-path: inset(97px 0 4px 0); }
	83.3333333333% { clip-path: inset(11px 0 7px 0); }
	86.6666666667% { clip-path: inset(52px 0 4px 0); }
	90% { clip-path: inset(82px 0 1px 0); }
	93.3333333333% { clip-path: inset(86px 0 9px 0); }
	96.6666666667% { clip-path: inset(43px 0 35px 0); }
	100% { clip-path: inset(63px 0 25px 0); }
}

.scanlines {
  mix-blend-mode: difference;
  overflow      : hidden;
  }

.scanlines::before {
  animation : fudge 7s ease-in-out alternate infinite;
  background: repeating-linear-gradient(to bottom, transparent 0%, rgba(255, 255, 255, 0.05) 0.5%, transparent 1%);
  content   : "";
  height    : 100%;
  left      : 0;
  position  : absolute;
  top       : 0;
  width     : 100%;
  }

@keyframes fudge {
	from { transform: translate(0px, 0px); }
	to { transform: translate(0px, 2%); }
}
.glow {
  color      : transparent;
  position   : absolute;
  text-shadow: 0 0 1000px #dfbfbf;
  top        : 0;
  }

.subtitle {
  animation     : glitch-2 5s 5.02s infinite;
  color         : rgba(165, 141, 141, 0.4);
  font-family   : Arial, Helvetica, sans-serif;
  font-size     : 0.8vw;
  font-weight   : 100;
  left          : 17%;
  letter-spacing: 1em;
  position      : absolute;
  text-align    : center;
  text-transform: uppercase;
  }

@keyframes glitch-2 {
	1% { transform: rotateX(10deg) skewX(70deg); }
	2% { transform: rotateX(0deg) skewX(0deg); }
}
