/* Keep production main.css/custom.css typography, containers, breakpoints and components.
   Archive announcements, static-navigation adaptations and content overflow fixes belong here. */
/* Leave room for the navigation and the notice, including wrapped mobile text. */
html { scroll-padding-top: 128px; }
.archive-header { position: sticky; top: 0; z-index: 1020; }
.archive-header .bbcf-navbar { overflow: visible; }
.archive-notice { padding: 6px 0; background: #edf6fb; color: #415964; font-size: 12px; font-weight: 700; text-align: center; }
.skip-link { position: fixed; top: -100px; left: 12px; z-index: 1100; background: white; padding: 12px; }
.skip-link:focus { top: 8px; }
a:focus-visible, summary:focus-visible { outline: 2px solid #2894d4; outline-offset: 3px; }
.archive-mobile-nav { margin: 0 12px 0 auto; color: white; font-size: 12px; }
.archive-mobile-nav summary { cursor: pointer; padding: 12px 0; }
.archive-mobile-nav nav { position: absolute; right: 0; top: 56px; width: 260px; padding: 12px; background: #343a40; }
.archive-mobile-nav nav a { display: block; padding: 10px; color: white; }
.publisher-logo { width: 24px; height: auto; }
.catchphrase-small { font-size: 1.8rem; line-height: 2rem; }
.catchphrase { font-size: 4rem; line-height: 1.4em; }
.archive-farewell { padding-top: 32px; padding-bottom: 48px; text-align: center; }
.archive-farewell h2 { margin-bottom: 24px; font-size: clamp(1.25rem, 2.5vw, 1.75rem); font-weight: 700; line-height: 1.6; }
.archive-farewell p { margin-bottom: 24px; line-height: 2; }
.archive-farewell p:last-child { margin-bottom: 0; }
.archive-totals { margin: 24px 0 8px; }
.archive-totals span { display: inline-block; margin: 0 12px 4px; }
.archive-project-card { position: relative; height: calc(100% - 18px); }
.archive-card-image { display: block; object-fit: cover; }
.archive-amount-label { font-size: .5rem; }
.archive-expired { padding-top: .9rem; }
.archive-project-heading { position: relative; }
.archive-status-panel .backer { position: relative; }
.archive-profile-photo { width: 200px; height: 200px; object-fit: cover; }
.archive-richtext { overflow-wrap: break-word; }
.archive-richtext img { max-width: 100% !important; height: auto !important; }
.archive-richtext iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }
.archive-richtext video { max-width: 100%; height: auto; }
.archive-richtext pre { white-space: pre-wrap; }
.archive-richtext table { max-width: 100%; }
.archive-richtext figure { max-width: 100%; }
.archive-project-faq summary { padding: 16px; background: #2894d4; color: white; cursor: pointer; border-bottom: 2px solid white; }
.archive-project-faq summary p { display: inline; margin: 0; }
.archive-project-faq details > div { padding: 16px; margin-bottom: 16px; }
.report-entry { scroll-margin-top: 88px; }
.partner-grid { display: flex; flex-wrap: wrap; gap: 24px; }
.partner-grid img { max-width: 180px; }
.partner-featured-image { background-size: cover; background-repeat: no-repeat; background-position: center; width: 100%; height: 0; padding-top: 52.34375%; }
@media (min-width: 1280px) { .partner-featured-image { height: 670px; padding-top: 0; } }
@media (max-width: 830px) {
  .archive-richtext table { width: 100% !important; table-layout: fixed; }
  .report-index table { table-layout: auto; }
  .report-index th, .report-index td { padding: 8px 4px; }
  .archive-notice { font-size: 10px; }
  .archive-farewell br { display: none; }
}
@media print { .archive-header, .skip-link { display: none; } }

/* The source terms page has a row nested directly in another row. */
.archive-page .row > .row { margin-left: 0; margin-right: 0; width: 100%; }

/* Original article teasers were limited to two lines by JavaScript. */
.previewArticle { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
