  *,:before,:after {
    box-sizing: border-box;
    background-repeat: no-repeat
}

:before,:after {
    text-decoration: inherit;
    vertical-align: inherit
}

:where(:root) {
    cursor: default;
    line-height: 1.5;
    word-wrap: break-word;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    -webkit-tap-highlight-color: transparent;
    -webkit-text-size-adjust: 100%
}

:where(body) {
    margin: 0
}

:where(h1) {
    font-size: 2em;
    margin: .67em 0
}

:where(dl,ol,ul) :where(dl,ol,ul) {
    margin: 0
}

:where(hr) {
    color: inherit;
    height: 0
}

:where(nav) :where(ol,ul) {
    list-style-type: none;
    padding: 0
}

:where(nav li):before {
    content: "";
    float: left
}

:where(pre) {
    font-family: monospace,monospace;
    font-size: 1em;
    overflow: auto
}

:where(abbr[title]) {
    -webkit-text-decoration: underline;
    text-decoration: underline
}

:where(b,strong) {
    font-weight: bolder
}

:where(code,kbd,samp) {
    font-family: monospace,monospace;
    font-size: 1em
}

:where(small) {
    font-size: 80%
}

:where(audio,canvas,iframe,img,svg,video) {
    vertical-align: middle
}

:where(iframe) {
    border-style: none
}

:where(svg:not([fill])) {
    fill: currentColor
}

:where(table) {
    border-collapse: collapse;
    border-color: inherit;
    text-indent: 0
}

:where(button,input,select) {
    margin: 0
}

:where(button,[type=button i],[type=reset i],[type=submit i]) {
    -webkit-appearance: button
}

:where(fieldset) {
    border: 1px solid #a0a0a0
}

:where(progress) {
    vertical-align: baseline
}

:where(textarea) {
    margin: 0;
    resize: vertical
}

:where([type=search i]) {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-inner-spin-button,::-webkit-outer-spin-button {
    height: auto
}

::-webkit-input-placeholder {
    color: inherit;
    opacity: .54
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

:where(dialog) {
    background-color: #fff;
    border: solid;
    color: #000;
    height: -moz-fit-content;
    height: fit-content;
    left: 0;
    margin: auto;
    padding: 1em;
    position: absolute;
    right: 0;
    width: -moz-fit-content;
    width: fit-content
}

:where(dialog:not([open])) {
    display: none
}

:where(details>summary:first-of-type) {
    display: list-item
}

:where([aria-busy=true i]) {
    cursor: progress
}

:where([aria-controls]) {
    cursor: pointer
}

:where([aria-disabled=true i],[disabled]) {
    cursor: not-allowed
}

:where([aria-hidden=false i][hidden]) {
    display: inline;
    display: initial
}

:where([aria-hidden=false i][hidden]:not(:focus)) {
    clip: rect(0,0,0,0);
    position: absolute
}

:root {
    --black: #000;
    --black-50: rgba(0,0,0,.50196);
    --black-20: rgba(0,0,0,.2);
    --black-10: rgba(0,0,0,.10196);
    --white: #fff;
    --gray: #D0D1CE;
    --red: #A61E2F;
    --red-lt: #DE2B40;
    --cream: #F2E7D1;
    --yellow: #FFC82E;
    --green: #58B947;
    --blue: #4495D1;
    --blue-light: #3075ae;
    --orange: #E57200;
    --gray-lt: #F1F1F0;
    --gray-md: #d3d3d3;
    --gray-dk: #292D32;
    --green-lt: #007345;
    --lime: #009c4e;
    --hunter: #064433;
    --orange-lt: #ff9832;
    --beige: #ded0a6;
    --beige-50: rgba(222,208,166,.50196);
    --beige-lt: #faefcd;
    --purple: #2c0066;
    --charcoal: #474747;
    --rust: #c45300;
    --violet: #6000bf;
    --teal: #006363;
    --forest: #060;
    --brown: #6a4700;
    --open-sans: "Open Sans", serif;
    --gutter: clamp(1rem, 3.333vw + .333rem, 3rem);
    --container: max(var(--gutter), calc((100% - 84rem)/2) );
    --container-max: max(var(--gutter) * 2, calc((100% - 99rem)/2) );
    --container-xl: max(var(--gutter), calc((100% - 74rem)/2) );
    --container-lg: max(var(--gutter), calc((100% - 64rem)/2) );
    --space-fw: max(3rem, min(8vw, 4rem));
    --transition: .3s ease;
    --shadow: 0 1rem 1.5rem var(--black-20);
    cursor: auto
}

@media print {
    :root * {
        color: #000!important;
        color: var(--black)!important
    }
}

iframe,img,input,video,select,svg,textarea {
    display: block;
    max-width: 100%;
    height: auto
}

iframe,video {
    aspect-ratio: 16 / 9
}

blockquote,figure {
    margin-left: 0;
    margin-right: 0
}

fieldset,legend {
    margin: 0;
    padding: 0;
    border: 0
}

button,input,select,textarea {
    padding: .25em .375em;
    border: 1px solid;
    border-radius: 0;
    background-color: field;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-overflow: ellipsis
}

button,[type=button],[type=reset],[type=submit] {
    cursor: pointer
}

hr {
    display: block;
    margin: 2rem 0;
    border: 0;
    border-top: .15rem solid #D0D1CE;
    border-top: .15rem solid var(--gray)
}

:focus:not(:focus-visible) {
    outline: 0
}

@keyframes fade-in-up {
    0% {
        transform: translateY(3rem);
        opacity: 0
    }
}

@keyframes fade-in-right {
    0% {
        transform: translate(-3rem);
        opacity: 0
    }
}

@keyframes fade-in-height {
    0% {
        height: 0;
        opacity: 0
    }
}

:root {
    --heading-color: var(--black);
    --link-color: var(--red)
}

body {
    font-family: var(--open-sans);
    font-size: 1rem;
    line-height: 1.75;
    margin-top: 4.5rem
}

@media (min-width: 64em) {
    body {
        margin-top:8rem
    }
}

a {
    transition: text-decoration-color var(--transition);
    color: var(--red);
    color: var(--link-color);
    font-weight: 400;
    text-underline-offset: .25rem
}

a:hover {
    text-decoration-color: transparent
}

ol,ul {
    padding: 0 0 0 2em
}

li {
    margin-bottom: 1em
}

h1,h2,h3,h4,h5,h6 {
    margin: 1.05em 0 .625em
}

h1,.h1 {
    color: var(--black);
    color: var(--heading-color);
    font-family: var(--open-sans);
    font-size: clamp(1.75rem,2.083vw + 1.333rem,3rem);
    font-weight: 500;
    letter-spacing: normal;
    line-height: 1.2
}

h2,.h2 {
    color: var(--black);
    color: var(--heading-color);
    font-family: var(--open-sans);
    font-size: clamp(1.375rem,1.042vw + 1.167rem,2rem);
    font-weight: 400;
    letter-spacing: normal;
    line-height: 1.2
}

h3,.h3 {
    color: inherit;
    font-family: var(--open-sans);
    font-size: clamp(1.125rem,.625vw + 1rem,1.5rem);
    font-weight: 500;
    letter-spacing: normal;
    line-height: 1.2
}

h4,.h4 {
    color: inherit;
    font-family: var(--open-sans);
    font-size: clamp(1.063rem,.313vw + 1rem,1.25rem);
    font-weight: 500;
    letter-spacing: normal;
    line-height: 1.3
}

h5,.h5 {
    color: inherit;
    font-family: var(--open-sans);
    font-size: clamp(1rem,.208vw + .958rem,1.125rem);
    font-weight: 500;
    letter-spacing: normal;
    line-height: 1.5
}

h6,.h6 {
    color: inherit;
    font-family: var(--open-sans);
    font-size: .875rem;
    font-weight: 700;
    letter-spacing: normal;
    line-height: 1.5
}

.t-xs {
    color: inherit;
    font-family: var(--open-sans);
    font-size: .875rem;
    font-weight: 700;
    letter-spacing: normal;
    line-height: 1.7
}

.t-sm {
    color: inherit;
    font-family: var(--open-sans);
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: normal;
    line-height: 1.5
}

.t-md {
    color: var(--black);
    color: var(--heading-color);
    font-family: var(--open-sans);
    font-size: 1.275rem;
    font-weight: 700;
    letter-spacing: normal
}

.t-lg {
    color: inherit;
    font-family: var(--open-sans);
    font-size: clamp(1.275rem,.208vw + 1.333rem,1.35rem);
    font-weight: 700;
    letter-spacing: normal;
    line-height: 1.2
}

.t-xlg {
    color: inherit;
    font-family: var(--open-sans);
    font-size: clamp(2.25rem,.208vw + 1.333rem,2.5rem);
    font-weight: 700;
    letter-spacing: normal;
    line-height: 1.2
}

.t-xl {
    color: var(--black);
    color: var(--heading-color);
    font-family: var(--open-sans);
    font-size: clamp(3.5rem,6.25vw + 2.25rem,6.25rem);
    font-weight: 300;
    letter-spacing: normal;
    line-height: .9;
    text-transform: uppercase
}

.t-xl strong {
    font-weight: 900
}

.t-sxl {
    color: inherit;
    font-family: var(--open-sans);
    font-size: 5rem;
    font-weight: 800;
    letter-spacing: normal;
    line-height: 1
}

.t-meta {
    color: inherit;
    font-family: var(--open-sans);
    font-size: 1.125rem;
    font-weight: 400;
    letter-spacing: normal;
    line-height: 1.5
}

.t-smcaps {
    color: inherit;
    font-family: var(--open-sans);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: .125rem;
    line-height: 1.5
}

.t-mcaps {
    color: inherit;
    font-family: var(--open-sans);
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: .125rem;
    line-height: 1.5
}

.t-lgcaps {
    color: inherit;
    font-family: var(--open-sans);
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: .125rem;
    line-height: 1.25
}

.t-lgthincaps {
    color: inherit;
    font-family: var(--open-sans);
    font-size: 1.75rem;
    font-weight: 400;
    letter-spacing: .125rem;
    line-height: 1.25
}

.t-intro {
    color: inherit;
    font-family: var(--open-sans);
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.3
}

.t-center {
    text-align: center
}

.t-bold {
    font-weight: 700
}

.clear:after {
    content: "";
    display: block;
    clear: both
}

.screen-reader-text:not(:focus):not(:active) {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap
}

.zero>:first-child {
    margin-top: 0
}

.zero>:last-child {
    margin-bottom: 0
}

.columns li {
    page-break-inside: avoid;
    -moz-column-break-inside: avoid;
    break-inside: avoid
}

@media (min-width: 48em) {
    .columns {
        -moz-column-count:2;
        column-count: 2;
        -moz-column-gap: 2em;
        column-gap: 2em;
        margin: 0
    }
}

.columns h3,.columns h4 {
    -moz-column-break-inside: avoid;
    break-inside: avoid;
    page-break-inside: avoid
}

.columns ul+h3,.columns ul+h4 {
    margin-top: 1.5em
}

.columns>div+div {
    margin-top: 32px
}

@media (min-width: 48em) {
    .columns>div+div {
        margin-top:0
    }
}

.block-short {
    margin-top: calc(var(--space-fw) / 2);
    margin-bottom: var(--space-fw);
    padding-left: var(--container-lg);
    padding-right: var(--container-lg)
}

.block {
    margin-top: calc(var(--space-fw) * 2);
    margin-bottom: var(--space-fw);
    padding-left: var(--container-lg);
    padding-right: var(--container-lg)
}

.block-tall {
    margin-top: calc(var(--space-fw) * 3);
    margin-bottom: calc(var(--space-fw) * 1.5);
    padding-left: var(--container-lg);
    padding-right: var(--container-lg)
}

.block-wide {
    margin-top: calc(var(--space-fw) * 2);
    margin-bottom: calc(var(--space-fw) / 2);
    padding-left: var(--container);
    padding-right: var(--container)
}

.columns {
    margin: 1em 0
}

@media (min-width: 48em) {
    .columns {
        -moz-column-count:2;
        column-count: 2;
        -moz-column-gap: 2em;
        column-gap: 2em
    }
}

.columns>* {
    margin-top: 0
}

.link-cover:before {
    content: "";
    position: absolute;
    inset: 0
}

.link-underline {
    --underline-color: transparent;
    --underline-hover: var(--red);
    --underline-height: .15em;
    color: var(--black);
    transition: background-position var(--transition);
    background-image: linear-gradient(90deg,var(--red) 50%,transparent 50%);
    background-image: linear-gradient(90deg,var(--underline-hover) 50%,var(--underline-color) 50%);
    background-position: 100% 100%;
    background-size: 200% .15em;
    background-size: 200% var(--underline-height);
    -webkit-text-decoration: none;
    text-decoration: none;
    padding-bottom: .1rem
}

.link-underline:hover {
    background-position: 0 100%
}

a[href^=mailto] {
    transition: text-decoration-color var(--transition);
    color: var(--black);
    text-decoration-color: var(--red);
    font-weight: 400;
    text-underline-offset: .25rem
}

a[href^=mailto]:hover {
    text-decoration-color: transparent
}

.link-underline-alt {
    --underline-color: var(--red);
    --underline-hover: var(--white);
    --underline-height: .15em;
    color: var(--black);
    transition: background-position var(--transition);
    background-image: linear-gradient(90deg,var(--white) 50%,var(--red) 50%);
    background-image: linear-gradient(90deg,var(--underline-hover) 50%,var(--underline-color) 50%);
    background-position: 100% 100%;
    background-size: 200% .15em;
    background-size: 200% var(--underline-height);
    -webkit-text-decoration: none;
    text-decoration: none
}

.link-underline-alt:hover {
    background-position: 0 100%
}

.link-arrow {
    --arrow-color: var(--black);
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    color: inherit
}

.link-arrow:after {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    margin-left: 1.5rem;
    transform: translate(-1.5rem);
    transition: transform var(--transition),opacity var(--transition);
    background: var(--arrow-color);
    -webkit-mask: url(/_resources/images/arrow-right.svg) center no-repeat;
    mask: url(/_resources/images/arrow-right.svg) center no-repeat;
    opacity: 0
}

.link-arrow:hover:after {
    transform: none;
    opacity: 1
}

.link-accent {
    --underline-color: var(--red);
    --underline-height: .15rem;
    padding-bottom: .25rem;
    color: inherit
}

.link-accent:hover {
    --underline-color: transparent
}

.button-link {
    padding: 0;
    border: 0;
    transition: text-decoration-color var(--transition);
    background-color: transparent;
    -webkit-text-decoration: underline;
    text-decoration: underline;
    text-decoration-color: var(--red);
    text-decoration-thickness: .25rem;
    text-underline-offset: .5rem
}

.button-link:hover {
    text-decoration-color: transparent
}

a[href$=".pdf"]:after {
    content: "";
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-left: .5rem;
    background: var(--red);
    -webkit-mask: url(/_resources/images/pdf-icon.svg) center no-repeat;
    mask: url(/_resources/images/pdf-icon.svg) center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    vertical-align: middle
}

.grid {
    --grid-min: 18rem;
    display: grid;
    grid-gap: 3em 4em;
    gap: 3em 4em;
    grid-template-columns: repeat(auto-fit,minmax(18rem,1fr));
    grid-template-columns: repeat(auto-fit,minmax(var(--grid-min),1fr));
    margin: 3rem 0
}

.grid--flip {
    direction: rtl
}

.grid--flip>* {
    direction: ltr
}

.grid--alt {
    gap: 1.5em
}

@media (min-width: 32em) {
    .grid--alt {
        --grid-min: 19rem
    }
}

@media (min-width: 64em) {
    .grid--wide {
        --grid-min: 20rem;
        gap: 3em 8rem
    }
}

.grid--narrow {
    --grid-min: 14rem;
    display: grid;
    grid-gap: 2em 2em;
    gap: 2em 2em;
    grid-template-columns: repeat(auto-fit,minmax(14rem,1fr));
    grid-template-columns: repeat(auto-fit,minmax(var(--grid-min),1fr));
    margin: 3rem 0
}

.grid--center {
    --columns: 1;
    --gap: 1.5em;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5em;
    gap: var(--gap)
}

@media (min-width: 48em) {
    .grid--center {
        --columns: 2
    }
}

@media (min-width: 64em) {
    .grid--center {
        --columns: 3
    }
}

.grid--center>* {
    width: calc(100% / var(--columns) - var(--gap) * (var(--columns) - 1) / var(--columns))
}

.grid--two-column {
    display: grid;
    grid-template-columns: repeat(1,1fr)
}

@media (min-width: 48em) {
    .grid--two-column {
        grid-template-columns:repeat(2,1fr)
    }
}

.grid--two-thirds {
    display: grid;
    grid-template-columns: repeat(1,1fr)
}

@media (min-width: 48em) {
    .grid--two-thirds {
        grid-template-columns:2fr 1fr;
        gap: 3rem 2rem
    }
}

.center {
    text-align: center
}

.wrap {
    max-width: 48rem
}

@media (min-width: 64em) {
    .small-only {
        display:none!important;
        visibility: hidden!important
    }
}

.large-only {
    display: none!important
}

.large-only {
    visibility: hidden
}

@media (min-width: 64em) {
    .large-only {
        display:flex!important
    }

    .large-only {
        visibility: visible
    }
}

.skip-link {
    border-radius: 0!important
}

.skip-link {
    position: fixed;
    left: 50%;
    transform: translate(-50%);
    z-index: 999;
    top: .3rem
}

.pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 3rem 0
}

.pagination span,.pagination a,.pagination button {
    display: grid;
    align-items: center;
    justify-items: center;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 0;
    background: none;
    -webkit-text-decoration: none;
    text-decoration: none
}

.pagination a:not(.currentpage):hover,.pagination button:not(.currentpage):hover {
    -webkit-text-decoration: underline;
    text-decoration: underline
}

.pagination {
    display: flex;
    flex-wrap: nowrap
}

#pageNumbers {
    display: flex;
    flex-wrap: wrap
}

.pagination button {
    display: flex;
    justify-content: center
}

.goog-te-gadget {
    font-size: 0
}

.goog-te-gadget>span>a {
    display: none
}

.Redblock {
    padding: var(--container-xl);
    background-color: var(--red);
    color: var(--white)
}

.Redblock .heading {
    background-color: var(--red);
    color: var(--white);
    margin-top: 0
}

.Redblock a {
    color: var(--white)
}

.Redblock li {
    margin-bottom: 0
}

.pagination .currentpage {
    background: var(--red);
    color: var(--white)
}

[data-animation=fade-in-up] {
    animation: fade-in-up .6s ease both
}

[data-animation=fade-in-right] {
    animation: fade-in-right .6s ease both
}

[data-animation=fade-in-height] {
    animation: fade-in-height .6s ease both
}

[data-animate] {
    animation-play-state: paused
}

[data-animate=true] {
    animation-play-state: running
}

.roadshow .PreFooter:not(.astro-SSL6Y7BS) {
    display: none
}

.flickity-viewport {
    position: relative
}

.flickity-slider {
    display: flex;
    flex-wrap: nowrap
}

.flickity-slider>* {
    transform: none!important
}

.flickity-slider>* {
    flex-shrink: 0
}

