/* Look and feel modelled on the WordPress "Twenty Sixteen" theme the old site used. */
:root{--ink:#545454;--link:#567410;--card:#eee;--bg:#fff;--rule:rgba(84,84,84,.2);--sans:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.75 Merriweather,Georgia,serif;-webkit-font-smoothing:antialiased}
a{color:var(--link)}
a:hover,a:focus{text-decoration:none}
.site-inner,.masthead-inner,.site-footer{max-width:1320px;margin-left:auto;margin-right:auto}

/* masthead: the site title on its own full-width band */
.masthead{color:#fff;border-bottom:6px solid var(--link);
  background:radial-gradient(circle at 92% -20%,rgba(190,220,110,.28) 0 14rem,transparent 14.1rem),
    radial-gradient(circle at 78% 130%,rgba(255,255,255,.09) 0 10rem,transparent 10.1rem),
    linear-gradient(115deg,#2f4a0a 0%,#445f12 38%,#545454 100%)}
.masthead-inner{padding:1.5rem 4.54%;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.site-title{display:inline-block;font:700 2rem/1.2 var(--sans);letter-spacing:-.01em;color:#fff;text-decoration:none}
@media(min-width:900px){.masthead-inner{padding-top:3rem;padding-bottom:3rem}.site-title{font-size:2.75rem}}
.site-title .amp{color:#c9e17d;font-weight:400;font-style:italic;padding:0 .04em}
.masthead-nav{display:flex;align-items:center;gap:1.4rem;flex-shrink:0}
.masthead-nav a:not(.lang-switch){display:none;color:#fff;text-decoration:none;font:700 .75rem var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:.3rem 0;border-bottom:2px solid transparent}
.masthead-nav a:not(.lang-switch):hover,.masthead-nav a:not(.lang-switch):focus{border-bottom-color:#c9e17d}
@media(min-width:900px){.masthead-nav a:not(.lang-switch){display:inline-block}}
/* mobile tool bar: search + a collapsible archives/recent panel (the sidebar takes over from 900px) */
.toolbar{padding:1rem 4.54% 0}
.toolbar .search-form input{padding:.7rem .75rem;font-size:.9375rem}
.toolbar .search-form button{padding:0 1rem}
.browse{margin-top:.6rem;border:1px solid var(--rule)}
.browse summary{cursor:pointer;list-style:none;padding:.8rem .9rem;font:700 .8125rem var(--sans);text-transform:uppercase;letter-spacing:.047em;display:flex;justify-content:space-between;align-items:center;min-height:44px}
.browse summary::-webkit-details-marker{display:none}
.browse summary::after{content:"+";font-size:1.2rem;line-height:1}
.browse[open] summary::after{content:"\2212"}
.browse-panel{padding:0 .9rem 1rem;border-top:1px solid var(--rule)}
.browse-panel .widget-title{margin:1.2rem 0 .8rem}
.browse-panel ul{list-style:disc;margin:0;padding-left:1.1em;font-size:.875rem;line-height:1.5}
.browse-panel li{margin:0 0 .45rem}
@media(max-width:899px){#secondary{display:none}}
@media(min-width:900px){.toolbar{display:none}}
.site-footer{padding:2.5rem 4.54%;font:400 .8125rem var(--sans)}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.site-footer a{color:var(--ink);text-decoration:none;font-weight:700;display:inline-flex;align-items:center;min-height:44px}
.site-footer .to-top{font-weight:400}
.site-footer a:hover{text-decoration:underline}

/* two columns: posts + sidebar */
.site-inner{padding:2.5rem 4.54% 0}
@media(max-width:899px){.site-inner{padding-top:1.5rem}}
@media(min-width:900px){
  .site-inner{display:flex;align-items:flex-start;justify-content:space-between}
  #primary{width:70%}
  #secondary{width:25%}
}

/* post */
.hentry{margin:0 0 2.25rem;padding:1.5rem 1.25rem;background:var(--card)}
@media(min-width:600px){.hentry{padding:2.5rem 2.5rem 2rem}}
.entry-header{margin-bottom:2.2rem}
.entry-title{font:700 2.5rem/1.2 var(--sans);margin:0;letter-spacing:-.01em;overflow-wrap:anywhere}
h2.entry-title{font-size:2.5rem}
.entry-title a{color:var(--ink);text-decoration:none}
.entry-title a:hover{color:var(--link)}
@media(max-width:600px){.entry-title,h2.entry-title{font-size:1.75rem}}
.entry-meta{font:400 .8125rem/1.6 var(--sans);margin-bottom:1.5rem}
.entry-meta>*{display:block}
.entry-meta .author{font-weight:400}
.entry-meta time,.entry-meta a{color:var(--link);text-decoration:none}
.entry-meta a:hover{text-decoration:underline}
@media(min-width:900px){
  .hentry{display:grid;grid-template-columns:21.43% 1fr;grid-template-areas:"head head" "meta body";column-gap:7.14%}
  .hentry>.entry-header{grid-area:head}
  .hentry>.entry-meta{grid-area:meta;margin:0}
  .hentry>.entry-content{grid-area:body;min-width:0}
}
.entry-content>*{margin-top:0}
.entry-content p{margin:0 0 1.75em}
.entry-content img,.entry-content video{max-width:100%;height:auto}
.entry-content iframe{max-width:100%;border:0}
.entry-content hr{border:0;height:1px;width:20%;min-width:80px;margin:0 auto 1.75em;background:var(--rule)}
.entry-content blockquote{margin:0 0 1.75em;padding-left:1.1em;border-left:4px solid var(--ink);font-style:italic}
.entry-content figure{margin:0 0 1.75em}
.entry-content .wp-block-separator{width:20%}
.entry-content a{overflow-wrap:anywhere}
.entry-content ul,.entry-content ol{margin:0 0 1.75em;padding-left:1.4em}
.video{position:relative;padding-bottom:56.25%;height:0;margin:0 0 1.75em}
.video iframe{position:absolute;inset:0;width:100%;height:100%}
.video.portrait{padding-bottom:0;height:auto;aspect-ratio:9/16;max-width:320px}
.p_embed{margin:0 0 1.75em}

/* sidebar */
.widget{border-top:4px solid var(--ink);margin:0 0 2.6rem;padding-top:1.75rem}
.widget-title{font:700 1rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:.047em;margin:0 0 1.2rem}
.widget ul{list-style:disc;margin:0;padding:0 0 0 1.1em;font-size:.875rem;line-height:1.5}
.widget li{margin:0 0 .45rem}
.widget a{overflow-wrap:anywhere}
.widget .archive-scroll{max-height:none}
@media(max-width:899px){#secondary{margin-top:2rem}}

/* comments */
.comments{margin:0 0 3.5rem}
.comments-title{font:700 1rem var(--sans);text-transform:uppercase;letter-spacing:.047em;border-top:4px solid var(--ink);padding-top:1.5rem;margin:0 0 1.5rem}
.comment{padding:1rem 0;border-top:1px solid var(--rule);font-size:.9375rem;line-height:1.7}
.comment-author{font-family:var(--sans);font-size:.875rem}
.comment time{display:block;font:400 .75rem var(--sans);opacity:.8}
.comment p{margin:.5rem 0 0;overflow-wrap:anywhere}
.depth-1{margin-left:1.5rem}.depth-2,.depth-3,.depth-4,.depth-5{margin-left:3rem}

/* navigation */
.post-navigation{display:flex;gap:2rem;justify-content:space-between;border-top:4px solid var(--ink);padding-top:1.5rem;margin:0 0 3rem;font:700 .9375rem/1.4 var(--sans)}
.post-navigation a{color:var(--ink);text-decoration:none;max-width:48%}
.post-navigation a:hover{color:var(--link)}
.post-navigation span{display:block;font:400 .75rem var(--sans);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.3rem}
.post-navigation .next{text-align:right;margin-left:auto}
.pagination{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;border-top:4px solid var(--ink);padding-top:1.5rem;margin:0 0 3rem;font:700 .9375rem var(--sans)}
.pagination a,.pagination .current{padding:.2rem .5rem;text-decoration:none;color:var(--ink)}
.pagination a:hover{color:var(--link)}
.pagination .current{background:var(--ink);color:#fff}
.pagination .next{margin-left:auto}
.archive-list{list-style:none;margin:0 0 3rem;padding:0}
.archive-list li{padding:.45rem 0;border-top:1px solid var(--rule)}
.archive-list time{display:inline-block;min-width:6.5rem;font:400 .8125rem var(--sans)}

/* photo mosaic: justified rows; each tile grows in proportion to its aspect ratio so every row fills the width at an even height */
.mosaic{--row:150px;display:flex;flex-wrap:wrap;gap:3px;margin:0 0 1.75em}
.mosaic a{display:block;flex:calc(var(--ar)*100) 1 calc(var(--ar)*var(--row));aspect-ratio:var(--ar);overflow:hidden;background:#ddd;cursor:zoom-in}
.mosaic img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}
.mosaic a:hover img{transform:scale(1.04)}
.mosaic[data-count="1"]{--row:600px}
.mosaic[data-count="2"],.mosaic[data-count="3"]{--row:230px}
.mosaic[data-count="4"]{--row:180px}
@media(max-width:600px){.mosaic{--row:110px}.mosaic[data-count="2"],.mosaic[data-count="3"]{--row:160px}}

/* lightbox */
#lightbox{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;color:#fff}
#lightbox::backdrop{background:rgba(0,0,0,.92)}
#lightbox figure{margin:0;height:100%;display:flex;align-items:center;justify-content:center}
#lightbox img{max-width:94vw;max-height:92vh;object-fit:contain}
#lightbox button{position:absolute;background:none;border:0;color:#fff;font:400 2.2rem/1 var(--sans);cursor:pointer;padding:.6rem 1rem;opacity:.85}
#lightbox button:hover{opacity:1}
#lightbox .lb-close{top:.5rem;right:.5rem}
#lightbox .lb-prev{left:.3rem;top:50%;transform:translateY(-50%)}
#lightbox .lb-next{right:.3rem;top:50%;transform:translateY(-50%)}
#lightbox .lb-count{position:absolute;bottom:.8rem;left:0;right:0;text-align:center;font:400 .8rem var(--sans);opacity:.8}

/* search */
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.widget-search{border-top:0;padding-top:0;margin-bottom:2.6rem}
.search-form{display:flex}
.search-form input{flex:1;min-width:0;border:1px solid #d1d1d1;border-right:0;background:#f7f7f7;color:var(--ink);padding:.55rem .6rem;font:400 .8125rem var(--sans);border-radius:0}
.search-form button{border:0;background:var(--ink);color:#fff;padding:0 .8rem;cursor:pointer}
.search-form button:hover{background:#000}
.search-results{margin-bottom:3rem}
.search-count{font:700 .9375rem var(--sans);margin:0 0 1.5rem}
.search-result{border-top:1px solid var(--rule);padding:1.25rem 0}
.search-result h2{font:700 1.25rem/1.3 var(--sans);margin:0 0 .5rem}
.search-result h2 a{color:var(--ink);text-decoration:none}
.search-result h2 a:hover{color:var(--link)}
.search-result p{margin:0;font-size:.9375rem;line-height:1.7}
.search-results mark{background:#e3ecc4;color:inherit}
.search-result h2 mark{background:#d5e3a3}
.search-more{margin-top:1rem;border:0;background:var(--ink);color:#fff;padding:.6rem 1.2rem;font:700 .8125rem var(--sans);cursor:pointer}
.search-more:hover{background:#000}

/* archives calendar */
.cal-select{width:100%;margin-bottom:.8rem;padding:.5rem .6rem;border:1px solid #d1d1d1;border-radius:0;background:#f7f7f7;color:var(--ink);font:700 .875rem var(--sans)}
.cal-head{display:block;margin-bottom:.5rem;font:700 .9375rem var(--sans)}
.cal.is-js .cal-head{display:none}
.cal:not(.is-js) .cal-year{margin-bottom:1rem}
.cal-year[hidden]{display:none}
.cal-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;font:400 .8125rem var(--sans);text-align:center}
.cal-grid li{margin:0}
.cal-grid a,.cal-grid span{display:block;padding:.45rem 0}
.cal-grid a{background:#fff;color:var(--link);font-weight:700;text-decoration:none;border:1px solid var(--rule)}
.cal-grid a:hover,.cal-grid a.current{background:var(--link);color:#fff;border-color:var(--link)}
.cal-grid span{color:var(--ink);opacity:.35}

/* language switch + translated-body note */
.lang-switch { font-family: Montserrat, sans-serif; font-size: 0.8rem; color: #fff; text-decoration: none; border: 1px solid rgba(255,255,255,.55); border-radius: 2px; padding: 0.25em 0.7em; white-space: nowrap; }
.lang-switch:hover, .lang-switch:focus { background: #fff; color: #333; }
.translated-note { font-style: italic; font-size: 0.85em; opacity: 0.65; }

/* tap targets: at least 44px tall on touch-size screens */
@media(max-width:899px){
  .toolbar .search-form input,.toolbar .search-form button{min-height:44px}
  .browse-panel .cal-grid a,.browse-panel .cal-grid span{padding:.8rem 0;min-height:44px}
  .browse-panel .cal-select{min-height:44px}
  .browse-panel ul li a{display:inline-block;padding:.65rem 0;min-height:44px}
  .browse-panel ul li{margin:0}
  .entry-meta a{display:inline-flex;align-items:center;min-height:44px}
  .lang-switch{display:inline-flex;align-items:center;min-height:44px;padding:0 .9em}
  .pagination a,.nav-links a{display:inline-block;min-height:44px;padding:.6rem .2rem}
}

/* downloads */
#lightbox .lb-download{position:absolute;bottom:.5rem;right:.8rem;display:inline-flex;align-items:center;min-height:44px;padding:0 .9rem;color:#fff;font:700 .8rem var(--sans);text-decoration:none;border:1px solid rgba(255,255,255,.55);border-radius:2px;background:rgba(0,0,0,.35)}
#lightbox .lb-download:hover,#lightbox .lb-download:focus{background:#fff;color:#222}
.dl-video{display:inline-flex;align-items:center;min-height:44px;margin:-1rem 0 1.5rem;font:700 .8125rem var(--sans);text-decoration:none}
.dl-video:hover{text-decoration:underline}
.is-busy{opacity:.55;pointer-events:none}
.entry-content video.portrait{max-width:320px;display:block}
