*, *::before, *::after { box-sizing: border-box; }
html, body { max-width: 100vw; overflow-x: hidden; }
img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }

@font-face{src:local("PlayfairDisplay Regular"),local("PlayfairDisplay-Regular");src:url(../fonts/PlayfairDisplay-latin_latin-ext-regular.woff2) format("woff2");src:url(../fonts/PlayfairDisplay-latin_latin-ext-regular.woff) format("woff");src:url(../fonts/PlayfairDisplay-latin_latin-ext-regular.ttf) format("truetype");font-family:PlayfairDisplay;font-style:normal;font-weight:400;src:url(../fonts/PlayfairDisplay-latin_latin-ext-regular.woff) format("woff")}
@font-face{src:local("PlayfairDisplay Italic"),local("PlayfairDisplay-Italic");src:url(../fonts/PlayfairDisplay-latin_latin-ext-italic.woff2) format("woff2");src:url(../fonts/PlayfairDisplay-latin_latin-ext-italic.woff) format("woff");src:url(../fonts/PlayfairDisplay-latin_latin-ext-italic.ttf) format("truetype");font-family:PlayfairDisplay;font-style:italic;font-weight:400;src:url(../fonts/PlayfairDisplay-latin_latin-ext-italic.woff) format("woff")}
@font-face{src:local("PlayfairDisplay Bold"),local("PlayfairDisplay-Bold");src:url(../fonts/PlayfairDisplay-latin_latin-ext-700.woff2) format("woff2");src:url(../fonts/PlayfairDisplay-latin_latin-ext-700.woff) format("woff");src:url(../fonts/PlayfairDisplay-latin_latin-ext-700.ttf) format("truetype");font-family:PlayfairDisplay;font-style:normal;font-weight:700;src:url(../fonts/PlayfairDisplay-latin_latin-ext-700.woff) format("woff")}
@font-face{src:local("PlayfairDisplay BoldItalic"),local("PlayfairDisplay-BoldItalic");src:url(../fonts/PlayfairDisplay-latin_latin-ext-700italic.woff2) format("woff2");src:url(../fonts/PlayfairDisplay-latin_latin-ext-700italic.woff) format("woff");src:url(../fonts/PlayfairDisplay-latin_latin-ext-700italic.ttf) format("truetype");font-family:PlayfairDisplay;font-style:italic;font-weight:700;src:url(../fonts/PlayfairDisplay-latin_latin-ext-700italic.woff) format("woff")}
@font-face{src:local("SourceSansPro Regular"),local("SourceSansPro-Regular");src:url(../fonts/SourceSansPro-latin_latin-ext-regular.woff2) format("woff2");src:url(../fonts/SourceSansPro-latin_latin-ext-regular.woff) format("woff");src:url(../fonts/SourceSansPro-latin_latin-ext-regular.ttf) format("truetype");font-family:SourceSansPro;font-style:normal;font-weight:400;src:url(../fonts/SourceSansPro-latin_latin-ext-regular.woff) format("woff")}
@font-face{src:local("SourceSansPro Italic"),local("SourceSansPro-Italic");src:url(../fonts/SourceSansPro-latin_latin-ext-italic.woff2) format("woff2");src:url(../fonts/SourceSansPro-latin_latin-ext-italic.woff) format("woff");src:url(../fonts/SourceSansPro-latin_latin-ext-italic.ttf) format("truetype");font-family:SourceSansPro;font-style:italic;font-weight:400;src:url(../fonts/SourceSansPro-latin_latin-ext-italic.woff) format("woff")}
@font-face{src:local("SourceSansPro Bold"),local("SourceSansPro-Bold");src:url(../fonts/SourceSansPro-latin_latin-ext-700.woff2) format("woff2");src:url(../fonts/SourceSansPro-latin_latin-ext-700.woff) format("woff");src:url(../fonts/SourceSansPro-latin_latin-ext-700.ttf) format("truetype");font-family:SourceSansPro;font-style:normal;font-weight:700;src:url(../fonts/SourceSansPro-latin_latin-ext-700.woff) format("woff")}
@font-face{src:local("SourceSansPro BoldItalic"),local("SourceSansPro-BoldItalic");src:url(../fonts/SourceSansPro-latin_latin-ext-700italic.woff2) format("woff2");src:url(../fonts/SourceSansPro-latin_latin-ext-700italic.woff) format("woff");src:url(../fonts/SourceSansPro-latin_latin-ext-700italic.ttf) format("truetype");font-family:SourceSansPro;font-style:italic;font-weight:700;src:url(../fonts/SourceSansPro-latin_latin-ext-700italic.woff) format("woff")}

