html,
body {
  height: 100vh;
  /* Make elements span the full viewport height */
  margin: 0;
  /* Remove any default browser margins */
  background-image: url("../pictures/graphics/background.jpg");
  background-size: cover;
  /* Scale the image to cover the entire area */
  background-repeat: no-repeat;
  /* Prevent the image from repeating */
  background-attachment: fixed;
  /* Keep the image fixed on scroll */
  background-position: center;
  /* Center the image */

  z-index: 1;

  font-family: Arial, Helvetica, sans-serif;
}


header {
  padding-left: 7vw;
  display: flex;
  align-items: center;
  position: sticky;
  top: 0px;
  background-color: transparent;
  z-index: 5;

}

header.header--scrolled {
  background-color: transparent;
  /* Let content colors show through */
  position: sticky;
  z-index: 15;
}

header.header--scrolled::before {
  /* Target a pseudo-element */
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  opacity: 0;
  animation: fadeIn 0.25s forwards;
  z-index: -1;
  /* Place it behind the header content */
}

@keyframes fadeIn {
  to {
    opacity: 1;
  }
}

.siteTitle {

  color: white;

}

/* TWO COLUMN */
.mainContainer {
  display: flex;
}

nav {
  flex: 1;
  display: flex;
  padding-left: 10vw;
  padding-top: 10vh;
  color: white;
  flex-direction: row;
  position: sticky;

}

.whiteNavBar {
  width: 5px;
  height: 500px;
  background-color: white;

}

.navBarItems a {
  display: flex;
  flex-direction: column;
  margin-top: 30px;
  margin-left: 20px;
  color: white;
  font-size: x-large;
  text-decoration: none;
  /* Removes link underline */

}

.navBarItems a:visited {
  color: white;
}

.navBarItems a:hover {
  color: #7a1800;
}


/* MOBILE NAV */
.hamburger-menu {
  display: none;
  /* Hide on larger screens */
}

.bar {
  display: block;
  width: 25px;
  height: 3px;
  margin: 5px auto;
  background-color:#7a1800;
  /* Match your color scheme */
}

.mobile-nav {
  display: none;
  /* Hide navigation by default */
  background-color: rgb(15, 15, 15, .95);
  padding-bottom: 25vh;
  position: fixed;  /* Make the menu fixed */
  top: 0; 
  left: 0;
  width: 100%;  /* Make sure it covers the full width */
  z-index: 9999; /* Ensure it's on top of everything else */
}

.close-menu {
  /* Style the close button to your liking */
  background-color: transparent;
  border: 2px solid #a3a3a3;
  font-size: 20px;
  color: white;
  cursor: pointer;
  position: absolute;
  top: 35px;
  left: 8vw;
  
}

.close-menu:hover {
  color:#7a1800; /* Example hover color */
}

.mobile-nav.open {
  display: block;
}

.mobile-nav a {
  display: flex;
  flex-direction: column;
  margin-top: 10px;
  margin-left: 10px;
  color: white;
  font-size: x-large;
  text-decoration: none;
}

.mobile-nav a:visited {
  color: white;
}

.mobile-nav a:hover {
  color: #7a1800;
}

/* END OF MOBILE NAV */

.map-image {
  width: 100%; /* Adjust as needed */
  margin: 0 auto; /* Center the container */
  overflow: hidden; /* Hide any overflowing content */
  filter: drop-shadow(5px 5px 10px rgb(99, 99, 99, 0.5));
}

.map-image img {
  width: 100%; 
  height: auto;  /* Maintain aspect ratio */
  transform-origin: 0 0; /* Set the origin to the top-left corner */
  transition: transform 0.3s ease; /* Smooth zoom transition */
  
}

/* IMAGE GALLERY */
#gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 equal columns */
  grid-gap: 10px; /* Adjust gap as needed */
  filter: drop-shadow(5px 5px 10px rgb(99, 99, 99, 0.5));
  padding-right: 10px;
}

.gallery-item {
  /* Style your gallery items here (optional) */
}

.gallery-item img {
  width: 100%; 
  height: auto; /* Maintain aspect ratio */
  /* Add other image styles as needed */
}

.modal {
  display: none; /* Hidden by default */
  position: fixed;
  z-index: 1; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; 
  height: 100%; 
  overflow: auto; 
  background-color:   
 rgb(0, 0, 0, 0.99); /* Dimmed background */
}

.modal-content {
  margin: 15% auto; /* 15% from the top and centered */
  display: block;
  width: 95%; /* Adjust as needed */
  max-width: 700px;
}

.close-button {
  color: #7a1800;
  font-size: xx-large;
  background-color: #212121;
  filter: drop-shadow(5px 5px 10px rgb(99, 99, 99, 0.5));
  float: right;
  padding: 25px;
  font-size: 28px;
  font-weight: bold;
}

.close-button:hover,
.close-button:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;   

}
/* END OF IMAGE GALLERY */

main {
  flex: 3;
  padding-left: 20px;
  padding-top: 40px;
  /* padding-right: 20px; */
  color: white;
  z-index: 5;

}

article {
  max-width: 80%;
}

main h2 {
  color: #7a1800;
}

footer {
  padding-top: 100px;
  padding-right: 10vw;
  padding-bottom: 100px;
  text-align: right;
  color: rgba(105, 105, 105, 0.15);
  font-weight: bold;

}

main a {
  color: #91695f;
  text-decoration: none;
}

/* Smaller screens */
@media only screen and (max-width: 600px) {

  /* Hide header text */
  header h1 {
    display: none;
  }

  nav {
    display: none;
  }

  main {
    display: block;
  }

  article {
    max-width: 97%;
  }

  

  .hamburger-menu {
    display: block;
  }
  
  .navBarItems {
    /* Assuming this targets your existing links */
    display: none;
  }

  .whiteNavBar {
    display: none;
  }
} 