/* Sawyers Valley Volunteer Bush Fire Brigade — static site styles
   (derived from the original Drupal "skeletontheme") */

/* ============ Base ============ */
body {
  font-size: 14px; line-height: 1.5; background: #ffffff;
  margin: 0; border-top: 10px solid #375199;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
               "Helvetica Neue", Arial, sans-serif;
}

a:link, a:visited { text-decoration: none; color: #2883DE; }
a:hover, a:active, a:focus { text-decoration: none; color: #000000; }
#main-content a { text-decoration: underline; }
#main-content a:hover { text-decoration: none; }
#main-content h1 a, #main-content h2 a, #main-content h3 a,
#main-content h4 a, #main-content h5 a { text-decoration: none; }

h1, h2, h3, h4, h5, h6 { letter-spacing: -1px; margin: 0; color: #181818; }
h1 { font-size: 35px; font-weight: normal; line-height: 140%; margin-bottom: 14px; }
h2 { font-size: 28px; font-weight: normal; line-height: 130%; margin-bottom: 10px; }
h3 { font-size: 21px; font-weight: normal; line-height: 130%; margin-bottom: 8px; }
h4 { font-size: 17px; font-weight: bold; line-height: 125%; margin-bottom: 8px; }
h5 { font-size: 14px; font-weight: bold; line-height: 120%; margin-bottom: 8px; }
h1 a, h2 a, h3 a, h4 a, h5 a { font-weight: inherit; text-decoration: none; }

p { margin: 0 0 20px 0; }
hr { border: 0; border-top: 1px solid #DDD; margin: 10px 0 30px; }
img { max-width: 100%; height: auto; }

#main-content .video-embed { position: relative; width: 100%; max-width: 853px; margin: 0 auto 1em; padding-bottom: 56.25%; height: 0; }
#main-content .video-embed iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* ============ Layout ============ */
.container { width: 960px; max-width: 100%; margin: 0 auto; }

#wrap { border-top: 5px solid #4565be; }
#main-content { margin-bottom: 20px; }

/* Skip link (visually hidden until focused) */
.skip {
  position: absolute; clip: rect(1px 1px 1px 1px); overflow: hidden;
  height: 1px; width: 1px;
}
.skip:focus {
  position: static; clip: auto; height: auto; width: auto; overflow: auto;
}

/* ============ Header / Banner ============ */
#header { margin-top: 16px; padding: 15px 0 20px; text-align: center; }
#header .banner { margin: 0; }
#header .banner img { margin: 0 auto; }

/* ============ Navigation ============
   Mobile-first: hamburger button with a collapsible vertical menu.
   At 768px+ the menu becomes a sticky horizontal bar with dropdowns. */
#navigation {
  position: sticky; top: 0; z-index: 10;
  background: #ffffff; border-bottom: 1px solid #d6d6d6;
  margin-bottom: 20px;
}

.menu-toggle {
  display: block; padding: 8px 0 8px 24px; line-height: 120%;
  font-weight: bold; color: #2883DE; cursor: pointer; user-select: none;
}
.menu-toggle-input { display: none; }

/* Mobile: menu hidden until the toggle is used */
ul.menu { display: none; padding: 0; margin: 0; list-style: none; }
ul.menu li { list-style: none; }

/* Mobile: stacked items with arrow bullets (as in the original design) */
ul.menu li > a {
  display: block; padding: 8px 10px 8px 24px; line-height: 120%; font-weight: bold;
  background: url(/img/arrow-bullet-light.png) no-repeat 10px center;
  text-decoration: none; color: #2883DE;
}
ul.menu li > a:hover { color: #333333; background: url(/img/arrow-bullet-dark.png) no-repeat 10px center; }
ul.menu ul { margin: 0; }
ul.menu ul a {
  padding: 6px 10px 6px 44px; font-size: 13px; color: #666666; background: none;
}
ul.menu ul a:hover { color: #333333; background: none; }

/* Open the menu when the toggle is checked */
.menu-toggle-input:checked ~ ul.menu { display: block; }

/* Desktop: horizontal bar, dropdowns on hover/focus */
@media only screen and (min-width: 768px) {
  .menu-toggle,
  .menu-toggle-input { display: none; }

  ul.menu { display: flex; justify-content: center; }
  ul.menu li { position: relative; }

  ul.menu li > a {
    background: none; padding: 12px 14px; font-weight: bold;
  }
  ul.menu li > a:hover { background: #f0f4fb; color: #333333; }

  ul.menu ul {
    display: block; position: absolute; left: 0; top: 100%;
    min-width: 100%; background: #ffffff; border: 1px solid #d6d6d6;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); z-index: 20;
  }
  ul.menu ul a {
    display: block; padding: 8px 16px; background: none;
    border-bottom: 1px solid #eee; color: #666666; font-size: 13px;
  }
  ul.menu ul a:last-child { border-bottom: none; }
  ul.menu ul a:hover { background: #f0f4fb; color: #333333; }

  /* Dropdown hidden until hover (mouse) or keyboard focus */
  ul.menu li > ul { display: none; }
  ul.menu li:hover > ul,
  ul.menu li:focus-within > ul { display: block; }
}

/* ============ Content ============ */
#main-content { padding: 0 10px; }
#main-content ul, #main-content ol { margin: 1em 0; padding: 0 0 0.25em 2.5em; }
#main-content img { display: block; margin: 0 auto 1em; max-width: 100%; height: auto; }

/* ============ Footer ============ */
#footer {
  clear: both; padding: 20px 10px; border-top: 1px solid #d6d6d6;
  font-size: .9em; text-align: center;
}
#credits { font-size: .9em; }

/* ============ Responsive ============ */
@media only screen and (max-width: 767px) {
  body { font-size: 13px; }
  h1 { font-size: 28px; }
  h2 { font-size: 22px; }
  #main-content { margin-bottom: 10px; }
}