.flickity-fade .flickity-slider {
    transform: none!important
}

.flickity-fade .flickity-slider>* {
    position: absolute;
    opacity: 0;
    visibility: hidden
}

.flickity-fade .flickity-slider>*.is-selected {
    opacity: 1;
    visibility: visible
}

.flickity-prev-next-button {
    display: inline-grid;
    align-items: center;
    justify-items: center;
    place-items: center;
    width: 6rem;
    height: 3.25rem;
    padding: 0;
    border: 0;
    transition: background var(--transition);
    background: var(--red);
    color: var(--white)
}

.flickity-prev-next-button:before {
    content: "";
    width: 1.5rem;
    height: 1.5rem;
    background: var(--white);
    -webkit-mask: url(/_resources/images/arrow-right.svg) center no-repeat;
    mask: url(/_resources/images/arrow-right.svg) center no-repeat
}

.flickity-prev-next-button svg {
    display: none
}

.flickity-prev-next-button:hover {
    background: var(--white)
}

.flickity-prev-next-button:hover:before {
    content: "";
    background-color: var(--red)
}

.flickity-prev-next-button.previous:before {
    transform: rotate(180deg)
}

.flickity-prev-next-button[disabled] {
    cursor: auto;
    background: var(--gray)
}

.flickity-prev-next-button[disabled]:before {
    content: "";
    background-color: var(--black)
}

.flickity-page-dots {
    display: flex;
    gap: .5rem
}

.flickity-page-dot {
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    border: 0;
    transition: background var(--transition);
    background: var(--gray);
    text-indent: -999rem;
    overflow: hidden
}

.flickity-page-dot.is-selected {
    background: var(--red);
    border: 1px solid var(--white)
}

.minimodal {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%
}

.minimodal__overlay {
    position: absolute;
    top: -8rem;
    left: 0;
    width: 100%;
    height: calc(100% + 16rem);
    background: #000000e6
}

.minimodal__viewport {
    position: relative;
    height: 100%;
    pointer-events: none
}

.minimodal__item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.minimodal__status {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    color: #fff;
    text-align: center
}

.minimodal__content {
    height: 100%
}

.minimodal__element {
    display: block;
    position: relative;
    top: 50%;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
    transform: translateY(-50%);
    pointer-events: auto
}

.minimodal__element--map {
    background: #fff
}

.minimodal__element--video {
    max-width: calc(100vh * (16/9))
}

.minimodal__element--video:before {
    display: block;
    padding-bottom: 56.25%;
    background: #000;
    content: ""
}

.minimodal__video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.minimodal__caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    color: #fff;
    pointer-events: auto
}

.minimodal__close {
    position: absolute;
    top: 0;
    right: 0
}

.minimodal__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

.minimodal__nav--previous {
    left: 0
}

.minimodal__nav--next {
    right: 0
}

[data-minimodal-active] {
    overflow: hidden
}

.minimodal {
    transition: opacity var(--transition);
    opacity: 0;
    z-index: 3
}

.minimodal--active {
    opacity: 1;
    z-index: 9
}

.minimodal__overlay {
    background: var(--black);
    opacity: .9
}

.minimodal__item {
    display: flex;
    flex-direction: column;
    justify-content: center
}

.minimodal__content,.minimodal__caption {
    width: 100%;
    height: auto;
    padding-left: var(--container-lg);
    padding-right: var(--container-lg)
}

.minimodal__element {
    top: auto;
    transform: none
}

.minimodal__video {
    width: 100%;
    height: auto;
    max-width: 100%
}

.minimodal__caption {
    position: static;
    padding-top: 1.5rem
}

.minimodal__close {
    display: grid;
    align-items: center;
    justify-items: center;
    place-items: center;
    justify-content: center;
    position: absolute;
    top: 2rem;
    right: 2rem;
    width: 2.75rem;
    height: 2%;
    padding: 0;
    border: 0;
    background: none;
    transition: var(--transition);
    font-size: 0
}

.minimodal__close:before {
    content: "";
    width: 1rem;
    height: 1rem;
    background-color: var(--white);
    -webkit-mask: url(/_resources/images/close.svg);
    mask: url(/_resources/images/close.svg)
}

.minimodal__close:hover {
    transform: scale(1.2)
}

.Alert {
    position: relative;
    padding-left: var(--container);
    padding-right: var(--container);
    background: var(--red);
    color: var(--white);
    z-index: 2
}

.Alert-alt {
    background: var(--white);
    --link-color: var(--black);
    color: var(--black);
    box-shadow: var(--shadow)
}

.Alert-alt .Button {
    margin-right: auto;
    margin-left: 0;
    margin-top: 1rem
}

@media (min-width: 48em) {
    .Alert-alt .Button {
        margin-left:auto;
        margin-right: 0;
        margin-top: 0
    }
}

.Alert-alt p {
    padding-right: 1rem
}

@media (min-width: 48em) {
    .Alert-alt p {
        padding-right:0
    }
}

.Alert__toggle {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 1.5rem 0;
    border: 0;
    background: transparent;
    color: inherit;
    flex-wrap: wrap
}

@media (min-width: 48em) {
    .Alert__toggle {
        flex-wrap:nowrap
    }
}

@media (min-width: 64em) {
    .Alert__toggle {
        padding:2rem 0
    }
}

.Alert__icon {
    flex-shrink: 0;
    width: 2rem;
    margin-right: 1rem
}

.Alert__icon--angle {
    width: 1rem;
    margin-left: auto;
    margin-right: 0;
    transition: transform var(--transition);
    will-change: transform
}

[aria-expanded=true]>.Alert__icon--angle {
    transform: rotate(-180deg)
}

.Alert__icon--close {
    width: 1rem;
    margin-right: 0;
    transition: transform var(--transition);
    will-change: transform
}

.Alert__close {
    display: flex;
    padding: 1.5rem 0 1.5rem 1.5rem;
    border: 0;
    background: transparent;
    transition: var(--transition);
    position: absolute;
    right: 0;
    top: 0
}

@media (min-width: 48em) {
    .Alert__close {
        position:relative
    }
}

.Alert__close:before {
    content: "";
    width: 1rem;
    height: 1rem;
    background: currentcolor;
    -webkit-mask: url(/_resources/images/close.svg);
    mask: url(/_resources/images/close.svg)
}

.Alert__close:hover {
    transform: scale(1.2)
}

.Alert__close {
    font-weight: 700
}

.Alert__main {
    height: auto;
    height: var(--height, auto);
    transition: height var(--transition),visibility var(--transition);
    overflow: visible;
    overflow: var(--overflow, visible)
}

[aria-expanded=false]+.Alert__main {
    height: 0;
    visibility: hidden
}

.Alert__content {
    padding-bottom: 1.5rem
}

@media (min-width: 64em) {
    .Alert__content {
        display:flex;
        padding-bottom: 2rem
    }
}

.Alert__text {
    margin: 1.5rem 0
}

@media (min-width: 64em) {
    .Alert__text {
        margin-bottom:0
    }
}

.Alert__link {
    border: 2px solid var(--white)!important
}

.Alert__link {
    color: inherit
}

@media (min-width: 64em) {
    .Alert__link {
        flex-shrink:0;
        align-self: flex-end;
        margin-left: 8rem;
        font-size: .8rem
    }
}

[alert-active=true][alert=top] .Header__main {
    top: auto
}

[alert-active=true][alert=top] body {
    margin-top: 0
}

[alert-active=true][alert=top] .Header__tools {
    top: 90vh;
    top: calc(var(--vh, 1vh) * 90)
}

@media (min-width: 64em) {
    [alert-active=true][alert=top] .alertUrgent.alertAlt.alert-expanded .Header__subnav {
        position:fixed;
        top: 28.05rem
    }
}

@media (min-width: 64em) {
    [alert-active=true][alert=top] .alertUrgent.alertAlt.alert-expanded .Header__search {
        top:27rem
    }
}

@media (min-width: 64em) {
    [alert-active=true][alert=top] .alertUrgent.alert-expanded .Header__subnav {
        position:fixed;
        top: 20.05rem
    }
}

@media (min-width: 64em) {
    [alert-active=true][alert=top] .alertUrgent.alert-expanded .Header__search {
        top:19rem
    }
}

@media (min-width: 64em) {
    [alert-active=true][alert=top] .alertUrgent .Header__subnav {
        position:fixed;
        top: 14.05rem
    }
}

@media (min-width: 64em) {
    [alert-active=true][alert=top] .alertUrgent .Header__search {
        top:13rem
    }
}

@media (min-width: 64em) {
    [alert-active=true][alert=top] .alertUrgent.alertAlt .Header__subnav {
        position:fixed;
        top: 22.05rem
    }
}

@media (min-width: 64em) {
    [alert-active=true][alert=top] .alertUrgent.alertAlt .Header__search {
        top:21rem
    }
}

@media (min-width: 64em) {
    [alert-active=true][alert=top] .alertAlt .Header__subnav {
        position:fixed;
        top: 16.05rem
    }
}

@media (min-width: 64em) {
    [alert-active=true][alert=top] .alertAlt .Header__search {
        top:15rem
    }
}

[alert=scroll] .Alert {
    display: none!important
}

html.translated-ltr .Header__main {
    top: 40px
}

html.translated-ltr .Header__subnav {
    top: calc(8.05rem + 40px)
}

html.translated-ltr .Header__search,html.translated-ltr .Header__wrapper[data-stuck=true] .Header__subnav,html.translated-ltr .Header__wrapper[data-stuck=true] .Header__search {
    top: calc(8rem + 40px)
}

[data-menu-active] {
    overflow: hidden
}

@media (min-width: 64em) {
    [data-menu-active] {
        overflow:visible
    }
}

[data-sub-menu-active] {
    overflow: hidden
}

[data-sub-menu-active] .Header__main {
    border-bottom: 1px solid var(--white)
}

@media (min-width: 64em) {
    [data-sub-menu-active] .Header__search-toggle {
        background:transparent
    }

    [data-sub-menu-active] .Header__search-toggle:before {
        background-color: var(--white)
    }
}

.Header {
    display: contents;
    height: 5.5rem
}

@media (min-width: 64em) {
    .Header {
        height:8rem
    }
}

@media (min-width: 64em) {
    .Header--overlay+* {
        margin-top:-5.5rem
    }
}

.Header__sentinel {
    position: absolute;
    height: inherit
}

.Header__main {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: fixed;
    top: 0;
    height: inherit;
    padding-top: 1rem;
    padding-bottom: 1rem;
    background: var(--white);
    color: var(--black);
    z-index: 9;
    width: 100%;
    transition: all .5s ease
}

@media (min-width: 64em) {
    .Header__main {
        padding-top:4rem;
        padding-bottom: 0;
        padding-left: calc((100% - 120rem)/2);
        padding-right: calc((100% - 120rem)/2)
    }
}

.Header__main:before {
    content: "";
    position: absolute;
    inset: 0;
    background: inherit;
    z-index: -1
}

@media (min-width: 64em) {
    .Header__main:before {
        display:none
    }
}

@media (min-width: 64em) {
    [data-search-active] .Header__main,[data-sub-menu-active] .Header__main {
        background:var(--black)!important;
        transition: background-color .5s ease!important
    }
}

.Header__main a {
    color: inherit;
    -webkit-text-decoration: none;
    text-decoration: none
}

@media (min-width: 64em) {
    .Header--overlay .Header__main {
        background:transparent
    }
}

.Header__main[data-stuck=true] {
    transition: transform var(--transition)
}

@media (min-width: 64em) {
    .Header__main[data-stuck=true] {
        transition:none
    }
}

[data-scroll=down] [data-stuck=true]+.Header__main[data-stuck=true] {
    transform: translateY(-100%)
}

@media (min-width: 64em) {
    [data-scroll=down] [data-stuck=true]+.Header__main[data-stuck=true] {
        transform:none
    }
}

@media (min-width: 64em) {
    [data-stuck=true]+.Header__main[data-stuck=true] {
        transform:translateY(-100%);
        transform: none;
        max-height: 4rem;
        padding-top: 0;
        transition: transform var(--transition),visibility var(--transition);
        background: var(--white);
        box-shadow: var(--shadow)
    }
}

.Header__logo {
    position: relative;
    width: 11rem;
    margin-left: 1.5rem;
    margin-right: 1.5rem;
    margin-right: auto;
    z-index: 9
}

@media (min-width: 64em) {
    .Header__logo {
        width:14rem;
        padding-top: 1rem;
        padding-bottom: 1rem
    }
}

@media (min-width: 64em) {
    [data-search-active] .Header__logo:before,[data-sub-menu-active] .Header__logo:before {
        content:"";
        position: absolute;
        top: 0;
        width: 100%;
        max-width: 100%;
        height: 5.75rem;
        background: url(/_resources/images/logo-white.svg) center no-repeat;
        background-size: contain
    }
}

@media (min-width: 64em) {
    [data-search-active] .Header__logo svg,[data-sub-menu-active] .Header__logo svg {
        visibility:hidden
    }
}

@media (min-width: 64em) {
    .Header__wrapper[data-stuck=true] .Header__logo {
        width:11rem;
        padding-top: 0;
        padding-bottom: 0
    }
}

@media (min-width: 64em) {
    .Header--overlay .Header__logo:before {
        content:"";
        position: absolute;
        top: 0;
        left: 50%;
        width: 11rem;
        max-width: 100%;
        aspect-ratio: 171 / 109;
        transform: translate(-50%);
        background: var(--white);
        -webkit-mask: url(/_resources/images/logo-stack.svg) center no-repeat;
        mask: url(/_resources/images/logo-stack.svg) center no-repeat
    }
}

@media (min-width: 64em) {
    .Header--overlay .Header__logo svg {
        visibility:hidden
    }
}

@media (min-width: 64em) {
    [data-search-active] .Header__wrapper[data-stuck=true] .Header__logo:before,[data-sub-menu-active] .Header__wrapper[data-stuck=true] .Header__logo:before {
        height:3rem
    }
}

.Header__menu-toggle {
    display: grid;
    align-items: center;
    justify-items: center;
    place-items: center;
    order: 3;
    flex-shrink: 0;
    align-self: stretch;
    width: 3.5rem;
    padding: 0;
    border: 0;
    transition: background-color var(--transition);
    background: transparent
}

@media (min-width: 64em) {
    .Header__menu-toggle {
        display:none
    }
}

.Header__menu-toggle:before {
    content: "";
    width: 1.5rem;
    height: 1.5rem;
    transition: background-color var(--transition);
    background: var(--black);
    -webkit-mask: url(/_resources/images/menu.svg) center no-repeat;
    mask: url(/_resources/images/menu.svg) center no-repeat
}

.Header__menu-toggle[aria-expanded=true] {
    background: var(--white)
}

.Header__menu-toggle[aria-expanded=true]:before {
    width: 1rem;
    height: 1rem;
    background: var(--black);
    -webkit-mask: url(/_resources/images/close.svg) center no-repeat;
    mask: url(/_resources/images/close.svg) center no-repeat
}

.Header__menu {
    order: -1;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    height: calc(100 * var(--vh) - 4.5rem);
    padding: 0 1.5rem;
    transform: translate(-100%);
    transition: transform var(--transition),visibility var(--transition);
    background: var(--black);
    color: var(--white);
    overflow: auto;
    visibility: hidden
}

@media (min-width: 64em) {
    .Header__menu {
        order:0;
        flex-shrink: 0;
        position: static;
        height: auto;
        margin-left: 1.5rem;
        margin-right: 0;
        padding: 0;
        transform: none;
        transition: none;
        background: transparent;
        overflow: visible;
        visibility: visible;
        color: var(--black)
    }
}

[aria-expanded=true]+.Header__menu {
    transform: none;
    visibility: visible
}

[data-stuck=false] .Header__menu {
    margin-right: 0
}

.Header__translate .google-translate {
    position: relative;
    background: #0000;
    display: block;
    width: 60px
}

.Header__translate .google-translate:before {
    content: "";
    width: 2.25rem;
    height: 2.25rem;
    transform: translateY(-50%);
    background: var(--white);
    -webkit-mask: url(/_resources/images/translate.svg) center no-repeat;
    mask: url(/_resources/images/translate.svg) center no-repeat;
    font-smoothing: antialiased;
    font-weight: 400;
    speak: none;
    color: #fff;
    line-height: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%)
}

.Header__translate .google_translate_element {
    max-height: 52px
}

.Header__translate .google-translate:hover,.Header__translate .google-translate:focus-within {
    background: #fff
}

.Header__translate .google-translate:hover:before,.Header__translate .google-translate:focus-within:before {
    color: var(--black);
    color: var(--primary-color, var(--black));
    background: var(--black)
}

.Header__translate .google-translate .goog-te-gadget label {
    display: block;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px
}

.Header__translate .google-translate .goog-te-gadget .goog-te-combo {
    margin: 0!important
}

.Header__translate .google-translate .goog-te-gadget span {
    display: none
}

.Header__translate .google-translate select {
    background: #0000;
    border: none;
    width: 75px;
    height: 65px;
    cursor: pointer;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-indent: -9999px;
    z-index: 9;
    position: relative
}

.Header__translate .goog-te-gadget {
    display: block;
    padding: 0;
    width: 60px;
    height: 65px;
    font-size: 12px;
    line-height: 1;
    color: #0000
}

.Header__nav {
    margin: 2rem 0;
    padding: 0
}

@media (min-width: 64em) {
    .Header__nav {
        display:flex;
        gap: clamp(.975rem,1.25vw + .5rem,2.5rem);
        margin: 0;
        padding-left: clamp(.975rem,1.25vw + .5rem,2.5rem);
        padding-right: clamp(.975rem,1.25vw + .5rem,2.5rem);
        transition: opacity var(--transition),visibility var(--transition)
    }
}

.Header__nav>li {
    display: flex;
    flex-wrap: wrap;
    align-items: center
}

@media (min-width: 64em) {
    .Header__nav>li {
        flex-wrap:nowrap;
        position: relative;
        height: 4rem;
        margin: 0
    }
}

.Header__nav>li>button {
    max-width: calc(100% - 2rem);
    font-size: clamp(1.5rem,.781vw + .375rem,.75rem);
    --underline-hover: var(--red);
    background-color: transparent;
    border: 0;
    color: var(--white);
    padding: 0;
    font-weight: 400
}

@media (min-width: 64em) {
    .Header__nav>li>button {
        font-weight:700;
        max-width: none;
        font-size: clamp(.5rem,.4vw + .375rem,.9rem);
        line-height: 1.5rem;
        text-transform: uppercase;
        letter-spacing: .1125rem;
        color: var(--black);
        max-width: 115px
    }
}

@media (min-width: 100em) {
    .Header__nav>li>button {
        max-width:100%;
        font-size: clamp(.5rem,.5vw + .375rem,.75rem)
    }
}

@media (min-width: 64em) {
    [data-search-active] .Header__nav>li>button,[data-sub-menu-active] .Header__nav>li>button {
        color:var(--white)
    }
}

.Header__subnav {
    max-width: calc(100% - 2rem);
    width: 100%;
    height: auto;
    height: var(--height, auto);
    transition: height var(--transition),visibility var(--transition);
    overflow: hidden;
    background-color: var(--black)
}

