/* ------------------------------------------------------------------------------ /*
/*  PRINT STYLES
/* ------------------------------------------------------------------------------ */
:root {
  /* Colors ----------------------------------------- */
  /* Color Palette */
  --csoc-white-color: #FFFFFF;
  --csoc-off-white-color: #F5F5F5;
  --csoc-light-grey-color: #EAEBEC;
  --csoc-silver-color: #CDCCCB;
  --csoc-grey-color: #7D7F81;
  --csoc-dark-grey-color: #444444;
  --csoc-black-color: #28282B;
  --csoc-red-color: #B71E37;
  --csoc-dark-red-color: #92182C;
  --csoc-blue-color: #173056;
  --csoc-bright-blue-color: #2C4D9B;
  --csoc-pale-blue-color: #C7D0D7;
  /* Theme Colors */
  --csoc-background-color: var(--csoc-white-color);
  --csoc-light-background-color: var(--csoc-off-white-color);
  --csoc-dark-background-color: var(--csoc-blue-color);
  --csoc-primary-color: var(--csoc-dark-grey-color);
  --csoc-secondary-color: var(--csoc-grey-color);
  --csoc-border-color: var(--csoc-silver-color);
  --csoc-border-dark-color: var(--csoc-grey-color);
  --csoc-accent-color: var(--csoc-bright-blue-color);
  /* Layout ----------------------------------------- */
  --csoc-screen-height: 100vh;
  --csoc-header-height: 16rem;
  /* Alignments */
  --csoc-width-sidebar: 44rem;
  --csoc-width-thin: 64rem;
  --csoc-width-small: 82rem;
  --csoc-width-default: 108rem;
  --csoc-width-medium: 128rem;
  --csoc-width-wide: 153.6rem;
  /* Site Aside */
  --csoc-aside-width: 0.4rem;
}
@media (min-width: 782px) {
  :root {
    --csoc-aside-width: clamp(6.4rem, calc(11.7vw - 2.778rem), 16rem);
  }
}
:root {
  /* Gutter */
  --csoc-gutter-lg: clamp(6.4rem, calc(7.8vw + 3.461rem), 16rem);
  --csoc-gutter: clamp(3.2rem, calc(10.4vw - 0.718rem), 16rem);
  --csoc-gap: clamp(1.6rem, calc(5.2vw - 0.359rem), 8rem);
  --csoc-spacer: clamp(2.4rem, calc(2vw + 1.665rem), 4.8rem);
  /* Spacing */
  --csoc-spacer-xxs: clamp(1.2rem, calc(0.3vw + 1.078rem), 1.6rem);
  --csoc-spacer-xs: clamp(1.6rem, calc(0.7vw + 1.355rem), 2.4rem);
  --csoc-spacer-sm: clamp(2.4rem, calc(0.7vw + 2.155rem), 3.2rem);
  --csoc-spacer-md: clamp(2.4rem, calc(2vw + 1.665rem), 4.8rem);
  --csoc-spacer-lg: clamp(2.4rem, calc(3.3vw + 1.176rem), 6.4rem);
  --csoc-spacer-xl: clamp(3.2rem, calc(2.6vw + 2.22rem), 6.4rem);
  --csoc-spacer-xxl: clamp(4.8rem, calc(3.9vw + 3.331rem), 9.6rem);
  --csoc-spacer-xxxl: clamp(6.4rem, calc(2.6vw + 5.42rem), 9.6rem);
  /* Typography ----------------------------------------- */
  /* Body */
  --csoc-body-font-size: clamp(1.7rem, calc(0.2vw + 1.509rem), 1.9rem);
  --csoc-body-line-height: clamp(2.55rem, calc(0.4vw + 2.263rem), 2.85rem);
  --csoc-body-font: "interstate", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
  --csoc-body-font-weight: 400;
  --csoc-body-font-weight-bold: 700;
  --csoc-body-letter-spacing: 0;
  --csoc-body-text-transform: none;
  --csoc-paragraph-spacing: 1.5em;
  /* Headings */
  --csoc-heading-font: "stolzl", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
  --csoc-heading-font-weight: 400;
  --csoc-heading-font-weight-bold: 700;
  --csoc-heading-letter-spacing: -0.01em;
  --csoc-heading-text-transform: none;
  --csoc-heading-text-color: var(--csoc-bright-blue-color);
  --csoc-h1-font-size: clamp(3rem, calc(1vw + 2.235rem), 3.8rem);
  --csoc-h1-line-height: clamp(3.9rem, calc(1.3vw + 2.906rem), 4.94rem);
  --csoc-h1-font: var(--csoc-heading-font);
  --csoc-h1-font-weight: var(--csoc-heading-font-weight);
  --csoc-h1-letter-spacing: var(--csoc-heading-letter-spacing);
  --csoc-h1-text-transform: var(--csoc-heading-text-transform);
  --csoc-h1-font-size-long: clamp(3rem, calc(0.7vw + 2.755rem), 3.8rem);
  --csoc-h1-line-height-long: clamp(3.9rem, calc(0.8vw + 3.582rem), 4.94rem);
  --csoc-h2-font-size: clamp(3rem, calc(1vw + 2.235rem), 3.8rem);
  --csoc-h2-line-height: clamp(3.9rem, calc(1.3vw + 2.906rem), 4.94rem);
  --csoc-h2-font: var(--csoc-heading-font);
  --csoc-h2-font-weight: var(--csoc-heading-font-weight);
  --csoc-h2-letter-spacing: var(--csoc-heading-letter-spacing);
  --csoc-h2-text-transform: var(--csoc-heading-text-transform);
  --csoc-h3-font-size: clamp(2.4rem, calc(0.5vw + 2.018rem), 2.8rem);
  --csoc-h3-line-height: clamp(3.36rem, calc(0.7vw + 2.825rem), 3.92rem);
  --csoc-h3-font: var(--csoc-heading-font);
  --csoc-h3-font-weight: var(--csoc-heading-font-weight);
  --csoc-h3-letter-spacing: var(--csoc-heading-letter-spacing);
  --csoc-h3-text-transform: var(--csoc-heading-text-transform);
  --csoc-h4-font-size: clamp(2.4rem, calc(0.5vw + 2.018rem), 2.8rem);
  --csoc-h4-line-height: clamp(3.36rem, calc(0.7vw + 2.825rem), 3.92rem);
  --csoc-h4-font: var(--csoc-heading-font);
  --csoc-h4-font-weight: var(--csoc-heading-font-weight);
  --csoc-h4-letter-spacing: var(--csoc-heading-letter-spacing);
  --csoc-h4-text-transform: var(--csoc-heading-text-transform);
  --csoc-h5-font-size: clamp(2.2rem, calc(0.4vw + 1.913rem), 2.5rem);
  --csoc-h5-line-height: clamp(2.97rem, calc(0.3vw + 2.702rem), 3.25rem);
  --csoc-h5-font: var(--csoc-heading-font);
  --csoc-h5-font-weight: var(--csoc-heading-font-weight);
  --csoc-h5-letter-spacing: var(--csoc-heading-letter-spacing);
  --csoc-h5-text-transform: var(--csoc-heading-text-transform);
  --csoc-h6-font-size: clamp(2.1rem, calc(0.4vw + 1.813rem), 2.4rem);
  --csoc-h6-line-height: clamp(2.94rem, calc(0.7vw + 2.424rem), 3.48rem);
  --csoc-h6-font: var(--csoc-heading-font);
  --csoc-h6-font-weight: var(--csoc-heading-font-weight);
  --csoc-h6-letter-spacing: var(--csoc-heading-letter-spacing);
  --csoc-h6-text-transform: var(--csoc-heading-text-transform);
  /* Other Font Sizes ----------------------------------------- */
  --csoc-xs-font-size: clamp(1.5rem, calc(0.1vw + 1.404rem), 1.6rem);
  --csoc-xs-line-height: clamp(2.1rem, calc(0.3vw + 1.89rem), 2.32rem);
  --csoc-sm-font-size: clamp(1.7rem, calc(0.1vw + 1.604rem), 1.8rem);
  --csoc-sm-line-height: clamp(2.55rem, calc(0.3vw + 2.321rem), 2.79rem);
  --csoc-md-font-size: clamp(1.9rem, calc(0.2vw + 1.709rem), 2.1rem);
  --csoc-md-line-height: clamp(2.85rem, calc(0.2vw + 2.664rem), 3.045rem);
  --csoc-lg-font-size: clamp(2rem, calc(0.2vw + 1.809rem), 2.2rem);
  --csoc-lg-line-height: clamp(2.8rem, calc(0.3vw + 2.532rem), 3.08rem);
  --csoc-xl-font-size: clamp(2.4rem, calc(0.7vw + 1.826rem), 3rem);
  --csoc-xl-line-height: clamp(3.24rem, calc(1.2vw + 2.322rem), 4.2rem);
  /* Text Styles ----------------------------------------- */
  /* Prefix */
  --csoc-prefix-font-size: clamp(1.5rem, calc(0.2vw + 1.309rem), 1.7rem);
  --csoc-prefix-line-height: clamp(2.25rem, calc(0.2vw + 2.126rem), 2.38rem);
  --csoc-prefix-font: var(--csoc-body-font);
  --csoc-prefix-font-weight: 500;
  --csoc-prefix-letter-spacing: 0.08em;
  --csoc-prefix-text-transform: uppercase;
  --csoc-prefix-text-color: var(--csoc-bright-blue-color);
  --csoc-prefix-link-color: inherit;
  --csoc-prefix-link-color-active: var(--csoc-red-color);
  /* Prefix Small */
  --csoc-prefix-sm-font-size: clamp(1.4rem, calc(0.1vw + 1.304rem), 1.5rem);
  --csoc-prefix-sm-line-height: clamp(2.1rem, calc(0.2vw + 1.957rem), 2.25rem);
  /* Prefix Large */
  --csoc-prefix-lg-font-size: clamp(1.8rem, calc(0.2vw + 1.609rem), 2rem);
  --csoc-prefix-lg-line-height: clamp(2.52rem, calc(0.3vw + 2.252rem), 2.8rem);
  /* Text Selection */
  --csoc-selection-text-color: var(--csoc-white-color);
  --csoc-selection-text-background-color: var(--csoc-blue-color);
  /* Buttons  ----------------------------------------- */
  --csoc-button-font-size: clamp(1.5rem, calc(0.1vw + 1.404rem), 1.6rem);
  --csoc-button-text-color: var(--csoc-red-color);
  --csoc-button-background-color: var(--csoc-white-color);
  --csoc-button-border-color: var(--csoc-red-color);
  --csoc-button-border-width: 0.1rem;
  --csoc-button-border-radius: 0rem;
  --csoc-button-line-height: 1;
  --csoc-button-font-weight: 500;
  --csoc-button-padding-y: 2rem;
  --csoc-button-padding-x: 2.4rem;
  --csoc-button-text-transform: uppercase;
  --csoc-button-letter-spacing: 0.1em;
  --csoc-button-text-color-active: var(--csoc-white-color);
  --csoc-button-background-color-active: var(--csoc-red-color);
  --csoc-button-border-color-active: var(--csoc-red-color);
  /* Forms  ----------------------------------------- */
  --csoc-form-label-font-size: var(--csoc-xs-font-size);
  --csoc-form-label-line-height: var(--csoc-xs-line-height);
  --csoc-form-label-font-weight: 500;
  --csoc-form-label-text-color: var(--csoc-secondary-color);
  --csoc-form-label-distance: 0.6rem;
  --csoc-form-input-border-width: 0.1rem;
  --csoc-form-input-border-color: var(--csoc-grey-color);
  --csoc-form-input-border-color-active: var(--csoc-red-color);
  --csoc-form-input-font-size: var(--csoc-sm-font-size);
  --csoc-form-input-line-height: var(--csoc-sm-line-height);
  --csoc-form-input-text-color: var(--csoc-primary-color);
  --csoc-form-input-padding-x: 1.6rem;
  --csoc-form-input-padding-y: 1rem;
  --csoc-form-textarea-height: 20rem;
  /* Site Header  ----------------------------------------- */
  --csoc-site-header-text-color: var(--csoc-white-color);
  --csoc-site-header-background-color: var(--csoc-blue-color);
  --csoc-site-header-logo-height: clamp(2.8rem, calc(1.7vw + 1.462rem), 4.2rem);
  --csoc-site-header-mobile-logo-height: 2.8rem;
  /* Main Menu  ----------------------------------------- */
  --csoc-main-menu-font: var(--csoc-heading-font);
  --csoc-main-menu-text-color: inherit;
  --csoc-main-menu-font-size: 0.95em;
  --csoc-main-menu-font-weight: 400;
  --csoc-main-menu-letter-spacing: normal;
  --csoc-main-menu-text-transform: none;
  --csoc-main-menu-submenu-background-color: var(--csoc-off-white-color);
  --csoc-main-menu-submenu-border-radius: 0;
  --csoc-main-menu-submenu-text-color: var(--csoc-bright-blue-color);
  --csoc-main-menu-submenu-description-color: var(--csoc-blue-color);
  --csoc-main-menu-submenu-font-size: 0.95em;
  --csoc-main-menu-submenu-font-weight: 300;
  --csoc-main-menu-submenu-letter-spacing: normal;
  --csoc-main-menu-submenu-text-transform: none;
  /* Modal Menu  ----------------------------------------- */
  --csoc-menu-modal-text-color: var(--csoc-white-color);
  --csoc-menu-modal-background-color: var(--csoc-blue-color);
  /* Site Footer  ----------------------------------------- */
  --csoc-site-footer-text-color: var(--csoc-white-color);
  --csoc-site-footer-background-color: var(--csoc-black-color);
  --csoc-site-footer-border-color: var(--csoc-silver-color);
  --csoc-site-footer-font-size: var(--csoc-body-font-size);
  --csoc-site-footer-font-weight: 500;
  --csoc-site-footer-line-height: 1.3;
  --csoc-site-footer-copyright-text-color: var(--csoc-silver-color);
  --csoc-site-footer-copyright-font-size: 1.6rem;
  --csoc-site-footer-copyright-line-height: 1.25;
  /* Transitions ----------------------------------------- */
  --csoc-trans-speed: 0.15s;
  --csoc-trans-speed-slow: 0.5s;
  --csoc-trans-ease: cubic-bezier(0.5, 0, 0, 1);
}

