body {
  overflow-x: hidden;
}

a {
  color: white;
  text-decoration: none;
}

.primary-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.logo {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;

  transition: all 0.1s ease-out;
}

.logo:hover {
  color: rgb(66, 132, 255);
  border-color: rgb(66, 132, 255);
}

.logo-text {
}

.mobile-nav-toggle {
  display: none;
  transition: all 0.1s ease-out;
}

.mobile-nav-toggle:hover {
  color: rgb(66, 132, 255);
}

.primary-navigation {
  display: flex;
  gap: 1rem;
  list-style-type: none;
  padding: 0;
  margin: 0;
  z-index: 10;
  background-color: hsl(0 0% 0% / 0.9);
  align-items: center;
  padding: 1rem;
  border-radius: 4px;
}

@media (max-width: 35em) {
  .primary-navigation {
    gap: 2em;

    position: fixed;
    inset: 0 0 0 20%;

    flex-direction: column;
    padding: min(20vh, 6rem) 2rem;

    transform: translateX(100%);
    transition: transform 250ms ease-out;

    align-items: start;
  }

  .primary-navigation[data-visible='true'] {
    transform: translateX(0%);
  }

  .mobile-nav-toggle {
    display: block;
    position: absolute;
    z-index: 9000;
    aspect-ratio: 1;
    top: 2rem;
    right: 2rem;
    background: none;
    padding: 0;
    margin: 0;
  }

  .mobile-nav-toggle:hover {
    background-color: rgba(0, 0, 0, 0);
    cursor: pointer;
    top: 2rem;
  }

  .mobile-nav-toggle-icon {
    font-size: 2rem;
  }
}

@supports (backdrop-filter: blur(100px)) {
  .primary-navigation {
    background-color: hsl(0 0% 0% / 0.6);
    backdrop-filter: blur(100px);
  }
}

.logo {
  display: flex;
  align-items: center;
  margin: 2rem;

  padding: 0.4rem;

  border: 0.1rem solid white;
  border-radius: 4px;
}

.logo-icon {
  font-size: 1.6rem;
  margin-right: 0.2rem;
}

.logo-text {
  font-size: 1.2rem;
}

.primary-header {
  align-items: center;
}

.sr-only {
  display: none;
}
