@charset "UTF-8";
/**
 * Oberlin Pattern Library Styles
 */
:root {
  /**
   * Colors
   */
  /* Primaries */
  --lightred: #e81727;
  --darkred: #a6192e;
  --yellow: #FFC72C;
  --redtint: #f3e1e4;
  --vintageyellow: #fff7df;
  /* Whites */
  --white: #ffffff;
  --barelynotwhite: #FAFAFA;
  --almostwhite: #EFEFEF;
  /* Grays */
  --lightgray: #d9d7d7;
  --mediumgray: #A7A5A5;
  --darkgray: #585252;
  /* Blacks */
  --almostblack: #363232;
  --barelynotblack: #120c0c;
  --black: #000000;
  /* Blues */
  /**
   * NOTE: Darker and Lighter Blue are here for legacy purposes only and should
   * not be used in public-facing contexts. Skyblue is the new "secondary"
   * blue color but should still be used rarely.
   */
  --darkerblue: #005EB8;
  --lighterblue: #6AD1E3;
  --skyblue: #d2f1f7;
  /* Numeric Colors */
  --yellowNumeric: 255, 199, 44;
  --darkRedNumeric: 166, 25, 46;
  --lightRedNumeric: 232, 23, 39;
  --whiteNumeric: 255, 255, 255;
  --blackNumeric: 0, 0, 0;
  --barelynotwhiteNumeric: 250, 250, 250;
  --almostwhiteNumeric: 239, 239, 239;
  --lightgrayNumeric: 217, 215, 215;
  --mediumgrayNumeric: 167, 165, 165;
  --darkgrayNumeric: 88, 82, 82;
  --almostblackNumeric: 54, 50, 50;
  --barelynotblackNumeric: 18, 12, 12;
  /**
   * Other Properties
   */
  /* Widths */
  --readability-width: 700px;
  --readability-width--wider: 900px;
  --readability-width--narrower: 500px;
  --max-width: 1200px;
  --global-outer-margin: 2rem;
  --apply-global-max-width: calc(100% - 2 * var(--global-outer-margin));
  /* Spacing */
  --vertical-spacing-basic: 2rem;
  --vertical-spacing-more: 4rem;
  --vertical-spacing-less: 1rem;
  --vertical-spacing-for-days: 8rem;
  /* Font stacks */
  --fa-stack: "Font Awesome 6 Pro", sans-serif;
  --freight-stack: "freight-text-pro", serif;
  --montserrat-stack: montserrat, sans-serif;
  --font-serif: var(--freight-stack);
  --font-sans-serif: var(--montserrat-stack);
  /* Legacy compatability */
  --mercury-stack: var(--font-serif);
  --mercury-display-stack: var(--font-serif);
  --gotham-stack: var(--font-sans-serif);
  /* Other Type Helpers */
  /* Equates to 19px */
  --body-copy-size: calc(1.125rem + var(--px1));
  /* Font weights */
  --weight-normal: 400;
  --weight-medium: 500;
  --weight-bold: 700;
  --weight-black: 900;
  /* Font Awesome icons - for use in content declarations */
  --fa-plus: "\2b";
  --fa-minus: "\f068";
  --fa-angles-left: "\f100";
  --fa-angle-left: "\f104";
  --fa-angle-right: "\f105";
  --fa-angles-right: "\f101";
  --fa-circle-arrow-left: "\f0a8";
  --fa-circle-arrow-right: "\f0a9";
  --fa-location-dot: "\f3c5";
  --fa-xmark: "\f00d";
  --space-char: "\00a0";
  /* Transition properties */
  --button-transition-time: 0.25s;
  --button-transition-curve: cubic-bezier(.1, .65, .73, 1);
  --button-transition: var(--button-transition-time) var(--button-transition-curve);
  /* Cheats */
  /* 1/8 rem, or 2px */
  --px2: 0.125rem;
  /* 1/16 rem, or 1px */
  --px1: 0.0625rem;
}

@keyframes fadeIn {
  0% {
    opacity: var(--startOpacity, 0);
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeOut {
  0% {
    opacity: var(--startOpacity, 1);
  }
  100% {
    opacity: 0;
  }
}

@keyframes fadeInSlideIn {
  0% {
    opacity: 0;
    transform: translate(var(--hDist, -50px), var(--vDist, 0));
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}

@keyframes fadeInScaleIn {
  0% {
    opacity: 0;
    transform: scale(var(--scale, 1.1), var(--scale, 1.1));
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
  }
}

@keyframes defuzz {
  0% {
    opacity: 0;
    transform: scale(1.1, 1.1);
    filter: grayscale(100%) blur(var(--startBlur, 2px));
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
    filter: grayscale(0) blur(0);
  }
}

@keyframes colorizeAndScaleIn {
  0% {
    filter: grayscale(100%);
    transform: scale(1.05, 1.05);
  }
  100% {
    filter: grayscale(0);
    transform: scale(1, 1);
  }
}

@keyframes popOut {
  0% {
    transform: scale(1) perspective(1px) translateZ(0);
    box-shadow: 0 3px 13px -9px rgba(0, 0, 0, 0.62);
  }
  100% {
    transform: scale(1.02) perspective(1px) translateZ(0);
    box-shadow: 0 6px 13px -2px rgba(0, 0, 0, 0.15);
  }
}

@keyframes popOutReverse {
  0% {
    transform: scale(1.02) perspective(1px) translateZ(0);
    box-shadow: 0 6px 13px -2px rgba(0, 0, 0, 0.15);
  }
  100% {
    transform: scale(1) perspective(1px) translateZ(0);
    box-shadow: 0 3px 13px -9px rgba(0, 0, 0, 0.62);
  }
}

/**
 * _utilities.scss
 */
.obj-right, .align-right,
.obj-left,
.align-left {
  margin-bottom: 1.25rem;
  max-width: 100%;
  height: auto;
}

.obj-right:not(figure), .align-right:not(figure),
.obj-left:not(figure),
.align-left:not(figure) {
  display: block;
}

@media screen and (min-width: 769px) {
  .obj-right, .align-right {
    float: right;
    margin: 0 0 0.625rem 2rem;
  }
  
  .obj-left,
  .align-left {
    float: left;
    margin: 0 2rem 0.625rem 0;
  }
}

.obj-center {
  width: 100%;
  display: block;
  clear: both;
  text-align: center;
  margin-bottom: 1.25rem;
}

.obj-center figure {
  margin: 0 auto;
  display: table;
  text-align: left;
}

p .obj-center {
  margin-bottom: 0;
}

figure.obj-center img {
  margin: auto;
}

figure.align-center {
  display: table;
}

[data-io-animate="before"] * {
  animation-play-state: paused !important;
}

[data-io-animate="after"] * {
  animation-play-state: running !important;
}

.iframe-video-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}

.iframe-video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.subsite-menu a, .horizontal-menu a {
  text-decoration: none;
  display: block;
}

.subsite-menu__links,
.subsite-menu__links ul, .horizontal-menu__links {
  font-size: 0.875rem;
  font-weight: var(--weight-medium);
}

.subsite-menu__links a, .horizontal-menu__links a {
  font-family: var(--gotham-stack);
  position: relative;
  background-color: var(--barelynotwhite);
  transition: 0.125s ease-out;
  color: var(--darkgray);
}

.subsite-menu__links a:visited, .horizontal-menu__links a:visited {
  color: var(--darkgray);
}

.subsite-menu__links a:hover, .horizontal-menu__links a:hover {
  background-color: var(--almostwhite);
  color: var(--darkred);
}

.subsite-menu__links a.active, .horizontal-menu__links a.active, .subsite-menu__links a.active-trail, .horizontal-menu__links a.active-trail {
  font-weight: 700;
}

.subsite-menu__links a.active, .horizontal-menu__links a.active {
  pointer-events: none;
}

.subsite-menu__links a:before, .horizontal-menu__links a:before {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  background-color: var(--yellow);
  width: 1px;
  transition: width 0.25s ease-in-out;
}

.subsite-menu__links a:hover:before, .horizontal-menu__links a:hover:before, .subsite-menu__links a.active:before, .horizontal-menu__links a.active:before {
  width: 5px;
}

.basic-copy > *:first-child, blockquote.blockquote--gotham > *:first-child, .basic-box > *:first-child, .icon-box__content > *:first-child {
  margin-top: 0;
}

.basic-copy > *:last-child, blockquote.blockquote--gotham > *:last-child, .basic-box > *:last-child, .icon-box__content > *:last-child {
  margin-bottom: 0;
}

.intro-text p:first-child, .side-by-side-gallery__copy p:first-child, .stat-card__copy p:first-child, .cta__content p:first-child, .listing-item__content__copy p:first-child, .contrast-band > .max-width-layout:first-child {
  margin-top: 0;
}

.intro-text p:last-child, .side-by-side-gallery__copy p:last-child, .stat-card__copy p:last-child, .cta__content p:last-child, .listing-item__content__copy p:last-child, .contrast-band > .max-width-layout:last-child {
  margin-bottom: 0;
}

.icon-box__icon, .icon-link-box, .stat-card, .pagination-centered, .centerer, button.global-menu-button {
  display: flex;
  align-items: center;
  justify-content: center;
}

.subsite-menu__links,
.subsite-menu__links ul, .horizontal-menu__links, .lined-list ul,
ul.lined-list, ul.link-list, .list--clean ul,
ul.list--clean, .date-time-location__time-location, .event-dates-links, .program-facts, .tag-list, .biography-box__contact-info, .pager,
.subsite-menu__links ul ul, ul.css-grid-1-2,
ul.css-grid-1-2-3, ul.listing, .cta-menu ul, .main-menu > nav > ul.menu, .main-menu ul.menu ul.menu, .audience-menu ul.menu, .breadcrumb-bar, .site-footer__main-menu, .site-footer__extra-links, .site-footer__audience-links {
  list-style: none;
  padding: 0;
}

.expandable-section__toggle__symbol:before, .icon-margin:before, .location:before, .horizontal-slider-listing__pager, .main-menu > nav > ul.menu > li.expanded > a:after, a.view-more:before, a.go:after, .button--directional:after, .button[data-button-directional]:after, .btn[data-button-directional]:after, .cta-feature__link-text:after, ul.link-list a:before, .pager li.pagination__first a:before,
.pager li.pagination__first a:after, .pager li.pagination__previous a:before,
.pager li.pagination__previous a:after, .pager li.pagination__next a:before,
.pager li.pagination__next a:after, .pager li.pagination__last a:before,
.pager li.pagination__last a:after, .breadcrumb-bar li:not(:last-child):after {
  font-family: var(--fa-stack);
  font-weight: 900;
}

.expandable-section__toggle__symbol:before, .icon-margin:before, .location:before, .horizontal-slider-listing__pager, .main-menu > nav > ul.menu > li.expanded > a:after {
  position: absolute;
}

a.view-more:before, a.go:after, .button--directional:after, .button[data-button-directional]:after, .btn[data-button-directional]:after, .cta-feature__link-text:after, ul.link-list a:before, .pager li.pagination__first a:before,
.pager li.pagination__first a:after, .pager li.pagination__previous a:before,
.pager li.pagination__previous a:after, .pager li.pagination__next a:before,
.pager li.pagination__next a:after, .pager li.pagination__last a:before,
.pager li.pagination__last a:after, .breadcrumb-bar li:not(:last-child):after {
  position: relative;
}

.subhead, .biography-box__header .biography-box__title, .biography-grid-item__header .biography-grid-item__title, #rise-intro, .site-footer__main-menu a, .site-footer__audience-links a {
  font-family: var(--gotham-stack);
  font-weight: 700;
}

.vertical-spacing--basic,
.vertical-spacing--more,
.vertical-spacing--less,
.vertical-spacing--for-days {
  display: grid;
  grid-auto-rows: min-content;
  grid-template-columns: 100%;
}

.vertical-spacing--basic {
  row-gap: var(--vertical-spacing-basic);
}

.vertical-spacing--more {
  row-gap: var(--vertical-spacing-more);
}

.vertical-spacing--less {
  row-gap: var(--vertical-spacing-less);
}

.vertical-spacing--for-days {
  row-gap: var(--vertical-spacing-for-days);
}

.bottom-margin--basic {
  margin-bottom: var(--vertical-spacing-basic);
}

.bottom-margin--more {
  margin-bottom: var(--vertical-spacing-more);
}

.bottom-margin--less {
  margin-bottom: var(--vertical-spacing-less);
}

.bottom-margin--for-days {
  margin-bottom: var(--vertical-spacing-for-days);
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-style: normal;
  font-weight: 700;
  margin-top: 0;
  color: var(--almostblack);
}

h1 > a, .h1 > a, h2 > a, .h2 > a, h3 > a, .h3 > a, h4 > a, .h4 > a, h5 > a, .h5 > a, h6 > a, .h6 > a {
  text-decoration: none;
}

h1, .h1,
h2, .h2,
h3, .h3 {
  font-family: var(--mercury-display-stack);
}

h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: var(--mercury-stack);
}

h1, .h1 {
  font-size: 2rem;
  line-height: 1.1;
  margin-bottom: 1.25rem;
  color: var(--darkred);
}

@media screen and (min-width: 400px) {
  h1, .h1 {
    font-size: 2.5rem;
  }
}

@media screen and (min-width: 480px) {
  h1, .h1 {
    font-size: 2.75rem;
  }
}

h1.h1--boost, .h1.h1--boost {
  font-size: 2.5rem;
  font-weight: var(--weight-black);
}

@media screen and (min-width: 400px) {
  h1.h1--boost, .h1.h1--boost {
    font-size: 3rem;
  }
}

@media screen and (min-width: 480px) {
  h1.h1--boost, .h1.h1--boost {
    font-size: 3.5rem;
  }
}

h2, .h2 {
  font-size: 1.875rem;
  line-height: 1.2;
  margin-bottom: 0.625rem;
}

@media screen and (min-width: 480px) {
  h2, .h2 {
    font-size: 2.25rem;
  }
}

h3, .h3 {
  font-size: 1.625rem;
  line-height: 1.2;
  margin-bottom: 0.5rem;
}

h4, .h4 {
  font-size: 1.5rem;
  line-height: 1.3;
  margin-bottom: 0.625rem;
}

h5, .h5 {
  font-size: 1.375rem;
  line-height: 1.3;
  margin-bottom: 0.625rem;
}

h6, .h6 {
  font-size: 1.25rem;
  line-height: 1.17;
  margin-bottom: 0.625rem;
}

.red-headline, .card.card--red-headline h1, .card.card--red-headline h2, .card.card--red-headline h3, .card.card--red-headline h4, .card.card--red-headline h5, .card.card--red-headline h6 {
  font-family: var(--mercury-display-stack);
  text-align: center;
  color: var(--lightred);
  padding: 0 0 0.25rem 0;
  margin: 0 0 0.5rem 0;
  border-bottom: 2px solid var(--darkred);
  font-size: 2rem;
  font-style: italic;
}

.small-headline, .basic-copy .small-headline {
  color: var(--darkgray);
  font-family: var(--gotham-stack);
  font-weight: 600;
  text-transform: uppercase;
  font-size: calc(0.875rem + var(--px1));
}

@media (min-width: 1025px) {
  .small-headline, .basic-copy .small-headline {
    font-size: calc(1rem + var(--px1));
  }
}

.small-headline {
  margin: 0 0 0.5rem 0;
}

.small-headline.small-headline--darker {
  color: var(--almostblack);
}

body {
  font-family: var(--font-serif);
}

body {
  font-size: 1rem;
  line-height: 1.66;
  font-weight: var(--weight-normal);
  color: var(--barelynotblack);
}

p {
  font-size: var(--body-copy-size);
  line-height: 1.4;
  font-weight: 400;
  color: var(--barelynotblack);
  margin-block: 1rem;
}

p.no-base, p.icon-text, p.pop-statement, p.stat {
  margin: 0;
  font-size: 1rem;
}

.bold {
  font-weight: var(--weight-bold);
}

.italic {
  font-style: italic;
}

:root {
  --intro-text-size: calc(var(--body-copy-size) + var(--px2));
}

@media screen and (min-width: 480px) {
  :root {
    --intro-text-size: calc(var(--body-copy-size) + (var(--px2) * 2));
  }
}

.intro-text p {
  font-size: var(--intro-text-size);
  line-height: 1.5;
  color: var(--almostblack);
}

p.intro-text {
  font-size: var(--intro-text-size);
  line-height: 1.5;
  color: var(--almostblack);
}

.distinguished-text {
  padding-left: 1rem;
  border-left: 1px dotted var(--darkred);
}

@media screen and (min-width: 769px) {
  .distinguished-text {
    padding-left: 2rem;
    border-left: 4px solid var(--darkred);
  }
}

.basic-copy iframe {
  max-width: 100%;
}

.basic-copy h2, .basic-copy .h2,
.basic-copy h3, .basic-copy .h3 {
  color: var(--barelynotblack);
}

.basic-copy h4, .basic-copy .h4,
.basic-copy h6, .basic-copy .h6 {
  color: var(--almostblack);
}

.basic-copy h5, .basic-copy .h5 {
  color: var(--darkgray);
}

.basic-copy h2, .basic-copy .h2 {
  font-size: 1.75rem;
}

@media screen and (min-width: 480px) {
  .basic-copy h2, .basic-copy .h2 {
    font-size: 2rem;
  }
}

.basic-copy h3, .basic-copy .h3 {
  font-size: 1.5rem;
}

.basic-copy h4, .basic-copy .h4 {
  font-size: 1.375rem;
}

.basic-copy h5, .basic-copy .h5 {
  font-size: 1.375rem;
  font-style: italic;
}

.basic-copy h6, .basic-copy .h6 {
  font-size: 1rem;
  font-style: italic;
}

.basic-copy h2 + h3 {
  margin-top: 1.25rem;
}

.basic-copy h3 + h4 {
  margin-top: 1.25rem;
}

.basic-copy h4 + h5 {
  margin-top: 1rem;
}

.basic-copy h5 + h6 {
  margin-top: 1rem;
}

.basic-copy p + h2, .basic-copy ul + h2, .basic-copy ol + h2 {
  margin-top: 1.75rem;
}

.basic-copy p + h3,
.basic-copy p + h4,
.basic-copy p + h5,
.basic-copy p + h6, .basic-copy ul + h3,
.basic-copy ul + h4,
.basic-copy ul + h5,
.basic-copy ul + h6, .basic-copy ol + h3,
.basic-copy ol + h4,
.basic-copy ol + h5,
.basic-copy ol + h6 {
  margin-top: 2rem;
}

.basic-copy h2 + p {
  margin-top: 0.675rem;
}

.basic-copy h3 + p {
  margin-top: 0.75rem;
}

.basic-copy h4 + p {
  margin-top: 0.5rem;
}

.basic-copy h5 + p,
.basic-copy h6 + p {
  margin-top: 0.675rem;
}

.basic-copy p + p {
  margin-top: -0.125rem;
}

.basic-copy img {
  max-width: 100%;
  height: auto;
}

.basic-copy figure figcaption {
  display: table-caption;
}

.basic-copy .obj-center,
.basic-copy .align-center {
  margin-block: 2rem;
  margin-inline: auto;
}

.basic-copy figure.obj-left, .basic-copy figure.align-left,
.basic-copy figure.obj-right,
.basic-copy figure.align-right {
  margin-top: 0.275rem;
}

@media screen and (max-width: 768px) {
  .basic-copy figure.obj-left, .basic-copy figure.align-left,
  .basic-copy figure.obj-right,
  .basic-copy figure.align-right {
    margin: 2rem auto;
  }
}

.basic-copy figure.obj-left + p, .basic-copy figure.align-left + p,
.basic-copy figure.obj-right + p,
.basic-copy figure.align-right + p {
  margin-top: -0.125rem;
}

.basic-copy p > img:first-child.obj-right, .basic-copy p > img.align-right:first-child, .basic-copy p > img:first-child.obj-left, .basic-copy p > img.align-left:first-child {
  margin-top: 0.375rem;
}

@media screen and (max-width: 768px) {
  .basic-copy p > img:first-child.obj-right, .basic-copy p > img.align-right:first-child, .basic-copy p > img:first-child.obj-left, .basic-copy p > img.align-left:first-child {
    margin: 2rem auto;
  }
}

.basic-copy .align-right.image_resized, .basic-copy .align-left.image_resized {
  margin-top: 0.275rem;
}

