* {
  list-style: none;
  text-decoration: none;
  box-sizing: border-box;
}


.header-container {
  position: fixed;
  display: grid;
  grid-template-columns: 12.5vw 12.5vw 50vw 12.5vw 12.5vw;
  grid-template-rows: 50% 50%;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  border: 0; 
  min-width: 100vw;
  max-width: 100vw;
  max-height: 10vh;
  min-height: 10vh;
  z-index: 10;
  background-color: rgb(16, 39, 159);

}
.main-page-container{
  display: grid;
  max-width: 100vw;
  min-width: 100vw;
  position: absolute;
  top: 10vh;

  grid-template-rows:  auto auto auto auto auto auto 10vh;
  margin: 0;
  padding: 0;
  gap: 3rem;
}
.main-page-text-1 {
  display: grid;
  grid-area: 4;
}
.main-page-3-column-section {
  /* Centered section with 80vw width */
  width: 80vw;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, auto);
  gap: 3rem;
  justify-content: center;
}
.main-page-3-column-section > div {
  /* Optional: center content in each cell */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.main-page-3-column-section img {
  /* Responsive image style */
  max-width: 100%;
  height: auto;
  border-radius: 8px; /* Optional: rounded corners */
}
        .main-page-image.gallery {  
            grid-row: 1;
  z-index: -20;
  max-width: 100vw;
  min-width: 100vw;
          height: 100vh;
  box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.3);
            text-align: center;
            position: relative; /* Needed to stack pictures absolutely */
           
        }

        .main-page-image picture,
        #gallery-img,
        #gallery-img2 {
            transition: opacity 0.7s;
            opacity: 1;
            position: absolute;
            top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;
        }
        #gallery-img.fade,
        #gallery-img2.fade {
            opacity: 0;
        }
        .gallery-picture {
            position: absolute;
            top: 0; left: 0; width: 100%; height: 100%;
        }
        /* You can remove or comment this if not using fixed height: */
        .main-page-image.gallery { max-height: 60vh;}

.main-page-image {

  z-index: -20;
  max-width: 100vw;
  min-width: 100vw;

  grid-row: 1;
}

.main-page-image img {
  place-self: center;
  min-width: 100vw;
  max-width: 100%;

display: block;
  height: auto;
  margin: 0;
  padding: 0;
}


.hotel {
  grid-row: 1;
  grid-column: 1;
    background-color: none;
  font-size: 2rem;
  color: black;
  text-decoration: none;
  box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.3);
  border-bottom-left-radius: 8px;
   border-bottom-left-radius: 8px;

}
/* 2px right | 2px down | 5px blur | 30% black */

.barn {
    grid-row: 1;
  grid-column: 2;
      background-color: none;
  font-size: 2rem;
  color: black;
  text-decoration: none;
    box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.3);
  border-bottom-left-radius: 8px;
   border-bottom-left-radius: 8px;
}
.fire-hall {
    grid-row: 1;
  grid-column: 3;
        background-color: none;
  font-size: 2rem;
  color: black;
  text-decoration: none;
    box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.3);
  border-bottom-left-radius: 8px;
   border-bottom-left-radius: 8px;
}
.camp-ground {
    grid-row: 2;
  grid-column: 1;
          background-color: none;
  font-size: 2rem;
  color: black;
  text-decoration: none;
    box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.3);
  border-bottom-left-radius: 8px;
   border-bottom-left-radius: 8px;
}
.country-club {
    grid-row: 2;
  grid-column: 2;
            background-color: none;
  font-size: 2rem;
  color: black;
  text-decoration: none;
    box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.3);
  border-bottom-left-radius: 8px;
   border-bottom-left-radius: 8px;
}
.pavilion {
    grid-row: 2;
  grid-column: 3;
              background-color: none;
  font-size: 2rem;
  color: black;
  text-decoration: none;
    box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.3);
  border-bottom-left-radius: 8px;
   border-bottom-left-radius: 8px;
}
.background-full-image {
  position: fixed;
  top: 10vh;
  left: 0;
  width: 100%;
  height: calc(100vh - 15vh);
  max-height: 100vh;
  z-index: -10;
  pointer-events: none;
  margin: 0;
  padding: 0;
  display: block;
}
.background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -10;
  pointer-events: none;
}
.banner-left {
  grid-column: 1 / 3;
  place-self: center;
  place-content: center;
  min-width: 100%;
  max-height: 100%;
}
.banner-left li {
  display: grid;
  grid-template-rows: auto;
}
.top-left {
  grid-column: 1;
  grid-row: 1 / 3;
  place-self: center;
}
.top-left li a {
  color: white;
}
.top-right {
  grid-column: 2;
  grid-row: 1 / 3;
  place-self: center;
}
.top-right li a {
  color: white;
}
.bottom-left {
  grid-row: 2;
  grid-column: 1;
  place-self: center;
}
.bottom-left a {
  color: white;
}
.bottom-right {
  grid-row: 2;
  grid-column: 2;
  place-self: center;
}
.bottom-right a {
  color: white;
}