@media (min-width: 64em) {
    .Header__subnav {
        max-width:100%;
        position: fixed;
        top: 8.05rem;
        left: 0;
        width: 100vw;
        height: auto;
        box-shadow: var(--shadow);
        padding: 2.25rem 0;
        transition: transform var(--transition),opacity var(--transition),visibility var(--transition);
        color: var(--white);
        overflow: visible;
        z-index: -1
    }
}

.Header__subnav .column-header {
    font-weight: 800;
    border-bottom: 1px solid #919191
}

@media (min-width: 64em) {
    .Header__subnav .column-header {
        border-bottom:0
    }
}

.Header__subnav .col-sm-3:not(:first-child) .column-header {
    margin-top: 2rem
}

@media (min-width: 64em) {
    .Header__subnav .col-sm-3:not(:first-child) .column-header {
        margin-top:0
    }
}

@media (min-width: 64em) {
    .Header__subnav .col-sm-3 {
        width:33%
    }
}

.Header__subnav .col-sm-3 ul {
    padding: 0
}

.Header__subnav .col-sm-3 a {
    font-weight: 300
}

.Header__wrapper[data-stuck=true] .Header__subnav {
    top: 4rem
}

.Header__subnav>ul {
    margin: 0;
    padding: 1em 0 1em 1.5rem;
    border-bottom: 1px solid var(--white)
}

@media (min-width: 64em) {
    .Header__subnav>ul {
        padding:0;
        border: none;
        max-width: 800px;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        gap: 30px
    }
}

.Header__subnav>ul>li {
    margin: 0;
    margin-bottom: 1rem
}

.Header__subnav>ul>li:last-child {
    margin-bottom: 0
}

.Header__subnav>ul>li>a {
    font-size: 1rem;
    font-weight: 400
}

@media (min-width: 64em) {
    .Header__subnav>ul>li>a {
        display:inline-block;
        padding: .75rem 0;
        transition: background var(--transition);
        font-weight: 700
    }
}

@media (min-width: 64em) {
    .Header__nav>li:nth-last-child(-n+2)>.Header__subnav {
        right:0;
        left: auto
    }
}

@media (min-width: 64em) {
    .Header__nav>li:nth-last-child(-n+2)>.Header__subnav:before {
        right:1.5rem;
        left: auto
    }
}

[aria-expanded=false]+.Header__subnav {
    height: 0;
    visibility: hidden
}

@media (min-width: 64em) {
    [aria-expanded=false]+.Header__subnav {
        height:auto;
        opacity: 0
    }
}

.Header__subnav-toggle {
    position: relative;
    font-size: 1.5rem;
    font-weight: 700;
    border: none;
    border-bottom: 1px solid var(--white-25);
    background-color: transparent;
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    text-align: left;
    gap: 3rem
}

.Header__subnav-toggle:after {
    content: "";
    width: .75rem;
    height: .75rem;
    min-width: .75rem;
    transition: transform var(--transition);
    background: var(--white);
    -webkit-mask: url(/_resources/images/caret-down.svg) center no-repeat;
    mask: url(/_resources/images/caret-down.svg) center no-repeat
}

.Header__subnav-toggle:hover:after {
    transform: translateY(.25rem)
}

.Header__subnav-toggle[aria-expanded=true]:after {
    transform: rotate(180deg)
}

.Header__subnav-toggle[aria-expanded=true]:hover:after {
    transform: rotate(180deg) translateY(-.25rem)
}

@media (min-width: 64em) {
    .Header__subnav-toggle {
        font-size:1rem;
        color: var(--purple-dk);
        border: none;
        padding: 0;
        justify-content: space-between
    }

    .Header__subnav-toggle:after {
        display: none
    }

    .Header__subnav-toggle[aria-expanded=true] {
        color: var(--white)
    }

    .Header__subnav-toggle[aria-expanded=true]:before {
        content: " ";
        position: absolute;
        bottom: -1.25rem;
        left: 0;
        height: 4px;
        width: 100%;
        background: var(--white)
    }
}

@media (min-width: 64em) {
    .Header__nav>li:nth-child(3) .Header__subnav-toggle[aria-expanded=true]:before,.Header__nav>li:nth-child(4) .Header__subnav-toggle[aria-expanded=true]:before,.Header__nav>li:last-child .Header__subnav-toggle[aria-expanded=true]:before {
        bottom:-.5rem
    }
}

@media (min-width: 100em) {
    .Header__nav>li:nth-child(3) .Header__subnav-toggle[aria-expanded=true]:before,.Header__nav>li:nth-child(4) .Header__subnav-toggle[aria-expanded=true]:before,.Header__nav>li:last-child .Header__subnav-toggle[aria-expanded=true]:before {
        bottom:-1.25rem
    }
}

@media (min-width: 64em) {
    .Header__group {
        display:flex;
        align-items: center;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        height: 4rem;
        padding-left: calc((100% - 120rem)/2);
        padding-right: calc((100% - 120rem)/2);
        border-bottom: .0625rem solid var(--black);
        background: var(--black);
        color: var(--white);
        font-size: .75rem
    }
}

@media (min-width: 64em) {
    [data-stuck=true]+.Header__main[data-stuck=true] .Header__group {
        transform:none;
        visibility: hidden;
        right: -4rem
    }
}

.Header__audience {
    display: grid;
    grid-gap: 1rem;
    gap: 1rem;
    margin: 1rem 0;
    padding: 0;
    border-top: 1px solid var(--gray);
    padding-top: 1rem
}

@media (min-width: 64em) {
    .Header__audience {
        padding-top:0;
        border: 0;
        display: flex;
        gap: 1rem;
        margin: 0 1.5rem
    }
}

@media (min-width: 80em) {
    .Header__audience {
        gap:1.5rem
    }
}

.Header__audience li {
    margin: 0
}

.Header__audience a {
    padding-bottom: .25em;
    font-weight: 400
}

.Header__actions {
    margin: 1rem 0;
    padding: 0
}

@media (min-width: 64em) {
    .Header__actions {
        display:flex;
        gap: 1rem;
        margin: 0 .5rem 0 auto
    }
}

@media (min-width: 80em) {
    .Header__actions {
        gap:1.5rem;
        margin: 0 1.25rem 0 auto
    }
}

@media (min-width: 64em) {
    .Header__actions li {
        margin:0
    }
}

.Header__actions a {
    font-weight: 400
}

.Header__translate {
    padding: 0;
    margin-right: 1rem;
    position: relative
}

.Header__translate li {
    margin: 0
}

.Header__tools {
    position: static;
    top: auto;
    top: initial;
    right: auto;
    right: initial;
    order: 0;
    color: var(--white);
    visibility: visible;
    display: flex;
    margin: 2rem .875rem 2rem 2.5rem;
    gap: clamp(1.275rem,.375vw + 1.125rem,1.975rem)
}

@media (min-width: 64em) {
    .Header__tools {
        color:var(--red);
        order: 0;
        gap: clamp(.975rem,1.25vw + .5rem,2.5rem);
        padding-left: clamp(1rem,2.375vw + .5rem,.5rem);
        padding-right: clamp(1rem,2.375vw + .5rem,.5rem);
        padding-right: 0;
        margin-left: 0;
        flex-shrink: 0;
        overflow: visible;
        visibility: visible
    }
}

@media (min-width: 80em) {
    .Header__tools {
        display:flex
    }
}

[data-menu-active] .Header__tools {
    transition: visibility 0s linear .2s;
    visibility: visible
}

@media (min-width: 64em) {
    .Header__tools li {
        margin:0;
        flex-wrap: nowrap
    }
}

.Header__tools li::marker {
    color: var(--white);
    font-size: .8rem
}

@media (min-width: 64em) {
    .Header__tools li::marker {
        color:var(--black)
    }
}

@media (min-width: 64em) {
    [data-search-active] .Header__tools li::marker,[data-sub-menu-active] .Header__tools li::marker {
        color:var(--white)
    }
}

.Header__tools a {
    --underline-hover: currentcolor;
    display: inline;
    padding: 0 0 .25em;
    background-color: transparent;
    text-transform: uppercase;
    letter-spacing: .1125rem;
    font-size: clamp(.75rem,.781vw + .375rem,1.25rem)
}

@media (min-width: 64em) {
    .Header__tools a {
        font-size:clamp(.5rem,.5vw + .375rem,.75rem)
    }
}

[data-search-active] .Header__tools a,[data-sub-menu-active] .Header__tools a {
    color: var(--white)
}

@media (max-width: 63.99em) {
    .Header__tools {
        border-top:1px solid var(--gray);
        margin-top: 1rem;
        margin: 0;
        padding-top: 1rem;
        padding-left: 0;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: .5rem
    }
}

@media (min-width: 64em) {
    .Header__tools--mobile {
        display:none
    }

    .Header__wrapper[data-stuck=true] .Header__tools--mobile {
        list-style-type: disc;
        display: flex
    }
}

.Header__tools--desktop {
    display: none
}

@media (min-width: 64em) {
    .Header__wrapper[data-stuck=false] .Header__tools--desktop {
        display:flex
    }
}

@media (max-width: 63.99em) {
    .Header__translate {
        margin-top:0;
        padding-bottom: 1rem;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start
    }
}

.Header__search-toggle {
    display: grid;
    align-items: center;
    justify-items: center;
    place-items: center;
    flex-shrink: 0;
    width: 3rem;
    height: 3rem;
    margin-right: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    transition: transform var(--transition)
}

@media (min-width: 64em) {
    .Header__search-toggle {
        position:relative;
        z-index: 1
    }

    .Header__wrapper[data-stuck=true] .Header__search-toggle {
        margin-right: 250px
    }
}

.Header__search-toggle:before {
    content: "";
    width: 1.75rem;
    height: 1.75rem;
    background: var(--black);
    -webkit-mask: url(/_resources/images/search.svg) center no-repeat;
    mask: url(/_resources/images/search.svg) center no-repeat
}

[data-search-active] .Header__search-toggle:before {
    width: 1rem;
    height: 1rem;
    -webkit-mask: url(/_resources/images/close.svg) center no-repeat;
    mask: url(/_resources/images/close.svg) center no-repeat
}

.Header__search-toggle:hover {
    transform: scale(1.1)
}

.Header__search {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    padding: 1.5rem;
    transform: translateY(-100%);
    transition: transform var(--transition),visibility var(--transition);
    background: var(--black);
    visibility: hidden;
    opacity: 0;
    z-index: -2
}

@media (min-width: 64em) {
    .Header__search {
        top:8rem;
        padding: 3rem;
        width: 100%;
        position: fixed;
        transform: translateY(-100%);
        transform: none;
        transition: transform .5s ease 0s,opacity .5s ease 0s,visibility 0s ease 0s;
        overflow: hidden;
        z-index: auto
    }
}

.Header__wrapper[data-stuck=true] .Header__search {
    top: 4rem
}

[data-search-active] .Header__search {
    transform: none;
    opacity: 1;
    visibility: visible;
    transform: translateY(0)
}

.Header__form {
    display: flex;
    position: relative;
    background: var(--gray-dk);
    width: 100%;
    margin: 0 auto
}

@media (min-width: 64em) {
    .Header__form {
        width:30rem
    }
}

.Header__label {
    flex-grow: 1
}

.Header__input {
    width: 100%;
    height: 5rem;
    padding: 0 3rem 0 4.5rem;
    border: 0;
    background-color: transparent;
    color: var(--white);
    border: .15rem solid var(--gray-dk)
}

.Header__input::-moz-placeholder {
    opacity: 1
}

.Header__input::placeholder {
    opacity: 1
}

.Header__input:focus {
    outline: none!important
}

.Header__input:focus {
    outline: 0;
    border: .15rem solid var(--red)
}

.Header__input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
    height: 10px;
    width: 10px;
    background: var(--white);
    -webkit-mask: url(/_resources/images/close.svg) center no-repeat;
    mask: url(/_resources/images/close.svg) center no-repeat
}

.Header__submit {
    display: flex;
    position: absolute;
    align-items: center;
    justify-items: center;
    place-items: center;
    justify-content: center;
    flex-shrink: 0;
    top: .5rem;
    left: .5rem;
    width: 4rem;
    height: 4rem;
    padding: .875rem;
    border: 0;
    border-radius: 50%;
    background: var(--gray-dk);
    color: var(--black)
}

.Header__cta {
    display: none
}

@media (min-width: 64em) {
    .Header__cta {
        align-items:center;
        position: fixed;
        bottom: 100%;
        left: 0;
        right: 0;
        height: 4rem;
        padding-left: var(--container);
        padding-right: var(--container);
        transition: transform var(--transition),visibility var(--transition);
        background: var(--white);
        box-shadow: var(--shadow);
        visibility: hidden;
        z-index: 2
    }
}

@media (min-width: 64em) {
    [data-scroll=up] .Header__sentinel[data-stuck=true]~.Header__cta {
        transform:translateY(100%);
        visibility: visible
    }
}

@media (min-width: 64em) {
    .Header__cta-logo {
        width:12rem;
        margin-right: 3rem;
        color: var(--white)
    }
}

@media (min-width: 64em) {
    .Header__links {
        display:grid;
        grid-template-columns: 1fr 1fr 1fr;
        grid-gap: 3rem;
        gap: 3rem;
        flex-shrink: 0;
        margin: 0 0 0 auto;
        padding: 0;
        list-style: none
    }
}

@media (min-width: 64em) {
    .Header__links li {
        margin:0
    }
}

.PreFooter {
    position: relative;
    padding: var(--space-fw) var(--container-lg);
    background-color: var(--white);
    text-align: center
}

@media (min-width: 48em) {
    .PreFooter {
        --heading-color: var(--white);
        background-color: var(--black);
        color: var(--white);
        display: flex;
        align-items: center;
        aspect-ratio: 21 / 6;
        margin: 0
    }
}

.PreFooter__content {
    z-index: 1;
    width: 100%
}

.PreFooter__content h2 {
    margin-top: 0
}

.PreFooter__grid {
    display: grid;
    flex-direction: column;
    grid-gap: 2rem;
    gap: 2rem;
    padding: calc(var(--space-fw)/2) var(--container)
}

@media (min-width: 48em) {
    .PreFooter__grid {
        display:flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 3rem;
        margin-top: 3rem
    }
}

@media (min-width: 48em) {
    .PreFooter__grid a {
        width:calc(100% / 3 - 3rem);
        color: var(--white)
    }
}

.PreFooter__image {
    display: none
}

@media (min-width: 48em) {
    .PreFooter__image {
        display:block;
        position: absolute;
        inset: 0;
        height: auto
    }
}

.PreFooter__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.Footer {
    --icon-gap: 2rem;
    --icon-padding: 0;
    padding: var(--space-fw) var(--container);
    background-color: var(--gray-lt);
    color: var(--black);
    display: flex;
    flex-direction: column
}

@media (min-width: 64em) {
    .Footer {
        display:grid;
        grid-template-columns: 1fr 2fr;
        grid-template-rows: auto 1fr;
        grid-gap: 0 3rem;
        gap: 0 3rem
    }
}

.Footer a:not(.Button):not(.Footer__icon) {
    color: inherit
}

.Footer__contact {
    text-align: center;
    display: flex;
    flex-direction: column
}

@media (min-width: 48em) {
    .Footer__contact {
        text-align:left
    }
}

@media (min-width: 64em) {
    .Footer__contact {
        display:flex;
        flex-direction: column;
        grid-row: 1 / 3;
        grid-column: 1
    }
}

.Footer__contact p {
    margin: 2.5rem 0;
    padding-left: var(--gutter);
    padding-right: var(--gutter)
}

@media (min-width: 64em) {
    .Footer__contact p {
        padding:0;
        margin: 1.5rem 0
    }
}

.Footer__logo {
    display: block;
    max-width: 22.5rem;
    margin: 0 auto;
    order: 1
}

@media (min-width: 48em) {
    .Footer__logo {
        margin-left:0
    }
}

@media (min-width: 64em) {
    .Footer__logo {
        margin:0 0 1.5rem
    }
}

.Footer__logo svg {
    margin: 0 auto
}

@media (min-width: 48em) {
    .Footer__logo svg {
        margin-left:var(--gutter)
    }
}

@media (min-width: 64em) {
    .Footer__logo svg {
        margin-left:0
    }
}

.Footer__top-icons {
    list-style-type: none;
    margin: 2rem 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(60px,1fr));
    grid-gap: 1rem;
    gap: 1rem;
    justify-items: center;
    align-items: center;
    order: 4;
    width: 100%
}

@media (min-width: 48em) {
    .Footer__top-icons {
        margin:2rem 0;
        padding: 0;
        display: flex;
        justify-content: space-between;
        width: 100%
    }
}

@media (min-width: 64em) {
    .Footer__top-icons {
        display:flex;
        justify-content: space-between;
        margin: 0 0 2rem;
        gap: 2rem;
        gap: var(--icon-gap, 2rem);
        padding: 0;
        padding: var(--icon-padding, 0);
        order: 1;
        width: 100%
    }
}

.Footer__top-icons li {
    margin: 0
}

.Footer__top-icons img {
    max-width: 100%;
    max-height: 80px;
    height: auto;
    display: block;
    transition: transform var(--transition)
}

@media (min-width: 64em) {
    .Footer__top-icons img {
        max-height:100px
    }
}

.Footer__top-icons a:hover img {
    transform: scale(1.1)
}

.Footer__top-icons a {
    display: block;
    line-height: 0
}

.Footer__address {
    order: 2
}

.Footer__contact>p:has(.Button) {
    order: 3
}

.Footer__contact-extra {
    order: 5;
    margin-top: 1.5rem;
    width: 100%
}

@media (min-width: 64em) {
    .Footer__contact-extra {
        margin-top:2rem
    }
}

.Footer__contact-extra ul {
    list-style-type: none;
    margin: 1rem 0 0;
    padding: 0
}

@media (min-width: 48em) {
    .Footer__contact-extra ul {
        margin-left:var(--gutter)
    }
}

@media (min-width: 64em) {
    .Footer__contact-extra ul {
        margin-left:0
    }
}

.Footer__contact-extra li {
    margin-bottom: 1rem
}

.Footer__contact-extra h3 {
    margin-top: 0
}

@media (min-width: 48em) {
    .Footer__contact-extra h3 {
        margin-left:var(--gutter)
    }
}

@media (min-width: 64em) {
    .Footer__contact-extra h3 {
        margin-left:0
    }
}

.Footer__main {
    margin-top: 3rem;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
    order: 6
}

@media (min-width: 64em) {
    .Footer__main {
        margin:0;
        padding: 0;
        grid-column: 2;
        grid-row: 2;
        display: flex;
        flex-direction: column
    }
}

.Footer__nav {
    display: flex;
    flex-direction: column;
    gap: 2rem
}

@media (min-width: 32em) {
    .Footer__nav {
        flex-direction:row;
        flex-wrap: wrap;
        justify-content: space-between
    }
}

@media (min-width: 64em) {
    .Footer__nav {
        flex-wrap:nowrap;
        gap: 3rem;
        order: 2
    }
}

.Footer__nav ul {
    margin: 0;
    padding: 0;
    list-style-type: none
}

.Footer__nav li {
    margin-bottom: 1rem
}

.Footer__column {
    flex: 1 1 100%;
    min-width: 0
}

