@charset 'UTF-8';
/*  Import order:
/// 1.  Encoding
/// 2.  Variables
/// 3.  Foundation / Grid
/// 4.  Utilites
/// 5.  Font Awesome
/// 6.  Global Styles
/// 7.  Theme CMS Styles
/// 8.  Third Party
/// 9. Atoms
/// 10. Wrappers
/// 11. Menus
/// 12. Components
/// 13. Content Types
/// 14. Pages
/// 15. Print
 */
/* ----------------------------------------
  FOUNDATION STYLES
---------------------------------------- */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
}
img {
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}
body {
  margin: 0;
}
main {
  display: block;
}
.skip-link a:focus {
  position: absolute !important;
  overflow: visible;
  clip: unset;
  width: auto;
  height: auto;
  padding: 10px;
  font-size: 22px;
  color: var(--white);
  font-weight: 700;
  background: #000;
  z-index: 999;
  font-family: var(--sans-serif);
}
button {
  cursor: pointer;
  font-size: 1rem;
}
iframe {
  max-width: 100%;
}

dl,
pre {
  margin: 0;
  padding: 0;
}
.clearfix::before,
.clearfix::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}
.clearfix::after {
  clear: both;
}
.show-for-sr,
.visually-hidden {
  position: absolute !important;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
}
hr {
  margin-top: 1.875rem;
  margin-bottom: 1.875rem;
  height: 1px;
  border: 0;
    border-top-width: 0px;
    border-top-style: none;
    border-top-color: currentcolor;
  border-top: 1px solid var(--gray--line);
}
/* ----------------------------------------
   ACCORDION STYLES
---------------------------------------- */
/* The animation duration, in ms. Should align with the value in accordion.js */
/* :root { --accordion-animation-duration: 400ms; } */
@media print, screen and (min-width: 48.0625em) {
  .accordions > .grid-container::before,
  .accordions > .section-heading .grid-container::before {
    content: "";
    border-left: 1px solid var(--gray--line);
    position: absolute;
    height: 100%;
    width: 1px;
    top: 0;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .accordions > .grid-container,
  .accordions > .section-heading .grid-container {
    position: relative;
    padding-right: 0;
  }
}

.accordion {
  clear: both;
}

.accordion + .accordion {
  margin-top: var(--spacing--2xsmall);
}

.accordion__button path {
  fill: var(--text-color);
}

.accordion__button:hover,
.accordion__button:focus {
  color: var(--white);
  background-color: var(--secondary--fuchsia);
}

.accordion__button:hover path,
.accordion__button:focus path {
  fill: var(--white);
}

.accordion__icon {
  position: absolute;
  top: 0;
  right: 1.75em;
  bottom: 0;
  width: 1.25em;
  height: 1.25em;
  margin: auto;
}

.accordion__icon-path {
  fill: var(--white);
  transition:
    fill var(--primary-transition),
    transform var(--primary-transition);
}

.accordion__icon-path--vertical {
  transform: scaleY(1);
  transform-origin: 50% 50%;
}

.accordion__content {
  /* clearfix styles should be added here if needed */
  display: none;
  padding: var(--spacing--medium);
  border: 3px solid var(--gray--line);
  border-top: 0;
}

/* When JavaScript doesn't load for some reason, show the content. */
:root:not(.oho-js) .accordion__content {
  display: block;
}

.accordion__content p:last-of-type,
.accordion__content ol:last-of-type,
.accordion__content ul:last-of-type,
.accordion__content li:last-of-type {
  margin-bottom: 0;
}

/* Open state, or when JavaScript doesn't load for some reason. */
.accordion--open > .accordion__button,
:root:not(.oho-js) .accordion__button {
  transition:
    background-color var(--primary-transition),
    color var(--primary-transition);
  color: var(--text-color);
  border-bottom: 0;
  border-color: var(--gray--line);
  background-color: var(--white);
}

.accordion--open > .accordion__button .accordion__icon-path,
:root:not(.oho-js) .accordion__button .accordion__icon-path {
  fill: var(--text-color);
}

.accordion--open > .accordion__button .accordion__icon-path--vertical,
:root:not(.oho-js) .accordion__button .accordion__icon-path--vertical {
  transform: scaleY(0);
}

.accordion--open > .accordion__button:hover .accordion__icon-path,
.accordion--open > .accordion__button:focus .accordion__icon-path,
:root:not(.oho-js) .accordion__button:hover .accordion__icon-path,
:root:not(.oho-js) .accordion__button:focus .accordion__icon-path {
  fill: var(--white);
}

/* Mobile-only accordions */
.accordion--mobile .accordion__button:disabled {
  display: none;
}

.accordion--mobile .accordion__button:disabled + .accordion__content {
  display: block !important;
  padding: 0;
  border: 0;
  background-color: transparent;
}

/* Accordions section */

.accordions .section-heading__heading {
  font-family: var(--serif) !important;
}

.accordions .section-heading__subheading.intro-text {
  font-size: 1rem;
}

@media print, screen and (min-width: 48em) {
  .accordions {
    margin-right: auto;
    margin-left: auto;
    max-width: 75rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .accordions .grid-container {
    padding-left: 6.25rem;
    margin-top: 0;
  }
  .accordions .grid-container .grid-x {
    /* padding-top: var(--spacing--large); */
    padding-left: 3.75rem;
  }
  .accordions .accordion {
    max-width: 53.75rem;
    padding-left: 3.75rem;
  }
}

/* WYSIWYG accordions section */
.wysiwyg .accordions {
  margin-top: 1.875rem;
}
@media print, screen and (min-width: 48.0625em) {
  .wysiwyg .accordions {
    margin-top: 2.5rem;
  }
}
.wysiwyg .accordions .section-heading__heading {
  font-family: var(--serif);
  font-size: 1.5625rem;
  font-weight: 600;
  line-height: 1.15;
  margin-bottom: 0;
  text-transform: none;
}
@media print, screen and (min-width: 48.0625em) {
  .wysiwyg .accordions .section-heading__heading {
    font-size: 2.25rem;
  }
}
@media print, screen and (min-width: 64.0625em) {
  .wysiwyg .accordions .section-heading__heading {
    letter-spacing: -0.03125rem;
    font-size: 2.75rem;
  }
}
.wysiwyg .accordions .section-heading__subheading {
  font-family: var(--sans-serif);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.625;
}
@media print, screen and (min-width: 64.0625em) {
  .wysiwyg .accordions .section-heading__subheading {
    font-size: 1.125rem;
  }
}
.wysiwyg .accordions .grid-container {
  padding: 0;
}
@media print, screen and (min-width: 48.0625em) {
  .wysiwyg .accordions {
    padding-left: 0;
    padding-right: 0;
  }
  .wysiwyg .accordions > .grid-container {
    padding-top: 1.25rem;
    padding-bottom: 2.5rem;
  }
}
@media print, screen and (min-width: 48.0625em) and (min-width: 48.0625em) {
  .wysiwyg .accordions > .grid-container {
    padding-top: 1.875rem;
  }
}
@media print, screen and (min-width: 48.0625em) and (min-width: 48.0625em) {
  .wysiwyg .accordions > .grid-container {
    padding-bottom: 3.125rem;
  }
}
@media print, screen and (min-width: 48.0625em) and (min-width: 64.0625em) {
  .wysiwyg .accordions > .grid-container {
    padding-bottom: 3.75rem;
  }
}
.accordion__content::before,
.accordion__content::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}
@media print, screen and (min-width: 64.0625em) {
  .general--tabs .accordion__content,
  .course-integration--tabs .accordion__content {
    padding-top: 0;
  }
}
@media print, screen and (min-width: 48.0625em) and (min-width: 48.0625em) {
  .accordions .grid-container .grid-x {
    padding-top: 3.125rem;
  }
}

/* ----------------------------------------
   ALPHA JUMP LINKS STYLES
---------------------------------------- */
.alpha-jump-links {
  padding: rem-calc(40);
  background-color: #eeebf2;
}
.alpha-jump-link ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.alpha-jump-link li {
  display: inline-block;
  margin: 0 0.5em 0.5em 0;
  color: #808080;
  font-size: rem-calc(24);
  font-weight: 600;
}

/* ----------------------------------------
   BODY SECTION STYLES
---------------------------------------- */

.body-section.line-component blockquote.align-left,
.body-section.line-component .wysiwyg figure.align-left,
.body-section.line-component .wysiwyg article.align-left {
  margin-left: 0;
}

@media print, screen and (min-width: 48em) {
  .body-section.line-component {
    margin-right: auto;
    margin-left: auto;
    max-width: 75em;
    padding-left: 1.25em;
    padding-right: 1.25em;
  }

  .body-section.line-component .grid-container {
    padding-left: 6.25em;
    position: relative;
    padding-right: 0;
  }

  .body-section.line-component .grid-container::before {
    content: "";
    border-left: 1px solid var(--gray--line);
    position: absolute;
    height: 100%;
    width: 1px;
    top: 0;
  }

  .body-section.line-component .grid-x {
    padding-top: var(--spacing--large);
    padding-bottom: var(--spacing--large);
    padding-left: 3.75em;
  }
}
/* ----------------------------------------
   BREADCRUMBS STYLES
---------------------------------------- */
ol.breadcrumbs {
  overflow: hidden;
  margin: 1em 0;
  padding: 0;
  list-style: none;
  font-family: var(--sans-serif);
  font-weight: bold;
  font-size: 0.875rem;
}

ol.breadcrumbs > li {
  display: inline-block;
  padding-left: 0;
  color: var(--gray--cool);
}

ol.breadcrumbs > li:nth-child(n + 2)::before {
  position: relative;
  display: inline-block;
  padding: 0 1.25rem;
  content: "//";
  font-size: 0.75em;
}

/* Hide all but the last two breadcrumbs on small screens */
@media print, screen and (max-width: 39.9375em) {
  ol.breadcrumbs > li:not(:nth-last-child(2)) {
    display: none;
  }
  ol.breadcrumbs > li:nth-last-child(2)::before {
    position: relative;
    display: inline-block;
    content: "\f177"; /* Font Awesome left arrow, fallback */
    color: var(--brand--bright-blue);
    font-family: var(--font-awesome);
  }
}

/* Hide the first breadcrumb's separator on medium screens and up */
@media print, screen and (min-width: 40em) {
  ol.breadcrumbs > li:first-child::before {
    display: none;
  }
}

/* Mobile condensed option */

@media print, screen and (max-width: 29.9375em) {
  .breadcrumbs--mobile-condensed li:not(:nth-last-child(2)) {
    display: none;
  }
  .breadcrumbs--mobile-condensed li:nth-last-child(2)::before {
    content: "\f053"; /* Font Awesome chevron left, fallback */
    font-family: var(--font-awesome);
  }
}

/* ----------------------------------------
   COSTS STYLES
---------------------------------------- */
/* Costs row and accordion button layout */
.costs__textrow,
.costs__accordion-button {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.costs__amount {
  width: 8rem;
}

/* Accordion styles */
.costs__accordion {
  border-bottom: 1px solid var(--gray--line);
  transition: border-color var(--accordion-animation-duration) ease;
}

.costs__accordion[aria-expanded="true"] {
  border-bottom: none;
}

.costs__accordion-content {
  overflow: hidden;
  transition: max-height var(--accordion-animation-duration) var(--bezier-ease);
}

/* Button styles */
.costs__accordion-button {
  background: none;
  border: none;
  color: var(--primary-color);
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  padding: var(--spacing--small) 0;
  text-align: left;
  transition: color var(--primary-transition);
}

.costs__accordion-button:focus,
.costs__accordion-button:hover {
  color: var(--secondary--fuchsia);
}

/* Amount styling */
.costs__amount {
  text-align: right;
  font-family: var(--sans-serif);
  font-weight: 700;
  color: var(--primary-color);
}

/* Responsive adjustments */
@media print, screen and (max-width: 640px) {
  .costs__textrow,
  .costs__accordion-button {
    flex-direction: column;
    align-items: flex-start;
  }
  .costs__amount {
    width: 100%;
    text-align: left;
    margin-top: 0.5em;
  }
}
/* ----------------------------------------
   BUTTON STYLES
---------------------------------------- */
.btn {
  -webkit-transition:
    color 0.5s cubic-bezier(0.82, 0.06, 0.14, 0.97),
    background 0.5s cubic-bezier(0.82, 0.06, 0.14, 0.97),
    border 0.5s cubic-bezier(0.82, 0.06, 0.14, 0.97);
  transition:
    color 0.5s cubic-bezier(0.82, 0.06, 0.14, 0.97),
    background 0.5s cubic-bezier(0.82, 0.06, 0.14, 0.97),
    border 0.5s cubic-bezier(0.82, 0.06, 0.14, 0.97);
  font-family: var(--sans-serif);
  border-width: 0.1875rem;
  border-style: solid;
  color: var(--text-color);
  display: inline-block;
  position: relative;
  z-index: 2;
  line-height: 1.1;
  letter-spacing: 0.0625rem;
  text-decoration: none;
  margin-right: 0.3125rem;
  margin-bottom: 0.3125rem;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 0.875rem;
  padding: 0.9375rem 1.875rem 0.85rem;
  border-color: var(--secondary--fuchsia);
  background: var(--white);
}
@media print, screen and (min-width: 48.0625em) {
  .btn {
    font-size: 1rem;
    padding: 1.25rem 3.125rem;
  }
}
.btn:hover:not(:disabled)::before,
.btn:hover:not(:disabled)::after,
.btn:focus:not(:disabled)::before,
.btn:focus:not(:disabled)::after {
  color: var(--white);
}
.btn:hover:not(:disabled),
.btn:focus:not(:disabled) {
  color: var(--white);
  border-color: var(--secondary--fuchsia);
  background: var(--secondary--fuchsia);
}

.accordion__button {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 1.25em 3.75em 1.25em var(--spacing--medium);
  transition:
    background-color var(--primary-transition),
    color var(--primary-transition),
    border 0 var(--primary-transition-function)
      var(--accordion-animation-duration);
  text-align: left;
  border: 3px solid var(--secondary--fuchsia);
  font-weight: 600;
  letter-spacing: 0;
}
/* ----------------------------------------
   FORM STYLES
---------------------------------------- */
@media print, screen and (min-width: 48.0625em) {
  article.listing + .views-element-container {
    margin-top: 3.125rem;
  }
}
article.listing + .views-element-container {
  margin-top: 2.5rem;
}
.listing form::after {
  clear: both;
}
.listing form .grid-container {
  position: relative;
  padding: 1.875rem;
    padding-right: 1.875rem;
    padding-left: 1.875rem;
}
@media print, screen and (max-width: 48.0613em) {
  .listing .views-exposed-form {
    background-color: #f3f3f3;
  }
}
.listing form::before,
.listing form::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}
.listing form {
  position: relative;
  z-index: 2;
}
.listing form {
  background: none;
  padding: 0;
}
form {
  background: var(--gray--bg);
  padding: 2.5rem;
  width: 100%;
}

.listing form .grid-container::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  background: var(--gray--bg);
  top: 0;
  right: 20px;
  bottom: 0;
  left: 20px;
}
@media print, screen and (min-width: 64.0625em) {
  .listing form .grid-container::after {
    right: 60px;
    left: 60px;
  }
}
.listing label {
  font-weight: 700;
  font-size: 14px;
  color: var(--black);
  margin-bottom: 8px;
}
@media print, screen and (min-width: 40.0625em) {
  .listing .form-item,
  .listing .form-actions {
    max-width: 100%;
    margin-bottom: 0;
  }
}
.listing .form-item {
  margin-top: 1.25rem;
  max-width: none;
}
.listing form .cell {
  background-color: var(--gray--bg);
}
.listing__form__submit-container .form-item-search,
.form-cell__search .form-item-search {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
@media print, screen and (min-width: 40.0625em) {
  .listing .form-item {
    width: 100%;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
  }
}
@media print, screen and (min-width: 40.0625em) {
  .listing .form-item,
  .listing .form-actions {
    max-width: 100%;
    margin-bottom: 0;
  }
}
.listing [type="text"],
.listing [type="password"],
.listing [type="date"],
.listing [type="datetime"],
.listing [type="datetime-local"],
.listing [type="month"],
.listing [type="week"],
.listing [type="email"],
.listing [type="number"],
.listing [type="search"],
.listing [type="tel"],
.listing [type="time"],
.listing [type="url"],
.listing [type="color"],
.listing [type="file"],
.listing [type="image"],
.listing select {
  width: 100%;
  border: 2px solid rgba(0, 0, 0, 0);
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.11);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.11);
}
@media print, screen and (min-width: 40.0625em) {
  .listing .form-item + .form-item,
  .listing .form-item + .form-actions {
    margin-left: 1em;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .listing__form__submit-container .form-actions,
  .form-cell__search .form-actions {
    width: 160px;
  }
}
.listing__form__submit-container .form-actions,
.form-cell__search .form-actions {
  min-width: 82px;
  margin-left: 0 !important;
}
@media print, screen and (min-width: 40.0625em) {
  .listing .form-actions {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }
}
.listing .form-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.listing__form__submit-container .form-actions [type="submit"],
.form-cell__search .form-actions [type="submit"] {
  width: 100%;
  background-color: var(--secondary--fuchsia);
  color: var(--white);
  text-transform: none;
  font-weight: 700;
  border: 2px solid var(--secondary--fuchsia);
  padding: 1.25rem 1.875rem 1.1875rem;
}
.listing [type="submit"] {
  margin: 0;
  padding: 1.5rem 1.875rem 1.1875rem;
}
.listing__form__submit-container,
.form-cell__search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
@media print, screen and (min-width: 48.0625em) {
  .listing form .grid-container {
    padding: 2.5rem;
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}
.listing .views-exposed-form .cell > .form-cell__search + .grid-container {
  padding-right: 0;
  padding-left: 0;
}
/*
  Usage:
  Add the .placeholder-style class to any input, textarea, or select to apply consistent placeholder styling.
  Customize color or opacity by overriding --placeholder-color or --placeholder-opacity.
*/

.placeholder-style::-webkit-input-placeholder {
  color: var(--placeholder-color, var(--gray--cool));
  opacity: var(--placeholder-opacity, 1);
}
.placeholder-style::-moz-placeholder {
  color: var(--placeholder-color, var(--gray--cool));
  opacity: var(--placeholder-opacity, 1);
}
.placeholder-style:-ms-input-placeholder {
  color: var(--placeholder-color, var(--gray--cool));
  opacity: var(--placeholder-opacity, 1);
}
.placeholder-style::placeholder {
  color: var(--placeholder-color, var(--gray--cool));
  opacity: var(--placeholder-opacity, 1);
}

/* Apply to all inputs, textareas, and selects by default */
input::placeholder,
textarea::placeholder,
select::placeholder {
  color: var(--placeholder-color, var(--gray--cool));
  opacity: var(--placeholder-opacity, 1);
}
/* Form wrapper */
form {
  background: var(--gray--bg);
  padding: 2.5rem;
  width: 100%;
}
form .description {
  color: var(--gray--medium);
  font-size: 0.875em;
  margin-top: 0.25rem;
}
form .form-actions {
  margin-top: 1.5rem;
}
form
  > .grid-container
  > .grid-x
  > .cell:first-of-type
  > .form-item:first-of-type {
  margin-top: 0;
}
form hr {
  border-color: var(--white);
  border-top-width: 2px;
}

/* Medium and up: flush form */
@media print, screen and (min-width: 48.0625em) {
  form.form--flush {
    margin-left: -2.5rem;
    width: calc(100% + 5rem);
  }
  form .grid--flush {
    margin-left: -20px;
    width: calc(100% + 40px);
  }
  form .grid--flush.form-item {
    width: calc(100% + 40px);
  }
}

/* Select styles */
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid var(--white);
  -webkit-box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.11);
  box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.11);
  color: #222;
  text-transform: none;
  background: var(--white);
  background-position-x: 0%;
  background-position-y: 0%;
  padding: 1.25rem 1.875rem 1.1875rem;
  margin: 0;
  margin-bottom: 0px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="20" height="10"><polygon points="10,10 20,0 0,0" fill="%23262626"/></svg>');
  background-repeat: no-repeat;
  background-position: calc(100% - 0.625em) 50%;
  background-size: 1em;
}
select[multiple="multiple"] {
  background: var(--white);
}

