header {
  text-align: center;
  background-color: var(--light-blue-accent);
  color: var(--text-color-dark);
  border-bottom: 1px solid var(--light-blue-accent);
  padding: 0px 0; 
}

body{
  font-family:Verdana, Geneva, Tahoma, sans-serif;
  margin: 0;
  padding: 0;
  background-color:hsl(280, 14%, 96%);
}

footer {
  text-align: center;
  background-color: var(--light-blue-accent);
  color: var(--text-color-dark);
  min-height: 500px;
  overflow: hidden;

  position: relative; 
  padding-bottom: 100px; /* Needs to be at least the height of the wave */
}

/*Main logo ID*/
#kean_logo{
  width: 40%;
  height: 10%;
  box-shadow: none;
  border: 10px solid var(--bg-color-dark);
  border-radius: 75px;
}

/*Slogan in footer*/
#slogan-image{
  width: 95%;
  height: 10%;
  box-shadow: none;
  border: 5px solid var(--bg-color-dark);
  border-radius: 75px;
}

/*main navigation bar id*/
#navigation_bar {
  margin: 0%;
  text-align: center;
  background: linear-gradient(to right, var(--light-blue-accent), rgb(26, 60, 105));
  padding: 2px 0; /* Example padding */
  box-shadow: 0 5px 15px rgba(1, 1, 1, 2); /* Subtle shadow for depth */
  border-radius: 8px; /* Slightly rounded edges for modern feel */
}

/*ID associated with navbar main tabs(Buildings,Food,Events, Other)*/
#navigation_bar li {
  display: block;
  position: relative;
  z-index: 1000;
  float: left;
  background-color: var(--light-blue-accent);
  border-bottom: 1px solid white;
}

/*Associated with whole list underneath main tab*/
/* ex) all li elements contained within main tab(Building list)*/
#navigation_bar ul {
  position: absolute;
  display: none;
  padding: 0;
  overflow: scroll;
  overflow-x: hidden;
  height:200px;
}

#navigation_bar li a {
  display: block;
  padding: 0;
  text-decoration: none;
  width: 200px;
  height: 50px;
  color: #ffffff;
  float: none;
  text-align: center;
  padding-top:20px;
}

/*Associated with entries within main tab*/
#navigation_bar li li a {
  font-size: 75%;
  line-height: 10px;
}

/*Changes navbar color when hovering over entry*/
#highlight_nav:hover{
  background-color:hsl(216, 68%, 56%);
}

/*Display entries and descriptions on hover*/
#navigation_bar li:hover ul{
  display: block;
}

/*Displays description in certain position relative to entry on hover*/
#navigation_bar li li:hover ul,li li:active ul, li li:focus ul{
  display: block;
  margin-left: 220px;
  margin-top: -50px;
}

/*Hides description if not hovering over entry*/
#navigation_bar li li ul, li li:active ul{
 margin-top: -10000px;
}

/*Background color of description box*/
#navigation_bar ul ul li{
  background: white;
  
}

/*Font size of text in description box*/
#navigation_bar ul ul li p{
  font-size: larger;
}

/*Text color and width of description box on navbar*/
#navigation_bar ul ul li a{
  color:black;
  width:0px;
}

/*#navigation_bar ul ul li:hover,ul ul li:active, ul ul li:focus{
  display:block;
  background-color: purple;
}*/

.travel-mode{
  text-align: center;
}

/*color for travel options*/
.travel-mode label {
    color: white;
    font-size: 16px;
    cursor: pointer;
}

/*Classes associated with html elements*/
.navigation_bar_container { 
    display: flex;
    justify-content: center;
}

.left-image-overlay {
    /* Define the size and space for this image area */
    width: 250px; 
    height: 450px; /* Match the height of the map for vertical alignment */
    margin-right: 40px; /* Space between this image and the map */
    
    /* Make the container look empty/integrated */
    background-color: transparent; 
    
    /* Center the image within its own container */
    display: flex;
    justify-content: center;
    align-items: center;
}

.overlay-graphic {
    /* Style the image itself */
    max-width: 300px; /* Ensure the image fits within the box */
    max-height: 400px;
    height: auto;
    border-radius: 15px;
    
    /* Add a glow effect to match the logo/slogan */
    filter: drop-shadow(0 0 5px var(--gradient-purple));
}

.right-image-overlay {
    /* Dimensions and spacing */
    width: 250px; 
    height: 300px; /* Match the height of the map */
    margin-left: 40px; /* Space between this image and the map */
    
    /* Center the image within its own container */
    display: flex;
    justify-content: center;
    align-items: center;
    filter: drop-shadow(0 0 5px var(--gradient-blue));
}

.right-side-graphic {
    /* Inherits sizing from .overlay-graphic, but apply specific rounding */
    border-radius: 15px; 
    /* You can apply a slight hue shift here if you want the glow to look purple instead of blue */
    /* filter: drop-shadow(0 0 10px var(--gradient-purple)); */
}