:root {
  --theme-bodyBackground-color: #f8f8f8;
  --theme-bodyText-color: #151515;
  --theme-h1-color: #6FBCE5;
  --theme-h2-color: #6FBCE5;
  --theme-h3-color: #6FBCE5;
  --theme-h4-color: #6FBCE5;
  --theme-h5-color: #151515;
  --theme-h6-color: #151515;
  --theme-link-color: #6FBCE5;
  --theme-button-color: #367FB7;
  --theme-navigationActive-color: #4B98C9;
  --theme-heading-font-sizes-large-h1-size: 45px;
  --theme-heading-font-sizes-large-h2-size: 37px;
  --theme-heading-font-sizes-large-h3-size: 31px;
  --theme-heading-font-sizes-large-h4-size: 26px;
  --theme-heading-font-sizes-large-h5-size: 22px;
  --theme-heading-font-sizes-large-h6-size: 18px;
  --theme-heading-font-sizes-small-h1-size: 35px;
  --theme-heading-font-sizes-small-h2-size: 29px;
  --theme-heading-font-sizes-small-h3-size: 24px;
  --theme-heading-font-sizes-small-h4-size: 20px;
  --theme-heading-font-sizes-small-h5-size: 16px;
  --theme-heading-font-sizes-small-h6-size: 14px;
  --theme-heading-font-sizes-medium-h1-size: 40px;
  --theme-heading-font-sizes-medium-h2-size: 33px;
  --theme-heading-font-sizes-medium-h3-size: 28px;
  --theme-heading-font-sizes-medium-h4-size: 23px;
  --theme-heading-font-sizes-medium-h5-size: 19px;
  --theme-heading-font-sizes-medium-h6-size: 16px;
  --theme-heading-font-family: PlayfairDisplay;
  --theme-body-font-sizes-large-body-size: 18px;
  --theme-body-font-sizes-large-button-size: 18px;
  --theme-body-font-sizes-small-body-size: 14px;
  --theme-body-font-sizes-small-button-size: 14px;
  --theme-body-font-sizes-medium-body-size: 16px;
  --theme-body-font-sizes-medium-button-size: 16px;
  --theme-body-font-family: SourceSansPro;

  /* Common inline style vars extracted from HTML elements */
  --font-family: SourceSansPro;
  --font-family-button: SourceSansPro;
  --font-family-h1: PlayfairDisplay;
  --font-family-h2: PlayfairDisplay;
  --font-family-h3: PlayfairDisplay;
  --font-family-h4: PlayfairDisplay;
  --font-family-h5: PlayfairDisplay;
  --font-family-h6: PlayfairDisplay;
  --font-size: 16px;
  --font-size-button: 16px;
  --font-size-h1: 40px;
  --font-size-h2: 33px;
  --font-size-h3: 28px;
  --font-size-h4: 23px;
  --font-size-h5: 19px;
  --font-size-h6: 16px;
  --font-style: normal;
  --font-style-button: normal;
  --font-style-h1: normal;
  --font-style-h2: normal;
  --font-style-h3: normal;
  --font-style-h4: normal;
  --font-style-h5: normal;
  --font-style-h6: normal;
  --font-weight: normal;
  --font-weight-button: normal;
  --font-weight-h1: normal;
  --font-weight-h2: normal;
  --font-weight-h3: normal;
  --font-weight-h4: normal;
  --font-weight-h5: normal;
  --font-weight-h6: normal;
  --grid-column-spacing-unit: 16px;
  --grid-column-vertical-spacing: 20px;
  --grid-row-full-width: 1920px;
  --grid-row-no-full-width: 960px;
  --grid-row-top-level-padding: 16px;
  --header-height: 100%;
  --image-img-grid-v-align: top;
  --image-wrapper-width: auto;
  --margin-bottom: 0px;
  --margin-left: 0px;
  --margin-right: 0px;
  --margin-top: 0px;
  --navigation-active-color: #39779e;
  --navigation-background-color: #f8f8f8;
  --navigation-background-color-active: rgba(57, 119, 158, 0.1);
  --navigation-background-color-active-second: rgba(57, 119, 158, 0.05);
  --navigation-color: #151515;
  --navigation-contrast-color: #f8f8f8;
  --navigation-label-size: 16px;
  --navigation-spacing: 32px;
  --overflow-wrap: break-word;
  --overflow-wrap-button: break-word;
  --overflow-wrap-h1: break-word;
  --overflow-wrap-h2: break-word;
  --overflow-wrap-h3: break-word;
  --overflow-wrap-h4: break-word;
  --overflow-wrap-h5: break-word;
  --overflow-wrap-h6: break-word;
  --page-background-color: #f8f8f8;
  --social-media-spacing: 12px;
  --text-decoration: none;
  --text-decoration-button: none;
  --text-decoration-h1: none;
  --text-decoration-h2: none;
  --text-decoration-h3: none;
  --text-decoration-h4: none;
  --text-decoration-h5: none;
  --text-decoration-h6: none;
  --theme-colors-palette-accent1: #367FB7;
  --theme-fonts-pair-body-family: SourceSansPro;
  --theme-spacing-unit: 16px;
  --word-wrap: break-word;
  --word-wrap-button: break-word;
  --word-wrap-h1: break-word;
  --word-wrap-h2: break-word;
  --word-wrap-h3: break-word;
  --word-wrap-h4: break-word;
  --word-wrap-h5: break-word;
  --word-wrap-h6: break-word;
}