/* Fieldset styles */
fieldset {
  border-width: 0.0625em;
  border-style: solid;
  background: none;
  border-color: var(--gray--light);
  box-shadow: none;
  margin: 0;
}

button,
[type="submit"] {
  background: var(--secondary--fuchsia);
  border-color: var(--secondary--fuchsia);
  color: var(--white);
  margin: 0;
  cursor: pointer;
  border: 0;
  border-top-color: currentcolor;
  border-right-color: currentcolor;
  border-bottom-color: currentcolor;
  border-left-color: currentcolor;
}
button:hover,
[type="submit"]:hover,
button:focus,
[type="submit"]:focus {
  background: rgba(133, 23, 93, 0.1);
  color: var(--primary-color);
}

/* Label styles */
label {
  display: block;
  color: var(--gray--dark);
  font-family: var(--sans-serif);
  font-weight: 400;
  margin-bottom: 0.75rem;
  font-size: 1rem;
}

/* Text input, file, image, textarea */
input,
[type="file"],
[type="image"],
textarea {
  background: var(--white);
  border-color: var(--gray--light);
  color: var(--gray--dark);
  font-family: var(--sans-serif);
  font-size: 1rem;
  padding: 0.5em 1em;
}
input::placeholder,
textarea::placeholder {
  color: var(--gray--dark);
  font-family: var(--sans-serif);
}

/* Checkboxes and radios */
[type="checkbox"],
[type="radio"] {
  cursor: pointer;
  margin: 0;
}
[type="checkbox"] + label,
[type="radio"] + label {
  display: inline-block;
  margin: 1em 0 1em 0.25em;
  cursor: pointer;
  vertical-align: middle;
  color: var(--text-color);
}

/* Disabled state */
input:disabled,
[type="file"]:disabled,
[type="image"]:disabled,
select:disabled,
textarea:disabled {
  background-color: var(--gray--light);
  border-color: var(--gray--light);
}

/* Invalid state (not empty) */
input:not(:empty):invalid,
[type="file"]:not(:empty):invalid,
[type="image"]:not(:empty):invalid,
textarea:not(:empty):invalid {
  border-color: var(--alert--red);
  box-shadow: 0 0 0 0.0625em var(--alert--red);
}
input:not(:empty):invalid:focus,
[type="file"]:not(:empty):invalid:focus,
[type="image"]:not(:empty):invalid:focus,
textarea:not(:empty):invalid:focus {
  border-color: var(--alert--red);
}

/* File input */
[type="file"] {
  background: none;
  border: none;
  box-shadow: none;
  padding: 0.5rem 0;
}

/* Utility search form styles */
.page--utility .search-form > .form-wrapper {
  display: flex;
  align-items: flex-end;
  margin-bottom: 15px;
}
.page--utility .search-form > .form-wrapper .form-item {
  flex: 1;
}
.page--utility .search-form > .form-wrapper .form-item label {
  font-weight: bold;
}
.page--utility .search-form > .form-wrapper .form-item [type="search"] {
  width: 100%;
  height: 60px;
}
.page--utility .search-form > .form-wrapper .form-submit {
  height: 60px !important;
}

/* Filter button list */
form .filter-button-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
}
form .filter-button-list button {
  background: none;
  color: var(--brand--dark-blue-alternative);
  display: block;
  font-size: 14px;
  font-weight: 700;
  margin-right: 0.25em;
  padding: 0.5em 0.66em;
  transition: color var(--primary-transition);
}
form .filter-button-list button:hover {
  background: none;
  color: var(--primary-color--dark);
}
form .filter-button-list button[disabled] {
  color: var(--gray--light);
}

/* Fieldset for letter filter */
fieldset[data-drupal-selector="edit-letter"] {
  border: none;
  padding: 0;
}
fieldset[data-drupal-selector="edit-letter"] legend {
  font-weight: 700;
  font-size: 14px;
  color: var(--text-color);
}
.listing fieldset[data-drupal-selector="edit-letter"] .fieldset-wrapper {
  background-color: transparent;
  box-shadow: none;
  padding: 0;
}
fieldset[data-drupal-selector="edit-letter"] .fieldset-wrapper > div {
  display: flex;
  flex-wrap: wrap;
}
fieldset[data-drupal-selector="edit-letter"]
  .fieldset-wrapper
  > div
  > .form-item-letter:first-child {
  margin-right: 0;
}
@media print, screen and (min-width: 75em) {
  fieldset[data-drupal-selector="edit-letter"] .fieldset-wrapper > div {
    justify-content: space-between;
  }
}
fieldset[data-drupal-selector="edit-letter"] .form-item-letter {
  width: auto;
  margin-left: 0 !important;
  margin-right: 1.5em;
}
.listing
  fieldset[data-drupal-selector="edit-letter"]
  .form-item
  [type="radio"]
  + label {
  padding: 0;
  border: none;
  margin-left: 0;
  color: var(--brand--dark-blue-alternative);
  font-weight: bold;
}
.listing
  fieldset[data-drupal-selector="edit-letter"]
  .form-item
  [type="radio"]:disabled
  + label {
  color: #aaa;
  font-weight: normal;
}
.listing
  fieldset[data-drupal-selector="edit-letter"]
  .form-item
  [type="radio"]
  + label:before {
  display: none;
}

/* Webform submission form spacing */
.webform-submission-form .form-item .fieldset-wrapper .form-item + .form-item {
  margin-top: 0.625rem;
}

/* Webform page spacing */
.page--webform .wysiwyg + .webform-submission-form {
  margin-top: var(--spacing--xlarge);
}
.page--webform .webform-submission-form {
  margin-bottom: var(--spacing--xlarge);
}
/* Form item wrapper */
.form-item {
  position: relative;
  margin-top: var(--spacing--small);
}

/* Checkboxes and Radios */
.form-item [type="checkbox"],
.form-item [type="radio"] {
  position: absolute;
  top: 65%;
  width: 2em;
  height: 2em;
  transition: border-color var(--primary-transition);
  transform: translateY(-50%);
  opacity: 0;
  font-size: inherit;
}

/* Label for checkboxes and radios */
.form-item [type="checkbox"] + label,
.form-item [type="radio"] + label {
  position: relative;
  margin-left: 1.5em;
  transition: color var(--primary-transition);
}
.form-item [type="checkbox"] + label:before,
.form-item [type="radio"] + label:before {
  position: absolute;
  top: 0.125em;
  left: -1.5em;
  display: block;
  width: 1em;
  height: 1em;
  content: "";
  transition:
    background var(--primary-transition),
    border-color var(--primary-transition),
    box-shadow var(--primary-transition);
  border: 0.0625em solid var(--gray--dark);
}

