/* Global newspaper-archive foundation. Component colour comes from style.css. */
html {
  color-scheme: light;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--na-bg, #ffffff);
  color: var(--na-text, #1f1f1f);
  font-family: var(--na-font, Tahoma, Arial, sans-serif);
  font-size: var(--na-font-size-body, 1rem);
  font-weight: 400;
  line-height: 1.85;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::selection {
  background: var(--na-gold, #bd8f35);
  color: var(--na-theme-deep, #001f27);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-block: .5rem 1rem;
  color: var(--na-theme-deep, #001f27);
  font-family: var(--na-font, Tahoma, Arial, sans-serif);
  font-weight: 700;
  line-height: 1.45;
}

h1 { font-size: clamp(2rem, 4vw, 2.75rem); }
h2 { font-size: clamp(1.65rem, 3vw, 2.15rem); }
h3 { font-size: clamp(1.35rem, 2.4vw, 1.75rem); }
h4 { font-size: 1.4rem; }
h5 { font-size: 1.2rem; }
h6 { font-size: 1rem; }

p { margin-block: 0 1rem; }

a {
  background-color: transparent;
  color: var(--na-link, #72551f);
  text-decoration-color: rgb(137 101 31 / 42%);
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
  transition: color var(--na-transition, 180ms ease), text-decoration-color var(--na-transition, 180ms ease);
}

a:hover,
a:active {
  color: var(--na-theme, #003b49);
  text-decoration-color: currentcolor;
}

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none;
}

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--na-gold-light, #d8b66d);
  outline-offset: 3px;
}

hr {
  height: 1px;
  margin-block: 2rem;
  overflow: visible;
  border: 0;
  background: var(--na-rule, rgb(31 31 31 / 18%));
}

abbr[title] { border-block-end: 0; text-decoration: underline dotted; }
b,
strong { font-weight: 700; }
small { font-size: var(--na-font-size-caption, .875rem); }
sub,
sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; }
sub { bottom: -.25em; }
sup { top: -.5em; }

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  font-size: .92em;
}

pre {
  max-width: 100%;
  padding: 1rem;
  overflow: auto;
  border: 1px solid var(--na-border, #ddd0ba);
  background: var(--na-surface-muted, #faf6ee);
  white-space: pre-wrap;
}

blockquote {
  margin: 1.75rem 0;
  padding: 1rem 1.25rem;
  border-inline-start: 3px solid var(--na-gold, #bd8f35);
  background: var(--na-surface-muted, #faf6ee);
  color: var(--na-text, #1f1f1f);
}

blockquote > :last-child { margin-block-end: 0; }
mark,
ins { background: var(--na-gold-soft, #f2e5ca); color: var(--na-text, #1f1f1f); }

img {
  max-width: 100%;
  height: auto;
  border-style: none;
}

figure { margin: 0 0 1.5rem; }
figcaption {
  margin-block-start: .55rem;
  color: var(--na-text-muted, #5f5f5f);
  font-size: var(--na-font-size-caption, .875rem);
  font-style: normal;
  line-height: 1.7;
}

details { display: block; }
summary { display: list-item; cursor: pointer; }
[hidden],
template { display: none; }

label {
  display: inline-block;
  margin-block-end: .4rem;
  color: var(--na-text, #1f1f1f);
  font-weight: 600;
  line-height: 1.5;
  vertical-align: middle;
}

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
}

input[type="date"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
select,
textarea {
  width: 100%;
  min-height: 44px;
  padding: .62rem .9rem;
  border: 1px solid var(--na-border-strong, #c9b184);
  border-radius: var(--na-radius, 4px);
  background: var(--na-surface, #fffdf8);
  color: var(--na-text, #1f1f1f);
  transition: border-color var(--na-transition, 180ms ease), box-shadow var(--na-transition, 180ms ease), background-color var(--na-transition, 180ms ease);
}

textarea { min-height: 130px; overflow: auto; resize: vertical; }

input::placeholder,
textarea::placeholder {
  color: var(--na-text-muted, #5f5f5f);
  opacity: .72;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--na-gold, #bd8f35);
  background: var(--na-white, #fffdf8);
  box-shadow: 0 0 0 3px rgb(189 143 53 / 14%);
  outline: 0;
}

button,
input { overflow: visible; }
button,
select { text-transform: none; }
button,
input[type="button"],
input[type="reset"],
input[type="submit"] { appearance: button; width: auto; }

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: .58rem 1rem;
  border: 1px solid var(--na-theme, #003b49);
  border-radius: var(--na-radius, 4px);
  background: var(--na-theme, #003b49);
  color: var(--na-white, #fffdf8);
  font-weight: 700;
  text-align: center;
  transition: background-color var(--na-transition, 180ms ease), border-color var(--na-transition, 180ms ease), color var(--na-transition, 180ms ease);
  user-select: none;
  white-space: nowrap;
}

button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus {
  border-color: var(--na-theme-hover, #074f5d);
  background: var(--na-theme-hover, #074f5d);
  color: var(--na-white, #fffdf8);
  text-decoration: none;
}

button:not(:disabled),
input[type="button"]:not(:disabled),
input[type="reset"]:not(:disabled),
input[type="submit"]:not(:disabled) { cursor: pointer; }

button:disabled,
input:disabled,
select:disabled,
textarea:disabled { cursor: not-allowed; opacity: .58; }

fieldset { padding: 1rem; border: 1px solid var(--na-border, #ddd0ba); }
legend { display: table; box-sizing: border-box; max-width: 100%; padding-inline: .4rem; color: inherit; white-space: normal; }
input[type="checkbox"],
input[type="radio"] { box-sizing: border-box; padding: 0; accent-color: var(--na-theme, #003b49); }
select { display: block; }

table {
  width: 100%;
  margin-block-end: 1.5rem;
  border-collapse: collapse;
  border-spacing: 0;
  background: var(--na-surface, #fffdf8);
  font-size: .92em;
}

caption {
  padding-block: .65rem;
  color: var(--na-text-muted, #5f5f5f);
  font-weight: 700;
  text-align: start;
}

table th,
table td {
  padding: .8rem .9rem;
  border: 1px solid var(--na-border, #ddd0ba);
  line-height: 1.65;
  text-align: start;
  vertical-align: top;
}

table thead th {
  border-color: rgb(216 182 109 / 28%);
  background: var(--na-theme-dark, #002a34);
  color: var(--na-white, #fffdf8);
  font-weight: 700;
}

table tbody > tr:nth-child(even) > td,
table tbody > tr:nth-child(even) > th { background: var(--na-surface-muted, #faf6ee); }
table tbody tr:hover > td,
table tbody tr:hover > th { background: var(--na-gold-soft, #f2e5ca); }

dl,
dt,
dd,
ol,
ul,
li {
  border: 0;
  font-size: 100%;
  outline: 0;
  vertical-align: baseline;
}

@media (max-width: 767px) {
  body { line-height: 1.8; }
  table { display: block; max-width: 100%; overflow-x: auto; font-size: var(--na-font-size-caption, .875rem); }
  table th,
  table td { padding: .6rem; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    box-shadow: none !important;
    color: #000 !important;
    text-shadow: none !important;
  }

  a,
  a:visited { text-decoration: underline; }
  pre { white-space: pre-wrap !important; }
  blockquote,
  pre,
  img,
  tr { break-inside: avoid; }
  thead { display: table-header-group; }
  h2,
  h3,
  p { orphans: 3; widows: 3; }
  h2,
  h3 { break-after: avoid; }
}
