/* Original bWitty visual language, rebuilt without the old layout hacks. */
* { box-sizing: border-box; }
html { min-height: 100%; background: #fff; }
body { margin: 0; min-height: 100vh; background: #fff; background-image: none; color: #525252; font-family: 'Helvetica Neue', Helvetica, Arial, Tahoma, Verdana, sans-serif; font-size: 15px; font-weight: 300; line-height: 22px; text-shadow: 0 1px 0 rgba(255,255,255,.8); }
/* Plain white background requested by the owner; original logo is unchanged. */
a { color: #aa1012; text-decoration: underline; text-underline-offset: 1px; }
a:hover { text-decoration: none; }
a:focus-visible, summary:focus-visible { outline: 2px solid #aa1012; outline-offset: 4px; }
b { font-weight: 400; } strong { font-weight: 700; }
p, h1, h2, ul, ol { margin: 0; padding: 0; }
h1 { margin: 0 0 15px; font-size: 32px; font-weight: 300; line-height: 32px; }
h2 { font-size: 15px; font-weight: 400; line-height: 22px; }
.container { width: min(940px, calc(100% - 40px)); margin-inline: auto; }
.site-header { height: 76px; background: #fff; }
.site-header .container { display: flex; justify-content: flex-end; }
.brand { display: block; margin-top: 5px; width: 206px; height: 68px; }
.brand img { display: block; width: 206px; height: 68px; max-width: 100%; }
main.container { margin-top: 57px; padding-bottom: 40px; }
.introduction { margin-bottom: 22px; }
.prose p + p { margin-top: 0; }
.home-section { margin-top: 22px; }
.dash-list { list-style: none; }
.dash-list > li { position: relative; padding-left: 10px; }
.dash-list > li::before { content: '-'; position: absolute; left: 0; }
.dash-list .prose p { margin: 0; }
.archive-intro { margin-bottom: 36px; }
.archive-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 15px; line-height: 19px; }
.archive-table .col-title { width: 49%; }
.archive-table .col-publication { width: 17%; }
.archive-table .col-date { width: 17%; }
.archive-table .col-language { width: 17%; }
.archive-table td { padding: 0; vertical-align: top; overflow-wrap: anywhere; }
.archive-table .archive-title { position: relative; padding-left: 10px; padding-right: 4px; }
.archive-table .archive-title::before { content: '-'; position: absolute; left: 0; }
.archive-date { white-space: nowrap; }
.archive-publication { padding-right: 6px !important; }
.site-footer { background: url('../images/hr.gif') repeat-x top left; padding: 10px 0 16px; }
.copyright { text-align: right; font-size: 13px; color: #616161; line-height: 19px; }
.footer-nav { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 4px 15px; margin-top: 10px; font-size: 12px; line-height: 20px; }
.footer-nav a { color: #616161; }
.preview-note { margin-top: 12px; color: #616161; font-size: 12px; line-height: 18px; }
.site-footer .preview-note { text-align: right; }
code { font-size: 13px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip { position: fixed; top: 8px; left: 12px; padding: 6px 12px; background: #fff; transform: translateY(-180%); z-index: 10; }
.skip:focus { transform: translateY(0); }
@media (max-width: 640px) {
  .container { width: calc(100% - 36px); }
  main.container { margin-top: 36px; padding-bottom: 30px; }
  h1 { font-size: 29px; line-height: 34px; }
  .home-section { margin-top: 22px; }
  .dash-list > li { margin-bottom: 5px; }
  .archive-intro { margin-bottom: 25px; }
  .archive-table { display: block; line-height: 21px; }
  .archive-table colgroup { display: none; }
  .archive-table tbody { display: block; }
  .archive-table tr[data-archive-item] { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px; margin: 0 0 18px; }
  .archive-table td { display: block; padding: 0; }
  .archive-table .archive-title { grid-column: 1 / -1; padding: 0 0 4px 10px; }
  .archive-table .archive-publication { grid-column: 1; padding-left: 10px; font-size: 13px; }
  .archive-table .archive-date { grid-column: 2; text-align: right; font-size: 13px; }
  .archive-table .archive-language { grid-column: 1 / -1; padding-left: 10px; font-size: 12px; }
  .archive-language:empty { display: none; }
  .copyright { text-align: left; }
  .footer-nav { justify-content: flex-start; gap: 4px 13px; }
  .site-footer .preview-note { text-align: left; }
}
@media print {
  body { background: white; text-shadow: none; }
  .skip, .footer-nav, .preview-note { display: none; }
  .archive-table tr { break-inside: avoid; }
}