/* Disabled state */
.form-item [type="checkbox"]:disabled,
.form-item [type="radio"]:disabled,
.form-item [type="checkbox"]:disabled + label,
.form-item [type="radio"]:disabled + label {
  cursor: default;
}
.form-item [type="checkbox"]:disabled + label:before,
.form-item [type="radio"]:disabled + label:before {
  border-color: var(--gray--light);
}

/* Invalid state */
.form-item [type="checkbox"]:invalid + label,
.form-item [type="radio"]:invalid + label {
  color: var(--alert--red);
}
.form-item [type="checkbox"]:invalid + label:before,
.form-item [type="radio"]:invalid + label:before {
  border-color: var(--alert--red);
  box-shadow: 0 0 0 0.0625em var(--alert--red);
}

/* Checked checkbox */
.form-item [type="checkbox"]:checked + label:before {
  background-color: var(--brand--dark-blue-alternative);
  border-color: var(--brand--dark-blue-alternative);
}
.form-item [type="checkbox"]:checked + label:after {
  position: absolute;
  top: calc(50% + 0.1875rem);
  left: -1.125em;
  display: block;
  width: 0.3125em;
  height: 0.6875em;
  content: "";
  transform: rotate(45deg) translate(-100%, -50%);
  border-width: 0 0.125em 0.125em 0;
  border-style: solid;
  border-color: var(--white);
}
.form-item [type="checkbox"]:checked:disabled + label:after {
  border-color: var(--gray--dark);
}
.form-item [type="checkbox"]:disabled + label:before {
  background-color: var(--gray--light);
  border-color: var(--gray--light);
}

/* Checked radio */
.form-item [type="radio"] + label:before {
  border-radius: 50%;
  background-image: radial-gradient(
    var(--white) 0.25em,
    var(--brand--dark-blue-alternative) 0.25em,
    var(--brand--dark-blue-alternative) 0.5em,
    var(--white) 0.5em
  );
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 0 0;
}
.form-item [type="radio"]:checked + label:before {
  border-color: var(--brand--dark-blue-alternative);
  background-size: 1em 1em;
}
.form-item [type="radio"]:checked:disabled + label:before {
  border-color: var(--gray--light);
  background-image: radial-gradient(
    var(--gray--dark) 0.25em,
    var(--gray--light) 0.25em,
    var(--gray--light) 0.5em,
    var(--gray--dark) 0.5em
  );
}
.form-item [type="radio"]:checked:invalid + label:before {
  border-color: var(--alert--red);
  background-image: radial-gradient(
    var(--white) 0.25em,
    var(--alert--red) 0.25em,
    var(--alert--red) 0.5em,
    var(--white) 0.5em
  );
}
.form-item [type="radio"]:disabled + label:before {
  background-color: var(--gray--light);
}

/* Required field indicator */
.form-required:after {
  content: "*";
  color: var(--alert--red);
}

/* Webform element description */
.webform-element-description {
  font-family: var(--sans-serif);
  font-size: 0.875rem;
  margin-top: var(--spacing--2xsmall);
}

/* Required label indicator */
.required > label:after {
  content: "*";
  color: var(--accent-red);
}

/* Checkbox/radio group spacing */
[type="checkbox"][name*="["],
.form-radio + label {
  margin-top: 0.25em;
  margin-bottom: 0.25em;
}

/* Webform file upload placeholder */
.webform-managed-file-placeholder {
  color: var(--gray--dark);
  font-family: var(--sans-serif);
  font-size: 0.875rem;
  font-weight: 400;
  font-style: italic;
  margin-bottom: 0.25rem;
}
.form-managed-file [type="submit"] {
  margin-left: 1em;
  padding: 0.75em;
}

/* Webform widths */
form[class*="webform"] .form-item {
  width: 100%;
}

