/* https://www.cssportal.com/css-glitch-text-effect/ */

.glitch-wrapper {
   width: 100%;
   height: 100%;
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   background-color: #000000;
}

.glitch {
   position: relative;
   /*font-size: 50px;*/
   font-weight: bold;
   color: #FFFFFF;
   letter-spacing: 3px;
   z-index: 1;
}

.glitch:before,
.glitch:after {
   display: block;
   content: attr(data-text);
   position: absolute;
   font-size:50%;
   top: 0;
   left: 0;
   opacity: 0;
}

.glitch:before {
   animation: glitch-it 3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both infinite;
   color: #00FFFF;
   z-index: -1;
}

.glitch:after {
   animation: glitch-it 3s cubic-bezier(0.25, 0.46, 0.45, 0.94) reverse both infinite;
   color: #FF00FF;
   z-index: -2;
}

@keyframes glitch-it {
   0% {
      transform: translate(0);
      opacity: 0;
   }
   90% {
      transform: translate(-2px, 2px);
      opacity: 0;
   }
   92.5% {
      transform: translate(-2px, -2px);
      opacity: 0.8;
   }
   95% {
      transform: translate(2px, 2px);
      opacity: 0.8;
   }
   97.5% {
      transform: translate(2px, -2px);
      opacity: 0;
   }
   to {
      transform: translate(0);
      opacity: 0;
   }
}