.header-search-container {
  grid-column: 4 / 6;
  grid-row: 1 / 3;

  place-self: center;
  place-content: center;
  min-width: 100%;
  max-height: 10vh;

}
.header-search-container input {
  place-self: center;
  border-radius: 50px;
  min-width: 75%;
  max-height: 10vh;
  margin: 0;
  padding: 0;
  height: 2rem;
}
.header-search-container text {
  place-content: center;
}
.header-search-container button {
  position: absolute;
  right: 25px;
  background-color: white;
  color: black;
  border-radius: 50px;
  height: 100%;
  aspect-ratio: 1;
}
.search-input {
  flex: 1;
}
.header-search-container form {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
}
.title_image{
 grid-column: 3 / 4;
 grid-row: 1 / 3;
  place-self: center;
  place-self: center;
  min-width: 100%;
  max-height: 100%;
}
.title_image img {
  place-self: center;
  place-content: center;
  max-height: 10vh;
  width: 80%;
}
.site-title {
  margin: 0;
  padding: 0;
  font-family: 'Times New Roman';
  font-size: 3rem;
  font-weight: normal;
  background: linear-gradient(
    to bottom,
    #f0f0f0 0%,   /* Bright highlight at the very top */
    #d9d8d8 50%,   /* Mid-tone silver for the main body */
    #ebeaea 100%   /* Lighter silver at the bottom to catch light */
  );
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(2px 2px 2px rgba(0,0,0,1)); /* cleaner than text-shadow */
  display: inline-block;
}
  

.sighup-login-title {
  
  font-family: 'Times New Roman';
  font-weight: normal;
  font-size: 3rem;
  text-align: center;
  margin: 0;
  padding: 0;
  place-self: center;
padding: 1rem;
  color: transparent;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4); /* Softened the shadow color */

  /* Brighter, more complex gradient for a shiny silver look */
   background: linear-gradient(
    to bottom,
    #f0f0f0 0%,   /* Bright highlight at the very top */
    #d9d8d8 50%,   /* Mid-tone silver for the main body */
    #ebeaea 100%   /* Lighter silver at the bottom to catch light */
  );
  -webkit-background-clip: text;
  background-clip: text;

}
.nav-container {
  grid-column: 1 / 3;
  place-self: center;
  place-content: center;
  max-width: 100%;
  max-height: 100%;
}
.menu-memnber{
  position: relative;
  display: flex;
  place-self: center;
  place-content: center;
}
.header-menu {

max-width: 100%;

}
.header-menu ul {
  display: flex;
    max-width: 100%;
    margin: 0;
    padding: 0;
}
.off-screen-menu {
    background-color: rgb(34, 37, 49);
    height: 100vh;
    width: 100%;
    max-width: 450px;
    position: fixed;
    top: 0;
    right: -100vw; /* Fully off-screen */
    display: flex;
    flex-direction: column;
    align-items: center;    
    justify-content: center;
    text-align: center;
    font-size: 3rem;
    transition: right .3s ease, opacity .3s ease;
    z-index: 100; /* Above header when active */
    opacity: 0;
    pointer-events: none;
}