/* Radio hover/focus color */
.form-item-letter:not(.form-disabled) input[type="radio"]:hover + label,
.form-item-letter:not(.form-disabled) input[type="radio"]:focus + label {
  color: var(--secondary--fuchsia);
}
@media print, screen and (min-width: 64.0625em) {
  .page--webform .wysiwyg + .webform-submission-form {
    margin-top: 3.75rem;
    margin-bottom: 3.75rem;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .page--webform .wysiwyg + .webform-submission-form {
    margin-top: 3.125rem;
    margin-bottom: 3.125rem;
  }
}
.page--webform .wysiwyg + .webform-submission-form {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

/* ----------------------------------------
   HORIZONTAL STYLES
---------------------------------------- */
.section--horizontal-feature-box {
  font-family: var(--sans-serif);
}
.section--horizontal-feature-box h2 {
  margin-top: 0;
}

.horizontal-feature-box__img {
  margin-bottom: 20px;
}
@media print, screen and (min-width: 48.0625em) {
  .horizontal-feature-box__img {
    margin-bottom: 0;
  }
}
/* Horizontal Scroll Tracker styles, flattened and using CSS variables from variables.css */

/* Animations */
@keyframes left-leg {
  from {
    transform: none;
  }
  to {
    transform: rotate(-20deg);
  }
}
@keyframes right-leg {
  from {
    transform: none;
  }
  to {
    transform: rotate(23deg);
  }
}

/* Page scroll tracker layout */
.page--scroll-tracker .site-header {
  display: none;
}
.page--scroll-tracker h1 {
  position: absolute !important;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
}

/* Student journey section */
.student-journey {
  display: flex;
  align-items: flex-end;
  min-height: 100vh;
}
.student-journey h2 {
  max-width: 960px;
  text-transform: uppercase;
  font-size: 12vw;
  line-height: 0.8;
  position: relative;
}
.student-journey h2 .oho-animate:last-child:after {
  display: block;
  width: 3px;
  height: 200px;
  content: "";
  transition: height 0.8s var(--bezier-ease);
  transition-delay: 0.8s;
  transform: translateY(80px);
  background: var(--text-color);
  position: absolute;
  left: 0;
  bottom: 0;
}
.student-journey h2 .oho-animate.oho-animate--ready:last-child:after {
  height: 0;
  transition: none;
}

/* Horizontal story container */
.horizontal-story-container {
  position: relative;
  width: 100%;
  min-height: 4900vh;
}
.horizontal-story {
  position: sticky;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  opacity: calc(var(--scroll-tracker) * 20);
}
.horizontal-story .laptop-cloud {
  display: none;
  fill: url(#laptop-cloud-gradient);
}
.horizontal-story .background path {
  transform: translateX(calc(var(--scroll-tracker) * -8%));
  opacity: 0.7;
  fill: #dfe9f7;
}
.horizontal-story .background path:nth-child(2) {
  transform: translateX(calc(var(--scroll-tracker) * -1%));
}
.horizontal-story .background path:nth-child(3) {
  transform: translateX(calc(var(--scroll-tracker) * -5%));
}
.horizontal-story .background path:nth-child(4) {
  transform: translateX(calc(var(--scroll-tracker) * -1%));
}
.horizontal-story .background path:nth-child(5) {
  transform: translateX(calc(var(--scroll-tracker) * -2%));
}
.horizontal-story .background path.cloud-background--offset-top {
  transform: translateX(calc(var(--scroll-tracker) * -1%)) translateY(36%);
}
.horizontal-story .background:nth-child(3) path,
.horizontal-story .background:nth-child(4) path,
.horizontal-story .background:nth-child(5) path {
  transform: translateX(calc(var(--scroll-tracker) * -4%));
}
.horizontal-story .background:nth-child(3) path:nth-child(2),
.horizontal-story .background:nth-child(4) path:nth-child(2),
.horizontal-story .background:nth-child(5) path:nth-child(2) {
  transform: translateX(calc(var(--scroll-tracker) * -42%));
}
.horizontal-story .background:nth-child(3) path:nth-child(3),
.horizontal-story .background:nth-child(4) path:nth-child(3),
.horizontal-story .background:nth-child(5) path:nth-child(3) {
  transform: translateX(calc(var(--scroll-tracker) * -43%));
}
.horizontal-story .background:nth-child(3) path:nth-child(4),
.horizontal-story .background:nth-child(4) path:nth-child(4),
.horizontal-story .background:nth-child(5) path:nth-child(4) {
  transform: translateX(calc(var(--scroll-tracker) * -45%));
}
.horizontal-story .background:nth-child(3) path:nth-child(5),
.horizontal-story .background:nth-child(4) path:nth-child(5),
.horizontal-story .background:nth-child(5) path:nth-child(5) {
  transform: translateX(calc(var(--scroll-tracker) * -5%));
}

/* Laptop SVG parts */
.laptop__screen,
.laptop__keyboard--accent {
  fill: #2d3079;
}
.laptop__screen--inner {
  fill: var(--white);
}
.laptop__keyboard {
  fill: #71b3e2;
}
.laptop__bars {
  fill: var(--accent-yellow);
}
.laptop__molecules {
  fill: var(--primary-color);
  transform: rotate(calc(var(--scroll-tracker) * 0.05deg));
  transform-origin: 70% 42.1%;
}

/* Person SVG parts */
.person {
  transform: translateX(calc(var(--scroll-tracker) * 0.02%));
}
.person .skin {
  fill: #4e3a2d;
}
.person .hair,
.person .skirt,
.person .shoe {
  fill: #2d3079;
  transition: 1.4s;
}
.person .torso {
  fill: #aeaed7;
}
.person .sleeve {
  fill: var(--white);
}
.person .mouth {
  fill: none;
  stroke: var(--gray--bg);
  stroke-width: 2.7032;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 10;
}

/* Leg animation */
.leg {
  transform-origin: 58% 52%;
  animation-duration: 4s;
  animation-timing-function: var(--bezier-ease);
  animation-iteration-count: infinite;
  animation-direction: alternate;
}
.leg--right {
  animation-name: right-leg;
}
.leg--left {
  animation-name: left-leg;
}

/* Grounds SVG lines */
.grounds {
  transform: translateY(6.1%);
}
.grounds line {
  fill: none;
  stroke: #97d1ed;
  stroke-width: 4.1196;
  stroke-linecap: round;
  stroke-miterlimit: 10;
  transform: translateX(calc(var(--scroll-tracker) * -2%));
}
.grounds line:nth-child(2) {
  transform: translateX(calc(var(--scroll-tracker) * -3%));
}
.grounds line:nth-child(3) {
  transform: translateX(calc(var(--scroll-tracker) * -12%));
}

/* Ground paths */
.ground:nth-child(3) path,
.ground:nth-child(4) path,
.ground:nth-child(5) path {
  transform: translateX(calc(var(--scroll-tracker) * -114%));
}
.ground:nth-child(3) path:nth-child(2),
.ground:nth-child(4) path:nth-child(2),
.ground:nth-child(5) path:nth-child(2) {
  transform: translateX(calc(var(--scroll-tracker) * -142%));
}
.ground:nth-child(3) path:nth-child(3),
.ground:nth-child(4) path:nth-child(3),
.ground:nth-child(5) path:nth-child(3) {
  transform: translateX(calc(var(--scroll-tracker) * -143%));
}
.ground:nth-child(3) path:nth-child(4),
.ground:nth-child(4) path:nth-child(4),
.ground:nth-child(5) path:nth-child(4) {
  transform: translateX(calc(var(--scroll-tracker) * -145%));
}
.ground:nth-child(3) path:nth-child(5),
.ground:nth-child(4) path:nth-child(5),
.ground:nth-child(5) path:nth-child(5) {
  transform: translateX(calc(var(--scroll-tracker) * -143%));
}

/* Horizontal story content */
.horizontal-story--content {
  position: relative;
  z-index: 3;
  min-height: 100vh;
}
.horizontal-story--content .initial-12 {
  padding: var(--spacing--large);
  background: rgba(255, 255, 255, 0.5);
}
@media print, screen and (min-width: 48.0625em) {
  .horizontal-story--content .initial-12 {
    padding-left: 10%;
  }
}

/* City SVG transforms */
.city .buildings-left {
  transform: translateX(calc(var(--scroll-tracker) * -113%));
}
.city .house {
  transform: translateX(calc(var(--scroll-tracker) * -135%));
}
.city .trees {
  transform: translateX(calc(var(--scroll-tracker) * -142%));
}
.city .buildings-right {
  transform: translateX(calc(var(--scroll-tracker) * -183%));
}
.city .car {
  transform: translateX(calc(var(--scroll-tracker) * -204%));
}
.city .van {
  transform: translateX(calc(var(--scroll-tracker) * -235%));
}
.city .suv {
  transform: translateX(calc(var(--scroll-tracker) * -245%));
}
.city .sign {
  transform: translateX(calc(var(--scroll-tracker) * -235%));
}

/* Timeline transforms */
.timeline-outer {
  transform: translateX(12%);
}
.timeline {
  transform: translateX(calc(var(--scroll-tracker) * -350%)) translateY(10%);
}
.timeline .purple-fill,
.timeline__point {
  fill: #2d3079;
}
.timeline__info-bubble .text {
  fill: var(--white);
}
.timeline__line {
  stroke: #2d3079;
  stroke-width: 8px;
}

/* Working SVG classes */
.workingst17 {
  opacity: 0.73;
  fill: var(--white);
}
.workingst18 {
  fill: #d4dbe1;
}
.workingst19 {
  fill: #86c0e9;
}
.workingst20 {
  fill: #5d554e;
}
.workingst21 {
  fill: #3d4246;
}
.workingst22 {
  fill: #34383b;
}
.workingst23 {
  fill: #efa986;
}
.workingst24 {
  fill: #fdcda3;
}
.workingst25 {
  fill: #e2d2ca;
}
.workingst26 {
  fill: #4a5055;
}
.workingst27 {
  fill: #d7d6d6;
}
.workingst28 {
  fill: #c98462;
}
.workingst29 {
  fill: #df9e7d;
}
.workingst30 {
  fill: #e9e8e8;
}
.workingst31 {
  fill: #bcd5ef;
}
.workingst32 {
  fill: #767676;
}
.workingst33 {
  fill: #fff;
}
.workingst34 {
  fill: url(#SVGID_1_);
}
.workingst35 {
  fill: url(#SVGID_2_);
}
.workingst36 {
  fill: url(#SVGID_3_);
}
.workingst37 {
  fill: #c5ccd1;
}
.workingst38 {
  fill: url(#SVGID_4_);
}
.workingst39 {
  fill: #e0e1e0;
}
.workingst40 {
  fill: #b9b9b9;
}
.workingst41 {
  fill: #d9d9d8;
}
.workingst42 {
  fill: url(#SVGID_5_);
}
.workingst43 {
  fill: url(#SVGID_6_);
}
.workingst44 {
  fill: #d64e4b;
}
.workingst45 {
  fill: #2a2c47;
}
.workingst46 {
  fill: #3e426b;
}
.workingst47 {
  fill: #d0beb6;
}
.workingst48 {
  fill: #23263d;
}
.workingst49 {
  fill: #f15c5b;
}
.workingst50 {
  fill: #807167;
}
.workingst51 {
  fill: #191b2b;
}
.workingst52 {
  fill: #a77961;
}
.workingst53 {
  fill: #b1403e;
}
.workingst54 {
  fill: #292c45;
}
.workingst55 {
  fill: #eddad3;
}
.workingst56 {
  fill: #f5f6f6;
}
.workingst57 {
  fill: #62a9dc;
}
.workingst58 {
  fill: #3983c4;
}
.workingst59 {
  fill: #1a5a8d;
}
.workingst60 {
  fill: #2274b5;
}
.workingst61 {
  fill: #3a88c8;
}
.workingst62 {
  fill: url(#SVGID_7_);
}
.workingst63 {
  fill: url(#SVGID_8_);
}
.workingst64 {
  fill: url(#SVGID_9_);
}
.workingst65 {
  fill: url(#SVGID_10_);
}
.workingst66 {
  fill: url(#SVGID_11_);
}
.workingst67 {
  fill: url(#SVGID_12_);
}
.workingst68 {
  fill: #706966;
}
.workingst69 {
  fill: #ccbdb7;
}
.workingst70 {
  fill: #998e89;
}
.workingst71 {
  fill: #b59074;
}
.workingst72 {
  fill: #fcb557;
}
.workingst73 {
  fill: #434873;
}
.workingst74 {
  fill: #3b4048;
}
.workingst75 {
  fill: #323757;
}
.workingst76 {
  fill: #928783;
}
.workingst77 {
  fill: #5f5955;
}
.workingst78 {
  fill: #bfb2ac;
}
.workingst79 {
  fill: #b9aca6;
}
.workingst80 {
  fill: #f6f7fb;
}
.workingst81 {
  fill: #928681;
}
.workingst82 {
  fill: #dfe1e8;
}
.workingst83 {
  fill: #a0dadc;
}
.workingst84 {
  opacity: 0.15;
}
.workingst85 {
  fill: #875c35;
}
.workingst86 {
  fill: #77685a;
}
.workingst87 {
  fill: #517c7d;
}
.workingst88 {
  fill: #fcb773;
}
.workingst89 {
  fill: #d39053;
}
.workingst90 {
  fill: #aa774d;
}
.workingst91 {
  fill: #f37c73;
}
.workingst92 {
  fill: #a99989;
}
.workingst93 {
  fill: #2d7138;
}
.workingst94 {
  fill: #d2923b;
}
.workingst95 {
  fill: #61bd63;
}
.workingst96 {
  fill: #b9d248;
}
.workingst97 {
  fill: #ffe2c0;
}
.workingst98 {
  fill: #c65856;
}
.workingst99 {
  fill: #6384c2;
}
.workingst100 {
  fill: #416299;
}
.workingst101 {
  fill: #444544;
}
.workingst102 {
  fill: #666766;
}
.workingst103 {
  fill: #e7f1f4;
}
.workingst104 {
  fill: #747d53;
}
.workingst105 {
  fill: #586039;
}
.workingst106 {
  fill: #c7c6c6;
}
.workingst107 {
  fill: #f99d1c;
}
.workingst108 {
  fill: none;
  stroke: #2b2e74;
  stroke-width: 7;
  stroke-miterlimit: 10;
}
.working-left {
  transform: translateX(calc(var(--scroll-tracker) * -155%));
}
.working-middle {
  transform: translateX(calc(var(--scroll-tracker) * -140%));
}
.working-right {
  transform: translateX(calc(var(--scroll-tracker) * -129%));
}

/* Landscape scrolltracker scenes */
.landscape-scrolltracker__scene {
  min-height: 400vh;
}
.landscape-scrolltracker__scene svg {
  position: sticky;
  top: 0;
  height: 100vh;
}
.landscape-scrolltracker__item--night .landscape-scrolltracker__scene svg > g {
  transform: translateX(calc(var(--scroll-tracker) * 55%));
}
.landscape-scrolltracker__item--night
  .landscape-scrolltracker__scene
  #night_water {
  transform: none;
}
.landscape-scrolltracker__item--night
  .landscape-scrolltracker__scene
  .night_water__glare {
  transform: translateX(14%);
}
.landscape-scrolltracker__item--night
  .landscape-scrolltracker__scene
  .night_water__glare
  path {
  transform: rotateY(calc(var(--scroll-tracker) * 15deg));
  transform-origin: 58% 63%;
}
.landscape-scrolltracker__item--night
  .landscape-scrolltracker__scene
  .night_water__streaks {
  transform: translateX(calc(var(--scroll-tracker) * -42%));
}
.landscape-scrolltracker__item--night
  .landscape-scrolltracker__scene
  #night_stars {
  transform: none;
}
.landscape-scrolltracker__item--night
  .landscape-scrolltracker__scene
  #night_foreground-land,
.landscape-scrolltracker__item--night
  .landscape-scrolltracker__scene
  #night_foreground-foliage {
  transform: translateX(calc(var(--scroll-tracker) * -42%));
}
.landscape-scrolltracker__item--night
  .landscape-scrolltracker__scene
  #night_sun {
  transform: translateY(calc(var(--scroll-tracker) * -34%));
}

/* Landscape blends */
.landscape-scrolltracker__item--spring,
.landscape-scrolltracker__item--sunset {
  position: relative;
}
.landscape-scrolltracker__item--spring svg,
.landscape-scrolltracker__item--sunset svg {
  z-index: 2;
}
.landscape-scrolltracker__item--spring .landscape-scrolltracker__scene:after,
.landscape-scrolltracker__item--sunset .landscape-scrolltracker__scene:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 350vh;
  content: "";
  transform: translateY(-50%);
}
.landscape-scrolltracker__item--sunset .landscape-scrolltracker__scene:after {
  background: linear-gradient(
    to bottom,
    rgba(153, 26, 9, 0) 0%,
    rgba(153, 26, 9, 1) 35%
  );
  margin-top: calc(var(--scroll-tracker) * -219%);
}
.landscape-scrolltracker__item--spring .landscape-scrolltracker__scene:after {
  background: linear-gradient(
    to bottom,
    rgba(156, 193, 222, 0) 0%,
    rgba(156, 193, 222, 1) 35%
  );
  margin-top: calc(var(--scroll-tracker) * -219%);
}
.landscape-scrolltracker__item--sunset {
  transform: rotateY(180deg);
}
.landscape-scrolltracker__item--sunset .landscape-scrolltracker__scene svg > g {
  transform: translateX(calc(var(--scroll-tracker) * -65%));
}
.landscape-scrolltracker__item--sunset
  .landscape-scrolltracker__scene
  #sunset_sun {
  transform: translateY(calc(var(--scroll-tracker) * 44%))
    translateX(calc(var(--scroll-tracker) * -34%));
}
.landscape-scrolltracker__item--sunset
  .landscape-scrolltracker__scene
  #sunset_clouds {
  transform: translateX(calc(var(--scroll-tracker) * -67%));
}
.landscape-scrolltracker__item--sunset
  .landscape-scrolltracker__scene
  #sunset_stars {
  transform: translateX(calc(var(--scroll-tracker) * -45%));
}
.landscape-scrolltracker__item--sunset
  .landscape-scrolltracker__scene
  #sunset_birds {
  transform: translateX(calc(var(--scroll-tracker) * -71%));
}
.landscape-scrolltracker__item--spring svg > g {
  transform: translateX(calc(var(--scroll-tracker) * -55%));
}
.landscape-scrolltracker__item--spring #spring_trees-foreground {
  transform: translateX(calc(var(--scroll-tracker) * -35%));
}
.landscape-scrolltracker__item--spring #spring_water,
.landscape-scrolltracker__item--spring #spring_sky,
.landscape-scrolltracker__item--spring #spring_foreground-hill,
.landscape-scrolltracker__item--spring #spring_stars-dots,
.landscape-scrolltracker__item--spring #spring_stars-twinkle {
  transform: none;
}
.landscape-scrolltracker__item--spring #spring_water-accents {
  transform: translateX(calc(var(--scroll-tracker) * -23%));
}
.landscape-scrolltracker__item--spring #spring_mountains-right {
  transform: none;
}
.landscape-scrolltracker__item--spring #spring_mountains-right > g:first-child {
  transform: translateX(calc(var(--scroll-tracker) * -18%));
}
.landscape-scrolltracker__item--spring
  #spring_mountains-right
  > g:nth-child(2) {
  transform: translateY(5%) translateX(calc(var(--scroll-tracker) * -16%));
}
.landscape-scrolltracker__item--spring #spring_light-house,
.landscape-scrolltracker__item--spring #spring_background-trees {
  transform: translateX(calc(var(--scroll-tracker) * -15%));
}
.landscape-scrolltracker__item--spring #spring_sailboat_sail-boat--left {
  transform: translateX(calc(var(--scroll-tracker) * -35%));
}
.landscape-scrolltracker__item--spring #spring_moon {
  transform: translateY(calc(var(--scroll-tracker) * -35%));
}

/* Stat info block */
.stat-journey-block {
  position: sticky;
  z-index: 2;
  top: 100px;
  left: 100px;
  overflow: hidden;
  max-width: 550px;
  padding: 40px;
  color: var(--white);
  border-radius: 10px;
  background: linear-gradient(
    to bottom,
    rgba(121, 37, 72, 0.4) 0%,
    rgba(94, 27, 56, 0.8) 100%
  );
}
.stat-journey-block .h1 {
  font-size: 7.5rem;
}
.landscape-scrolltracker__item--sunset .stat-journey-block {
  top: 36%;
  right: 0;
  left: 0;
  max-width: 1020px;
  margin: auto;
  background: linear-gradient(
    to bottom,
    rgba(147, 15, 14, 0.4) 0%,
    rgba(173, 51, 26, 0.8) 100%
  );
}
.landscape-scrolltracker__item--sunset .stat-journey-block .grid-x {
  transform: rotateY(180deg);
}
.landscape-scrolltracker__item--spring .stat-journey-block {
  right: 100px;
  left: auto;
  float: right;
  background: linear-gradient(
    to bottom,
    rgba(39, 85, 133, 1) 0%,
    rgba(36, 30, 59, 0.8) 100%
  );
}

/* Student journey adventure heading */
.student-journey--adventure h2 {
  color: var(--white);
}
.student-journey--adventure h2 .oho-animate:last-child:after {
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  width: 100vw;
  background: linear-gradient(
    to bottom,
    rgba(121, 37, 72, 1) 0%,
    rgba(115, 63, 105, 1) 100%
  );
}
.student-journey--adventure
  h2
  .oho-animate:not(.oho-animate--ready):last-child:after {
  height: 110vh;
}

/* ----------------------------------------
   JUMP NAV STYLES
---------------------------------------- */
.jump-nav {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--white);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  padding: var(--spacing--small) 0;
}

.jump-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing--small);
}

.jump-nav li {
  margin: 0;
  padding: 0;
}

.jump-nav a {
  color: var(--brand--dark-blue-alternative);
  font-family: var(--sans-serif);
  font-weight: 600;
  text-decoration: none;
  padding: 0.5em 1em;
  border-radius: 2px;
  transition:
    background 0.2s,
    color 0.2s;
  display: block;
}

.jump-nav a:hover,
.jump-nav a:focus {
  background: var(--secondary--fuchsia);
  color: var(--white);
}
/* ----------------------------------------
   MORE OR LESS STYLES
---------------------------------------- */
/* See more-or-less.js for functionality */
.more-less {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
}

/* Content area */
.more-less [data-more-less-content] {
  position: relative;
  overflow: hidden;
  order: 1;
}