@media screen and (max-width: 768px) {
  .basic-copy .align-right.image_resized, .basic-copy .align-left.image_resized {
    margin: 2rem auto;
    float: none;
  }
}

.basic-copy .align-right.image_resized + p, .basic-copy .align-left.image_resized + p {
  margin-top: -0.125rem;
}

.basic-copy .align-right + p, .basic-copy .align-left + p {
  margin-top: -0.375rem;
}

.basic-copy .image_resized {
  margin-block: 2rem;
}

.basic-copy blockquote {
  margin: 2rem 0;
}

.basic-copy h2, .basic-copy h3, .basic-copy h4, .basic-copy h5, .basic-copy h6 {
  clear: both;
}

.basic-copy .image_resized img,
.basic-copy .align-left img,
.basic-copy .align-right img {
  display: block;
}

.basic-copy .align-center img {
  display: block;
  margin-inline: auto;
}

blockquote {
  margin: 0;
}

blockquote p, blockquote ul, blockquote ol {
  color: var(--darkgray);
  font-size: 1.125rem;
  line-height: 1.5;
  font-weight: 700;
  font-family: var(--mercury-display-stack);
}

blockquote p {
  margin: 0.875rem 0;
}

blockquote p:first-child {
  margin-top: 0.875rem;
}

@media screen and (min-width: 641px) {
  blockquote p {
    font-size: 1.125rem;
  }
}

@media screen and (min-width: 1025px) {
  blockquote p {
    font-size: 1.125rem;
  }
}

blockquote p.blockquote__attribution {
  font-family: var(--font-sans-serif);
  font-size: 0.875rem;
  font-weight: 400;
  text-align: right;
}

blockquote p.blockquote__attribution:before {
  content: '\2014\20';
}

blockquote[data-indent] {
  padding: 0 2rem;
}

blockquote[data-add-quotes] p:first-child::before {
  content: '\201C';
}

blockquote[data-add-quotes] p:nth-last-child(2)::after {
  content: '\201D';
}

blockquote[data-add-quotes][data-no-attribution] p:nth-last-child(2)::after {
  content: '';
}

blockquote[data-add-quotes][data-no-attribution] p:nth-last-child(1)::after {
  content: '\201D';
}

blockquote[data-text-size-large] p {
  font-size: 1.25rem;
}

@media screen and (min-width: 641px) {
  blockquote[data-text-size-large] p {
    font-size: 1.375rem;
  }
}

@media screen and (min-width: 1025px) {
  blockquote[data-text-size-large] p {
    font-size: 1.5rem;
  }
}

blockquote[data-text-size-large] p.blockquote__attribution {
  font-size: 1rem;
}

blockquote[data-text-size-giant] p {
  font-size: 1.5rem;
}

@media screen and (min-width: 641px) {
  blockquote[data-text-size-giant] p {
    font-size: 1.625rem;
  }
}

@media screen and (min-width: 1025px) {
  blockquote[data-text-size-giant] p {
    font-size: 1.75rem;
  }
}

blockquote[data-text-size-giant] p.blockquote__attribution {
  font-size: 1rem;
}

blockquote[data-text-color-red] p, blockquote[data-text-color-red] ul, blockquote[data-text-color-red] ol {
  color: var(--darkred);
}

blockquote.blockquote--slicer {
  position: relative;
  margin: 2rem 0;
  padding: 1rem 0;
}

blockquote.blockquote--slicer:before, blockquote.blockquote--slicer:after {
  content: " ";
  position: absolute;
  left: 10%;
  width: 80%;
  border-style: dotted;
  border-image-source: linear-gradient(90deg, var(--white) 10%, var(--darkred) 45%, var(--darkred) 55%, var(--white) 90%);
  border-image-slice: 1 0 0;
  border-width: 1.5px;
}

blockquote.blockquote--slicer:before {
  top: 0;
}

blockquote.blockquote--slicer:after {
  bottom: 0;
}

blockquote.blockquote--distinguished {
  padding: 0.25rem 0 0.25rem 1rem;
  border-left: 1px dotted var(--darkred);
}

@media screen and (min-width: 769px) {
  blockquote.blockquote--distinguished {
    padding-left: 1.5rem;
    border-left: 4px solid var(--darkred);
  }
}

blockquote.blockquote--distinguished p {
  font-style: italic;
}

blockquote.blockquote--distinguished p.blockquote__attribution {
  font-size: 0.875rem;
  font-style: normal;
}

blockquote.blockquote--reverse {
  background: var(--darkgray);
  border-block: 1px solid var(--white);
  padding: 1rem;
  border-radius: 6px;
}

@media screen and (min-width: 480px) {
  blockquote.blockquote--reverse {
    border: 1px solid var(--white);
  }
}

blockquote.blockquote--reverse p {
  color: var(--white);
}

blockquote.blockquote--quotemark {
  position: relative;
  padding-left: 3.5rem;
}

blockquote.blockquote--quotemark:before {
  content: '“';
  font-family: var(--mercury-display-stack);
  display: block;
  font-size: 5rem;
  font-weight: var(--weight-bold);
  line-height: 1;
  position: absolute;
  top: -0.375rem;
  left: 0;
  color: var(--darkred);
}

@media screen and (min-width: 641px) {
  blockquote.blockquote--quotemark {
    padding-left: 4.5rem;
  }
  blockquote.blockquote--quotemark:before {
    font-size: 7rem;
    top: -0.75rem;
  }
}

blockquote.blockquote--quotemark[data-io-animate] {
  --scale: 0.75;
}

blockquote.blockquote--quotemark[data-io-animate]:before {
  animation: 1s ease-out 0.5s both fadeInScaleIn;
}

blockquote.blockquote--gotham p {
  font-size: 1.25rem;
  font-family: var(--gotham-stack);
  font-weight: 400;
  line-height: 1.5;
  color: var(--darkgray);
}

blockquote.blockquote--gotham[data-add-quotes] p:first-child::before {
  margin-left: -0.5em;
  margin-right: 0.02em;
}

blockquote.blockquote--gotham[data-add-quotes] p:nth-last-child(2)::after {
  margin-left: 0.02em;
}

button, .button, .btn {
  display: inline-block;
  padding: 0.5rem 1rem;
  font-weight: var(--weight-black);
  font-size: 1.25rem;
  line-height: 1.4;
  letter-spacing: 0.5px;
  text-align: center;
  text-decoration: none;
  border: 1px solid var(--darkred);
  border-radius: 6px;
  background-color: var(--almostwhite);
  color: var(--darkred);
  transition: background var(--button-transition), color var(--button-transition);
}

button:visited, .button:visited, .btn:visited {
  color: var(--darkred);
}

button:hover, .button:hover, .btn:hover, button:not([data-button-limit-focus-state]):focus, .button:not([data-button-limit-focus-state]):focus, .btn:not([data-button-limit-focus-state]):focus {
  background-color: var(--darkred);
  color: var(--white);
}

button:focus-visible, .button:focus-visible, .btn:focus-visible {
  outline-color: var(--darkerblue) !important;
  outline-style: auto !important;
  outline-offset: 4px !important;
}

button:active, .button:active, .btn:active {
  border-color: var(--white);
  color: var(--white);
}

button {
  border: 0;
  border-radius: 0;
  font-family: var(--mercury-stack);
  cursor: pointer;
}

summary {
  text-indent: -1.125rem;
  cursor: pointer;
  transition: color 0.25s ease;
  font-size: calc(1.125rem + var(--px1) + var(--px2));
}

summary:hover {
  color: var(--darkred);
}

summary::marker,
summary::-webkit-details-marker {
  color: var(--darkred);
}

details + details {
  margin-top: 0.75rem;
}

details > *:not(summary) {
  margin-left: 1.25rem;
}

details > summary {
  margin-left: 1.125rem;
}

details > summary + * {
  margin-top: 0.5rem;
}

details.details--light {
  padding: 0.5rem;
  background: var(--almostwhite);
  border: 1px solid var(--mediumgray);
}

details.details--lines + details.details--lines {
  border-top: 1px dotted var(--mediumgray);
  padding-top: 0.75rem;
}

figure {
  display: table;
  margin: 0;
  position: relative;
}

figure img {
  display: block;
  margin-bottom: 0.5rem;
  max-width: 100%;
  height: auto;
}

.figcaption, figcaption, figcaption p, .figure__caption p {
  font-weight: 500;
  line-height: 1.5;
  font-family: var(--gotham-stack);
  font-size: 0.875rem;
  color: var(--darkred);
}

figcaption {
  caption-side: bottom;
}

figcaption p {
  margin: 0 0 0.25rem 0;
}

.figure__credit,
.figure__caption {
  max-width: var(--readability-width);
  margin-bottom: 0.625rem;
}

.figure__credit {
  color: var(--darkgray);
}

.figure__credit p {
  font-size: 0.875rem;
  color: var(--darkgray);
  margin: 0 0 0.25rem 0;
  font-weight: 500;
  line-height: 1.5;
}

.figure__caption p {
  margin: 0 0 0.5rem 0;
  color: var(--darkred);
}

hr {
  --hr-color: var(--mediumgray);
  height: 0;
  border: 0.5px solid var(--hr-color, var(--medium-gray));
}

hr.hr--light {
  --hr-color: var(--lightgray);
}

hr.hr--dark {
  --hr-color: var(--darkgray);
}

hr.hr--red {
  --hr-color: var(--darkred);
}

.lined-list ul li, ul.lined-list li, ul.link-list li {
  margin: 0.375rem 0;
  padding: 0.375rem 0 0.625rem;
  border-bottom: 1px solid var(--mediumgray);
}

.lined-list ul li:first-child, ul.lined-list li:first-child, ul.link-list li:first-child {
  padding-top: 0;
  margin-top: 0;
}

.lined-list ul li:last-child, ul.lined-list li:last-child, ul.link-list li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}

.lined-list ul a, ul.lined-list a, ul.link-list a {
  text-decoration: none;
}

.lined-list ul li ul, ul.lined-list li ul, ul.link-list li ul {
  margin-left: 1.5rem;
}

.lined-list ul li ul li:first-child, ul.lined-list li ul li:first-child, ul.link-list li ul li:first-child {
  margin: 0.375rem 0;
  padding: 0.375rem 0 0.625rem;
}

.lined-list.lined-list--max-content ul,
ul.lined-list.lined-list--max-content {
  display: grid;
  grid-template-columns: minmax(200px, max-content);
  grid-auto-rows: min-content;
}

.lined-list.lined-list--multicolumn ul,
ul.lined-list.lined-list--multicolumn {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  grid-auto-rows: min-content;
  gap: 0.375rem 2rem;
}

.lined-list.lined-list--multicolumn ul li, ul.lined-list.lined-list--multicolumn li {
  padding: 0.625rem 0 0.875rem;
  margin: 0;
}

.lined-list.lined-list--multicolumn ul li:first-child, ul.lined-list.lined-list--multicolumn li:first-child {
  border-top: 0;
  padding: 0.625rem 0;
}

.lined-list.lined-list--multicolumn ul li:last-child, ul.lined-list.lined-list--multicolumn li:last-child {
  border-bottom: 1px solid var(--mediumgray);
  padding-bottom: 0.625rem;
}

.lined-list.lined-list--dotted ul li, ul.lined-list.lined-list--dotted li, ul.link-list li {
  border-bottom-style: dotted;
  border-bottom-color: var(--darkgray);
}

.lined-list.lined-list--dotted ul li ul, ul.lined-list.lined-list--dotted li ul, ul.link-list li ul {
  margin-left: 1rem;
}

.list--professional-titles ul {
  margin: 0.25rem 0 0 0;
}

.list--professional-titles li {
  margin: 0 0 0.5rem 0;
}

ul, ol {
  font-size: var(--body-copy-size);
  line-height: 1.4;
}

table {
  background-color: var(--white);
  border-collapse: collapse;
  border-spacing: 0;
  border: 0;
  font-size: var(--body-copy-size);
  line-height: 1.4;
  height: auto;
  margin: 2.5rem 0;
  padding: 0;
  max-width: 100%;
  width: 100%;
  color: var(--almostblack);
}

thead,
tr th {
  background-color: var(--almostwhite);
}

th,
td {
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--mediumgray);
}

th {
  text-align: left;
}

table caption {
  font-weight: 700;
  font-size: calc(1.125rem + var(--px2) + var(--px1));
  line-height: 1.3;
  margin-bottom: 0.5rem;
}

table.table--red-header thead,
table.table--red-header tr th {
  background-color: var(--darkred);
  color: var(--white);
}

table.table--red-header thead th {
  border-right-color: var(--almostwhite);
  border-bottom-color: var(--almostwhite);
}

table.table--red-header thead th:last-child {
  border-right-color: var(--mediumgray);
}

table.table--red-header tbody tr th {
  border-bottom-color: var(--almostwhite);
}

table.table--red-header tbody tr:last-child th {
  border-bottom-color: var(--mediumgray);
}

table.table--gotham {
  font-family: var(--font-sans-serif);
  font-size: calc(0.875rem +var(--px1));
  line-height: 1.6;
}

table.table--gotham caption {
  font-size: 1rem;
}

table.table--gotham th,
table.table--gotham td {
  padding: 0.375rem 0.5rem;
}

.contrast-band--mild-contrast thead,
.contrast-band--mild-contrast tr th,
.contrast-band--slight-contrast thead,
.contrast-band--slight-contrast tr th,
.expandable-section__content thead,
.expandable-section__content tr th {
  background: var(--lightgray);
}

.contrast-band--strong-contrast table caption {
  color: var(--white);
}

a {
  color: var(--darkred);
  text-decoration: underline;
  transition: color 0.125s ease-out;
}

a:visited {
  color: var(--darkred);
}

a:hover {
  color: var(--lightred);
}

a:active {
  color: var(--darkerblue);
}

a.view-more {
  text-decoration: none;
  font-weight: bold;
}

a.view-more:before {
  font-weight: normal;
  content: var(--fa-circle-arrow-right) var(--space-char);
}

a.go {
  text-decoration: none;
  font-weight: bold;
}

a.go:after {
  font-weight: normal;
  content: var(--fa-circle-arrow-right);
  left: 5px;
}

.attribution {
  font-weight: 700;
  color: var(--darkgray);
}

.button, .btn {
  --button-gradient: linear-gradient(
                  -45deg,
                  rgba(var(--lightRedNumeric), 1) 0%,
                  rgba(var(--darkRedNumeric), 0.5) 50%,
                  rgba(var(--lightRedNumeric), 0) 90%
  ), linear-gradient(
                  45deg,
                  rgba(var(--lightRedNumeric), 1) 0%,
                  rgba(var(--darkRedNumeric), 1) 50%
  );
}

.button--red {
  color: var(--almostwhite);
  background: var(--darkred);
}

.button--red:visited {
  color: var(--almostwhite);
}

.button--red:hover, .button--red:focus {
  background: var(--lightred);
  color: var(--white);
}

.button--lightred {
  color: var(--white);
  background: var(--lightred);
}

.button--lightred:visited {
  color: var(--white);
}

.button--lightred:hover {
  background: var(--darkred);
  color: var(--white);
}

.button--black {
  color: var(--almostwhite);
  background: var(--black);
}

.button--black:visited {
  color: var(--almostwhite);
}

.button--black:hover, .button--black:focus {
  background: var(--white);
  color: var(--barelynotblack);
}

.button--gotham {
  font-family: var(--gotham-stack);
  font-size: 0.875rem;
}

.button--directional:after, .button[data-button-directional]:after, .btn[data-button-directional]:after {
  font-size: 1rem;
  content: var(--fa-angle-right);
  margin-left: 0.75rem;
}

.button--gotham.button--directional:after, .button--gotham[data-button-directional]:after {
  font-size: 0.75rem;
  margin-left: 0.5rem;
}

.button--fancy, .button--fancier, .button--fancy-icon-left, .button--fancy-icon-right {
  color: var(--white);
  position: relative;
  z-index: 10;
  background: var(--button-gradient);
}

.button--fancy:after, .button--fancier:after, .button--fancy-icon-left:after, .button--fancy-icon-right:after {
  content: "";
  display: block;
  position: absolute;
  z-index: -10;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: var(--lightred);
  border-radius: 6px;
  opacity: 0;
  transform: scaleX(0.25) scaleY(0);
  transform-origin: center center;
  transition: var(--button-transition);
}

.button--fancy:visited, .button--fancier:visited, .button--fancy-icon-left:visited, .button--fancy-icon-right:visited {
  color: var(--white);
}

.button--fancy:hover, .button--fancy:not([data-button-limit-focus-state]):focus, .button--fancier:hover, .button--fancier:not([data-button-limit-focus-state]):focus, .button--fancy-icon-left:hover, .button--fancy-icon-left:not([data-button-limit-focus-state]):focus, .button--fancy-icon-right:hover, .button--fancy-icon-right:not([data-button-limit-focus-state]):focus {
  color: var(--white);
}

.button--fancy:hover:after, .button--fancy:not([data-button-limit-focus-state]):focus:after, .button--fancier:hover:after, .button--fancier:not([data-button-limit-focus-state]):focus:after, .button--fancy-icon-left:hover:after, .button--fancy-icon-left:not([data-button-limit-focus-state]):focus:after, .button--fancy-icon-right:hover:after, .button--fancy-icon-right:not([data-button-limit-focus-state]):focus:after {
  opacity: 1;
  transform: scaleX(1) scaleY(1);
}

.button--fancy span, .button--fancier span, .button--fancy-icon-left span, .button--fancy-icon-right span {
  position: relative;
  z-index: 2;
}

.button--fancier span {
  display: block;
  transform: scale(1);
  transition: transform var(--button-transition);
}

.button--fancier:hover span, .button--fancier:not([data-button-limit-focus-state]):focus span {
  transform: scale(1.05);
}

.button--icon-left, .button--fancy-icon-left {
  --icon-x-pos: 28px;
  --icon-margin: 0 0.5rem 0 0;
}

.button--icon-right, .button--fancy-icon-right {
  --icon-x-pos: calc(100% - 28px);
  --icon-margin: 0 0 0 0.5rem;
}

.button--icon-left .button--icon__icon, .button--icon-right .button--icon__icon {
  margin: var(--icon-margin);
  transform: scale(1);
  transition: transform var(--button-transition);
}

.button--icon-left:hover .button--icon__icon, .button--icon-right:hover .button--icon__icon {
  transform: scale(1.2);
}

.button--fancy-icon-left, .button--fancy-icon-right {
  --button-gradient: conic-gradient(
                    from -60deg at var(--icon-x-pos) 50%,
                    rgba(var(--darkRedNumeric), 1) 0,
                    rgba(var(--lightRedNumeric), 1) 60deg,
                    rgba(var(--darkRedNumeric), 1) 120deg,
                    rgba(var(--darkRedNumeric), 1) 180deg,
                    rgba(var(--lightRedNumeric), 1) 240deg,
                    rgba(var(--darkRedNumeric), 1) 300deg
    );
}

.button--fancy-icon-left .button--fancy-icon__icon, .button--fancy-icon-right .button--fancy-icon__icon {
  margin: var(--icon-margin);
  transform: scale(1);
  transition: transform var(--button-transition);
}

.button--fancy-icon-left:after, .button--fancy-icon-right:after {
  transform: scale(0, 1);
  transform-origin: var(--icon-x-pos) 50%;
}

.button--fancy-icon-left:hover .button--fancy-icon__icon, .button--fancy-icon-left:not([data-button-limit-focus-state]):focus .button--fancy-icon__icon, .button--fancy-icon-right:hover .button--fancy-icon__icon, .button--fancy-icon-right:not([data-button-limit-focus-state]):focus .button--fancy-icon__icon {
  transform: scale(1.2);
}

img.circle-image,
.circle-image > img {
  border-radius: 50%;
  border: 2px solid var(--yellow);
  max-width: 100%;
  height: auto;
}

.event__date {
  font-family: var(--gotham-stack);
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  padding: 0.25rem;
  border: 1px solid var(--lightred);
  height: min-content;
  font-weight: var(--weight-medium);
}

.event__date__number {
  font-size: 1.75rem;
  line-height: 1;
}

.event__date__month__abbr {
  font-size: 1rem;
  text-transform: uppercase;
  line-height: 1.2;
}

.facility-location p {
  margin: 0.5rem 0;
}

.facility-location__address {
  font-family: var(--gotham-stack);
  padding-left: 1.75rem;
  display: block;
  margin-bottom: 0.25rem;
}

