 :root {
      --navy: #002f5f;
      --tan: #d2b48c;
      --light-tan: #f5f0e6;
      --navbar-height: 100px;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: 'Segoe UI', sans-serif;
    }

    /* Navbar */
    .navbar {
      background-color: var(--navy);
      box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.6);
    }

    .navbar .nav-link {
      color: white;
    }

    .navbar .nav-link:hover,
    .navbar .nav-link.active {
      color: var(--tan);
    }

    .navbar-brand {
      color: var(--tan);
      font-weight: bold;
    }

    .navbar-toggler {
      border-color: white;
    }

    .navbar-toggler-icon {
      background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='white' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    }

    /* Sections */
    section {
      padding: 4em 1em;
    }

    section:nth-of-type(even) {
      background-color: var(--light-tan);
    }

    h2 {
      color: var(--navy);
      margin-bottom: 1rem;
    }

    .section-img {
      width: 100%;
      height: auto;
      border-radius: 8px;
    }

    footer {
      background-color: var(--navy);
      color: white;
    }

    iframe {
      width: 100%;
      height: 100%;
      border: 0;
      border-radius: 8px;
    }

    @media (min-width: 768px) {
      .section-content {
        min-height: 300px;
        display: flex;
        align-items: center;
      }
    }

 @media only screen and (max-width: 600px) {
      .hero-section {
	position: relative;
        height: 60vh;
	min-height: 100px;
  	overflow: hidden;
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	text-align: center;
  	color: white;
  	padding-top: var(--navbar-height);
      }
    }


@media only screen and (min-width: 600px) {
.hero-section {
  position: relative;
  height: 70vh;
  min-height: 300px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: white;
  padding-top: var(--navbar-height);
	}
}

.bg-pic {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  z-index: 1;
  object-fit: cover;
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 47, 95, 0.5); /* navy overlay with 50% opacity */
  z-index: 2;
}

.hero-content {
  z-index: 3;
}

.hero-section h1 {
  font-size: 3rem;
}

.hero-section p {
  font-size: 1.25rem;
  max-width: 700px;
  margin: auto;
}

.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
}

.calendar-grid .day {
  background: white;
  border: 1px solid #ddd;
  padding: 15px;
  text-align: center;
  cursor: pointer;
  border-radius: 5px;
  transition: background 0.2s;
}

.calendar-grid .day:hover {
  background: var(--tan);
}

.calendar-grid .event-day {
  background-color: var(--tan);
  font-weight: bold;
}

.calendar-grid .today {
      background-color: #002f5f;
      color: white;
    }

.event-details {
  min-height: 200px;
}

.commissioner-img {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border: 3px solid var(--tan);
  box-shadow: 0 0 6px rgba(0,0,0,0.1);
  transition: transform 0.2s;
}

.commissioner-img:hover {
  transform: scale(1.05);
}

    .contact-container {
      max-width: 600px;
      margin: 20px auto;
      background: #ffffff;
      padding: 10px 10px;
      border-radius: 10px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    }

    label {
      display: block;
      margin: 12px 0 6px;
      font-weight: 600;
      color: #444;
    }

    input[type="text"],
    input[type="email"],
    textarea {
      width: 100%;
      padding: 5px 5px;
      border: 1px solid #ccc;
      border-radius: 6px;
      font-size: 16px;
      transition: border-color 0.3s ease;
    }

    input:focus,
    textarea:focus {
      border-color: #007BFF;
      outline: none;
    }

    textarea {
      resize: vertical;
      min-height: 120px;
    }

    .g-recaptcha {
      margin: 20px 0;
    }

    button[type="submit"] {
      background-color: #002f5f;
      color: white;
      padding: 12px 20px;
      font-size: 16px;
      border: none;
      border-radius: 6px;
      cursor: pointer;
      transition: background-color 0.3s ease;
      width: 100%;
    }

    button[type="submit"]:hover {
      background-color: #0056b3;
    }

    @media (max-width: 600px) {
      .contact-container {
        padding: 25px 20px;
      }
      .carousel-inner {
        height: 250px;
      }
    }

       .carousel-inner {
      height: 300px;
    }

    .carousel-item img {
      height: 100%;
      object-fit: cover;
      width: 100%;
    }

    .carousel .row > div {
      padding: 0 5px;
    }