/* Hide toggle button by default */
.more-less [data-more-less-toggle],
.more-less .more-less__toggle {
  display: none;
  order: 2;
}

/* Show toggle button when JS has initialized */
.more-less[data-more-less-init] [data-more-less-toggle],
.more-less[data-more-less-init] .more-less__toggle {
  display: inline-block;
}

/* If more-less is set to items, hide items after the initial visible ones (e.g., after 3rd) */
.more-less[data-more-less-init="items"] [data-more-less-item]:nth-child(n + 4) {
  display: none;
}

/* When open, show all items and remove max-height */
.more-less.more-less-open [data-more-less-content] {
  max-height: none !important;
}
.more-less.more-less-open [data-more-less-item] {
  display: block !important;
}

/* No JS fallback: show all content and hide toggle/overlay */
:root:not(.oho-js) .more-less__content,
:root:not(.oho-js) .more-less__item {
  max-height: none !important;
  display: block !important;
}
:root:not(.oho-js) .more-less:after,
:root:not(.oho-js) .more-less__toggle,
.more-less--inactive:after,
.more-less--inactive .more-less__toggle {
  display: none;
}
/* ----------------------------------------
   NEXT STEPS STYLES
  Styles for the Next Steps component on program detail
---------------------------------------- */
.next-steps {
  padding-bottom: var(--spacing--4xlarge);
  padding-top: var(--spacing--3xlarge);
  background-color: var(--secondary--fuchsia);
  background-image: url("/themes/custom/holyoke/assets/img/flourette-pattern.png");
  background-size: 100px;
  background-attachment: fixed;
}

.next-steps h2 {
  margin-bottom: var(--spacing--medium);
  color: var(--white);
  font-size: 1.75rem;
  font-weight: 600;
}
@media print, screen and (min-width: 48.0625em) {
  .next-steps h2 {
    font-size: 4.5rem;
    margin-bottom: var(--spacing--large);
  }
}

.next-steps aside {
  background-color: var(--white);
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.11);
  padding: var(--spacing--default);
}
@media print, screen and (max-width: 48em) {
  .next-steps aside {
    margin-top: 2.5em;
  }
}

.next-steps__small-item + .next-steps__small-item {
  margin-top: var(--spacing--default);
}
.next-steps__small-item ul {
  margin-top: var(--spacing--xsmall);
  list-style: none;
  padding: 0;
}
.next-steps__small-item li + li {
  margin-top: var(--spacing--2xsmall);
}
.next-steps__small-item a {
  text-decoration: underline;
}
.next-steps__small-item a:hover,
.next-steps__small-item a:focus {
  text-decoration: none;
}

.next-steps__large-item + .next-steps__large-item {
  margin-top: var(--spacing--large);
}
.next-steps__large-item h3,
.next-steps__large-item p,
.next-steps__large-item a:not(.btn) {
  color: var(--white);
}
.next-steps__large-item a:not(.btn) {
  text-decoration: underline;
}
.next-steps__large-item a:not(.btn):hover,
.next-steps__large-item a:not(.btn):focus {
  text-decoration: none;
}
.next-steps__large-item .btn:hover,
.next-steps__large-item .btn:focus {
  border-color: var(--white);
}
@media print, screen and (max-width: 30em) {
  .next-steps__large-item .btn {
    display: block;
    text-align: center;
  }
}

/* Optional: If you want to add a border above .next-steps when following .solid-component on medium+ screens */
/*
.solid-component + .next-steps {
  @media (min-width: 769px) {
    border-top: 2px solid var(--white);
  }
}
*/
/* ----------------------------------------
   OHO ALERT AND BANNER STYLES
---------------------------------------- */
.oho-alert {
  position: relative;
  z-index: 2;
  background-color: var(--white);
  border: 3px solid var(--accent-purple);
  margin: 10px;
  outline: 10px solid var(--white);
  padding: 1.5em;
}

.oho-alert h2 {
  font-family: var(--sans-serif);
  font-size: 1.25rem;
  font-weight: 400;
  margin-top: 0;
}

.oho-alert .fa {
  color: var(--accent-purple);
  font-size: 3.25rem;
}

.oho-alert a:not(.btn) {
  color: var(--text-color);
}
.oho-banner {
  position: relative;
  z-index: 2;
  padding-top: var(--spacing--2xsmall);
  padding-bottom: var(--spacing--2xsmall);
  background-color: var(--accent-blue);
  color: var(--white);
}

.oho-banner a:not(.btn),
.oho-banner {
  color: var(--white);
}

.oho-banner .fas {
  color: var(--brand--bright-blue);
  font-size: 1.375rem;
}
/* ----------------------------------------
   PAGNATION STYLES
---------------------------------------- */
.pager {
  margin-top: 4rem;
  font-family: var(--sans-serif);
  font-size: 1.25rem;
}

/* Pager items container */
.pager__items {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Pager item */
.pager__item {
  margin-left: 0.25em;
}

/* Pager links */
.pager a {
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  padding: 0.5em 0.66em;
  transition: color var(--primary-transition);
  text-decoration: none;
  color: var(--link-color);
}
.pager a:hover {
  text-decoration: none;
  color: var(--black);
}
/* Active page */
.pager .is-active a {
  color: var(--text-color);
  font-weight: 600;
  border: 3px solid var(--gray--line);
}

/* Hide aria-hidden text */
.pager [aria-hidden="true"] {
  display: none;
}

/* Icon pagers */
.pager [class*="pager__item--"] a::before,
.pager [class*="pager__item--"] a::after {
  font-family: var(--font-awesome);
  color: var(--brand--bright-blue);
  font-size: 1.125rem; /* 18px */
  font-weight: 700;
  position: relative;
  top: 2px;
  display: inline-block;
}

/* First page icon */
.pager__item--first a::before {
  content: "\f100";
  margin-right: 0.25em;
}
/* Previous page icon */
.pager__item--previous a::before {
  content: "\f053";
  margin-right: 0.25em;
}
/* Next page icon */
.pager__item--next a::after {
  content: "\f054";
  margin-left: 0.25em;
}
/* Last page icon */
.pager__item--last a::after {
  content: "\f101";
  margin-left: 0.25em;
}

/* Icon hover/focus color */
.pager [class*="pager__item--"] a:hover::before,
.pager [class*="pager__item--"] a:focus::before,
.pager [class*="pager__item--"] a:hover::after,
.pager [class*="pager__item--"] a:focus::after {
  color: var(--brand--dark-blue) !important;
}

/* Hide page numbers and ellipsis on mobile */
@media print, screen and (max-width: 29.9375em) {
  .pager__items {
    justify-content: flex-start;
    margin-left: 1.25rem;
  }
  .pager__item:not([class*="pager__item--"]),
  .pager__item--ellipsis {
    display: none;
  }
  .pager__item.is-active {
    display: block;
  }
  .pager__label {
    display: none;
  }
}

/* Visually hidden adjustments for navigation arrows */
@media print, screen and (min-width: 40.0625em) {
  .pager__item--first .visually-hidden,
  .pager__item--previous .visually-hidden {
    margin-left: 0.5em;
    position: relative !important;
  }
  .pager__item--next .visually-hidden,
  .pager__item--last .visually-hidden {
    margin-right: 0.5em;
    position: relative !important;
  }
}

/* ----------------------------------------
   SEARCH STYLES
---------------------------------------- */
.site-search #search-block-form {
  position: relative;
  width: 100%;
  padding: 0.5em;
}

.site-search #search-block-form label {
  /* Visually hidden for screen readers */
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.site-search #search-block-form button {
  position: absolute;
  top: 0.5em;
  right: 0.5em;
  bottom: 0.5em;
  margin: 0;
  padding: 0.5em;
}

.site-search__toggle {
  display: none;
}


/* Focus state for search input */
.site-search #search-block-form .form-item .form-search:focus {
  border-bottom-color: var(--secondary--fuchsia);
}

.page--search .main-content h2 {
  margin-bottom: 0.5em;
}

.page--search .main-content .search-form .form-item {
  display: inline-block;
}

.page--search .main-content .search-form label {
  display: block;
}

.page--search .main-content .search-form [type="search"] {
  width: 100%;
  font-size: 1rem;
}

.page--search .main-content .search-form a {
  position: relative;
  color: var(--link-color);
  text-decoration: underline;
  cursor: pointer;
  font-weight: 600;
  transition: color var(--primary-transition);
  padding-right: 1.5em;
  display: inline-block;
  margin-bottom: 1.25em;
}
.page--search .main-content .search-form a::after {
  content: "\f061";
  font-family: var(--font-awesome);
  font-weight: 900;
  display: inline-block;
  margin-left: 0.5em;
  color: var(--brand--bright-blue);
  font-size: 1em;
  transition: color var(--primary-transition);
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
.page--search .main-content .search-form a:hover,
.page--search .main-content .search-form a:focus {
  color: var(--secondary--fuchsia);
}
.page--search .main-content .search-form a:hover::after,
.page--search .main-content .search-form a:focus::after {
  color: var(--secondary--fuchsia);
}

.page--search .main-content .search-results {
  padding: 0;
  list-style: none;
}

.page--search .main-content .search-result {
  padding-left: 0;
}
.page--search .main-content .search-result:before {
  display: none;
}
.page--search .main-content .search-result + .search-result {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--gray);
}
.page--search .main-content .search-result__title {
  margin: 0;
  font-family: var(--sans-serif);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.3;
}
.page--search .main-content .search-result__snippet {
  margin-bottom: 0;
}
/* ----------------------------------------
   SECTION HEADING STYLES
---------------------------------------- */
.section-heading {
  --accent-color: var(--primary-color);
  --text-color: var(--text-color);
  color: var(--text-color);
}
.section-heading__heading {
  font-family: var(--sans-serif);
  font-weight: 600;
  letter-spacing: 0;
  margin-top: 0;
}
.section-heading .btn {
  margin-right: 0;
}
.profile-section .section-heading__heading {
  font-family: var(--serif);
}
/* ----------------------------------------
   TABLE STYLES
---------------------------------------- */
/* Base Styles */
table {
  font-family: var(--sans-serif);
  font-size: 1rem;
  border-collapse: collapse;
  border-top: 1px solid var(--gray--line);
  width: 100%;
}

/* Table alignment (left) */
table[align="left"] {
  float: none;
}
@media print, screen and (min-width: 48.0625em) {
  table[align="left"] {
    float: left;
    margin-right: 2em;
  }
}

/* Table alignment (right) */
table[align="right"] {
  float: none;
}
@media print, screen and (min-width: 48.0625em) {
  table[align="right"] {
    float: right;
    margin-left: 2em;
  }
}

thead,
tbody {
  vertical-align: top;
}

thead {
  color: var(--black);
  border-right: 1px solid var(--gray--line);
  border-left: 1px solid var(--gray--line);
}

thead th {
  background: var(--brand--dark-blue);
  color: var(--white);
}

tbody {
  border-top: 0;
  border-left: 1px solid var(--gray--line);
}

tr {
  border-bottom: 1px solid var(--gray--line);
}

th {
  background: var(--brand--dark-blue-alternative);
  color: var(--white);
  padding: 1.25em 1.25em 0.9em;
  border-right: 1px solid var(--gray--line);
  border-bottom: 0;
  font-weight: 300;
  text-align: left;
  font-size: 1rem;
}

td {
  padding: 1em 1.25em;
  border-right: 1px solid var(--gray--line);
  font-size: 1rem;
}