.facility-location__address p {
  line-height: 1.5;
  font-size: 0.875rem;
  color: var(--darkgray);
}

.header-tag {
  font-family: var(--gotham-stack);
  text-transform: uppercase;
  color: var(--darkgray);
  font-size: 0.75rem;
  font-weight: var(--weight-medium);
  margin: 0;
  line-height: 1.66;
}

@media screen and (min-width: 480px) {
  .header-tag {
    font-size: 1rem;
  }
}

.icon-text {
  font-family: var(--gotham-stack);
  color: var(--almostblack);
  line-height: 1.5;
  font-size: 1rem;
  display: grid;
  grid-template-columns: 1.25em 1fr;
  column-gap: 0.75em;
  align-items: baseline;
  margin: 0;
}

.icon-text > p {
  font-size: 1rem;
  grid-column: 2 / 3;
  margin-bottom: 0.5em;
}

.icon-text > p + p {
  margin-top: 0;
}

.icon-text > .item-list {
  grid-column: 2 / 3;
}

.icon-text__icon {
  color: var(--lightred);
}

.icon-text + .icon-text {
  margin-top: 0.375em;
}

.icon-text.icon-text--smaller,
.icon-text.icon-text--smaller > p {
  font-size: 0.875rem;
}

.icon-text.icon-text--larger,
.icon-text.icon-text--larger > p {
  font-size: 1.125rem;
}

.item-date {
  font-size: calc(0.875rem + var(--px1));
  font-family: var(--gotham-stack);
  text-transform: uppercase;
  color: var(--darkgray);
  font-weight: var(--weight-medium);
}

.professional-title {
  line-height: 1.2;
  font-weight: 700;
  color: var(--darkgray);
  font-family: var(--gotham-stack);
  font-size: 1rem;
}

@media screen and (min-width: 641px) {
  .professional-title {
    font-size: 1.25rem;
  }
}

img.square-image,
.square-image > img {
  display: block;
  border: 1px solid var(--mediumgray);
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center top;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
}

.subhead {
  font-size: 1rem;
  color: var(--almostblack);
  line-height: 1.66;
}

@media screen and (min-width: 480px) {
  .h1--boost + .subhead {
    font-size: 1.25rem;
  }
}

.subtle-emphasis {
  font-weight: 700;
  color: var(--darkgray);
}

.tag {
  font-family: var(--gotham-stack);
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
  text-decoration: none;
  transition: 0.125s ease-out;
  display: inline-block;
  letter-spacing: 0.5px;
  font-weight: var(--weight-medium);
}

a.tag {
  background: var(--almostwhite);
  color: var(--barelynotblack);
}

a.tag:visited {
  background: var(--almostwhite);
  color: var(--barelynotblack);
}

a.tag:hover {
  background: var(--darkgray);
  color: var(--white);
}

.article-header__image {
  position: sticky;
  top: -3rem;
  z-index: 1;
  width: 100%;
}

.article-header__image img {
  margin: 0;
  width: 100%;
}

.article-header__body {
  position: relative;
  z-index: 2;
}

.article-header__details {
  position: relative;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0rem, 2.5rem, white 3rem);
  padding: 6rem 3rem 4rem;
  margin-top: -3rem;
}

.article-header__details h1, .article-header__details .subhead {
  text-wrap: balance;
}

.article-header__details .story-header {
  background-color: white;
  max-width: var(--readability-width--wider);
  margin: auto;
}

@media screen and (max-width: 479px) {
  .article-header__details .story-details {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center;
  }
  .article-header__details .story-details .item-date:after {
    display: none;
  }
}

.article-header__details:after {
  content: " ";
  position: absolute;
  bottom: 1.5rem;
  left: 30%;
  width: 40%;
  border-style: dotted;
  border-image-source: linear-gradient(90deg, var(--white) 10%, var(--darkred) 48%, var(--darkred) 52%, var(--white) 90%);
  border-image-slice: 1 0 0;
  border-width: 2px;
}

.article-header__content {
  padding-block: 1rem;
  background-color: var(--white);
}

.banner {
  --banner-background-color: var(--almostwhite);
  --banner-border-color: var(--lightred);
  --banner-headline-color: var(--darkred);
  --banner-text-color: var(--barelynotblack);
  position: relative;
  background-color: var(--banner-background-color);
  border-block: 2px solid var(--banner-border-color);
  padding: 2rem;
}

.banner p:last-child {
  margin-bottom: 0;
}

.banner h2 {
  color: var(--banner-headline-color);
  margin: 6px 0 0 0;
  font-family: var(--gotham-stack);
  font-weight: 500;
  font-size: 0.875rem;
  text-transform: uppercase;
}

.banner p {
  color: var(--banner-text-color);
}

.banner.banner--alert, .banner.banner--blue {
  --banner-headline-color: var(--white);
  --banner-text-color: var(--white);
}

.banner.banner--alert h2, .banner.banner--blue h2 {
  font-weight: 700;
}

.banner.banner--alert {
  --banner-background-color: var(--lightred);
  --banner-border-color: var(--barelynotblack);
}

.banner.banner--alert .banner__headline {
  border-color: var(--barelynotblack);
}

.banner.banner--blue {
  --banner-background-color: var(--darkerblue);
  --banner-border-color: var(--lighterblue);
}

.banner.banner--blue .banner__headline {
  border-color: var(--lighterblue);
}

.banner.banner--fixed {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  max-width: 500px;
  z-index: 100;
  animation: popOut 0.25s ease-in both;
}

@media screen and (min-width: 769px) {
  .banner {
    max-width: var(--readability-width--wider);
    display: grid;
    grid-template-columns: min-content 1fr;
    column-gap: 2rem;
  }
  .banner p:first-child {
    margin-top: 0;
  }
  .banner__headline {
    margin-bottom: unset;
    padding-right: 2rem;
    border-right: 4px solid var(--darkgray);
  }
  .banner__copy {
    max-width: var(--readability-width);
  }
}

.banner__closer {
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  background-color: transparent;
  color: var(--darkred);
  border-radius: 50%;
  padding: 4px;
  aspect-ratio: 1/1;
  font-size: 1rem;
}

.basic-box {
  --basic-box-padding: 1rem;
  --basic-box-border-width: 2px;
  --basic-box-border-color: var(--darkgray);
  padding: var(--basic-box-padding);
  border: var(--basic-box-border-width) solid var(--basic-box-border-color);
  width: calc(100% - 2 * var(--basic-box-padding) - 2 * var(--basic-box-border-width));
}

.basic-box.basic-box--light {
  --basic-box-border-color: var(--mediumgray);
  background-color: var(--almostwhite);
}

.basic-box.basic-box--faint {
  --basic-box-border-width: 1px;
  --basic-box-border-color: var(--mediumgray);
}

.basic-box.basic-box--faint-red {
  --basic-box-border-width: 1px;
  --basic-box-border-color: var(--lightred);
}

.basic-box.basic-box--yellow-outline {
  --basic-box-border-color: var(--yellow);
}

.basic-box[data-boost-padding="some"] {
  --basic-box-padding: 2rem;
}

.biography-card {
  padding: 1rem;
  border: 1px dotted var(--almostblack);
  display: grid;
  gap: 1rem 2rem;
}

.biography-card figure {
  display: table;
  margin: 0 auto;
}

@media screen and (min-width: 500px) {
  .biography-card {
    grid-template-columns: minmax(196px, max-content) minmax(196px, 1fr);
  }
  .biography-card figure {
    grid-row: 1 / 2;
    grid-column: 1 / 2;
  }
  .biography-card .biography-card__content {
    grid-row: 1 / 2;
    grid-column: 2 / 3;
  }
  .biography-card blockquote {
    grid-row: 2 / 3;
    grid-column: 1 / 3;
  }
}

.card {
  --card-bg-color: var(--white);
  border: 1px solid var(--mediumgray);
  display: grid;
  grid-template-rows: min-content 1fr;
  row-gap: 1rem;
  background-color: var(--card-bg-color);
}

.card > img,
.card > video,
.card > iframe {
  grid-row: 1 / 2;
}

.card img {
  max-width: 100%;
  width: 100%;
  height: auto;
  display: block;
  border-bottom: 1px solid var(--mediumgray);
}

.card iframe {
  border-width: 0 0 1px 0;
}

.card figure {
  width: 100%;
}

.card figure img {
  margin: 0;
}

.card figcaption {
  padding: 0.75rem 1rem 0.5rem;
  background-color: var(--almostwhite);
}

.card[data-bg-color="almostwhite"] {
  --card-bg-color: var(--almostwhite);
}

.card[data-bg-color="darkred"] {
  --card-bg-color: var(--darkred);
}

.card[data-bg-color="darkred"] > img {
  border-bottom: 1px solid var(--darkgray);
}

.card[data-bg-color="darkred"] h2, .card[data-bg-color="darkred"] h3, .card[data-bg-color="darkred"] h4, .card[data-bg-color="darkred"] p {
  color: var(--white);
}

.card[data-bg-color="darkred"] a {
  color: var(--yellow);
}

.card[data-bg-color="darkred"] a:hover {
  color: var(--white);
}

.card[data-bg-color="darkred"] h2 a, .card[data-bg-color="darkred"] h3 a, .card[data-bg-color="darkred"] h4 a {
  color: var(--white);
  text-decoration: underline;
}

.card[data-bg-color="darkred"] h2 a:hover, .card[data-bg-color="darkred"] h3 a:hover, .card[data-bg-color="darkred"] h4 a:hover {
  text-decoration-color: var(--yellow);
}

.card[data-bg-color="darkred"][data-card-link] h2, .card[data-bg-color="darkred"][data-card-link] h3, .card[data-bg-color="darkred"][data-card-link] h4, .card[data-bg-color="darkred"][data-card-link] p, .card[data-bg-color="darkred"][data-card-link] a {
  color: var(--white);
}

.card[data-bg-color="darkred"][data-card-link]:hover {
  border: 1px solid var(--black);
}

.card[data-bg-color="darkred"][data-card-link]:hover h2, .card[data-bg-color="darkred"][data-card-link]:hover h3, .card[data-bg-color="darkred"][data-card-link]:hover h4, .card[data-bg-color="darkred"][data-card-link]:hover p, .card[data-bg-color="darkred"][data-card-link]:hover a {
  color: var(--white);
}

.card__content {
  grid-row: 2 / 3;
  padding: 0 1rem;
  display: flex;
  flex-flow: column nowrap;
}

.card__content__copy {
  flex-grow: 1;
}

.card__video,
.card iframe {
  width: 100%;
  height: auto;
}

.card.card--no-border {
  border: 0;
}

.card.card--no-border .card__content {
  padding: 0;
}

.card[data-card-link],
.card.card--term {
  position: relative;
}

.card[data-card-link] a:before,
.card.card--term a:before {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  content: '';
  padding: 0;
  z-index: 1;
  top: 0;
  left: 0;
}

.card.card--term {
  overflow: hidden;
  row-gap: 0;
  transition: border-color 0.25s ease-out;
  border-color: var(--almostblack);
}

.card.card--term .card__content {
  border-top: 1px solid var(--mediumgray);
  background: var(--almostwhite);
  z-index: 2;
}

.card.card--term .card__content__title {
  text-align: center;
  color: var(--almostblack);
  margin: 1.25rem 0;
  font-size: 1.375rem;
  transition: 0.25s ease-out;
}

.card.card--term img {
  z-index: 1;
  transition: transform 0.35s ease-out;
  transform: scale(1.1, 1.1);
}

.card.card--term:hover {
  border-color: var(--lightred);
}

.card.card--term:hover .card__content__title {
  color: var(--lightred);
}

.card.card--term:hover img {
  transform: scale(1, 1);
}

.card[data-card-link] {
  animation: popOutReverse 0.1s both ease-out;
  backface-visibility: hidden;
}

.card[data-card-link] .card__content__title {
  color: var(--darkred);
}

.card[data-card-link]:hover {
  animation: popOut 0.25s both ease-out;
}

.card[data-card-link]:focus-within {
  outline-width: 2px;
  outline-offset: 6px;
  outline-style: solid;
}

.card[data-card-link]:focus-within a:focus {
  outline: none;
}

.contact-name {
  display: grid;
  grid-template-columns: min-content 1fr;
  align-items: baseline;
  gap: 0.25rem 0.5rem;
  font-size: var(--body-copy-size);
}

.contact-name__title {
  font-family: var(--gotham-stack);
  font-weight: var(--weight-medium);
  text-transform: uppercase;
  color: var(--darkgray);
  font-size: 0.875rem;
  padding-right: 0.5rem;
  border-right: 1px solid var(--mediumgray);
  text-align: right;
  line-height: 1;
  margin: 0;
}

.contact-name__name {
  font-weight: 700;
  color: var(--darkred);
  margin: 0;
}

header.course-header h1, header.course-header h2, header.course-header h3 {
  margin-bottom: 0.5rem;
}

header.course-header .header-tag {
  margin: 0;
  color: var(--darkred);
  font-weight: 700;
}

.cta-feature {
  --transition-time: 0.2s;
  background: var(--barelynotwhite);
  position: relative;
  border: 1px solid var(--darkgray);
  transition: border-color var(--transition-time) ease;
}

.cta-feature .small-headline {
  color: var(--darkred);
  transition: color var(--transition-time) ease;
}

.cta-feature a {
  display: flex;
  flex-flow: column nowrap;
  padding: 1rem;
  height: calc(100% - 2rem);
  text-decoration: none;
  color: var(--black);
}

.cta-feature a:focus {
  outline-color: var(--black);
  outline-offset: -5px;
}

.cta-feature:hover {
  border: 1px solid var(--lightred);
}

.cta-feature:hover .cta-feature__link-text {
  color: var(--lightred);
}

.cta-feature:hover .small-headline {
  color: var(--lightred);
}

.cta-feature__text {
  flex-grow: 1;
}

.cta-feature__link-text {
  font-weight: 700;
  margin: 0;
  color: var(--darkred);
  transition: color var(--transition-time) ease;
}

.cta-feature__link-text:after {
  content: var(--fa-circle-arrow-right);
  font-weight: normal;
  left: 5px;
}

.cta-feature__closer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}

.cta-feature__closer img {
  min-width: 64px;
}

.date-time-location {
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  gap: 1rem;
}

.date-time-location__time-location {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  margin: 0;
}

.event-dates-links {
  margin: 0;
  display: grid;
  grid-template-columns: minmax(200px, max-content);
}

.event-dates-links li {
  padding: 0.125rem 0;
}

.event-dates-links + .view-more-events-button {
  margin-top: 1rem;
}

.narrow-modal__wrapper:has(.event-dates-links) {
  padding: 1rem;
}

.expandable-section {
  --es-bg: var(--lightgray);
  --es-color: var(--almostblack);
  --es-hovercolor: var(--almostwhite);
  --es-hoverbg: var(--darkgray);
  --es-symbol: var(--almostblack);
  --es-active-border: var(--lightred);
  margin-bottom: 0.625rem;
}

@media (min-width: 641px) {
  .expandable-section {
    margin-bottom: 1.25rem;
  }
}

.expandable-section__title {
  margin: 0;
}

.expandable-section__toggle {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: var(--weight-black);
  display: block;
  text-align: left;
  width: 100%;
  margin: 0;
  padding: 1rem 3rem 1rem 1.25rem;
  position: relative;
  cursor: pointer;
  border: 1px solid transparent;
  border-bottom-color: var(--white);
  transition: 0.125s ease-out;
  background-color: var(--es-bg);
  color: var(--es-color);
}

.expandable-section__toggle:hover {
  background: var(--es-hoverbg);
  color: var(--es-hovercolor);
}

button.expandable-section__toggle:focus {
  background-color: var(--es-bg);
  color: var(--es-color);
}

.expandable-section__toggle__symbol:before {
  content: var(--fa-plus);
  color: var(--es-symbol);
  font-size: 1.5rem;
  line-height: 1;
  top: 0;
  bottom: 0;
  height: 1.5rem;
  width: 1.5rem;
  right: 0.75rem;
  margin: auto;
}

.expandable-section__toggle[aria-expanded="true"] {
  border-bottom-color: var(--es-active-border);
}

.expandable-section__toggle[aria-expanded="true"] > .expandable-section__toggle__symbol:before {
  content: var(--fa-minus);
}

.expandable-section__content {
  padding: 1.5rem 1.25rem;
  background: var(--almostwhite);
  display: none;
}

.expandable-section--mediumgray {
  --es-bg: var(--mediumgray);
  --es-color: var(--black);
  --es-hovercolor: var(--darkred);
  --es-hoverbg: var(--almostwhite);
  --es-symbol: var(--black);
}

.expandable-section--lightred {
  --es-bg: var(--lightred);
  --es-color: var(--white);
  --es-hoverbg: var(--darkred);
  --es-symbol: var(--almostwhite);
  --es-hovercolor: var(--barelynotwhite);
  --es-active-border: var(--white);
}

.expandable-section--darkred {
  --es-bg: var(--darkred);
  --es-color: var(--white);
  --es-hoverbg: var(--lightred);
  --es-symbol: var(--yellow);
  --es-hovercolor: var(--barelynotwhite);
  --es-active-border: var(--white);
}

.no-js .expandable-section__content {
  display: block;
}

.headline-connector {
  display: grid;
  grid-gap: 1rem;
}

.headline-connector .headline-connector__link {
  text-align: right;
}

.headline-connector .headline-connector__image {
  width: 100%;
}

.headline-connector .headline-connector__image img {
  max-width: 400px;
  width: calc(100% - 2px);
  max-height: 400px;
  height: calc(100% - 2px);
  aspect-ratio: 1 / 1;
  display: block;
  margin: auto;
}

@media screen and (min-width: 641px) {
  .headline-connector {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: min-content 2fr;
    grid-gap: 1rem 3rem;
    grid-template-areas: "a a" "c b";
  }
  .headline-connector h2 {
    grid-area: a;
    align-self: end;
    margin-right: -5rem;
    padding-right: 5rem;
  }
  .headline-connector .headline-connector__content {
    grid-area: c;
    align-self: start;
    display: grid;
    grid-gap: 2rem;
  }
  .headline-connector .headline-connector__image {
    grid-area: b;
    align-self: start;
    aspect-ratio: 1 / 1;
    position: relative;
  }
}

@media screen and (min-width: 830px) {
  .headline-connector {
    grid-template-rows: 1fr 2fr;
    grid-gap: 0 4rem;
    grid-template-areas: "a b" "c b";
  }
  .headline-connector h2 {
    border-bottom: 1px solid var(--mediumgray);
    padding-bottom: 0.75rem;
    margin-bottom: 1.75rem;
  }
  .headline-connector .headline-connector__image {
    align-self: center;
  }
}

@media screen and (min-width: 1025px) {
  .headline-connector {
    grid-template-columns: 2fr 1fr;
  }
}

.icon-box {
  border: 2px solid var(--mediumgray);
  padding: 1rem;
  height: min-content;
  position: relative;
}

.icon-box__icon {
  position: absolute;
  top: -1rem;
  left: -1rem;
  padding: 0.125rem;
  background-color: var(--white);
  border-radius: 50%;
  font-size: 1.875rem;
  line-height: 1;
  height: 2.125rem;
  width: 2.125rem;
  text-align: center;
}

.icon-box__icon span:before {
  color: var(--lightred);
  vertical-align: text-bottom;
}

@media screen and (min-width: 400px) {
  .icon-box {
    display: grid;
    grid-template-columns: min-content 1fr;
    gap: 1rem;
  }
  .icon-box__icon {
    position: relative;
    top: unset;
    left: unset;
  }
}

.icon-box--light {
  background-color: var(--barelynotwhite);
  border: 2px solid var(--almostwhite);
}

.icon-box--red {
  background-color: var(--darkred);
  border: 2px solid var(--almostwhite);
}

.icon-box--red * {
  color: var(--white);
}

.icon-box--red a:visited, .icon-box--red a:active {
  color: var(--white);
}

.icon-box--red a:hover {
  color: var(--almostwhite);
}

.icon-link-box {
  flex-flow: column-reverse nowrap;
  gap: 1.5rem;
  text-align: center;
  text-decoration: none;
  font-weight: var(--weight-black);
  font-size: calc(1.625rem + var(--px1));
  line-height: 1.4;
  padding: 2rem;
  border-radius: 6px;
  border: 2px solid var(--darkred);
  transform: scale(1) perspective(1px) translateZ(0);
  transition: var(--button-transition);
  background: radial-gradient(ellipse at 50% 40%, var(--lightred), var(--darkred));
  position: relative;
  z-index: 10;
  backface-visibility: hidden;
  --ilb-tilt: 0;
}