body {
  border: none;
  font-size: 1.2rem;
}

body * {
  font-size: inherit !important;
}

/* ELEMENT BASE */
p {
  orphans: 2;
  widows: 2;
}

h1, h2, h3, h4, h5, h6 {
  margin: 1em 0;
}

h1 {
  font-size: 2.2em !important;
}

h2 {
  font-size: 2em !important;
}

h3 {
  font-size: 1.8em !important;
}

h4 {
  font-size: 1.6em !important;
}

h5 {
  font-size: 1.4em !important;
}

h6 {
  font-size: 1.2em !important;
}

figure {
  page-break-inside: avoid;
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid;
}

/* HIDE ELEMENTS */
#site-header,
#site-aside,
#site-footer,
.skip-link,
.cover-modal,
.pagination-wrapper,
.post-navigation,
.related-posts {
  display: none !important;
}

/* RESET WIDTHS */
.alignwide,
.alignfull,
:root .section-inner {
  margin-left: 0;
  margin-right: 0;
  max-width: 100%;
  width: 100%;
}

/* MODIFY SPACING */
.post-inner,
.entry-footer {
  margin-top: 3.2rem;
}

/* BLOCKS */
.has-background,
.wp-block-file {
  padding: 0 !important;
}

.wp-block-spacer {
  display: none;
}

hr:not(.is-style-dots) {
  background: currentColor !important;
  height: 0.2rem !important;
}

/* ENTRY CONTENT */
.entry-content {
  font-size: inherit;
}

.alignwide,
.alignfull,
.aligncenter {
  margin-bottom: 3.2rem !important;
  margin-top: 3.2rem !important;
  padding: 0 !important;
}

.entry-content > .alignwide,
.entry-content > .alignfull {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 100% !important;
  width: 100% !important;
}

.entry-content > .alignleft,
.entry-content > .wp-block-image > .alignleft {
  margin-left: 0 !important;
}

.entry-content > .alignright,
.entry-content > .wp-block-image > .alignright {
  margin-right: 0 !important;
}