/* Responsive Tables: scrollable on medium and down */
@media print, screen and (max-width: 61.9375em) {
  .mobile-table--scroll {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .mobile-table--scroll table {
    box-shadow: none;
    min-width: 37.5em;
    position: relative;
    z-index: -1;
  }
  .mobile-table--scroll.scrolled {
    box-shadow: none;
  }
  .mobile-table--scroll.scrolled table {
    z-index: 1;
  }
}

/* Gradient over table to indicate scrollable (add your own gradient if needed) */
/* You can add a ::after or ::before pseudo-element for the gradient if desired */
/* ----------------------------------------
   TABS STYLES
---------------------------------------- */
.general--tabs h2.section-heading__heading {
  font-family: var(--serif);
  font-weight: 700;
}
@media print, screen and (max-width: 64.06125em) {
  .tabs__buttons {
    display: none;
  }
}
@media print, screen and (min-width: 64.0625em) {
  .tabs__buttons {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--gray--line);
    border-bottom: 1px solid var(--gray--line);
    padding-left: calc(50vw - 580px);
    padding-right: calc(50vw - 580px);
  }
  :root:not(.oho-js) .tabs__buttons {
    display: none;
  }
  .tabs__buttons li {
    margin-left: 0;
    padding-left: 0;
  }
  .tabs__button {
    border: none;
    font-weight: bold;
    font-size: 1.125rem;
    text-transform: none;
    letter-spacing: 0;
    padding: var(--spacing--default);
  }
  .tabs__button[aria-selected="false"] {
    color: var(--text-color);
    background-color: var(--white);
    border-right: 1px solid var(--gray--line);
  }
  .tabs__button[aria-selected="false"]:first-child {
    border-left: 1px solid var(--gray--line);
  }
  .tabs__button[aria-selected="false"]:hover,
  .tabs__button[aria-selected="false"]:focus {
    background-color: rgba(153, 214, 234, 0.18);
  }
  .tabs__button[aria-selected="true"] {
    color: var(--white);
    background-color: var(--secondary--fuchsia);
  }
  .tabs .accordion {
    display: block;
    margin-top: var(--spacing--4xlarge);
  }
  .tabs .accordion::before,
  .tabs .accordion::after {
    display: table;
    content: " ";
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .tabs .accordion::after {
    clear: both;
  }
  .tabs .accordion[aria-hidden="true"] {
    display: none;
  }
  .tabs .accordion__button {
    display: none;
  }
  :root:not(.oho-js) .tabs .accordion__button {
    display: block;
  }
  .tabs .accordion[aria-hidden="false"] .accordion__content {
    display: block !important;
  }
}
ol.tabs__buttons > li::before {
  display: none;
}
@media print, screen and (max-width: 64.0613em) {
  .tabs .accordion__button {
    border: none;
    text-transform: none;
    color: var(--primary-color);
    font-size: 16px;
    padding: 30px 20px;
  }
}
@media print, screen and (max-width: 64.0613em) {
  .tabs {
    -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.11);
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.11);
  }
}
@media print, screen and (max-width: 64.0613em) {
  .tabs .accordion__content {
    border: none;
    padding-right: 20px;
    padding-left: 20px;
  }
}
@media print, screen and (max-width: 64.0613em) {
  .tabs .accordion + .accordion {
    margin-top: 0;
    border-top: 1px solid var(--gray--line);
  }
}
@media print, screen and (min-width: 64.0625em) {
  .general--tabs .accordion {
    margin-top: 4.5rem;
    max-width: 72.5rem;
    margin-right: auto;
    margin-left: auto;
  }
}
.general--tabs .accordion__content,
.course-integration--tabs .accordion__content {
  border: none;
}
fieldset {
  color: var(--text-color);
  text-transform: none;
}
/* ----------------------------------------
   TAGS STYLES
---------------------------------------- */
/* Tag list container */
.tags {
  /* If not the first child, add top margin */
  margin-top: var(--spacing--xsmall);
}

/* Tag list */
.tags ul {
  display: inline-block;
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: var(--sans-serif);
  font-weight: 700;
}

/* Tag list items */
.tags li {
  display: inline-block;
}

/* Add a bullet between tag items except the last */
.tags li:nth-last-child(n + 2)::after {
  content: "\2022";
  display: inline-block;
  margin-left: 1em;
  margin-right: 1em;
}

/* Section followed by tags: add spacing and background line */
section + .tags {
  margin-top: 2rem;
  padding-top: 2rem;
  background-image: linear-gradient(
    to right,
    var(--gray--dark) 0,
    var(--gray--dark) 4em,
    transparent 4em
  );
  background-repeat: no-repeat;
  background-size: 100% 0.0625em;
}
/* ----------------------------------------
   TOOLBAR STYLES
---------------------------------------- */
.toolbar-fixed {
  padding-top: 39px;
}

@media screen and (max-width: 765px) {
  .toolbar-fixed .toolbar-tray {
    display: none !important;
  }
}

@media screen and (min-width: 976px) {
  .toolbar-fixed {
    padding-top: 79px;
  }
}

.toolbar-menu li:hover > ul {
  display: block !important;
  position: absolute;
  width: 200px;
  box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.4);
  z-index: 1;
}
/* ----------------------------------------
   TOOLTIP STYLES
---------------------------------------- */
.tooltip > * {
  display: inline;
}

.tooltip {
  position: relative;
  z-index: 3;
  font-weight: 700;
}

.tooltip p {
  font-family: var(--sans-serif);
  font-size: 0.875rem;
}

.tooltip__toggle:hover {
  background: none;
  color: var(--brand--dark-blue);
}

.tooltip__toggle:focus {
  background: none;
  color: var(--brand--bright-blue);
  outline: 1px solid var(--brand--bright-blue);
  outline-offset: 2px;
}

.tooltip--open .tooltip__toggle i::before {
  font-family: var(--font-awesome);
  /* content: "\f00d"; */
}

.tooltip--open .tooltip__toggle::before {
  content: "\25B2";
  width: 1.5625rem;
  height: 1.5625rem;
  transform: translateY(13px) translateX(1%);
  position: absolute;
  right: 0;
  color: var(--white);
  font-size: 1.4375rem;
  text-shadow: 0px -3px 5px rgba(0, 0, 0, 0.08);
}

.tooltip--open {
  z-index: 4;
}

.tooltip__content {
  display: none;
  font-weight: normal;
  border-top: 0.625rem solid transparent;
  position: absolute;
  width: 15.625rem;
  max-width: 90vw;
  text-align: left;
  margin-top: -3px;
  margin-left: calc(var(--tooltip-viewport-offset) - 1.25rem);
  font-size: 1rem;
}

.tooltip--open .tooltip__content {
  display: block;
}

.tooltip__content__inner {
  padding: var(--spacing--xsmall);
  background: var(--white);
  box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.21);
  color: var(--text-color);
  font-size: 1rem;
}

@media screen and (max-width: 639px) {
  .tooltip--open .tooltip__content__inner {
    width: calc(100vw - 40px);
  }
}

.checkbox-container .tooltip {
  position: absolute;
}

.checkbox-container .tooltip__content {
  transform: translateX(-40px);
}

.checkbox-container [type="checkbox"] + label,
.checkbox-container [type="radio"] + label {
  display: inline;
}

.checkbox-container .tooltip--open .tooltip__toggle:before,
.checkbox-container .tooltip--open .tooltip__toggle:after {
  transform: translateY(20px) translateX(3%);
}

[data-tooltip-active="true"] {
  z-index: 5 !important;
}

