@charset "UTF-8";
.lower-page { background: var(--color-paper); }
.content-wrap { width: min(1120px, calc(100% - 44px)); margin-inline: auto; }
.breadcrumbs { color: #526267; background: #e7eeec; border-bottom: 1px solid rgb(7 20 30 / 7%); font-size: 13px; font-weight: 700; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px 0; margin: 0; padding: 13px 0; list-style: none; }
.breadcrumbs li { display: inline-flex; align-items: center; min-width: 0; }
.breadcrumbs li + li::before { margin: 0 10px; color: #83918e; font-family: "Font Awesome 6 Free"; font-size: .75em; font-weight: 900; content: "\f054"; }
.breadcrumbs a { color: var(--color-green); text-decoration: underline; text-underline-offset: .18em; }
.lower-hero { position: relative; display: grid; align-items: end; min-height: 320px; padding: calc(var(--header-height) + 72px) 0 70px; overflow: hidden; color: var(--color-white); background: linear-gradient(110deg, rgb(7 20 30 / 96%), rgb(14 68 59 / 82%)), url("../images/aerial.jpg") center/cover; }
.lower-hero::after { position: absolute; right: -8vw; bottom: -55%; width: 48vw; aspect-ratio: 1; border: 1px solid rgb(24 210 189 / 28%); border-radius: 50%; content: ""; }
.lower-hero__inner { position: relative; z-index: 1; }
.lower-hero__eyebrow { display: flex; gap: 12px; align-items: center; margin-bottom: 18px; color: var(--color-teal); font-size: 12px; font-weight: 900; letter-spacing: .22em; }
.lower-hero__eyebrow::before { width: 46px; height: 2px; background: currentcolor; content: ""; }
.lower-hero h1 { max-width: 900px; margin: 0; font-size: clamp(42px, 6vw, 76px); line-height: 1.1; letter-spacing: .02em; }
.lower-hero__lead { max-width: 720px; margin-top: 20px; color: rgb(255 255 255 / 72%); font-size: 16px; font-weight: 700; line-height: 1.8; }
.lower-main { padding: clamp(54px, 8vw, 104px) 0; }
.lower-layout { display: grid; min-width: 0; gap: 38px; }
.page-article { min-width: 0; padding: clamp(26px, 4vw, 56px); background: var(--color-white); border: 1px solid rgb(7 20 30 / 7%); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.page-meta { margin-bottom: 24px; color: var(--color-green); font-size: 13px; font-weight: 900; letter-spacing: .12em; }
.cms-content { min-width: 0; color: #314247; font-size: 16px; font-weight: 500; line-height: 2; overflow-wrap: anywhere; }
.cms-content a { color: var(--color-green); font-weight: 800; text-decoration: underline; text-underline-offset: .18em; }
.cms-content .strongText { color: var(--color-green); font-size: 1.12em; font-weight: 900; }
.cms-content strong { color: var(--color-ink); font-size: 1.25em; font-weight: 900; }
.cms-content .strongTextRed { color: #c63838; font-size: 1.12em; font-weight: 900; }
.cms-content .strongBox { margin: 10px 0; padding: 24px 28px; background: #e9f4f1; border: 1px solid rgb(14 68 59 / 16%); border-radius: var(--radius-md); }
.cms-content .strongBox ul, .cms-content .strongBox ol { margin: 0; padding: 0; list-style: none; font-size: 1.08em; font-weight: 800; }
.cms-content .strongBox li { position: relative; padding-left: 1.55em; }.cms-content .strongBox li + li { margin-top: .55em; }.cms-content .strongBox li::before { position: absolute; left: 0; color: var(--color-green); font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f058"; }
.cms-content .phoneNumber { color: var(--color-green); font-size: 1.8em; font-weight: 900; }
.cms-content .phoneNumber::before { margin-right: .4em; font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f095"; }
.cms-content .faxNumber { color: var(--color-navy-2); font-size: 1.5em; font-weight: 900; }
.cms-content .faxNumber::before { margin-right: .4em; font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f1ac"; }
.cms-content .emailAddress { color: var(--color-green); font-size: 1.2em; font-weight: 900; overflow-wrap: anywhere; }
.cms-content .emailAddress::before { margin-right: .4em; font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f0e0"; }
.cms-content table { width: 100%; margin: 10px 0; border-collapse: collapse; }
.cms-content th, .cms-content td { padding: 14px 16px; border: 1px solid #d7e0de; vertical-align: top; }
.cms-content th { color: var(--color-white); background: var(--color-green); font-weight: 800; }
.table-scroll { position: relative; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table-scroll-hint { display: none; }
.cms-content a[target]::after { display: inline-block; margin-left: .35em; font-family: "Font Awesome 6 Free"; font-size: .88em; font-weight: 900; text-decoration: none; content: "\f35d"; }
.cms-content a[href*="youtube.com"]::before, .cms-content a[href*="youtu.be"]::before { display: inline-block; margin-right: .35em; color: #d92727; font-family: "Font Awesome 6 Brands"; font-size: 1.12em; text-decoration: none; content: "\f167"; }
.cms-content a[href*=".pdf" i]::before { display: inline-block; margin-right: .35em; color: #d32f2f; font-family: "Font Awesome 6 Free"; font-size: 1.12em; font-weight: 900; text-decoration: none; content: "\f1c1"; }
.cms-content a[href*=".docx" i]::before, .cms-content a[href*=".doc?" i]::before, .cms-content a[href$=".doc" i]::before { display: inline-block; margin-right: .35em; color: #2867b2; font-family: "Font Awesome 6 Free"; font-size: 1.12em; font-weight: 900; text-decoration: none; content: "\f1c2"; }
.cms-content a[href*=".xlsx" i]::before, .cms-content a[href*=".xls?" i]::before, .cms-content a[href$=".xls" i]::before { display: inline-block; margin-right: .35em; color: #1d7f4f; font-family: "Font Awesome 6 Free"; font-size: 1.12em; font-weight: 900; text-decoration: none; content: "\f1c3"; }
.cms-content .responsiveCardTable { overflow: visible; }
.cms-content iframe[src*="google.com/maps"], .cms-content iframe[src*="maps.google"] { display: block; width: 100%; height: auto; aspect-ratio: 11 / 5; border: 0; }
.cms-content .google-map, .cms-content .map-embed { width: 100%; aspect-ratio: 11 / 5; overflow: hidden; }
.cms-content .google-map iframe, .cms-content .map-embed iframe { width: 100%; height: 100%; aspect-ratio: auto; border: 0; }
.cms-content .map-link { margin-top: 18px; text-align: center; }
.cms-content .map-link a { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 24px; color: var(--color-ink); background: var(--color-teal); border-radius: 999px; font-size: 15px; font-weight: 900; text-decoration: none; }
.page-gallery { position: relative; min-width: 0; margin-bottom: 34px; }
.page-gallery__frame { position: relative; overflow: hidden; border-radius: var(--radius-md); background: var(--color-ink); }
.page-gallery.is-single .page-gallery__frame { background: transparent; }
.page-gallery.is-single figcaption { color: var(--color-muted); }
.page-gallery__indicators { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px; margin-top: 12px; }
.page-gallery__dot { display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.page-gallery__dot::before { width: 8px; height: 8px; border-radius: 50%; background: #aebdb9; content: ""; }
.page-gallery__dot[aria-current="true"]::before { background: var(--color-green); transform: scale(1.35); }
.page-gallery__dot:focus-visible { outline: 2px solid var(--color-green); outline-offset: 1px; }
.page-gallery__viewport { min-width: 0; overflow: hidden; touch-action: pan-y; }
.page-gallery__track { position: relative; display: flex; gap: 16px; align-items: flex-start; will-change: transform; transition: transform .35s ease; }
.page-gallery__slide { flex: 0 0 88%; min-width: 0; margin: 0; }
.page-gallery__slide img { display: block; width: 100%; height: auto; object-fit: contain; }
.page-gallery__slide figcaption { padding: 12px 18px; color: rgb(255 255 255 / 72%); font-size: 13px; overflow-wrap: anywhere; }
.page-gallery__button { position: absolute; top: 50%; display: grid; place-items: center; width: 46px; height: 46px; color: var(--color-white); background: rgb(7 20 30 / 72%); border: 0; border-radius: 50%; transform: translateY(-50%); }
.page-gallery__button--prev { left: 16px; }.page-gallery__button--next { right: 16px; }
.page-gallery.is-single .page-gallery__track { justify-content: flex-start; }
.page-gallery.is-single .page-gallery__slide { flex-basis: 100%; }
.attachment-grid, .related-link-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 28px; }
.attachment-grid a, .related-link-grid a { display: flex; gap: 16px; align-items: center; width: 100%; min-width: 0; min-height: 86px; padding: 18px 20px; color: var(--color-ink); background: var(--color-paper); border: 1px solid rgb(7 20 30 / 8%); border-radius: 18px; font-weight: 800; text-decoration: none; }
.attachment-grid i { flex: 0 0 auto; color: var(--color-green); font-size: 24px; }.attachment-grid i.fa-file-pdf { color: #d32f2f; }.attachment-grid span, .related-link-grid span { display: grid; min-width: 0; gap: 4px; }.attachment-grid strong, .related-link-grid strong { font-size: 1.08em; font-weight: 800; overflow-wrap: anywhere; }.attachment-grid small, .related-link-grid small { color: var(--color-muted); font-size: 12px; overflow-wrap: anywhere; }
.related-link-grid a::before, .related-link-grid a::after { display: inline-block; flex: 0 0 auto; font-size: 24px; text-decoration: none; }
.related-link-grid a[target]::after { margin-left: auto; color: var(--color-green); font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f35d"; }
.related-link-grid a[href*="youtube.com"]::before, .related-link-grid a[href*="youtu.be"]::before { color: #d92727; font-family: "Font Awesome 6 Brands"; content: "\f167"; }
.related-link-grid a[href*=".pdf" i]::before { color: #d32f2f; font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f1c1"; }
.related-link-grid a[href*=".docx" i]::before, .related-link-grid a[href*=".doc?" i]::before, .related-link-grid a[href$=".doc" i]::before { color: #2867b2; font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f1c2"; }
.related-link-grid a[href*=".xlsx" i]::before, .related-link-grid a[href*=".xls?" i]::before, .related-link-grid a[href$=".xls" i]::before { color: #1d7f4f; font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f1c3"; }
.related-link-grid a[href^="mailto:"]::before { color: var(--color-green); font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f0e0"; }
.child-pages ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.child-pages a { display: flex; align-items: center; justify-content: space-between; min-height: 88px; padding: 20px 24px; background: var(--color-white); border-radius: 20px; box-shadow: var(--shadow-md); font-size: 17px; font-weight: 900; }.child-pages i { color: var(--color-teal); }
.expanded-article { scroll-margin-top: 90px; }.expanded-section { scroll-margin-top: 90px; }.expanded-section__header { margin-bottom: 24px; }.expanded-section__header h2, .expanded-section__header h3, .expanded-section__header h4, .expanded-section__header h5, .expanded-section__header h6 { margin: 0; line-height: 1.35; }.expanded-section__header h2 { padding-bottom: 18px; border-bottom: 3px solid var(--color-teal); font-size: 32px; }.expanded-section__header h3 { font-size: 25px; }.expanded-section.is-deep { margin-left: 24px; }
.news-index__list { overflow: hidden; background: var(--color-white); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }.news-index__item + .news-index__item { border-top: 1px solid #e1e7e5; }.news-index__item a, .news-index__row { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto auto; gap: 18px; align-items: center; min-height: 92px; padding: 20px 28px; }.news-index__item a { color: #0000ee; }.news-index__item a:hover { background: #edf7f4; }.news-index__item time { color: var(--color-muted); font-size: 13px; font-weight: 800; }.news-index__item strong { line-height: 1.6; }.news-index__item .news-link__text { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }.news-index__item strong i { margin-right: 9px; }.news-index__item .fa-file-pdf { color: #d32f2f; }.news-index__item .fa-file-excel { color: #1d7f4f; }.news-index__item .fa-file-word { color: #2867b2; }.news-index__item small { color: var(--color-muted); font-size: 11px; }.news-index__empty { padding: 50px 24px; text-align: center; }.news-index__empty i { margin-right: 8px; color: var(--color-teal); }
.news-index__item time { font-size: 1em; }

html body .cmsCalendarTable { display: table; width: 100%; border: 0; border-spacing: 5px 0; border-collapse: separate; table-layout: fixed; border-radius: 0; background: transparent; box-shadow: none; font-size: 14px; line-height: 1.3; }
html body .cmsCalendarTable tbody { display: table-row-group !important; width: 100%; }
html body .cmsCalendarTable tr { display: table-row !important; }
html body .cmsCalendarTable tr th, html body .cmsCalendarTable tr td { display: table-cell !important; }
html body .cmsCalendarTable th { padding: 0 0 2px; color: var(--color-muted); background: transparent; border: 0; font-weight: 500; text-align: right; }
html body .cmsCalendarTable th.cmsCalendarTitle { padding-bottom: 0; color: var(--color-ink); background: transparent; border: 0; font-size: 18px; font-weight: 900; line-height: 1.3; text-align: center; }
html body .cmsCalendarTable th.cmsCalendarSunday, html body .cmsCalendarTable th.cmsCalendarSaturday { color: #9aa5a3; background: transparent !important; }
html body .cmsCalendarTable td { width: 14.3%; height: 30px; padding: 5px 10px; color: var(--color-muted); background: rgb(255 255 255 / 95%) !important; border: 0; border-top: 1px solid #d7e0de; vertical-align: middle; text-align: right; white-space: normal !important; overflow-wrap: anywhere; }
html body .cmsCalendarTable td.cmsCalendarComment { height: auto; padding: 5px 10px 10px; background: rgb(255 255 255 / 95%) !important; border-top: 0; vertical-align: top; text-align: left; }
html body .cmsCalendarTable tr:last-of-type td { border-bottom: 1px solid #d7e0de; }
html body .cmsCalendarTable td.cmsCalendarSaturday { background: rgb(225 244 253 / 95%) !important; }
html body .cmsCalendarTable td.cmsCalendarSunday, html body .cmsCalendarTable td.cmsCalendarHoliday { background: rgb(252 235 242 / 95%) !important; }
html body .cmsCalendarTable td.cmsCalendarOverDay { background: transparent !important; border: 0 !important; }
.cms-content [class^="calendarBadge"], .cms-content [class*=" calendarBadge"] { display: inline-block; width: 30px; height: 30px; overflow: hidden; color: var(--color-white); border-radius: 50%; line-height: 30px; text-align: center; vertical-align: middle; }
.cms-content .calendarBadgeRed { background: #d62b79; }.cms-content .calendarBadgeBlue { background: #168cbd; }.cms-content .calendarBadgeGreen { background: #168b52; }.cms-content .calendarBadgeYellow { color: var(--color-ink); background: #f0c928; }.cms-content .calendarBadgeBlack { background: #3f4b4d; }.cms-content .calendarBadgePurple { background: #8c46a6; }.cms-content .calendarBadgeBrown { background: #956238; }.cms-content .calendarBadgeGrey { background: #8b9694; }
@media (max-width: 760px) {
  .content-wrap { width: min(100% - 28px, 1120px); }.lower-hero { min-height: 250px; padding: calc(var(--header-height) + 58px) 0 48px; }.lower-hero h1 { font-size: 38px; }.lower-main { padding: 44px 0 64px; }.page-article { padding: 24px 18px; }.cms-content { font-size: 15px; line-height: 1.9; }
  .breadcrumbs { font-size: 12px; }.breadcrumbs ol { padding: 11px 0; }.attachment-grid, .related-link-grid, .child-pages ul { grid-template-columns: 1fr; }.page-gallery__slide { flex-basis: 100%; }.page-gallery__button { width: 40px; height: 40px; }.expanded-section.is-deep { margin-left: 14px; }
  .news-index__item a, .news-index__row { grid-template-columns: auto 1fr auto; gap: 10px; padding: 18px; }.news-index__item strong { grid-column: 1 / -1; }.news-index__item small { grid-column: 1 / 3; }.news-index__item > a > i:last-child { grid-row: 1; grid-column: 3; }
  .table-scroll-hint { position: sticky; left: 12px; display: inline-flex; gap: 7px; align-items: center; margin: 0 0 8px; padding: 6px 10px; color: var(--color-white); background: rgb(7 20 30 / 82%); border-radius: 999px; font-size: 11px; font-weight: 800; }
  .table-scroll.is-touched .table-scroll-hint { display: none; }
  .cms-content iframe[src*="google.com/maps"], .cms-content iframe[src*="maps.google"], .cms-content .google-map, .cms-content .map-embed { aspect-ratio: 1 / 1; }
  .cms-content .responsiveCardTable, .cms-content .responsiveCardTable thead, .cms-content .responsiveCardTable tbody, .cms-content .responsiveCardTable tfoot, .cms-content .responsiveCardTable tr { display: block; width: 100%; }.cms-content .responsiveCardTable tr { margin-bottom: 16px; overflow: hidden; border: 1px solid #d7e0de; border-radius: 14px; }.cms-content .responsiveCardTable th, .cms-content .responsiveCardTable td { display: block; width: 100%; border: 0; }.cms-content .responsiveCardTable th { color: var(--color-white); background: var(--color-green); font-weight: 800; text-align: center; }.cms-content .responsiveCardTable td { background: var(--color-white); }
  html body .cmsCalendarTable { width: 100%; min-width: 100%; border-spacing: 2px 0; }
  html body .cmsCalendarTable td { padding: 4px !important; }
  html body .cmsCalendarTable td.cmsCalendarComment { font-size: 10px; line-height: 1.3; }
}

@media (prefers-reduced-motion: reduce) {
  .page-gallery__track { transition: none; }
}