@media (min-width: 32em) {
    .Footer__column {
        flex:1 1 calc(50% - 1rem)
    }
}

@media (min-width: 64em) {
    .Footer__column {
        flex:1 1 calc(33.333% - 2rem)
    }
}

.Footer__column ul {
    page-break-inside: avoid;
    -moz-column-break-inside: avoid;
    break-inside: avoid
}

.Footer__column h3 {
    margin-top: 0;
    margin-bottom: 1rem
}

.Footer__link {
    font-weight: 400
}

.Footer__icon {
    position: relative;
    width: 3rem;
    padding: .625rem;
    border: .125rem solid var(--gray-lt);
    border-radius: 50%;
    transition: color var(--transition);
    background: var(--gray-lt);
    color: var(--black);
    aspect-ratio: 1
}

.Footer__icon:before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    transform: scale(0);
    transition: transform var(--transition);
    background: var(--red)
}

.Footer__icon svg {
    position: relative
}

.Footer__icon:hover {
    color: var(--white)
}

.Footer__icon:hover:before {
    transform: none
}

.Footer__bottom {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 3rem;
    order: 7
}

@media (min-width: 64em) {
    .Footer__bottom {
        grid-column:1 / -1;
        justify-content: space-between;
        flex-direction: row;
        margin-top: 3rem
    }
}

.Footer__legal {
    margin-top: 3rem;
    font-weight: 400;
    order: 3
}

@media (min-width: 64em) {
    .Footer__legal {
        width:calc(33% - var(--gutter) / 2);
        order: 0
    }
}

.Footer__legal a {
    font-weight: 400
}

.Footer__social {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: 2rem;
    order: 1
}

@media (min-width: 64em) {
    .Footer__social {
        order:1
    }
}

.Footer__privacy {
    order: 2;
    margin-top: 2rem;
    font-weight: 400
}

@media (min-width: 64em) {
    .Footer__privacy {
        width:calc(34% - var(--gutter) / 2);
        order: 3
    }
}

.Footer__privacy a {
    font-weight: 400;
    -webkit-text-decoration: underline;
    text-decoration: underline
}

.Footer__links {
    list-style-type: none;
    margin: 0;
    padding: 0;
    justify-content: center;
    align-items: center;
    display: flex;
    flex-wrap: wrap
}

@media (min-width: 64em) {
    .Footer__links {
        justify-content:flex-end
    }
}

.Footer__links li {
    margin: 1rem
}

.scroll-to-top-button {
    position: fixed;
    bottom: 0;
    right: 24px;
    transform: translateY(100px);
    width: 50px;
    height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    font-weight: 700;
    cursor: pointer;
    font-size: 42px;
    color: #fff;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-text-decoration: none;
    text-decoration: none;
    background: var(--red);
    transition: .3s;
    box-shadow: 0 4px 8px #00000029,0 4px 8px #0000003b;
    border: none
}

.scroll-to-top-button:hover,.scroll-to-top-button:focus {
    background-color: var(--gray-dk)
}

.scroll-to-top-button .icon {
    transform: rotate(270deg)
}

.scroll-to-top-button.s-visible {
    transform: translateY(-24px)
}

.footer-header {
    text-transform: uppercase;
    color: var(--red);
    font-weight: 700
}

.footer-subheader {
    margin-top: 2rem
}

.invis:not(:active):not(:focus):not(:focus-within) {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap
}

.Panel {
    position: relative;
    margin: 4rem calc(var(--gutter) * -1)
}

@media (min-width: 64em) {
    .Panel {
        display:flex;
        align-items: center;
        padding: var(--gutter);
        aspect-ratio: 16 / 9
    }
}

@media (min-width: 64em) {
    .Panel {
        margin-left:0;
        margin-right: 0
    }
}

.Panel--full {
    margin: 0
}

@media (min-width: 64em) {
    .Panel--full {
        padding:0
    }
}

@media (min-width: 80em) {
    .Panel--full {
        min-height:48rem;
        max-width: 130rem;
        margin: 0 auto;
        aspect-ratio: auto
    }
}

.Panel__image {
    height: 28rem;
    overflow: hidden
}

@media (min-width: 64em) {
    .Panel__image {
        position:absolute;
        inset: 0;
        height: auto
    }
}

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

@media (min-width: 64em) {
    .Panel--full .Panel__image {
        left:0;
        right: auto;
        width: 60%
    }
}

.Panel__image.md {
    height: 28rem
}

@media (min-width: 64em) {
    .Panel__image.md {
        position:absolute;
        inset: 0;
        height: auto
    }
}

.Panel__image.md img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (min-width: 64em) {
    .Panel--full.md .Panel__image.md {
        left:0;
        right: auto;
        width: 50%
    }
}

.Panel__card {
    position: relative;
    margin-top: -6rem;
    padding: 2rem;
    background: var(--black);
    color: var(--white)
}

@media (min-width: 64em) {
    .Panel__card {
        margin:0 auto 0 0;
        padding: 3rem
    }
}

@media (min-width: 64em) {
    .Panel--full .Panel__card {
        position:absolute;
        right: 0;
        width: 40%;
        height: 100%;
        display: flex;
        justify-content: center;
        flex-direction: column
    }
}

@media (min-width: 80em) {
    .Panel--full .Panel__card {
        padding:10rem
    }
}

@media (min-width: 64em) {
    .Panel--full.md .Panel__card {
        width:50%
    }
}

.Panel__card h2,.Panel__card a,.Panel__card .Button--outline {
    color: var(--white)
}

.Panel__card--red {
    --heading-color: var(--white);
    background: var(--red);
    color: var(--white)
}

.Panel__card--red .Button--outline {
    border: 3px solid var(--white);
    background-image: linear-gradient(90deg,var(--white) 50%,transparent 50%)
}

.Panel__card--red .Button--outline:hover {
    background-position: 0%;
    color: var(--black)
}

.Panel__card--gray {
    --heading-color: var(--black);
    background: var(--gray-lt);
    color: var(--black)
}

.Panel__card--gray h2,.Panel__card--gray a,.Panel__card--gray .Button--outline {
    color: var(--black)
}

.Panel__card--gray .Button--outline:hover {
    color: var(--white)
}

.Panel__card--white {
    --heading-color: var(--black);
    background: var(--white);
    color: var(--black)
}

.Panel__card--white h2,.Panel__card--white a,.Panel__card--white .Button--outline {
    color: var(--black)
}

.Panel__card--white .Button--outline:hover {
    color: var(--white)
}

@media (min-width: 64em) {
    .Panel__card--flip {
        margin:0 0 0 auto
    }
}

@media (min-width: 64em) {
    .Panel--full .Panel__card--flip {
        left:0;
        right: auto
    }
}

@media (min-width: 64em) {
    .Panel--alt .Panel__image {
        right:0;
        left: auto
    }
}

.SubNav {
    padding-left: var(--container);
    padding-right: var(--container);
    background-color: var(--black);
    color: var(--white)
}

.SubNav a {
    display: block;
    color: inherit
}

.SubNav ul {
    margin: 0;
    padding: 0
}

.SubNav li {
    margin: 0
}

.SubNav--alt,.SubNav--alt .SubNav__heading {
    background-color: var(--gray-lt);
    color: var(--black)
}

.SubNav--sidebar {
    margin: 0 calc(var(--gutter) * -1)
}

@media (min-width: 64em) {
    .SubNav--sidebar {
        margin:0;
        padding: 0;
        background: transparent;
        color: inherit
    }
}

@media (min-width: 64em) {
    .SubNav--sidebar a {
        display:inline
    }
}

@media (min-width: 64em) {
    .SubNav--sidebar .SubNav__active>a {
        color:var(--red);
        pointer-events: none
    }

    .SubNav--sidebar .SubNav__active>a:hover {
        background-size: 0;
        background-position: 100%
    }
}

.SubNav__heading {
    display: none
}

@media (min-width: 64em) {
    .SubNav__heading {
        display:flex;
        margin: 0;
        padding: 2.5rem 1.25rem 1.25rem;
        background-color: var(--black);
        color: var(--white);
        gap: 1rem
    }
}

.SubNav--sidebar .SubNav__heading {
    display: none
}

.SubNav__toggle {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 1rem 0;
    border: 0;
    background: transparent;
    font-weight: 450;
    letter-spacing: .1125rem;
    text-transform: uppercase
}

@media (min-width: 64em) {
    .SubNav__toggle {
        display:none
    }
}

.SubNav__angle {
    flex-shrink: 0;
    width: 1rem
}

.SubNav__angle {
    margin-left: auto;
    transition: transform var(--transition)
}

[aria-expanded=true]>.SubNav__angle {
    transform: rotate(180deg)
}

.SubNav__list {
    overflow: hidden
}

@media (min-width: 64em) {
    .SubNav__list {
        overflow:visible
    }
}

.SubNav__list>ul {
    padding: 0 2rem 3rem 1.25rem
}

@media (min-width: 64em) {
    .SubNav__list>ul {
        display:grid;
        align-items: end;
        grid-gap: var(--gutter);
        gap: var(--gutter);
        grid-template-columns: repeat(3,1fr)
    }
}

.SubNav__list>ul>li {
    position: relative;
    width: 100%;
    border-bottom: .125rem solid var(--red)
}

@media (min-width: 64em) {
    .SubNav__list>ul>li {
        border-bottom:0
    }
}

.SubNav__list>ul>li>a {
    --underline-hover: transparent;
    padding: 1rem 2.25rem 0 0
}

@media (min-width: 64em) {
    .SubNav__list>ul>li>a {
        --underline-color: var(--red);
        --underline-hover: var(--white);
        --underline-height: .15rem
    }
}

@media (min-width: 64em) {
    .SubNav--sidebar .SubNav__list>ul {
        display:block;
        padding: 0 1rem;
        border-top: 0
    }
}

.SubNav--sidebar .SubNav__list>ul>li {
    padding-right: 1.25rem
}

@media (min-width: 64em) {
    .SubNav--sidebar .SubNav__list>ul>li {
        padding:.75rem 1.25rem .75rem 0
    }
}

.SubNav--sidebar .SubNav__list>ul>li>a {
    padding-right: 0
}

@media (min-width: 64em) {
    .SubNav--sidebar .SubNav__list>ul>li>a {
        --underline-color: transparent;
        --underline-hover: var(--red);
        --underline-height: .15rem;
        padding: 0
    }
}

[aria-expanded=false]+.SubNav__list {
    height: 0;
    visibility: hidden
}

@media (min-width: 64em) {
    [aria-expanded=false]+.SubNav__list {
        height:auto;
        visibility: visible
    }
}

.SubNav__subtoggle {
    position: absolute;
    top: 0;
    right: 0;
    width: 1.25rem;
    height: 3rem;
    margin-left: auto;
    padding: .25rem;
    border: 0;
    transition: transform var(--transition);
    background: transparent
}

.SubNav__subtoggle:hover {
    transform: translateY(.25rem);
    color: var(--red)
}

.SubNav__subtoggle[aria-expanded=true] {
    transform: rotate(180deg)
}

.SubNav__subtoggle[aria-expanded=true]:hover {
    transform: rotate(180deg) translateY(.25rem)
}

.SubNav__sublist {
    width: 100%;
    height: 0;
    height: var(--height, 0);
    transition: height var(--transition),visibility var(--transition);
    overflow: hidden;
    overflow: var(--overflow, hidden)
}

.SubNav__sublist>ul {
    padding: .5rem 0 .5rem 1rem
}

@media (min-width: 64em) {
    .SubNav__sublist>ul {
        padding:1.75rem 0 0 1.75rem
    }
}

.SubNav__sublist>ul>li {
    padding-bottom: 1rem
}

.SubNav__sublist>ul>li:last-child {
    padding-bottom: 0
}

.SubNav__sublist>ul>li>a {
    display: inline;
    font-weight: 400
}

[aria-expanded=false]+.SubNav__sublist {
    height: 0;
    visibility: hidden
}

.FeatureCarousel {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    position: relative;
    background-color: var(--gray-lt);
    padding: 0 var(--container-xl);
    overflow: hidden
}

@media (min-width: 48em) {
    .FeatureCarousel {
        padding:var(--space-fw) calc(var(--container-xl)/2)
    }
}

.FeatureCarousel .FeaturePanel {
    width: 100%;
    margin-top: 0;
    margin-bottom: 0
}

.FeatureCarousel .flickity-viewport {
    width: 100%;
    margin-right: 10px;
    overflow: hidden
}

@media (min-width: 48em) {
    .FeatureCarousel .flickity-viewport {
        overflow:visible
    }
}

.FeatureCarousel .flickity-counter {
    order: 1
}

.FeatureCarousel .flickity-button {
    order: 2;
    background: transparent
}

.FeatureCarousel .flickity-button:before {
    background: var(--gray-dk)
}

.FeatureCarousel .flickity-prev-next-button[disabled]:before {
    background: var(--gray)
}

.FeatureCarousel .flickity-nav {
    margin-bottom: 1rem;
    padding-left: .5rem;
    padding-right: .5rem;
    display: flex;
    align-items: center;
    justify-content: flex-start
}

@media (min-width: 48em) {
    .FeatureCarousel .flickity-nav {
        position:relative;
        justify-content: flex-end
    }
}

.FeatureCarousel .Blockquote__text {
    text-align: left;
    font-weight: 300;
    padding-top: 3rem;
    font-size: 1.5rem
}

@media (min-width: 48em) {
    .FeatureCarousel .Blockquote__text {
        padding-top:0
    }
}

@media (min-width: 80em) {
    .FeatureCarousel .Blockquote__text {
        font-size:2rem;
        padding-top: 2rem
    }
}

.FeatureCarousel .Blockquote__text:before {
    --offset-x: 0;
    --offset-y: -4rem;
    z-index: 1
}

@media (min-width: 48em) {
    .FeatureCarousel .Blockquote__text:before {
        --offset-x: -8rem;
        --offset-y: -10rem
    }
}

.FeatureCarousel .card-group__profile-info {
    padding: 0
}

.FeaturePanel {
    --outline: var(--white);
    --color1: var(--black);
    --color2: var(--slate-black);
    background: var(--gray-lt);
    color: var(--black);
    margin-top: var(--gutter);
    margin-bottom: var(--gutter)
}

@media (min-width: 48em) {
    .FeaturePanel {
        background:linear-gradient(to right,var(--color1) 50%,var(--color2) 50%);
        margin-right: 5rem
    }

    .FeatureCarousel--full .FeaturePanel {
        margin-right: var(--container-xl)
    }
}

.FeaturePanel--full .FeaturePanel {
    padding-left: var(--container);
    padding-right: var(--container);
    padding-left: 0
}

.FeaturePanel__container {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%
}

@media (min-width: 48em) {
    .FeaturePanel__container {
        flex-direction:row;
        align-items: flex-start
    }
}

@media (min-width: 48em) {
    .FeaturePanel--full .FeaturePanel__container {
        gap:3rem
    }
}

.FeaturePanel__image {
    flex: none;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    z-index: 9
}

.FeaturePanel__image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
    -o-object-fit: cover;
    object-fit: cover;
    max-width: 100%;
    min-width: 0
}

@media (min-width: 48em) {
    .FeaturePanel__image {
        max-width:40%;
        margin-bottom: var(--gutter)
    }

    .FeaturePanel__image img {
        aspect-ratio: 1/1
    }
}

.FeaturePanel__content {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding-top: var(--gutter);
    padding-bottom: var(--gutter);
    padding-left: var(--container);
    padding-right: var(--container)
}

@media (min-width: 48em) {
    .FeaturePanel__content {
        display:flex;
        flex-direction: column;
        justify-content: center;
        padding-left: 2rem;
        padding-right: 2rem;
        max-width: 50%
    }
}

@media (min-width: 80em) {
    .FeaturePanel__content {
        max-width:40%
    }
}

@media (min-width: 48em) {
    .FeaturePanel--full .FeaturePanel__content {
        padding-left:0;
        padding-right: 0
    }
}

.FeaturePanel--flip {
    background: linear-gradient(to bottom,var(--color1) 50%,var(--color2) 50%)
}

@media (min-width: 48em) {
    .FeaturePanel--flip {
        background:linear-gradient(to left,var(--color1) 50%,var(--color2) 50%)
    }
}

@media (min-width: 48em) {
    .FeaturePanel--flip.FeaturePanel--full {
        padding-left:var(--container);
        padding-right: 0
    }
}

.FeaturePanel__image--overlay {
    position: relative
}

.FeaturePanel__image--overlay:before {
    content: " ";
    position: absolute;
    inset: 50% 0 0;
    background: linear-gradient(180deg,#25242500,#25242594 51.27%,#252425e0)
}

.FeaturePanel__image-caption {
    position: absolute;
    bottom: 1rem;
    padding: 0 1rem;
    left: 0;
    margin: 0;
    color: var(--white)
}

.FeaturePanel--flip .FeaturePanel__image-caption {
    left: var(--container);
    right: 2rem
}

@media (min-width: 48em) {
    .FeaturePanel__image-caption {
        max-width:50ch;
        padding: .5rem 2rem
    }
}

.Button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    padding: 1.25rem 3.5rem;
    border: 0;
    border-radius: 3rem;
    transition: all .5s ease;
    border: 3px solid var(--red);
    background-image: linear-gradient(90deg,var(--white) 50%,var(--red) 50%);
    background-position: 100%;
    background-size: 200% 100%;
    background-origin: border-box;
    background-clip: border-box;
    font-weight: 450;
    letter-spacing: .1125rem;
    color: var(--white);
    text-align: center;
    -webkit-text-decoration: none;
    text-decoration: none
}

@media (max-width: 32em) {
    .Button {
        width:100%
    }
}

.Button:hover {
    background-position: 0%;
    color: var(--black)
}

.Button--small {
    padding: .5rem 1.25rem;
    font-size: .875rem
}

.Button--full {
    width: 100%
}

.Button--outline {
    border: 3px solid var(--red);
    color: var(--black);
    background-image: linear-gradient(90deg,var(--red) 50%,transparent 50%);
    background-origin: border-box;
    background-clip: border-box
}

.Button--outline:hover {
    background-position: 0%;
    color: var(--white)
}

.Button--outline-alt {
    border: 3px solid var(--red);
    background-image: linear-gradient(90deg,var(--red) 50%,transparent 50%);
    background-origin: border-box;
    background-clip: border-box
}

.Button--outline-alt:hover {
    background-position: 0%;
    color: var(--white)
}

.Button--outline-white {
    border: 3px solid var(--white);
    background-image: linear-gradient(90deg,var(--white) 50%,transparent 50%);
    background-origin: border-box;
    background-clip: border-box
}

.Button--outline-white:hover {
    background-position: 0%;
    color: var(--black)
}

.Button--beige {
    background-image: linear-gradient(90deg,var(--white) 50%,var(--gray) 50%);
    color: var(--black);
    border: 3px solid var(--gray);
    background-origin: border-box;
    background-clip: border-box
}

.Button--yellow {
    background-image: linear-gradient(90deg,var(--white) 50%,var(--yellow) 50%);
    border: 3px solid var(--yellow);
    color: var(--black);
    background-origin: border-box;
    background-clip: border-box
}

.Button--green {
    background-image: linear-gradient(90deg,var(--white) 50%,var(--green) 50%);
    border: 3px solid var(--green);
    color: var(--black);
    background-origin: border-box;
    background-clip: border-box
}