/* ----------------------------------------
   ACTIVE FILTERS STYLES - D10
---------------------------------------- */
.vaf {
  position: relative;
  z-index: 1;
  background-color: #004876;
  padding: 40px 0;
}
@media print, screen and (min-width: 48.0625em) {
  .vaf {
    margin-top: -50px;
    padding-top: 100px;
    padding-bottom: 50px;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .vaf .cell {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}
.vaf .vaf__heading {
  font-family: var(--sans-serif);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.625;
  color: var(--white);
}
@media print, screen and (min-width: 64.0625em) {
  .vaf .vaf__heading {
    font-size: 1.125rem;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .vaf .vaf__heading {
    margin-right: 1em;
  }
}
.active-filters {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.active-filters .vaf {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
.active-filters ul {
  margin-top: 0;
  list-style: none;
}
.active-filters li {
  display: inline-block;
}
.active-filters li:not(:last-child) {
  margin-right: 0.625rem;
}
.active-filters li::before {
  display: none;
}
.active-filters ul button {
  -webkit-transition:
    color 0.5s cubic-bezier(0.82, 0.06, 0.14, 0.97),
    background 0.5s cubic-bezier(0.82, 0.06, 0.14, 0.97),
    border 0.5s cubic-bezier(0.82, 0.06, 0.14, 0.97);
  transition:
    color 0.5s cubic-bezier(0.82, 0.06, 0.14, 0.97),
    background 0.5s cubic-bezier(0.82, 0.06, 0.14, 0.97),
    border 0.5s cubic-bezier(0.82, 0.06, 0.14, 0.97);
  font-family: "ars-maquette-web", georgia, sans-serif;
  border-width: 0.1875rem;
  border-style: solid;
  color: var(--text-color);
  display: inline-block;
  position: relative;
  z-index: 2;
  line-height: 1.1;
  letter-spacing: 0.0625rem;
  text-decoration: none;
  margin-right: 0.3125rem;
  margin-bottom: 0.3125rem;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 0.875rem;
  padding: 0.9375rem 1.25rem 0.85rem;
  border-color: var(--secondary--fuchsia);
  background: var(--white);
}
.active-filters ul button::before,
.active-filters ul button::after {
  -webkit-transition:
    color 0.5s cubic-bezier(0.82, 0.06, 0.14, 0.97),
    background 0.5s cubic-bezier(0.82, 0.06, 0.14, 0.97),
    border 0.5s cubic-bezier(0.82, 0.06, 0.14, 0.97),
    opacity 0.5s cubic-bezier(0.82, 0.06, 0.14, 0.97);
  transition:
    color 0.5s cubic-bezier(0.82, 0.06, 0.14, 0.97),
    background 0.5s cubic-bezier(0.82, 0.06, 0.14, 0.97),
    border 0.5s cubic-bezier(0.82, 0.06, 0.14, 0.97),
    opacity 0.5s cubic-bezier(0.82, 0.06, 0.14, 0.97);
}
.active-filters ul button:hover {
  cursor: pointer;
}
.active-filters ul button:hover,
.active-filters ul button:focus {
  text-decoration: none;
  outline: none;
}
.active-filters ul button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}
.active-filters ul button:before,
.active-filters ul button:after {
  color: var(--secondary--fuchsia);
}
.active-filters ul button:hover:not(:disabled),
.active-filters ul button:focus:not(:disabled) {
  color: var(--white);
  border-color: var(--secondary--fuchsia);
  background: var(--secondary--fuchsia);
}
.active-filters ul button:hover:not(:disabled):before,
.active-filters ul button:hover:not(:disabled):after,
.active-filters ul button:focus:not(:disabled):before,
.active-filters ul button:focus:not(:disabled):after {
  color: var(--white);
}
@media print, screen and (min-width: 48.0625em) {
  .active-filters ul button {
    font-size: 1rem;
    line-height: 1.4;
  }
}
@media print, screen and (min-width: 64.0625em) {
  .active-filters ul button {
    font-size: 1rem;
  }
}
.active-filters ul button:hover::after {
  /* content: '\f00d'; */
  color: var(--white);
  font-family: var(--font-awesome);
}
.active-filters button::after {
  margin-left: 0.625rem;
  /* content: '\f00d'; */
  color: var(--white);
  font-family: var(--font-awesome);
  font-weight: 100;
}
.active-filters .vaf__clear {
  background-color: rgba(0, 0, 0, 0);
  font-family: var(--sans-serif);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.625;
  color: var(--white);
  text-transform: none;
  padding-right: 0;
  padding-left: 0;
}
@media print, screen and (min-width: 64.0625em) {
  .active-filters .vaf__clear {
    font-size: 1.125rem;
  }
}
.active-filters .vaf__clear:hover,
.active-filters .vaf__clear:focus {
  text-decoration: underline;
  background-color: rgba(0, 0, 0, 0);
}
@media print, screen and (min-width: 48.0625em) {
  .active-filters .vaf__clear {
    margin-left: auto;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .active-filters li {
    margin-top: 0;
  }
}
@media print, screen and (max-width: 48.06125em) {
  .active-filters ul {
    padding: 0;
  }
  .active-filters .vaf__clear {
    margin-top: 1.25rem;
  }
}
@media print, screen and (max-width: 64.06125em) {
  .active-filters ul li {
    text-align: left;
  }
  .active-filters .cell:last-child {
    text-align: left;
  }
  .active-filters button {
    margin-left: 0.3125rem;
  }
}
.views-filter-url {
  display: none;
}
[class*="toolbar"] .views-filter-url {
  display: flex;
}
/* Align left utility */
.align-left {
  float: none;
  margin: var(--spacing--small) 0;
}
@media print, screen and (min-width: 48.0625em) {
  .align-left {
    float: left;
    margin: var(--spacing--medium) var(--spacing--xsmall) var(--spacing--xsmall)
      0;
  }
}
@media print, screen and (min-width: 75em) {
  .align-left {
    margin: var(--spacing--default) var(--spacing--small) var(--spacing--small)
      0;
  }
}
/* Align right utility */
.align-right {
  float: none;
  margin: var(--spacing--xsmall) 0;
}
@media print, screen and (min-width: 48.0625em) {
  .align-right {
    float: right;
    margin: var(--spacing--medium) 0 var(--spacing--xsmall)
      var(--spacing--xsmall);
  }
}
@media print, screen and (min-width: 75em) {
  .align-right {
    margin: var(--spacing--default) 0 var(--spacing--small)
      var(--spacing--small);
  }
}
/* Align center utility */
.align-center {
  display: table;
  margin: var(--spacing--xsmall) auto;
}

/* Show for screen readers only */
.show-for-sr {
  position: absolute !important;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px !important;
  height: 1px !important;
}
/* Box sizing and base resets */
html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  color: var(--text-color);
  font-family: var(--sans-serif);
  font-size: 1rem;
}

main {
  display: block;
}

button {
  cursor: pointer;
  font-size: 1rem;
}

iframe {
  max-width: 100%;
}

/* Margin and padding resets */
dl,
pre {
  margin: 0;
  padding: 0;
}

/* Helper Classes */
.clearfix::after {
  clear: both;
}
.clearfix::before,
.clearfix::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

/* Visually hidden / screen reader only */
.show-for-sr,
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Skip link focus styles */
.skip-link a:focus {
  position: absolute !important;
  overflow: visible;
  clip: unset;
  width: auto;
  height: auto;
  padding: 10px;
  font-size: 22px;
  color: var(--white);
  font-weight: 700;
  background: var(--black);
  z-index: 999;
  font-family: var(--sans-serif);
}

/* Override Blazy module position style */
body .media--blazy {
  position: static;
}
/* ----------------------------------------
   WYSIWYG STYLES
---------------------------------------- */
/* WYSIWYG block spacing */
.wysiwyg-block .wysiwyg:last-child,
.wysiwyg-block .callout-box,
.landing-page > div .wysiwyg:last-child {
  margin-bottom: 25px;
}
@media print, screen and (min-width: 48.0625em) {
  .wysiwyg-block .wysiwyg:last-child,
  .wysiwyg-block .callout-box,
  .landing-page > div .wysiwyg:last-child {
    margin-bottom: 40px;
  }
}
@media print, screen and (min-width: 64.0625em) {
  .wysiwyg-block .wysiwyg:last-child,
  .wysiwyg-block .callout-box,
  .landing-page > div .wysiwyg:last-child {
    margin-bottom: 60px;
  }
}

@media print, screen and (min-width: 64.0625em) {
  .wysiwyg li {
    font-size: 1.125rem;
  }
}
/* Base font for WYSIWYG content */
.wysiwyg-block body {
  font-family: var(--sans-serif);
}
.wysiwyg ol,
.wysiwyg ul {
  padding-left: 0.625rem;
}
/* Horizontal rule with spacing */
.wysiwyg-block hr {
  margin-top: var(--spacing--default);
  margin-bottom: var(--spacing--default);
  height: 1px;
  border: 0;
  border-top-width: 0px;
  border-top-style: none;
  border-top-color: currentcolor;
  border-top: 1px solid var(--gray--line);
}

/* Alignment utilities */
.wysiwyg-block .align-right,
.wysiwyg-block .obj-right {
  float: none;
  margin: var(--spacing--xsmall) 0;
}
@media print, screen and (min-width: 48.0625em) {
  .wysiwyg-block .align-right,
  .wysiwyg-block.obj-right {
    float: right;
    margin: var(--spacing--medium) 0 var(--spacing--xsmall)
      var(--spacing--xsmall);
  }
}
@media print, screen and (min-width: 75em) {
  .wysiwyg-block.align-right,
  .wysiwyg-block.obj-right {
    margin: var(--spacing--default) 0 var(--spacing--small)
      var(--spacing--small);
  }
}
.align-right img,
.obj-right img {
  display: block;
}

.align-left,
.obj-left {
  float: none;
  margin: var(--spacing--small) 0;
}
@media print, screen and (min-width: 48.0625em) {
  .align-left,
  .obj-left {
    float: left;
    margin: var(--spacing--medium) var(--spacing--xsmall) var(--spacing--xsmall)
      0;
  }
}
@media print, screen and (min-width: 75em) {
  .align-left,
  .obj-left {
    margin: var(--spacing--default) var(--spacing--small) var(--spacing--small)
      0;
  }
}
.align-left img,
.obj-left img {
  display: block;
}

.align-center,
.obj-center {
  display: table;
  margin: var(--spacing--xsmall) auto;
}
.align-center img,
.obj-center img {
  display: block;
}

/* Embedded media responsive video */
[data-embed-button="ohou_media_embed"] .video-embed-field-responsive-video {
  width: 100%;
}

/* Figure alignment and caption styles */
figure.align-center,
figure.obj-center,
.align-center,
.obj-center {
  display: block;
}
figure.align-center figcaption,
figure.obj-center figcaption,
.align-center figcaption,
.obj-center figcaption {
  width: 0px;
  min-width: 100%;
}
.btn--centered {
  margin-left: 50%;
  transform: translateX(-50%);
}
figure.align-left,
figure.obj-left,
figure.align-right,
figure.obj-right,
.align-left,
.obj-left,
.align-right,
.obj-right {
  display: inline-block;
}
figure.align-left.responsive-video-iframe,
figure.obj-left.responsive-video-iframe,
figure.align-right.responsive-video-iframe,
figure.obj-right.responsive-video-iframe,
.align-left.responsive-video-iframe,
.obj-left.responsive-video-iframe,
.align-right.responsive-video-iframe,
.obj-right.responsive-video-iframe {
  min-width: 40%;
}
figure[role="group"] {
  display: table;
}
figure[role="group"] figcaption {
  display: table-caption;
}
figcaption {
  font-family: var(--sans-serif);
  font-size: 0.875rem;
  font-style: italic;
  margin-top: 0.9375rem;
  caption-side: bottom;
  color: var(--gray--dark);
  line-height: 2;
  padding-bottom: var(--spacing--2xsmall);
  position: relative;
}
@media print, screen and (min-width: 75em) {
  figcaption::after {
    width: 6.25rem;
  }
}
/* WYSIWYG item scope for spacing */
.ck_editable p,
.ck_editable ul,
.ck_editable ol,
.ck_editable .section--wysiwyg li,
.ck_editable .cke_editable li,
.ck_editable .intro-text,
.ck_editable blockquote,
.ck_editable .btn,
.ck_editable h1,
.ck_editable h2,
.ck_editable h3,
.ck_editable h4,
.ck_editable h5,
.ck_editable h6,
.ck_editable .link-arrow,
.wysiwyg p,
.wysiwyg ul,
.wysiwyg ol,
.wysiwyg .section--wysiwyg li,
.wysiwyg .cke_editable li,
.wysiwyg .intro-text,
.wysiwyg blockquote,
.wysiwyg .btn,
.wysiwyg h1,
.wysiwyg h2,
.wysiwyg h3,
.wysiwyg h4,
.wysiwyg h5,
.wysiwyg h6,
.wysiwyg .link-arrow {
  margin-top: 1.25rem;
  margin-bottom: 0;
}
.ck_editable h3,
.ck_editable h4,
.ck_editable h5,
.ck_editable h6,
.ck_editable blockquote,
.wysiwyg h3,
.wysiwyg h4,
.wysiwyg h5,
.wysiwyg h6,
.wysiwyg blockquote {
  margin-top: 1.875rem;
}
.wysiwyg .intro-text,
.ck_editable .intro-text {
  margin-top: var(--spacing--small);
}
.wysiwyg p,
.wysiwyg ol,
.wysiwyg ul,
.ck_editable p,
.ck_editable ol,
.ck_editable ul {
  margin-top: var(--spacing--small);
}

/* Mobile table spacing */
.mobile-table {
  margin-bottom: var(--spacing--large);
  margin-top: var(--spacing--large);
  padding: 0;
}
.mobile-table table {
  margin: 0;
  table-layout: fixed;
}

/* Remove top margin for first child in WYSIWYG containers */
.card p:first-child,
.card ul:first-child,
.card ol:first-child,
.card .section--wysiwyg li:first-child,
.card .cke_editable li:first-child,
.card .intro-text:first-child,
.card blockquote:first-child,
.card .btn:first-child,
.card h1:first-child,
.card h2:first-child,
.card h3:first-child,
.card h4:first-child,
.card h5:first-child,
.card h6:first-child,
.card .link-arrow:first-child,
section p:first-child,
section ul:first-child,
section ol:first-child,
section .section--wysiwyg li:first-child,
section .cke_editable li:first-child,
section .intro-text:first-child,
section blockquote:first-child,
section .btn:first-child,
section h1:first-child,
section h2:first-child,
section h3:first-child,
section h4:first-child,
section h5:first-child,
section h6:first-child,
section .link-arrow:first-child,
header p:first-child,
header ul:first-child,
header ol:first-child,
header .section--wysiwyg li:first-child,
header .cke_editable li:first-child,
header .intro-text:first-child,
header blockquote:first-child,
header .btn:first-child,
header h1:first-child,
header h2:first-child,
header h3:first-child,
header h4:first-child,
header h5:first-child,
header h6:first-child,
header .link-arrow:first-child,
.listing-item p:first-child,
.listing-item ul:first-child,
.listing-item ol:first-child,
.listing-item .section--wysiwyg li:first-child,
.listing-item .cke_editable li:first-child,
.listing-item .intro-text:first-child,
.listing-item blockquote:first-child,
.listing-item .btn:first-child,
.listing-item h1:first-child,
.listing-item h2:first-child,
.listing-item h3:first-child,
.listing-item h4:first-child,
.listing-item h5:first-child,
.listing-item h6:first-child,
.listing-item .link-arrow:first-child,
.section--wysiwyg p:first-child,
.section--wysiwyg ul:first-child,
.section--wysiwyg ol:first-child,
.section--wysiwyg .section--wysiwyg li:first-child,
.section--wysiwyg .cke_editable li:first-child,
.section--wysiwyg .intro-text:first-child,
.section--wysiwyg blockquote:first-child,
.section--wysiwyg .btn:first-child,
.section--wysiwyg h1:first-child,
.section--wysiwyg h2:first-child,
.section--wysiwyg h3:first-child,
.section--wysiwyg h4:first-child,
.section--wysiwyg h5:first-child,
.section--wysiwyg h6:first-child,
.section--wysiwyg .link-arrow:first-child,
.wysiwyg p:first-child,
.wysiwyg ul:first-child,
.wysiwyg ol:first-child,
.wysiwyg .section--wysiwyg li:first-child,
.wysiwyg .cke_editable li:first-child,
.wysiwyg .intro-text:first-child,
.wysiwyg blockquote:first-child,
.wysiwyg .btn:first-child,
.wysiwyg h1:first-child,
.wysiwyg h2:first-child,
.wysiwyg h3:first-child,
.wysiwyg h4:first-child,
.wysiwyg h5:first-child,
.wysiwyg h6:first-child,
.wysiwyg .link-arrow:first-child {
  margin-top: 0;
}

/* Nested list spacing */
.ck_editable ol ol,
.ck_editable ol ul,
.ck_editable ul ol,
.ck_editable ul ul,
.section--wysiwyg ol ol,
.section--wysiwyg ol ul,
.section--wysiwyg ul ol,
.section--wysiwyg ul ul,
.wysiwyg ol ol,
.wysiwyg ol ul,
.wysiwyg ul ol,
.wysiwyg ul ul {
  margin-top: var(--spacing--small);
  margin-bottom: var(--spacing--small);
}
.ck_editable li,
.section--wysiwyg li,
.wysiwyg li {
  margin-top: var(--spacing--2xsmall);
}

/* Large breakpoint: left padding for wysiwyg-block */
@media print, screen and (min-width: 64.0625em) {
  .wysiwyg-block .wysiwyg {
    padding-left: 100px;
  }
}

/* Remove margin and min-width from iframe in WYSIWYG */
.ck_editable iframe,
.wysiwyg iframe {
  margin-bottom: 0 !important;
  min-width: 0 !important;
}

/* Article alignment and image spacing */
.ck_editable article.align-center,
.wysiwyg article.align-center {
  margin-top: var(--spacing--large);
}
.ck_editable article.align-center img,
.wysiwyg article.align-center img {
  margin-top: var(--spacing--default);
  margin-bottom: var(--spacing--default);
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

@media print, screen and (min-width: 75em) {
  .ck_editable article.align-left,
  .wysiwyg article.align-left {
    margin-left: -6.25em;
  }
}

/* Figure alignment and caption/image width */
@media print, screen and (min-width: 75em) {
  .ck_editable figure.align-left,
  .wysiwyg figure.align-left {
    margin-left: -6.25em;
  }
}
.ck_editable figure.align-center,
.wysiwyg figure.align-center {
  margin-top: var(--spacing--large);
  display: block;
  width: 100%;
}
.ck_editable figure.align-center figcaption,
.ck_editable figure.align-center img,
.wysiwyg figure.align-center figcaption,
.wysiwyg figure.align-center img {
  display: block;
  width: 100%;
}
.ck_editable figure.align-center img,
.wysiwyg figure.align-center img {
  margin-bottom: var(--spacing--medium);
}

.ck-content img {
  max-width: 100%;
  height: auto;
}

.ck-content h1,
.ck-content h2,
.ck-content h3,
.ck-content h4,
.ck-content h5,
.ck-content h6,
.ck-content p {
  font-family: var(--sans-serif);
  font-size: 1.125rem;
  font-weight: 200;
  line-height: 1.7;
}

.ck-content p {
  font-size: 1rem;
}

.ck-content blockquote {
  padding-left: var(--spacing--default);
  padding-top: var(--spacing--2xsmall);
  padding-bottom: var(--spacing--2xsmall);
  border-left: 5px solid var(--accent-green);
  position: relative;
  margin: 0 auto;
}

.ck-content blockquote p {
  font-style: italic;
}

@media print, screen and (min-width: 64.0625em) {
  .ck-content blockquote.align-left,
  .ck-content blockquote.align-right {
    max-width: 432.5px;
  }
}

/* Left-aligned blockquote */
.ck-content blockquote.align-left {
  float: none;
}
@media print, screen and (min-width: 64.0625em) {
  .ck-content blockquote.align-left {
    float: left;
    border-left: 0;
    border-right: 5px solid var(--black);
    margin-left: -100px;
    margin-right: 70px;
    padding-right: var(--spacing--default);
    padding-left: 0;
    text-align: right;
  }
}

/* Right-aligned blockquote */
.ck-content blockquote.align-right {
  float: none;
  margin-left: 0;
}
@media print, screen and (min-width: 64.0625em) {
  .ck-content blockquote.align-right {
    float: right;
    margin-left: 70px;
  }
}

/* Flattened .ck-content nested selectors */
.ck-content img {
  max-width: 100%;
  height: auto;
}

.ck-content h1,
.ck-content h2,
.ck-content h3,
.ck-content h4,
.ck-content h5,
.ck-content h6,
.ck-content p {
  font-family: var(--sans-serif);
  font-size: 1.125rem;
  font-weight: 200;
  line-height: 1.7;
}

.ck-content p {
  font-size: 1rem;
}

.ck-content blockquote {
  padding-left: var(--spacing--default);
  padding-top: var(--spacing--2xsmall);
  padding-bottom: var(--spacing--2xsmall);
  border-left: 5px solid var(--accent-green);
  position: relative;
  margin: 0 auto;
}

.ck-content blockquote p {
  font-style: italic;
}

@media print, screen and (min-width: 64.0625em) {
  .ck-content blockquote.align-left,
  .ck-content blockquote.align-right {
    max-width: 432.5px;
  }
}

/* Left-aligned blockquote */
.ck-content blockquote.align-left {
  float: none;
}
@media print, screen and (min-width: 64.0625em) {
  .ck-content blockquote.align-left {
    float: left;
    border-left: 0;
    border-right: 5px solid var(--black);
    margin-left: -100px;
    margin-right: 70px;
    padding-right: var(--spacing--default);
    padding-left: 0;
    text-align: right;
  }
}

/* Right-aligned blockquote */
.ck-content blockquote.align-right {
  float: none;
  margin-left: 0;
}
@media print, screen and (min-width: 64.0625em) {
  .ck-content blockquote.align-right {
    float: right;
    margin-left: 70px;
  }
}

/* Flattened .ck-content nested selectors */
.ck-content img {
  max-width: 100%;
  height: auto;
}

.ck-content h1,
.ck-content h2,
.ck-content h3,
.ck-content h4,
.ck-content h5,
.ck-content h6,
.ck-content p {
  font-family: var(--sans-serif);
  font-size: 1.125rem;
  font-weight: 200;
  line-height: 1.7;
}

.ck-content p {
  font-size: 1rem;
}

.ck-content blockquote {
  padding-left: var(--spacing--default);
  padding-top: var(--spacing--2xsmall);
  padding-bottom: var(--spacing--2xsmall);
  border-left: 5px solid var(--accent-green);
  position: relative;
  margin: 0 auto;
}

.ck-content blockquote p {
  font-style: italic;
}

@media print, screen and (min-width: 64.0625em) {
  .ck-content blockquote.align-left,
  .ck-content blockquote.align-right {
    max-width: 432.5px;
  }
}

/* Left-aligned blockquote */
.ck-content blockquote.align-left {
  float: none;
}
@media print, screen and (min-width: 64.0625em) {
  .ck-content blockquote.align-left {
    float: left;
    border-left: 0;
    border-right: 5px solid var(--black);
    margin-left: -100px;
    margin-right: 70px;
    padding-right: var(--spacing--default);
    padding-left: 0;
    text-align: right;
  }
}

/* Right-aligned blockquote */
.ck-content blockquote.align-right {
  float: none;
  margin-left: 0;
}
@media print, screen and (min-width: 64.0625em) {
  .ck-content blockquote.align-right {
    float: right;
    margin-left: 70px;
  }
}

@media print, screen and (min-width: 64.0625em) {
  .ck_editable figure figcaption,
  .wysiwyg figure figcaption {
    padding-bottom: 0.9375rem;
  }
}
.ck_editable figure figcaption,
.wysiwyg figure figcaption {
  font-size: 0.875rem;
  line-height: 2;
  padding-bottom: 0.625rem;
  position: relative;
}

/* End of WYSIWYG styles */

.related {
  margin-top: var(--spacing--xlarge);
}
.modal {
  display: none;
}

.date {
  display: block;
  font-family: var(--sans-serif);
  font-weight: 600;
  /*
  // Uncomment and use if you want a calendar icon before the date:
  // content: '\f133';
  // font-family: var(--font-awesome);
  // font-weight: 400;
  // margin-right: .5rem;
  */
}
/* ----------------------------------------
   OVERIDES
---------------------------------------- */
/* Make the "sticky" Top Bar play nice with the "fixed" Admin Menu */
.admin-menu .fixed {
  top: 29px;
}

/* Remove the bottom padding on status messages inside a Zurb Foundation Reveal modal */
#status-messages.reveal-modal .alert-box {
  margin-bottom: 0;
}

/* Fix Zurb Foundation Reveal Modal z-index */
.reveal-modal {
  z-index: 999;
}

/* Override Drupal Core pager styles */
.item-list .pager {
  clear: none;
}
.item-list .pager li {
  padding: 0;
}

/* Hide elements with .hidden */
.hidden {
  display: none;
}

/* Override Field collection styles */
.field-collection-container {
  border-bottom: none;
  margin-bottom: 0;
}
.field-collection-container .field-items .field-item {
  margin-bottom: 0;
}
.field-collection-view {
  margin: 0;
  padding: 0;
  border-bottom: none;
}
/* Global theme styles for Drupal 8, flattened and using CSS variables from variables.css */

/* Visually hidden (screen reader only) */
.element-invisible {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Embedded items, like videos, need 100% width if not aligned */
.embedded-entity:not([class*="align-"]) {
  margin-top: var(--spacing--medium);
  width: 100%;
}

code {
  background-color: var(--gray--xlight);
  font-size: 1rem;
}

pre code {
  display: block;
  padding: 1em;
  border: solid 1px var(--gray--dark);
  font-size: 1rem;
}

.base-key {
  max-width: 37.5rem;
  margin-bottom: 2rem;
  padding: 1rem 1rem 0;
  border: solid 1px var(--accent-orange);
  background-color: var(--gray--xlight);
  font-family: monospace;
  line-height: 1.5;
  font-size: 1rem;
}
.base-key dt {
  float: left;
  clear: left;
  width: 5rem;
  font-family: var(--sans-serif);
  font-weight: 700;
  font-size: 1rem;
}
.base-key dt,
.base-key dd {
  margin-bottom: 0.75rem;
  font-size: 1rem;
}
.base-key ul {
  display: inline-block;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 1rem;
}
.base-key li {
  margin-bottom: 0.375rem;
  font-size: 1rem;
}

/* Aspect ratio utility for glossary images */
.functional-glossary-aspect-ratio {
  position: relative;
  width: 100%;
}
.functional-glossary-aspect-ratio::before {
  content: "";
  display: block;
  padding-top: 66.7%; /* 0.667 aspect ratio */
}
.functional-glossary-aspect-ratio img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ck-content img {
  /* Images */
  max-width: 100%;
  height: auto;
}

/* Blockquotes */

@media print, screen and (min-width: 64.0625em) {
  blockquote.align-left,
  blockquote.align-right {
    max-width: 432.5px;
  }
}
/* Left-aligned blockquote */
blockquote.align-left {
  float: none;
}
@media print, screen and (min-width: 64.0625em) {
  blockquote.align-left {
    float: left;
    border-left: 0;
    border-right: 5px solid var(--black);
    margin-left: -100px;
    margin-right: 70px;
    padding-right: var(--spacing--default);
    padding-left: 0;
    text-align: right;
  }

  /* Right-aligned blockquote */
  blockquote.align-right {
    float: none;
    margin-left: 0;
  }
}

@media print, screen and (min-width: 48.0625em) {
  .admin-tabs {
    right: 1.25rem;
    bottom: 1.25rem;
    left: 1.25rem;
  }
}
@media print, screen and (min-width: 40.0625em) {
  .admin-tabs {
    left: auto;
  }
}
.admin-tabs {
  position: fixed;
  z-index: 10;
  margin: 0;
  background: var(--gray--dark);
}

.admin-tabs ul {
  overflow: hidden;
  margin: 0;
  padding: 0;
  list-style: none;
}

.admin-tabs li {
  display: inline-block;
}
.admin-tabs li + li {
  margin-left: 0.5em;
}

.admin-tabs a {
  display: block;
  margin: 0;
  padding: 0.5em 1em;
  -webkit-transition: background-color 150ms
    cubic-bezier(0.42, 0.08, 0.06, 0.98);
  transition: background-color 150ms cubic-bezier(0.42, 0.08, 0.06, 0.98);
  text-decoration: none;
  color: var(--white);
  border-radius: 0.25em;
  background-color: var(--brand--dark-blue-alternative);
  font-size: 1.125rem;
  font-weight: 700;
}
.admin-tabs a:hover {
  background-color: var(--primary-color--dark);
}
.admin-tabs a.is-active {
  background-color: #0a395a;
}


.js .js-hide {
  display: none;
}
.js-show {
  display: none;
}
.js .js-show {
  display: block;
}

.maintenance-page {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  height: 100vh;
}
.maintenance-page > .main-content {
  margin-bottom: 100px;
  padding-top: 40px;
}
.maintenance-page > footer {
  flex: 1 1 auto;
  align-self: flex-end;
  width: 100%;
  padding-top: 20px;
}

.system-messages {
  position: fixed;
  z-index: 10;
  bottom: 9rem;
}
@media print, screen and (max-width: 40em) {
  .system-messages {
    bottom: 6.5rem;
  }
}
@media print, screen and (min-width: 64.0625em) {
  .system-messages {
    right: auto;
    bottom: var(--spacing--medium, 30px);
  }
}
.messages {
  margin-top: var(--spacing--medium, 30px);
  padding: var(--spacing--small, 20px);
  border: 0.0625rem solid;
  border-radius: 0.25rem;
}
.messages ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.messages li + li {
  margin-top: var(--spacing--small, 20px);
}
.messages a {
  text-decoration: underline;
  color: inherit;
  font-weight: 700;
}
.messages--status {
  color: var(--message-success);
  border-color: var(--message-success);
  background: rgba(60, 118, 61, 0.4);
}
.messages--warning {
  color: var(--message-warning);
  border-color: var(--message-warning);
  background: rgba(224, 150, 0, 0.5);
}
.messages--error {
  color: var(--message-alert);
  border-color: var(--message-alert);
  background: rgba(169, 68, 66, 0.4);
}
.has-alert .messages {
  position: absolute;
}
.messages__close {
  float: right;
  margin: 0 0 1rem 1rem;
  cursor: pointer;
}
.messages__close:hover {
  text-decoration: underline;
}

/**
 * Installation task list
 */
/* ol.task-list li.active {
  font-weight: bold;
} */

/**
 * Installation clean URLs
 */
#clean-url.install {
  display: none;
}

/**
 * Markup generated by theme_links().
 */
ul.inline,
ul.links.inline {
  display: inline;
  padding-left: 0;
}
ul.inline li {
  display: inline;
  list-style-type: none;
  padding: 0 0.5em;
}

/**
 * Markup generated by theme_breadcrumb().
 */
.breadcrumb {
  padding-bottom: 0.5em;
}

/**
 * Markup generated by theme_more_link().
 */
.more-link {
  text-align: right;
}

/**
 * Markup generated by theme_more_help_link().
 */
.more-help-link {
  text-align: right;
}
.more-help-link a {
  background: url(../../misc/help.png) 0 50% no-repeat;
  padding: 1px 0 1px 20px;
}

/**
 * Markup generated by theme_pager().
 */
.item-list .pager {
  clear: both;
  text-align: center;
}
.item-list .pager li {
  background-image: none;
  display: inline;
  list-style-type: none;
  padding: 0.5em;
}
.pager-current {
  font-weight: bold;
}

/**
 * Autocomplete.
 *
 * @see autocomplete.js
 */
/* Suggestion list */
#autocomplete li.selected {
  background: #0072b9;
  color: #fff;
}

/**
 * Collapsible fieldsets.
 *
 * @see collapse.js
 */
html.js fieldset.collapsible .fieldset-legend {
  background: url(../../misc/menu-expanded.png) 5px 65% no-repeat;
  padding-left: 15px;
}
html.js fieldset.collapsed .fieldset-legend {
  background-image: url(../../misc/menu-collapsed.png);
  background-position: 5px 50%;
}
.fieldset-legend span.summary {
  color: #999;
  font-size: 0.9em;
  margin-left: 0.5em;
}

/**
 * TableDrag behavior.
 *
 * @see tabledrag.js
 */
tr.drag {
  background-color: #fffff0;
}
tr.drag-previous {
  background-color: #ffd;
}
.tabledrag-toggle-weight {
  font-size: 0.9em;
}
body div.tabledrag-changed-warning {
  margin-bottom: 0.5em;
}

/**
 * TableSelect behavior.
 *
 * @see tableselect.js
*/
tr.selected td {
  background: #ffc;
}
td.checkbox,
th.checkbox {
  text-align: center;
}

/**
 * Progress bar.
 *
 * @see progress.js
 */
.progress {
  font-weight: bold;
}
.progress .bar {
  background: #ccc;
  border-color: #666;
  margin: 0 0.2em;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
}
.progress .filled {
  background: #0072b9 url(../../misc/progress.gif);
}

.system-messages {
  right: 1.25rem;
  left: 1.25rem;
  position: fixed;
  z-index: 10;
  bottom: 9rem;
}
@media print, screen and (min-width: 40.0625em) {
  .system-messages {
    bottom: 6.5rem;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .system-messages {
    right: 1.25rem;
    left: 1.25rem;
  }
}
@media print, screen and (min-width: 64.0625em) {
  .system-messages {
    right: auto;
    bottom: 1.25rem;
  }
}
.publication h3 ul {
  list-style: none;
}
@media print, screen and (min-width: 48.0625em) {
  .directory-list__result {
    padding-top: 2.5rem;
  }
}
.directory-list__result {
  padding-top: 1.875rem;
}
.element-invisible.element-focusable:active,
.element-invisible.element-focusable:focus {
  position: static !important;
  clip: auto;
  overflow: visible;
  height: auto;
}