.icon-link-box, .icon-link-box:visited {
  color: var(--almostwhite);
}

.icon-link-box .icon-link-box__icon {
  display: block;
  transform: rotate(0) scale(1) perspective(1px) translateZ(0);
  transition: transform var(--button-transition);
}

.icon-link-box .icon-link-box__icon:before {
  font-size: 4.75rem;
  color: var(--almostwhite);
  transition: color var(--button-transition);
}

.icon-link-box:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  border-radius: 6px;
  background: rgba(var(--lightRedNumeric), 0.75);
  z-index: -10;
  clip-path: circle(0% at 50% 40%);
  transition: 0.75s var(--button-transition-curve);
}

.icon-link-box[data-ilb-tilt="left"] {
  --ilb-tilt: -25deg;
}

.icon-link-box[data-ilb-tilt="right"] {
  --ilb-tilt: 25deg;
}

.icon-link-box:hover, .icon-link-box:focus {
  color: var(--white);
  transform: scale(1.02) perspective(1px) translateZ(0);
}

.icon-link-box:hover .icon-link-box__icon, .icon-link-box:focus .icon-link-box__icon {
  transform: rotate(var(--ilb-tilt)) scale(1.08) perspective(1px) translateZ(0);
}

.icon-link-box:hover .icon-link-box__icon:before, .icon-link-box:focus .icon-link-box__icon:before {
  color: var(--white);
}

.icon-link-box:hover:after {
  opacity: 1;
  clip-path: circle(100% at 50% 40%);
  transition: opacity 0.25s var(--button-transition-curve), clip-path 0.75s var(--button-transition-curve);
}

.icon-link-box:focus {
  outline: 1px dotted var(--white);
  outline-offset: -0.5rem;
}

.icon-link-box:active {
  border: 1px solid var(--white);
}

.icon-link-box.icon-link-box--light {
  background: radial-gradient(circle at 50% 50%, var(--white) 65%, var(--lightgray));
  border: 2px solid var(--white);
  color: var(--lightred);
}

.icon-link-box.icon-link-box--light:visited {
  color: var(--lightred);
}

.icon-link-box.icon-link-box--light:focus {
  outline: 1px dotted var(--lightred);
  outline-offset: -0.5rem;
}

.icon-link-box.icon-link-box--light:hover:after {
  clip-path: circle(100% at 50% 50%);
}

.icon-link-box.icon-link-box--light:active {
  border: 1px solid var(--lightred);
}

.icon-link-box.icon-link-box--light:after {
  background: var(--white);
  clip-path: circle(0% at 50% 50%);
}

.icon-link-box.icon-link-box--light .icon-link-box__icon:before {
  color: var(--lightred);
}

.icon-margin {
  padding-left: 2rem;
  position: relative;
}

.icon-margin:before {
  font-size: 0.875rem;
  color: var(--mediumgray);
  content: attr(data-icon);
  left: 0;
  top: 0.125rem;
}

dl.labelled-items-grid {
  font-size: var(--body-copy-size);
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0.75rem 1rem;
  line-height: 1.25;
}

dl.labelled-items-grid dt {
  margin-bottom: unset;
  line-height: 1.4;
  font-weight: 700;
  color: var(--darkgray);
}

dl.labelled-items-grid dd {
  margin: 0;
  line-height: 1.4;
}

dl.labelled-items-grid.labelled-items-grid--lines {
  align-items: center;
  gap: 1.25rem 1rem;
}

dl.labelled-items-grid.labelled-items-grid--lines dt {
  padding: 0.125rem 1rem 0.125rem 0;
  height: 100%;
  border-right: 2px dotted var(--yellow);
  display: flex;
  align-items: center;
}

dl.labelled-items {
  font-size: var(--body-copy-size);
}

dl.labelled-items dt {
  line-height: 1.4;
  font-weight: 700;
  color: var(--darkgray);
}

dl.labelled-items dd {
  margin-bottom: 0.75rem;
  padding-bottom: 0.75rem;
  margin-left: 0;
  line-height: 1.4;
  border-bottom: 2px dotted var(--yellow);
}

dl.labelled-items dd:last-child {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}

.labelled-link__label {
  font-weight: 700;
  color: var(--darkgray);
}

dl.labelled-links {
  margin: 0;
}

dl.labelled-links + dl.labelled-links {
  margin-top: 1rem;
}

dl.labelled-links dd, dl.labelled-links dt {
  display: inline;
  margin: 0;
  font-size: var(--body-copy-size);
  line-height: 1.4;
}

ul.link-list {
  --icon: '\f061';
}

ul.link-list li {
  border-bottom-width: 1px;
}

ul.link-list a {
  display: flex;
  gap: 0.75rem;
  align-items: baseline;
}

ul.link-list a:before {
  font-weight: normal;
  content: var(--icon);
}

.location {
  position: relative;
  padding: 0.5rem;
  border: 1px solid var(--yellow);
}

.location:before {
  color: var(--lightred);
  width: 12px;
  display: block;
  text-align: center;
  content: var(--fa-location-dot);
  left: 10px;
}

.location.location--no-box {
  padding: 0;
  border: 0;
}

.location.location--no-box:before {
  left: 2px;
}

.location__room {
  padding-left: 1.75rem;
  font-size: 0.875rem;
}

.location__room {
  font-family: var(--gotham-stack);
  margin: 0.125rem 0;
  color: var(--darkgray);
}

.show-for-sr + .facility-location__address p:first-child {
  margin: 0.125rem 0;
}

.pop-statement {
  text-align: center;
  font-weight: 400;
  font-size: 1.125rem;
}

.pop-statement__start,
.pop-statement__popper,
.pop-statement__end {
  display: block;
}

.pop-statement__start,
.pop-statement__end {
  font-family: var(--gotham-stack);
  line-height: 1.1;
  color: var(--darkgray);
  text-transform: uppercase;
}

.pop-statement__popper {
  line-height: 1.1;
  font-family: var(--gotham-stack);
  font-size: 2rem;
  color: var(--lightred);
  font-weight: 700;
  margin: 0.25rem 0 0.375rem;
  letter-spacing: -1px;
  text-transform: uppercase;
}

.program-facts {
  margin: 0;
  font-family: var(--gotham-stack);
}

.program-facts > li:not(:last-child) {
  padding-bottom: 0.25rem;
  margin-bottom: 0.25rem;
  border-bottom: 1px dotted var(--mediumgray);
}

.program-facts > li:not(:first-child) {
  font-size: 0.875rem;
}

.side-by-side-gallery {
  width: 100%;
  display: grid;
  gap: 2rem;
}

@media screen and (min-width: 641px) {
  .side-by-side-gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}

.side-by-side-gallery img {
  max-width: 100%;
  height: auto;
}

.side-caption {
  margin-block: 4rem;
}

.side-caption figure {
  margin-inline: auto;
}

@media screen and (min-width: 769px) {
  .side-caption figcaption p:not(:last-child) {
    margin-bottom: 0.875rem;
  }
  .side-caption figure.captioned-image {
    display: grid;
    grid-template-columns: 4fr 2fr;
    align-items: end;
    gap: 2rem;
  }
  .side-caption figure.captioned-image img,
  .side-caption figure.captioned-image figcaption {
    display: block;
    margin: 0;
  }
  .side-caption figure.captioned-image .figure__credit {
    margin-bottom: 0;
  }
  .side-caption[data-caption-position="right"] figure.captioned-image {
    grid-template-columns: 4fr 2fr;
  }
  .side-caption[data-caption-position="right"] figure.captioned-image figcaption {
    padding-right: 0.5rem;
  }
  .side-caption[data-caption-position="left"] figure.captioned-image {
    grid-template-columns: 2fr 4fr;
  }
  .side-caption[data-caption-position="left"] figure.captioned-image img,
  .side-caption[data-caption-position="left"] figure.captioned-image figcaption {
    grid-row: 1 / 2;
  }
  .side-caption[data-caption-position="left"] figure.captioned-image img {
    grid-column: 2 / 3;
  }
  .side-caption[data-caption-position="left"] figure.captioned-image figcaption {
    grid-column: 1 / 2;
    text-align: right;
    padding-left: 0.5rem;
  }
}

.sidebar-block ul.list--clean,
.sidebar-block .list--clean ul {
  padding: 0;
}

.simple-detail-card {
  padding: 1rem;
  border: 1px solid var(--mediumgray);
}

.simple-detail-card > * {
  margin: 0 0 1rem 0;
  padding: 0 0 1rem 0;
  border-bottom: 1px dotted var(--mediumgray);
}

.simple-detail-card > *:last-child {
  margin: 0;
  padding: 0;
  border-bottom: 0;
}

.simple-detail-card .contact-name__name {
  color: var(--darkgray);
}

.simple-detail-card .contact-name__name a {
  color: var(--darkgray);
  text-decoration-color: var(--lightred);
  text-decoration-thickness: 0.5px;
  text-underline-offset: 0.25em;
}

.simple-detail-card .contact-name__name a:hover {
  color: var(--darkred);
}

.stat-card {
  flex-flow: column nowrap;
  gap: 1.5rem 0;
  position: relative;
  height: min-content;
  margin: auto;
  padding: 3rem 0;
}

.stat-card .stat.stat--number-top,
.stat-card .stat.stat--number-bottom {
  grid-template-columns: 1fr;
}

.stat-card:before, .stat-card:after {
  font-size: 1.625rem;
  line-height: 1;
  font-family: var(--gotham-stack);
  display: block;
  position: absolute;
  color: var(--yellow);
  transform: scaleY(0.875);
}

.stat-card:first-child:before, .stat-card:first-child:after {
  left: calc(50% - 2.875rem);
}

.stat-card:before {
  top: 0;
  content: "\25bc  \25b2  \25bc";
}

.stat-card:after {
  bottom: 0.51rem;
  content: "\25b2  \25bc  \25b2";
}

.stat-card .stat + *,
.stat-card .pop-statement + * {
  padding-top: 0.75rem;
  border-style: dotted;
  border-image-source: linear-gradient(90deg, var(--white) 10%, var(--darkgray) 35%, var(--darkgray) 65%, var(--white) 90%);
  border-image-slice: 1 0 0;
  border-width: 0.5px;
}

.stat {
  display: grid;
}

.stat__number {
  font-size: 2rem;
  font-family: var(--gotham-stack);
  color: var(--lightred);
  font-weight: 700;
  line-height: 1;
}

@media screen and (min-width: 769px) {
  .stat__number {
    font-size: 3rem;
  }
}

.stat__text {
  font-family: var(--gotham-stack);
  text-transform: uppercase;
  font-weight: var(--weight-medium);
  line-height: 1.1;
  color: var(--darkgray);
}

.stat.stat--number-left, .stat.stat--number-right {
  gap: 1rem;
  align-items: center;
}

.stat.stat--number-left {
  grid-template-columns: max-content 1fr;
}

.stat.stat--number-left .stat__number {
  padding-right: 1rem;
  border-right: 1px dotted var(--mediumgray);
}

.stat.stat--number-right {
  grid-template-columns: 1fr max-content;
}

.stat.stat--number-right .stat__number {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  padding-right: 0;
  border-right: 0;
  padding-left: 0.75rem;
  border-left: 1px dotted var(--mediumgray);
}

.stat.stat--number-right .stat__text {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  text-align: right;
}

.stat.stat--number-top, .stat.stat--number-bottom {
  grid-template-columns: min-content;
  grid-template-rows: repeat(2, min-content);
  justify-items: center;
  text-align: center;
  gap: 0.5rem;
}

.stat.stat--number-top .stat__number {
  width: 100%;
  padding-bottom: 0.25rem;
  border-bottom: 1px dotted var(--mediumgray);
}

.stat.stat--number-bottom .stat__text {
  grid-row: 1 / 2;
}

.stat.stat--number-bottom .stat__number {
  grid-row: 2 / 3;
  width: 100%;
  padding-top: 0.25rem;
  border-top: 1px dotted var(--mediumgray);
}

.story-details .item-date {
  margin-bottom: 0.125rem;
}

.story-details .attribution {
  margin-top: 0;
}

.story-details.story-details--aligned .item-date {
  position: relative;
}

.story-details.story-details--aligned .item-date:after {
  content: "●";
  position: relative;
  right: -0.5rem;
  top: calc(-0.125rem / 2);
  color: var(--darkred);
}

@media screen and (min-width: 480px) {
  .story-details.story-details--aligned {
    display: flex;
    flex-flow: row wrap;
    align-items: baseline;
    gap: 1rem;
  }
  .story-details.story-details--aligned > * {
    margin-block: 0;
  }
  .story-details.story-details--aligned > .attribution {
    flex-grow: 1;
    flex-basis: min-content;
  }
}

header.story-header h1, header.story-header h2, header.story-header h3 {
  margin-bottom: 0.5rem;
}

header.story-header .subhead {
  margin: 0;
}

header.story-header .subhead + .story-details {
  margin-top: 2rem;
}

header.story-header .header-tag {
  margin-bottom: 0.5rem;
}

.listing-item header.story-header {
  margin-bottom: 0.5rem;
}

.tag-list {
  margin: 0;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 0.5rem 1rem;
}

.top-combo-story {
  max-width: var(--readability-width);
  margin: auto;
  display: grid;
  gap: 1rem 3rem;
  grid-template-columns: 1fr;
  grid-auto-rows: min-content;
}

.top-combo-story .top-combo-story__main {
  padding-bottom: 4px;
}

.top-combo-story .top-combo-story__main > *:last-child {
  margin-bottom: 0;
}

.top-combo-story .top-combo-story__main > *:last-child *:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 769px) {
  .top-combo-story {
    max-width: unset;
    grid-template-areas: "ul ur";
    grid-template-columns: max-content 1fr;
    align-items: center;
  }
  .top-combo-story .top-combo-story__figure {
    grid-area: ul;
  }
  .top-combo-story .top-combo-story__figure figure {
    float: left;
  }
  .top-combo-story .top-combo-story__main {
    grid-area: ur;
  }
}

.top-combo .top-combo__container {
  width: var(--apply-global-max-width);
  max-width: var(--max-width);
  margin: 0 auto;
  display: grid;
  gap: 1rem 3rem;
  grid-template-columns: 1fr;
  grid-auto-rows: min-content;
}

.top-combo .top-combo__content {
  max-width: var(--readability-width);
  padding-bottom: 4px;
  margin-bottom: unset;
}

.top-combo .top-combo__content > *:last-child {
  margin-bottom: 0;
}

.top-combo .top-combo__content > *:last-child *:last-child {
  margin-bottom: 0;
}

.top-combo .top-combo__content header.story-header h1 {
  padding-bottom: 0.75rem;
  margin-bottom: 1rem;
}

.top-combo .top-combo__figure {
  width: 100%;
}

.top-combo .top-combo__figure img {
  border: 1px solid var(--darkred);
}

@media screen and (min-width: 769px) {
  .top-combo .top-combo__container {
    grid-template-areas: "content image";
    align-items: center;
    grid-template-columns: 2fr 3fr;
  }
  .top-combo .top-combo__content {
    grid-area: content;
  }
  .top-combo .top-combo__figure {
    grid-area: image;
    justify-self: center;
  }
  .top-combo.top-combo--reverse .top-combo__container {
    grid-template-columns: 3fr 2fr;
    grid-template-areas: "image content";
  }
}

.top-combo.top-combo--band {
  padding-block: 4rem;
  background: var(--almostwhite);
  border-block: 1px solid var(--darkgray);
}

.top-combo.top-combo--news {
  padding-block: 2rem 1rem;
  border: 0;
}

.top-combo.top-combo--news .top-combo__figure img {
  border: 0;
}

.top-combo.top-combo--news header.story-header h1 {
  border-bottom: 1px solid var(--mediumgray);
  line-height: 1.2;
  font-size: 2rem;
}

.top-combo.top-combo--news header.story-header h1 .subhead {
  font-size: 0.875rem;
}

.top-combo.top-combo--news .top-combo__main {
  padding-bottom: 60px;
}

.top-image {
  padding-bottom: 1rem;
  border-bottom: 4px solid var(--darkred);
}

.checkerboard {
  display: grid;
  row-gap: 2rem;
  --content-one: 1 / 2;
  --image-one: 2 / 3;
  --content-two: 2 / 3;
  --image-two: 1 / 2;
}

.checkerboard.checkerboard--flip {
  --content-one: 2 / 3;
  --image-one: 1 / 2;
  --content-two: 1 / 2;
  --image-two: 2 / 3;
}

.checkerboard-item {
  max-width: var(--max-width);
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--mediumgray);
  margin: 0 auto;
  display: grid;
  align-items: start;
}

.checkerboard-item:last-child {
  border-bottom: 0;
}

.checkerboard-item__content {
  grid-row: 2 / 3;
}

.checkerboard-item__content__item h2, .checkerboard-item__content__item h3 {
  margin-top: 0;
}

.checkerboard-item__image {
  grid-row: 1 / 2;
}

.checkerboard-item__image img, .checkerboard-item__image figure {
  width: 100%;
  height: auto;
}

.checkerboard-item__image img {
  border: 0.5px solid var(--white);
}

.checkerboard-item__image figcaption {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .checkerboard-item {
    grid-template-rows: max-content;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 2rem;
  }
  .checkerboard-item__content,
  .checkerboard-item__image {
    grid-row: 1 / 2;
  }
  .checkerboard-item__content,
  .checkerboard-item__image {
    height: 100%;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
  }
  .checkerboard-item:nth-child(2n + 1) .checkerboard-item__content {
    grid-column: var(--content-one);
  }
  .checkerboard-item:nth-child(2n + 1) .checkerboard-item__image {
    grid-column: var(--image-one);
  }
  .checkerboard-item:nth-child(2n) .checkerboard-item__content {
    grid-column: var(--content-two);
  }
  .checkerboard-item:nth-child(2n) .checkerboard-item__image {
    grid-column: var(--image-two);
  }
}

@media screen and (min-width: 1025px) {
  .checkerboard-item {
    column-gap: 4rem;
    padding-bottom: 2rem;
  }
}

.js .checkerboard-item [data-io-animate] {
  overflow: hidden;
}

.js .checkerboard-item:nth-child(2n + 1) [data-io-animate] > * {
  animation: 0.75s ease-in-out 0.25s both fadeInSlideIn;
  --hDist: 150px;
}

.js .checkerboard-item:nth-child(2n) [data-io-animate] > * {
  animation: 0.75s ease-in-out 0.25s both fadeInSlideIn;
  --hDist: -150px;
}

.cta {
  --cta-bg-color: var(--almostwhite);
  display: grid;
  background-color: var(--cta-bg-color);
  border: 1px solid var(--darkgray);
}

.cta__image {
  grid-row: 1 / 2;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-bottom: 1px solid var(--yellow);
}

.cta__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cta__content {
  grid-row: 2 / 3;
  margin: 0 auto;
  padding: 1.5rem 0;
  width: calc(100% - 2rem);
  max-width: var(--readability-width--wider);
  display: flex;
  flex-flow: column nowrap;
  align-items: flex-start;
  justify-content: center;
  gap: 1rem;
}

.cta__content > * {
  margin: 0;
}

.cta__content h2 {
  font-weight: var(--weight-black);
}

.cta__content__action {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  gap: 1rem;
}

@media screen and (min-width: 641px) {
  .cta__image {
    aspect-ratio: 16 / 10;
  }
}

@media screen and (min-width: 769px) {
  .cta__image {
    grid-row: 1 / 2;
    grid-column: 1 / 2;
    z-index: 1;
    border-bottom: 0;
    background: white;
  }
  .cta__content {
    grid-row: 1 / 2;
    grid-column: 1 / 2;
    z-index: 2;
    padding: 2.5rem 0;
  }
  .cta__content h2 {
    padding: 0.75rem 1rem 1rem 1rem;
    background-color: rgba(var(--whiteNumeric), 0.95);
    border: 1px solid var(--lightred);
  }
  .cta__content .cta__content__text {
    padding: 1rem;
    background-color: rgba(var(--whiteNumeric), 0.95);
    border: 1px solid var(--lightred);
  }
  .cta__content__action {
    justify-content: flex-end;
  }
  .cta__content__text + .cta__content__action {
    align-self: flex-end;
  }
}

