/*
Theme Name: Highpoints of America
Template: twentytwentyfour
Version: 1.4.2
Text Domain: highpoints-of-america
*/
/* Content-only page templates need space below the navigation strip.
   Templates with a title/spacer group already provide their own spacing. */
.wp-site-blocks > header + main:has(> .wp-block-post-content:first-child) {
 padding-block-start: clamp(24px, 3.125vw, 40px);
}

/* Give articles more room without stretching paragraphs across the screen.
   Wide/full block alignments keep WordPress's existing layout behavior. */
.wp-site-blocks > main {
 --wp--style--global--content-size: 800px;
 --wp--style--global--wide-size: 1120px;
}
.wp-site-blocks > main .wp-block-post-content.has-global-padding {
 padding-inline: clamp(20px, 4vw, 48px);
}
.wp-site-blocks > main .wp-block-post-content img {
 display: block;
 width: auto !important;
 max-width: 100%;
 height: auto !important;
 margin-inline: auto;
}
.wp-site-blocks > main .wp-block-post-content video {
 max-width: 100%;
 height: auto;
}
.wp-site-blocks > main .wp-block-post-content > :where(p, ul, ol) {
 overflow-wrap: break-word;
}

/* A quiet parchment-and-ink closing element for the page. */
.wp-site-blocks > footer.wp-block-template-part {
 --hp-ink: #34200e;
 color: var(--hp-ink);
 background: linear-gradient(rgb(242 223 186 / 78%), rgb(242 223 186 / 74%)), url('assets/images/vintage-map.png') center / cover;
 border-top: 4px double #806b48;
 margin-block-start: clamp(40px, 5vw, 64px);
}
.wp-site-blocks > footer > .hpsoa-footer-brand {
 padding: clamp(24px, 2.5vw, 32px) clamp(20px, 4vw, 48px) !important;
 display: flex;
 flex-direction: column;
 align-items: center;
 gap: 10px;
 text-align: center;
}
.wp-site-blocks > footer .hpsoa-footer-compass {
 display: block;
 width: 48px;
 height: 48px;
}
.wp-site-blocks > footer .hpsoa-footer-tagline {
 margin: 0;
 max-width: 100%;
 font-family: Georgia, 'Times New Roman', serif;
 font-size: clamp(15px, 1.4vw, 18px);
 font-style: italic;
 line-height: 1.5;
}
.wp-site-blocks > footer .hpsoa-footer-rule {
 display: flex;
 align-items: center;
 gap: 10px;
 width: 112px;
 margin-block-start: 4px;
}
.wp-site-blocks > footer .hpsoa-footer-rule::before,
.wp-site-blocks > footer .hpsoa-footer-rule::after {
 content: '';
 flex: 1;
 border-top: 1px solid #806b48;
}
.wp-site-blocks > footer .hpsoa-footer-rule > span {
 width: 6px;
 height: 6px;
 background: var(--hp-ink);
 transform: rotate(45deg);
}
.wp-site-blocks > footer .wp-block-site-title {
 margin: 0;
 font-family: Georgia, 'Times New Roman', serif;
 font-size: clamp(26px, 2.4vw, 34px) !important;
 font-weight: 700;
 line-height: 1.12;
 letter-spacing: -0.035em;
}
.wp-site-blocks > footer a {
 color: var(--hp-ink);
 text-decoration: none;
 text-underline-offset: 5px;
}
.wp-site-blocks > footer a:hover { text-decoration: underline; }
.wp-site-blocks > footer a:focus-visible {
 outline: 2px solid #7d391e;
 outline-offset: 4px;
}
/* Preserve the existing WordPress header, links, and submenu hierarchy. */
.wp-site-blocks > header.wp-block-template-part {
 --hp-ink: #34200e;
 --hp-paper: #f2dfba;
 color: var(--hp-ink);
 background: var(--hp-paper) url('assets/images/vintage-map.png') left 62% / 100% auto no-repeat;
 border-bottom: 3px double #806b48;
}
.wp-site-blocks > header.wp-block-template-part > .wp-block-group {
 max-width: none;
 background: transparent !important;
 padding: 0 !important;
}
.wp-site-blocks > header > .wp-block-group > .wp-block-group {
 max-width: none;
 display: flex;
 flex-direction: column;
 align-items: stretch;
 gap: 0;
 margin: 0;
}
.wp-site-blocks > header > .wp-block-group > .wp-block-group > .wp-block-group:first-child {
 min-height: 230px;
 padding: 30px clamp(88px, 8.5vw, 150px);
 box-sizing: border-box;
 align-items: center;
}
.wp-site-blocks > header .wp-block-site-title {
 margin: 0;
 width: 5.8em;
 max-width: 100%;
 font-family: Georgia, 'Times New Roman', serif;
 font-size: clamp(48px, 5.5vw, 80px);
 font-weight: 700;
 letter-spacing: -0.04em;
 line-height: 0.98;
}
.wp-site-blocks > header .wp-block-site-title a {
 color: var(--hp-ink);
 text-decoration: none;
 text-shadow: 0 1px 8px rgb(242 223 186 / 70%);
}
.wp-site-blocks > header > .wp-block-group > .wp-block-group > .wp-block-group:last-child {
 justify-content: center;
 padding: 0 24px;
 min-height: 48px;
 background: rgb(242 223 186 / 94%);
 border-top: 4px double #806b48;
}
.wp-site-blocks > header .wp-block-navigation {
 color: var(--hp-ink);
 font-family: Georgia, 'Times New Roman', serif;
 font-size: 17px;
 font-weight: 400;
 --wp--style--block-gap: 0;
}
.wp-site-blocks > header .wp-block-navigation__container,
.wp-site-blocks > header .wp-block-page-list { gap: 0; }
.wp-site-blocks > header .wp-block-navigation__container > .wp-block-navigation-item,
.wp-site-blocks > header .wp-block-page-list > .wp-block-navigation-item {
 padding: 8px clamp(12px, 2.6vw, 38px);
 border-inline-end: 1px solid #ad956c;
}
.wp-site-blocks > header .wp-block-navigation__container > .wp-block-navigation-item:last-child,
.wp-site-blocks > header .wp-block-page-list > .wp-block-navigation-item:last-child { border-inline-end: 0; }
.wp-site-blocks > header .wp-block-navigation-item__content { text-underline-offset: 5px; }
.wp-site-blocks > header .wp-block-navigation-item__content:hover { text-decoration: underline; }
.wp-site-blocks > header a:focus-visible,
.wp-site-blocks > header button:focus-visible { outline: 2px solid #7d391e; outline-offset: 4px; }
.wp-site-blocks > header .wp-block-navigation .wp-block-navigation__submenu-container {
 background-color: var(--hp-paper);
 color: var(--hp-ink);
 border-color: #ad956c;
 z-index: 10;
}
.wp-site-blocks > header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 10px 16px; }
.wp-site-blocks > header .wp-block-navigation__submenu-container > .wp-block-navigation-item:hover,
.wp-site-blocks > header .wp-block-navigation__submenu-container > .wp-block-navigation-item:focus-within {
 background: #e4cda4;
}
@media (max-width: 900px) {
 .wp-site-blocks > header .wp-block-navigation { font-size: 15px; }
 .wp-site-blocks > header .wp-block-navigation__container > .wp-block-navigation-item,
 .wp-site-blocks > header .wp-block-page-list > .wp-block-navigation-item { padding-inline: 12px; }
}
@media (max-width: 599px) {
 .wp-site-blocks > header.wp-block-template-part { background-size: auto 230px; background-position: left top; }
 .wp-site-blocks > header > .wp-block-group > .wp-block-group > .wp-block-group:first-child { min-height: 210px; padding: 26px 24px 26px 64px; }
 .wp-site-blocks > header .wp-block-site-title { font-size: clamp(36px, 8vw, 48px); }
 .wp-site-blocks > header > .wp-block-group > .wp-block-group > .wp-block-group:last-child { justify-content: flex-end; }
 .wp-site-blocks > header .wp-block-navigation__responsive-container-open { min-width: 44px; min-height: 44px; }
 .wp-site-blocks > header .wp-block-navigation__responsive-container.is-menu-open { background: var(--hp-paper); color: var(--hp-ink); }
 .wp-site-blocks > header .is-menu-open .wp-block-navigation-item { border: 0 !important; padding: 0 !important; }
}
