/** Included _colors.scss */
/* Color mixins which can be used in CSS files */
/** Included _breakpoints.scss */
/** Included _typesetting.scss */
/** Included _foundation.scss */
[class*=ds-] {
  /* Headings */
}
[class*=ds-] h1, [class*=ds-] h2, [class*=ds-] h3, [class*=ds-] h4, [class*=ds-] h5, [class*=ds-] h6,
[class*=ds-] .ds-h1, [class*=ds-] .ds-h2, [class*=ds-] .ds-h3, [class*=ds-] .ds-h4, [class*=ds-] .ds-h5, [class*=ds-] .ds-h6,
[class*=ds-] .ds-title, [class*=ds-] .ds-label {
  color: var(--primary-color);
  background-color: var(--background-color);
  font-family: "Montserrat", sans-serif;
  line-height: 140%;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 0;
  font-weight: 700;
  margin: 3px 0 3px 0;
}
[class*=ds-] h1, [class*=ds-] .ds-h1 {
  font-size: clamp(26px, 5.55vw, 66.67px);
  letter-spacing: -1px;
  margin: 12px 0 12px 0;
  width: 100%;
  border-bottom: 4px solid var(--primary-color);
}
@media screen and (min-width: 961px) and (max-width: 1200px) {
  [class*=ds-] h1, [class*=ds-] .ds-h1 {
    border-bottom: 6px solid var(--primary-color);
  }
}
@media screen and (min-width: 1201px) {
  [class*=ds-] h1, [class*=ds-] .ds-h1 {
    border-bottom: 8px solid var(--primary-color);
  }
}
[class*=ds-] h2, [class*=ds-] .ds-h2, [class*=ds-] .ds-title {
  font-size: clamp(24px, 3.75vw, 45px);
  letter-spacing: -1px;
  margin: 8px 0 8px 0;
}
[class*=ds-] h3, [class*=ds-] .ds-h3 {
  font-size: clamp(20px, 2.5vw, 30px);
  font-weight: 600;
}
[class*=ds-] h4, [class*=ds-] .ds-h4 {
  font-size: clamp(18px, 2.08vw, 25px);
  font-weight: 600;
}
[class*=ds-] h5, [class*=ds-] .ds-h5, [class*=ds-] .ds-label {
  font-size: 14px;
  font-weight: 600;
}
[class*=ds-] h6, [class*=ds-] .ds-h6 {
  font-size: 14px;
  font-weight: 600;
}

html:has([class*=ds-]) {
  font-size: 1rem;
}
@media screen and (min-width: 481px) {
  html:has([class*=ds-]) {
    font-size: 1.125rem;
  }
}
html:has([class*=ds-]) .a11y--h {
  display: block;
  height: 1px;
  width: 1px;
  position: absolute;
  overflow: hidden;
  top: -100px;
}

.ds-atom, .ds-ele, .ds-ct, .ds-comp {
  font-family: "Lora", "Georgia", serif;
  line-height: 140%;
  font-size: 1.125rem;
  color: #58585b;
  letter-spacing: initial;
}
@media screen and (min-width: 481px) {
  .ds-atom, .ds-ele, .ds-ct, .ds-comp {
    font-size: 1rem;
  }
}

.cs-w {
  /* Charles River Blue on White background */
  --primary-color: #091f2f;
  --background-color: #ffffff;
  --active-primary-color: #ffffff;
  --active-background-color: #091f2f;
  --color-error: #fb4d42;
}
.cs-g {
  /* Charles River Blue on Grey background */
  --primary-color: #091f2f;
  --background-color: #e0e0e0;
  --active-primary-color: #e0e0e0;
  --active-background-color: #091f2f;
  --color-error: #fb4d42;
}
.cs-b {
  /* White on Charles River Blue background */
  --primary-color: #ffffff;
  --background-color: #091f2f;
  --active-primary-color: #091f2f;
  --active-background-color: #ffffff;
  --color-error: #fb4d42;
}
.cs-ob {
  /* White on Optimistic Blue background */
  --primary-color: #ffffff;
  --background-color: #1871bd;
  --active-primary-color: #1871bd;
  --active-background-color: #ffffff;
  --color-error: #fb4d42;
}
.cs-r {
  /* White on Red background */
  --primary-color: #ffffff;
  --background-color: #fb4d42;
  --active-primary-color: #fb4d42;
  --active-background-color: #ffffff;
  --color-error: #f2f2f2;
}

/* Page Wireframes */
/* Grid-based rows & columns (ds grid) */
.ds-g {
  /*
   * Sets up a 12 column grid on the page.
   * Use this when you would traditionally use a table, i.e. you are defining a
   * repeated 2-dimensional set of rows in columns.
   * Ideal for layout of entire pages or entire components.
   */
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
  max-width: 1200px;
}
.ds-g *::before, .ds-g .ds-g *::after {
  box-sizing: border-box;
}
.ds-g .col-1 {
  grid-column: span 12;
  vertical-align: top;
}
.ds-g .col-2 {
  grid-column: span 12;
  vertical-align: top;
}
.ds-g .col-3 {
  grid-column: span 12;
  vertical-align: top;
}
.ds-g .col-4 {
  grid-column: span 12;
  vertical-align: top;
}
.ds-g .col-5 {
  grid-column: span 12;
  vertical-align: top;
}
.ds-g .col-6 {
  grid-column: span 12;
  vertical-align: top;
}
.ds-g .col-7 {
  grid-column: span 12;
  vertical-align: top;
}
.ds-g .col-8 {
  grid-column: span 12;
  vertical-align: top;
}
.ds-g .col-9 {
  grid-column: span 12;
  vertical-align: top;
}
.ds-g .col-10 {
  grid-column: span 12;
  vertical-align: top;
}
.ds-g .col-11 {
  grid-column: span 12;
  vertical-align: top;
}
.ds-g .col-12 {
  grid-column: span 12;
  vertical-align: top;
}
@media (min-width: 481px) {
  .ds-g .col-1 {
    grid-column: span 1;
  }
  .ds-g .col-2 {
    grid-column: span 2;
  }
  .ds-g .col-3 {
    grid-column: span 3;
  }
  .ds-g .col-4 {
    grid-column: span 4;
  }
  .ds-g .col-5 {
    grid-column: span 5;
  }
  .ds-g .col-6 {
    grid-column: span 6;
  }
  .ds-g .col-7 {
    grid-column: span 7;
  }
  .ds-g .col-8 {
    grid-column: span 8;
  }
  .ds-g .col-9 {
    grid-column: span 9;
  }
  .ds-g .col-10 {
    grid-column: span 10;
  }
  .ds-g .col-11 {
    grid-column: span 11;
  }
  .ds-g .col-12 {
    grid-column: span 12;
  }
}