.Button--orange {
    background-image: linear-gradient(90deg,var(--white) 50%,var(--orange) 50%);
    border: 3px solid var(--orange);
    color: var(--white);
    background-origin: border-box;
    background-clip: border-box
}

.Button--blue {
    background-image: linear-gradient(90deg,var(--white) 50%,var(--blue) 50%);
    border: 3px solid var(--blue);
    color: var(--white);
    background-origin: border-box;
    background-clip: border-box
}

.Button--blue-light {
    background-image: linear-gradient(90deg,var(--white) 50%,var(--blue-light) 50%);
    border: 3px solid var(--blue-light);
    color: var(--white);
    background-origin: border-box;
    background-clip: border-box
}

.Button__icon {
    flex-shrink: 0;
    width: .75rem;
    margin-left: 1rem
}

.Hero {
    position: relative;
    overflow: hidden;
    z-index: 0
}

.Hero__media {
    position: absolute;
    inset: 0
}

.Hero__media img,.Hero__media video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.Hero__gradient {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(to top,#000,#0000);
    z-index: 1;
    pointer-events: none
}

.Hero__control {
    display: grid;
    align-items: center;
    justify-items: center;
    place-items: center;
    position: absolute;
    right: 1rem;
    top: 1rem;
    bottom: 1rem;
    width: 3rem;
    height: 3rem;
    border: 0;
    border-radius: 50%;
    transition: transform var(--transition);
    background: var(--red);
    will-change: transform;
    z-index: 1
}

@media (min-width: 32em) {
    .Hero__control {
        top:auto
    }
}

@media (min-width: 64em) {
    .Hero__control {
        right:2rem;
        bottom: 2rem
    }
}

.Hero__control:before {
    content: "";
    width: 50%;
    height: 50%;
    background: var(--white);
    -webkit-mask: url(/_resources/images/pause.svg) center no-repeat;
    mask: url(/_resources/images/pause.svg) center no-repeat
}

.Hero__control:hover {
    transform: scale(1.1)
}

.Hero__control--paused:before {
    -webkit-mask: url(/_resources/images/caret-right.svg) center no-repeat;
    mask: url(/_resources/images/caret-right.svg) center no-repeat
}

.Hero__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    position: relative;
    min-height: clamp(15rem,20vw + 20rem,40rem);
    padding-top: var(--gutter);
    padding-bottom: var(--gutter);
    padding-left: var(--container);
    padding-right: var(--container);
    z-index: 2
}

@media (min-width: 64em) {
    .Hero__content {
        justify-content:center
    }
}

.Hero__heading {
    padding: 2.5em .5em 0 0;
    text-shadow: 0 0 1.25rem var(--black);
    color: var(--white);
    font-size: clamp(2.5rem,6vw + 1.3rem,6.3125rem)
}

.Hero__heading--shadow {
    filter: drop-shadow(0 4px 8px rgba(0,0,0,.5))
}

.Breadcrumbs {
    padding: 2rem 3.5rem;
    padding-left: var(--container);
    padding-right: var(--container);
    color: var(--black);
    font-weight: 600
}

@media (min-width: 64em) {
    .Breadcrumbs {
        padding-top:3.5rem
    }
}

.Breadcrumbs a {
    color: inherit;
    font-weight: 400;
    -webkit-text-decoration: none;
    text-decoration: none
}

@media (min-width: 64em) {
    .Breadcrumbs--alt {
        background:transparent;
        color: inherit
    }
}

.Breadcrumbs__separator {
    font-weight: 400;
    margin: 0 .5em
}

.Feature {
    --heading-color: var(--white);
    --background: var(--black);
    --text-color: var(--white);
    margin-top: var(--space-fw);
    margin-bottom: var(--space-fw);
    padding-left: var(--container);
    padding-right: var(--container);
    background-image: linear-gradient(transparent 6rem,var(--black) 6rem);
    background-image: linear-gradient(transparent 6rem,var(--background) 6rem);
    color: var(--white);
    color: var(--text-color)
}

@media (min-width: 48em) {
    .Feature {
        display:flex;
        align-items: center;
        justify-content: space-between;
        padding-top: var(--gutter);
        padding-bottom: var(--gutter);
        background: var(--background)
    }
}

@media (min-width: 80em) {
    .Feature {
        background-color:transparent;
        background-image: linear-gradient(var(--background) calc(100% - var(--gutter)),transparent calc(100% - var(--gutter)))
    }
}

.Feature .Button--outline {
    color: var(--white)
}

.Feature h2 {
    color: var(--text-color)
}

.Feature-gray {
    --background: var(--gray-lt);
    --text-color: var(--black)
}

.Feature-red {
    --background: var(--red);
    --text-color: var(--white)
}

.Feature__image {
    position: relative
}

@media (min-width: 48em) {
    .Feature__image {
        width:50%
    }
}

@media (min-width: 80em) {
    .Feature__image {
        align-self:stretch;
        margin-bottom: calc(var(--gutter) * -1)
    }
}

.Feature__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.Feature__play {
    display: grid;
    align-items: end;
    justify-items: start;
    place-items: end start;
    position: absolute;
    inset: 0;
    padding: 1rem;
    color: var(--white)
}

@media (min-width: 48em) {
    .Feature__play {
        padding:1.5rem
    }
}

.Feature__play svg {
    width: 2rem;
    transition: transform var(--transition);
    will-change: transform
}

@media (min-width: 48em) {
    .Feature__play svg {
        width:3rem
    }
}

.Feature__play:hover svg {
    transform: scale(1.1)
}

.Feature__text {
    padding: 3rem 2rem;
    background-color: var(--background)
}

@media (min-width: 48em) {
    .Feature__text {
        width:calc(50% - var(--gutter) * 1.5);
        padding: 3rem 0
    }
}

@media (min-width: 80em) {
    .Feature__text {
        padding-bottom:calc(3rem + var(--gutter))
    }
}

.VisualRouter {
    margin-top: 4rem;
    margin-bottom: 4rem
}

.VisualRouter--full {
    margin-top: max(3rem,min(8vw,4rem));
    margin-bottom: max(3rem,min(8vw,4rem));
    padding-left: var(--container-xl);
    padding-right: var(--container-xl)
}

.VisualRouter--alt {
    padding-left: var(--container-lg);
    padding-right: var(--container-lg)
}

.VisualRouter--cream {
    margin: 0;
    padding-top: var(--space-fw);
    padding-bottom: var(--space-fw);
    background: var(--cream)
}

.VisualRouter--alt .VisualRouter__header,.VisualRouter--related .VisualRouter__header {
    margin-left: auto;
    margin-right: auto;
    text-align: center
}

.VisualRouter--cta .VisualRouter__header {
    display: flex;
    justify-content: space-between;
    max-width: 100%;
    flex-wrap: wrap
}

@media (min-width: 64em) {
    .VisualRouter--cta .VisualRouter__header {
        flex-wrap:nowrap
    }
}

.VisualRouter__item {
    position: relative;
    overflow: hidden
}

.VisualRouter__image {
    position: relative;
    overflow: hidden;
    border-bottom: 1.5em solid var(--VisualRouter-color)
}

.VisualRouter__image img {
    transition: transform 1s
}

.VisualRouter__image:before {
    content: "";
    position: absolute;
    inset: 0;
    transition: opacity var(--transition);
    background-color: var(--VisualRouter-color);
    opacity: 0
}

.VisualRouter__item:hover .VisualRouter__image:before {
    opacity: .5
}

.VisualRouter__item:hover .VisualRouter__image img {
    transform: scale(1.15)
}

.VisualRouter__image--charcoal {
    --VisualRouter-color: var(--charcoal)
}

.VisualRouter__image--rust {
    --VisualRouter-color: var(--rust)
}

.VisualRouter__image--violet {
    --VisualRouter-color: var(--violet)
}

.VisualRouter__image--teal {
    --VisualRouter-color: var(--teal)
}

.VisualRouter__image--forest {
    --VisualRouter-color: var(--forest)
}

.VisualRouter__image--brown {
    --VisualRouter-color: var(--brown)
}

.VisualRouter__text {
    margin-top: .5rem
}

.Router {
    margin: 3rem 0;
    overflow: hidden
}

.Router .grid {
    row-gap: 0
}

.Router--full {
    margin-top: var(--space-fw);
    margin-bottom: var(--space-fw);
    padding-left: var(--container-xl);
    padding-right: var(--container-xl)
}

.Router--black {
    --heading-color: var(--white);
    margin: 0;
    padding: var(--space-fw) var(--container-xl);
    background-color: var(--black);
    color: var(--white)
}

.Router--image .grid {
    --grid-min: 100%;
    row-gap: 3rem;
    align-items: center
}

@media (min-width: 48em) {
    .Router--image .grid {
        --grid-min: 18rem
    }
}

@media (min-width: 64em) {
    .Router--image .grid {
        --grid-min: 20rem
    }
}

.Router__header {
    grid-column: 1 / -1
}

@media (min-width: 48em) {
    .Router__button {
        align-self:center;
        justify-self: end;
        place-self: center end
    }
}

.Router__content {
    display: contents
}

.Router--image .Router__content {
    display: block
}

.Router__item {
    --underline-color: var(--red);
    --underline-hover: var(--gray);
    --underline-height: .2rem;
    width: 100%;
    padding: 1.5rem 0
}

.Router--black .Router__item {
    --underline-hover: var(--white);
    --arrow-color: var(--white)
}

.Router__image {
    margin: 0
}

.Router__title {
    margin-bottom: 0
}

.Router__item.icon {
    display: flex;
    justify-content: flex-start
}

.Router__item.icon:after {
    margin-left: auto
}

.Router__item.icon:not(:has(i)):before {
    content: "";
    transform: translate(-25%);
    width: 2.5rem;
    height: 2rem;
    background-color: var(--white);
    background-size: cover;
    bottom: 0
}

.Router__item.icon i {
    flex-shrink: 0;
    width: 2.5rem;
    text-align: center;
    font-size: 1.1em;
    color: var(--white);
    margin-right: .75rem
}

.icon-globe:before {
    -webkit-mask: url(/_resources/images/icon-globe.svg) center no-repeat;
    mask: url(/_resources/images/icon-globe.svg) center no-repeat
}

.icon-building:before {
    -webkit-mask: url(/_resources/images/icon-building.svg) center no-repeat;
    mask: url(/_resources/images/icon-building.svg) center no-repeat
}

.icon-paint:before {
    -webkit-mask: url(/_resources/images/icon-paint.svg) center no-repeat;
    mask: url(/_resources/images/icon-paint.svg) center no-repeat
}

.icon-atom:before {
    -webkit-mask: url(/_resources/images/icon-atom.svg) center no-repeat;
    mask: url(/_resources/images/icon-atom.svg) center no-repeat
}

.icon-guitar:before {
    -webkit-mask: url(/_resources/images/icon-guitar.svg) center no-repeat;
    mask: url(/_resources/images/icon-guitar.svg) center no-repeat
}

.icon-compass:before {
    -webkit-mask: url(/_resources/images/icon-compass.svg) center no-repeat;
    mask: url(/_resources/images/icon-compass.svg) center no-repeat
}

.Stats {
    padding-left: var(--container-xl);
    padding-right: var(--container-xl);
    padding-top: 5rem;
    padding-bottom: 5rem;
    background: var(--black)
}

.Stats__header {
    color: var(--white);
    display: flex;
    line-height: .5rem;
    background-color: var(--red-lt);
    margin-bottom: 2rem
}

.Stats__header p {
    background-color: var(--black);
    font-weight: 400;
    letter-spacing: .05rem;
    line-height: .5rem;
    text-transform: uppercase;
    white-space: nowrap;
    padding-right: 1.5rem
}

@media (min-width: 64em) {
    .Stats__header>* {
        margin:0
    }
}

.Stats>.grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 1rem;
    gap: 1rem;
    margin: 0
}

@media (min-width: 48em) {
    .Stats>.grid {
        grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));
        gap: 2rem
    }
}

@media (min-width: 64em) {
    .Stats>.grid {
        grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));
        gap: 1rem 3rem
    }
}

.Stats__card {
    display: flex;
    position: relative;
    text-align: left;
    color: var(--white);
    align-items: flex-start;
    justify-content: center
}

.Stats__image {
    position: absolute;
    inset: 0
}

.Stats__image:before {
    content: "";
    position: absolute;
    inset: 0;
    background: inherit;
    opacity: .85
}

.Stats__image--orange {
    background: var(--orange)
}

.Stats__image--beige {
    background: var(--beige)
}

.Stats__image--lime {
    background: var(--lime)
}

.Stats__content {
    position: relative;
    padding-top: var(--gutter);
    padding-bottom: var(--gutter);
    padding-left: 0;
    padding-right: 0
}

@media (min-width: 48em) {
    .Stats__content {
        padding-top:1rem;
        padding-bottom: 1rem
    }
}

.Stats__number {
    display: flex;
    margin-bottom: .75rem;
    color: var(--red-lt);
    font-size: 11.25rem;
    font-weight: 400
}

.Stats_number-sub {
    font-size: 5.5rem;
    display: flex;
    align-items: flex-end;
    padding-bottom: .5rem
}

.Stats_number-top {
    font-size: 5rem;
    display: flex;
    align-items: flex-start;
    padding-top: 1rem
}

.Stats_number-bottom {
    font-size: 5.5rem;
    display: flex;
    align-items: flex-end;
    padding-bottom: .5rem;
    text-transform: none
}

.Stats_sub-content {
    font-weight: 300
}

.Stats__link {
    color: var(--white);
    text-decoration-color: var(--red-lt);
    text-underline-offset: .5rem
}

.Link {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    padding-right: 1.5rem;
    transition: padding var(--transition);
    color: inherit
}

.Link:hover {
    padding-right: 0
}

.Link--underline {
    --underline-color: var(--red);
    --underline-height: .125em;
    width: 100%;
    padding-top: 1rem;
    padding-bottom: 1rem;
    transition: padding var(--transition),background-position var(--transition)
}

.Link__icon {
    display: flex;
    justify-content: flex-end;
    flex-shrink: 0;
    position: relative;
    width: 1.5rem;
    margin-left: auto;
    transition: width var(--transition)
}

.Link__icon:before {
    content: "";
    position: absolute;
    top: 50%;
    right: .125rem;
    left: 0;
    height: .1875rem;
    border-radius: .125rem;
    transform: translateY(-50%);
    background: currentcolor
}

.Link__icon svg {
    width: .75rem
}

.Link:hover .Link__icon {
    width: 3rem
}

.Testimonials {
    margin-top: var(--space-fw);
    margin-bottom: var(--space-fw);
    margin-top: 0;
    padding-left: var(--container-xl);
    padding-right: var(--container-xl);
    overflow: hidden
}

.Testimonials__header {
    --overlap: 16.125rem ;
    --heading-color: var(--white);
    position: relative;
    padding-top: var(--space-fw);
    padding-bottom: var(--space-fw);
    background-color: var(--red);
    color: var(--white)
}

@media (min-width: 48em) {
    .Testimonials__header {
        --overlap: 13.25rem
    }
}

.Testimonials__header:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 100vw;
    height: calc(100% + var(--overlap));
    transform: translate(-50%);
    background: inherit;
    z-index: -1
}

@media (min-width: 64em) {
    .Testimonials__header {
        display:grid;
        grid-gap: 8rem;
        gap: 8rem;
        grid-template-columns: 1fr 2fr
    }
}

@media (min-width: 64em) {
    .Testimonials__header>* {
        margin:0
    }
}

.Testimonials__carousel {
    display: flex;
    flex-wrap: wrap
}

.Testimonials__carousel.flickity-enabled {
    position: relative
}

.Testimonials__carousel .flickity-viewport {
    order: 1;
    width: 100%;
    background: var(--white);
    transition: height var(--transition) .3s
}

.Testimonials__carousel .flickity-prev-next-button {
    margin-bottom: 3rem
}

@media (min-width: 48em) {
    .Testimonials__carousel .flickity-prev-next-button {
        order:-1;
        margin-bottom: 1rem
    }
}

.Testimonials__carousel .flickity-prev-next-button.previous {
    margin-left: auto
}

@media (min-width: 48em) {
    .Testimonials__carousel .flickity-prev-next-button.previous {
        margin-left:0
    }
}

.Testimonials__carousel .flickity-prev-next-button.next {
    margin-left: 1rem
}

.Testimonials__carousel .flickity-page-dots {
    order: -1;
    width: 100%;
    margin-bottom: 3rem
}

@media (min-width: 48em) {
    .Testimonials__carousel .flickity-page-dots {
        align-self:flex-end;
        width: auto;
        margin: 0 0 1rem auto
    }
}

.Testimonials__item {
    width: 100%;
    transition: opacity var(--transition),visibility var(--transition);
    background: var(--white);
    color: var(--black);
    overflow: hidden
}

@media (min-width: 48em) {
    .Testimonials__item {
        display:flex
    }
}

.Testimonials__item.is-selected {
    transition-delay: .3s
}

:not(.flickity-slider)>.Testimonials__item:not(:first-child) {
    display: none
}

@media (min-width: 48em) {
    .Testimonials__image {
        flex-shrink:0;
        width: 55%
    }
}

.Testimonials__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.is-selected>.Testimonials__image {
    animation: fade-in-right var(--transition) .6s both
}

.Testimonials__text {
    padding: 3rem 2rem
}

@media (min-width: 48em) {
    .Testimonials__text {
        width:45%;
        align-self: center
    }
}

@media (min-width: 64em) {
    .Testimonials__text {
        padding:4.5rem 3rem
    }
}

.Testimonials__link {
    margin-top: 4em
}

@media (min-width: 32em) {
    .Image--left,.Image--right {
        max-width:calc(50% - 2em)
    }
}

@media (min-width: 32em) {
    .Image--left.Image--narrow,.Image--right.Image--narrow {
        max-width:calc(40% - 2em)
    }
}

@media (min-width: 32em) {
    .Image--left {
        margin-right:2em;
        float: left
    }
}

@media (min-width: 32em) {
    .Image--right {
        margin-left:2em;
        float: right
    }
}

.Image__caption {
    margin-top: .5rem;
    font-style: italic;
    line-height: 1.5rem
}

.Accordion {
    margin: 2rem 0
}

.Accordion:not(.Accordion--alt) a:not(.Button) {
    color: var(--red-lt)
}

.Accordion:not(.Accordion--alt) .Button--outline {
    border: 3px solid var(--red-lt);
    background-image: linear-gradient(90deg,var(--red-lt) 50%,transparent 50%)
}

.Accordion--counter .Accordion__toggle {
    counter-increment: panel;
    justify-content: flex-start
}

.Accordion--counter .Accordion__toggle:before {
    content: counter(panel);
    border: 2px solid;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    text-align: center;
    line-height: 1.5;
    margin-right: 20px
}

@media (min-width: 64em) {
    .Accordion--counter .Accordion__toggle:before {
        margin-left:-20px
    }
}

.Accordion--counter .Accordion__toggle .Accordion__icon {
    margin-left: auto
}

