* {
  overflow-x: clip;
}

a {
 font-family: "Bebas Neue", sans-serif;
    font-size: xx-large;
    padding: 30px;
}


body {
    min-height: 200vh;
    background-image: url(download.jpg);
     background-repeat: no-repeat;
     background-size: contain;
}

.header {
    position: sticky;
    top: 20px;
    padding: 20px 100px;
    display: flex;
    justify-content: space-between;
    width: 100%;
     align-items: center;
    z-index: 100;
}

a {
   position: relative;
   display: inline-block;
   overflow: hidden;
 }
 
 a::after {
   content: '';
   position: absolute;
   bottom: 0;
   left: 0;
   height: 4px;
   width: 100%;
   background: linear-gradient(90deg, #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #4b0082, #8b00ff);
   background-size: 200% auto;
   transition: all .5s;
   transform: translateX(-100%);
 }
 
 a:hover::after {
   transform: translateX(0%);
   animation: gradient-89 3s linear infinite;
 }
 
 @keyframes gradient-89 {
   0% { background-position: 100% 0%; }
   50% { background-position: 0% 0%; }
   100% { background-position: 100% 0%; }
 }