.cta[data-content-position="top"] .cta__content {
  justify-content: flex-start;
}

.cta[data-content-position="bottom"] .cta__content {
  justify-content: flex-end;
}

.cta[data-center-content] .cta__content {
  align-items: center;
}

.cta[data-center-content] .cta__content__action {
  justify-content: center;
}

.cta[data-center-content] .cta__content__text + .cta__content__action {
  align-self: center;
}

.cta[data-center-content] .cta__content__text {
  text-align: center;
}

.cta.cta--no-image .cta__content {
  padding: 4rem 0;
}

.cta.cta--no-image[data-no-border] h2,
.cta.cta--no-image[data-no-border] .cta__content__text {
  background-color: unset;
}

.cta.cta--no-image[data-cta-bg-color="darkred"] {
  --cta-bg-color: var(--darkred);
}

.cta.cta--no-image[data-cta-bg-color="darkred"] h2,
.cta.cta--no-image[data-cta-bg-color="darkred"] .cta__content__text {
  border-color: var(--white);
  background-color: var(--darkred);
}

.cta.cta--no-image[data-cta-bg-color="darkred"] h2,
.cta.cta--no-image[data-cta-bg-color="darkred"] .cta__content__text p {
  color: rgba(var(--whiteNumeric), 1);
}

.cta.cta--no-image[data-cta-bg-color="white"] {
  --cta-bg-color: var(--white);
}

.cta.cta--no-image[data-cta-bg-color="white"] h2,
.cta.cta--no-image[data-cta-bg-color="white"] .cta__content__text {
  background-color: rgba(var(--whiteNumeric), 1);
}

.cta[data-no-border="outer"], .cta[data-no-border="all"] {
  border: 0;
}

.cta[data-no-border="inner"] h2,
.cta[data-no-border="inner"] .cta__content__text, .cta[data-no-border="all"] h2,
.cta[data-no-border="all"] .cta__content__text {
  border: 0;
}

.cta[data-no-border="inner"].cta--no-image h2,
.cta[data-no-border="inner"].cta--no-image .cta__content__text, .cta[data-no-border="all"].cta--no-image h2,
.cta[data-no-border="all"].cta--no-image .cta__content__text {
  padding: 0;
}

.js .cta img {
  animation: colorizeAndScaleIn 2s ease-in-out 0.125s both;
}

.js .cta.cta--animate-content img {
  animation-timing-function: ease;
  animation-duration: 3s;
  animation-delay: 0.25s;
}

.js .cta.cta--animate-content h2,
.js .cta.cta--animate-content .cta__content__text,
.js .cta.cta--animate-content .cta__content__action {
  animation: fadeIn 0.75s ease both;
}

.js .cta.cta--animate-content h2 {
  animation-delay: 0.5s;
}

.js .cta.cta--animate-content .cta__content__text {
  animation-delay: 1s;
}

.js .cta.cta--animate-content .cta__content__action {
  animation-delay: 1.5s;
}

.hero-box {
  --hero-box-padding: 1rem;
  background: var(--white);
  max-width: var(--readability-width);
  position: relative;
  padding-inline: var(--hero-box-padding);
  padding-block: calc(var(--hero-box-padding) + 0.25rem);
  margin: 0;
  border-block: 1px solid var(--lightred);
}

.hero-box h1 {
  margin: 0;
  font-weight: var(--weight-black);
}

@media screen and (min-width: 641px) {
  .hero-box h1 {
    font-size: 3.25rem;
  }
}

p.hero-box__tagline {
  font-family: var(--font-serif);
  font-weight: var(--weight-bold);
  font-size: 1.25rem;
  line-height: 1.4;
  margin: 0;
  color: var(--almostblack);
}

p.hero-box__tagline:last-child {
  margin-bottom: 0;
}

.hero-box__title + p.hero-box__tagline {
  padding-top: 0.375rem;
  margin-top: 0.75rem;
  border-top: 1px solid var(--lightred);
}

.hero-box__link {
  font-size: 1.25rem;
}

@media screen and (min-width: 641px) {
  .hero-box {
    --hero-box-padding: 1.5rem;
    padding: var(--hero-box-padding);
    border: 2px solid var(--lightred);
  }
  .hero-box h1 {
    width: max-content;
    max-width: calc(50vw - (2 * var(--hero-box-padding)));
  }
  .hero-box .header-tag {
    width: max-content;
  }
}

.hero {
  position: relative;
  background-color: var(--barelynotwhite);
}

@media screen and (min-width: 641px) {
  .hero {
    display: grid;
    grid-auto-rows: min-content;
    grid-template-columns: 1fr;
    row-gap: 1px;
  }
}

.hero .hero-box {
  align-self: center;
  justify-self: center;
  z-index: 2;
}

@media screen and (min-width: 641px) {
  .hero .hero-box {
    grid-row: 1 / 2;
    grid-column: 1 / 2;
  }
}

.hero .hero__headline {
  align-self: center;
  justify-self: center;
  z-index: 2;
  padding: 1rem;
  text-align: center;
  line-height: 1.4;
  background: var(--white);
}

@media screen and (min-width: 641px) {
  .hero .hero__headline {
    grid-row: 1 / 2;
    grid-column: 1 / 2;
    margin: 0 1rem;
  }
}

.hero .hero__headline h1 {
  margin: 0;
  color: var(--lightred);
  font-weight: var(--weight-black);
}

@media screen and (min-width: 400px) {
  .hero:not(.hero--with-caption) .hero__headline h1 {
    font-size: 2.25rem;
  }
}

@media screen and (min-width: 641px) {
  .hero:not(.hero--with-caption) .hero__headline {
    padding: 0.5rem 1rem;
    position: absolute;
    bottom: -2rem;
    border: 1px solid var(--darkred);
  }
  .hero:not(.hero--with-caption) .hero__headline h1 {
    font-size: 2.5rem;
  }
}

.hero__image {
  z-index: 1;
}

@media screen and (min-width: 641px) {
  .hero__image {
    grid-row: 1 / 2;
    grid-column: 1 / 2;
    max-height: 600px;
  }
}

.hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hero__caption {
  background-color: var(--almostwhite);
  padding: 1rem 1rem 0.5rem;
  border-bottom: 1px solid var(--mediumgray);
}

@media screen and (min-width: 641px) {
  .hero__caption {
    padding: 0.625rem 0.5rem 0.125rem;
    grid-row: 2 / 3;
    grid-column: 1 / 2;
  }
}

.hero__caption .figcaption {
  max-width: var(--readability-width);
}

.hero__caption .figure__credit p {
  color: var(--almostblack);
}

@media screen and (min-width: 641px) {
  .hero[data-headline-position] .hero-box {
    min-width: 33%;
    max-width: min-content;
  }
  .hero[data-headline-position='left'] .hero-box {
    margin: -4rem 0 0 -2px;
    justify-self: start;
    text-align: left;
  }
  .hero[data-headline-position='right'] .hero-box {
    margin: -4rem -2px 0 0;
    justify-self: end;
  }
}

.no-js:not(.js) .hero[data-drama-level] {
  animation: fadeIn 0.5s ease 0.25s both running;
}

.js .hero[data-drama-level="moderate"] .hero__image {
  overflow: hidden;
  border-bottom: 2px solid #ffffff;
  transition: border-bottom-color 1s ease-in;
}

.js .hero[data-drama-level="moderate"] .hero__image img {
  animation: defuzz 1.5s ease both paused;
}

.js .hero[data-drama-level="moderate"] .hero__caption {
  animation: fadeIn 1s ease 1.25s both paused;
}

.js .hero[data-drama-level="moderate"] .hero__headline,
.js .hero[data-drama-level="moderate"] .hero-box {
  overflow: hidden;
  animation: fadeInSlideIn 0.625s ease-out 0.75s both paused;
  --vDist: -25px;
  --hDist: 0;
}

@media screen and (min-width: 641px) {
  .js .hero[data-drama-level="moderate"] .hero-box,
  .js .hero[data-drama-level="moderate"] .hero__headline {
    animation-name: fadeInSlideIn;
  }
  .js .hero[data-drama-level="moderate"] .hero-box {
    --vDist: 50px;
  }
  .js .hero[data-drama-level="moderate"] .hero__headline {
    --vDist: -20px;
  }
  .js .hero[data-drama-level="moderate"][data-headline-position='left'] .hero-box {
    --vDist: 0;
    --hDist: -100px;
  }
  .js .hero[data-drama-level="moderate"][data-headline-position='right'] .hero-box {
    --vDist: 0;
    --hDist: 100px;
  }
}

.js .hero[data-drama-level="moderate"][data-hero-image-loaded] {
  opacity: 1;
}

.js .hero[data-drama-level="moderate"][data-hero-image-loaded] .hero__image {
  border-bottom: 2px solid var(--darkred);
}

.js .hero[data-drama-level="moderate"][data-hero-image-loaded] .hero__image img,
.js .hero[data-drama-level="moderate"][data-hero-image-loaded] .hero__headline,
.js .hero[data-drama-level="moderate"][data-hero-image-loaded] .hero__caption,
.js .hero[data-drama-level="moderate"][data-hero-image-loaded] .hero-box {
  animation-play-state: running;
}

.js .hero[data-drama-level="low"] .hero__headline,
.js .hero[data-drama-level="low"] .hero-box {
  animation: fadeIn 0.75s ease-out 1s both paused;
}

.js .hero[data-drama-level="low"] img {
  animation: fadeIn 1.5s ease 0.25s both paused;
}

.js .hero[data-drama-level="low"] .hero__caption {
  animation: fadeIn 0.5s ease 1.25s both paused;
}

.js .hero[data-drama-level="low"][data-hero-image-loaded] .hero__headline,
.js .hero[data-drama-level="low"][data-hero-image-loaded] img,
.js .hero[data-drama-level="low"][data-hero-image-loaded] .hero__caption,
.js .hero[data-drama-level="low"][data-hero-image-loaded] .hero-box {
  animation-play-state: running;
}

.hero-with-video-region {
  display: grid;
  grid-auto-rows: min-content;
  grid-template-columns: 100%;
  row-gap: var(--vertical-spacing-more);
  margin-bottom: var(--vertical-spacing-basic);
}

.hero-with-video {
  position: relative;
}

@media screen and (max-width: 801px) {
  .hero-with-video {
    display: grid;
  }
  .hero-with-video .hero-with-video__title {
    grid-row: 3 / 4;
  }
  .hero-with-video .hero-with-video__extra-link {
    grid-row: 1 / 2;
    border-width: 0 0 1px 0;
  }
}

.hero-with-video__title {
  text-align: center;
}

.hero-with-video__title h1 {
  color: #fff;
  background: var(--lightred);
  padding: 0.5rem 1rem 0.75rem 1rem;
  margin: 0;
  font-weight: var(--weight-black);
}

@media screen and (min-width: 802px) {
  .hero-with-video__title {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: center;
  }
  .hero-with-video__title h1#page-title {
    position: absolute;
    bottom: -2rem;
  }
}

.hero-with-video__video {
  display: block;
  width: 100%;
  object-fit: cover;
  height: auto;
  max-height: 600px;
}

.hero-with-video__control-wrapper {
  display: block;
  position: absolute;
  top: 3rem;
  left: 1rem;
}

@media (min-width: 802px) {
  .hero-with-video__control-wrapper {
    top: 1rem;
  }
}

.hero-with-video__control-button {
  padding: 0;
  border-radius: 6px;
  border: 0;
  background-color: transparent;
}

.hero-with-video__control-button:hover {
  background-color: transparent;
}

.hero-with-video__control-button:focus {
  outline: var(--white) dotted 1px;
}

.hero-with-video__control-button__icon {
  font-size: 22px;
  transition: 0.25s ease;
  color: rgba(255, 255, 255, 0.5);
  background-color: rgba(0, 0, 0, 0.5);
  padding: 8px;
  border-radius: 6px;
}

.hero-with-video__control-button:hover .hero-with-video__control-button__icon {
  color: white;
  background-color: black;
  cursor: pointer;
}

.hero-with-video__extra-link {
  padding: 0.25rem 0.75rem 0.25rem 0.75rem;
  font-size: 1rem;
  background: var(--white);
  border: 1px solid var(--lightred);
}

@media screen and (min-width: 802px) {
  .hero-with-video__extra-link {
    font-size: 1.25rem;
    top: 50px;
    position: absolute;
    right: -1px;
    z-index: 2;
  }
}

.hero-with-video-region__intro {
  margin: 0 auto;
  max-width: var(--readability-width);
  width: var(--apply-global-max-width);
  text-align: center;
}

@media screen and (max-width: 801px) {
  .hero-with-video-region__intro {
    margin-top: -2rem;
  }
}

.image-panel {
  overflow: hidden;
  position: relative;
  border-block: 1px solid var(--yellow);
}

.image-panel__parallax-container {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 9;
}

.image-panel__parallax-container img {
  backface-visibility: hidden;
  position: relative;
  top: -100px;
  height: calc(100% + 200px);
  width: 100%;
  object-fit: cover;
}

@media screen and (min-width: 641px) {
  .image-panel__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
  }
  .image-panel__overlay[data-align-h="left"] {
    justify-content: flex-start;
  }
  .image-panel__overlay[data-align-h="right"] {
    justify-content: flex-end;
  }
  .image-panel__overlay[data-align-h="center"] {
    justify-content: center;
  }
  .image-panel__overlay[data-align-v="top"] {
    align-items: flex-start;
  }
  .image-panel__overlay[data-align-v="bottom"] {
    align-items: flex-end;
  }
}

@media screen and (min-width: 769px) {
  .image-panel__overlay {
    padding: calc(var(--global-outer-margin) / 2) var(--global-outer-margin);
    width: var(--apply-global-max-width);
    height: calc(100% - var(--global-outer-margin));
  }
}

.image-panel__overlay[data-io-effect="fade"][data-io-animate] {
  transition: opacity 1s ease-in-out;
}

.image-panel__overlay[data-io-effect="fade"][data-io-animate="before"] {
  opacity: 0;
}

.image-panel__overlay[data-io-effect="fade"][data-io-animate="after"] {
  opacity: 1;
}

.image-panel__overlay[data-io-effect="slide"] {
  --top: 5%;
  --side: top;
}

.image-panel__overlay[data-io-effect="slide"][data-align-h="left"] {
  --top: 0;
  --start: calc(-25% - 3rem);
  --side: left;
}

.image-panel__overlay[data-io-effect="slide"][data-align-h="right"] {
  --top: 0;
  --start: calc(25% + 3rem);
  --side: left;
}

.image-panel__overlay[data-io-effect="slide"][data-io-animate] {
  transition: var(--side) 0.5s ease-out, opacity 0.5s ease-in;
}

.image-panel__overlay[data-io-effect="slide"][data-io-animate="before"] {
  top: var(--top);
  left: var(--start);
  opacity: 0;
}

.image-panel__overlay[data-io-effect="slide"][data-io-animate="after"] {
  top: 0;
  left: 0;
  opacity: 1;
}

.image-panel__overlay__content {
  padding: 1rem;
}

.image-panel__overlay__content > *:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 641px) {
  .image-panel__overlay__content {
    max-width: 25%;
    background: var(--white);
    border: 1px solid var(--mediumgray);
    padding: 1rem;
  }
}

.stack {
  margin-block: 4rem;
  display: grid;
  grid-gap: 2rem;
  --is-row-height: 2rem;
  --is-col-width: 2rem;
  --is-rows: repeat(3, var(--is-row-height));
  --is-cols: repeat(3, var(--is-col-width));
  --is-col-1: 1;
  --is-col-2: 2;
  --is-col-3: 3;
  --is-col-4: 4;
  --is-col-span: 4;
  --is-row-span: 4;
}

@media screen and (min-width: 769px) {
  .stack {
    --is-row-height: 1fr;
    --is-col-width: 1fr;
  }
}

.stack .stack__images {
  display: grid;
  grid-template-rows: var(--is-rows) 1fr var(--is-rows);
  grid-template-columns: var(--is-cols) 1fr var(--is-cols);
}

.stack .stack__images img {
  border: 1px solid var(--white);
  filter: grayscale(0.85);
  transition: filter 0.5s ease;
  width: 100%;
  height: auto;
}

.stack .stack__images img:hover {
  filter: grayscale(0.35);
}

.stack .stack__images img:hover:not(.top) {
  cursor: pointer;
}

.stack .stack__images img.top {
  z-index: 100 !important;
  filter: grayscale(0);
}

.stack img {
  grid-column-end: span var(--is-col-span);
}

.stack img:nth-child(1) {
  grid-column-start: var(--is-col-1);
}

.stack img:nth-child(2) {
  grid-column-start: var(--is-col-2);
}

.stack img:nth-child(3) {
  grid-column-start: var(--is-col-3);
}

.stack img:nth-child(4) {
  grid-column-start: var(--is-col-4);
}

.stack[data-direction="down"] {
  --is-row-1: 1;
  --is-row-2: 2;
  --is-row-3: 3;
  --is-row-4: 4;
}

.stack[data-direction="up"] {
  --is-row-1: 4;
  --is-row-2: 3;
  --is-row-3: 2;
  --is-row-4: 1;
}

.stack img {
  grid-row-end: span var(--is-row-span);
}

.stack img:nth-child(1) {
  grid-row-start: var(--is-row-1);
}

.stack img:nth-child(2) {
  grid-row-start: var(--is-row-2);
}

.stack img:nth-child(3) {
  grid-row-start: var(--is-row-3);
}

.stack img:nth-child(4) {
  grid-row-start: var(--is-row-4);
}

.stack[data-order="backward"] img:nth-child(1) {
  z-index: 4;
}

.stack[data-order="backward"] img:nth-child(2) {
  z-index: 3;
}

.stack[data-order="backward"] img:nth-child(3) {
  z-index: 2;
}

.stack[data-order="backward"] img:nth-child(4) {
  z-index: 1;
}

.stack[data-count="2"] {
  --is-col-2: 3;
  --is-col-span: 5;
  --is-row-span: 5;
}

.stack[data-count="2"][data-direction="down"] {
  --is-row-1: 1;
  --is-row-2: 3;
}

.stack[data-count="2"][data-direction="up"] {
  --is-row-1: 3;
  --is-row-2: 1;
}

.stack[data-count="3"] {
  --is-row-height: 3rem;
  --is-col-width: 3rem;
  --is-col-span: 5;
  --is-row-span: 5;
}

@media screen and (min-width: 769px) {
  .stack[data-count="3"] {
    --is-row-height: 1fr;
    --is-col-width: 1fr;
  }
}

.stack[data-count="3"][data-direction="up"] {
  --is-row-1: 3;
  --is-row-2: 2;
  --is-row-3: 1;
}

.stack[data-count="4"] {
  --is-row-height: 2rem;
  --is-col-width: 4rem;
}

@media screen and (min-width: 769px) {
  .stack[data-count="4"] {
    --is-row-height: 3rem;
    --is-col-width: 1fr;
  }
}

.large-image-feature {
  border-block: 1px solid var(--darkgray);
}

.large-image-feature.large-image-feature--slight-contrast {
  background: var(--barelynotwhite);
}

.large-image-feature.large-image-feature--mild-contrast {
  background: var(--almostwhite);
}

.large-image-feature.large-image-feature--mild-contrast .figure__credit {
  color: var(--almostblack);
}

.large-image-feature__image img {
  width: 100%;
  height: auto;
  display: block;
}

.large-image-feature__content__items {
  margin: 2rem 1rem;
}

.large-image-feature__caption {
  padding: 1rem;
}

@media screen and (min-width: 769px) {
  .large-image-feature {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: max-content min-content;
  }
  .large-image-feature .large-image-feature__content, .large-image-feature[data-text-position="right"] .large-image-feature__content {
    grid-column: -1/-2;
  }
  .large-image-feature .large-image-feature__content__items, .large-image-feature[data-text-position="right"] .large-image-feature__content__items {
    border-left: 2px solid var(--yellow);
  }
  .large-image-feature[data-text-position="left"] .large-image-feature__content {
    grid-column: 1 / 2;
  }
  .large-image-feature[data-text-position="left"] .large-image-feature__content__items {
    border-right: 2px solid var(--yellow);
  }
  .large-image-feature__content {
    grid-row: 1 / 2;
    z-index: 2;
  }
  .large-image-feature__content__items {
    background-color: var(--white);
    padding: 1rem;
    margin: 2rem 0;
  }
  .large-image-feature__image {
    grid-row: 1 / 2;
    grid-column: 1 / 4;
    z-index: 1;
  }
  .large-image-feature__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .large-image-feature__caption {
    grid-row: 2 / 3;
    grid-column: 1 / 4;
  }
}