.off-screen-menu.active {
    right: 0;
    opacity: 1;
    pointer-events: auto;
}
.off-screen-menu ul li {
  /*  nav-links li = space between list items    */
  font-size: 1.25rem;
  display: inline-flex;
  margin: 10px;
  flex-direction: row;
   list-style-type: none;
}

.off-screen-menu ul li a {
  /*  nav-links a = text color & decoration  */
  text-decoration: none;
  color: rgb(255, 0, 255);
  transition: color 0.3s;
  width: 100%;
}
.off-screen-menu ul li a:hover {
  color: rgb(4, 0, 255);
}
body {
  display: flex;
  position: absolute;
  margin: 0;
  padding: 0;
  font-family: Arial, sans-serif;
  place-content: center;
  text-align: center;
  min-width: 100%;
  max-width: 100%;
  min-height: 100%;

  color: black;
  background-color: white;
  
}



.main-page-intro {
  grid-row: 2;
  margin: 0;
  padding: 0;
}
.main-page-glow-frame {
  margin: 0;
  padding: 0;
  grid-row: 3;
  text-align: top;
  border-radius: 10px;
  grid-template-columns: auto;
  
  max-width: 100%;
  /* box-shadow: 0 0 10px rgba(255, 255, 255, 0.8);  Glow effect */
  text-align: center; /* Center text */
   place-self: center;
  animation: glow 1.5s infinite alternate;
}

.main-page-glow-frame a {
  color: rgb(255, 0, 255);
}
.search-results {
  max-width: 100vw;;
}


.form.searchform {
  display: flex;
  justify-content: flex-end;
  flex-direction: row;
  width: 100vw;
}
.nav-container {
  position: relative;
  display: flex;
  place-self: center;
  place-content: center;
  min-width: 100vw;
  max-width: 100vw;
  max-height: 100px;
  margin: 0;
  padding: 0;
  border: 0;
}

.user-id {
  display: inline-flex;
  max-width: 100vw;
}
.searchform {
  width: 100%;
}
.signin.container {
  
  flex: 25%;
  min-width: 100%;
  place-self: center;
  place-content: center;
  

}

.signin-banner-padding { 
  display: flex;
  flex: 25%;
  justify-content: right;
  list-style: none;
  margin: 0;
  padding: 0; 
 }

.signin-banner-padding img {
  align-self: center;
  display: flex;
  max-height: 100px;
}
.signin-banner img {
  position: relative;
  display: block;
  max-height: 100px;
}
.signin-banner a {
  width: 100%;
  justify-self: center;
  display: inline-flex;
  color: #0eb067;
}

h2 {
  place-self: center;
  text-align: center;
  color: #000000;
  font-size: 1.25rem;
  font-weight: normal;
  margin: 1rem;
}
h3 {
  place-self: center;
  font-size: 1 rem;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 600;
  text-align: center;
  width: 100%;
  max-width: 100vw;
}
h4 {
  display: block;
  place-self: center;
font-size: 2rem;
height: 100%;
  max-height: 10px;
  margin: 0;
  padding: 0;
  border: 0;
}
h5 {
  margin: 0;
padding: 1rem;
font-size: 1.5rem;
font-weight: 400;
 color: black;
}
h6 {
margin: 0;
padding: 0;
font-size: 2.5rem;
font-weight: 400;
  color: black;
  
}
p {
  font-size: 1.5 rem;
  text-align: center;
  
}



/*---------
.header-search-bar {
  width: 75%;
  flex: 25%;
  justify-self: center;
}  ---------------*/