.map_container{
  display:flex;
  justify-content: center;
}

.tilte_container{
  display:flex;
  justify-content: center;
  align-items:center;
  gap:1%;
}

/*Holds team members photos, names, and roles*/
.person_container{
  display: inline-block;
  text-align: center;
  justify-content: center;
}

/*Holds all team members divs for interactive resizing*/
.dev_contain{
  display: inline-flex;
  gap:10px;
}

.text_container{
  display: flexbox;
  text-align: center;
  gap:1%;
}

/*.display_desc_left_side{
  right:370px;
  top:0px;
}*/

#map {
  width: 750px;
  height: 600px;
  border: 0;
}

.map_container {
  display: flex;
  justify-content: center;
  margin-bottom: 10px;
}

.controls {
  display: flex;
  justify-content: center;
  margin-bottom: 10px;
}

/*input {
  width: 400px;
  padding: 8px;
  font-size: 16px;
}*/

button {
  padding: 8px 12px;
  margin-left: 8px;
  font-size: 16px;
  cursor: pointer;
}

.text_container {
  text-align: center;
  font-family: Arial, sans-serif;
}

#Academic_Building_scrollin{
   overflow-x:hidden;
   overflow-y: scroll;
   direction:ltr;
   max-height: 370%;
   width:215px;
}

#Food_scrollin{
   overflow-x:hidden;
   overflow-y: scroll;
   direction:ltr;
   max-height: 370%;
   width:215px;
}

#Events_scrollin{
   overflow-x:hidden;
   overflow-y: scroll;
   direction:ltr;
   max-height: 370%;
   width:215px;
}

#Other_scrollin{
   overflow-x:hidden;
   overflow-y: scroll;
   direction:ltr;
   max-height: 370%;
   width:215px;
}

#cmon1{
   overflow-x:hidden;
   overflow-y: scroll;
   direction:ltr;
   max-height: 370%;
   width:365px;
}

#testing{
   overflow-y: scroll;
   direction:ltr;
   width:365px;
}

.testing{
   max-height: 50px;
   width:200px;
}

/*MOBILE VIEW STYLING*/
@media screen and (max-width:870px){
  #navigation_bar li a {
    width: 100px;
    height:60px;
  }
  #navigation_bar li{
    width:100px;
  }
  
  #navigation_bar li li:hover ul, li li:active ul{
  display: block;
  margin-left: 3000px;
  margin-top: -60px;
}

  /*#navigation_bar ul ul li a{
    color:black;
    width:0px;
    }*/

  /*.display_desc_left_side{
    right:200px;
    top:6px;
  }

  #raise_description_phone_screen_three_lines{
    top:-80px;
  }

  #raise_description_two_lines{
    top:-45px;
  } 

  #raise_description_three_lines{
    top:-95px;
  }*/

   #Academic_Building_scrollin{
    width:115px;
    overflow-x:hidden;
    max-height: 400%;
  }

  #Food_scrollin{
    width:115px;
    overflow-x:hidden;
    max-height: 400%;
  }
  
  #Events_scrollin{
    width:115px;
    overflow-x:hidden;
    max-height: 400%;
  }

  #Other_scrollin{
    width:115px;
    overflow-x:hidden;
    max-height: 400%;
  }
}

:root {
    --text-color-primary: #f0f0ff;    /* Light text */
    --text-color-faded: #cccccc;      /* Faded for secondary text */
    --bg-color-dark: #1e1e2f;         /* Deep purplish-dark background */
    --accent-color: #00ffff;          /* Electric Cyan */
    --light-blue-accent: #002d61; /* Solid Light Steel Blue */

    --font-primary: 'Poppins', 'Inter', sans-serif;
    --font-unique: 'JetBrains Mono', monospace;

    --gradient-blue: #00ffff;   /* The bright blue from your slogan */
    --gradient-purple: #ee00ee; /* The bright purple from your slogan */
}

body {
    /* Use a clean, modern font */
    font-family: var(--font-primary);
    background-color: var(--bg-color-dark);
    color: var(--text-color-primary);
    color:black;
    line-height: 1.6;
}


footer{
  color:white;
}

/* Headings should use the primary color */
h1, h2, h3 {
    color: var(--text-color-primary);
    font-weight: 600; /* Slightly bolder */
}

.navbar a {
    color: var(--text-color-faded); /* Start with faded text */
    text-decoration: none;
    padding: 10px 15px;
    position: relative;
    /* ALL animations should be smooth (0.3s) */
    transition: color 0.3s ease, transform 0.1s ease; 
}

/* Hover Animation: Fades text to bright accent */
.navbar a:hover {
    color: var(--accent-color); /* Change text to electric cyan */
    /* Optional: Slight lift effect */
    transform: translateY(-2px); 
}