/* ============================================================
   Utility classes extracted from repeating inline styles
   ============================================================ */

/* Section color themes (CSS custom property bundles) */
.section-theme-teal {
  --heading-color-h1: #447792;
  --heading-color-h2: #447792;
  --heading-color-h3: #447792;
  --heading-color-h4: #447792;
  --heading-color-h5: #151515;
  --heading-color-h6: #151515;
  --text-container-color: #151515;
  --text-container-anchor-color: #447792;
}

.section-theme-blue {
  --heading-color-h1: #6FBCE5;
  --heading-color-h2: #6FBCE5;
  --heading-color-h3: #6FBCE5;
  --heading-color-h4: #6FBCE5;
  --heading-color-h5: #f8f8f8;
  --heading-color-h6: #f8f8f8;
  --text-container-color: #f8f8f8;
  --text-container-anchor-color: #6FBCE5;
}

.section-theme-dark-teal {
  --heading-color-h1: #3c6a83;
  --heading-color-h2: #3c6a83;
  --heading-color-h3: #3c6a83;
  --heading-color-h4: #3c6a83;
  --heading-color-h5: #151515;
  --heading-color-h6: #151515;
  --text-container-color: #151515;
  --text-container-anchor-color: #3c6a83;
}

/* Text module color themes */
.text-theme-teal {
  --text-container-color: #151515;
  --text-container-anchor-color: #447792;
}

.text-theme-blue {
  --text-container-color: #f8f8f8;
  --text-container-anchor-color: #6FBCE5;
}

.text-theme-dark-teal {
  --text-container-color: #151515;
  --text-container-anchor-color: #3c6a83;
}

/* Background themes */
.bg-light, .section-inner.bg-light {
  background-color: #f8f8f8;
  color: #151515;
}

.bg-dark, .section-inner.bg-dark {
  background-color: #151515;
  color: #f8f8f8;
}

/* Layout utilities */
.no-hyphens {
  hyphens: none;
}

.flex-end {
  display: flex;
  justify-content: flex-end;
}

.flex-row-center {
  display: flex;
  flex-flow: row;
  align-items: center;
}

.flex-col-center {
  flex-flow: row;
  align-items: center;
}

.justify-center {
  justify-content: center;
}

.justify-start {
  justify-content: flex-start;
}

.no-padding {
  padding: 0;
}

.pull-up {
  margin-top: -24px;
}

.padding-16 {
  padding: 16px;
}

.padding-32 {
  padding: 32px;
}

.padding-col-right {
  padding: 64px 0px 64px 64px;
}

/* Card components */
.card-light {
  padding: 64px;
  box-shadow: 0 -16px 32px rgba(0, 0, 0, .1);
  border-radius: 2px;
  background-color: #f8f8f8;
}

.card-dark {
  padding: 64px;
  box-shadow: 0 -16px 32px rgba(0, 0, 0, .1);
  border-radius: 2px;
  background-color: #151515;
}