.Accordion__toggle {
    -webkit-user-select: text;
    -moz-user-select: text;
    user-select: text;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-top: .25rem;
    padding: 1.5rem 2rem;
    border: .0625rem solid transparent;
    transition: background var(--transition);
    background: var(--black);
    color: var(--white);
    text-align: left
}

@media (min-width: 64em) {
    .Accordion__toggle {
        padding:1.5rem 3rem
    }
}

.Accordion__toggle:hover {
    background: var(--gray-dk)
}

.Accordion__icon {
    flex-shrink: 0;
    width: 1.25em;
    margin-left: 1.5rem;
    transition: transform var(--transition);
    will-change: transform
}

[aria-expanded=true]>.Accordion__icon {
    transform: rotate(45deg)
}

.Accordion__content {
    height: auto;
    height: var(--height, auto);
    transition: height var(--transition),visibility var(--transition);
    overflow: hidden
}

[aria-expanded=false]+.Accordion__content {
    height: 0;
    visibility: hidden
}

.Accordion__interior {
    padding: 1.5rem 3.5rem 2.5rem;
    border: .0625rem solid var(--black);
    background: var(--black);
    color: var(--white);
    border-top: 0
}

.Accordion__button .Button--outline {
    color: var(--white)
}

.Accordion--alt .Accordion__toggle {
    background: var(--gray-lt);
    color: var(--black)
}

.Accordion--alt .Accordion__toggle:hover {
    background: var(--gray-md)
}

.Accordion--alt .Accordion__interior {
    padding: 1.5rem 3.5rem;
    border: .0625rem solid var(--gray-lt);
    background: var(--gray-lt);
    color: var(--black);
    border-top: 0
}

.Accordion--alt .Accordion__button .Button--outline {
    color: var(--black)
}

.Accordion--alt .Accordion__button .Button--outline:hover {
    color: var(--white)
}

.Block {
    padding: var(--space-fw) var(--container-xl);
    background: var(--gray-lt)
}

.Block a {
    color: inherit
}

.Block--black {
    --heading-color: var(--white);
    background: var(--black);
    color: var(--white)
}

.Events--full {
    margin-top: var(--space-fw);
    margin-bottom: var(--space-fw);
    padding-left: var(--container-lg);
    padding-right: var(--container-lg)
}

@media (min-width: 32em) {
    .Events--full {
        --grid-min: 21rem
    }
}

.Events__header {
    grid-column: 1 / -1;
    padding-bottom: 1.5rem
}

.Events__item {
    position: relative;
    padding: 1.5rem;
    transition: box-shadow var(--transition);
    background: var(--gray-lt)
}

.Events__item a {
    color: inherit;
    -webkit-text-decoration: none;
    text-decoration: none
}

.Events__item:hover {
    box-shadow: var(--shadow)
}

.Events__date {
    display: flex;
    align-items: center;
    padding-bottom: 1rem;
    border-bottom: .125rem solid var(--red)
}

.Events__icon {
    flex-shrink: 0;
    width: 1.5rem;
    margin-right: 1rem
}

.Media {
    position: relative;
    margin: 2rem calc(var(--gutter) * -1);
    z-index: 0
}

@media (min-width: 48em) {
    .Media {
        margin-left:0;
        margin-right: 0
    }
}

.Media--full {
    max-width: 130rem;
    margin-top: var(--space-fw);
    margin-bottom: var(--space-fw);
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto
}

@media (min-width: 48em) {
    .Media--full {
        margin-top:var(--space-fw);
        margin-bottom: var(--space-fw)
    }
}

.Media__image {
    position: relative;
    z-index: -1
}

.Media__image:before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(to bottom,transparent,rgba(0,0,0,.7))
}

.Media__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.Media__caption {
    padding: 1rem var(--gutter) 0;
    font-style: italic
}

@media (min-width: 48em) {
    .Media__caption {
        display:flex;
        flex-direction: column;
        justify-content: flex-end;
        position: absolute;
        inset: 0;
        padding: var(--gutter);
        color: var(--white);
        font-style: normal
    }
}

.Media__play {
    display: flex;
    align-items: center;
    height: 2rem;
    margin-top: -4rem;
    margin-bottom: 2rem;
    color: var(--white);
    -webkit-text-decoration: none;
    text-decoration: none;
    font-style: normal
}

@media (min-width: 48em) {
    .Media__play {
        height:auto;
        margin: 0 0 2rem
    }
}

.Media__icon {
    width: 1.5rem;
    margin-right: .5rem;
    transition: transform var(--transition);
    will-change: transform
}

@media (min-width: 48em) {
    .Media__icon {
        width:3rem;
        margin-right: 1rem
    }
}

.Media__play:hover>.Media__icon {
    transform: scale(1.1)
}

.Media__wrap {
    position: relative;
    border-radius: var(--radius);
    overflow: hidden
}

.Media__video {
    width: 100%
}

.Slider {
    margin-top: var(--space-fw);
    margin-bottom: var(--space-fw);
    overflow: hidden
}

@media (min-width: 48em) {
    .Slider {
        margin-top:var(--space-fw)
    }
}

.Slider .Slider__btn {
    position: relative;
    right: 3rem;
    display: flex;
    justify-content: flex-end;
    width: 18rem;
    margin-left: auto
}

@media (min-width: 48em) {
    .Slider .Slider__btn {
        top:-3.5rem
    }
}

.Slider__carousel {
    display: flex;
    flex-wrap: wrap;
    position: relative
}

.Slider__carousel .flickity-viewport {
    width: 100%
}

.Slider__carousel .flickity-viewport:after {
    content: "";
    position: absolute;
    top: 0;
    left: 100%;
    width: 100vw;
    height: 100%;
    background: var(--white)
}

.Slider__carousel .flickity-prev-next-button {
    order: 1
}

@media (min-width: 48em) {
    .Slider__carousel .flickity-prev-next-button {
        right:calc(var(--gutter) * -1);
        margin-top: .5rem;
        margin-bottom: .5rem
    }
}

.Slider__carousel .flickity-prev-next-button.previous {
    margin-left: 5rem;
    position: relative
}

.Slider__carousel .flickity-prev-next-button.next {
    margin-right: var(--gutter);
    margin-left: 1rem;
    position: relative
}

@media (min-width: 48em) {
    .Slider__carousel .flickity-prev-next-button.next {
        margin-right:0
    }
}

.Slider__carousel .flickity-page-dots {
    width: 100%;
    margin: 3rem 0 3rem var(--gutter)
}

@media (min-width: 48em) {
    .Slider__carousel .flickity-page-dots {
        justify-content:center;
        margin: var(--gutter) 0 0
    }
}

.Slider__carousel .flickity-prev-next-button {
    width: 3rem;
    height: 3.25rem;
    transition: background-color var(--transition);
    background: var(--white);
    color: var(--red)
}

.Slider__carousel .flickity-prev-next-button:before {
    background-color: var(--gray-dk)
}

.Slider__carousel .flickity-prev-next-button svg {
    display: none
}

.Slider__carousel .flickity-prev-next-button:hover {
    background: var(--white);
    transform: scale(1.1)
}

.Slider__carousel .flickity-prev-next-button:hover:before {
    background-color: var(--gray-dk)
}

.Slider__carousel .flickity-prev-next-button[disabled] {
    background: var(--white)
}

.Slider__carousel .flickity-prev-next-button[disabled]:before {
    background-color: var(--gray)
}

.Slider__item {
    width: 100%;
    margin-right: var(--gutter)
}

@media (min-width: 48em) {
    .Slider__item {
        margin-right:0
    }
}

@media (min-width: 80em) {
    .Slider__item {
        width:100%
    }
}

:not(.flickity-slider)>.Slider__item:not(:first-child) {
    display: none
}

@media (min-width: 48em) {
    .Slider__item .Media--full {
        margin-bottom:0
    }

    .Slider__item .Media--full:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #000;
        opacity: .7;
        transition: opacity .5s
    }

    .Slider__item.is-selected .Media--full:before {
        opacity: 0
    }
}

.Slider__status {
    position: relative;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s,opacity .5s;
    left: 3rem;
    top: 2.25rem
}

@media (min-width: 48em) {
    .Slider__status {
        margin-right:0;
        left: 5rem;
        top: 2.5rem
    }
}

.is-selected .Slider__status {
    visibility: visible;
    opacity: 1
}

.Faculty {
    padding: var(--space-fw) var(--container-xl);
    background: var(--gray-lt)
}

.Faculty__header {
    margin-left: auto;
    margin-right: auto;
    text-align: center
}

.Faculty__item {
    position: relative;
    background: var(--white)
}

.Faculty__item h1,.Faculty__item h2,.Faculty__item h3,.Faculty__item h4,.Faculty__item h5,.Faculty__item h6 {
    color: var(--red)
}

.Faculty__content {
    padding: 2rem
}

.Faculty__content a {
    color: var(--black);
    font-weight: 400
}

.Faculty__content p {
    margin-top: .5rem;
    margin-bottom: .5rem
}

.Inset {
    position: relative;
    padding-top: max(6rem,min(14vw,12rem));
    padding-bottom: max(6rem,min(14vw,12rem));
    padding-left: var(--container-lg);
    padding-right: var(--container-lg)
}

.Inset__image {
    position: absolute;
    inset: 0
}

.Inset__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.Inset__content {
    position: relative;
    padding: var(--gutter);
    background: var(--white)
}

.Inset__content a:not([class]) {
    color: inherit;
    font-weight: 400
}

.Blockquote {
    margin: 3rem calc(var(--gutter) * -1);
    padding: 6rem 2rem 0;
    background: var(--white)
}

@media (min-width: 32em) {
    .Blockquote {
        padding-left:4rem;
        padding-right: 4rem
    }
}

@media (min-width: 48em) {
    .Blockquote {
        padding-left:6rem;
        padding-right: 6rem
    }
}

@media (min-width: 64em) {
    .Blockquote {
        margin-left:0;
        margin-right: 0
    }
}

@media (min-width: 80em) {
    .Blockquote {
        padding-left:8rem;
        padding-right: 8rem
    }
}

.Blockquote__text {
    position: relative;
    text-align: center
}

.Blockquote__text:before {
    --offset-x: 25%;
    --offset-y: -10rem;
    content: "";
    position: absolute;
    width: 12rem;
    height: 12rem;
    background-image: url(/_resources/images/quote.svg);
    background-size: contain
}

@media (min-width: 32em) {
    .Blockquote__text:before {
        --offset-x: 35%
    }
}

@media (min-width: 48em) {
    .Blockquote__text:before {
        --offset-x: 33%;
        --offset-y: -11rem;
        width: 15rem;
        height: 15rem
    }
}

.Blockquote__text:before {
    top: var(--offset-y);
    left: var(--offset-x)
}

.Blockquote__text:after {
    right: var(--offset-x);
    bottom: var(--offset-y);
    transform: rotate(180deg)
}

.Blockquote__cite {
    display: block;
    margin-top: 4rem;
    color: inherit;
    font-style: normal
}

.card-group__profile--no-image {
    justify-content: center
}

.card-group__profile--no-image .card-group__profile-info {
    text-align: center
}

.News__author {
    margin-bottom: .5rem;
    color: #666;
    color: var(--gray-dk, #666)
}

.top-container {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.left-item {
    order: 1
}

.right-item {
    order: 2;
    margin-left: auto;
    display: none
}

.right-item:last-child {
    margin-left: 1rem
}

@media (min-width: 48em) {
    .right-item {
        display:flex
    }
}

.bottom-continaer {
    display: grid;
    grid-gap: 1.5rem;
    gap: 1.5rem;
    margin-top: 0
}

@media (min-width: 48em) {
    .bottom-continaer {
        display:none
    }
}

.Event__container {
    grid-template-columns: repeat(auto-fit,minmax(12rem,4fr));
    grid-template-columns: repeat(auto-fit,minmax(var(--grid-min),4fr));
    --grid-min: 12rem;
    display: grid;
    grid-gap: 1em 3em;
    gap: 1em 3em;
    margin: 3rem 0
}

.Event__container .Events__item {
    background: var(--white);
    border-left: .75rem solid var(--red);
    padding: .5rem 1.5rem
}

.Event__container .Events__date {
    border-bottom: 0;
    padding-bottom: 0
}

.Event__container .Event__title a {
    border-bottom: 2px solid var(--red)
}

.Event__container .Events__time {
    padding-bottom: 0;
    padding-top: 1rem
}

.Event__container .Events__location {
    font-weight: 300
}

.Admission__card.card-group__container {
    padding-left: 0;
    padding-right: 0
}

.Admission__card .card-group__side {
    background: var(--black);
    color: var(--white)
}

@media (min-width: 80em) {
    .Admission__card .card-group__side {
        padding-left:5rem
    }
}

.Admission__card .card-group__main {
    border-top: .25rem solid var(--black);
    padding: 1.5rem;
    background: var(--black);
    overflow: hidden
}

@media (min-width: 48em) {
    .Admission__card .card-group__main {
        padding:0;
        border-top: 0;
        margin-right: 0;
        width: 65%;
        display: flex;
        align-items: center
    }
}

.Admission__card .card-group__nav {
    border-top: 0
}

.Admission__card .card-group__header {
    padding: .25rem 1.5rem
}

.Admission__card .card-group__header .h2 {
    color: var(--white)
}

@media (min-width: 48em) {
    .Admission__card .card-group__header {
        padding-left:4rem;
        padding-right: 5rem
    }
}

@media (min-width: 48em) {
    .Admission__card .card-group__button {
        background:linear-gradient(0deg,var(--red),var(--red)) bottom center no-repeat;
        background-size: 0px .35rem
    }
}

.Admission__card .card-group__button--nav--active {
    background-size: 100% .35rem
}

.Admission__card .card-group__card {
    padding: 0;
    background: var(--black)
}

.Admission__card .card_container {
    padding: 0
}

.Admission__card .mug {
    border-radius: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: auto
}

@media (min-width: 48em) {
    .Admission__card .mug {
        min-height:50rem
    }
}

.Admission__card .card-group__profile {
    flex-wrap: wrap;
    color: var(--white);
    padding-bottom: 1rem;
    margin: 0
}

@media (min-width: 48em) {
    .Admission__card .card-group__profile {
        padding-bottom:0
    }

    .Admission__card .card-group__profile:before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: linear-gradient(to bottom,transparent,rgba(0,0,0,.5))
    }
}

.Admission__card .card-group__item:not(:last-child) [aria-expanded=false] {
    border-bottom: 1px solid var(--white)
}

.Main {
    display: flex;
    flex-direction: column;
    margin-bottom: var(--space-fw);
    padding-left: var(--container);
    padding-right: var(--container)
}

@media (min-width: 64em) {
    .Main {
        display:grid;
        grid-gap: 1rem calc(var(--gutter) * 1.5);
        gap: 1rem calc(var(--gutter) * 1.5);
        grid-template-areas: "sidebar-top content" "sidebar content" ". content";
        grid-template-columns: minmax(0,4fr) minmax(0,12fr)
    }
}

@media (min-width: 64em) {
    .Main--basic {
        grid-template-areas:"sidebar content"
    }
}

@media (min-width: 64em) {
    .Main--alt {
        grid-template-areas:"sidebar-top content-top" "sidebar-top content" "sidebar content" ". content"
    }
}

.Main__content {
    width: 100%;
    margin: 3rem 0
}

@media (min-width: 64em) {
    .Main__content {
        grid-area:content;
        margin: 0
    }
}

.Main__content--top {
    margin-bottom: 0
}

@media (min-width: 64em) {
    .Main__content--top {
        grid-area:content-top
    }
}

@media (min-width: 64em) {
    .reduced {
        margin-top:-9.25rem!important
    }
}

.Main__sidebar {
    width: 100%
}

@media (min-width: 64em) {
    .Main__sidebar {
        grid-area:sidebar
    }
}

.Main__sidebar--top {
    order: -1
}

@media (min-width: 64em) {
    .Main__sidebar--top {
        grid-area:sidebar-top
    }
}

.Finder .Main__sidebar--top {
    order: 0;
    margin-top: 3rem
}

@media (min-width: 64em) {
    .Finder .Main__sidebar--top {
        margin-top:0
    }
}

.Finder .Main__content {
    margin: 0
}

.Finder__tabs {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    margin: 3rem 0;
    padding-left: var(--container);
    padding-right: var(--container)
}

.Finder__tabs:after {
    content: "";
    display: block;
    position: relative;
    width: 100%;
    margin-top: -.125rem;
    border-bottom: .125rem solid var(--gray-lt);
    z-index: -1
}

.Finder__button {
    padding: 1rem;
    border-bottom: .125rem solid var(--gray);
    transition: border-color var(--transition);
    color: var(--black);
    -webkit-text-decoration: none;
    text-decoration: none
}

@media (min-width: 48em) {
    .Finder__button {
        padding:1.5rem 3rem
    }
}

.Finder__button[aria-selected=true] {
    border-bottom-color: var(--red)
}

.Finder__group {
    display: none
}

.Finder__group[data-active] {
    display: block;
    animation: fade-in-up var(--transition) .1s both
}

.Finder__label {
    display: block;
    margin-top: 2rem;
    margin-bottom: 2rem;
    font-weight: 600
}

.Finder__label hr {
    margin: 1rem 0;
    border-top-width: .125rem
}

.Finder__search {
    display: flex;
    margin-top: 1rem
}

.Finder__submit {
    margin-top: 0;
    padding-right: 1.5rem;
    background: var(--gray-lt);
    border: 0;
    display: flex
}

.Finder__submit path {
    fill: var(--black)
}

.Finder__input {
    width: 100%;
    padding: 1.5rem;
    background: var(--gray-lt);
    border: 0;
    font-weight: 400
}

.Finder__input::-moz-placeholder {
    opacity: 1
}

.Finder__input::placeholder {
    opacity: 1
}

.Finder__select {
    display: block;
    position: relative;
    background: var(--black);
    color: var(--white)
}

.Finder__select:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.5rem;
    width: 1rem;
    height: 1rem;
    transform: translateY(-50%);
    background: var(--white);
    -webkit-mask: url(/_resources/images/angle-down.svg) center no-repeat;
    mask: url(/_resources/images/angle-down.svg) center no-repeat
}

.Finder__select select {
    width: 100%;
    margin-top: 1rem;
    padding: 1.5rem 4rem 1.5rem 1.5rem;
    border: 0;
    background: transparent;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-weight: 400
}

.Finder__select option {
    color: #000;
    color: initial
}

.Finder__checkbox-label {
    display: flex;
    align-items: center;
    width: 100%;
    margin-top: 1rem
}

.Finder__checkbox {
    flex-shrink: 0;
    margin-right: 1rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 1.25rem;
    height: 1.25rem;
    border: .0625rem solid black;
    background: transparent
}

.Finder__checkbox:checked {
    background-color: var(--white);
    background-image: url(/_resources/images/check.svg);
    background-position: center;
    background-size: 10px;
    background-repeat: no-repeat;
    border: 1px solid var(--black)
}

.Finder__current {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem
}

.Finder__remove {
    display: flex;
    align-items: center;
    padding: .875rem 1rem;
    border: .0625rem solid var(--red)
}

.Finder__remove:after {
    content: "";
    flex-shrink: 0;
    width: .875rem;
    height: .875rem;
    margin-left: 3rem;
    background: var(--black);
    -webkit-mask: url(/_resources/images/close.svg) center no-repeat;
    mask: url(/_resources/images/close.svg) center no-repeat
}

