/* A responsive reading layer over the original Twenty Ten theme. */
body.custom-background { background: #f1f3f2; color: #263c40; }
* { box-sizing: border-box; }
#wrapper { width: min(1100px, calc(100% - 48px)); padding: 0 36px; margin: 24px auto; }
#branding, #main, #colophon, #access, #access .menu-header, div.menu { width: 100%; }
#header { padding-top: 28px; }
#branding { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0 20px; }
#site-title { float: none; width: auto; margin-bottom: 18px; font-size: 34px; letter-spacing: -1px; }
#site-title a { color: #173f46; }
#site-description { float: none; clear: none; width: auto; margin: 0 0 18px; color: #586e71; }
#branding img { width: 100%; height: auto; float: none; border: 0; }
#access { float: none; background: #173f46; }
#access .menu-header, div.menu { margin: 0; }
#access ul.menu { display: flex; flex-wrap: wrap; padding: 0 8px; }
#access .menu-header li, #access div.menu li { float: none; }
#access a { color: #e8f0ef; line-height: 48px; padding: 0 18px; font-size: 14px; }
#access li:hover > a, #access a:focus-visible, #access .current-menu-item > a { background: #28555c; color: #fff; }
#main { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 48px; padding: 40px 0 0; }
#container { float: none; margin: 0; width: 100%; min-width: 0; }
#content, .one-column #content, .single-attachment #content { width: 100%; margin: 0 0 36px; }
#primary, #secondary { float: none; width: 100%; overflow: visible; min-width: 0; }
.one-column #main, .single-attachment #main { grid-template-columns: minmax(0, 1fr); }
.one-column #content, .single-attachment #content { max-width: 760px; margin-inline: auto; }
#content { font-family: Georgia, 'Times New Roman', serif; font-size: 18px; line-height: 1.75; overflow-wrap: anywhere; }
#content .entry-title { font-size: 30px; line-height: 1.2; margin-bottom: 10px; letter-spacing: -.5px; }
#content .entry-title, #content .entry-title a { color: #173f46; }
a { color: #216575; text-underline-offset: 3px; }
a:hover { color: #143f49; }
a:focus-visible, summary:focus-visible { outline: 3px solid #b16a25; outline-offset: 4px; }
.entry-meta, .entry-utility { font: 13px/1.7 system-ui, sans-serif; color: #657577; }
.entry-meta a, .entry-utility a { color: #536a6d; }
.entry-content { padding-top: 22px; }
#content .hentry { margin-bottom: 38px; padding-bottom: 32px; border-bottom: 1px solid #e0e7e5; }
#content img, #content video { max-width: 100%; height: auto; }
#content iframe { max-width: 100%; }
#content iframe[src*='vimeo'], #content iframe[src*='youtube'] { width: 100%; height: auto; aspect-ratio: 16 / 9; }
#content .wp-caption { max-width: 100% !important; }
#content .wp-caption img { max-width: calc(100% - 10px); height: auto; }
#content .wp-caption-text { font: 13px/1.6 system-ui, sans-serif; }
#content .preview-photo { display: block; width: 100%; height: auto; max-height: 360px; object-fit: contain; margin: 0 0 20px; }
#content .journal-preview p { margin-bottom: 12px; }
.continue-reading { display: inline-flex; align-items: center; min-height: 44px; font: 600 14px/1.5 system-ui, sans-serif; }
.entry-utility { margin-top: 16px; }
.widget-area { font: 14px/1.6 system-ui, sans-serif; }
.widget-title, .archive-disclosure summary { font: 600 14px/1.5 system-ui, sans-serif; color: #173f46; }
.widget-area ul ul { list-style: none; margin: 8px 0 0; }
.widget-area li li a { display: inline-block; padding: 8px 0; }
.archive-disclosure summary { cursor: pointer; padding: 12px 0; min-height: 44px; border-top: 1px solid #e0e7e5; }
.navigation { display: flow-root; }
.navigation a { display: inline-block; padding: 12px 0; min-height: 44px; }
#colophon { border-top: 1px solid #e0e7e5; padding: 20px 0; }
#site-info, #site-generator { width: auto; }
#content pre { max-width: 100%; overflow-x: auto; }
@media (max-width: 800px) {
  #wrapper { width: calc(100% - 24px); padding: 0 24px; margin: 12px auto; }
  #main { grid-template-columns: minmax(0, 1fr); gap: 0; padding-top: 28px; }
  #primary { border-top: 1px solid #e0e7e5; padding-top: 24px; }
  #site-description { font-size: 13px; }
  #content .entry-title { font-size: 28px; }
}
@media (max-width: 480px) {
  #wrapper { width: 100%; padding: 0 20px; margin: 0; }
  #header { padding-top: 20px; }
  #branding { display: block; }
  #site-title { font-size: 30px; line-height: 1.2; margin-bottom: 4px; }
  #site-description { margin: 0 0 16px; }
  #branding img { min-height: 95px; object-fit: cover; }
  #access ul.menu { padding: 0; }
  #access a { padding: 0 10px; font-size: 13px; line-height: 46px; }
  #content { font-size: 18px; line-height: 1.7; }
  #content .entry-title { font-size: 26px; }
  #content .alignleft, #content .alignright { float: none; display: block; margin: 16px auto; }
  #content blockquote { padding: 0 16px; }
  .commentlist li.comment { padding: 0 0 0 12px; }
  .commentlist .children { margin-left: 8px; }
  #site-info, #site-generator { float: none; text-align: left; margin: 8px 0; }
}

/* Full-width stories and the standalone post browser. */
#main { grid-template-columns: minmax(0, 1fr); }
#content, .one-column #content, .single-attachment #content { max-width: none; width: 100%; }
#post-filters { display: grid; grid-template-columns: minmax(0, 1fr) 160px; gap: 20px; margin: 24px 0 16px; font: 15px/1.5 system-ui, sans-serif; }
#post-filters[hidden], #post-list > li[hidden], #no-posts[hidden] { display: none; }
#post-filters label { display: block; margin-bottom: 8px; font-weight: 600; }
#post-filters input, #post-filters select { width: 100%; min-height: 48px; border: 1px solid #829a9c; border-radius: 4px; background: #fff; padding: 10px 12px; font: 16px/1.5 system-ui, sans-serif; color: #173f46; }
#post-count, .posts-intro, #content .post-date { color: #536a6d; font: 14px/1.6 system-ui, sans-serif; }
#content #post-list { list-style: none; margin: 0; }
#post-list > li { padding: 24px 0; border-top: 1px solid #e0e7e5; }
#content #post-list h2 { font-size: 25px; line-height: 1.3; margin: 0 0 10px; }
#content #post-list p { margin-bottom: 10px; }
#post-list h2 a { display: inline-block; padding: 4px 0; }
@media (max-width: 480px) { #post-filters { grid-template-columns: minmax(0, 1fr); gap: 12px; } }
