.header-link-gradient {
  position: relative;
  z-index: 1;
  transition: color 0.2s;
  color: transparent !important;
   background: linear-gradient(90deg, blue, red, blue);
  background-size: 200% auto;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: text-gradient-move 3s linear infinite;
}

.header-link-gradient.active {
  color: transparent !important;
  background: linear-gradient(90deg, blue, red, blue);
  background-size: 200% 200%;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: header-link-gradient-move 2s linear infinite;
}

.header-link-gradient.active::after {
  content: '';
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: -2px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, blue, red, blue);
  background-size: 200% 200%;
  animation: header-link-gradient-move 2s linear infinite;
}

@keyframes header-link-gradient-move {
  0% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes text-gradient-move {
  0% { background-position: 200% center; }
  100% { background-position: 0% center; }
}

@keyframes gradientMove {
  0% {
    background-position: 0% center;
  }
  50% {
    background-position: 100% center;
  }
  100% {
    background-position: 0% center;
  }
}

/* Fix for medium screens to prevent wrapping */
@media (min-width: 768px) and (max-width: 850px) {
  .navbar .btn {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  
  .navbar-start {
    flex: 0 1 auto;
  }
  
  .navbar-end {
    flex: 1 1 auto;
    justify-content: flex-end;
  }
}