.Finder__reset {
    margin-top: 2rem
}

.Finder__current:empty+.Finder__reset {
    display: none
}

.Finder__item {
    margin-top: 1rem;
    margin-bottom: 1rem
}

.Finder__item[data-finder-item=hide] {
    display: none
}

[data-finder-limit]~.Finder__item {
    display: none
}

.Finder__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 2rem;
    border: 0;
    color: var(--black);
    background: var(--gray-lt);
    text-align: left
}

@media (min-width: 64em) {
    .Finder__toggle {
        padding:2rem 3.5rem
    }
}

.Finder__icon {
    flex-shrink: 0;
    width: .75em;
    margin-left: 1.5rem;
    transition: transform var(--transition);
    will-change: transform
}

[aria-expanded=true]>.Finder__icon {
    transform: rotate(45deg)
}

.Finder__content {
    height: auto;
    height: var(--height, auto);
    transition: height var(--transition),visibility var(--transition);
    overflow: hidden;
    background: var(--gray-lt)
}

[aria-expanded=false]+.Finder__content {
    height: 0;
    visibility: hidden
}

.Finder__interior {
    padding: 1.5rem 1.5rem 3rem 3.5rem
}

.Finder__interior .h5 {
    margin: 0
}

.Finder__interior span {
    display: inline-flex;
    padding: .25rem 1.1rem;
    background-color: var(--red);
    border-radius: 30px;
    margin-left: .3rem;
    margin-right: .3rem;
    font-size: 1rem;
    font-weight: 500;
    color: var(--white);
    min-width: 122px;
    justify-content: center;
    margin-bottom: 1rem
}

.Finder__desc {
    margin-top: 2rem;
    margin-bottom: 2rem
}

.Finder__load {
    margin-top: 3rem;
    margin-bottom: 0;
    padding-left: var(--container-lg);
    padding-right: var(--container-lg);
    text-align: center
}

[data-finder-done] [data-finder-load] {
    display: none
}

.Finder__count p {
    display: inline;
    font-weight: 600
}

.load-all {
    margin-top: 2rem
}

.Widget {
    margin: 3rem 0
}

.Widget__heading {
    margin: 0;
    padding: 1.25rem;
    background-color: var(--gray);
    color: var(--black);
    text-align: center
}

.Widget__content {
    padding: 1.5rem;
    background-color: var(--gray-lt)
}

.Widget__content a {
    color: inherit;
    --underline-color: var(--red)
}

.Widget__content .sub-heading {
    margin-top: 0;
    font-size: 1.15rem
}

.Widget__content .date {
    padding-left: 1rem
}

.Widget__content .day {
    font-weight: 500;
    margin-bottom: 0
}

.Widget__content .time {
    margin-top: 0
}

.Widget__links a {
    --underline-hover: var(--red);
    --underline-height: .125rem;
    padding-bottom: .25em;
    color: inherit
}

.Widget__email {
    letter-spacing: .05rem;
    font-size: 1rem;
    line-height: 1.75rem;
    font-weight: 600
}

.Widget__form {
    padding: 2rem var(--gutter);
    background-color: var(--black);
    color: var(--white)
}

@media (min-width: 64em) {
    .Widget__form {
        padding:2rem
    }
}

.Widget__section {
    border-bottom: .15rem solid var(--red)
}

.Widget__section:last-child {
    border-bottom: 0
}

.Widget__label {
    display: block;
    margin: 2rem 0;
    font-weight: 700
}

.Widget__input {
    width: 100%;
    margin-top: .5rem;
    padding: 1rem;
    border: 0;
    color: var(--black);
    font-weight: 400
}

.pagination button:disabled {
    opacity: .5;
    cursor: not-allowed
}

.entries-select {
    display: flex
}

.entries-select label,.search-input label {
    display: flex;
    align-items: center;
    gap: 8px
}

.search-input input {
    width: 100%;
    margin: 0;
    padding: 10px 66px 10px 16px;
    background-color: var(--black);
    background-image: url(/_resources/images/search-black.svg);
    background-position: right 20px center;
    background-size: 23px;
    border-width: 3px 1px 1px 1px;
    font-size: 17px;
    line-height: 28px;
    color: #002554;
    background-color: #fff
}

.search-input input::-moz-placeholder {
    opacity: 1
}

.search-input input::placeholder {
    opacity: 1
}

.directory-table {
    table-layout: auto;
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px
}

.faculty-finder .search-input input {
    border-width: 1px
}

.directory-table table {
    width: 100%
}

.search-container {
    margin: 20px 0
}

.directory-table th,.directory-table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid #ddd
}

.directory-table th {
    background-color: var(--red);
    color: #fff;
    font-weight: 700
}

.directory-table tr:nth-child(odd) {
    background-color: #f9f9f9
}

.directory-table tr:nth-child(2n) {
    background-color: #fff
}

.directory-table tr:hover {
    background-color: var(--gray-lt)
}

@media (max-width: 63.99em) {
    .directory-table table {
        display:block;
        overflow-x: auto
    }
}

.directory-table th,.directory-table td {
    word-wrap: break-word
}

.directory-controls {
    display: flex;
    justify-content: space-between;
    margin-top: 2rem
}

.directory-table thead th {
    cursor: pointer;
    position: relative
}

td.phone,th.phone {
    width: 14ch;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis
}

.directory-table thead th .sort-arrow {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    transition: transform .2s ease,opacity .2s ease
}

.directory-table thead th.sorted-asc .sort-arrow {
    transform: translateY(-50%) rotate(0);
    opacity: 1
}

.directory-table thead th.sorted-desc .sort-arrow {
    transform: translateY(-50%) rotate(180deg);
    opacity: 1
}

.directory-table .sort-arrow:before {
    content: "";
    display: block;
    width: .5rem;
    height: .5rem;
    background: currentcolor;
    -webkit-mask: url(/_resources/images/caret-down.svg);
    mask: url(/_resources/images/caret-down.svg)
}

.Splash {
    display: grid;
    align-items: end;
    justify-items: start;
    place-items: end start;
    position: relative;
    min-height: clamp(38rem,16.667vw + 34.667rem,61rem);
    background: var(--black)
}

@media (min-width: 64em) {
    .Splash {
        min-height:calc(100vh - 7rem)
    }
}

.Splash .Panel__card {
    display: none;
    width: auto;
    margin: 0 0 5rem auto;
    border-left: .75rem solid var(--red)
}

@media (min-width: 64em) {
    .Splash .Panel__card {
        display:flex;
        align-items: center
    }
}

.Splash .Panel__card .heading {
    margin: 0;
    font-weight: 600
}

.Splash .Panel__card .column {
    flex: 1
}

.Splash .Panel__card .column:first-child {
    flex: 0 0 67%;
    padding-right: 4rem
}

.Splash .Panel__card .column p {
    font-size: 1.25rem
}

.Splash__image {
    position: absolute;
    inset: 0
}

.Splash__image:before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(var(--black),transparent),linear-gradient(transparent,var(--black));
    background-position: top center,bottom center;
    background-size: 100% 25%,100% 100%
}

.Splash__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.Splash__content {
    --heading-color: var(--white);
    position: relative;
    padding: calc(var(--gutter) * 2) var(--container-xl);
    color: var(--white)
}

@media (min-width: 64em) {
    .Splash__content {
        padding:calc(var(--gutter) * 4) var(--gutter) 0 var(--gutter)
    }
}

.Splash__text {
    position: relative
}

.Splash__next {
    position: absolute;
    top: 0;
    left: 0;
    width: 1rem;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent
}

@media (min-width: 90em) {
    .Splash__next {
        right:calc(100% + 4rem);
        left: auto
    }
}

.Splash__next:before,.Splash__next:after {
    content: "";
    position: absolute;
    transform: translate(-50%)
}

.Splash__next:before {
    top: 0;
    bottom: .5rem;
    border-left: .125rem solid var(--orange)
}

.Splash__next:after {
    bottom: 0;
    width: 1rem;
    height: 1rem;
    background: var(--orange);
    -webkit-mask: url(/_resources/images/caret-down.svg) center no-repeat;
    mask: url(/_resources/images/caret-down.svg) center no-repeat
}

.cta {
    color: var(--black);
    text-decoration-color: var(--red);
    text-underline-offset: .3rem;
    text-align: center;
    display: flex
}

.Fifty-container {
    position: relative;
    margin: 0
}

@media (min-width: 64em) {
    .Fifty-container {
        display:flex;
        align-items: center
    }
}

.Fifty-container.zero .Fifty__card {
    padding-bottom: 0
}

.Fifty-container.zero .Fifty__content {
    border-bottom: 0
}

@media (max-width: 63.99em) {
    .Fifty-container.flip {
        display:flex;
        flex-direction: column-reverse
    }
}

.Fifty__card {
    height: 22rem;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    text-align: center;
    --heading-color: var(--black);
    background: var(--white);
    color: var(--black);
    width: 100%
}

@media (min-width: 64em) {
    .Fifty__card {
        padding-bottom:.7rem;
        width: 50%;
        min-height: 25rem
    }
}

@media (min-width: 100em) {
    .Fifty__card {
        min-height:30rem
    }
}

.Fifty__card.zero {
    padding-bottom: 0
}

.Fifty__card .img-continaer {
    height: 100%;
    width: 100%
}

.Fifty__card .img-continaer:before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(to top,transparent,rgba(0,0,0,.6))
}

.Fifty__card img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.Fifty__card h2 {
    position: absolute;
    color: #fff;
    font-weight: 700;
    font-size: 3.15rem;
    z-index: 2;
    padding-left: 3rem;
    padding-right: 3rem
}

@media (min-width: 80em) {
    .Fifty__card h2 {
        padding-left:15rem;
        padding-right: 15rem
    }
}

.Fifty__card h2 .thin {
    font-weight: 300
}

.Fifty__card.red {
    --heading-color: var(--white);
    background: var(--red);
    color: var(--white);
    border-bottom: 0
}

@media (min-width: 80em) {
    .Fifty__card.red h2 {
        padding-left:6rem;
        padding-right: 6rem
    }
}

.Fifty__card.black {
    background: var(--black);
    color: var(--white)
}

.Fifty__card.black h2 {
    color: var(--white)
}

.Fifty__content {
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: 1.35rem;
    text-align: center;
    border-bottom: .7rem solid var(--black)
}

.Fifty__content.last {
    border-bottom: .7rem solid var(--white)
}

@media (min-width: 48em) {
    .Fifty__content {
        padding-left:4rem;
        padding-right: 4rem
    }
}

@media (min-width: 100em) {
    .Fifty__content {
        margin:0 auto 0 0;
        padding-left: 13rem;
        padding-right: 13rem
    }
}

.Fifty__content.zero {
    border-bottom: 0
}

.Fifty__card--black {
    background: var(--black);
    color: var(--white)
}

.Fifty__card--black h2 {
    color: var(--white)
}

.card>:first-child {
    margin-top: 0
}

.card>:last-child {
    margin-bottom: 0
}

.card {
    padding: 2rem;
    border: .0625rem solid #e1e1e1;
    border-top-width: .25rem;
    border-radius: .25rem;
    background-color: #fff;
    text-align: center
}

.card--simple {
    border: 0;
    border-radius: 0;
    background-color: #002d74;
    color: #fff
}

.card-group {
    overflow: hidden;
    padding: 4rem 0
}

@media (min-width: 48em) {
    .card-group {
        padding:8rem 0
    }
}

.card-group__container {
    position: relative;
    margin-top: var(--space-fw);
    margin-bottom: var(--space-fw);
    padding-left: var(--container-xl);
    padding-right: var(--container-xl)
}

@media (min-width: 48em) {
    .card-group__container {
        display:flex;
        justify-content: space-between;
        align-items: flex-start
    }
}

@media (min-width: 48em) {
    .card-group__container:before {
        top:-6rem;
        right: auto;
        left: -7rem
    }
}

.card-group__side {
    position: relative;
    background: var(--red)
}

@media (min-width: 48em) {
    .card-group__side {
        width:35%;
        padding: 1rem 0 4rem;
        align-self: stretch
    }
}

.card-group__nav {
    display: none
}

@media (min-width: 48em) {
    .card-group__nav {
        pointer-events:all;
        cursor: pointer;
        display: block;
        padding-left: 4rem;
        border-top: .125rem solid var(--red)
    }
}

.card-group__button {
    margin: 0!important
}

.card-group__button {
    display: block;
    width: 100%;
    padding: 1.5rem 1.5rem 1rem;
    border: 0;
    background-color: #0000;
    text-align: left;
    color: var(--white);
    background: var(--red);
    transition: .5s;
    -webkit-text-decoration: none;
    text-decoration: none
}

.card-group__button .title {
    font-weight: 400
}

@media (min-width: 48em) {
    .card-group__button {
        padding:1.5rem 1rem .75rem 0;
        background: linear-gradient(0deg,var(--white),var(--white)) bottom center no-repeat;
        background-size: 0px .35rem;
        border-bottom: 0
    }
}

.card-group__button:hover,.card-group__button:focus {
    background-size: 100% .35rem
}

.card-group__profile {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center
}

.card-group__profile-info {
    padding-left: 2rem;
    padding-right: 2rem
}

.card-group__profile-info .name {
    font-weight: 700
}

.card-group__button--nav--active {
    background-size: 100% .35rem
}

@media (min-width: 48em) {
    .card-group__button--item {
        display:none
    }
}

.card-group__button__text {
    display: inline-block;
    max-width: calc(100% - 2rem);
    padding-right: 1rem;
    background-color: #fff
}

.card-group__main {
    position: relative;
    border-top: .25rem solid var(--red);
    box-shadow: 0 0 .5rem #00000040
}

@media (min-width: 48em) {
    .card-group__main {
        width:calc(65% - 1.25rem);
        margin-right: 1.25rem;
        border-top: 0;
        box-shadow: none;
        flex-shrink: 0
    }
}

@media (min-width: 64em) {
    .card-group__main {
        width:calc(65% - 2.5rem);
        margin-right: 2.5rem
    }
}

.card-group__item {
    background-color: #fff;
    position: relative
}

.CardButton__subtoggle svg {
    position: absolute;
    top: .51rem;
    right: 1rem;
    width: 1.25rem;
    height: 3rem;
    margin-left: auto;
    padding: .25rem;
    border: 0;
    transition: transform var(--transition);
    background: transparent
}

.CardButton__subtoggle:hover svg {
    transform: translateY(.25rem)
}

.CardButton__subtoggle[aria-expanded=true] svg {
    transform: rotate(180deg)
}

.CardButton__subtoggle[aria-expanded=true] svg:hover svg {
    transform: rotate(180deg) translateY(.25rem)
}

@media (max-width: 48em) {
    .CardButton__sublist {
        width:100%;
        height: auto;
        height: var(--height, auto);
        transition: height var(--transition),visibility var(--transition);
        overflow: visible;
        overflow: var(--overflow, visible)
    }

    .CardButton__sublist>ul {
        padding: .5rem 0 .5rem 1rem
    }

    @media (min-width: 64em) {
        .CardButton__sublist>ul {
            padding:1.75rem 0 0 1.75rem
        }
    }

    .CardButton__sublist>ul>li {
        padding-bottom: 1rem
    }

    .CardButton__sublist>ul>li>a {
        display: inline;
        font-weight: 400
    }

    [aria-expanded=false]+.CardButton__sublist {
        height: 0;
        visibility: hidden
    }
}

@media (min-width: 48em) {
    .card-group__item {
        position:absolute;
        width: 100%;
        top: 0;
        right: 0;
        transform: scale(1.1) translate(-1.25rem);
        transform-origin: right center;
        transition: transform .3s ease,opacity .3s ease,visibility .3s ease;
        border: 0;
        opacity: 0;
        visibility: hidden;
        z-index: -2
    }
}

@media (min-width: 64em) {
    .card-group__item {
        transform:scale(1.1) translate(-2.5rem)
    }
}

@media (min-width: 48em) {
    .card-group__item--top {
        position:relative;
        transform: none;
        opacity: 1;
        visibility: visible;
        z-index: 0
    }
}

@media (min-width: 48em) {
    .card-group__item--top~.card-group__item {
        transform:scale(.9) translate(1.25rem);
        transform-origin: right center;
        opacity: 0
    }
}

@media (min-width: 64em) {
    .card-group__item--top~.card-group__item {
        transform:scale(.9) translate(2.5rem)
    }
}

@media (min-width: 48em) {
    .card-group__item--top+.card-group__item {
        opacity:.5;
        visibility: visible;
        z-index: -1
    }

    .card-group__item--top+.card-group__item:after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 2.5rem;
        background-color: #fff;
        background-color: var(--white, #fff);
        z-index: 1;
        pointer-events: none
    }
}

@media (min-width: 64em) {
    .card-group__item--top+.card-group__item:after {
        height:4rem
    }
}

.card_container {
    padding: 5rem 2rem 2rem
}

@media (min-width: 48em) {
    .card_container {
        padding:0
    }
}

.card-group__card {
    background-position: -5% -4%;
    display: flex;
    flex-direction: column;
    background-color: var(--white);
    color: var(--black);
    background-image: url(/_resources/images/quote.svg)
}

@media (min-width: 48em) {
    .card-group__card {
        padding:10rem 5rem 5rem;
        background-position: -10% -8%;
        background-size: 13rem auto;
        box-shadow: 0 0 .5rem #00000040
    }
}

@media (min-width: 64em) {
    .card-group__card {
        background-position:-5% -5%
    }
}

.card-group__quote {
    font-size: 1.8125rem;
    line-height: 2.3125rem;
    font-weight: 300;
    padding-bottom: 2rem
}

.card-group__cta {
    margin-top: 1rem
}

.card-group__cta a {
    color: var(--black)
}

.card-group__item--active .card-group__card {
    display: flex
}

.card-group__content>:first-child {
    margin-top: 0
}

.card-group__content>:last-child {
    margin-bottom: 0
}

.card-group__content {
    width: 100%;
    padding: 0 1rem 1rem
}

@media (min-width: 48em) {
    .card-group__content {
        padding:2rem
    }
}

@media (min-width: 64em) {
    .card-group__content {
        padding:3rem
    }
}

.card-group__title {
    display: none
}

@media (min-width: 48em) {
    .card-group__title {
        display:block
    }
}

.card-group__title a {
    background-size: 0
}

.card-group__title a:hover {
    background-size: 100% .125rem
}

.card-group__image {
    display: block;
    width: 100%;
    overflow: hidden
}

@media (min-width: 48em) {
    .card-group__image {
        order:-1
    }
}

.mug {
    width: 10rem;
    height: 10rem;
    border-radius: 50%;
    -o-object-fit: cover;
    object-fit: cover
}

.card-inline {
    padding: 0;
    border-top-width: 0;
    border-radius: .25rem;
    background-color: #fff;
    text-align: left
}

.card-inline .header {
    background-color: var(--blue-light);
    border-radius: .25rem .25rem 0 0;
    padding: 1rem
}

.card-red.card-inline .header {
    background-color: var(--red)
}

.card-inline .header h3,.card-inline .header h4 {
    margin: 0;
    color: var(--white)
}

