/* ==========================================================================
   STATE
   State-driven styling: :hover/:focus/:active feedback, JS-toggled
   .is-* classes, and animations.
   ========================================================================== */

.nav-link:hover {
  color: var(--primary-color);
  font-weight: 700;
}

.nav-link:focus-visible {
  outline-color: var(--primary-color);
  outline-offset: -4px;
  border-radius: 8px;
  outline-width: 2px;
  outline-style: solid;
}

.nav-link.is-current {
  color: var(--primary-color);
  font-weight: 700;
}

.primary-button:hover {
  background-color: #262944;
  color: var(--background-color);
}

.primary-button:active {
  border-style: solid;
  border-color: var(--pressed-color);
  background-color: var(--pressed-color);
}

.primary-button:focus-visible {
  outline-color: var(--primary-color);
  outline-offset: 4px;
  outline-width: 2px;
  outline-style: solid;
}

.grid-image {
  opacity: 0;
  transition: opacity 0.7s ease-out;
}

.grid-image.is-visible {
  opacity: 1;
}

@keyframes pulse {
  0%,
  100% {
    transform: scale(0.5);
  }
  50% {
    transform: scale(1);
  }
}

.brand:focus-visible {
  border: 1px none var(--primary-color);
  outline-color: var(--primary-color);
  outline-offset: -4px;
  border-radius: 8px;
  outline-width: 2px;
  outline-style: solid;
}

.menu-button:focus-visible {
  outline-offset: -6px;
  border-radius: 12px;
  outline: 2px solid var(--primary-color);
}

.link-wrapper:hover {
  font-weight: 600;
}

.in-text-link:hover {
  color: var(--primary-color);
}

.in-text-link:focus-visible {
  outline-offset: 4px;
  border-radius: 4px;
  outline: 2px solid #1f4863;
}
