html {
    height: 100%;
  }
  
body {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    margin: 0;
}

section {
    position: relative;
    width: 100%;
    height: 100%;
    background: url(testcard2.jpg);
}

section:before {
    position:absolute;
    content:'';
    width: 100%;
    height: 100%;
    background: url(testcard2.jpg);
    opacity: 0.5;
    /*mix-blend-mode: hard-light;*/
    animation: animate .6s linear infinite;
}

/*section:hover:before{
    animation: animate .2s linear infinite;
}*/

@keyframes animate{
    0%
    {
        background-position: 0 0;
        filter: hue-rotate(0deg);
    }
    10%
    {
        background-position: 5px 0;
    }
    20%
    {
        background-position: -5px 0;
    }
    30%
    {
        background-position: 15px 0;
    }
    40%
    {
        background-position: 5px 0;
    }
    50%
    {
        background-position: -25px 0;
    }
    60%
    {
        background-position: -50px 0;
    }
    70%
    {
        background-position: 0 20px;
    }
    80%
    {
        background-position: -60px -20px;
    }
    81%
    {
        background-position: 0 0;
    }    
    100%
    {
        background-position: 0 0;
        filter: hue-rotate(360deg);
    }
}



.glitch {
    animation: glitch-skew 8s 8s infinite;
    font-family: tahoma, sans-serif;
    font-size: 8em;
    font-weight: bold;
    line-height: 1;
    position: absolute;
    text-align: center;
    text-transform: uppercase;
    transform-origin: center top;
    display: inline-block;
    color: #030329;
}
  
.glitch__main {
    color: #030329;
}
  
.gc {
    height: 100%;
    opacity: 0.8;
    transform-origin: center center;
    width: 100%;
    z-index: -1;
    position: absolute;
    display: block;
}

.gb {
    height: 100%;
    opacity: 0.8;
    transform-origin: center center;
    width: 100%;
    z-index: -1;
    position: absolute;
    margin-right:  50%;
}
  
.gc-red {
    animation: glitch 300ms  infinite;
    color: red;
}
  
.gc-blue {
    animation: glitch 300ms infinite reverse;
    color: blue;
}
  
.gc-green {
    animation: glitch 300ms 100ms infinite;
    color: green;
}

  
.gb-red {
    animation: glitch 300ms  infinite;
    color: red;
}
  
.gb-blue {
    animation: glitch 300ms infinite reverse;
    color: blue;
}
  
.gb-green {
    animation: glitch 300ms 100ms infinite;
    color: green;
}
  
  
.gl {
    animation: glitch-line 2s linear infinite;
    background: #030329;
    content: '';
    height: 1px;
    position: relative;
    width: 100%;
    z-index: 1;
}

  
  
@keyframes glitch {
    0% {
      transform: translate(0);
    }
    20% {
      transform: translate(-8px, 8px);
    }
    40% {
      transform: translate(-8px, -8px);
    }
    60% {
      transform: translate(8px, 8px);
    }
    80% {
      transform: translate(8px, -8px);
    }
    100% {
      transform: translate(0);
    }
}
  
@keyframes glitch-skew {
    0% {
      transform: skew(0deg, 0deg);
    }
    48% {
      transform: skew(0deg, 0deg);
      filter: blur(0);
    }
    50% {
      transform: skew(-20deg, 0deg);
      filter: blur(4px);
    }
    52% {
      transform: skew(20deg, 0deg);
    }
    54% {
      transform: skew(0deg, 0deg);
      filter: blur(0);
    }
    100% {
      transform: skew(0deg, 0deg);
    }
}
  
@keyframes glitch-line {
    0% {
      top: 0;
    }
    100% {
      top: 100%;
}
}

a {
    background-color: #030329;
    color: red;
    text-align: center;
    font: bold 50px 'tahoma', sans-serif;
    padding: 15px 32px;
    margin: 15px auto;
    border: none;
    width: 20%;
    border-radius: 10px;
    display: block;
    cursor: URL;
    text-decoration: none;
}

a:hover {
    background-color: red;
    color: #030329;
}