.js .large-image-feature[data-io-animate] .large-image-feature__image {
  overflow: hidden;
  background-color: var(--barelynotwhite);
}

.js .large-image-feature[data-io-animate] img {
  animation: 0.75s ease-out 0.5s both fadeInScaleIn;
}

.layer-panel {
  --bg-color: var(--darkgray);
  --fg-color: var(--lightgray);
  display: grid;
  grid-template: 1fr / 1fr;
  align-items: center;
  justify-content: center;
}

.layer-panel > * {
  grid-row: 1;
  grid-column: 1;
}

.layer-panel__bg {
  width: 100%;
  height: 100%;
}

.layer-panel__bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.layer-panel__bg:not(:has(img)) {
  background-color: var(--bg-color);
}

.layer-panel__fg {
  width: var(--apply-global-max-width);
  max-width: var(--max-width);
  margin: var(--global-outer-margin) auto;
  background-color: var(--fg-color);
  height: auto;
  min-height: calc(100% - 2 * var(--global-outer-margin));
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
}

.swapper-box {
  display: block;
  position: relative;
  width: calc(100% - 0.25rem);
  height: calc(100% - 0.25rem);
  border: 1px solid var(--darkred);
  cursor: pointer;
  transition: 0.1s ease-out;
}

.swapper-box img {
  display: block;
  width: 100%;
  height: 100%;
}

.swapper-box__initial, .swapper-box__secondary {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 1rem);
  height: calc(100% - 1rem);
  padding: 0.5rem;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-end;
  transition: opacity 0.1s ease-out;
}

.swapper-box__initial {
  opacity: 1;
}

.swapper-box__initial h2 {
  background-color: rgba(var(--whiteNumeric), 0.85);
  margin: 0;
  padding: 0.25rem;
  font-family: var(--mercury-stack);
  font-style: italic;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.3;
}

.swapper-box__secondary {
  background-color: rgba(var(--darkRedNumeric), 0.95);
  opacity: 0;
}

.swapper-box__secondary p {
  color: var(--white);
  margin: 0;
}

.swapper-box__secondary p:first-child {
  flex-grow: 1;
}

.swapper-box:hover, .swapper-box:focus {
  border-color: var(--lightred);
}

.swapper-box:hover .swapper-box__initial, .swapper-box:focus .swapper-box__initial {
  opacity: 0;
}

.swapper-box:hover .swapper-box__secondary, .swapper-box:focus .swapper-box__secondary {
  opacity: 1;
}

.swapper-box:focus .swapper-box__secondary {
  outline: 2px dotted var(--white);
  outline-offset: -4px;
}

.biography-box img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 0.5rem;
}

.biography-box__header {
  margin-bottom: 0.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--yellow);
}

.biography-box__header h1, .biography-box__header h2, .biography-box__header h3, .biography-box__header h4, .biography-box__header h5, .biography-box__header h6 {
  margin-bottom: 0.25rem;
  color: var(--darkred);
}

.biography-box__header .biography-box__title {
  margin: 0;
  color: var(--almostblack);
}

.biography-box.biography-box--horizontal {
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(180px, 260px) 1fr;
  align-items: end;
}

.biography-box.biography-box--horizontal img {
  margin-bottom: 0;
}

.biography-box.biography-box--horizontal .biography-box__content > *:last-child > *:last-child {
  margin-bottom: 0;
}

.biography-box.biography-box--circle .biography-box__image {
  box-sizing: border-box;
  width: 100%;
  height: 0;
  padding-bottom: calc(100% - 4px);
  overflow: hidden;
  border-radius: 50%;
  margin-bottom: 2rem;
  border: 2px solid var(--yellow);
}

.biography-box.biography-box--simple {
  display: grid;
  grid-template-rows: min-content 1fr;
  row-gap: 0.25rem;
}

.biography-box.biography-box--simple .biography-box__header {
  border-bottom: 0;
  padding-bottom: 0;
}

.biography-grid-item {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(auto-fit, min-content);
  gap: 1rem 2rem;
  grid-template-areas: "image" "name" "info";
}

.biography-grid-item__header {
  grid-area: name;
}

.biography-grid-item__header h2, .biography-grid-item__header h3 {
  margin-bottom: 0.25rem;
  color: var(--darkred);
}

.biography-grid-item__header .biography-grid-item__title {
  margin: 0;
  color: var(--almostblack);
}

.biography-grid-item__content {
  grid-area: info;
}

.biography-grid-item__image {
  grid-area: image;
}

.biography-grid-item__image img {
  display: block;
  max-width: 100%;
  height: auto;
}

.biography-grid-item__contact-info {
  color: var(--darkgray);
}

@media screen and (min-width: 480px) {
  .biography-grid-item {
    grid-template-columns: 2fr 3fr;
    grid-template-rows: min-content 1fr;
    grid-template-areas: "left ur" "left lr";
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--yellow);
  }
  .biography-grid-item__header {
    grid-area: ur;
    align-self: end;
  }
  .biography-grid-item__image {
    grid-area: left;
  }
  .biography-grid-item__image img {
    width: 100%;
    height: auto;
  }
  .biography-grid-item__content {
    grid-area: lr;
  }
}

@media screen and (min-width: 769px) {
  .biography-grid-item {
    grid-template-columns: 150px 1fr;
    grid-template-areas: "ul ur" "bottom bottom";
  }
  .biography-grid-item__header {
    grid-area: ur;
  }
  .biography-grid-item__image {
    grid-area: ul;
  }
  .biography-grid-item__content {
    grid-area: bottom;
  }
}

@media screen and (min-width: 1025px) {
  .biography-grid-item {
    grid-template-columns: 2fr 3fr;
    grid-template-areas: "left ur" "left lr";
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--yellow);
  }
  .biography-grid-item__header {
    grid-area: ur;
    align-self: end;
  }
  .biography-grid-item__image {
    grid-area: left;
  }
  .biography-grid-item__image img {
    display: block;
    width: 100%;
    height: auto;
  }
  .biography-grid-item__content {
    grid-area: lr;
  }
}

.biography-grid-item.biography-grid-item--circle .biography-grid-item__image img {
  border-radius: 50%;
  border: 2px solid var(--yellow);
  margin: auto;
}

.biography-header h1 {
  margin-bottom: 0;
}

.no-photo-available-box {
  width: 100%;
  height: 0;
  background-color: var(--almostwhite);
  position: relative;
}

.no-photo-available-box.no-photo-available-box--square {
  padding-bottom: 100%;
}

.no-photo-available-box.no-photo-available-box--260x347 {
  padding-bottom: 133.46154%;
}

.no-photo-available-box.no-photo-available-box--160x213 {
  width: 160px;
  padding-bottom: 213px;
}

.no-photo-available-box__text {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  display: flex;
  align-items: center;
  text-align: center;
  background: var(--barelynotwhite);
  color: var(--darkgray);
  font-family: var(--gotham-stack);
  font-size: 0.75rem;
  width: 100%;
  justify-content: center;
  margin: 0;
}

.listing-item {
  display: grid;
  gap: 1rem 4rem;
  grid-template-areas: "top" "bottom";
  grid-template-columns: 1fr;
  grid-template-rows: min-content min-content;
}

.listing-item img {
  display: block;
}

.listing-item img,
.listing-item .listing-item__top-element {
  grid-area: top;
  width: 100%;
  height: auto;
}

.listing-item .listing-item__top-element a, .listing-item .listing-item__top-element img {
  display: block;
  width: 100%;
  height: auto;
}

.listing-item.listing-item--smaller-image img,
.listing-item.listing-item--smaller-image .listing-item__top-element {
  max-width: 150px;
}

.listing-item .listing-item__content {
  grid-area: bottom;
}

@media screen and (min-width: 641px) {
  .listing-item {
    grid-template-areas: "left right";
    grid-template-columns: 1fr 200px;
    grid-template-rows: min-content;
  }
  .listing-item.listing-item--no-image {
    grid-template-columns: 1fr;
    grid-template-areas: "left";
  }
  .listing-item.listing-item--smaller-image {
    grid-template-columns: 1fr 150px;
  }
  .listing-item img,
  .listing-item .listing-item__top-element {
    grid-area: right;
  }
  .listing-item .listing-item__content {
    grid-area: left;
  }
}

@media screen and (min-width: 769px) {
  .listing-item {
    grid-template-columns: 1fr 300px;
  }
  .listing-item.listing-item--smaller-image {
    grid-template-columns: 1fr 150px;
  }
}

@media screen and (min-width: 1025px) {
  .listing-item.listing-item--larger-image {
    grid-template-columns: 1fr 450px;
  }
}

.listing-item {
  opacity: 1;
  transition: opacity 0.35s ease-in-out;
}

.listing-item[data-hidden] {
  opacity: 1;
  transition: opacity 0.35s ease-in-out;
}

.listing-item[data-hidden='true'] {
  display: none;
}

.listing-item[data-hidden='false'] {
  animation: fadeIn 0.5s ease 0.125s both;
}

.listing-item__content {
  max-width: var(--readability-width);
  display: flex;
  flex-flow: column wrap;
}

.listing-item__content .story-details {
  margin-bottom: 1rem;
}

.listing-item__content .date-time-location {
  margin-bottom: 1rem;
}

.listing-item__content__copy {
  flex-grow: 1;
  margin-bottom: 1rem;
}

.listing-item__content__title a {
  text-decoration: none;
}

.vertical-listing-item .vertical-listing-item__content__copy {
  max-width: var(--readability-width);
  flex-grow: 0;
}

.vertical-listing-item .story-details + .vertical-listing-item__content__copy {
  margin-top: 0.5rem;
}

.vertical-listing-item.vertical-listing-item--image, .vertical-listing-item.vertical-listing-item--placeholder-image {
  display: grid;
  grid-template-rows: repeat(2, min-content);
  row-gap: 1rem;
}

.vertical-listing-item.vertical-listing-item--image .vertical-listing-item__content, .vertical-listing-item.vertical-listing-item--placeholder-image .vertical-listing-item__content {
  grid-row: 2 / 3;
}

.vertical-listing-item.vertical-listing-item--image > img,
.vertical-listing-item.vertical-listing-item--image > .vertical-listing-item__top-element, .vertical-listing-item.vertical-listing-item--placeholder-image > img,
.vertical-listing-item.vertical-listing-item--placeholder-image > .vertical-listing-item__top-element {
  grid-row: 1 / 2;
  max-width: 100%;
  width: 100%;
  height: auto;
}

.vertical-listing-item .vertical-listing-item__content {
  margin-bottom: unset;
}

.vertical-listing-item__content {
  margin-bottom: 1rem;
}

.vertical-listing-item.vertical-listing-item--event-listing .vertical-listing-item__content {
  display: grid;
  grid-template-rows: repeat(2, min-content);
  gap: 1rem;
}

.vertical-listing-item.vertical-listing-item--event-listing .vertical-listing-item__content h3 {
  grid-row: 2 / 3;
}

.vertical-listing-item__top-element {
  width: 100%;
}

.vertical-listing-item__top-element > a {
  width: 100%;
  display: block;
}

.vertical-listing-item__top-element > a > img {
  width: 100%;
  height: auto;
  display: block;
}

.vertical-listing-item[data-hidden] {
  opacity: 1;
  transition: opacity 0.35s ease-in-out;
}

.vertical-listing-item[data-hidden='true'] {
  display: none;
}

.vertical-listing-item[data-hidden='false'] {
  animation: fadeIn 0.5s ease 0.125s both;
}

.vertical-listing-item img {
  max-width: 100%;
  height: auto;
}

.pager {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 1.25rem;
  font-family: var(--gotham-stack);
  font-size: 1rem;
}

.pager li {
  margin: 0.25rem 0.5rem 0.25rem 0.5rem;
  border-radius: 50%;
  width: calc(1em + 0.5rem);
  height: calc(1em + 0.5rem);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  --angles-cheat: 5px;
}

.pager li.current {
  background: var(--darkred);
}

.pager li.current a {
  color: var(--white);
}

.pager li.flex-break {
  flex: 1 0 100%;
  height: 0;
}

.pager li.pagination__first, .pager li.pagination__previous, .pager li.pagination__next, .pager li.pagination__last {
  text-transform: capitalize;
  width: auto;
}

.pager li.pagination__first a:before,
.pager li.pagination__first a:after, .pager li.pagination__previous a:before,
.pager li.pagination__previous a:after, .pager li.pagination__next a:before,
.pager li.pagination__next a:after, .pager li.pagination__last a:before,
.pager li.pagination__last a:after {
  transition: all 0.1s ease;
}

.pager li.pagination__first:hover, .pager li.pagination__previous:hover, .pager li.pagination__next:hover, .pager li.pagination__last:hover {
  --angles-cheat: 9px;
}

.pager li.pagination__first:hover a:before,
.pager li.pagination__first:hover a:after, .pager li.pagination__previous:hover a:before,
.pager li.pagination__previous:hover a:after, .pager li.pagination__next:hover a:before,
.pager li.pagination__next:hover a:after, .pager li.pagination__last:hover a:before,
.pager li.pagination__last:hover a:after {
  transition: all 0.5s ease;
}

.pager li.pagination__first a:before {
  content: var(--fa-angles-left);
  right: var(--angles-cheat);
}

.pager li.pagination__previous a:before {
  content: var(--fa-angle-left);
  right: var(--angles-cheat);
}

.pager li.pagination__next a:after {
  content: var(--fa-angle-right);
  left: var(--angles-cheat);
}

.pager li.pagination__last a:after {
  content: var(--fa-angles-right);
  left: var(--angles-cheat);
}

.pager a {
  text-decoration: none;
  padding: 0.25rem;
}

.subsite-menu h3 a {
  padding-left: 0.625rem;
}

.subsite-menu__links,
.subsite-menu__links ul {
  max-width: 500px;
  line-height: 1.9;
}

.subsite-menu__links,
.subsite-menu__links ul,
.subsite-menu__links ul,
.subsite-menu__links ul ul {
  display: flex;
  flex-flow: column nowrap;
  gap: 4px;
}

.subsite-menu__links a,
.subsite-menu__links ul a {
  padding: 0.375rem 0.5rem 0.625rem 0.75rem;
  width: calc(100% - 1.25rem);
}

.subsite-menu__links a.active,
.subsite-menu__links ul a.active {
  background-color: var(--almostwhite);
  color: var(--darkred);
}

.subsite-menu__links a.active-trail:before,
.subsite-menu__links ul a.active-trail:before {
  width: 5px;
}

.subsite-menu__links ul,
.subsite-menu__links ul ul {
  margin: 4px 0 0 1rem;
}

.subsite-menu__links ul a,
.subsite-menu__links ul ul a {
  background-color: var(--white);
}

.horizontal-menu {
  display: flex;
  flex-flow: row wrap;
  align-items: baseline;
  gap: 0.5rem 1rem;
}

.horizontal-menu__links {
  margin: 0;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 0.25rem 1rem;
}

.horizontal-menu__links a {
  padding: 0.375rem 0.75rem 0.5rem 0.75rem;
}

.horizontal-menu__links a.active {
  background-color: var(--darkred);
  color: var(--white);
  font-weight: 700;
}

.horizontal-menu__links a.active:before {
  width: 0;
}

.views-exposed-form {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  justify-content: normal;
  gap: 1rem 2rem;
  border-block: 1px solid var(--yellow);
  padding-block: 1rem;
  font-family: var(--gotham-stack);
}

@media screen and (min-width: 480px) {
  .views-exposed-form {
    border: 2px dotted var(--yellow);
    padding: 1rem;
  }
}

.views-exposed-form label,
.views-exposed-form .label {
  font-family: var(--gotham-stack);
  margin-right: 1rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  color: var(--darkred);
  font-weight: 700;
  margin-top: 0;
}

.views-exposed-form input.form-text {
  line-height: 2;
  font-family: var(--gotham-stack);
  font-size: 0.875rem;
  width: auto;
  max-width: 100%;
  box-sizing: border-box;
}

.views-exposed-form .form-actions {
  border-top: dotted 1px var(--yellow);
  padding-top: 16px;
  flex: none;
  width: 100%;
  display: flex;
  gap: 16px;
}

.views-exposed-form .fieldgroup {
  padding: 0;
  border-width: 0;
}

.views-exposed-form input.button, .views-exposed-form input.btn {
  color: var(--darkred);
  font-size: 0.875rem;
  padding: 0.75rem 1rem;
  border: 0;
  font-family: var(--gotham-stack);
  cursor: pointer;
}

.views-exposed-form input.button:hover, .views-exposed-form input.btn:hover, .views-exposed-form input.button:focus, .views-exposed-form input.btn:focus {
  color: var(--white);
}

.views-exposed-form input.button[name="reset"], .views-exposed-form input.btn[name="reset"] {
  color: var(--almostblack);
}

.views-exposed-form input.button[name="reset"]:hover, .views-exposed-form input.btn[name="reset"]:hover, .views-exposed-form input.button[name="reset"]:focus, .views-exposed-form input.btn[name="reset"]:focus {
  color: var(--white);
}

.views-exposed-form .form-type__textfield:has(+ :not(.form-type__textfield)) {
  width: 100%;
  flex: none;
}

.grid, .basic-grid--1-2,
.basic-grid--1-2-3,
.css-grid-1-2,
.css-grid-1-2-3 {
  --row-gap: 2rem;
  --col-gap: 2rem;
  display: grid;
  gap: var(--row-gap) var(--col-gap);
}

.grid[data-row-gap="0.5x"], .basic-grid--1-2[data-row-gap="0.5x"],
.basic-grid--1-2-3[data-row-gap="0.5x"],
.css-grid-1-2[data-row-gap="0.5x"],
.css-grid-1-2-3[data-row-gap="0.5x"] {
  --row-gap: 1rem;
}

.grid[data-row-gap="2x"], .basic-grid--1-2[data-row-gap="2x"],
.basic-grid--1-2-3[data-row-gap="2x"],
.css-grid-1-2[data-row-gap="2x"],
.css-grid-1-2-3[data-row-gap="2x"] {
  --row-gap: 4rem;
}

.grid[data-col-gap="0.5x"], .basic-grid--1-2[data-col-gap="0.5x"],
.basic-grid--1-2-3[data-col-gap="0.5x"],
.css-grid-1-2[data-col-gap="0.5x"],
.css-grid-1-2-3[data-col-gap="0.5x"] {
  --col-gap: 1rem;
}

.grid[data-col-gap="2x"], .basic-grid--1-2[data-col-gap="2x"],
.basic-grid--1-2-3[data-col-gap="2x"],
.css-grid-1-2[data-col-gap="2x"],
.css-grid-1-2-3[data-col-gap="2x"] {
  --col-gap: 4rem;
}

