@import url('/css/brand.css');
/* Neutral public foundation. Site-specific design belongs in shared site CSS. */
:root { color-scheme: light; color: #000; background: #fff; }
body { margin: 0; container-type: inline-size; }
:where(h1, h2, h3, h4, h5, h6) { overflow-wrap: anywhere; }

/* A full-width footer continues to the bottom of short pages. */
body:has(> .site-footer) {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}
body > .site-footer { flex-grow: 1; }
.site-header, .site-footer { box-sizing: border-box; width: 100%; }
.page-layout, .site-navigation {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--site-content-max-width, 1400px);
  margin-inline: auto;
  padding-inline: clamp(0px, calc((var(--site-content-width-px, 1400px) + 2 * var(--site-narrow-gutter, 16px) - 100vw) / 2), var(--site-narrow-gutter, 16px));
}
.site-navigation { display: flex; flex-wrap: wrap; }
.site-header .site-navigation { padding-inline: 0; }
.site-logo { display: inline-block; max-width: 100%; }
.site-header img, .page-zone img, .cms-media-block img { max-width: 100%; height: auto; }
.site-header img, .cms-media-block img { display: block; }
.cms-media-block { max-width: 100%; margin: 0; }
.content-fields, .content-field, .content-field-value, .content-field-value > .pm-rich { margin-inline: 0; padding-inline: 0; }

/* Configured content width, gutters and full-width sections are layout contracts. */
.site-frame {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--site-content-max-width, 1400px);
  margin-inline: auto;
  padding-inline: clamp(0px, calc((var(--site-content-width-px, 1400px) + 2 * var(--site-narrow-gutter, 16px) - 100cqw) / 2), var(--site-narrow-gutter, 16px));
}
.cms-section { box-sizing: border-box; min-width: 0; overflow-wrap: anywhere; }
.cms-section--content > .site-frame { padding-inline: 0; }
.page-layout:has(> [data-zone="aside"]) > :is([data-zone="main"], [data-zone="aside"]) .cms-section > .site-frame { padding-inline: 0; }
.page-layout:not(:has(> [data-zone="aside"])) .cms-section--viewport,
.page-layout > [data-zone="before"] .cms-section--viewport,
.page-layout > [data-zone="after"] .cms-section--viewport { width: 100cqw; margin-inline: calc(50% - 50cqw); }
.page-layout > [data-zone="before"], .page-layout > [data-zone="after"] { grid-column: 1 / -1; }
.page-layout--main-aside, .page-layout:has(> [data-zone="aside"]) { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 3fr); }
.page-layout > section { min-width: 0; overflow-wrap: anywhere; }
.page-layout:has(> [data-zone="aside"]) > [data-zone="main"] { grid-column: 1; }
.page-layout > [data-zone="aside"] { grid-column: 2; }
.page-zone:empty { display: none; }
.cms-slot { max-width: 100%; min-width: 0; }
.cms-slot img, .cms-slot iframe { max-width: 100%; }
@media (max-width: 48rem) {
  .page-layout--main-aside, .page-layout:has(> [data-zone="aside"]) { grid-template-columns: minmax(0, 1fr); }
  .page-layout > [data-zone="aside"] { grid-column: 1; }
}
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Authoring-only preview controls, separate from public site design. */
.site-preview-toolbar { padding: .75rem 1rem; background: #30333c; color: #fff; }
.site-preview-toolbar a { color: #fff; }

/* Functional public search; site branding stays in shared site CSS. */
.site-search { display:flex; align-items:center; gap:7px; max-width:100%; }
.site-search label { flex:1 1 auto; min-width:0; }
.site-search input { box-sizing:border-box; width:100%; min-width:0; font:inherit; }
.site-search button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; font:inherit; color:inherit; background:transparent; border:1px solid currentColor; cursor:pointer; }
.site-search button svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:2; }
.site-search-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.site-search-results { list-style:none; padding:0; }
.site-search-results:not(.content-list) > li + li { margin-block-start:1rem; }
.site-search-results h3 { margin-block-end:0; }
.site-search-results p { margin-block-start:.5rem; }
.site-search-image { float:left; max-width:140px; max-height:140px; object-fit:contain; margin-inline-end:14px; }
.site-search-results article { display:flow-root; }
.site-search-pagination { display:flex; flex-wrap:wrap; gap:14px; align-items:center; }

