/* Color Palette */
:root {
  --neon-pink: #ff00ff;
  /* Bright Pink */
  --electric-pink: #ff69b4;
  /* Hot Pink */
  --solar-yellow: #ffff00;
  /* Bright Yellow */
  --circuit-blue: #00ffff;
  /* Cyan/Bright Blue */
  --shocking-pink: #ff1493;
  /* Deep Pink */
  --acid-yellow: #ccff00;
  /* Acid Yellow */
  --digital-blue: #1e90ff;
  /* Dodger Blue */
  --soft-pink: #ffe4e1;
  /* Misty Rose */
  --shadow-grey: #2f2f2f;
  /* Dark Grey */
  --terminal-grey: #1a1a1a;
  /* Dark Background */
  --hacker-black: #000000;
  /* Pure Black */
  --text-light: #f0f0f0;
  /* Light Text */
}

/* Base Styles */
html {
  overflow-x: hidden;
}

body {
  min-height: 100vh;
  font-family: "Poppins", sans-serif;
  background: var(--terminal-grey);
  color: var(--text-light);
  margin: 0;
  padding: 0;
}


/* Typography */
div {
  color: var(--text-light);
  font-family: "Poppins", sans-serif;
}

.brutusBG>p {
  color: var(--hacker-black);
}

h1 {
  color: var(--circuit-blue);
  font-family: "Audiowide", monospace;
  font-size: 3rem;
  text-align: center;
  text-shadow: 2px 2px var(--neon-pink), -2px -2px var(--solar-yellow);
  margin: 0.5rem 0;
}

h2 {
  font-family: "Audiowide", monospace;
  font-size: 1.5rem;
  /* Reduced size */
  color: var(--solar-yellow);
  margin: 0.5rem;
  padding: 0;
  text-shadow: 1px 1px var(--neon-pink);
}

h3 {
  font-family: "Audiowide", monospace;
  margin: 0.5rem;
  font-size: 1.1rem;
  color: var(--electric-pink);
}

p {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  line-height: 1.4;
  /* Slightly tighter */
  font-size: 0.9rem;
  /* Slightly smaller */
}

a {
  color: var(--circuit-blue);
  text-decoration: none;
  transition: all 0.3s ease;
}

a:hover {
  color: var(--neon-pink);
  text-shadow: 0 0 5px var(--neon-pink);
}

.container>div>p {
  margin: 0;
}

.hero>h1 {
  color: white;
  font-size: 6vw;
  /* Slightly smaller hero text */
  text-shadow: 3px 3px var(--neon-pink), -3px -3px var(--circuit-blue);
}

.footer>p {
  font-size: 0.75rem;
  color: var(--text-light);
  margin: 0 auto;
}

/* Layout - Grid System */
.our-board,
.width,
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0.5rem;
  /* Reduced padding */
}

.container {
  padding: 0.5rem;
  display: grid;
  grid-template-areas:
    "hero hero hero"
    "nav1 nav2 nav3"
    "nav4 nav5 nav6"
    "nav4 nav5 nav7"
    "foot foot foot";
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto;
  gap: 0.5rem;
  /* Reduced gap */
}

.container>div {
  padding: 0.5rem;
  /* Compact padding */
  margin: 0;
  text-align: center;
  border: 1px solid var(--circuit-blue);
  /* Thinner border */
  border-radius: 5px;
  background-color: rgba(0, 0, 0, 0.5);
  /* Darker semi-transparent bg */
  box-shadow: 0 0 5px rgba(0, 255, 255, 0.1);
  /* Reduced glow */
}

.container>div:hover {
  border-color: var(--neon-pink);
  box-shadow: 0 0 8px rgba(255, 0, 255, 0.2);
  /* Reduced hover glow */
}

.container>div.nav1 {
  grid-area: nav1;
}

.container>div.nav2 {
  grid-area: nav2;
}

.container>div.nav3 {
  grid-area: nav3;
}

.container>div.nav4 {
  grid-area: nav4;
}

.container>div.nav5 {
  grid-area: nav5;
}

.container>div.nav6 {
  grid-area: nav6;
}

.container>div.nav7 {
  grid-area: nav7;
}