.card-inline .content {
    padding: 1rem
}

.card-inline ul {
    list-style: none;
    padding: 0;
    margin: 0
}

.card-inline ul li {
    margin: 0
}

.card-inline ul .link-underline {
    font-weight: 400
}

.sidebar {
    background: var(--gray-lt);
    border-radius: 0
}

.sidebar .header {
    border-radius: 0;
    text-align: center
}

.card-button .Button__icon {
    margin-top: .75rem
}

.card-button .Button {
    text-transform: none;
    font-weight: 500;
    padding: 1rem;
    border-radius: 0;
    width: 100%
}

.card-button .blue {
    background-color: var(--blue-light)
}

.card-button .red {
    background-color: var(--red)
}

.faculty-finder .Profile {
    display: none
}

.faculty-finder .Profile.filter--match {
    display: block
}

@media (min-width: 32em) {
    .faculty-finder .Profile.filter--match {
        display:flex
    }
}

.faculty-finder .label {
    font-size: 13px;
    line-height: 21px;
    color: #545454;
    text-transform: uppercase;
    display: block;
    margin-bottom: 10px
}

.faculty-finder .input,.faculty-finder .select {
    width: 100%;
    margin: 0 0 32px;
    padding: 10px 66px 10px 16px;
    background-color: var(--black);
    background-image: url(/_resources/images/search-black.svg);
    background-position: right 20px center;
    background-size: 23px;
    border-width: 3px 1px 1px 1px;
    font-size: 17px;
    line-height: 28px;
    color: #002554;
    background-color: #fff
}

.faculty-finder .input::-moz-placeholder,.faculty-finder .select::-moz-placeholder {
    opacity: 1
}

.faculty-finder .input::placeholder,.faculty-finder .select::placeholder {
    opacity: 1
}

.faculty-finder .select {
    background-image: url(/_resources/images/angle-down.svg);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.faculty-finder .profile__dept {
    margin-bottom: 1.25rem
}

.NewsList {
    margin: 2rem 0
}

.NewsList__item {
    margin-top: 3rem;
    padding-top: 3rem;
    border-top: .0625rem solid var(--gray)
}

@media (min-width: 48em) {
    .NewsList__item {
        display:flex;
        align-items: center;
        justify-content: space-between
    }
}

.NewsList__item:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0
}

.NewsList__image {
    margin-bottom: 2rem
}

@media (min-width: 48em) {
    .NewsList__image {
        max-width:14.25rem;
        margin-bottom: 0
    }
}

.NewsList__text {
    padding-left: 2rem;
    flex: 1
}

.NewsList__title {
    position: relative;
    padding-top: 1rem
}

.NewsList__meta {
    padding-top: 1rem
}

.News--full {
    padding-left: var(--container-xl);
    padding-right: var(--container-xl)
}

.News--narrow {
    --grid-min: 18rem
}

.News__item {
    display: flex;
    flex-direction: column;
    position: relative;
    transition: box-shadow var(--transition);
    background: var(--gray-lt)
}

.News__item a {
    color: var(--black);
    border-bottom: 2px solid var(--red);
    -webkit-text-decoration: none;
    text-decoration: none
}

.News__item:hover {
    box-shadow: var(--shadow)
}

.News__content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 1.5rem
}

.News__title {
    margin-bottom: 1rem
}

.News__meta {
    margin-top: auto
}

.Home__news {
    margin-top: var(--space-fw);
    margin-bottom: var(--space-fw);
    padding-left: var(--container-xl);
    padding-right: var(--container-xl);
    overflow: hidden
}

.Profile {
    position: relative;
    margin: 1rem 0;
    padding: 0;
    border-bottom: 1rem solid var(--white);
    background: var(--gray-lt);
    transition: border-color var(--transition),background-color var(--transition)
}

@media (min-width: 32em) {
    .Profile {
        display:flex
    }
}

@media (min-width: 48em) {
    .Profile {
        padding:0
    }
}

.Profile h1,.Profile h2,.Profile h3,.Profile h4,.Profile h5,.Profile h6 {
    color: var(--red)
}

.Profile--alt {
    padding: 0
}

@media (min-width: 32em) {
    .Profile--alt {
        border:0
    }
}

@media (min-width: 32em) {
    .Profile__image {
        flex-shrink:0;
        width: 20rem;
        max-width: 40%;
        margin: 0
    }
}

.Profile__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.Profile__text {
    padding: 2rem 3rem
}

@media (min-width: 48em) {
    .Profile__text {
        align-self:center;
        margin-left: 2rem
    }
}

@media (min-width: 48em) {
    .Profile__text {
        margin-left:3rem;
        padding: 3rem 0
    }
}

.Profile__text p {
    margin-top: .5rem;
    margin-bottom: .5rem
}

@media (min-width: 32em) {
    .Profile--alt .Profile__text {
        margin:0;
        padding: 2rem
    }
}

@media (min-width: 48em) {
    .Profile--alt .Profile__text {
        padding:2rem 3rem
    }
}

.Profile__text .Profile__name {
    color: var(--black);
    margin-bottom: 0;
    font-weight: 700
}

.Profile__text .Profile__title {
    margin-top: 0;
    margin-bottom: 2rem
}

.Table {
    margin: 2rem 0;
    border-top: .0625rem solid var(--gray)
}

@media (min-width: 48em) {
    .Table {
        border:0;
        background-attachment: local,local,scroll,scroll;
        background-image: linear-gradient(to right,var(--white),var(--white)),linear-gradient(to left,var(--white),var(--white)),linear-gradient(to right,var(--black-10),transparent),linear-gradient(to left,var(--black-10),transparent);
        background-position: left center,right center,left center,right center;
        background-size: 1rem 100%;
        overflow: auto
    }
}

.Table table {
    width: 100%
}

@media (max-width: 47.999em) {
    .Table table {
        min-width:auto!important
    }
}

.Table thead {
    display: none;
    border-bottom: .125rem solid var(--gray)
}

@media (min-width: 48em) {
    .Table thead {
        display:table-header-group
    }
}

.Table tr {
    border-bottom: .0625rem solid var(--gray)
}

.Table tr:nth-child(2n) {
    background-color: var(--gray-lt)
}

.Table th,.Table td {
    display: block;
    padding: 1.25rem 1.5rem;
    vertical-align: baseline;
    vertical-align: initial;
    text-align: left
}

@media (min-width: 48em) {
    .Table th,.Table td {
        display:table-cell
    }
}

.Table th:before,.Table td:before {
    content: attr(data-label);
    display: block;
    font-weight: 700
}

@media (min-width: 48em) {
    .Table th:before,.Table td:before {
        display:none
    }
}

.Table-alt {
    margin: 2rem 0;
    border-top: .0625rem solid var(--black);
    border: 0;
    background-attachment: local,local,scroll,scroll;
    background-image: linear-gradient(to right,var(--white),transparent),linear-gradient(to left,var(--white),transparent),linear-gradient(to right,var(--black-10),transparent),linear-gradient(to left,var(--black-10),transparent);
    background-position: left center,right center,left center,right center;
    background-size: 6rem 100%,6rem 100%,1.5rem 100%,1.5rem 100%;
    overflow: auto
}

.Table-alt table {
    min-width: 100%
}

.Table-alt thead {
    display: table-header-group;
    border-bottom: .125rem solid var(--black)
}

.Table-alt thead th {
    font-family: var(--lora);
    font-weight: 500
}

.Table-alt tr:nth-child(2n) {
    background-color: var(--black-10)
}

.Table-alt th,.Table-alt td {
    display: table-cell;
    padding: 1.25rem 1.5rem;
    vertical-align: baseline;
    vertical-align: initial;
    text-align: left
}

.Updates {
    --heading-color: var(--white);
    margin-top: var(--space-fw);
    margin-bottom: var(--space-fw)
}

@media (min-width: 48em) {
    .Updates {
        padding-left:var(--container-lg);
        padding-right: var(--container-lg)
    }
}

.Updates__carousel {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding-left: var(--container-lg);
    padding-right: var(--container-lg);
    background-image: linear-gradient(transparent 6rem,var(--black) 6rem);
    color: var(--white)
}

@media (min-width: 48em) {
    .Updates__carousel {
        padding-top:var(--gutter);
        padding-bottom: var(--gutter);
        background: var(--black)
    }
}

.Updates__carousel.flickity-enabled {
    padding-bottom: 3rem
}

@media (min-width: 48em) {
    .Updates__carousel.flickity-enabled {
        padding-bottom:0
    }
}

.Updates__carousel .flickity-viewport {
    width: 100%;
    transition: height var(--transition) .3s
}

.Updates__carousel .flickity-prev-next-button {
    order: 1
}

@media (min-width: 48em) {
    .Updates__carousel .flickity-prev-next-button {
        position:absolute;
        right: calc(var(--gutter) * -1);
        margin-top: .5rem;
        margin-bottom: .5rem
    }
}

.Updates__carousel .flickity-prev-next-button.previous {
    margin-left: auto
}

@media (min-width: 48em) {
    .Updates__carousel .flickity-prev-next-button.previous {
        top:50%
    }
}

.Updates__carousel .flickity-prev-next-button.next {
    margin-left: 1rem
}

@media (min-width: 48em) {
    .Updates__carousel .flickity-prev-next-button.next {
        bottom:50%
    }
}

.Updates__carousel .flickity-page-dots {
    width: 100%;
    margin-bottom: 3rem
}

@media (min-width: 48em) {
    .Updates__carousel .flickity-page-dots {
        padding-left:41.5%;
        margin: 0;
        padding-bottom: var(--gutter);
        text-align: left
    }
}

.Updates__item {
    width: 100%;
    transition: opacity var(--transition),visibility var(--transition)
}

@media (min-width: 48em) {
    .Updates__item {
        display:flex;
        align-items: center;
        justify-content: space-between
    }
}

.Updates__item.is-selected {
    transition-delay: .3s
}

:not(.flickity-slider)>.Updates__item:not(:first-child) {
    display: none
}

.is-selected>.Updates__image {
    animation: fade-in-right var(--transition) .6s both
}

.Updates__text {
    padding: 3rem 0
}

@media (min-width: 48em) {
    .Updates__text {
        flex-grow:1;
        padding: var(--gutter) calc(var(--gutter) / 2)
    }
}

@media (min-width: 48em) {
    .flickity-cell .Updates__text {
        margin-right:3rem;
        margin-bottom: 3rem
    }
}

.BlockquoteImage {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin: 3rem calc(var(--gutter) * -1);
    padding: 1.5rem;
    background-color: var(--gray-lt)
}

.BlockquoteImage .Button {
    width: 100%
}

@media (min-width: 48em) {
    .BlockquoteImage .Button {
        width:auto
    }
}

@media (min-width: 48em) {
    .BlockquoteImage {
        flex-direction:row;
        align-items: center;
        gap: 4rem;
        margin-left: 0;
        margin-right: 0;
        padding: 4rem 3rem 3rem
    }
}

.BlackquoteImage__content:before {
    top: -5rem;
    left: 38%;
    content: "";
    position: absolute;
    width: 7rem;
    height: 7rem;
    background-image: url(/_resources/images/blockquote.svg);
    background-size: contain
}

@media (min-width: 48em) {
    .BlackquoteImage__content:before {
        top:-4rem;
        left: 30%
    }
}

.BlockquoteImage__cite {
    display: block;
    margin-top: 2rem;
    color: inherit;
    font-style: normal;
    font-weight: 700
}

.BlockquoteImage__cta {
    margin-top: 4rem
}

.BlockquoteImage__image {
    min-width: 246px;
    order: -1
}

@media (min-width: 48em) {
    .BlockquoteImage__image {
        order:initial
    }
}

.BlockquoteImage__image img {
    border-radius: 50%
}

.RouterList {
    overflow: hidden
}

.RouterList .grid {
    row-gap: 0
}

.RouterList--full {
    margin-top: var(--space-fw);
    margin-bottom: var(--space-fw);
    padding-left: var(--container-xl);
    padding-right: var(--container-xl)
}

.RouterList--full .grid--wide {
    --grid-min: 100%
}

.RouterList--image {
    margin: 3rem 0;
    padding-top: var(--space-fw);
    padding-bottom: var(--space-fw);
    background: linear-gradient(to top,var(--white) 0%,var(--white) 70%,var(--gray-lt) 70%,var(--gray-lt) 76%)
}

@media (min-width: 48em) {
    .RouterList--image {
        background:linear-gradient(to left,var(--gray-lt) 0%,var(--gray-lt) 70%,var(--white) 70%,var(--white) 76%)
    }
}

.RouterList--gray .RouterList__item {
    background-color: var(--gray-lt);
    color: var(--black);
    text-align: left
}

.RouterList--gray .RouterList__item:hover {
    background-color: var(--gray)
}

.RouterList--image .grid {
    --grid-min: 100%;
    row-gap: 3rem
}

@media (min-width: 48em) {
    .RouterList--image .grid {
        --grid-min: 18rem
    }
}

@media (min-width: 64em) {
    .RouterList--image .grid {
        --grid-min: 20rem
    }
}

.RouterList__header {
    grid-column: 1 / -1
}

.RouterList--full .RouterList__text {
    text-align: center
}

@media (min-width: 48em) {
    .RouterList__button {
        align-self:center;
        justify-self: end;
        place-self: center end
    }
}

.RouterList__content {
    display: contents
}

.RouterList--image .RouterList__content {
    display: block
}

.RouterList__item {
    padding: 1.5rem 0 1.5rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-top: .25rem;
    padding: 1.5rem 2rem;
    border: .0625rem solid transparent;
    transition: background-color var(--transition);
    background-color: var(--black);
    color: var(--white);
    text-align: left
}

@media (min-width: 64em) {
    .RouterList__item {
        padding:1.5rem 3rem
    }
}

.RouterList__item:hover {
    background: var(--gray-dk)
}

.RouterList__icon {
    display: flex;
    justify-content: flex-end;
    flex-shrink: 0;
    position: relative;
    width: 1rem;
    margin-left: auto;
    transition: all .2s ease-in-out
}

.RouterList__icon svg {
    width: .75rem
}

.RouterList__item:hover .RouterList__icon {
    transform: scale(1.5)
}

.StatsAlt .Stats__number {
    display: flex
}

.StatsAlt .grid--wide {
    gap: 3em 4rem
}

.StatsAlt>.grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 1rem;
    gap: 1rem;
    margin: 0
}

@media (min-width: 48em) {
    .StatsAlt>.grid {
        grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));
        gap: 2rem
    }
}

@media (min-width: 64em) {
    .StatsAlt>.grid {
        grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));
        gap: 1rem 3rem
    }
}

.StatsAlt .Stats__content {
    padding-top: var(--gutter);
    padding-bottom: var(--gutter);
    padding-left: 0;
    padding-right: 0
}

@media (min-width: 48em) {
    .StatsAlt .Stats__content {
        padding-top:1rem;
        padding-bottom: 1rem
    }
}

.StatsAlt .Stats_number-sub {
    font-size: inherit;
    display: flex;
    align-items: center
}

.StatsAlt .Stats_number-top {
    font-size: 5rem;
    display: flex;
    align-items: flex-start;
    padding-top: 1rem
}

.StatsAlt .Stats_number-bottom {
    font-size: 5.5rem;
    display: flex;
    align-items: flex-end;
    padding-bottom: .5rem;
    text-transform: none
}

.StatsAlt--gray {
    background: var(--gray-lt)
}

.StatsAlt--gray .Stats__header p {
    background: var(--gray-lt);
    color: var(--black)
}

.StatsAlt--gray .Stats__card,.StatsAlt--gray .Stats__link {
    color: var(--black)
}

.Update {
    --heading-color: var(--black);
    --link-color: var(--black);
    color: var(--black);
    background-color: var(--gray-lt);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 3rem
}

@media (min-width: 48em) {
    .Update {
        padding-left:var(--container);
        padding-right: var(--container)
    }
}

.Update__text {
    padding-bottom: 1rem
}

@media (min-width: 48em) {
    .Update__text {
        flex:50%;
        flex-grow: 1;
        padding: var(--gutter) calc(var(--gutter) / 2)
    }
}

.Update__close {
    position: absolute;
    display: grid;
    justify-items: center;
    align-items: center;
    right: 0;
    top: 2rem;
    width: 4.25rem;
    height: 4.25rem;
    padding: 0;
    border: 0;
    background: none;
    transition: var(--transition)
}

@media (min-width: 48em) {
    .Update__close {
        top:0;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: flex-end
    }
}

.Update__close:before {
    content: "";
    width: 1rem;
    height: 1rem;
    background: currentcolor;
    -webkit-mask: url(/_resources/images/close.svg);
    mask: url(/_resources/images/close.svg)
}

.Update__close:hover {
    transform: scale(1.2)
}

.toggle span {
    pointer-events: none
}

.toggle-content {
    display: none;
    height: 0;
    overflow: hidden;
    transition: height .35s ease-in-out
}

.toggle-content.is-visible {
    display: block;
    height: auto
}

.FacultyCard {
    background: var(--white);
    margin: 1.5rem 0;
    box-shadow: 0 4px 20px #0000001a
}

.FacultyCard__main {
    display: flex;
    flex-direction: column
}

@media (min-width: 48em) {
    .FacultyCard__main {
        flex-direction:row;
        align-items: stretch
    }
}

.FacultyCard__image {
    flex-shrink: 0
}

@media (min-width: 48em) {
    .FacultyCard__image {
        width:33.333%
    }
}

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

.FacultyCard__content {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .25rem
}

@media (min-width: 48em) {
    .FacultyCard__content {
        padding:2rem 2.5rem
    }
}

.FacultyCard__name {
    margin-bottom: .5rem
}

.FacultyCard__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .25rem
}

.FacultyCard__body p {
    margin: 0;
    line-height: 1.5
}

.FacultyCard__body ul,.FacultyCard__body ol {
    margin: .25rem 0;
    padding-left: 1.25rem;
    line-height: 1.5
}

.FacultyCard__body ul li,.FacultyCard__body ol li {
    margin: .125rem 0
}

.FacultyCard__body small {
    font-size: .875rem
}

.FacultyCard__button {
    margin-top: 1rem
}

.FacultyCard__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 1rem 1.5rem;
    border: 1px solid var(--gray-md);
    border-top: 0;
    background: var(--gray-lt);
    color: var(--black);
    text-align: left;
    cursor: pointer;
    transition: background var(--transition)
}

.FacultyCard__toggle:hover {
    background: var(--gray-md)
}

.FacultyCard__icon {
    flex-shrink: 0;
    width: 1rem;
    margin-left: 1rem;
    transition: transform var(--transition);
    will-change: transform
}

[aria-expanded=true]>.FacultyCard__icon {
    transform: rotate(45deg)
}

.FacultyCard__accordion {
    height: auto;
    height: var(--height, auto);
    transition: height var(--transition),visibility var(--transition);
    overflow: hidden
}

[aria-expanded=false]+.FacultyCard__accordion {
    height: 0;
    visibility: hidden
}

.FacultyCard__accordion-content {
    padding: 1.5rem;
    background: var(--white);
    border: 1px solid var(--gray-md);
    border-top: 0
}

@media (min-width: 48em) {
    .FacultyCard__accordion-content {
        padding:2rem 2.5rem
    }
}
