/* Public-site stylesheet: no Claro or Classy dependency. */
@font-face { font-family: Hanken; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/hanken-regular.woff') format('woff'); }
@font-face { font-family: Hanken; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/hanken-italic.woff') format('woff'); }
@font-face { font-family: Hanken; font-style: normal; font-weight: 700 900; font-display: swap; src: url('../fonts/hanken-bold.woff') format('woff'); }
@font-face { font-family: 'Special Gothic'; font-style: normal; font-weight: 400 900; font-display: swap; src: url('../fonts/special-gothic.woff') format('woff'); }

:root { color-scheme: light dark; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #fff; color: #232429; font: 400 16px/1.5 Hanken, sans-serif; }
a { color: #003ecc; text-decoration: underline; text-underline-offset: .08em; }
a:hover { color: #002b91; }
img, video { max-width: 100%; height: auto; }
audio { width: 100%; padding-top: 20px; }

.site-shell { width: min(100% - 32px, 928px); margin-inline: auto; }
.site-header { margin-bottom: 12px; padding-top: 24px; background: #f3f4f9; }
.site-header .block { margin: 0; }
.site-header #block-ruk-minimal-breadcrumbs,
.site-header nav[aria-labelledby='system-breadcrumb'] { display: none; }
.site-header form { float: right; margin: 36px 0 0; }
.site-header input[type='text'] { width: 100px; min-height: 32px; padding: 4px 7px; border: 1px solid #8e929c; border-radius: 2px; background: #fff; color: inherit; font: inherit; }
.site-header p { margin: 0; }
.site-header img.u-logo, .site-header #logo img { display: block; width: 100px; height: 100px; margin: 36px 0 56px; }

.site-main { min-height: 1px; }
.site-main .block { margin: 0; }
.main-content-home-view, .path-node .node__content { max-width: 960px; }
.views-row { margin: 0; }
.site-main h1,
.main-content-home-view h1,
.page-title,
.path-node h1,
#block-ruk-minimal-page-title h1 { margin: .55em 0 .15em; font: 900 3.5rem/1 'Special Gothic', sans-serif; }
h1 a { color: inherit; text-decoration: none; }
h1 a:hover { text-decoration: underline; }
h2 { margin: .8em 0 .25em; font: 700 2.9rem/1 'Special Gothic', sans-serif; }
h3, .views-field-title > h3 { margin: .8em 0 .25em; font: 700 2.5rem/1 'Special Gothic', sans-serif; }
.main-content-home-view p, .site-main p { margin: 0 0 .7em; font-size: 1.5rem; line-height: 1.5; }
.main-content-home-view ul, .main-content-home-view ol, .site-main ul, .site-main ol { font-size: 1.5rem; line-height: 1.5; }
.main-content-home-view blockquote, .site-main blockquote { margin: 1em 0; padding-left: 1em; border-left: 3px solid #8e929c; font-size: 1.4rem; }
.main-content-home-view img, .site-main img { margin-bottom: 15px; }
.site-main figure { width: 100%; margin: 1rem 0; }
.site-main figure picture,
.site-main figure img { display: block; width: 100%; max-width: 100%; height: auto; }
.views-field-field-topics { display: flex; align-items: center; gap: .3em; margin-bottom: 1.2rem; }
.views-field-field-topics::before { content: '🏷️'; }
.views-field-field-topics .field-content { display: inline; font-size: 1rem; }
.views-field-created { margin-top: .35rem; }
pre { overflow-x: auto; margin: 1em 0; padding: 1em; border-radius: 6px; background: #f5f5f5; color: #333; font: .95em/1.45 Menlo, Monaco, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
code { padding: .2em .4em; border-radius: 4px; background: #f5f5f5; color: #333; font-family: Menlo, Monaco, Consolas, monospace; }
pre code { padding: 0; background: transparent; color: inherit; }
.feed-icons { display: none; }

.site-footer { margin-top: 20px; border: 1px solid #808080; background: #eee; }
.site-footer .block { margin: 20px; }
.site-footer p { margin: 0 0 .7em; font-size: 1.5rem; line-height: 1.5; }
.site-footer img.u-photo { float: right; max-width: 25%; padding: 5px 20px; }
.comment { margin-bottom: 20px; padding: 0 20px 20px; border: 1px solid gray; border-radius: 10px; }
.comment .permalink, .comment footer a[href*='/comment/'], .comment-add { display: none; }
.comment .content footer { font-weight: 700; }
.comment-form { max-width: 44rem; margin: 2rem 0; padding: 1.5rem; border: 1px solid #d0d3db; border-radius: 8px; background: #f3f4f9; }
.comment-form .form-item { margin: 0 0 1rem; }
.comment-form label { display: block; margin-bottom: .35rem; font-size: 1.05rem; font-weight: 700; }
.comment-form input[type='text'],
.comment-form input[type='email'],
.comment-form input[type='url'],
.comment-form textarea { display: block; width: 100%; max-width: 100%; min-height: 2.8rem; padding: .6rem .7rem; border: 1px solid #747884; border-radius: 4px; background: #fff; color: #232429; font: inherit; line-height: 1.4; }
.comment-form textarea { min-height: 11rem; resize: vertical; }
.comment-form input:focus,
.comment-form textarea:focus { outline: 3px solid rgba(0, 62, 204, .25); outline-offset: 1px; border-color: #003ecc; }
.comment-form .description { margin-top: .35rem; color: #50545e; font-size: .95rem; line-height: 1.4; }
.comment-form .filter-wrapper,
.comment-form .filter-help { display: none; }
.comment-form .form-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.comment-form input[type='submit'] { min-height: 2.9rem; padding: .65rem 1.15rem; border: 1px solid #111; border-radius: 4px; background: #111; color: #fff; cursor: pointer; font: 700 1rem/1.2 Hanken, sans-serif; }
.comment-form input[type='submit']:hover,
.comment-form input[type='submit']:focus { background: #333; border-color: #333; color: #fff; }
.buy-print-button { display: block; width: fit-content; margin: 1em auto; padding: .75em 2em; border: 2px solid #357ab8; border-radius: 6px; background: #4a90e2; color: #fff; box-shadow: 0 3px 5px rgba(0,0,0,.08); font: 500 1.15rem/1.2 Helvetica, Arial, sans-serif; text-align: center; text-decoration: none; }
.buy-print-button:hover { background: #357ab8; color: #fff; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { z-index: 10; left: 1rem; top: 1rem; padding: .5rem; background: #fff; }

@media (min-width: 500px) { .site-shell { width: min(80%, 928px); } }
@media (prefers-color-scheme: dark) {
  body { background: #0f0f0f; color: #fff; }
  a { color: #7ec8ff; }
  a:hover { color: #a8d8ff; }
  .site-header, .site-footer { background: #222; }
  .site-footer { border-color: #444; }
  pre, code { background: #242424; color: #fff; }
}