@media screen and (min-width: 769px) {
  .grid--1-2, .basic-grid--1-2,
  .css-grid-1-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (min-width: 641px) {
  .grid--1-2-3,
  .basic-grid--1-2-3,
  .css-grid-1-2-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (min-width: 1025px) {
  .grid--1-2-3,
  .basic-grid--1-2-3,
  .css-grid-1-2-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (min-width: 480px) {
  .grid--1-2-3-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (min-width: 769px) {
  .grid--1-2-3-4 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (min-width: 1025px) {
  .grid--1-2-3-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

.grid--1-2-flush,
.grid--1-2-3-flush,
.grid--1-2-3-4-flush {
  --col-width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(var(--col-width), 1fr));
}

@media screen and (min-width: 769px) {
  .grid--1-2-flush {
    --col-width: calc(50% - (var(--col-gap) * 1 / 2));
  }
}

@media screen and (min-width: 641px) {
  .grid--1-2-3-flush {
    --col-width: calc(50% - (var(--col-gap) * 1 / 2));
  }
}

@media screen and (min-width: 1025px) {
  .grid--1-2-3-flush {
    --col-width: calc(33.33333% - (var(--col-gap) * 2 / 3));
  }
}

@media screen and (min-width: 480px) {
  .grid--1-2-3-4-flush {
    --col-width: calc(50% - (var(--col-gap) * 1 / 2));
  }
}

@media screen and (min-width: 769px) {
  .grid--1-2-3-4-flush {
    --col-width: calc(33.33333% - (var(--col-gap) * 2 / 3));
  }
}

@media screen and (min-width: 1025px) {
  .grid--1-2-3-4-flush {
    --col-width: calc(25% - (var(--col-gap) * 3 / 4));
  }
}

.grid--300 {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.grid--180 {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.grid--200 {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

ul.css-grid-1-2,
ul.css-grid-1-2-3 {
  margin: 0;
}

.center-text {
  text-align: center;
}

.centerer {
  flex-flow: row wrap;
}

@media screen and (min-width: 769px) {
  .pull, .pull-images .basic-copy > figure,
  .pull-images .basic-copy > .text-content > figure,
  .pull-images .basic-copy > p > img,
  .pull-images .basic-copy > .text-content > p > img {
    --pull-width: clamp(2rem, calc(-12.222rem + 29.63vw), 10rem);
    max-width: 70%;
  }
  .pull.obj-right, .pull.align-right, .pull-images .basic-copy > figure.align-right,
  .pull-images .basic-copy > .text-content > figure.align-right,
  .pull-images .basic-copy > p > img.align-right,
  .pull-images .basic-copy > .text-content > p > img.align-right, .pull-images .basic-copy > figure.obj-right,
  .pull-images .basic-copy > .text-content > figure.obj-right,
  .pull-images .basic-copy > p > img.obj-right,
  .pull-images .basic-copy > .text-content > p > img.obj-right {
    margin-right: calc(var(--pull-width) * -1);
  }
  .pull.obj-left, .pull.align-left, .pull-images .basic-copy > figure.align-left,
  .pull-images .basic-copy > .text-content > figure.align-left,
  .pull-images .basic-copy > p > img.align-left,
  .pull-images .basic-copy > .text-content > p > img.align-left, .pull-images .basic-copy > figure.obj-left,
  .pull-images .basic-copy > .text-content > figure.obj-left,
  .pull-images .basic-copy > p > img.obj-left,
  .pull-images .basic-copy > .text-content > p > img.obj-left {
    margin-left: calc(var(--pull-width) * -1);
  }
  .pull:not(.obj-right):not(.align-right):not(
  .obj-left):not(
  .align-left), .pull-images .basic-copy > figure:not(.obj-right):not(.align-right):not(
  .obj-left):not(
  .align-left),
  .pull-images .basic-copy > .text-content > figure:not(.obj-right):not(.align-right):not(
  .obj-left):not(
  .align-left),
  .pull-images .basic-copy > p > img:not(.obj-right):not(.align-right):not(
  .obj-left):not(
  .align-left),
  .pull-images .basic-copy > .text-content > p > img:not(.obj-right):not(.align-right):not(
  .obj-left):not(
  .align-left) {
    max-width: unset;
    width: calc(100% + var(--pull-width) * 2);
    margin-right: calc(var(--pull-width) * -1);
    margin-left: calc(var(--pull-width) * -1);
  }
  .pull:not(.obj-right):not(.align-right):not(
  .obj-left):not(
  .align-left) img, .pull-images .basic-copy > figure:not(.obj-right):not(.align-right):not(
  .obj-left):not(
  .align-left) img, .pull-images .basic-copy > .text-content > figure:not(.obj-right):not(.align-right):not(
  .obj-left):not(
  .align-left) img, .pull-images .basic-copy > p > img:not(.obj-right):not(.align-right):not(
  .obj-left):not(
  .align-left) img, .pull-images .basic-copy > .text-content > p > img:not(.obj-right):not(.align-right):not(
  .obj-left):not(
  .align-left) img {
    width: 100%;
    height: auto;
  }
}

.pull:not(.obj-right):not(.align-right):not(
.obj-left):not(
.align-left), .pull-images .basic-copy > figure:not(.obj-right):not(.align-right):not(
.obj-left):not(
.align-left),
.pull-images .basic-copy > .text-content > figure:not(.obj-right):not(.align-right):not(
.obj-left):not(
.align-left),
.pull-images .basic-copy > p > img:not(.obj-right):not(.align-right):not(
.obj-left):not(
.align-left),
.pull-images .basic-copy > .text-content > p > img:not(.obj-right):not(.align-right):not(
.obj-left):not(
.align-left) {
  margin-block: 3rem;
}

.readability-width {
  max-width: var(--readability-width);
}

.listing.listing--stories-grid {
  gap: 2rem 2rem;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.listing.listing--stories-grid > * {
  max-width: 350px;
  margin: auto;
}

.basic-trio {
  display: grid;
  gap: 2rem;
  grid-auto-rows: min-content;
}

@media screen and (min-width: 769px) {
  .basic-trio {
    grid-template-columns: repeat(3, 1fr);
  }
}

.biography-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: min-content;
  gap: 4rem 4rem;
}

@media screen and (min-width: 769px) {
  .biography-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.horizontal-slider-listing {
  width: 100%;
  display: grid;
  grid-template-rows: 1fr;
  grid-auto-flow: column;
  grid-template-columns: 95%;
  grid-auto-columns: 95%;
  column-gap: 5%;
  padding-bottom: 2rem;
  overflow-x: scroll;
  scroll-snap-type: x mandatory;
}

.horizontal-slider-listing > * {
  scroll-snap-align: start;
}

@media screen and (min-width: 641px) {
  .horizontal-slider-listing {
    grid-template-columns: 47.5%;
    grid-auto-columns: 47.5%;
  }
}

@media screen and (min-width: 1025px) {
  .horizontal-slider-listing {
    grid-template-columns: 30%;
    grid-auto-columns: 30%;
  }
  .horizontal-slider-listing > * {
    scroll-snap-align: center;
  }
}

.horizontal-slider-listing__wrapper {
  position: relative;
  padding: 0 1.875rem;
}

.horizontal-slider-listing__pager {
  font-size: 3rem;
  top: 40%;
  color: var(--darkgray);
  opacity: 1;
  transition: 0.25s ease-in-out;
  display: block;
  background-color: unset;
  padding: 0;
}

.horizontal-slider-listing__pager:hover, .horizontal-slider-listing__pager:focus {
  background-color: unset;
  color: unset;
}

.horizontal-slider-listing__pager--prev {
  content: var(--fa-angle-left);
  left: -1.5rem;
  transform: translateX(2px);
}

.horizontal-slider-listing__pager--prev:hover {
  transform: translateX(0px);
}

.horizontal-slider-listing__pager--prev.inactive {
  opacity: 0;
}

.horizontal-slider-listing__pager--prev.inactive:hover {
  transform: translateX(2px);
  color: var(--mediumgray);
  cursor: default;
}

.horizontal-slider-listing__pager--next {
  content: var(--fa-angle-right);
  right: -1.5rem;
  transform: translateX(-2px);
}

.horizontal-slider-listing__pager--next:hover {
  transform: translateX(0px);
}

.horizontal-slider-listing__pager--next.inactive {
  opacity: 0;
}

.horizontal-slider-listing__pager--next.inactive:hover {
  transform: translateX(-2px);
  color: var(--mediumgray);
  cursor: default;
}

.items-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}

.items-row[data-center-text='true'] .items-row__header,
.items-row[data-center-text='true'] .items-row__footer {
  margin: auto;
  text-align: center;
}

.lined-grid {
  display: grid;
  gap: 4rem 10rem;
}

.lined-grid > * {
  --line-length: 60%;
  --line-offset: 20%;
  position: relative;
}

.lined-grid > *:after {
  display: block;
  content: '';
  width: var(--line-length);
  position: absolute;
  bottom: -2rem;
  right: var(--line-offset);
  border-bottom: 1px solid var(--yellow);
}

.lined-grid > *:nth-last-child(1):after {
  display: none;
}

@media screen and (min-width: 769px) {
  .lined-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .lined-grid > *:nth-last-child(2):after {
    display: none;
  }
  .lined-grid > *:nth-child(even):before {
    display: block;
    content: '';
    height: var(--line-length);
    position: absolute;
    top: var(--line-offset);
    left: -5rem;
    border-right: 1px solid var(--yellow);
  }
}

.listing {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  gap: 5rem;
}

.listing.listing--tighter {
  gap: 4rem;
}

.listing.listing--dense {
  gap: 2.5rem;
}

.listing[data-listing-view-slide] {
  height: auto;
  transition: height 1s ease;
}

.special-grid-b {
  display: grid;
  gap: 2rem;
}

@media screen and (min-width: 641px) {
  .special-grid-b {
    grid-template-columns: repeat(2, 1fr);
  }
  .special-grid-b > *:nth-child(1),
  .special-grid-b > *:nth-child(3) {
    grid-row: 1 / 2;
  }
}

@media screen and (min-width: 1025px) {
  .special-grid-b {
    grid-template-columns: 1fr 2fr 1fr 2fr;
  }
  .special-grid-b > *:nth-child(1),
  .special-grid-b > *:nth-child(3) {
    grid-row: unset;
  }
}

.special-grid-f {
  border: 1px solid var(--mediumgray);
}

.special-grid-f__row {
  padding: 1rem 1rem 1.5rem 1rem;
  border-bottom: 1px solid var(--mediumgray);
}

.special-grid-f__row:last-child {
  border-bottom: 0;
}

.special-grid-f__row:nth-child(2n) {
  background-color: var(--almostwhite);
}

@media screen and (min-width: 550px) and (max-width: 768px), screen and (min-width: 960px) {
  .special-grid-f__row {
    padding: 1.5rem 1rem;
    display: grid;
    grid-template-columns: 200px 1fr;
    column-gap: 2rem;
    align-items: center;
    width: calc(100% - 2rem);
  }
  .special-grid-f__row:nth-child(2n) {
    background-color: var(--almostwhite);
  }
}

.image-row {
  display: grid;
  gap: 0.5rem;
}

.image-row figure.captioned-image,
.image-row figure.captioned-image figcaption {
  display: block;
}

.image-row img {
  margin-inline: auto;
}

.image-row__images {
  display: grid;
  gap: 1rem;
  margin: auto;
}

.image-row__images figure:not(.captioned-image) img {
  margin-bottom: 0;
}

@media screen and (min-width: 769px) {
  .image-row__images {
    width: 100%;
  }
  .image-row__images[data-cols="2"] {
    grid-template-columns: repeat(2, 1fr);
  }
  .image-row__images[data-cols="3"] {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (min-width: 641px) and (max-width: 768px) {
  .image-row__images[data-cols="3"][data-rows="2+1"] {
    grid-template-columns: repeat(2, 1fr);
  }
  .image-row__images[data-cols="3"][data-rows="2+1"] > :nth-child(3) {
    grid-row: 2 / 3;
    grid-column: 1 / 3;
  }
}

@media screen and (min-width: 641px) and (max-width: 768px) {
  .image-row__images[data-cols="3"][data-rows="1+2"] {
    grid-template-columns: repeat(2, 1fr);
  }
  .image-row__images[data-cols="3"][data-rows="1+2"] > :nth-child(1) {
    grid-row: 1 / 2;
    grid-column: 1 / 3;
  }
}

.image-grid {
  display: grid;
  gap: 1rem;
}

.image-grid--single-caption .figcaption {
  margin-top: -0.5rem;
}

.flex-row {
  display: grid;
  gap: 1.5rem;
}

@media screen and (max-width: 768px) {
  .flex-row.pull, .pull-images .basic-copy > figure.flex-row,
  .pull-images .basic-copy > .text-content > figure.flex-row,
  .pull-images .basic-copy > p > img.flex-row,
  .pull-images .basic-copy > .text-content > p > img.flex-row {
    --pull-width: 1.75rem;
    width: calc(100vw - 0.5rem);
    margin-right: calc(var(--pull-width) * -1);
    margin-left: calc(var(--pull-width) * -1);
  }
  .flex-row__content {
    --column-width: calc(100vw / 8);
  }
}

.flex-row__content {
  margin: auto;
  width: auto;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  gap: clamp(0.125rem, calc(-0.647rem + 3.431vw), 1rem);
  --column-width: calc(100% / 9);
}

.flex-row__content.flex-row--reverse {
  flex-flow: row-reverse nowrap;
}

.flex-row__content > * {
  width: 100%;
  max-width: 100%;
  height: auto;
  flex: 0 1 var(--myWidth);
  --myWidth: var(--column-width);
}

.flex-row__content > *[data-span="1"] {
  --myWidth: calc(var(--column-width) * 1);
}

.flex-row__content > *[data-span="2"] {
  --myWidth: calc(var(--column-width) * 2);
}

.flex-row__content > *[data-span="3"] {
  --myWidth: calc(var(--column-width) * 3);
}

.flex-row__content > *[data-span="4"] {
  --myWidth: calc(var(--column-width) * 4);
}

.flex-row__content > *[data-span="5"] {
  --myWidth: calc(var(--column-width) * 5);
}

.flex-row__content > *[data-span="6"] {
  --myWidth: calc(var(--column-width) * 6);
}

.flex-row__content > *[data-span="7"] {
  --myWidth: calc(var(--column-width) * 7);
}

.flex-row__content [data-span] > a {
  width: 100%;
  height: auto;
  max-width: 100%;
}

.flex-row__content [data-span] > a > img {
  width: 100%;
  height: auto;
}

.body-centered-layout {
  margin: 0 auto;
  max-width: var(--readability-width);
  width: var(--apply-global-max-width);
}

.body-centered-layout.body-centered-layout--wider {
  max-width: var(--readability-width--wider);
}

.body-left-layout {
  width: var(--apply-global-max-width);
  max-width: var(--max-width);
  margin: 0 auto;
}

.body-left-layout__content {
  width: 100%;
  max-width: var(--readability-width);
}

.body-with-sidebar-layout {
  --sidebar-width: 250px;
  width: var(--apply-global-max-width);
  max-width: var(--max-width);
  display: grid;
  gap: 3rem 3rem;
  margin: 0 auto;
}

.body-with-sidebar-layout .body-with-sidebar-layout__content {
  max-width: var(--readability-width);
  min-width: 0;
}

@media screen and (min-width: 769px) {
  .body-with-sidebar-layout {
    grid-template-columns: 1fr minmax(var(--sidebar-width), min-content);
  }
  .body-with-sidebar-layout .body-with-sidebar-layout__sidebar {
    grid-column: 2 / 3;
    grid-row: 1 / 1;
  }
  .body-with-sidebar-layout .body-with-sidebar-layout__content {
    grid-column: 1 / 2;
    grid-row: 1 / 1;
  }
  .body-with-sidebar-layout.body-with-sidebar-layout--sidebar-left {
    grid-template-columns: minmax(var(--sidebar-width), min-content) 1fr;
  }
  .body-with-sidebar-layout.body-with-sidebar-layout--sidebar-left .body-with-sidebar-layout__sidebar {
    grid-column: 1 / 2;
    grid-row: 1 / 1;
  }
  .body-with-sidebar-layout.body-with-sidebar-layout--sidebar-left .body-with-sidebar-layout__content {
    grid-column: 2 / 2;
    grid-row: 1 / 1;
  }
}

@media screen and (min-width: 1025px) {
  .body-with-sidebar-layout {
    --sidebar-width: 300px;
  }
  .body-with-sidebar-layout.body-with-sidebar-layout--sidebar-left {
    gap: 3rem 6rem;
  }
}

@media screen and (min-width: 1200px) {
  .body-with-sidebar-layout {
    --sidebar-width: 350px;
  }
}

.body-with-sidebar-layout__sidebar {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--sidebar-width), 1fr));
  gap: 2rem 2rem;
  grid-auto-flow: row dense;
  grid-auto-rows: min-content;
}

@media screen and (min-width: 769px) {
  .body-with-sidebar-layout__sidebar {
    gap: 4rem 2rem;
  }
}

.body-with-sidebar-layout__sidebar .subsite-menu {
  grid-column: 1 / -1;
  grid-row: -1 / span;
}

.max-width-layout > .body-with-sidebar-layout {
  width: 100%;
  margin: auto;
}

.max-width-layout {
  width: var(--apply-global-max-width);
  max-width: var(--max-width);
  margin: 0 auto;
}

.max-width-layout.max-width-layout--full {
  width: 100%;
}

.contrast-band {
  padding: 4rem 0;
}

.contrast-band.contrast-band--slight-contrast {
  background: var(--barelynotwhite);
  border-block: 1px solid var(--darkgray);
}

.contrast-band.contrast-band--mild-contrast {
  background: var(--almostwhite);
  border-block: 1px solid var(--darkgray);
}

.contrast-band.contrast-band--strong-contrast {
  background: var(--darkred);
}

.contrast-band.contrast-band--dotted-separators {
  position: relative;
}

.contrast-band.contrast-band--dotted-separators:before, .contrast-band.contrast-band--dotted-separators:after {
  font-size: 1.625rem;
  font-family: var(--gotham-stack);
  display: block;
  position: absolute;
  color: var(--yellow);
  left: calc(50% - 2.875rem);
  transform: scaleY(0.875);
}

.contrast-band.contrast-band--dotted-separators:before {
  top: 0;
  content: "\25bc  \25b2  \25bc";
}

.contrast-band.contrast-band--dotted-separators:after {
  bottom: 0;
  content: "\25b2  \25bc  \25b2";
}

figure[data-cte] a,
[data-cte-set]:not(.image-row__images):not(.image-grid) figure[data-cte-set-image] a {
  position: relative;
  display: block;
}

figure[data-cte] a:after,
[data-cte-set]:not(.image-row__images):not(.image-grid) figure[data-cte-set-image] a:after {
  display: block;
  position: absolute;
  line-height: 1;
  bottom: 0.25rem;
  right: 0.25rem;
  padding: 2px;
  border-radius: 4px;
  font-family: var(--fa-stack);
  content: "\f00e";
  font-size: 1rem;
  color: var(--white);
  background: rgba(255, 255, 255, 0);
  transition: all 0.25s ease;
}

figure[data-cte] a:hover:after,
[data-cte-set]:not(.image-row__images):not(.image-grid) figure[data-cte-set-image] a:hover:after {
  color: var(--darkred);
  background: white;
}

#rise-intro {
  text-transform: uppercase;
  color: var(--darkgray);
}

@media screen and (min-width: 550px) and (max-width: 768px), screen and (min-width: 960px) {
  #rise-intro {
    padding: 0.625rem 0;
    top: 0;
    background: var(--white);
  }
  #rise-intro .rise-intro__subtitle {
    padding-bottom: 0.25rem;
  }
}

.rise-intro__title {
  font-size: 3.75rem;
  line-height: 1;
  margin-left: -4px;
  margin-bottom: 0.25rem;
}

.rise-intro__title .red {
  color: var(--darkred);
}

.rise-intro__subtitle {
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--darkgray);
  font-size: 1.125rem;
  line-height: 1.3;
}

.rise-intro__subtitle span {
  display: inline-block;
}

.rise-intro__subtitle span:first-letter {
  color: var(--darkred);
}

#rise-document {
  border-top: 10px solid var(--mediumgray);
  padding-top: 2rem;
  margin: 3rem 0;
  position: relative;
}

#rise-document h2 {
  color: var(--almostblack);
  font-size: 2rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.25;
  font-family: var(--gotham-stack);
}

#rise-document h2 .red {
  color: var(--darkred);
}

#rise-document h3 {
  font-size: 1.25rem;
  margin: 1rem 0;
  line-height: 1.25;
  color: var(--darkred);
  font-family: var(--gotham-stack);
  text-transform: uppercase;
}

@media screen and (min-width: 550px) and (max-width: 768px), screen and (min-width: 960px) {
  #rise-document h3 {
    margin: 0;
    text-align: center;
    line-height: 1.25;
    color: var(--darkred);
  }
}

#rise-document.animate .rise-main h2, #rise-document.animate .rise-main ul {
  opacity: 0;
  position: relative;
  top: 15px;
}

.site-header__logo {
  padding: 0.75rem 1rem;
  display: block;
  transform: scale(1, 1);
  transition: transform 0.5s ease-out;
}

.site-header__logo:hover {
  transform: scale(1.085, 1.085);
  transition: transform 0.25s ease-out;
}

.site-header__logo .svg-logo {
  fill: var(--white);
  width: 139px;
  height: 39px;
}

.site-header__logo__link {
  display: block;
  line-height: 1;
  height: auto;
}

.site-header__logo__link .svg-wordmark {
  width: 139px;
  height: auto;
}

