/* ==========================================================
   Site settings (originally printed inline by the WordPress customizer)
   ========================================================== */
body { color: #000000; background: #FFF; }
.entry-header p { color: #333333; }
.blog-widget .textwidget p:after, .no-sidebar .format-standard h1.page-title:after { background-color: #333333; }
.site-content a, #home-tagline h1, cite { color: #000; }
#content a:hover, .site-content a:hover, .site-footer a:hover { color: #000; }
.main-navigation { background: #FFF; }
.hero { background: rgba(255, 255, 255, 0.9); }
.main-navigation li a { color: #2d2d2d; }
.main-navigation li a:hover { color: #CCC; }
.main-navigation, .footer-border { border-top-color: #333; }
.page-header, .single .entry-content, #colophon.wrap { border-color: #DDD; }
header.page-header { display: none; }
.site-content .entry-meta, .comment-metadata, .comments-area .reply:before, label { color: #aaaaaa; }
.site-footer, .site-footer a { color: #333; }
.site-footer { background: #FFF; }
.nav-menu li:hover, .nav-menu a:focus, .nav-menu a:hover, .nav-menu a:active,
.main-navigation li ul li a:hover { background: #F2F2F2; }
.nav-menu .current_page_item a, .nav-menu .current-menu-item a { background: #000; }
.out-wrap { background: #FFF; }
.site-title, .site-title a { color: #2d2d2d; }
#home-tagline { background: #FFF; }

/* ==========================================================
   Parts of the WordPress block library still in use
   ========================================================== */
.wp-block-image { margin: 0 0 1em; }
.wp-block-image figure { margin: 0; }
.wp-block-image .aligncenter { display: table; margin-left: auto; margin-right: auto; }
.wp-block-image img { max-width: 100%; height: auto; vertical-align: bottom; }

/* ==========================================================
   Replacements for removed WordPress / jQuery / icon-font bits
   ========================================================== */
img { max-width: 100%; height: auto; }

/* menu toggle is now a real <button> (was an <h1>) */
.menu-toggle {
    -webkit-appearance: none; appearance: none;
    background: transparent; border: 0; border-radius: 0;
    width: 100%; line-height: 1.4; letter-spacing: .05em;
}
.menu-toggle:hover, .menu-toggle:focus { background: #e3e3e3; color: #333; }
.site-header .menu-toggle:before {
    content: ''; font: inherit;
    width: 16px; height: 12px; margin: -2px 8px 0 0;
    background:
      linear-gradient(#333,#333) 0 0/100% 2px no-repeat,
      linear-gradient(#333,#333) 0 50%/100% 2px no-repeat,
      linear-gradient(#333,#333) 0 100%/100% 2px no-repeat;
}

/* icons (inline SVG instead of Font Awesome) */
.post-navigation svg, #scroll-up svg { display: inline-block; vertical-align: middle; }
a#scroll-up { line-height: 1; padding: 6px 8px; }
a#scroll-up.is-visible { display: block; }

/* screen-reader text + skip link */
.skip-link:focus {
    clip: auto !important; height: auto; width: auto; left: 8px; top: 8px;
    z-index: 100000; background: #fff; padding: 10px 16px; position: absolute;
}

/* footer without the search box */
.site-info .grid2 .col:empty { display: none; }

/* Captions aligned with runs of spaces under side‑by‑side images:
   keep the alignment on wide screens, let them wrap on phones */
.entry-content .sp { white-space: pre; }
@media (max-width: 700px) {
    .entry-content .sp { white-space: normal; }
    .entry-content .sp::after { content: '\A'; white-space: pre; }
}

/* small screens: keep things inside the viewport */
.entry-content p, .entry-content h2 { overflow-wrap: break-word; }
@media (max-width: 600px) {
    .site-title-group, .title-group { margin-left: 16px !important; margin-right: 16px !important; }
    .main-navigation { padding: 0; }
    .main-navigation li a { padding: 16px 20px; display: block; }
    .main-navigation li { display: block; }
}

/* ==========================================================
   Lightbox (replaces prettyPhoto)
   ========================================================== */
.lb { position: fixed; inset: 0; z-index: 9999; background: rgba(0,0,0,.92);
      display: none; align-items: center; justify-content: center; touch-action: pan-y; }
.lb.open { display: flex; }
.lb img { max-width: calc(100vw - 120px); max-height: calc(100vh - 80px); width: auto; height: auto;
          box-shadow: 0 4px 30px rgba(0,0,0,.5); background: #222; }
.lb button { position: absolute; background: none; border: 0; color: #fff; cursor: pointer;
             opacity: .75; padding: 16px; font: 300 64px/1 "Open Sans", Arial, sans-serif; }
.lb button:hover, .lb button:focus { opacity: 1; background: none; }
.lb .lb-close { top: 4px; right: 8px; font-size: 44px; }
.lb .lb-prev { left: 4px; top: 50%; transform: translateY(-50%); }
.lb .lb-next { right: 4px; top: 50%; transform: translateY(-50%); }
.lb .lb-count { position: absolute; bottom: 12px; left: 0; right: 0; text-align: center;
                color: #bbb; font: 12px "Open Sans", Arial, sans-serif; }
@media (max-width: 700px) {
    .lb img { max-width: 100vw; max-height: calc(100vh - 100px); }
    .lb .lb-prev, .lb .lb-next { top: auto; bottom: 0; transform: none; }
}
body.lb-lock { overflow: hidden; }
