@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url("fonts/source-sans-3-latin.woff2") format("woff2");
}

@font-face {
  font-family: "Source Sans 3";
  font-style: italic;
  font-weight: 200 900;
  font-display: swap;
  src: url("fonts/source-sans-3-latin-italic.woff2") format("woff2");
}

:root {
  --museum-font: "Source Sans 3", "Source Sans Pro", Arial, sans-serif;
  --museum-ink: #111111;
  --museum-muted: #5f6368;
  --museum-paper: #ffffff;
  --museum-soft: #f7f7f5;
  --museum-line: #d9d9d4;
  --museum-highlight: #ffee58;
  --museum-highlight-dark: #dfcb00;
  --museum-link: #503aa8;
  --museum-link-dark: #382878;
  --museum-content: 45rem;
  --museum-wide: 83.75rem;
  --museum-radius: 3px;
}

body, button, input, select, optgroup, textarea {
  color: var(--museum-ink);
  font-family: var(--museum-font);
  font-size: clamp(1rem, .96rem + .2vw, 1.125rem);
  font-weight: 400;
  line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--museum-ink);
  font-family: var(--museum-font);
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.15;
}

h1 { font-size: clamp(2.15rem, 1.8rem + 1.5vw, 3rem); }
h2 { font-size: clamp(1.75rem, 1.55rem + .8vw, 2.25rem); }
h3 { font-size: clamp(1.35rem, 1.25rem + .45vw, 1.7rem); }

a { text-underline-offset: .16em; }
a:hover { text-decoration-thickness: 2px; }

button, .button, input[type="button"], input[type="reset"], input[type="submit"],
.wp-element-button, .wp-block-button__link {
  border-radius: var(--museum-radius);
  font-family: var(--museum-font);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

:focus-visible { outline: 3px solid var(--museum-link); outline-offset: 3px; }

/* Omeka/Freedom alignment */
html:root {
  --primary: var(--museum-highlight) !important;
  --primary-dark: var(--museum-highlight-dark) !important;
  --primary-contrast: var(--museum-ink) !important;
  --secondary: #1d1d1f !important;
  --secondary-dark: #111111 !important;
  --secondary-contrast: #ffffff !important;
  --accent: var(--museum-link) !important;
  --accent-dark: var(--museum-link-dark) !important;
}

.main-header, .main-footer, .site-title, .navigation { font-family: var(--museum-font); }
.main-header { border-bottom: 1px solid var(--museum-line); }
.main-header a, .main-header a:visited { color: var(--museum-ink); }
.main-header a:hover, .main-header a:focus { color: var(--museum-link); }
.main-header .container, main .container, .main-footer .container { max-width: var(--museum-wide); }
.main-header__top, .main-header__bottom { background: var(--museum-paper); }
.main-header__site-title {
  font-family: var(--museum-font);
  font-size: clamp(1.65rem, 1.35rem + 1.2vw, 2.35rem);
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.05;
  margin-bottom: 0;
}
.main-navigation a { font-weight: 600; letter-spacing: .01em; }
.main-header__advanced-search { font-weight: 600; }
.main-header__top-bar {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
}
.museum-network-link { font-size: .9375rem; font-weight: 600; }
.main-header button,
.main-header .button,
.main-header input[type="submit"] { color: var(--museum-ink); }
.resource-grid .resource, .resource-list .resource { border: 1px solid var(--museum-line); box-shadow: none; }
.main-footer__top { background: #1d1d1f; }
.main-footer__bottom { background: #111111; }

/* WordPress/Twenty Twenty-Five alignment */
.wp-site-blocks { background: var(--museum-paper); }
.wp-site-blocks > header { border-bottom: 1px solid var(--museum-line); }
.wp-site-blocks > header,
.wp-site-blocks > header .wp-block-navigation { font-family: var(--museum-font); }
.wp-site-blocks > header .wp-block-site-title { font-weight: 600; letter-spacing: -.01em; }
.museum-site-header { background: var(--museum-paper); }
.museum-utility-bar { border-bottom: 1px solid var(--museum-line); }
.museum-utility-bar .wp-block-group { gap: 1.25rem; }
.museum-utility-bar p { margin: 0; }
.museum-utility-bar a { color: var(--museum-ink); font-weight: 600; text-decoration: none; }
.museum-utility-bar a:hover,
.museum-utility-bar a:focus { color: var(--museum-link); text-decoration: underline; }
.museum-site-header .wp-block-navigation-item__content { font-weight: 600; }
.museum-site-header .wp-block-navigation__responsive-container.is-menu-open {
  padding: 1.5rem;
}
.wp-site-blocks > footer { background: #111111; color: #ffffff; }
.wp-site-blocks > footer a { color: inherit; }

@media (max-width: 600px) {
  body { font-size: 1rem; }
  h1 { font-size: 2.15rem; }
  .museum-utility-bar .wp-block-group { gap: .8rem; justify-content: flex-start; }
  .museum-utility-bar p { font-size: .8rem !important; }
  .main-header__top-bar { justify-content: space-between; }
}