/* Click Animation: Gives a "press" or "grounded" feeling */
.navbar a:active {
    color: #00cccc; /* Slightly darker cyan on press */
    transform: translateY(1px); /* Pushes the link down slightly */
}

/* Optional: Add an underglow effect on hover */
.navbar a:hover::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 80%;
    height: 2px;
    background-color: var(--accent-color);
    box-shadow: 0 0 8px var(--accent-color); /* The 'glow' */
    transition: width 0.3s ease, left 0.3s ease;
}

/* ---------------------------------------------------------------- */
/* GLOW EFFECT APPLIED TO THE OUTER CONTAINER: .map_container */
/* ---------------------------------------------------------------- */
.map_container {
    position: relative; /* CRITICAL: Allows pseudo-element to be positioned relative to this */
    margin: 40px auto;
    padding: 25px; /* This padding creates the space for the glow */
    border-radius: 12px;
    background-color: transparent; /* Main container itself is transparent */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1; /* Ensures map content is above the glow */
}

.map_container::before {
    content: ''; /* CRITICAL for pseudo-elements */
    position: absolute;
    top: -10px;    /* Adjust these values to control the glow's spread */
    left: -10px;
    right: -10px;
    bottom: -10px;
    background: linear-gradient(to right, var(--gradient-blue), var(--gradient-purple)); /* OMBRE GLOW! */
    border-radius: 15px; /* Slightly larger radius than container for smooth glow */
    z-index: -1; /* Puts the glow BEHIND the map container */
    filter: blur(15px); /* BLUR THE GRADIENT TO CREATE THE GLOW EFFECT */
    opacity: 0.8; /* Make it slightly transparent for a softer glow */
}

/* ---------------------------------------------------------------- */
/* STYLES FOR THE INNER MAP ELEMENT: #map */
/* ---------------------------------------------------------------- */
#map {
    /* Set the actual dimensions for the map */
    width: 800px;
    height: 450px; 
    margin:0 auto;
    background-color: #000000; /* Ensures map has a dark background */
    border-radius: 8px; 
    overflow: hidden; 
    z-index: 2; /* Ensure map is above the pseudo-element */
}

.wave-container {
    position: absolute; /* Allows precise placement */
    bottom: 0;          /* Positions the container at the very bottom */
    left: 0;
    width: 100%;
    height: 100px;      /* Height of the wave visual */
    overflow: hidden;   /* Hides the parts of the wave that extend beyond the container */
}

.wave {
    position: absolute;
    width: 100%;
    height: 100px;
    bottom: 0;
    left: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%2364b5f6' fill-opacity='0.5' d='M0,192L48,170.7C96,149,192,107,288,112C384,117,480,171,576,160C672,149,768,75,864,69.3C960,64,1056,128,1152,144C1248,160,1344,128,1392,112L1440,96L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'%3E%3C/path%3E%3C/svg%3E");
    background-size: 1000px 100px; /* Size of the background SVG */
    background-repeat: repeat-x;
}

/* Define the wave movement (moving left) */
@keyframes wave-move {
    0% {
        background-position-x: 0;
    }
    100% {
        background-position-x: 1000px; /* Moves the wave image 1000px to the left */
    }
}

/* Apply animation with different speeds for fluid look */
#wave1 {
    z-index: 10;
    opacity: 0.3;
    background-position-x: 400px;
    animation: wave-move 30s linear infinite; 
}
#wave2 {
    z-index: 9;
    opacity: 0.3;
    background-position-x: 300px;
    animation: wave-move 15s linear infinite;
}
#wave3 {
    z-index: 8;
    opacity: 0.3;
    background-position-x: 200px;
    animation: wave-move 10s linear infinite;
}
#wave4 {
    z-index: 7;
    opacity: 0.3;
    background-position-x: 100px;
    animation: wave-move 5s linear infinite; 
}
#wave5 {
    z-index: 7;
    opacity: 0.3;
    background-position-x: 225px;
    animation: wave-move 25s linear infinite; 
}
#wave6 {
    z-index: 7;
    opacity: 0.3;
    background-position-x: 125px;
    animation: wave-move 7s linear infinite; 
}
#wave7 {
    z-index: 7;
    opacity: 0.3;
    background-position-x: 350px;
    animation: wave-move 12s linear infinite; 
}
#wave8 {
    z-index: 7;
    opacity: 0.3;
    background-position-x: 250px;
    animation: wave-move 17s linear infinite; 
}
#wave9 {
    z-index: 7;
    opacity: 0.3;
    background-position-x: 150px;
    animation: wave-move 22s linear infinite; 
}
#wave10 {
    z-index: 7;
    opacity: 0.3;
    background-position-x: 50px;
    animation: wave-move 27s linear infinite; 
}