/* Shared accessibility, contact and legal layout. */
html { scroll-padding-top: 110px; }
.skip-link { position: fixed; left: 1rem; top: -100px; z-index: 10000; padding: .8rem; background: #ecf39e; color: #051706; }
.skip-link:focus { top: 1rem; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid #749837; outline-offset: 4px; }
.site-legal { border-top: 1px solid #b3bdab; padding-top: 2rem; margin-top: 1rem; color: #fff; text-align: left; }
.site-legal h2, .site-data-notice__title { font-size: 1.15rem; font-weight: 700; margin-bottom: 1rem; }
.site-legal__details { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.2rem 2rem; font-size: 1rem; }
.site-legal__details dt { color: #ecf39e; font-weight: 500; margin-bottom: .3rem; }
.site-legal__details dd { margin: 0; overflow-wrap: anywhere; }
.site-legal__links { display: flex; flex-wrap: wrap; gap: 1rem 2rem; padding: 1rem 0; }
.site-legal__links a, .site-legal__links a:hover { color: #ecf39e !important; text-decoration: underline; text-underline-offset: .2em; }
.site-data-notice { margin: 1.2rem 0 2rem; padding: 1.25rem; border: 1px solid #84917b; border-radius: 12px; background: #102610; color: #fff; text-align: left; }
.site-data-notice__text { font-size: .95rem; line-height: 1.65; margin: 0; }
.site-data-notice__title { font-size: 1rem; margin-bottom: .5rem; }
.legal-page { background: #f5f7e9; color: #051706; padding: 150px 24px 80px; }
.legal-document { max-width: 960px; margin: auto; }
.legal-document h1 { font-size: clamp(2rem,5vw,3.8rem); overflow-wrap: anywhere; margin-bottom: 1.5rem; }
.legal-document h2 { font-size: 1.5rem; margin: 2rem 0 .75rem; }
.legal-document p { font-size: 1.1rem; line-height: 1.75; }
.legal-eyebrow { font-weight: 700; }
.form-help, #form-status { font-size: .95rem; line-height: 1.6; margin-top: 1rem; color: #fff; }
.form-help a { color: #ecf39e; text-decoration: underline; }
.local-photo-background { background-image: url("../../images/photo-1521590832167-7bcbfaa6381f.jpeg") !important; background-position: center; background-size: cover; }
.location-photo { display: block; width: 100%; height: 100%; object-fit: cover; }
.navbar-brand { min-width: 0; }
.navbar-caption { overflow-wrap: anywhere; }
@media(max-width:991px) {
 .menu .navbar-toggler { display: block !important; flex: 0 0 44px; width: 44px; height: 44px; padding: 7px; z-index: 1002; position: relative; }
 .menu .navbar .content-wrap { flex-wrap: wrap; }
 .menu .navbar-brand { max-width: calc(100% - 54px); margin-right: 0; }
 .menu .navbar-caption { font-size: clamp(1rem,4.3vw,1.45rem) !important; }
 .menu .navbar-logo { margin-right: .5rem !important; }
 .menu .navbar-collapse { flex-basis: 100%; width: 100%; }
 .menu .navbar-collapse:not(.show) { display: none !important; }
 .menu .navbar-collapse.show { display: block !important; max-height: calc(100dvh - 110px); overflow-y: auto; }
 .menu .menu-content { display: flex !important; flex-direction: column; align-items: stretch !important; gap: .5rem; padding: .8rem 0; position: relative; }
 .menu .navbar-nav { width: 100%; margin: 0 !important; }
 .menu .navbar-buttons { margin: 0 !important; padding: 0 !important; }
 .menu .navbar-toggler .hamburger span { background-color: #051706 !important; }
 .menu .navbar-toggler[aria-expanded="true"] .hamburger span:nth-child(1),
 .menu .navbar-toggler[aria-expanded="true"] .hamburger span:nth-child(4) { opacity: 0; }
 .menu .navbar-toggler[aria-expanded="true"] .hamburger span:nth-child(2) { transform: rotate(45deg); top: 10px; }
 .menu .navbar-toggler[aria-expanded="true"] .hamburger span:nth-child(3) { transform: rotate(-45deg); top: 10px; }
 .site-legal__details { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:575px) {
 .site-legal__details { grid-template-columns: 1fr; }
 .site-data-notice { padding: 1rem; }
 .legal-page { padding: 120px 20px 50px; }
}
@media(max-width:575px) {
 .header02 .mbr-section-title { overflow-wrap: anywhere; }
 .menu .navbar > .content-wrap { padding-left: 16px; padding-right: 16px; }
}
.menu .nav-link:focus-visible { outline: 3px solid #749837; outline-offset: 3px; }
