
.top-space {
    height: 40px;
}

  .image-background-container {
    /* 1. Set the background image and size */
    background-image: url('../images/home-hero-site-at-night-1080px.jpg');
    background-size: cover; /* This makes the image cover the entire container */
    background-position: center; /* This centers the image within the container */

    /* 2. Define dimensions and positioning context */
    height: 400px;  /*Set a specific height for the container */
    width: 100%;
    position: relative; /* This is crucial for positioning the text relative to this container */

    /* 3. Optional: Add an overlay to improve text readability */
    background-color: rgba(0, 0, 0, 0.3);  /* A semi-transparent black overlay */
    background-blend-mode: overlay;  /* Blends the color with the image */
  }

  @supports (background-image: url('../images/home-hero-site-at-night-1080px.webp')) {
    .image-background-container {
      background-image: url('../images/home-hero-site-at-night-1080px.webp');
    }
  }
   /* 6. Optional: Style the actual text elements */
.text-overlay-top {
    /* 4. Center the text within the container */
    position: absolute;
    top: 23%;
    left: 50%;
    transform: translate(-50%, -50%); /* This translates the element back by half its own width/height */

    /* 5. Style the text */
    color: white; /* Ensures the text is visible against a dark background */
    text-align: center;
    padding: 20px;
    margin:10px;
    width: 98%;  /* Optional: control the width of the text block */
  }

  .text-overlay-bottom {
    /* font-size: 1.8em;     Sets the size like an H1 */
    font-weight: bold;   /* Makes it thick */
    color: white;         /* Sets the color */
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translate(-50%, -50%); /* This translates the element back by half its own width/height */

    /* 5. Style the text */
    color: white; /* Ensures the text is visible against a dark background */
    text-align: center;
    padding: 15px;
    width: 90%; /* Optional: control the width of the text block */
  }

  .text-overlay-bottom p {
    font-size: 18px;
    margin: 0;
  }

  .button-style {
    display: inline-block;
    font-size: 18px;
    padding: 15px 25px;
    margin: 10px;
    color:white;
    background-color: #3495f0;
    border-radius: 5px;
    /* border:none; */
    text-decoration: none;
    width: 200px;
  }

  .button-style:active {
    background-color: #f44336; /* A red color when depressed */
    /* You can also add other effects like a slight transform */
    transform: translateY(2px);
    /* box-shadow: 0 5px #666; */
  }

  .map-and-loc-container {
    display: flex;
    flex-direction: column;
    /* width: 100%; */
    height: auto;
    overflow: visible;
    gap: 10px;
    /* box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.1); */
    /* margin: 10px; */
  }

  .map-container {
    width: 100%;
    height: auto;
    overflow: hidden;
  }

  .map-image {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Fills container, maintains aspect ratio */
    object-position: center; /* Ensures the center of your map stays visible */

    /* CRITICAL FOR SHARPNESS */
    image-rendering: -webkit-optimize-contrast; /* Best for Chrome/Safari mobile */
    image-rendering: crisp-edges;
  }

  .loc-container {
    /* display: flex;
    flex: 1;
    flex-direction: column; */
    justify-content: center;
    flex: 1;
    align-items: center;
    text-align: center;
    /* width: 100%; */
    height: auto;
    /* gap: 1rem; */
    padding: 10px;
    /* margin: 10px; */
    /* border: 2px solid #ddd; */
    border-radius: 8px;
    /* padding: 20px; */
    background: #ffffff; /* Must match parent background */
    /* box-shadow:
      9px 9px 16px rgb(163,177,198,0.6),
      -9px -9px 16px rgba(255,255,255, 0.5); */
    box-shadow:
      0 0 5px rgba(0,0,0,0.1),  /* Sharp inner shadow */
      0 0 25px rgba(0,0,0,0.05); /* Soft outer glow */
  }

  .loc-container p {
    font-weight: bold;
  }

@media (min-width: 768px) {
  .image-background-container {
       background-image: url('../images/home-hero-site-at-night-1200px.jpg');
  }
  @supports (background-image: url('../images/home-hero-site-at-night-1200px.webp')) {
    .image-background-container {
      background-image: url('../images/home-hero-site-at-night-1200px.webp');
    }
  }

  .map-and-loc-container {
    flex-direction: row;
  }
  .map-container {
    flex: 0 0 calc(66% - 0.66rem);
    height: auto;
  }
  .loc-container {
    flex: 1;
  }
}

  /* For now, just target larger sizes than a smartphone */
@media (min-width: 875px) {
  .image-background-container {
      height: 600px;
      background-image: url('../images/home-hero-site-at-night-1920px.jpg');
  }
  @supports (background-image: url('../images/home-hero-site-at-night-1920px.webp')) {
    .image-background-container {
      background-image: url('../images/home-hero-site-at-night-1920px.webp');
    }
  }

  .text-overlay-bottom p {
    font-size: 32px;
  }
}
