/* Public-site reading styles. The homepage cover keeps its own lettering. */
.nav > a, .ex-nav-trigger, .ex-dropdown-links > a {
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 500;
}
.ex-dropdown-library { font-size: 14px !important; }
.ex-dropdown-heading > span { font-size: 13px; color: #526779; }
.ex-banner { height: auto; min-height: 272px; }
.ex-banner-content { height: auto; min-height: 272px; }

.ex-banner h1, .ex-directory-intro h1, .ex-archive-intro h1,
.ex-guest-heading h1, .ex-reader h1, .ex-letter-reader-heading h1,
.ex-class-detail h1, .ex-album-page > h1, .ex-partner-hero h1,
.ex-state h1, .ex-ending h1 {
  font-family: var(--serif);
  font-size: clamp(32px, 3.4vw, 48px);
  font-weight: 600;
  line-height: 1.4;
}
.ex-story h2, .ex-cms-story h2, .ex-people-directory h2,
.ex-guest-compose h2, .ex-connections > h2, .ex-section-heading h2,
.ex-milestone-intro h2, .ex-results-heading h2, .ex-class-panel-empty h2,
.ex-contribute h2, .ex-partner-reader .ex-reader-prose h2 {
  font-family: var(--serif);
  font-size: clamp(26px, 2.3vw, 32px);
  font-weight: 600;
  line-height: 1.5;
}
.ex-class-info h2, .ex-record-card h3, .ex-partner-copy h3,
.ex-person strong, .ex-archive-info > strong, .ex-program-grid h3 {
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.5;
}
.ex-gallery-heading h3, .ex-milestone-card h3 { font-size: 21px; line-height: 1.5; }

.ex-story-copy > p, .ex-read-more, .ex-cms-prose, .ex-reader-prose,
.ex-letter-reader .ex-reader-prose, .ex-class-description,
.ex-banner p, .ex-directory-intro p, .ex-archive-intro p,
.ex-guest-heading p, .ex-state p, .ex-ending p,
.ex-results-empty p, .ex-class-panel-empty p, .ex-contribute p {
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.8;
}
.ex-reader-prose p, .ex-cms-prose p, .ex-letter-prose p { line-height: 1.8; }
.ex-story-copy > .ex-story-lede, .ex-reader-prose blockquote {
  font-family: var(--serif);
  font-size: 20px;
  font-style: italic;
  line-height: 1.8;
}
.ex-reader-prose--poetry { font-family: var(--serif); font-size: 19px; line-height: 2; }
.ex-reader-prose--poetry p { line-height: 2; }
.ex-directory-intro p, .ex-archive-intro p, .ex-guest-heading p,
.ex-class-description, .ex-results-empty p, .ex-class-panel-empty p,
.ex-contribute p, .ex-ending p { color: #526779; }

.ex-tabs > a, .ex-class-tabs > button, .ex-work-types button,
.ex-library-categories > button, .ex-letter-form-tabs a {
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  min-height: 44px;
}
#app > :not(.ex-home-hero) .ex-button, .ex-dialog .ex-button {
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
}
.ex-text-link, .ex-class-info > .ex-text-link, .ex-record-card .ex-text-link,
.ex-partner-card .ex-text-link, .ex-read-more summary,
.ex-gallery-heading > a, .ex-back-link, .ex-letter-toolbar .ex-back-link,
.ex-public-pagination button, .ex-public-pagination span { font-size: 14px; }
.ex-timeline strong { font-size: 14px; }
.ex-timeline > a > span:last-child { font-size: 13px; line-height: 1.7; }
.ex-timeline > a:not(.is-active) { color: #526779; }

.ex-guest-compose label:not(.ex-check), .ex-guest-compose .ex-check,
.ex-directory-search label > span, .ex-people-search label > span,
.ex-library-filters label { font-size: 14px; line-height: 1.7; color: #40596e; }
.ex-guest-compose legend { font: 600 15px/1.7 var(--sans); }
.ex-guest-compose label small, .ex-guest-compose legend small { font-size: 13px; }
.ex-guest-compose input:not([type=checkbox]), .ex-guest-compose select,
.ex-guest-compose textarea, .ex-directory-search input,
.ex-directory-search select, .ex-people-search input, .ex-people-search select,
.ex-library-search input, .ex-library-filters select, #ex-site-query {
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.6;
  min-height: 46px;
}
.ex-directory-search input::placeholder, .ex-library-search input::placeholder,
.ex-people-search input::placeholder { font-size: inherit; color: #657889; }
.ex-form-note, .ex-editorial-note, .ex-attachment-fields > small,
.ex-guest-compose .ex-form-note { font-size: 14px; line-height: 1.8; color: #526779; }

.ex-class-info > p, .ex-record-card > p, .ex-milestone-card p,
.ex-program-grid p, .ex-section-heading p, .ex-partner-card .ex-partner-excerpt {
  font-size: 15px;
  line-height: 1.8;
  color: #526779;
}
.ex-figure figcaption, .ex-cms-images figcaption, .ex-reader-image figcaption,
.ex-dialog figcaption, .ex-class-detail aside > p, .ex-class-info > span:not(.ex-text-link),
.ex-archive-info > small, .ex-archive-info > span, .ex-results-heading > span,
.ex-reader-byline, .ex-record-byline, .ex-class-period, .ex-source-note,
.ex-member-list small, .ex-class-album-grid span, .ex-partner-organization {
  font-size: 13px;
  line-height: 1.75;
  color: #526779;
}
.ex-kicker, .ex-date, .ex-breadcrumb, .ex-photo-zoom,
.ex-chapter-trail small { font-size: 13px; }
.ex-person > span > small:not(.ex-person-placeholder small) { font-size: 13px; color: #526779; }
.ex-profile-facts, .ex-member-list strong, .ex-person-link { font-size: 14px; }
.ex-tracklist strong, .ex-record-artist, .ex-record-description { font-size: 14px; line-height: 1.8; }
.ex-tracklist small { font-size: 13px; color: #526779; }
.ex-footer p, .ex-footer-top > div:not(:first-child) > a,
.ex-footer-official > a { font-size: 14px; line-height: 1.8; }
.ex-footer h2, .ex-footer-bottom, .ex-footer-official > span { font-size: 13px; }

@media (max-width: 760px) {
  .ex-banner, .ex-banner-content { min-height: 245px; }
  .ex-banner h1, .ex-directory-intro h1, .ex-archive-intro h1,
  .ex-guest-heading h1, .ex-reader h1, .ex-letter-reader-heading h1,
  .ex-class-detail h1, .ex-album-page > h1, .ex-partner-hero h1,
  .ex-state h1, .ex-ending h1 { font-size: 30px; }
  .ex-story h2, .ex-cms-story h2, .ex-people-directory h2,
  .ex-guest-compose h2, .ex-connections > h2, .ex-section-heading h2,
  .ex-milestone-intro h2, .ex-results-heading h2, .ex-class-panel-empty h2,
  .ex-contribute h2, .ex-partner-reader .ex-reader-prose h2 { font-size: 25px; }
  .ex-class-info h2, .ex-record-card h3, .ex-partner-copy h3,
  .ex-person strong, .ex-archive-info > strong, .ex-program-grid h3 { font-size: 20px; }
  .ex-story-copy > .ex-story-lede, .ex-reader-prose blockquote { font-size: 18px; }
  .ex-tabs > a { flex-basis: 185px; padding-inline: 14px; }
  .ex-gallery-heading { flex-wrap: wrap; }
  .ex-directory-search { grid-template-columns: minmax(0, 1fr); }
  .ex-directory-search .ex-button { width: 100%; }
}