.container>div.hero {
  grid-area: hero;
  background-image: url("FinishGlow.jpg");
  background-size: cover;
  background-position: center;
  border-radius: 15px;
  padding: 3rem 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border: 2px solid var(--solar-yellow);
}

.heroimg {
  display: block;
  margin: 1rem auto;
  width: 100%;
  height: auto;
  max-width: 1000px;
  border-radius: 10px;
  box-shadow: 0 0 10px var(--neon-pink);
}

/* Brutus Layout (Event Sections) */
.eventcontainer {
  display: grid;
  grid-gap: 1rem;
  padding: 1rem;
}

.map-container>iframe.map {
  display: block;
  border-radius: 10px;
  height: 30em;
  width: 100%;
}

.alert {
  color: var(--shocking-pink);
}

.textbox1,
.textbox2,
.textbox3,
.textbox4,
.textbox5,
.textbox6,
.textbox7 {
  grid-column: 1;
  padding: 1rem;
  background-color: rgba(20, 20, 20, 0.9);
  color: var(--text-light);
  border-radius: 10px;
  border: 1px solid var(--circuit-blue);
}

.imagebox1,
.imagebox2,
.imagebox3,
.imagebox4,
.imagebox5,
.imagebox6,
.imagebox7 {
  grid-column: 2;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--neon-pink);
}

.imagebox3 img,
.imagebox4 img,
.imagebox5 img,
.imagebox6 img,
.imagebox7 img {
  border-radius: inherit;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease-in-out;
}

.sponsors img:hover,
.imagebox3 img:hover,
.imagebox4 img:hover,
.imagebox5 img:hover,
.imagebox6 img:hover,
.imagebox7 img:hover {
  transform: scale(1.05);
}

.sponsors {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 1rem;
}

.sponsors img {
  max-height: 60px;
  /* Compact sponsor logos */
  width: auto;
}

@media (min-width: 768px) {
  .eventcontainer {
    grid-template-columns: 1fr 1fr;
  }

  .textbox1,
  .textbox3,
  .textbox5 {
    grid-column: 1;
  }

  .imagebox1,
  .imagebox3,
  .imagebox5,
  .imagebox7 {
    grid-column: 2;
  }

  .imagebox2 {
    grid-row: 2;
    grid-column: 1;
  }

  .textbox2 {
    grid-row: 2;
    grid-column: 2;
  }

  .imagebox4 {
    grid-row: 4;
    grid-column: 1;
  }

  .textbox4 {
    grid-row: 4;
    grid-column: 2;
  }

  .imagebox6 {
    grid-row: 6;
    grid-column: 1;
  }

  .textbox6 {
    grid-row: 6;
    grid-column: 2;
  }
}

/* Media Query for Small Screens */
@media screen and (max-width: 767px) {

  .eventcontainer,
  .container,
  .width>.faq {
    display: block;
    padding: 0.5rem;
  }

  .hero,
  .nav1,
  .nav2,
  .nav3,
  .nav4,
  .nav5,
  .nav6,
  .footer,
  .textbox1,
  .textbox2,
  .textbox3,
  .textbox4,
  .textbox5,
  .textbox6,
  .imagebox1,
  .imagebox2,
  .imagebox3,
  .imagebox4,
  .imagebox5,
  .imagebox6,
  .imagebox7 {
    display: block;
    margin-bottom: 0.5rem;
    box-sizing: border-box;
    /* Fix width issues */
    width: 100%;
  }

  .imagebox1>iframe.map,
  .imagebox2>iframe.map,
  .imagebox3>iframe.map {
    min-height: 15rem;
  }

  /* Order the navigation elements */
  .container {
    display: flex;
    flex-direction: column;
  }

  .container>.hero {
    order: 0;
  }

  .container>.nav1 {
    order: 1;
  }

  .container>.nav2 {
    order: 2;
  }

  .container>.nav3 {
    order: 3;
  }

  .container>.nav5 {
    order: 4;
  }

  .container>.nav6 {
    order: 5;
  }

  .container>.nav4 {
    order: 6;
  }

  .container>.nav7 {
    order: 7;
  }

  .container>.footer {
    order: 8;
  }
}


/* Footer */
.footer {
  grid-area: foot;
  padding: 1rem;
  margin-top: 0.5rem;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.8);
  color: var(--circuit-blue);
  border-radius: 5px;
  border-top: 2px solid var(--neon-pink);
}