/* Flex-based rows & columns (ds flex) */
.ds-f, .ds-f-c {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.ds-f-c {
  align-items: center;
}

[class*=ds-f] .col-1 {
  flex-basis: 100%;
  max-width: 100%;
}
[class*=ds-f] .col-2 {
  flex-basis: 100%;
  max-width: 100%;
}
[class*=ds-f] .col-3 {
  flex-basis: 100%;
  max-width: 100%;
}
[class*=ds-f] .col-4 {
  flex-basis: 100%;
  max-width: 100%;
}
[class*=ds-f] .col-5 {
  flex-basis: 100%;
  max-width: 100%;
}
[class*=ds-f] .col-6 {
  flex-basis: 100%;
  max-width: 100%;
}
[class*=ds-f] .col-7 {
  flex-basis: 100%;
  max-width: 100%;
}
[class*=ds-f] .col-8 {
  flex-basis: 100%;
  max-width: 100%;
}
[class*=ds-f] .col-9 {
  flex-basis: 100%;
  max-width: 100%;
}
[class*=ds-f] .col-10 {
  flex-basis: 100%;
  max-width: 100%;
}
[class*=ds-f] .col-11 {
  flex-basis: 100%;
  max-width: 100%;
}
[class*=ds-f] .col-12 {
  flex-basis: 100%;
  max-width: 100%;
}
@media (min-width: 481px) {
  [class*=ds-f] .col-1 {
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
  [class*=ds-f] .col-2 {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
  [class*=ds-f] .col-3 {
    flex-basis: 25%;
    max-width: 25%;
  }
  [class*=ds-f] .col-4 {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
  [class*=ds-f] .col-5 {
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }
  [class*=ds-f] .col-6 {
    flex-basis: 50%;
    max-width: 50%;
  }
  [class*=ds-f] .col-7 {
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }
  [class*=ds-f] .col-8 {
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }
  [class*=ds-f] .col-9 {
    flex-basis: 75%;
    max-width: 75%;
  }
  [class*=ds-f] .col-10 {
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333%;
  }
  [class*=ds-f] .col-11 {
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }
  [class*=ds-f] .col-12 {
    flex-basis: 100%;
    max-width: 100%;
  }
}

/* nodes (ds content type) */
.ds-ct {
  font-weight: normal;
  padding-top: 4.5rem;
}

/* Component  (ds component) */
.ds-comp {
  padding: 2rem 1rem;
  width: 100vw;
  font-weight: normal;
  position: relative;
  left: 50%;
  transform: translate(-50%);
}
.ds-comp-banner {
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
}
.ds-comp-fs {
  max-width: 100vw;
}

/* Basic Text Settings */
[class*=ds-] {
  /* Body Text */
  /* Anchors */
  /* Unordered Lists */
  /* Labels */
  /* Control SVG overflows */
  /* General Accessibility */
  /* Font size adjustments */
}
[class*=ds-] a, [class*=ds-] a:visited {
  color: #1871bd;
  text-decoration: underline;
}
[class*=ds-] a:active, [class*=ds-] a:hover, [class*=ds-] a:focus {
  color: #d22d23;
}
[class*=ds-] ul {
  list-style-position: unset;
  padding: 1rem 0;
  margin: 0;
}
[class*=ds-] ul li {
  list-style: none;
  padding-left: 1.25rem;
  background: url("../img/ul-bullet.svg") no-repeat left 0.3125rem transparent;
  background-size: 0.625rem;
  margin: 0 0 1rem 0;
}
[class*=ds-] ul li:last-child {
  margin: 0;
}
[class*=ds-] label {
  display: block;
  color: #091f2f;
  font-family: "Montserrat", sans-serif;
  text-transform: uppercase;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 100%;
  margin: 0.75rem 0.5rem;
  letter-spacing: 0.0625em;
}
[class*=ds-] svg:not(:root) {
  overflow: hidden;
}
[class*=ds-] .a11y--hidden {
  display: block;
  height: 1px;
  width: 1px;
  position: absolute;
  overflow: hidden;
  top: -100px;
}
[class*=ds-] .t {
  /* Text location adjustments */
}
[class*=ds-] .t-s {
  font-size: calc(1em - 2px) !important;
}
[class*=ds-] .t-l {
  font-size: calc(1em + 2px) !important;
}
[class*=ds-] .t-xl {
  font-size: calc(1em + 4px) !important;
}
[class*=ds-] .t-a-c {
  text-align: center;
}
[class*=ds-] .t-a-r {
  text-align: right;
}

.ds-bodytext {
  color: var(--primary-color);
  font-family: Lora, Georgia, serif;
  font-size: var(--font-size);
  /*line-height: 1.3em;*/
}

/*# sourceMappingURL=ds.css.map */
