:root {
  --green: #8cc63f; --green-dark: #3f6a1d;
  --brown: #b28434; --brown-dark: #7d5a1c;
  --yellow: #fdb813; --yellow-dark: #7a5600;
  --blue: #34a3dc; --blue-dark: #11678f;
  --red: #e85555; --ink: #151515;
  --theme: var(--green); --theme-dark: var(--green-dark);
  --link: #0b5aa6;
}
.theme-brown { --theme: var(--brown); --theme-dark: var(--brown-dark); }
.theme-yellow { --theme: var(--yellow); --theme-dark: var(--yellow-dark); }
.theme-blue { --theme: var(--blue); --theme-dark: var(--blue-dark); }

body {
  margin: 0; color: var(--ink); 
  font: 1rem/1.6 Tahoma, "Lucida Grande", "Lucida Sans Unicode", Verdana, system-ui, sans-serif;
}
.page { min-height: 100vh; display: flex; flex-direction: column; }

/* masthead */
.masthead { background: #7fb83e url(/assets/headmid.gif) repeat-x; background-size: auto 100%; color: #10240a; box-shadow: 0 4px 10px rgba(0, 0, 0, .25); }
.masthead-inner { max-width: 1000px; margin: 0 auto; padding: .75rem 1rem; display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 2rem; }
.logo { display: block; line-height: 0; }
.logo img { display: block; }
.masthead p { margin: 0; }
.callnow { font-weight: 700; flex-basis: 100%; order: 3; }
.callnow a { color: inherit; }
.tagline { margin-left: auto !important; text-align: right; line-height: 1.15; font-size: 1.15rem; }
.tagline strong { font-size: 1.6em; }

.layout { flex: 1; width: 100%; max-width: 1000px; margin: 0 auto; padding: 1rem; display: block; }

/* menu */
.sidenav { margin-bottom: 1.25rem; }
.menu summary { cursor: pointer; font-weight: 700; padding: .5rem 0; font-size: 1.1rem; }
.menu ul { list-style: none; margin: 0; padding: 0; }
.menu .item { margin: 0 0 .5rem; }
.pill {
  display: block; padding: .6rem 1rem; border-radius: 10px; color: #111; text-decoration: none;
  font-size: .95rem; font-weight: 600; line-height: 1.3; background: linear-gradient(var(--c1), var(--c2));
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .12);
}
.pill .big { font-size: 1.3em; font-weight: 800; }
.pill:hover { filter: brightness(1.07); }
.pill[aria-current="page"] { outline: 3px solid #111; outline-offset: 1px; }
.pill:focus-visible { outline: 3px solid #111; outline-offset: 2px; }
.pill-green { --c1: #a5dc5a; --c2: #8cc63f; }
.pill-brown { --c1: #c99a4a; --c2: #b28434; }
.pill-yellow { --c1: #ffd04d; --c2: #fdb813; }
.pill-blue { --c1: #5cbbea; --c2: #34a3dc; }
.pill-red { --c1: #f27a7a; --c2: #e85555; }
.pill-black { --c1: #4a4a4a; --c2: #111; color: #fff; }
.sub { margin: .4rem 0 0 1.25rem !important; }
.sub li { margin-bottom: .35rem; }
.pill-sub { font-size: .88rem; padding: .45rem .8rem; }
.badges { display: flex; flex-direction: column; align-items: flex-start; gap: 1.25rem; margin: 1.5rem 0 0; }
@media (max-width: 49.99em) { .badges { flex-direction: row; flex-wrap: wrap; align-items: center; } }
.badges img { display: block; height: auto; }

/* content */
.content { min-width: 0; border-left: 3px solid var(--theme); padding: 0 0 1rem 1.25rem; }
.content h1 { color: var(--theme-dark); font: 400 clamp(1.5rem, 1.2rem + 1.6vw, 2.1rem)/1.2 Arial, Helvetica, sans-serif; letter-spacing: -.01em; margin: 1rem 0 1.5rem; }
.content h2 { color: var(--theme-dark); font-size: 1.3rem; line-height: 1.3; margin: 1.75rem 0 .5rem; }
.content h3 { font-size: 1.1rem; margin: 1.5rem 0 .5rem; clear: both; }
.content p { margin: 0 0 1rem; }
.copy { max-width: 40rem; }
.copy a { color: var(--link); text-underline-offset: .15em; }
.copy a:hover { text-decoration-thickness: .15em; }
.copy a.link-blue { color: var(--blue-dark); } .copy a.link-brown { color: var(--brown-dark); }
.copy a.link-orange { color: var(--yellow-dark); } .copy a.link-green { color: var(--green-dark); }
.copy a.link-pdf::after, .copy a.link-ext::after { content: " \2197"; font-size: .85em; text-decoration: none; display: inline-block; }
.copy a.link-pdf::after { content: " (PDF) \2197"; }
.copy a.button { text-decoration: none; }
.copy a.button.link-ext::after { content: none; }
.copy ul, .copy ol { padding-left: 1.4rem; }
.copy li { margin-bottom: .5rem; }
.copy li > p { margin: 0; }

.img-right, .photo-right { float: right; margin: .25rem 0 1rem 1.25rem; max-width: 45%; }
.img-left { float: left; margin: .25rem 1.25rem 1rem 0; max-width: 45%; }
.photo-right { border: 2px solid #ccc; padding: 4px; }
.copy::after { content: ""; display: block; clear: both; }

.button {
  display: inline-block; margin: 0 .5rem .75rem 0; padding: .55rem 1.1rem; border: 2px solid var(--green); border-radius: 6px;
  color: #111 !important; background: #fff; font-weight: 600; line-height: 1.3;
}
.button:hover { border-color: #111; }
.button .largetext, .largetext { font-size: 1.3em; font-weight: 800; }

.map { margin: 1.5rem 0 0; }
.map img { display: block; width: 100%; max-width: 530px; height: auto; border: 1px solid #bbb; }
.map figcaption { font-size: .85rem; margin-top: .4rem; }

table { max-width: 100%; }
.data-table { margin: 1rem 0; border: 1px solid #bbb; }
.data-table th, .data-table td { border: 1px solid #ccc; padding: .4rem .75rem; text-align: left; }
.data-table th { background: #eef5e4; }
.data-table td { text-align: center; }
.data-table td:first-child { text-align: left; }
.need-table td { padding: .5rem 1rem .5rem 0; vertical-align: middle; }
.contact-table td { padding: .2rem 1rem .2rem 0; vertical-align: top; }
.col { float: left; margin-right: 3rem; }
.registered { clear: both; font-size: .75rem; padding-top: 1.5rem; }

.breadcrumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: .25rem .5rem; padding: 0; margin: .75rem 0 0; font-size: .9rem; }
.breadcrumbs li + li::before { content: "\203A"; margin-right: .5rem; color: #555; }
.breadcrumbs a { color: var(--link); }

.site-footer { background: #3f6a1d; color: #fff; padding: 1.25rem 1rem; text-align: right; font-size: .85rem; margin-top: 2rem; }
.site-footer p { max-width: 1000px; margin: 0 auto; }

@media (min-width: 50em) {
  .layout { display: grid; grid-template-columns: 14.5rem minmax(0, 1fr); gap: 0 1.5rem; align-items: start; padding-top: 1.5rem; }
  .sidenav { margin-bottom: 0; grid-column: 1; grid-row: 1; }
  .badges { grid-column: 1; grid-row: 2; }
  .content { grid-column: 2; grid-row: 1 / span 2; }
  .callnow { flex-basis: auto; order: 0; }
  .masthead-inner { flex-wrap: nowrap; }
}
/* the menu is always open on wide screens; browsers without ::details-content keep the toggle */
@supports selector(::details-content) {
  @media (min-width: 50em) {
    .menu summary { display: none; }
    .menu::details-content { display: block; content-visibility: visible; }
  }
}
@media (max-width: 49.99em) {
  .menu ul:not(.sub) { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
  .menu .item { margin: 0; }
  .menu .sub { grid-column: 1 / -1; }
  .img-right, .photo-right, .img-left { float: none; display: block; margin: .5rem auto 1rem; max-width: 100%; }
  .tagline { margin-left: 0 !important; text-align: left; }
  .col { float: none; margin: 0 0 1rem; }
}
