
#menu-toggle {
  position: relative;
  width: 40px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.line {
  position: absolute;
  width: 30px;
  height: 1px;
  background-color: var(--gray);
  transition: transform 0.4s ease, opacity 0.4s ease;
}

.line1 { transform: translateY(-5px); }

.line2 { transform: translateY(5px); }

/* X Animation */
#menu-toggle.open .line1 {
  transform: rotate(45deg);
}

#menu-toggle.open .line2 {
  transform: rotate(-45deg);
}

/* Fullscreen nav overlay */
#fullscreenNav {
  position: fixed;
  inset: 0;
  background-color: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transform: translateY(-100%);
  transition: transform .75s ease-in-out;
  z-index: 99;
}

#fullscreenNav.open {
  transform: translateY(0%);
}

#fullscreenNav a {
  font-size: 2rem;
  margin: 1rem 0;
}