/* Responsive navigation: appearance remains under the site's shared CSS. */
:where(.site-navigation-toggle) {
  display: inline-flex; align-items: center; gap: 7px;
  font: inherit; color: inherit; background: transparent; border: 0; cursor: pointer;
}
:where(.site-navigation-icon) { display: inline-block; }
.site-navigation > .site-navigation-toggle[hidden] { display: none !important; }
.site-navigation[data-navigation-ready] { min-width: 0; flex-wrap: nowrap; }
.site-navigation[data-navigation-collapsed] { flex-direction: column; align-items: stretch; }
.site-navigation[data-navigation-collapsed] > .site-navigation-toggle { align-self: flex-start; }
.site-navigation[data-navigation-collapsed] > a { box-sizing: border-box; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.site-navigation[data-navigation-collapsed]:not([data-navigation-open]) > a { display: none; }
.site-navigation[data-navigation-measure] {
  position: fixed !important; left: 0 !important; top: 0 !important;
  display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important;
  width: max-content !important; max-width: none !important; min-width: 0 !important;
  visibility: hidden !important; pointer-events: none !important;
}
.site-header:has(.site-navigation[data-navigation-hide-search="true"][data-navigation-collapsed][data-navigation-open]) :is(.site-search-wrapper, .site-search) { display: none; }

/* Section backgrounds are transparent; site-wide patterns belong on body. */
.cms-section-inner { box-sizing: border-box; min-width: 0; width: 100%; }
:is(.site-header, .site-footer) > .site-frame > .cms-section--viewport {
  width: 100cqw;
  margin-inline: calc(50% - 50cqw);
}

/* Template document column ratios, after the existing mobile stacking rules. */
@media (min-width: 48.001rem) {
  .page-layout.page-layout--share-20:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,20fr) minmax(0,80fr); }
  .page-layout.page-layout--share-21:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,21fr) minmax(0,79fr); }
  .page-layout.page-layout--share-22:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,22fr) minmax(0,78fr); }
  .page-layout.page-layout--share-23:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,23fr) minmax(0,77fr); }
  .page-layout.page-layout--share-24:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,24fr) minmax(0,76fr); }
  .page-layout.page-layout--share-25:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,25fr) minmax(0,75fr); }
  .page-layout.page-layout--share-26:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,26fr) minmax(0,74fr); }
  .page-layout.page-layout--share-27:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,27fr) minmax(0,73fr); }
  .page-layout.page-layout--share-28:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,28fr) minmax(0,72fr); }
  .page-layout.page-layout--share-29:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,29fr) minmax(0,71fr); }
  .page-layout.page-layout--share-30:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,30fr) minmax(0,70fr); }
  .page-layout.page-layout--share-31:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,31fr) minmax(0,69fr); }
  .page-layout.page-layout--share-32:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,32fr) minmax(0,68fr); }
  .page-layout.page-layout--share-33:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,33fr) minmax(0,67fr); }
  .page-layout.page-layout--share-34:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,34fr) minmax(0,66fr); }
  .page-layout.page-layout--share-35:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,35fr) minmax(0,65fr); }
  .page-layout.page-layout--share-36:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,36fr) minmax(0,64fr); }
  .page-layout.page-layout--share-37:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,37fr) minmax(0,63fr); }
  .page-layout.page-layout--share-38:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,38fr) minmax(0,62fr); }
  .page-layout.page-layout--share-39:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,39fr) minmax(0,61fr); }
  .page-layout.page-layout--share-40:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,40fr) minmax(0,60fr); }
  .page-layout.page-layout--share-41:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,41fr) minmax(0,59fr); }
  .page-layout.page-layout--share-42:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,42fr) minmax(0,58fr); }
  .page-layout.page-layout--share-43:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,43fr) minmax(0,57fr); }
  .page-layout.page-layout--share-44:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,44fr) minmax(0,56fr); }
  .page-layout.page-layout--share-45:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,45fr) minmax(0,55fr); }
  .page-layout.page-layout--share-46:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,46fr) minmax(0,54fr); }
  .page-layout.page-layout--share-47:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,47fr) minmax(0,53fr); }
  .page-layout.page-layout--share-48:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,48fr) minmax(0,52fr); }
  .page-layout.page-layout--share-49:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,49fr) minmax(0,51fr); }
  .page-layout.page-layout--share-50:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,50fr) minmax(0,50fr); }
  .page-layout.page-layout--share-51:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,51fr) minmax(0,49fr); }
  .page-layout.page-layout--share-52:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,52fr) minmax(0,48fr); }
  .page-layout.page-layout--share-53:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,53fr) minmax(0,47fr); }
  .page-layout.page-layout--share-54:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,54fr) minmax(0,46fr); }
  .page-layout.page-layout--share-55:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,55fr) minmax(0,45fr); }
  .page-layout.page-layout--share-56:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,56fr) minmax(0,44fr); }
  .page-layout.page-layout--share-57:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,57fr) minmax(0,43fr); }
  .page-layout.page-layout--share-58:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,58fr) minmax(0,42fr); }
  .page-layout.page-layout--share-59:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,59fr) minmax(0,41fr); }
  .page-layout.page-layout--share-60:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,60fr) minmax(0,40fr); }
  .page-layout.page-layout--share-61:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,61fr) minmax(0,39fr); }
  .page-layout.page-layout--share-62:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,62fr) minmax(0,38fr); }
  .page-layout.page-layout--share-63:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,63fr) minmax(0,37fr); }
  .page-layout.page-layout--share-64:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,64fr) minmax(0,36fr); }
  .page-layout.page-layout--share-65:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,65fr) minmax(0,35fr); }
  .page-layout.page-layout--share-66:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,66fr) minmax(0,34fr); }
  .page-layout.page-layout--share-67:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,67fr) minmax(0,33fr); }
  .page-layout.page-layout--share-68:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,68fr) minmax(0,32fr); }
  .page-layout.page-layout--share-69:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,69fr) minmax(0,31fr); }
  .page-layout.page-layout--share-70:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,70fr) minmax(0,30fr); }
  .page-layout.page-layout--share-71:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,71fr) minmax(0,29fr); }
  .page-layout.page-layout--share-72:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,72fr) minmax(0,28fr); }
  .page-layout.page-layout--share-73:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,73fr) minmax(0,27fr); }
  .page-layout.page-layout--share-74:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,74fr) minmax(0,26fr); }
  .page-layout.page-layout--share-75:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,75fr) minmax(0,25fr); }
  .page-layout.page-layout--share-76:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,76fr) minmax(0,24fr); }
  .page-layout.page-layout--share-77:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,77fr) minmax(0,23fr); }
  .page-layout.page-layout--share-78:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,78fr) minmax(0,22fr); }
  .page-layout.page-layout--share-79:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,79fr) minmax(0,21fr); }
  .page-layout.page-layout--share-80:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,80fr) minmax(0,20fr); }
}