.form label {
  display: block;
  margin-top: 1em;
  margin-bottom: 0.25em;
  font-weight: bold;
  text-align: left;
}
.form-group {
  display: block;
  width: 100%;
  margin-bottom: 1em;
}
.form-group label {
  display: block;
  margin-bottom: 0.25em;
  font-weight: bold;
  text-align: left;
}
.form-group input {
  display: block;
  width: 100%;
  box-sizing: border-box;
}

.form-error {
  color: red;
}

.form-success {
  color: green;
}

.venue-signup-border {
  max-width: 50%;
}
.user-signup-border {
  justify-self: right;
  max-width: 50%;
}

/*-----------------------------------------------------------------------*/
.glow-container {
  /*----------------DONT PLACE PADDING HERE!!!!------------*/
  place-self: center;
  place-content: center;
  display: grid; /* Use Grid Layout */
  grid-template-columns: repeat(3, 1fr); /* Create 3 equal columns */
  gap: 3rem;
  max-width: 80%;
  max-height: 80vh;
  margin-top: 10%;
  margin-bottom: 10%;
}

.glow-frame {
  display: grid;
  text-align: top;
  border-radius: 10px;
  grid-template-columns: auto;
  
  min-width: 100%;
  max-width: 100vw;
  /* box-shadow: 0 0 10px rgba(255, 255, 255, 0.8);  Glow effect */
  text-align: center; /* Center text */
  background-color: white;
  box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.3);
  border-radius: 8px;

}
.glow-frame img {
  
 border-bottom-right-radius: 10px;
 border-bottom-left-radius: 10px;
  max-width: 100%;
  max-height: 100vh;
}

.glow-frame a {
  text-decoration: none;
  display: grid;
}


/*-------------------------------------------------------------------------*/
 .signup-login-container {
  position: absolute;
  display: grid;
  grid-template-rows: 10vh auto 10vh;
  height: 100vh;
  width: 100vw;
  gap: 3rem;

  overflow: scroll;
  }


.signup-login-two-columns-container {
  grid-row: 2;
  place-self: center;
  display: grid;
  grid-template-columns: auto auto;
  max-width: 75vw;
  gap: 2rem;
  justify-content: center; /* ADD THIS */
  align-items: start; /* ADD THIS */
}

.signin-single {
  max-width: 20%;
  place-self: center;
  place-content: center;
}
.single-glow-frame {
  place-items: center;
  text-align: top;
  border-radius: 15px;
  min-width: 0;
  max-width: 100vw;
  width: 100%; /* ADD THIS */
  text-align: center;
  box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.3);
  border-radius: 8px;
  margin: 0 auto; /* ADD THIS */
}
.single-glow-frame form {
  width: 80%;
  margin: 0 auto; /* ADD THIS to ensure form is centered within frame */
}

.single-glow-frame a {
  margin: 1rem;
  justify-self: center;
  max-width: 0px;
}
.single-glow-frame img {
  display: grid;
  place-self: center;
  width: 75%;
}
.single-glow-border {
  place-items: center;
  justify-self: center;
  place-items: center;
  display: grid; /* Use Grid Layout */
  min-width: 15vw;
  max-width: 15vw;
}
.glow-border-logout {
  place-items: center;
}
/*
.glow-frame-logout {
  border-radius: 15px;
  padding: 0.25rem;
  max-width: 10%;
  box-shadow: 0 0 10px #ffffffcc; /* Glow effect */
 /* text-align: center;  */                        /* Center text /*

  animation: glow 1.5s infinite alternate; 
}
*/
.grid-wrap1 {
  grid-column: 1;
}
.grid-wrap {
  width: 100%;
  grid-column: 2;
}
.grid-wrap1,
.grid-wrap {
  min-width: 0;
}
.grid-wrap3 {
    grid-column: 1;
    grid-row: 2;
}
.grid-wrap3 img {
  max-height: 50vh;
   min-height: 50vh;
}
.grid-wrap-banner {
  width: 100%;
      background-color: rgb(16, 39, 159);
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
  grid-column: 1;
  grid-row: 1;
}
.grid-wrap-banner-login {
  margin-bottom: 1rem;
        background-color: rgb(16, 39, 159);
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
      grid-column: 1;
  grid-row: 1;
}