/* Hero Section */
.hero {
  display: grid;
  gap: 0.5rem;
  margin: 0;
  padding: 1rem;
}

/* Images */
img {
  max-width: 100%;
  height: auto;
}

.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Preview & GPX Links */
.preview,
.gpx {
  margin: 0.5rem auto;
  padding: 0.5rem 1rem;
  background-color: var(--hacker-black);
  color: var(--solar-yellow);
  text-decoration: none;
  border-radius: 5px;
  font-weight: bold;
  border: 1px solid var(--solar-yellow);
  transition: all 0.3s ease;
  cursor: pointer;
}

.preview:hover,
.gpx:hover {
  background-color: var(--solar-yellow);
  color: var(--hacker-black);
  box-shadow: 0 0 10px var(--solar-yellow);
}

/* Navigation */
.navparent,
.gpxDL {
  display: flex;
  justify-content: center;
}

.gpxbuttons {
  display: flex;
  align-items: center;
  padding: 0;
}

.gpxbuttons>li {
  list-style: none;
  padding: 5px;
}

.nav23 {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  list-style: none;
  flex-wrap: wrap;
  /* Allow wrapping on medium screens */
}

.nav23>li {
  background: rgba(0, 0, 0, 0.8);
  border: 1px solid var(--circuit-blue);
  border-radius: 5px;
  padding: 0.5rem 1rem;
  margin: 0.5rem;
  text-transform: uppercase;
  font-size: 0.9rem;
  letter-spacing: 0.1em;
  transition: all 0.3s ease;
}

.nav23>li>a {
  color: var(--circuit-blue);
}

.nav23>li:hover {
  background: var(--circuit-blue);
  box-shadow: 0 0 10px var(--circuit-blue);
}

.nav23>li:hover>a {
  color: var(--hacker-black);
  text-shadow: none;
}


/* Burger Menu (Mobile Navigation) */
.burger {
  display: none;
  cursor: pointer;
  width: 2rem;
  margin: 1rem;
  position: fixed;
  /* Fixed to stay on screen */
  top: 10px;
  right: 10px;
  /* Move to right for better thumb access */
  z-index: 1001;
  background: rgba(0, 0, 0, 0.5);
  padding: 5px;
  border-radius: 5px;
}

.burger div {
  width: 25px;
  height: 3px;
  background-color: var(--neon-pink);
  margin: 5px;
  transition: all 0.3s ease;
}

@media screen and (max-width: 768px) {
  .nav23 {
    position: fixed;
    right: 0;
    top: 0;
    height: 100vh;
    /* Full height */
    width: 100%;
    /* Full width */
    background-color: rgba(0, 0, 0, 0.95);
    /* Opaque background */
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transform: translateX(100%);
    transition: transform 0.3s ease-in;
    z-index: 1000;
    margin: 0;
    overflow: hidden;
    /* Prevent scrolling */
  }

  .nav23 li {
    opacity: 0;
    margin: 1.5rem 0;
    /* More spacing for touch targets */
  }

  .burger {
    display: block;
  }
}

.nav-active {
  transform: translateX(0%);
}

.nav-active li {
  animation: navLinkFade 0.5s ease forwards var(--i);
}

@keyframes navLinkFade {
  from {
    opacity: 0;
    transform: translateX(50px);
  }

  to {
    opacity: 1;
    transform: translateX(0px);
  }
}

.toggle .line1 {
  transform: rotate(-45deg) translate(-5px, 6px);
}

.toggle .line2 {
  opacity: 0;
}

.toggle .line3 {
  transform: rotate(45deg) translate(-5px, -6px);
}

.faq {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 0.5rem;
  margin: 0 auto;
  max-width: 1200px;
  padding: 0;
}

.faq .question {
  background: var(--shadow-grey);
  font-family: "poppins", cursive;
  font-weight: 800;
  border-radius: 5px;
  text-align: right;
  padding: 0.5rem;
  color: var(--circuit-blue);
}

.faq .question>p {
  color: var(--circuit-blue);
  margin: 0;
}

.faq .answer {
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.1);
  color: var(--text-light);
  padding: 0.5rem;
}

.faq .answer>p {
  color: var(--text-light) !important;
  margin: 0;
}