/** TODO: refactor to simplify to a "cta-menu-icons" approach **/
.cta-menu ul {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 2.5rem;
}

.cta-menu ul li a {
  width: max-content;
  display: flex;
  align-items: center;
}

.cta-menu a {
  position: relative;
  color: #fff;
  text-decoration: none;
  font-family: var(--gotham-stack);
  font-weight: var(--weight-medium);
  font-size: calc(0.875rem + var(--px1));
  display: flex;
  flex-flow: row wrap;
  align-items: baseline;
}

@media screen and (min-width: 1025px) {
  .cta-menu a {
    font-size: calc(1rem + var(--px1));
  }
}

.cta-menu a::before {
  display: inline-block;
  position: absolute;
  left: -1.5rem;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: var(--fa-stack);
  font-weight: 900;
  margin-right: 0.5rem;
  margin-bottom: 3px;
  transition: transform 0.25s ease-in-out, color 0.25s ease-out;
}

.cta-menu a:hover::before {
  transform: scale(1.25, 1.25) rotate(-25deg);
}

.cta-menu a.info-circle::before {
  content: "\f05a";
}

.cta-menu a.map-marker::before {
  content: "\f041";
  left: -1.25rem;
}

.cta-menu a.check-circle::before {
  content: "\f058";
}

.cta-menu a.gift::before {
  content: "\f06b";
}

.cta-menu a::after {
  content: "";
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 2px;
  bottom: 0px;
  right: 0;
  background-color: var(--yellow);
  transform-origin: right center;
  transform: scaleX(0) scaleY(0.25);
  transition: 0.125s ease-out;
}

.cta-menu a:hover::after {
  transform: scaleX(1) scaleY(1);
}

.site-footer__cta .cta-menu {
  margin-left: 1.25rem;
}

.site-footer__cta .cta-menu ul li a::before {
  color: var(--lightred);
}

.site-header .cta-menu ul li a:hover::before {
  color: var(--yellow);
}

ul.menu--college-of-arts-and-sciences-cta,
ul.menu--oberlin-conservatory-of-music-ct {
  display: flex;
  flex-direction: column;
}

ul.menu--college-of-arts-and-sciences-cta li a:before,
ul.menu--oberlin-conservatory-of-music-ct li a:before {
  display: inline-block;
  font-style: normal;
  font-feature-settings: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: var(--fa-stack);
  font-weight: 900;
  font-size: 16px;
  transition: transform 0.25s ease-in-out, color 0.25s ease-out;
  margin-right: 12px;
  width: 16px;
  text-align: center;
}

ul.menu--college-of-arts-and-sciences-cta li a.info-circle::before,
ul.menu--oberlin-conservatory-of-music-ct li a.info-circle::before {
  content: "\f05a";
}

ul.menu--college-of-arts-and-sciences-cta li a.map-marker-alt::before,
ul.menu--oberlin-conservatory-of-music-ct li a.map-marker-alt::before {
  content: "\f3c5";
}

ul.menu--college-of-arts-and-sciences-cta li a.check-circle::before,
ul.menu--oberlin-conservatory-of-music-ct li a.check-circle::before {
  content: "\f058";
}

ul.menu--oberlin-conservatory-of-music-ct,
ul.menu--college-of-arts-and-sciences-cta {
  margin: 0;
  display: flex;
  flex-direction: column;
}

ul.menu--oberlin-conservatory-of-music-ct li,
ul.menu--college-of-arts-and-sciences-cta li {
  display: flex;
  width: auto;
  gap: rem(10px);
  line-height: 1.5;
  margin-block-end: 0;
}

ul.menu--oberlin-conservatory-of-music-ct li:before,
ul.menu--college-of-arts-and-sciences-cta li:before {
  width: rem(17px);
  display: block;
  font-size: rem(17px);
}

ul.menu--oberlin-conservatory-of-music-ct a,
ul.menu--college-of-arts-and-sciences-cta a {
  font-size: 1rem;
  display: block;
  font-family: var(--gotham-stack);
  font-weight: var(--weight-normal);
}

ul.menu--oberlin-conservatory-of-music-ct a:before,
ul.menu--college-of-arts-and-sciences-cta a:before {
  color: var(--lightred);
}

.search-trigger {
  color: #fff;
  text-decoration: none;
  position: relative;
  display: block;
  padding: 0.5rem 1rem;
  text-align: center;
}

@media screen and (min-width: 400px) {
  .search-trigger {
    padding: 0.5rem 2rem 0.5rem 3rem;
  }
}

@media screen and (min-width: 830px) {
  .search-trigger {
    padding: 0.5rem 1.5rem 0.5rem 2rem;
  }
}

@media screen and (min-width: 1025px) {
  .search-trigger {
    padding: 0.5rem 1.5rem 0.5rem 3rem;
    padding: 0.625rem 1.5rem 0.5rem 3rem;
  }
}

.search-trigger:hover, .search-trigger:visited, .search-trigger:active {
  color: #fff;
}

@media screen and (min-width: 830px) {
  .search-trigger:before {
    content: "";
    position: absolute;
    top: 15%;
    left: 1rem;
    height: 65%;
    font-size: 8rem;
    line-height: 0;
    display: block;
    border: 0.25px solid var(--almostwhite);
  }
}

@media screen and (min-width: 1025px) {
  .search-trigger:before {
    left: 1.5rem;
  }
}

.search-trigger .search-trigger__label {
  font-family: var(--gotham-stack);
  margin-left: 0.25rem;
  font-weight: var(--weight-medium);
  font-size: calc(0.875rem + var(--px1));
}

@media screen and (min-width: 1025px) {
  .search-trigger .search-trigger__label {
    font-size: calc(1rem + var(--px1));
  }
}

.search-trigger .fa {
  transform: scale(1, 1) rotate(-5deg);
  transition: 0.2s ease-in-out;
}

.search-trigger:hover .fa {
  transform: scale(1.35, 1.35) rotate(5deg);
  color: var(--yellow);
}

.search-trigger:hover .search-trigger__label:after {
  transform: scaleX(1) scaleY(1);
}

.global-menu-panel {
  border-left: 1px solid var(--yellow);
  border-bottom: 1px solid var(--yellow);
  width: calc(100% - 4rem);
  max-width: 600px;
  position: absolute;
  padding: 2rem;
  top: 73px;
  background-color: var(--almostwhite);
  color: var(--darkred);
  right: 0;
  z-index: 100;
  max-height: calc(100vh - 150px);
  overflow-y: scroll;
  opacity: 1;
}

.global-menu-panel .block-menu-block {
  margin: 0 0 2rem 0;
}

.global-menu-panel .block-menu-block:last-child {
  margin-bottom: 0;
}

.global-menu-panel .block-menu-block h2 {
  border-bottom: 2px solid var(--yellow);
  padding-bottom: 0.625rem;
}

.global-menu-panel #globalMenuPanelCtaMenu:last-child {
  margin-block: 4rem 3rem;
}

.main-menu > nav > ul.menu > li {
  font-size: 1.125rem;
  margin: 0;
  position: relative;
  cursor: pointer;
}

.main-menu > nav > ul.menu > li a {
  text-decoration: none;
  font-family: var(--gotham-stack);
  display: block;
  width: 100%;
  padding: 0.5rem 0;
  position: relative;
}

.main-menu > nav > ul.menu > li > a {
  color: var(--darkred);
  font-weight: 400;
  padding-right: 2.5rem;
  width: calc(100% - 2.5rem);
}

.main-menu > nav > ul.menu > li:hover > a {
  color: var(--lightred);
}

.main-menu > nav > ul.menu > li.expanded > a:after {
  content: var(--fa-plus);
  color: #000;
  font-size: 0.75em;
  line-height: 1;
  top: 1em;
  right: 0;
  height: 1rem;
  width: 1.5em;
  margin: auto;
  transform: rotate(0deg);
  transform-origin: 6px 6px;
  transition: transform 0.25s ease-in-out;
}

.main-menu > nav > ul.menu > li.expanded > a.has-ul-active:after {
  transform: rotate(45deg);
}

.main-menu ul.menu ul.menu {
  margin: 0.25rem 2rem 0.25rem 0;
  font-family: var(--mercury-stack);
}

.main-menu ul.menu ul.menu li {
  font-size: 1rem;
  border-bottom: 1px dotted var(--mediumgray);
  padding: 0;
  margin: 0 0.5rem 0 0;
}

.main-menu ul.menu ul.menu li a {
  color: var(--almostblack);
}

.main-menu ul.menu ul.menu li:hover a {
  color: var(--darkred);
}

.main-menu ul.menu ul.menu li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.main-menu ul.menu ul.menu li:after {
  content: unset;
}

.audience-menu ul.menu {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem 2rem;
}

.audience-menu ul.menu li {
  font-family: var(--gotham-stack);
}

.no-js .global-menu-panel {
  opacity: 1;
  display: none;
}

.no-scroll {
  overflow: hidden;
  height: 100%;
}

.breadcrumbs {
  background-color: var(--barelynotwhite);
  padding: 0.625rem 0;
  border-bottom: 1px solid var(--mediumgray);
}

@media screen and (min-width: 641px) {
  .breadcrumbs {
    padding: 0.875rem 0;
  }
}

.breadcrumb-bar {
  width: var(--apply-global-max-width);
  max-width: var(--max-width);
  margin: auto;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 1rem;
  font-family: var(--gotham-stack);
}

.breadcrumb-bar li {
  position: relative;
  font-size: calc(0.875rem + var(--px1));
  font-weight: var(--weight-medium);
}

.breadcrumb-bar li:first-child:not(.c-breadcrumb__item) {
  display: none;
}

.breadcrumb-bar li:not(:last-child):after {
  content: var(--fa-angle-right);
  left: 0.5rem;
  color: var(--darkgray);
}

.breadcrumb-bar a {
  font-weight: var(--weight-medium);
  color: var(--darkred);
  text-decoration: none;
}

.breadcrumb-bar a:hover {
  text-decoration: underline;
}

@media (max-width: 640px) {
  .breadcrumb-bar li {
    display: none;
  }
  .breadcrumb-bar li:nth-last-child(2) {
    display: block;
  }
  .breadcrumb-bar li:nth-last-child(2):after {
    content: "";
  }
  .breadcrumb-bar li:nth-last-child(2):before {
    font-family: var(--fa-stack);
    content: var(--fa-circle-arrow-left) var(--space-char);
    font-weight: 900;
    color: var(--darkred);
  }
}

button.global-menu-button {
  flex-flow: column nowrap;
  position: relative;
  height: 100%;
  min-height: 69px;
  padding: 4px 1rem 4px;
  margin: 0;
  cursor: pointer;
  font-family: var(--gotham-stack);
  font-size: 0.75rem;
  text-transform: uppercase;
  border: 0;
  gap: 0.375rem;
  background-color: var(--almostwhite);
  color: var(--darkred);
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
}

@media screen and (min-width: 400px) {
  button.global-menu-button {
    padding: 4px 2.5rem 4px 2rem;
  }
}

button.global-menu-button span.fas {
  font-size: 2rem;
  position: relative;
  transform: rotate(0deg) translateX(0%);
  transition: transform 0.5s ease-out;
}

button.global-menu-button:focus {
  outline: var(--darkred) dotted -2px;
  outline-offset: -4px;
}

button .global-menu-button__text {
  line-height: 1;
}

button.global-menu-button:hover, button.global-menu-button:focus {
  background-color: var(--white);
  color: var(--lightred);
}

button.global-menu-button:hover span.fas, button.global-menu-button:focus span.fas {
  transform: rotate(0deg) translateX(35%);
}

button.global-menu-button.active span.fas {
  transform: rotate(90deg) translateX(0%);
}

:root {
  --globalHeaderHeight: 73px;
}

#globalUnderlay {
  position: absolute;
  width: 100%;
  height: calc(100vh - var(--globalHeaderHeight));
  top: var(--globalHeaderHeight);
  bottom: 0;
  left: 0;
  background-color: rgba(var(--barelynotblackNumeric), 0.75);
  z-index: 99;
  animation: fadeIn 0.25s ease;
  transition: opacity 0.25s ease;
  backdrop-filter: saturate(100%) blur(3px);
}

#globalUnderlay.exit {
  opacity: 0;
}

.site-header {
  background-color: var(--darkred);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 4px solid var(--yellow);
  width: 100vw;
}

.site-header__functionality {
  display: flex;
  align-items: center;
}

.cta-menu#headerBarCtaMenu {
  display: none;
}

@media screen and (min-width: 830px) {
  .cta-menu#headerBarCtaMenu {
    display: block;
  }
}

#site-header.fixed {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1000;
}

#site-header.fixed.active {
  transition: top .4s ease, left .5s ease;
}

.search-trigger .search-trigger__label {
  display: inline-block;
  position: relative;
  z-index: 2;
}

.search-trigger .search-trigger__label:after {
  content: "";
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 2px;
  bottom: -4px;
  left: 0;
  background-color: var(--yellow);
  transform-origin: left center;
  transform: scaleX(0) scaleY(0.25);
  transition: 0.125s ease-out;
}

#bare-header {
  z-index: 100;
  position: fixed;
  top: 0;
  left: 0;
}

.logo-box {
  background: var(--lightred);
  padding: 20px 1rem 10px;
  position: fixed;
  top: -10px;
  left: 1rem;
  border-radius: 0 0 6px 6px;
  transition: top 0.25s ease;
  cursor: pointer;
}

.logo-box:hover {
  top: 0px;
}

.logo-box svg {
  fill: #fff;
}

/* TODO: fully PL-ize this */
.logo-box.isDown {
  top: -10px;
}

.logo-box.isDown:hover {
  top: -5px;
}

.logo-box.isUp {
  top: -100px;
}

.site-footer__main-menu {
  margin: 0;
}

.site-footer__main-menu a {
  display: block;
  line-height: 24px;
  font-size: 16px;
  margin: 0 0 10px 0;
  text-decoration: none;
  color: var(--darkred);
}

.site-footer__main-menu a:hover {
  text-decoration: underline;
}

.site-footer__admissions {
  display: grid;
  gap: 1rem 2rem;
}

@media screen and (min-width: 641px) {
  .site-footer__admissions {
    grid-template-columns: repeat(2, 1fr);
  }
}

.site-footer__admissions__item {
  font-size: var(--body-copy-size);
  line-height: 1.4;
}

.site-footer__admissions__item a.go {
  font-size: 1.25rem;
  font-weight: var(--weight-black);
  color: var(--darkred);
}

.site-footer__admissions__item a.go:after {
  color: var(--lightred);
}

.site-footer__admissions__item a.go:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

.site-footer__cta {
  border-top: 0.25px dotted var(--mediumgray);
  padding-top: 2rem;
}

.site-footer__cta .cta-menu ul {
  max-width: var(--readability-width);
  flex-flow: row wrap;
}

@media screen and (min-width: 641px) {
  .site-footer__cta .cta-menu ul {
    justify-content: space-between;
  }
}

.site-footer__cta .cta-menu a {
  color: var(--black);
}

.site-footer__cta .cta-menu a .fas {
  color: var(--lightred);
}

.site-footer__logo {
  display: block;
  margin-top: 5px;
}

.site-footer__logo .svg-logo {
  fill: var(--white);
  width: 139px;
  height: 39px;
}

.site-footer__logo__link {
  display: block;
  line-height: 1;
  height: auto;
}

.site-footer__copyright {
  color: var(--almostwhite);
  font-size: 1rem;
  margin: 0;
}

.site-footer__extra-links {
  margin: 0;
  width: 100%;
  display: grid;
  gap: 0.375rem 1.875rem;
}

@media screen and (min-width: 400px) {
  .site-footer__extra-links {
    gap: 0.625rem 1.875rem;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: min-content;
  }
}

@media screen and (min-width: 641px) {
  .site-footer__extra-links {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (min-width: 1200px) {
  .site-footer__extra-links {
    grid-template-columns: repeat(3, max-content);
  }
}

.site-footer__extra-links a {
  font-size: 1rem;
  color: var(--almostwhite);
  font-weight: 700;
  text-decoration: none;
}

.site-footer__extra-links a:hover {
  text-decoration: underline;
}

.site-footer__audience-links {
  margin: 0;
  display: grid;
  gap: 0.875rem 1.875rem;
  font-size: 1rem;
}

@media screen and (min-width: 400px) {
  .site-footer__audience-links {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: min-content;
  }
}

.site-footer__audience-links li {
  margin: 0;
}

.site-footer__audience-links a {
  text-decoration: none;
  color: var(--white);
}

.site-footer__audience-links a:hover {
  color: var(--almostwhite);
  text-decoration: underline;
}

.site-footer__wrapper {
  width: var(--apply-global-max-width);
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 2rem 0;
}

.site-footer__top {
  background: var(--almostwhite);
  border-top: 1px solid var(--yellow);
}

.site-footer__wrapper--top {
  display: grid;
  gap: 2rem 3rem;
}

@media screen and (min-width: 769px) {
  .site-footer__wrapper--top {
    grid-template-columns: max-content 1fr;
    grid-template-rows: min-content 1fr;
    grid-template-areas: "left upright" "left downright";
  }
  .site-footer__wrapper--top #footerMainMenu {
    grid-area: left;
  }
  .site-footer__wrapper--top .site-footer__admissions {
    grid-area: upright;
  }
  .site-footer__wrapper--top .site-footer__cta {
    grid-area: downright;
    align-self: center;
  }
}

@media screen and (min-width: 1025px) {
  .site-footer__wrapper--top {
    gap: 2rem 6rem;
  }
}

.site-footer__bottom {
  background: var(--darkred);
}

.site-footer__wrapper--bottom {
  display: grid;
  gap: 1rem 4rem;
}

@media screen and (min-width: 769px) {
  .site-footer__wrapper--bottom {
    grid-template-rows: min-content;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "leftup right" "leftmiddle right" "leftbottom right";
  }
  .site-footer__wrapper--bottom .site-footer__logo {
    grid-area: leftup;
  }
  .site-footer__wrapper--bottom .site-footer__copyright {
    grid-area: leftmiddle;
  }
  .site-footer__wrapper--bottom #footerSiteLinks {
    grid-area: leftbottom;
  }
  .site-footer__wrapper--bottom #footerAudienceLinks {
    grid-area: right;
  }
}

@media screen and (min-width: 1025px) {
  .site-footer__wrapper--bottom {
    grid-template-columns: min-content 3fr minmax(max-content, 3fr);
    grid-template-areas: "left upmiddle right" "left downmiddle right";
  }
  .site-footer__wrapper--bottom .site-footer__logo {
    grid-area: left;
  }
  .site-footer__wrapper--bottom .site-footer__copyright {
    grid-area: upmiddle;
  }
  .site-footer__wrapper--bottom #footerSiteLinks {
    grid-area: downmiddle;
  }
  .site-footer__wrapper--bottom #footerAudienceLinks {
    grid-area: right;
  }
}

#campaignFooter {
  background-color: var(--barelynotblack);
  padding-block: 4rem;
}

#campaignFooter .hr-er hr {
  max-width: 150px;
  margin-bottom: 1rem;
  background-color: var(--mediumgray);
}

#campaignFooter .site-footer__extra-links {
  font-family: var(--gotham-stack);
  width: var(--apply-global-max-width);
  max-width: var(--max-width);
  margin: auto;
  grid-template-columns: 1fr;
}

@media screen and (min-width: 600px) {
  #campaignFooter .site-footer__extra-links {
    grid-template-columns: repeat(5, 1fr);
  }
}

#campaignFooter .site-footer__extra-links a {
  font-size: 0.75rem;
  text-decoration: none;
}

#campaignFooter .site-footer__extra-links a:hover {
  text-decoration: underline;
}

#campaignFooter .site-footer__extra-links li {
  line-height: 1.4;
}

#campaignFooter img {
  margin: auto;
}

body {
  margin: 0;
  overflow-x: hidden;
  position: relative;
  height: 100%;
}

.show-for-sr,
.invisible,
.modal-close__text,
.narrow-modal-close__text,
.fullscreen-modal-close__text,
.fullscreen-video-modal-close__text,
.element-invisible {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}

.element-invisible.element-focusable:active,
.element-invisible.element-focusable:focus {
  position: static !important;
  clip: auto;
  overflow: visible;
  height: auto;
}

.hidden,
.element-hidden {
  display: none;
}

.italic {
  font-style: italic;
}

.balance {
  text-wrap: balance;
}