.grid-wrap-banner img {
  max-height: 100px;
  height: 100vh;
  max-width: 100%;
  place-self: center;
  place-content: center;
}
.grid-wrap-banner a {
  place-self: center;
  place-content: center;
}

.signup-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* Two equal columns */
  gap: 16px; /* Space between grid items */
}

form {
  width: 60%; /* CHANGE from 60% to 90% for better responsiveness */
  max-width:  600px; /* ADD THIS to prevent form from getting too wide */
  font-family: Arial, Helvetica, sans-serif;
  flex-wrap: wrap;
  flex-direction: column;
  place-self: center;
  place-items: center;
  margin: 0 auto; /* ADD THIS */
}
.form-group select {
  display: block;
  width: 100%;
  padding: 6px;
  margin-bottom: 4px;
  border-radius: 5px;
  background-color: #fff;
  border: 1px solid #888;
  font-size: 1rem;
  box-sizing: border-box;
   height: 38px;
}
.form-boarder {
  display: inline-flex;
  justify-self: center;
  max-width: 50%;
}

form input {
  width: 75%;
  padding: 6px;
  margin-bottom: 4px;
  border-radius: 5px;
  background-color: #fff;
}

.login-status {
  
  position: relative;

place-self: center;
place-content: center;
  max-width: 100%;
  max-height: 100%;
 
}

.login-status li {

  position: inherit;
  font-size: 1.25rem;
  display: grid;
  grid-template-columns: auto;
  place-self: center;
  place-content: center;
  max-width: 100%;
  
}
.login-status li a {
  max-width: 100%;
   color: rgb(255, 0, 255);
}
.login-status text {
  place-self: center;
  max-width: 250px;
}
.login-status b {
  max-width: 100%;

}

.footer {
  position: fixed;
  bottom: 0;
  left: 0;
  place-content: center;
  max-height: 5vh;
  min-height: 5vh;
  width: 100vw;
  max-width: 100vw;
  text-align: center;
  color: #fff;
  background-color: rgb(16, 39, 159);
  margin: 0;
  padding: 0;
  z-index: 1000;
}
.footer-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;

}
#footer {
  
  bottom: 0;
  width: 100%;
}
.footer a {
  margin: 0.5rem;
   color: #fff;
  background-color: rgb(16, 39, 159);
}
.footer-left {
place-self: center;
  grid-column: 1;
  max-width: 100%;
}
.footer-center {
  grid-column: 2;
  place-self: center;
  
}
.footer-right {
  place-self: center;
  grid-column: 3;
   
}





@keyframes glow {
  from {
    box-shadow: 0 0 5px rgb(30, 0, 255), 0 0 10px rgb(30, 0, 255),
      0 0 10px rgb(255, 0, 255);
  }
  to {
    box-shadow: 0 0 5px rgb(255, 0, 255), 0 0 10px rgb(255, 0, 255),
      0 0 10px rgb(255, 0, 255);
  }
}

@media screen and (orientation: landscape) {
  .portrait-search {
  display: none;
  }
   .off-screen-menu {
  display: none;
  }
} 




.body-container {
  top: 10vh;
  bottom: 10vh;
  display: grid;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  width: 100vw;

}

.map-page-container {
  max-width: 80vw;
  max-height: 80vh;
  width: 80vw;
  height: 80vh;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

#map {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  display: block;
}
.login-error-message {
  grid-column: 1 / 3;
  place-self: center;
  place-content: center;
}
.radio-row {
    display: flex;
    gap: 2em; /* space between yes and no */
    align-items: center;
    margin: 0.5em 0 1em 0;
}

.radio-row label {
    display: flex;
    align-items: center;
    font-weight: normal; /* labels regular, question stays bold */
    gap: 0.25em;
}