/* --------------------------------------------------
 * Optimized CSS for Walking Through the Stargate
 * Full-Screen Overlay Menu + BMC Button
 * -------------------------------------------------- */

/* Base Styles */
body {
  margin: 0;
  font-family: "Raleway", sans-serif;
  line-height: 1.7;
}

/* Header */
.header {
  background-color: #000;
  padding: 30px 20px;
}

/* Navigation Bar (Desktop Defaults) */
.nav-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap; /* Allows wrapping if space is tight */
}

/* Nav Links (Desktop Defaults) */
.nav-links ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

.nav-links li {
  list-style: none;
  margin: 0;
  padding: 0 15px;
  font-size: 15px;
}

.nav-links a {
  color: #ba7f75;
  text-decoration: none;
}

.nav-links a:hover {
  text-decoration: underline;
}

/* Branding */
.WTTS {
  font-size: 32px;
  padding: 0 10px;
}

/* Footer */
.footer {
  display: flex;
  background-color: #000;
  padding: 70px 20px;
  flex-wrap: wrap;
}

.footer-bar {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  width: 100%;
}

.footer-words {
  color: #ba7f75;
  font-size: 24px;
}

/* Brand & Footer Links (avoid default blue underlines) */
.header a,
.footer a {
  color: #ba7f75;
  text-decoration: none;
}

.header a:hover,
.footer a:hover {
  text-decoration: underline;
}

/* Main Section */
.section {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 70px auto;
  padding: 0 50px;
  max-width: 1400px;
}

.row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  padding: 50px 0;
}

/* Content Columns */
.content_column {
  width: 100%;
  max-width: 600px;
  padding: 0 10px;
}

/* Image Mask */
.image-mask {
  width: 100%;
  max-width: 504px;
  padding: 0 10px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  position: relative;
  aspect-ratio: 1 / 1; /* Modern approach; fallback: padding-hack if needed */
}

.image-mask img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Media Elements */
.player {
  display: flex;
  min-width: 350px;
  min-height: 270px;
}

/* Typography */
.centered_text {
  text-align: center;
}

.paragraph {
  padding: 10px 0;
}

.h1 {
  font-size: 40px;
  line-height: 1.3;
  text-align: center;
}

.h2 {
  font-size: 34px;
  line-height: 1.3;
  padding: 20px 0;
}

.h3 {
  font-size: 24px;
  line-height: 1.3;
  padding: 10px 0;
}

.hidden {
  display: none;
}

.close-btn{
  display: none;
}

/* --------------------------------------------------
 * HAMBURGER MENU (Desktop hidden, Mobile visible)
 * -------------------------------------------------- */

/* By default (desktop), hide the hamburger icon */
.hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  width: 40px;
  height: 40px;
  position: relative;
}

/* Hamburger bars */
.hamburger span {
  display: block;
  width: 100%;
  height: 3px;
  margin: 6px auto;
  background-color: #ba7f75;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transform-origin: center;
}

/* --------------------------------------------------
 * FULL-SCREEN OVERLAY NAV
 * -------------------------------------------------- */

/* Hide overlay by default (desktop) */
.nav-links {
  /* For desktop, show nav inline above (via .nav-links ul).
     We'll re-position it as an overlay only on mobile. */
}

/* ========== Mobile-Specific Styles ========== */
@media screen and (max-width: 768px) {
  /* Show the hamburger icon on mobile */
  .hamburger {
    display: block;
  }

  /* 
    Full-Screen Overlay for nav-links 
    (starts hidden by default)
  */
  .nav-links {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh; /* Full viewport height */
    background-color: rgba(0, 0, 0, 0.95);
    z-index: 9999;
    opacity: 0;
    pointer-events: none; /* can't click if hidden */
    transition: opacity 0.3s ease;
  }

  /* Center the UL content vertically & horizontally */
  .nav-links ul {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    margin: 0;
    padding: 0;
  }

  .nav-links li {
    list-style: none;
    padding: 20px;
    font-size: 18px;
  }

  /* The close button inside the overlay */
  .close-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 36px;
    background: none;
    border: none;
    color: #ba7f75;
    cursor: pointer;
    line-height: 1;
    display: block; /* hidden on desktop, shown on mobile */
  }

  /* Reveal overlay when .nav-links has .active */
  .nav-links.active {
    opacity: 1;
    pointer-events: auto;
  }

  /* Show the close button on mobile */
  .nav-links.active .close-btn {
    display: block;
  }

  /* Other mobile styling (header, etc.) */
  .header,
  .footer {
    padding: 20px 10px;
  }

  .section {
    padding: 0 20px;
  }

  .row {
    padding: 30px 0;
  }

  .player {
    min-width: 300px;
    min-height: 240px;
  }

  .h1 {
    font-size: 32px;
  }

  .h2 {
    font-size: 28px;
  }

  .h3 {
    font-size: 20px;
  }
}
