:root {
    --black: #000;
    --white: #fff;
    --blue: #003DA5;
    --blue-90: RGBA(0, 61, 165, .9);
    --blue-20: RGBA(0, 61, 165, .2);
    --navy-blue: #002855;
    --evening-blue: #0076A5;
    --evening-blue-lt: #71B2C9;
    --morning-blue: #AFCDD7;
    --morning-blue-lt: #D1DDE6;
    --daybreak-blue: #C6D6E3;
    --stone: #888B8D;
    --stone-lt: #C8C9C7;
    --sand: #BEB8A8;
    --sand-lt: #D9D9D6;
    --rust: #914E43;
    --rust-lt: #C26E60;
    --gold: #BD9B60;
    --gold-lt: #EBBC4E;
    --evergreen: #2F594C;
    --evergreen-lt: #7F9C90;
    --accent-purple: #9878B6;
    --accent-blue: #75CEDE;
    --accent-green: #6BC077;
    --accent-orange: #F58220;
    --accent-yellow: #FFDD00;
    --accent-pink: #F17BB0;
    --shadow: -2px 3px 15px 0px #0000002E;
    --denton: "denton", serif;
    --chainprinter: "chainprinter", sans-serif;
    --montserrat: "Montserrat", sans-serif;
    --body: 500 1rem/1.5 var(--montserrat);
    --small: 300 .875rem/1.5 var(--denton);
    --h1: 100 clamp(2rem, 3.4vw + 1.3rem, 4.0625rem)/.923 var(--denton);
    --h2: 100 clamp(1.75rem, 1.5vw + 1.5rem, 2.625rem) var(--denton);
    --h3: 400 1.5rem/1.5 var(--denton);
    --h4: 600 1.25rem/1.4 var(--montserrat);
    --h5: 600 1rem/1.5 var(--montserrat);
    --h6: 600 .75rem/1.6 var(--denton);
    --transition: .4s ease;
    --header: 4.5rem;
    --gutter: 1.5rem;
    --space: 6rem;
    --space-sm: calc(var(--space) / 2);
    --container: max(var(--gutter), (100% - 80rem) / 2);
    --container-md: max(var(--gutter), (100% - 60rem) / 2);
    --container-sm: max(var(--gutter), (100% - 48rem) / 2);
    --space-fw: clamp(3rem, 8vw, 6rem)
}

@media (min-width: 64em) {
    :root {
        --header: 10rem
    }
}

.theme-blue,
.bg-blue {
    --heading: var(--white);
    --link: var(--white);
    --background: var(--blue);
    --text: var(--white);
    --border: var(--white)
}

.theme-evening,
.bg-evening {
    --heading: var(--white);
    --link: var(--white);
    --background: var(--evening-blue);
    --text: var(--white);
    --border: var(--white)
}

.theme-daybreak,
.bg-daybreak {
    --heading: var(--blue);
    --link: var(--blue);
    --background: var(--daybreak-blue);
    --text: var(--blue);
    --border: var(--blue)
}

.theme-evergreen,
.bg-evergreen {
    --heading: var(--white);
    --link: var(--white);
    --background: var(--evergreen);
    --text: var(--white);
    --border: var(--white)
}

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

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

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

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

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

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

@keyframes highlight {
    0% {
        width: 0
    }
}

@keyframes slide-in-right {
    0% {
        transform: translate(100%)
    }
}

@keyframes slide-in-right-smooth {
    0% {
        transform: translate(-70%)
    }
}

@keyframes slide-in-up {
    0% {
        transform: translateY(100%)
    }
}

@keyframes slide-in-up-behind {
    0% {
        transform: translateY(50%)
    }
}

*,
: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;
    overflow-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]) {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

: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: initial
}

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

:root {
    cursor: auto;
    scroll-behavior: smooth;
    scroll-padding-top: 8.5rem
}

@media print {
    :root * {
        background-image: none !important;
        color: #000 !important
    }

    :root body {
        margin: 0;
        color: #000 !important;
        background-color: #fff
    }

    :root .Header {
        padding-bottom: 5rem
    }

    :root [data-minimodal],
    :root img,
    :root svg {
        display: none !important
    }

    :root img.print,
    :root svg.print {
        display: block;
        max-width: 100%
    }

    :root h1 {
        -moz-column-break-before: always;
        break-before: always
    }

    :root table,
    :root img,
    :root svg {
        -moz-column-break-inside: avoid;
        break-inside: avoid
    }

    :root .Header,
    :root .Splash,
    :root .pin-spacer,
    :root .TestimonialSlider__slider,
    :root .CardSlider__slider,
    :root .FindProgram>div:last-child {
        display: none !important;
        overflow: hidden !important;
        visibility: hidden !important
    }
}

*:focus-visible {
    outline: var(--text) dashed .25rem;
    outline-offset: .25rem
}

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

iframe,
video {
    width: 100%;
    aspect-ratio: 16 / 9
}

blockquote,
fieldset,
figure,
legend {
    margin-inline: 0;
    padding: 0;
    border: 0
}

button,
input,
select,
textarea {
    max-width: 100%;
    border-radius: 0;
    color: inherit;
    font: inherit;
    text-overflow: ellipsis
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
    display: none
}

input[type=search]::-ms-clear {
    display: none;
    width: 0;
    height: 0
}

input[type=search]::-ms-reveal {
    display: none;
    width: 0;
    height: 0
}

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

hr {
    display: block;
    margin: 2rem 0;
    border: 0;
    border-top: 4px solid var(--blue)
}

hr.hr-light {
    border-width: 2px
}

hr.hr-transparent {
    border-top: 2px solid rgba(0, 45, 114, .3)
}

::-moz-placeholder {
    opacity: 1
}

::placeholder {
    opacity: 1
}

:root {
    --heading: var(--blue);
    --link: var(--blue);
    --text: var(--navy-blue)
}

@font-face {
    font-family: denton;
    font-style: normal;
    font-weight: 100;
    src: url(../assets/Denton-Thin.otf)
}

@font-face {
    font-family: denton;
    font-style: italic;
    font-weight: 100;
    src: url(../assets/Denton-ThinItalic.otf)
}

@font-face {
    font-family: denton;
    font-style: normal;
    font-weight: 300;
    src: url(../assets/Denton-Light.otf)
}

@font-face {
    font-family: denton;
    font-style: italic;
    font-weight: 300;
    src: url(../assets/Denton-LightItalic.otf)
}

@font-face {
    font-family: denton;
    font-style: normal;
    font-weight: 400;
    src: url(../assets/Denton-Regular.otf)
}

@font-face {
    font-family: denton;
    font-style: italic;
    font-weight: 400;
    src: url(../assets/Denton-RegularItalic.otf)
}

body {
    font: var(--body);
    color: var(--text, var(--navy-blue));
    -webkit-font-smoothing: antialiased;
    font-size: 1rem;
    max-width: 1920px;
    margin: 0 auto
}

* {
    color: var(--text, var(--navy-blue))
}

.Button span{
  color:inherit;
}



button {
    font: var(--body)
}

a {
    color: var(--link);
    text-decoration-thickness: .0625rem;
    text-underline-offset: .25em
}

a:hover {
    text-decoration: none
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-block: 2em .5em
}

h1+p,
h2+p,
h3+p,
h4+p,
h5+p,
h6+p {
    margin-top: 0
}

h1,
.h1 {
    font: var(--h1);
    letter-spacing: 3.51px;
    color: var(--heading, var(--blue))
}

h2,
.h2 {
    font: var(--h2);
    letter-spacing: 3.51px;
    color: var(--heading, var(--blue))
}

h3,
.h3 {
    font: var(--h3);
    letter-spacing: 2px;
    color: var(--heading, var(--blue))
}

h4,
.h4 {
    font: var(--h4);
    letter-spacing: normal;
    color: var(--heading, var(--blue))
}

h5,
.h5 {
    font: var(--h5);
    color: var(--heading, var(--blue))
}

.t-intro {
    font-size: 20px;
    line-height: 1.4;
    font-weight: 500;
    color: var(--navy-blue)
}

.h1 em,
.h2 em,
.h3 em,
h1 em,
h2 em,
h3 em {
    color: var(--heading, var(--blue))
}

em.highlight {
    position: relative;
    display: inline-block
}

em.highlight:before {
    display: block;
    position: absolute;
    content: " ";
    height: .5em;
    width: calc(100% + .6em);
    background-image: url(../assets/highlight.png);
    background-position: left bottom;
    background-size: auto 100%;
    bottom: -.1em;
    left: -.25em;
    z-index: -1
}

em.highlight.t-intro {
    padding-left: 3rem
}

em.highlight.t-intro:before {
    height: 100%;
    width: 100%;
    transform: rotate(-90deg)
}

@media (min-width: 64em) {
    em.highlight:before {
        height: .5em;
        bottom: -.1em
    }
}

.contents {
    display: contents
}

.wrapper {
    padding-left: var(--container);
    padding-right: var(--container)
}

.relative {
    position: relative
}

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

.block {
    margin-bottom: 55px
}

.block:last-child {
    margin-bottom: 0 !important
}

.block-sm {
    margin-block: var(--space-sm)
}

.container {
    padding-inline: var(--container)
}

.container-md {
    padding-inline: var(--container-md)
}

.space {
    margin-block: var(--space-sm)
}

.space.bg-tan,
.space.bg-topographic,
.space.bg-blue,
.space.bg-evergreen,
.space.bg-daybreak,
.space.bg-evening,
.space.bg-morning-blue {
    margin-block: 0;
    padding-block: var(--space-sm)
}

@media (min-width: 64em) {
    .space {
        margin-block: var(--space)
    }

    .space.bg-tan,
    .space.bg-topographic,
    .space.bg-blue,
    .space.bg-evergreen,
    .space.bg-daybreak,
    .space.bg-evening,
    .space.bg-morning-blue {
        padding-block: var(--space)
    }
}

.space-sm {
    margin-block: var(--space-sm)
}

.space-top {
    margin-top: var(--space-sm)
}

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

.bg-topographic {
    position: relative
}

.bg-topographic:before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .4;
    z-index: -2;
    background-image: url(../assets/gradient.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
}

.bg-topographic:after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .4;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-image: url(../assets/topographic.svg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
}

.bg-blue {
    background-color: var(--blue)
}

.bg-morning-blue {
    background-color: var(--morning-blue-lt)
}

.bg-evergreen {
    background-color: var(--evergreen)
}

.bg-daybreak {
    background-color: var(--daybreak-blue)
}

.bg-evening {
    background-color: var(--evening-blue)
}

.bg-tan {
    background: #d4ba8f;
    background-image: url(../assets/grainy.jpg);
    background-size: 100%
}

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

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

.cta-header {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    text-align: center;
    margin-bottom: 3rem
}

.cta-header .Button {
    display: block;
    margin-inline: auto
}

@media (min-width: 64em) {
    .cta-header>*:first-child {
        width: 55%
    }
}

.cta-header .cta-heading {
    margin: 0 0 2rem
}

@media (min-width: 64em) {
    .cta-header {
        text-align: left;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start
    }

    .cta-header .Button {
        margin-inline: 0
    }
}

#content {
    overflow: hidden
}

#content:has(.main__sidebar) {
    overflow: visible
}

.pt-0 {
    padding-top: 0 !important
}

.pb-0 {
    padding-bottom: 0 !important
}

.mb-0 {
    margin-bottom: 0 !important
}

.flex-large {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm)
}

@media (min-width: 64em) {
    .flex-large {
        flex-direction: row;
        gap: var(--space)
    }
}

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

.skip-link {
    position: fixed;
    left: 50%;
    transform: translate(-50%);
    z-index: 999;
    top: 10px;
    padding: 10px;
    color: #fff !important;
    background: var(--blue) !important;
    text-decoration: none !important
}

.link-cover {
    position: static
}

.link-cover:after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1
}

.link-underline {
    display: inline;
    --strokeHeight: 1px;
    background: transparent;
    background-repeat: no-repeat;
    background-image: linear-gradient(90deg, currentColor 0%, currentColor 48%, transparent 48%, transparent 52%, currentColor 52%, currentColor 100%);
    background-size: 210% var(--strokeHeight);
    background-position: 100% 100%;
    border: none;
    text-decoration: none;
    line-height: 1.7;
    padding-bottom: .1em;
    transition: background-position .4s linear, background-size .4s ease
}

.link-underline:hover {
    --strokeHeight: 2px;
    background-position: -0% 100%
}

.border-top {
    border-top: 5px solid var(--blue)
}

.meta>div {
    font-family: var(--montserrat);
    font-size: 14px;
    font-weight: 600;
    padding-block: .5rem
}

.meta>div.meta-date {
    font-family: var(--chainprinter);
    font-weight: 400;
    font-size: 15px;
    letter-spacing: .5px
}

.meta>div:last-child {
    border-top: 1px dashed var(--navy-blue)
}

.image-double-border {
    position: relative;
    border: 2px solid var(--navy-blue)
}

.image-double-border:before {
    position: absolute;
    inset: 0;
    content: " ";
    border: 4px solid var(--white)
}

.draw-underline,
.Header__audience a,
.Header__actions a,
.Header__sticky-actions a,
.Header__subnav ul a,
.Subnav--widget .Subnav__list>li a,
.Footer__nav a,
.Program__link {
    display: inline;
    transition: background-position var(--transition);
    background: linear-gradient(-90deg, transparent 50%, currentColor 50%) 100% 100% / 200% .0625rem no-repeat;
    text-decoration: none
}

.draw-underline:hover,
.Header__audience a:hover,
.Header__actions a:hover,
.Header__sticky-actions a:hover,
.Header__subnav ul a:hover,
.Subnav--widget .Subnav__list>li a:hover,
.Footer__nav a:hover,
.Program__link:hover {
    background-position-x: 0
}

.redraw-underline {
    display: inline;
    transition: background-position .8s ease;
    background: linear-gradient(-90deg, currentcolor 33.333%, transparent 33.333%, transparent 66.666%, currentcolor 66.666%) 100% 100% / 300% .0625rem no-repeat;
    text-decoration: none
}

.redraw-underline:hover {
    background-position-x: 0
}

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

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

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

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

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

    [data-animation=slide-in-left] {
        animation: slide-in-left .6s ease both
    }

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

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

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

    [data-animation=highlight]:before {
        animation: highlight .6s ease both;
        animation-delay: .75s
    }

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

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

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

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

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

.frame {
    --n: 16;
    --d: 9;
    align-items: center;
    aspect-ratio: var(--n) /var(--d);
    color: var(--color-light);
    display: flex;
    justify-content: center;
    overflow: hidden
}

.frame>iframe,
.frame>img,
.frame>video {
    block-size: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.frame[data-ratio="1:1"] {
    --n: 1;
    --d: 1
}

.frame[data-ratio="2:3"] {
    --n: 2;
    --d: 3
}

.frame[data-ratio="3:2"] {
    --n: 3;
    --d: 2
}

.frame[data-ratio="4:3"] {
    --n: 4;
    --d: 3
}

.frame[data-ratio="3:4"] {
    --n: 3;
    --d: 4
}

.frame[data-ratio="5:4"] {
    --n: 5;
    --d: 4
}

.frame[data-ratio="10:9.5"] {
    --n: 10;
    --d: 9.5
}

@container (--md) {
    .columns {
        -moz-column-count: 2;
        column-count: 2;
        -moz-column-gap: var(--gutter);
        column-gap: var(--gutter)
    }
}

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

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

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

.block-header {
    display: flex;
    flex-direction: column;
    gap: var(--gutter)
}

.block-header>div {
    display: flex;
    flex-direction: column;
    flex: 1
}

.block-header+figure {
    margin-top: 2rem
}

.block-header .Button {
    width: 100%
}

.bg-evergreen .block-header,
.bg-blue .block-header {
    --heading: var(--white);
    --text: var(--white)
}

@media (min-width: 48em) {
    .block-header {
        flex-direction: row;
        justify-content: space-between
    }

    .block-header .Button {
        margin-left: auto;
        width: auto
    }
}

.card-list {
    margin-top: 2rem
}

.card-list>*+* {
    margin-top: 2rem
}

.inline {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gutter);
    margin-top: 2rem
}

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

.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
    }
}

@media (min-width: 64em) {
    .max-65 {
        max-width: 65%
    }
}

:root:has(.Automodal) {
    overflow: hidden
}

.Automodal {
    position: fixed;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    transition: background var(--transition);
    background: transparent;
    color: var(--white);
    overflow: hidden;
    z-index: 3
}

.Automodal::backdrop {
    display: none
}

.Automodal--active {
    background: #000000e6
}

.Automodal__viewport {
    width: 100%;
    height: 100%;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center
}

.Automodal__viewport:focus-visible .Automodal__item {
    outline: .25rem dashed var(--white);
    outline-offset: -.25rem
}

.Automodal__item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    inset: 0;
    margin: 0;
    transition: opacity var(--transition);
    opacity: 0;
    height: unset;
    max-width: 85vw;
    position: relative;
    width: 100%
}

.Automodal--active .Automodal__item {
    opacity: 1
}

.Automodal__item--finder {
    max-width: 56rem;
    margin-left: auto;
    transition: none;
    animation: slide-out-right var(--transition);
    opacity: 1
}

.Automodal--active .Automodal__item--finder {
    animation: slide-in-left var(--transition)
}

.Automodal__content,
.Automodal__caption {
    display: flex;
    justify-content: center;
    color: var(--white);
    width: 100%;
    max-width: 1280px;
    margin-inline: auto;
    pointer-events: auto
}

.Automodal__caption {
    margin-top: 15px;
    font-size: 14px;
    font-weight: 300;
    line-height: 21px;
    font-family: var(--denton);
    letter-spacing: 1px
}

.Automodal__item--finder .Automodal__content {
    height: 100vh;
    height: 100dvh;
    padding: 0;
    background: var(--white);
    color: var(--black);
    overflow: auto
}

.Automodal__close {
    --text: var(--white);
    display: grid;
    place-items: center;
    position: absolute;
    top: .75rem;
    right: .75rem;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background-color: var(--morning-blue-lt)
}

.Automodal__close:after {
    content: "";
    display: block;
    width: 1rem;
    height: 1rem;
    background: var(--blue);
    -webkit-mask-image: url(../assets/close.svg);
    mask-image: url(../assets/close.svg)
}

.Automodal:has(.Automodal__item:not(.Automodal__item--id)) .Automodal__close {
    transform: translate(200%)
}

.Automodal--active:has(.Automodal__item:not(.Automodal__item--id)) .Automodal__close {
    transform: none
}

.flickity-enabled:focus-visible {
    outline: none !important
}

.flickity-viewport {
    position: relative
}

.flickity-viewport:focus-visible {
    outline: none !important
}

.flickity-enabled.loaded .flickity-cell,
.flickity-slider {
    height: 100%
}

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

.flickity-slider>* {
    flex-shrink: 0;
    position: absolute;
    top: 0
}

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

.flickity-prev-next-button {
    display: inline-grid;
    place-items: center;
    width: 48px;
    height: 38px;
    padding: 0;
    border: 1px solid var(--navy-blue);
    border-radius: 0 16px 16px 0;
    transition: all var(--transition);
    color: var(--white);
    background-color: var(--navy-blue);
    cursor: pointer;
    left: 5rem;
    bottom: 0;
    position: absolute
}

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

.flickity-prev-next-button:before {
    content: "";
    flex-shrink: 0;
    width: 8px;
    height: 13px;
    background: currentColor;
    -webkit-mask-image: url(../assets/slider-arrow.svg);
    mask-image: url(../assets/slider-arrow.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

.flickity-prev-next-button.previous {
    transform: rotate(180deg);
    left: 1rem
}

.flickity-prev-next-button:hover {
    background-color: var(--blue);
    border-color: var(--blue);
    color: var(--white)
}

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

.flickity-prev-next-button[disabled] {
    cursor: auto;
    opacity: .7
}

.flickity-prev-next-button[disabled]:hover {
    opacity: .7
}

.flickity-status {
    position: absolute;
    left: 9.5rem;
    bottom: .5rem;
    font-weight: 600;
    letter-spacing: 8px;
    margin: 0 auto;
    width: -moz-fit-content;
    width: fit-content
}

.flickity-page-dots {
    display: flex;
    gap: 5px;
    align-items: center
}

.flickity-page-dots {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.flickity-page-dots .flickity-page-dot {
    width: 10px;
    height: 10px;
    display: inline-block;
    text-indent: -999rem;
    overflow: hidden;
    cursor: pointer;
    background: var(--blue);
    color: var(--blue);
    border: none;
    margin: 0;
    padding: 0;
    border-radius: 10px;
    transition: all var(--transition)
}

.flickity-page-dots .flickity-page-dot.is-selected {
    opacity: 1;
    background: var(--blue);
    color: var(--blue)
}

.flickity-custom .flickity-button {
    position: absolute;
    top: auto;
    bottom: 0;
    width: 3rem;
    height: 3rem;
    margin: 0;
    transform: none;
    border-radius: 50% !important;
    background: var(--white) !important;
    color: var(--purple) !important;
    outline-color: var(--white) !important
}

.flickity-custom .flickity-button.previous {
    right: 4rem;
    left: auto
}

.flickity-custom .flickity-button.next {
    right: 0
}

.flickity-custom .flickity-button-icon {
    position: static;
    width: 1.25rem;
    height: 1.25rem;
    fill: currentColor
}

.flickity-custom .flickity-page-dots {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
    position: static;
    max-width: calc(100% - 8rem);
    min-height: 3rem;
    margin-block: 2.5rem 1rem
}

.flickity-custom .flickity-page-dots .dot {
    width: 1rem;
    height: 1rem;
    border: .125rem solid var(--white);
    border-radius: 50%;
    background: none;
    margin: 0;
    opacity: 1;
    cursor: pointer
}

.flickity-custom .flickity-page-dots .dot.is-selected {
    background: var(--white)
}

.flickity-fade .flickity-slider {
    transition: all .3s ease-in-out;
    transform: none !important
}

.flickity-fade .flickity-slider>* {
    position: absolute;
    opacity: 0;
    visibility: hidden;
    transform: none !important;
    transition: all .3s ease-in-out
}

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

:root {
    --tec-font-family-sans-serif: var(--montserrat);
    --tec-color-text-primary: var(--blue);
    --tec-color-border-default: var(--blue);
    --tec-color-text-event-title-list: var(--blue)
}

.tribe-common .tribe-common-b2 {
    color: var(--text, var(--navy-blue));
    font-family: var(--montserrat);
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5
}

.tribe-events-calendar-list__event-title-link {
    font: var(--h4);
    letter-spacing: normal;
    color: var(--link);
    display: inline;
    --strokeHeight: 1px;
    background: transparent;
    background-repeat: no-repeat;
    background-image: linear-gradient(90deg, currentColor 0%, currentColor 48%, transparent 48%, transparent 52%, currentColor 52%, currentColor 100%);
    background-size: 210% var(--strokeHeight);
    background-position: 100% 100%;
    border: none;
    text-decoration: none;
    line-height: 1.7;
    padding-bottom: .1em;
    transition: background-position .4s linear, background-size .4s ease
}

.tribe-events-calendar-list__event-title-link:hover {
    background-image: linear-gradient(90deg, currentColor 0%, currentColor 48%, transparent 48%, transparent 52%, currentColor 52%, currentColor 100%);
    background-size: 210% var(--strokeHeight);
    --strokeHeight: 2px;
    background-position: -0% 100%
}

.tribe-common a:not(.tribe-common-anchor--unstyle),
.tribe-common a:not(.tribe-common-anchor--unstyle):active,
.tribe-common a:not(.tribe-common-anchor--unstyle):focus,
.tribe-common a:not(.tribe-common-anchor--unstyle):hover,
.tribe-common a:not(.tribe-common-anchor--unstyle):visited {
    color: var(--link)
}

.tribe-events .tribe-events-calendar-list__event-date-tag-weekday,
span.tribe-events-calendar-list__event-date-tag-daynum.tribe-common-h5.tribe-common-h4--min-medium,
time.tribe-events-calendar-list__month-separator-text.tribe-common-h7.tribe-common-h6--min-medium.tribe-common-h--alt {
    font: var(--body);
    color: var(--text, var(--navy-blue))
}

.tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button {
    border-radius: 0;
    border-color: var(--blue);
    padding: .75rem;
    font-size: .9rem;
    font-weight: 600;
    font-family: var(--montserrat);
    color: var(--blue)
}

.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:hover {
    background-color: var(--blue)
}

.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:hover path.tribe-common-c-svgicon__svg-fill {
    color: #fff;
    fill: #fff
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar--border {
    border: 1px solid var(--blue)
}

.tribe-events .tribe-events-c-events-bar .tribe-common-form-control-text__input {
    font: var(--body)
}

.tribe-common--breakpoint-medium.tribe-events .tribe-common-c-btn.tribe-events-c-search__button {
    background-color: var(--navy-blue);
    font-family: var(--montserrat);
    font-size: .9rem;
    font-weight: 600;
    border-radius: 0
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__button-text {
    font-family: var(--montserrat)
}

span.tribe-events-c-top-bar__datepicker-desktop.tribe-common-a11y-hidden {
    font: var(--h2);
    letter-spacing: 3.51px;
    color: var(--heading, var(--blue))
}

a.tribe-common-c-btn-border-small.tribe-events-c-top-bar__today-button.tribe-common-a11y-hidden {
    font-family: var(--denton)
}

#directory-header h1 {
    margin-top: 0;
    display: none
}

.results-container #help-text,
.results-container #results {
    box-shadow: none
}

#department-list,
#search-box {
    width: 100%;
    margin: 1rem 0
}

#help-button {
    display: none
}

#directory-filters {
    margin: 1rem 0
}

#directory-filters>div>small {
    margin-right: .5rem
}

.btn-dark,
.btn-outline-dark,
.btn-success {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    font-size: .9rem;
    font-weight: 600;
    background: var(--blue);
    border: 1px solid transparent;
    width: auto;
    padding: .75rem 2.5rem;
    overflow: hidden;
    transition: var(--transition);
    color: #fff;
    margin-right: .5rem
}

#university-directory-react-app .d-none {
    display: none
}

#university-directory-react-app a,
#university-directory-react-app .btn-link {
    background: transparent;
    border: 0;
    color: var(--link) !important;
    text-underline-offset: .25em;
    text-decoration-thickness: .0625rem
}

#university-directory-react-app a:hover,
#university-directory-react-app .btn-link:hover {
    text-decoration: none
}

#university-directory-react-app button {
    background-color: var(--navy-blue)
}

#university-directory-react-app button:hover {
    background-color: var(--blue)
}

#university-directory-react-app button.btn-outline-dark {
    background: transparent;
    color: var(--navy-blue);
    border-color: var(--blue)
}

#university-directory-react-app button.btn-outline-dark:hover {
    background: var(--blue);
    color: var(--white)
}

#university-directory-react-app #directory-header {
    padding-bottom: 2rem
}

#university-directory-react-app #directory-header #department-list {
    border-radius: 0;
    padding: .5rem;
    border: 1px solid var(--blue)
}

div.form_container div.hidden {
    display: none !important
}

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

@media (min-width: 64em) {

    [data-search-active],
    [data-menu-active] {
        overflow: visible
    }
}

.Header {
    position: sticky;
    top: 0;
    width: 100%;
    height: 3.125rem;
    background: var(--white);
    z-index: 2;
    box-shadow: var(--shadow);
    transition: var(--transition)
}

@media (min-width: 64em) {
    .Header {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        height: 7.375rem;
        width: 100%;
        padding-bottom: 1rem;
        box-shadow: none
    }

    .Header[data-sticky=true] {
        transform: translateY(-3.25rem);
        padding-bottom: 0;
        box-shadow: var(--shadow)
    }

    .Header[data-sticky=true] .Header__wrapper {
        height: 4.125rem;
        border: none;
        padding-right: 0
    }

    .Header[data-sticky=true] .Header__wrapper:before {
        display: none
    }
}

@media (min-width: 64em) and (min-width: 64em) {
    .Header[data-sticky=true] .Header__wrapper {
        align-items: center
    }
}

@media (min-width: 64em) {
    .Header[data-sticky=true] .Header__logo {
        max-width: 13.25rem;
        margin-right: auto;
        transition: var(--transition)
    }
}

@media (min-width: 64em) and (min-width: 64em) {
    .Header[data-sticky=true] .Header__logo {
        padding-bottom: 0
    }
}

@media (min-width: 64em) {
    .Header[data-sticky=true] .Header__toggle-buttons {
        height: 100%
    }

    .Header[data-sticky=true] .Header__actions-desktop {
        width: 0px;
        opacity: 0;
        overflow: hidden;
        visibility: hidden;
        transition: var(--transition)
    }

    .Header[data-sticky=true] .Header__actions-desktop--sticky {
        width: auto;
        height: 100%;
        opacity: 1;
        overflow: visible;
        visibility: visible;
        margin-right: 2rem
    }
}

.Header__wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    transition: var(--transition)
}

@media (min-width: 64em) {
    .Header__wrapper {
        align-items: flex-end;
        padding-inline: 2rem;
        background: var(--white)
    }

    .Header__wrapper:before {
        position: absolute;
        content: " ";
        bottom: calc(1rem - 1px);
        left: 2rem;
        right: 2rem;
        width: calc(100% - 4rem);
        height: 1px;
        border-bottom: 1px dashed var(--navy-blue)
    }
}

.Header__logo {
    flex: 1;
    display: grid;
    place-items: center;
    align-self: stretch;
    width: 100%;
    max-width: 10.3125rem;
    margin-left: .5rem;
    transition: var(--transition)
}

@media (min-width: 64em) {
    .Header__logo {
        max-width: 21.6875rem;
        align-self: auto;
        margin: 0;
        padding-bottom: 1rem
    }
}

.Header__toggle-buttons {
    display: flex;
    height: 100%;
    transition: var(--transition)
}

@media (min-width: 64em) {
    .Header__toggle-buttons {
        height: 3.125rem
    }
}

.Header__menu-toggle {
    --text: var(--white);
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 100%;
    margin: 0;
    padding: 0 1rem;
    border: none;
    background: var(--blue);
    cursor: pointer
}

.Header__menu-toggle:focus-visible {
    color: var(--white);
    outline-offset: -.5em
}

.Header__menu-toggle .humb {
    display: block;
    width: 20px;
    height: 2px;
    background: var(--white);
    box-shadow: 0 0 0 .2px var(--white);
    transform: translateY(0);
    transition: var(--transition)
}

.Header__menu-toggle .humb:before,
.Header__menu-toggle .humb:after {
    display: block;
    position: absolute;
    content: "";
    z-index: -1;
    width: 20px;
    height: 2px;
    background: var(--white)
}

.Header__menu-toggle .humb:before {
    bottom: 7px;
    transition: bottom .3s .3s cubic-bezier(.23, 1, .32, 1), transform .3s cubic-bezier(.23, 1, .32, 1)
}

.Header__menu-toggle .humb:after {
    top: 7px;
    transition: top .3s .3s cubic-bezier(.23, 1, .32, 1), transform .3s cubic-bezier(.23, 1, .32, 1)
}

.Header__menu-toggle span:first-child {
    display: none;
    visibility: hidden
}

@media (min-width: 64em) {
    .Header__menu-toggle {
        gap: 1rem
    }

    .Header__menu-toggle span:first-child {
        display: block;
        visibility: visible;
        color: var(--white);
        font-family: var(--chainprinter);
        font-size: .75rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 2.25px
    }
}

.Header__menu-toggle[aria-expanded=true] .humb {
    background: none !important;
    box-shadow: none
}

.Header__menu-toggle[aria-expanded=true] .humb:after {
    top: 0;
    transform: rotate(45deg);
    transition: top .3s cubic-bezier(.23, 1, .32, 1), transform .3s .3s cubic-bezier(.23, 1, .32, 1)
}

.Header__menu-toggle[aria-expanded=true] .humb:before {
    bottom: 0;
    transform: rotate(-45deg);
    transition: bottom .3s cubic-bezier(.23, 1, .32, 1), transform .3s .3s cubic-bezier(.23, 1, .32, 1)
}

@media (min-width: 64em) {
    .Header__menu-toggle:hover .humb {
        transform: scale(1.1)
    }
}

.Header__menu {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: -1;
    height: calc(100dvh - 3.125rem);
    padding: 6rem 1rem 0;
    background: var(--white);
    overflow: hidden;
    transform: translate(-100%);
    visibility: hidden;
    transition: transform var(--transition), visibility var(--transition)
}

@media (min-width: 64em) {
    .Header__menu {
        flex-direction: row;
        gap: 2.25rem;
        height: 568px;
        padding: 0;
        top: calc(100% - 1rem);
        transform: translateY(-110%);
        box-shadow: 0 4px 4px #00000040
    }
}

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

.Header__nav-wrapper {
    padding: 0;
    margin: 0 0 3rem
}

@media (min-width: 64em) {
    .Header__nav-wrapper {
        position: relative;
        width: 60%;
        margin: 0 0 1.9rem;
        padding-top: 2.25rem
    }
}

.Header__nav {
    padding: 0;
    margin: 0
}

.Header__subnav-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
    background: none;
    font-family: var(--chainprinter);
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    border: none;
    border-bottom: 1px dashed var(--navy-blue);
    padding: 1rem;
    width: 100%;
    cursor: pointer;
    transition: var(--transition)
}

.Header__subnav-toggle svg {
    flex-shrink: 0;
    width: .5rem;
    transition: all var(--transition)
}

.Header__subnav-toggle:hover {
    border-bottom: 1px solid var(--blue)
}

.Header__subnav-toggle:hover span {
    color: var(--blue)
}

.Header__subnav-toggle:hover svg {
    fill: var(--blue)
}

@media (min-width: 64em) {
    .Header__subnav-toggle {
        width: 50%
    }
}

.Header__subnav-toggle[aria-expanded=true] {
    border-bottom: 1px solid var(--blue)
}

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

.Header__subnav-toggle[aria-expanded=true] svg {
    transform: rotate(90deg);
    fill: var(--blue)
}

@media (min-width: 64em) {
    .Header__subnav-toggle[aria-expanded=true] svg {
        transform: none
    }
}

.Header__subnav-image {
    display: none
}

@media (min-width: 64em) {
    .Header__subnav-image {
        position: relative;
        display: block;
        aspect-ratio: 1/1;
        -o-object-fit: cover;
        object-fit: cover;
        width: 40%;
        height: 100%;
        border-bottom: 12px solid var(--blue)
    }
}

.Header__subnav {
    display: grid;
    grid-template-rows: 1fr;
    transition: grid-template-rows var(--transition), visibility var(--transition);
    overflow: hidden
}

@media (min-width: 64em) {
    .Header__subnav {
        position: absolute;
        left: calc(50% + 3.875rem);
        top: 0;
        overflow: visible;
        transition: opacity var(--transition), visibility var(--transition)
    }

    .Header__subnav a {
        color: var(--navy-blue)
    }
}

.Header__subnav ul {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    min-height: 0;
    transition: margin-block var(--transition)
}

@media (min-width: 64em) {
    .Header__subnav ul {
        flex-shrink: 0;
        width: 13rem;
        padding-left: 1rem;
        margin-top: 3.25rem
    }
}

@media (min-width: 80em) {
    .Header__subnav ul {
        width: 17rem
    }
}

[aria-expanded=false]+.Header__subnav {
    grid-template-rows: 0fr;
    visibility: hidden
}

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

@media (max-width: 63.999em) {
    [aria-expanded=true]+.Header__subnav ul {
        margin-block: 2rem;
        transition: margin-block var(--transition)
    }
}

@media (min-width: 64em) {
    [aria-expanded=true]+.Header__subnav {
        display: flex;
        justify-content: flex-end;
        opacity: 1
    }
}

.Header__image {
    display: none
}

.Header__search-toggle-icon {
    width: 26px;
    height: 27px;
    min-width: 27px;
    background: transparent !important;
    border: none;
    padding: 0;
    border-radius: 0;
    transition: all var(--transition);
    cursor: pointer;
    position: relative;
    color: #fff !important;
    display: block
}

@media (min-width: 64em) {
    .Header__search-toggle-icon {
        width: 20px;
        height: 20px;
        min-width: 20px
    }
}

.Header__search-toggle-icon:before {
    content: "";
    position: absolute;
    top: 0;
    width: 0;
    height: 2px;
    left: 1px;
    background-color: var(--blue);
    transform: rotate(45deg);
    transform-origin: left top
}

@media (min-width: 64em) {
    .Header__search-toggle-icon:before {
        height: 2px;
        background-color: var(--blue)
    }
}

.Header__search-toggle-icon:after {
    content: "";
    position: absolute;
    height: 2px;
    width: 40%;
    left: 1px;
    bottom: 0;
    background-color: var(--blue);
    transform: rotate(-45deg);
    transform-origin: left bottom
}

@media (min-width: 64em) {
    .Header__search-toggle-icon:after {
        height: 2px;
        width: 40%;
        background-color: var(--blue)
    }
}

.Header__search-toggle-icon .search-icon {
    position: absolute;
    display: block;
    top: 1px;
    right: 0;
    border-width: 2px;
    width: 21px;
    height: 21px;
    border-radius: 50%;
    border-style: solid;
    border-color: var(--blue);
    background-color: transparent;
    box-shadow: 0 0 0 .2px var(--blue)
}

@media (min-width: 64em) {
    .Header__search-toggle-icon .search-icon {
        top: 0;
        width: 16px;
        height: 16px;
        border-color: var(--blue);
        box-shadow: none
    }
}

.Header__search-toggle-icon:before,
.Header__search-toggle-icon:after,
.Header__search-toggle-icon .search-icon {
    transition: all var(--transition)
}

[aria-expanded=true] .Header__search-toggle-icon:before,
[aria-expanded=true] .Header__search-toggle-icon:after {
    width: 36px
}

@media (min-width: 64em) {

    [aria-expanded=true] .Header__search-toggle-icon:before,
    [aria-expanded=true] .Header__search-toggle-icon:after {
        width: 27px
    }
}

[aria-expanded=true] .Header__search-toggle-icon:before {
    top: 0
}

[aria-expanded=true] .Header__search-toggle-icon:after {
    bottom: 0
}

[aria-expanded=true] .Header__search-toggle-icon .search-icon {
    width: 0;
    height: 0;
    border-color: transparent !important;
    box-shadow: none
}

.Header__search-toggle {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 100%;
    margin: 0;
    padding: 0 1rem;
    border: none;
    background: var(--morning-blue-lt);
    cursor: pointer
}

.Header__search-toggle:focus-visible {
    outline-offset: -.5em
}

.Header__search-toggle>span:not(.Header__search-toggle-icon) {
    display: none;
    visibility: hidden
}

@media (min-width: 64em) {
    .Header__search-toggle {
        gap: 1rem
    }

    .Header__search-toggle span:not(.Header__search-toggle-icon) {
        display: block;
        visibility: visible;
        color: var(--blue);
        font-family: var(--chainprinter);
        font-size: .75rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 2.25px
    }
}

@media (min-width: 64em) {
    .Header__search-toggle:hover .Header__search-toggle-icon {
        transform: scale(1.1)
    }
}

.Header__search {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: -1;
    height: calc(100dvh - 3.125rem);
    padding: 6rem 1rem 0;
    background: var(--white);
    overflow: auto;
    transform: translate(-100%);
    visibility: hidden;
    transition: transform var(--transition), visibility var(--transition)
}

@media (max-width: 63.999em) {
    .Header__search {
        display: flex;
        flex-direction: column
    }
}

@media (min-width: 64em) {
    .Header__search {
        height: 280px;
        padding-top: 2.625rem;
        padding-inline: 4.375rem;
        transform: translateY(-110%);
        border-bottom: 12px solid var(--blue);
        box-shadow: 0 4px 4px #00000040
    }
}

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

@media (min-width: 64em) {
    .Header__form-wrapper {
        display: flex;
        gap: 3.625rem;
        max-width: 1000px;
        margin-inline: auto
    }

    .Header__form-wrapper>div:nth-child(2) {
        width: 174px
    }
}

.Header__form {
    display: flex;
    align-items: flex-end;
    margin-bottom: 3.5rem;
    flex: 1
}

@media (min-width: 64em) {
    .Header__form {
        margin-top: 2rem;
        align-items: flex-start
    }
}

.Header__label {
    flex-grow: 1;
    font: var(--h3)
}

.Header__input {
    height: 3.125rem;
    width: 100%;
    max-height: none !important;
    margin-top: 1rem;
    padding-inline: 1rem !important;
    color: var(--navy-blue);
    font-family: var(--denton);
    font-size: 1rem;
    text-indent: 0 !important;
    border: 1px solid var(--blue);
    border-right: none
}

.Header__input:focus-visible {
    outline-offset: -.5rem
}

@media (min-width: 64em) {
    .Header__input {
        height: 4.5rem;
        font-size: 1.25rem;
        margin: 0
    }
}

.Header__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin: 0;
    width: 3rem;
    height: 3.125rem;
    border: 1px solid var(--blue);
    border-left: none;
    background: none !important
}

@media (min-width: 64em) {
    .Header__submit {
        width: 4.5rem;
        height: 4.5rem
    }
}

.Header__submit svg {
    width: 1.5rem
}

@media (min-width: 64em) {
    .Header__submit svg {
        width: 2rem
    }
}

.Header__heading {
    color: var(--blue);
    font-family: var(--chainprinter);
    font-weight: 600;
    border-bottom: 1px dashed var(--blue);
    padding-bottom: .5rem;
    margin: 0 0 1.5rem
}

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

.Header__popular li {
    margin-bottom: .5rem
}

.Header__popular li a {
    font-size: .875rem;
    text-decoration: none
}

.Header__popular li a:hover {
    text-decoration: underline
}

.Header__audience {
    --text: var(--white);
    position: absolute;
    top: 0;
    background: var(--navy-blue);
    color: var(--white);
    font-family: var(--chainprinter);
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2.25px;
    width: 100%;
    padding: 1.5rem 0;
    margin-inline: -1rem
}

.Header__audience ul {
    display: flex;
    justify-content: space-evenly;
    list-style-type: none;
    margin: 0;
    padding: 0
}

.Header__audience ul li a {
    font-family: var(--chainprinter);
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2.25px;
    color: var(--white)
}

.Header__menu .Header__audience ul li:first-child {
    display: none;
    visibility: hidden
}

@media (min-width: 64em) {
    .Header__audience {
        display: none;
        visibility: hidden
    }

    .Header__menu .Header__audience {
        display: block;
        visibility: visible;
        bottom: 0;
        top: unset;
        padding: .75rem 0;
        margin-inline: 0;
        width: 100%;
        background: var(--blue)
    }

    .Header__menu .Header__audience ul {
        width: 60%;
        justify-content: flex-start;
        margin-left: calc(40% + 2.25rem);
        gap: 2.5rem
    }

    .Header__menu .Header__audience ul li:first-child {
        position: relative;
        display: block;
        visibility: visible
    }

    .Header__menu .Header__audience ul li:first-child:after {
        position: absolute;
        right: -1.125rem;
        top: 0;
        content: "";
        display: block;
        width: 1px;
        height: 100%;
        background: var(--white)
    }

    .Header__menu .Header__audience ul li a {
        font-weight: 500;
        letter-spacing: 1px
    }

    [aria-expanded=false]+.Header__menu .Header__audience {
        visibility: hidden
    }
}

.Header__actions li {
    margin-bottom: .5rem
}

.Header__actions li a {
    font-family: var(--chainprinter);
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2.25px;
    color: var(--navy-blue)
}

@media (min-width: 64em) {
    .Header__actions {
        padding: 0 0 0 1rem;
        padding-bottom: 0
    }

    .Header__actions li {
        margin-bottom: .25rem
    }
}

.Header__actions-desktop {
    display: none;
    visibility: hidden
}

@media (min-width: 64em) {
    .Header__actions-desktop {
        display: flex;
        align-items: center;
        gap: 2rem;
        height: 50px;
        visibility: visible;
        padding: 0;
        margin: 0;
        list-style-type: none;
        transition: var(--transition)
    }

    .Header__actions-desktop li a {
        position: relative;
        display: block;
        font-family: var(--chainprinter);
        font-size: .75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 2.25px;
        color: var(--blue);
        text-decoration: none;
        white-space: nowrap
    }

    .Header__actions-desktop li a:after {
        position: absolute;
        display: block;
        content: "";
        height: 4px;
        width: 100%;
        bottom: 0;
        left: 0;
        opacity: 0;
        background: var(--blue);
        transition: var(--transition)
    }

    .Header__actions-desktop li a:hover {
        color: var(--blue)
    }

    .Header__actions-desktop li a:hover:after {
        opacity: 1;
        bottom: -6px
    }
}

.Header__actions-desktop--extra {
    margin-right: 2rem
}

.Header__actions-desktop--sticky {
    width: 0px;
    opacity: 0;
    overflow: hidden;
    visibility: hidden;
    margin: 0
}

.Header__sticky-actions {
    display: flex;
    justify-content: space-evenly;
    list-style-type: none;
    margin: auto 0 0;
    padding: 0;
    background: var(--morning-blue-lt);
    width: 100vw;
    padding: 1.5rem 0;
    margin-inline: -1rem
}

.Header__sticky-actions li a {
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2.25px
}

@media (min-width: 64em) {
    .Header__sticky-actions {
        display: none;
        visibility: hidden;
        padding: 1.5rem 4.5rem
    }
}

.Footer {
    --outline: var(--white);
    display: flex;
    flex-direction: column;
    position: relative;
    background: var(--midnight);
    color: var(--blue);
    z-index: 0
}

.Footer a {
    color: var(--blue)
}

.Footer__connect {
    padding: 2rem var(--container);
    background: var(--purple)
}

@media (max-width: 63.999em) {
    .Footer__connect {
        order: 1
    }
}

@media (min-width: 64em) {
    .Footer__connect {
        display: flex;
        align-items: center;
        gap: 2rem;
        padding-block: 1.125rem
    }
}

.Footer__connect p {
    font: var(--h5)
}

@media (min-width: 64em) {
    .Footer__connect p {
        margin: 0
    }
}

.Footer__social {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin-top: 1.5rem
}

@media (max-width: 63.999em) {
    .Footer__social {
        margin-inline: auto;
        width: -moz-fit-content;
        width: fit-content
    }
}

.Footer__social a {
    display: block;
    transition: var(--transition)
}

.Footer__social a:hover {
    transform: scale(1.2)
}

.Footer__main {
    position: relative;
    padding: 4rem var(--container) 2rem
}

@media (min-width: 64em) {
    .Footer__main {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 4rem;
        padding: 4.375rem var(--container) 6.875rem
    }
}

@media (min-width: 80em) {
    .Footer__main {
        gap: 8rem
    }
}

@media (max-width: 63.999em) {
    .Footer__brand {
        text-align: center
    }

    .Footer__brand .Button {
        width: 100%
    }
}

@media (min-width: 64em) {
    .Footer__brand {
        width: 19.5rem
    }

    .Footer__brand .Button {
        width: 12.5rem
    }
}


@media (max-width: 1024px) {
  .Footer__brand .Button {
    color: #fff !important;
  }
}

.Footer__brand-info {
    margin: 0 auto
}

.Footer__brand-info a:hover {
    text-decoration: none
}

@media (min-width: 64em) {
    .Footer__brand-info {
        max-width: 300px
    }
}

.Footer__logo {
    display: block;
    width: 100%;
    max-width: 19rem;
    margin-bottom: 3.375rem
}

@media (max-width: 63.999em) {
    .Footer__logo {
        margin-inline: auto
    }
}

.Footer__address {
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 2rem
}

@media (min-width: 64em) {
    .Footer__group {
        display: flex;
        align-self: flex-start;
        align-items: flex-end;
        flex-grow: 1;
        gap: 4rem
    }
}

@media (min-width: 80em) {
    .Footer__group {
        gap: 8rem
    }
}

.Footer__nav {
    padding: 0
}

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

@media (max-width: 63.999em) {
    .Footer__nav {
        margin-block: 2rem
    }
}

@media (min-width: 64em) {
    .Footer__nav {
        flex-grow: 1;
        margin-block: 0
    }
}

.Footer__nav li {
    margin-bottom: 1rem
}

.Footer__nav a {
    position: relative;
    display: inline-block;
    font-family: var(--chainprinter);
    font-weight: 600;
    text-underline-offset: .25em;
    padding-block-end: 1rem;
    width: 100%
}

.Footer__nav a:before {
    content: " ";
    position: absolute;
    bottom: 0;
    width: 100%;
    border-bottom: 1px dashed var(--blue)
}

.Footer__legal {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    gap: .75rem;
    padding: 2rem var(--container);
    background: var(--morning-blue-lt);
    font-size: .875rem;
    list-style-type: none;
    margin: 0
}

@media (max-width: 63.999em) {
    .Footer__legal {
        order: 1
    }
}

@media (min-width: 64em) {
    .Footer__legal {
        gap: 2rem;
        padding-block: 1.5rem
    }
}

.Footer__legal li:last-child {
    order: -1;
    width: 100%
}

@media (min-width: 64em) {
    .Footer__legal li:last-child {
        width: auto;
        margin-right: auto
    }
}

.Footer__legal li a {
    font-family: var(--chainprinter)
}

.Footer__legal li a:hover {
    text-decoration: none
}

.Footer__back {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    margin-inline: auto;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    font-family: var(--chainprinter) !important;
    color: var(--blue);
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: .25em
}

.Footer__back svg {
    width: 2.375rem
}

.Footer__back:hover {
    text-decoration: none
}

@media (min-width: 64em) {
    .Footer__back {
        position: absolute;
        bottom: 3.75rem;
        right: max(var(--gutter), (100% - 78.125rem) / 2);
        margin-inline: unset
    }
}

.Alert {
    position: relative;
    padding-block: 1rem;
    padding-inline: 1rem;
    z-index: 3
}

@media (min-width: 32em) {
    .Alert {
        padding-block: 1.5rem;
        padding-inline: var(--container) calc(var(--container) + 4rem)
    }
}

.Alert--primary {
    background: var(--gold-lt)
}

.Alert--secondary {
    --text: var(--white);
    --link: var(--white);
    --heading: var(--white);
    background: var(--blue)
}

.Alert--update {
    background: var(--morning-blue-lt);
    z-index: 0
}

@media (min-width: 64em) {
    .Alert--update {
        padding-right: calc(var(--container) + 6rem)
    }
}

.Alert__heading {
    padding-inline: 0 5rem;
    margin: 0;
    font-weight: 700
}

@media (min-width: 32em) {
    .Alert__heading {
        padding-inline: 0
    }
}

.Alert--update .Alert__heading {
    font: var(--h3)
}

.Alert__warning {
    display: flex;
    align-items: center;
    gap: .75rem
}

.Alert__warning:before {
    content: "";
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    transform: translateY(-.0625em);
    background: currentColor;
    -webkit-mask-image: url(../assets/warning.svg);
    mask-image: url(../assets/warning.svg)
}

.Alert__toggle,
.Alert__close {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: .875rem;
    right: 1rem;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border: 0;
    background: transparent;
    transition: var(--transition)
}

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

.Alert__toggle:before,
.Alert__close:before {
    content: "";
    display: block;
    width: 1rem;
    height: 1rem;
    background: currentcolor
}

@media (min-width: 64em) {

    .Alert__toggle,
    .Alert__close {
        right: var(--container)
    }
}

.Alert__toggle:before {
    transform: rotate(-90deg);
    transition: transform var(--transition);
    -webkit-mask-image: url(../assets/chevron-right.svg);
    mask-image: url(../assets/chevron-right.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center
}

.Alert__toggle[aria-expanded=false]:before {
    transform: rotate(90deg)
}

.Alert__close {
    background-color: var(--morning-blue-lt);
    border-radius: 100%
}

.Alert__close:before {
    -webkit-mask-image: url(../assets/close.svg);
    mask-image: url(../assets/close.svg);
    color: var(--navy-blue)
}

.Alert--update .Alert__close {
    background-color: var(--navy-blue)
}

@media (min-width: 64em) {
    .Alert--update .Alert__close {
        top: 2.5rem
    }
}

.Alert--update .Alert__close:before {
    color: var(--white)
}

.Alert__content {
    height: var(--height, auto);
    margin-inline: -1rem;
    padding-inline: 1rem;
    transition: height var(--transition), visibility var(--transition);
    overflow: hidden
}

@media (min-width: 48em) {
    .Alert__content {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: var(--gutter)
    }
}

[aria-expanded=false]+.Alert__content {
    height: var(--height, 0);
    visibility: hidden
}

.Alert__text {
    margin: 0;
    padding-top: .5rem;
    max-width: 730px
}

.Alert__button {
    flex-shrink: 0;
    margin: 0;
    padding-block: 1rem .5rem
}

.Hero {
    position: relative;
    display: flex;
    background-color: var(--white);
    border-bottom: 2px solid var(--blue);
    min-height: 330px
}

.Hero .wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    z-index: 1
}

.Hero .wrapper .t-intro {
    font-family: var(--denton);
    font-weight: 400;
    letter-spacing: 2px
}

.Hero .wrapper .Breadcrumbs {
    margin-top: auto
}

@media (min-width: 64em) {
    .Hero {
        min-height: 290px
    }
}

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

.Hero--image {
    --heading: var(--white);
    --text: var(--white);
    --link: var(--white);
    border: 0;
    background: #0009
}

.Hero--image:before {
    content: " ";
    position: absolute;
    inset: 0;
    background: #0009;
    z-index: 1
}

@media (min-width: 64em) {
    .Hero--image {
        min-height: 480px
    }
}

.Hero__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    z-index: 0
}

.FindProgram {
    display: flex;
    flex-direction: column-reverse;
    position: relative;
    padding-inline: 1rem;
    padding-block: 3.75rem;
    text-align: center;
    color: var(--navy-blue)
}

.FindProgram>div:last-child {
    margin-top: -100px
}

@media (min-width: 64em) {
    .FindProgram {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 3.75rem;
        text-align: left;
        padding-inline: var(--container)
    }

    .FindProgram>div:first-child {
        max-width: 473px
    }

    .FindProgram>div:last-child {
        margin-top: calc(-200px - 3.75rem)
    }

    .FindProgram--minimal .FindProgram>div:last-child {
        margin-top: unset
    }
}

.FindProgram--minimal {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    gap: 0;
    padding-block: 0
}

.FindProgram--minimal>div:first-child {
    max-width: unset;
    width: 100%
}

.FindProgram--minimal>div:last-child {
    margin-top: unset
}

.FindProgram--minimal .FindProgram__card-search {
    width: 100%
}

@media (min-width: 64em) {
    .FindProgram--minimal {
        padding-inline: var(--container-md)
    }

    .FindProgram--minimal .FindProgram__card {
        max-width: 1128px;
        margin-inline: auto;
        margin-bottom: 0
    }
}

.FindProgram__title-desktop {
    display: none;
    visibility: hidden
}

@media (min-width: 64em) {
    .FindProgram__title-desktop {
        display: block;
        visibility: visible
    }
}

@media (min-width: 64em) {
    .FindProgram__title-mobile {
        display: none;
        visibility: hidden
    }
}

.FindProgram__details {
    margin-bottom: 1.625rem
}

@media (min-width: 64em) {
    .FindProgram__details {
        margin-block: 4.5rem
    }
}

.FindProgram__card {
    --heading: var(--navy-blue);
    --link: var(--navy-blue);
    position: relative;
    color: var(--navy-blue);
    padding: 2.5rem 2rem;
    margin-bottom: 2.625rem;
    box-shadow: var(--shadow)
}

.FindProgram__card>* {
    position: relative
}

.FindProgram__card p {
    text-align: left;
    width: 85%
}

.FindProgram__card a {
    display: inline-block;
    font-weight: 600;
    margin-right: 1.5rem;
    margin-bottom: 1rem
}

.FindProgram__card:before {
    content: " ";
    position: absolute;
    inset: 1rem;
    border: 1px var(--navy-blue) dashed
}

@media (min-width: 72em) {
    .FindProgram__card {
        padding: 2.5rem 3.5rem
    }
}

.FindProgram__card-header {
    display: flex;
    flex-direction: column;
    margin-bottom: 2.625rem
}

@media (min-width: 72em) {
    .FindProgram__card-header {
        flex-direction: row;
        align-items: center
    }

    .FindProgram__card-header p {
        padding-left: 2rem;
        margin: 0;
        flex: 1
    }
}

.FindProgram__card-title {
    font-family: var(--chainprinter);
    font-size: 1.5rem;
    line-height: 1.1;
    font-weight: 400;
    letter-spacing: 2px
}

@media (min-width: 72em) {
    .FindProgram__card-title {
        font-size: 2rem;
        width: 233px;
        border-right: 1px var(--navy-blue) dashed;
        margin: 0
    }
}

.FindProgram__card-search {
    display: flex;
    gap: 1rem;
    border: 1px solid var(--navy-blue);
    padding: .5rem;
    margin-bottom: 2.625rem
}

.FindProgram__card-search input[type=text] {
    flex: 1;
    border: none;
    background: none;
    font-family: var(--denton);
    font-weight: 300;
    font-size: 1rem;
    letter-spacing: 1px;
    padding: .5rem
}

.FindProgram__card-search input[type=text]:focus-visible {
    outline: currentcolor dashed 2px;
    outline-offset: 0;
    background-color: #ffffff1a !important
}

.FindProgram__card-search button[type=submit] {
    display: grid;
    place-items: center;
    aspect-ratio: 1;
    padding-inline: 1rem;
    border: 0;
    background: transparent;
    transition: transform var(--transition)
}

.FindProgram__card-search button[type=submit]:before {
    content: "";
    width: 20px;
    height: 20px;
    background: var(--navy-blue);
    background-repeat: no-repeat;
    -webkit-mask-image: url(../assets/search.svg);
    mask-image: url(../assets/search.svg);
    mask-repeat: none;
    -webkit-mask-repeat: no-repeat
}

.FindProgram__card-search button[type=submit]:hover {
    transform: scale(1.2)
}

@media (min-width: 72em) {
    .FindProgram__card-search {
        width: 80%;
        padding: 1rem
    }

    .FindProgram__card-search input[type=text] {
        font-size: 20px;
        padding: 1rem
    }

    .FindProgram__card-search button[type=submit]:before {
        width: 30px;
        height: 30px
    }
}

.FindProgram__card-badge {
    position: absolute;
    right: -30px;
    top: 65px;
    width: 115px;
    animation-delay: 1s
}

@media (min-width: 72em) {
    .FindProgram__card-badge {
        top: unset;
        right: -60px;
        bottom: -25px;
        width: 187px
    }
}

.ImageSlider {
    --heading: var(--white);
    --text: var(--white);
    --link: var(--white);
    --outline: var(--white);
    color: var(--white);
    background: var(--blue);
    display: flex;
    flex-direction: column;
    gap: 3rem;
    position: relative;
    padding-inline: 1rem;
    padding-block: 3.75rem;
    text-align: center;
    overflow: hidden
}

.ImageSlider .block-header {
    text-align: left
}

@media (min-width: 64em) {
    .ImageSlider {
        text-align: left;
        padding-block: 4.25rem;
        gap: 0
    }

    .ImageSlider .block-header {
        padding-inline: var(--container)
    }
}

@media (min-width: 64em) {
    .ImageSlider.full-width {
        padding-block: 6.25rem;
        padding-inline: var(--container) 0
    }
}

.ImageSlider__cta {
    width: 100%
}

.block-header .ImageSlider__cta {
    display: none;
    visibility: hidden
}

@media (min-width: 64em) {
    .block-header .ImageSlider__cta {
        display: flex;
        visibility: visible;
        flex: 1
    }
}

@media (min-width: 64em) {
    .ImageSlider__slider .ImageSlider__cta {
        display: none;
        visibility: hidden
    }
}

.ImageSlider__details .Button,
.ImageSlider__cta .Button {
    margin-top: 2rem
}

.ImageSlider__slide {
    width: 100%;
    margin-right: 1.5rem
}

.ImageSlider__slide:not(.is-selected) {
    cursor: pointer
}

@media (min-width: 64em) {
    .ImageSlider__slide {
        width: 60%;
        margin-right: 0
    }
}

.ImageSlider__card {
    --heading: var(--blue);
    --link: var(--blue);
    color: var(--navy-blue);
    overflow: hidden;
    width: 100%;
    text-align: left;
    transition: transform var(--transition)
}

.ImageSlider__card-image {
    position: relative;
    z-index: 1;
    border: .5rem solid var(--white)
}

.ImageSlider__card-image:before {
    content: " ";
    position: absolute;
    inset: 0;
    background: #00000080;
    transition: background var(--transition)
}

.is-selected .ImageSlider__card-image:before {
    background: #0000
}

.ImageSlider__card-image img {
    aspect-ratio: 16/9;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.ImageSlider__card-details {
    --text: var(--navy-blue);
    position: relative;
    padding: 1.5rem;
    background: var(--white)
}

.ImageSlider__card-details p {
    font-family: var(--denton);
    font-weight: 300;
    letter-spacing: 1px
}

@media (min-width: 64em) {
    .ImageSlider__card-details {
        transform: translateY(-100%);
        transition: var(--transition);
        transition-delay: .5s
    }

    .is-selected .ImageSlider__card-details {
        transform: translateY(0)
    }
}

.ImageSlider__slider {
    position: relative;
    width: 100%;
    flex: 1
}

.ImageSlider__slider .slider {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    position: relative;
    width: 100%;
    padding-bottom: 5rem
}

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

.ImageSlider__slider .flickity-cell {
    margin-right: 1.5rem
}

.ImageSlider__slider .flickity-button {
    background-color: transparent;
    border: 1px solid var(--white);
    color: var(--white);
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto
}

@media (min-width: 64em) {
    .ImageSlider__slider .flickity-button {
        top: calc(50% - 3rem);
        left: calc(100% - 3rem);
        right: 2rem
    }
}

.ImageSlider__slider .flickity-button.previous {
    right: 7rem
}

@media (min-width: 64em) {
    .ImageSlider__slider .flickity-button.previous {
        right: 100%;
        left: 3rem
    }
}

.ImageSlider__slider .flickity-button:hover {
    background-color: var(--white)
}

.ImageSlider__slider .flickity-button:hover:before {
    background: var(--blue)
}

.ImageSlider__slider .flickity-status {
    left: 8rem;
    right: 0;
    bottom: .5rem
}

@media (min-width: 64em) {
    .ImageSlider__slider .flickity-status {
        left: 0
    }
}

@media (min-width: 64em) {
    .ImageSlider__slider {
        padding-bottom: 0
    }

    .ImageSlider__slider .slider {
        padding: 3rem 0 4rem 1rem
    }

    .ImageSlider__slider .flickity-button {
        left: unset;
        bottom: 6rem
    }
}

.ImageSlider__badge {
    position: absolute;
    left: -135px;
    top: -60px;
    width: 222px;
    z-index: -1;
    animation-delay: 1s
}

.ImageSlider__background {
    position: absolute;
    inset: 0;
    z-index: -3
}

.ImageSlider__background img {
    position: relative;
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
    width: 100%;
    transform: scaleX(-1);
    z-index: -5
}

.ImageSlider__background:before {
    content: " ";
    position: absolute;
    inset: 0;
    background: linear-gradient(171.5deg, #000000b3 20.14%, #0000 75.17%), linear-gradient(3.83deg, #151412cc 3.15%, #0000 28.05%)
}

@media (min-width: 64em) {
    .ImageSlider__background:before {
        background: linear-gradient(100.21deg, #0006 7.95%, #0000 43.85%), linear-gradient(3.83deg, #151412cc 19.47%, #0000 96.75%)
    }
}

.Stats {
    padding: var(--space-sm) var(--container);
    overflow: hidden;
    background: var(--background);
    --background: linear-gradient(0deg, rgba(0, 0, 0, .2) 0%, rgba(0, 0, 0, 0) 40.46%), linear-gradient(180deg, rgba(0, 0, 0, .2) 0%, rgba(0, 0, 0, 0) 42.74%), #2F594C
}

@media (min-width: 48em) {
    .Stats {
        padding: var(--space) var(--container)
    }
}

.Stats--alt {
    --background: var(--white);
    padding: var(--space-sm) 0 0
}

.Stats--alt .block-header {
    --heading: var(--blue);
    --text: var(--navy-blue);
    padding-inline: var(--container)
}

@media (min-width: 48em) {
    .Stats--alt {
        padding: var(--space) 0 0
    }
}

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

.Stats__main .flickity-status {
    color: var(--navy-blue);
    left: 8rem;
    right: 0;
    bottom: -3rem;
    z-index: 2
}

@media (min-width: 48em) {
    .Stats__main .flickity-status {
        display: none
    }
}

.Stats__grid {
    position: relative;
    display: grid;
    gap: var(--space-sm);
    margin-top: var(--space-sm)
}

.Stats--alt .Stats__grid {
    display: block;
    position: relative;
    background: var(--black);
    gap: 0;
    z-index: 2
}

.Stats--alt .Stats__grid:before {
    content: " ";
    position: absolute;
    inset: 0;
    background: #00000073;
    z-index: 1
}

.Stats--alt .Stats__grid:after {
    content: "flickity";
    display: none
}

.Stats--alt .Stats__grid img {
    position: absolute;
    inset: 0;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.Stats--alt .Stats__grid .flickity-viewport {
    z-index: 2
}

.Stats--alt .Stats__grid .flickity-cell {
    margin-right: 2rem
}

.Stats--alt .Stats__grid .flickity-button {
    --text: var(--navy-blue);
    left: 0;
    right: 0;
    bottom: -3.5rem;
    margin: 0 auto;
    border: 1px solid var(--navy-blue)
}

.Stats--alt .Stats__grid .flickity-button.previous {
    right: 7rem
}

.Stats--alt .Stats__grid .flickity-button:hover {
    background: url(../assets/slider-arrow-navy.svg) center no-repeat;
    background-size: 12px
}

@media (min-width: 48em) {
    .Stats__grid {
        grid-template-columns: 1fr 1fr 1fr
    }

    .Stats--alt .Stats__grid {
        display: grid
    }

    .Stats--alt .Stats__grid:after {
        content: ""
    }
}

.Stats__item {
    position: relative;
    z-index: 1;
    text-decoration: none;
    width: 100%;
    transition: var(--transition);
    border-bottom: 1px dashed white;
    padding-bottom: var(--space-sm);
    text-align: center
}

.Stats__item:last-of-type {
    border: none
}

.Stats--alt .Stats__item {
    min-height: 350px;
    padding: 90px 1rem;
    transition: none;
    position: absolute;
    border-bottom: 0
}

@media (min-width: 48em) {
    .Stats__item {
        max-width: 42rem;
        margin-inline: auto;
        border-right: 1px dashed white;
        border-bottom: none;
        padding-bottom: 0;
        text-align: left;
        padding-right: var(--space-sm)
    }

    .Stats__item:last-of-type {
        border: none
    }

    .Stats--alt .Stats__item {
        position: relative;
        display: flex;
        align-items: flex-end;
        min-height: 650px;
        padding: 60px
    }
}

@media (min-width: 64em) {
    .Stats--alt .Stats__item {
        padding: 90px
    }
}

.Stats__value {
    font-size: 32px;
    font-weight: 600
}

.Stats__item--alt .Stats__value,
.Stats__value span {
    font-size: 74px
}

.Stats__content {
    margin-inline: auto
}

@media (min-width: 64em) {

    .image--left,
    .image--right {
        max-width: calc(50% - 5.5rem)
    }
}

@media (min-width: 64em) {

    .image--left.image--narrow,
    .image--right.image--narrow {
        max-width: calc(50% - 6rem)
    }
}

@media (min-width: 64em) {
    .image--left {
        margin: 0 40px 25px 0;
        float: left
    }
}

@media (min-width: 64em) {
    .image--right {
        margin: 0 0 25px 40px;
        float: right
    }
}

.image__caption {
    margin-top: 15px;
    font-size: 14px;
    font-weight: 300;
    line-height: 21px;
    font-family: var(--denton);
    letter-spacing: 1px;
    color: var(--blue)
}

.floatet-image img {
    cursor: pointer;
    transition: .3s
}

.floatet-image img:hover {
    opacity: .7
}

.Button {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    text-transform: capitalize;
    font-size: .9rem;
    font-weight: 600;
    background: var(--navy-blue);
    border: 1px solid transparent;
    width: 100%;
    padding: .75rem 2.5rem;
    overflow: hidden;
    transition: var(--transition);
    color: var(--white);
    z-index: 1
}

.Button span {
    transition: var(--transition)
}

.Button:hover,
.Button:hover span {
    color: var(--white)
}

@media (min-width: 64em) {
    .Button {
        background: transparent;
        border-color: var(--blue);
        width: auto;
        color: var(--navy-blue)
    }
}

@media (min-width: 64em) {
    .Button:before {
        content: "";
        background: var(--blue);
        position: absolute;
        inset: 0;
        scale: 0 1;
        transform-origin: 100% 50%;
        transition: scale .2s ease-in-out;
        pointer-events: none;
        z-index: -1
    }
}

.Button:is(:hover):before {
    scale: 1 1;
    transform-origin: 0 50%
}

.Button--alt {
    background: var(--white);
    border-color: var(--white);
    color: var(--navy-blue)
}

@media (min-width: 64em) {
    .Button--alt:before {
        background: var(--white)
    }
}

.Button--alt:hover,
.Button--alt:hover span {
    color: var(--navy-blue)
}

.Button--alt:hover:before {
    background: var(--white);
    transition: scale .2s ease-in-out
}

@media (min-width: 64em) {
    .Button--alt {
        background: transparent;
        border-color: var(--white);
        color: var(--white)
    }
}

@media (min-width: 64em) {
    [data-scroll=up] .main__sidebar {
        top: 100px;
        max-height: calc(100vh - 100px)
    }
}

.main__sidebar {
    width: 100%
}

.main__sidebar .sidebar-widgets {
    display: none;
    padding: 0
}

@media (min-width: 64em) {
    .main__sidebar {
        border: none;
        width: 325px;
        position: sticky;
        position: -webkit-sticky;
        top: 100px;
        transition: all var(--transition);
        max-height: calc(100vh - 100px);
        overflow: auto;
        padding: 0 10px 50px;
        margin-left: -10px
    }

    .main__sidebar::-webkit-scrollbar {
        width: 5px;
        border-radius: 4px
    }

    .main__sidebar::-webkit-scrollbar-track {
        background: var(--white);
        border-radius: 4px;
        box-shadow: inset 0 0 5px gray
    }

    .main__sidebar::-webkit-scrollbar-thumb {
        background: var(--blue);
        border-radius: 4px
    }

    .main__sidebar::-webkit-scrollbar-thumb:hover {
        background: var(--blue);
        border-radius: 4px
    }

    .main__sidebar.with-scroll:after {
        position: absolute;
        content: "";
        bottom: 0;
        left: 0;
        width: 100%;
        height: 60%;
        background: #fff;
        background: linear-gradient(180deg, #fff0, #ffffffd3 47%, #fff);
        transition: all var(--transition);
        z-index: 5
    }

    .main__sidebar.with-scroll .overlay {
        position: absolute;
        content: "";
        bottom: 0;
        left: 0;
        width: 100%;
        height: 60%;
        z-index: 9
    }

    .main__sidebar.with-scroll:before {
        position: absolute;
        content: "Scroll For More";
        bottom: 135px;
        left: 0;
        width: 100%;
        text-align: center;
        padding-bottom: 30px;
        background: url(../assets/sidebar-down.svg) no-repeat center bottom;
        color: var(--blue);
        font-size: 20px;
        font-weight: 600;
        z-index: 6;
        transition: all var(--transition)
    }

    .main__sidebar.with-scroll.scrolled .overlay,
    .main__sidebar.with-scroll.scrolled:after,
    .main__sidebar.with-scroll.scrolled:before {
        opacity: 0;
        visibility: hidden
    }

    .main__sidebar .sidebar-widgets {
        display: block
    }
}

.Subnav--full {
    --text: var(--white);
    background: var(--blue);
    color: var(--white);
    padding: 1rem var(--container-md)
}

@media (min-width: 64em) {
    .Subnav--full {
        --heading: var(--white);
        --link: var(--white);
        padding: var(--space) var(--container-md)
    }
}

.Subnav--widget {
    padding: 2rem 0
}

@media (min-width: 64em) {
    .Subnav--widget {
        padding: 0
    }
}

.Subnav__heading {
    display: none
}

@media (min-width: 64em) {
    .Subnav__heading {
        display: block;
        margin-top: 0
    }
}

@media (min-width: 64em) {
    .Subnav--hero .Subnav__heading {
        font: var(--h4);
        font-family: var(--chainprinter);
        letter-spacing: .5px;
        margin-block: 0 2rem
    }

    .DepartmentHero--image .Subnav--hero .Subnav__heading {
        margin-block: 4rem 2rem
    }
}

@media (min-width: 64em) {
    .Subnav--full .Subnav__heading {
        font: var(--h4);
        font-family: var(--chainprinter);
        text-transform: uppercase;
        letter-spacing: .5px
    }
}

@media (min-width: 64em) {
    .Subnav--widget .Subnav__heading {
        --heading: var(--navy-blue);
        font-family: var(--chainprinter);
        font-weight: 600;
        font-size: 1rem;
        letter-spacing: normal;
        text-transform: uppercase
    }
}

.Subnav__toggle {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
    font-weight: 600;
    text-transform: uppercase;
    border: 0;
    padding: 1rem 0;
    background: transparent;
    text-align: left
}

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

.Subnav__toggle:after {
    content: "";
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    background: var(--navy-blue)
}

.Subnav__toggle:after {
    position: relative;
    right: 1.2rem;
    margin-left: auto;
    width: 8px;
    height: 13px;
    transform: rotate(-90deg);
    transition: transform var(--transition);
    -webkit-mask-image: url(../assets/chevron-right.svg);
    mask-image: url(../assets/chevron-right.svg)
}

.Subnav--hero .Subnav__toggle:after,
.Subnav--full .Subnav__toggle:after {
    background: var(--white)
}

@media (min-width: 64em) {
    .Subnav__toggle:after {
        right: 0
    }
}

.Subnav__toggle:hover:after {
    transform: rotate(-90deg) translate(.25rem)
}

.Subnav__toggle[aria-expanded=false]:after {
    transform: rotate(90deg)
}

.Subnav__toggle[aria-expanded=false]:hover:after {
    transform: rotate(90deg) translate(.25rem)
}

.Subnav__list {
    margin: 0;
    padding: 0;
    font-weight: 600
}

@media (max-width: 63.999em) {
    .Subnav__list {
        --link: var(--white);
        height: var(--height, auto);
        transition: height var(--transition), visibility var(--transition);
        overflow: hidden
    }

    [aria-expanded=false]+.Subnav__list {
        height: var(--height, 0);
        visibility: hidden
    }
}

.Subnav__list>li {
    position: relative
}

@media (max-width: 63.999em) {
    .Subnav__list>li {
        padding-block: .5rem
    }

    .Subnav__list>li:last-child {
        margin-bottom: 2rem
    }
}

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

.Subnav__list [aria-expanded=false]+ul {
    height: var(--height, 0);
    visibility: hidden
}

.Subnav__list ul li {
    margin-top: .5rem
}

.Subnav__list .Subnav__active>span {
    font-weight: 800;
    color: var(--blue)
}

@media (min-width: 64em) {

    .Subnav--hero .Subnav__list,
    .Subnav--full .Subnav__list {
        display: grid;
        gap: 1rem 4rem;
        grid-template-columns: 1fr 1fr 1fr
    }

    .Subnav--hero .Subnav__list>li,
    .Subnav--full .Subnav__list>li {
        display: grid;
        place-items: flex-end flex-start;
        padding-top: 1rem;
        border-bottom: 1px dashed var(--white)
    }

    .Subnav--hero .Subnav__list>li a,
    .Subnav--full .Subnav__list>li a {
        position: relative;
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: flex-end;
        gap: .75rem;
        text-decoration: none;
        padding-block: 1rem
    }

    .Subnav--hero .Subnav__list>li a:after,
    .Subnav--full .Subnav__list>li a:after {
        content: "";
        position: relative;
        width: 1rem;
        height: .5rem;
        background: var(--white);
        -webkit-mask-image: url(../assets/arrow-long.svg);
        mask-image: url(../assets/arrow-long.svg);
        opacity: 0;
        right: .75rem;
        bottom: .5rem;
        transition: var(--transition)
    }

    .Subnav--hero .Subnav__list>li a:hover:after,
    .Subnav--full .Subnav__list>li a:hover:after {
        right: 0;
        opacity: 1
    }
}

@media (min-width: 64em) {
    .Subnav--hero .Subnav__list {
        gap: 1rem;
        grid-template-columns: 1fr 1fr
    }

    .Subnav--hero .Subnav__list>li {
        padding-top: 0
    }

    .Subnav--hero .Subnav__list>li a {
        padding-top: 0
    }
}

.Subnav--widget .Subnav__list {
    --link: var(--navy-blue)
}

.Subnav--widget .Subnav__list>li {
    padding: .5rem 3rem .5rem 0;
    border-bottom: 1px dashed var(--navy-blue)
}

.Subnav--widget .Subnav__list>li a {
    text-decoration: none
}

.Subnav--widget .Subnav__list ul li:first-child {
    padding-top: .5rem
}

.Subnav--widget .Subnav__list ul li:last-child {
    padding-bottom: .5rem
}

@media (min-width: 64em) {
    .Subnav--widget .Subnav__list>li {
        border: none;
        border-top: 1px dashed var(--navy-blue)
    }

    .Subnav--widget .Subnav__list>li:first-child {
        border-top: none
    }
}

.Subnav__sub-toggle {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: .25rem;
    right: .5rem;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0;
    background: transparent
}

.Subnav__sub-toggle:after {
    content: "";
    display: block;
    width: 8px;
    height: 13px;
    transform: rotate(-90deg);
    transition: transform var(--transition);
    background: var(--navy-blue);
    -webkit-mask-image: url(../assets/chevron-right.svg);
    mask-image: url(../assets/chevron-right.svg)
}

.Subnav__sub-toggle:hover:after {
    transform: rotate(-90deg) translate(.25rem)
}

.Subnav__sub-toggle[aria-expanded=false]:after {
    transform: rotate(90deg)
}

.Subnav__sub-toggle[aria-expanded=false]:hover:after {
    transform: rotate(90deg) translate(.25rem)
}

.Pagination {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: 3rem 0
}

.Pagination a:hover {
    background: var(--blue);
    color: var(--white)
}

.Pagination button:disabled {
    background: var(--blue-20);
    border-color: transparent;
    cursor: not-allowed
}

.Pagination button:disabled:after {
    background: var(--blue)
}

.Pagination button:not([disabled]):hover {
    background: var(--blue-90);
    color: var(--white)
}

.Pagination__item {
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 1px;
    padding: 0;
    border: 1px solid var(--navy-blue);
    background: none;
    text-decoration: none;
    transition: var(--transition)
}

.Pagination__item--prev,
.Pagination__item--next {
    position: relative;
    background: #002d72;
    color: var(--white)
}

.Pagination__item--prev:after {
    content: "";
    flex-shrink: 0;
    width: 6px;
    height: 12px;
    transform: rotate(180deg);
    transition: transform var(--transition);
    background: var(--white);
    -webkit-mask-image: url(../assets/chevron-right.svg);
    mask-image: url(../assets/chevron-right.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

.Pagination__item--next:after {
    content: "";
    flex-shrink: 0;
    width: 6px;
    height: 12px;
    transition: transform var(--transition);
    background: var(--white);
    -webkit-mask-image: url(../assets/chevron-right.svg);
    mask-image: url(../assets/chevron-right.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

.Pagination__item--active {
    border: none
}

.Cards {
    margin-block: var(--space-sm);
    padding-inline: var(--container)
}

.Cards.theme-blue {
    margin-block: 0;
    padding-block: var(--space-sm);
    background: var(--background)
}

@media (min-width: 64em) {
    .Cards {
        margin-block: var(--space)
    }

    .Cards.theme-blue {
        padding-block: var(--space)
    }

    .Cards.Cards--alt {
        margin-block: var(--space-sm)
    }
}

.Cards--inset {
    padding: 0
}

.Cards__grid {
    display: grid;
    gap: var(--space-sm) var(--gutter)
}

.Cards--alt .Cards__grid {
    gap: var(--space-sm) var(--space-sm)
}

.Cards--alt .Cards__grid .Cards__image {
    aspect-ratio: 3/2
}

.Cards--alt .Cards__grid .Cards__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (min-width: 48em) {
    .Cards__grid {
        grid-template-columns: 1fr 1fr
    }
}

@media (min-width: 64em) {
    .Cards__grid {
        grid-template-columns: 1fr 1fr 1fr
    }
}

@media (min-width: 48em) {
    .Cards--inset .Cards__grid {
        grid-template-columns: 1fr 1fr
    }
}

.Cards__item {
    --heading: var(--blue);
    --link: var(--blue);
    --text: var(--navy-blue);
    background: var(--white);
    box-shadow: var(--shadow)
}

.theme-blue .Cards__item,
.Cards--alt .Cards__item {
    box-shadow: none
}

.Cards__content {
    padding: 1.5rem 2rem
}

.Cards--alt .Cards__content {
    padding: .5rem 0
}

.Cards__image {
    border: 6px solid var(--white)
}

.Cards--alt .Cards__image {
    position: relative;
    border: 2px solid var(--navy-blue)
}

.Cards--alt .Cards__image:before {
    position: absolute;
    inset: 0;
    content: " ";
    border: 4px solid var(--white)
}

.Cards__title {
    font: var(--h4);
    letter-spacing: normal
}

.TestimonialSlider {
    background: var(--background)
}

.TestimonialSlider svg {
    color: var(--background)
}

.TestimonialSlider.theme-daybreak .TestimonialSlider__details .BlockQuote__text {
    border-left: 1px dashed var(--blue)
}

.TestimonialSlider.theme-daybreak .flickity-button {
    border-color: var(--blue);
    background-color: transparent
}

.TestimonialSlider.theme-daybreak .flickity-button:before {
    background: var(--blue)
}

.TestimonialSlider.theme-daybreak .flickity-button:hover {
    background-color: var(--blue)
}

.TestimonialSlider.theme-daybreak .flickity-button:hover:before {
    background: var(--white)
}

.TestimonialSlider.theme-daybreak .flickity-status {
    color: var(--blue)
}

.TestimonialSlider.theme-topographic .TestimonialSlider__details .BlockQuote__text {
    border-left: 1px dashed var(--blue)
}

.TestimonialSlider.theme-topographic .flickity-button {
    border-color: var(--blue);
    background-color: transparent
}

.TestimonialSlider.theme-topographic .flickity-button:before {
    background: var(--blue)
}

.TestimonialSlider.theme-topographic .flickity-button:hover {
    background-color: var(--blue)
}

.TestimonialSlider.theme-topographic .flickity-button:hover:before {
    background: var(--white)
}

.TestimonialSlider.theme-topographic .flickity-status {
    color: var(--blue)
}

@media (min-width: 64em) {
    .TestimonialSlider:not(.TestimonialSlider--inset) .flickity-button {
        top: 50%;
        left: calc(100% - 3rem)
    }

    .TestimonialSlider:not(.TestimonialSlider--inset) .flickity-button.previous {
        right: 100%;
        left: 0
    }

    .TestimonialSlider:not(.TestimonialSlider--inset) .flickity-status {
        left: 5.5rem
    }
}

.TestimonialSlider__heading {
    margin-block: 0 1.5rem
}

.TestimonialSlider__cta {
    width: 100%
}

.block-header .TestimonialSlider__cta {
    display: none;
    visibility: hidden
}

@media (min-width: 64em) {
    .block-header .TestimonialSlider__cta {
        display: flex;
        visibility: visible;
        flex: 1
    }
}

@media (min-width: 64em) {
    .TestimonialSlider__slider .TestimonialSlider__cta {
        display: none;
        visibility: hidden
    }
}

.TestimonialSlider--inset {
    padding: var(--space-sm)
}

.TestimonialSlider__item {
    display: flex;
    flex-direction: column-reverse;
    width: 100%
}

@media (min-width: 64em) {
    .TestimonialSlider__item {
        flex-direction: row;
        align-items: center
    }

    .TestimonialSlider--inset .TestimonialSlider__item {
        flex-direction: column-reverse;
        justify-content: center;
        align-items: unset
    }
}

@media (min-width: 80em) {
    .TestimonialSlider--inset .TestimonialSlider__item {
        flex-direction: row;
        align-items: center
    }
}

.TestimonialSlider__image {
    position: relative;
    max-width: 386px;
    flex: 1;
    border: 6px solid var(--white)
}

.TestimonialSlider__image img {
    -o-object-fit: cover;
    object-fit: cover
}

.TestimonialSlider--inset .TestimonialSlider__image {
    max-width: 300px
}

.TestimonialSlider__details {
    color: var(--navy-blue);
    min-height: 200px;
    padding-top: 1.5rem;
    flex: 1
}

.TestimonialSlider__details .BlockQuote__text {
    border-left: 1px dashed var(--white);
    padding-left: 2rem
}

@media (min-width: 64em) {
    .TestimonialSlider__details {
        min-height: 160px;
        padding-block: 0;
        padding-inline: 1.5rem
    }
}

.TestimonialSlider__slider {
    position: relative;
    width: 100%;
    flex: 1
}

.TestimonialSlider__slider .slider {
    display: flex;
    flex-direction: column-reverse;
    position: relative;
    width: 100%;
    padding-bottom: 5rem;
    overflow: visible
}

@media (min-width: 64em) {
    .TestimonialSlider__slider .slider {
        padding-bottom: 1rem
    }

    .TestimonialSlider--inset .TestimonialSlider__slider .slider {
        padding-bottom: 3rem
    }
}

.TestimonialSlider__slider .flickity-viewport {
    overflow: hidden;
    width: 100%
}

.TestimonialSlider__slider .flickity-cell {
    margin-right: 2rem
}

@media (min-width: 64em) {
    .TestimonialSlider__slider .flickity-cell {
        padding-inline: 4rem
    }

    .TestimonialSlider--inset .TestimonialSlider__slider .flickity-cell {
        padding-inline: 0
    }
}

.TestimonialSlider__slider .flickity-button {
    background-color: transparent;
    border: 1px solid var(--white);
    color: var(--white);
    left: 0;
    right: 0;
    bottom: .5rem;
    margin: 0 auto
}

@media (min-width: 64em) {
    .TestimonialSlider__slider .flickity-button {
        margin: 0;
        left: 9rem
    }

    .TestimonialSlider--inset .TestimonialSlider__slider .flickity-button {
        margin: 0 auto;
        left: 0
    }
}

@media (min-width: 80em) {
    .TestimonialSlider--inset .TestimonialSlider__slider .flickity-button {
        margin: 0;
        left: 5rem
    }
}

.TestimonialSlider__slider .flickity-button.previous {
    right: 7rem
}

@media (min-width: 64em) {
    .TestimonialSlider__slider .flickity-button.previous {
        left: 5.5rem
    }

    .TestimonialSlider--inset .TestimonialSlider__slider .flickity-button.previous {
        left: 0
    }
}

@media (min-width: 80em) {
    .TestimonialSlider--inset .TestimonialSlider__slider .flickity-button.previous {
        left: 1.5rem
    }
}

.TestimonialSlider__slider .flickity-button:hover {
    background-color: var(--white)
}

.TestimonialSlider__slider .flickity-button:hover:before {
    background: var(--navy-blue)
}

.TestimonialSlider__slider .flickity-status {
    left: 8rem;
    right: 0;
    bottom: 1rem
}

@media (min-width: 64em) {
    .TestimonialSlider__slider .flickity-status {
        left: 13.5rem;
        right: unset;
        bottom: -1rem
    }

    .TestimonialSlider--inset .TestimonialSlider__slider .flickity-status {
        left: 8rem;
        right: 0;
        bottom: 1rem
    }
}

@media (min-width: 80em) {
    .TestimonialSlider--inset .TestimonialSlider__slider .flickity-status {
        left: 9rem;
        right: unset
    }
}

.Router {
    display: grid;
    gap: 2rem 1rem;
    margin-block: 2rem;
    padding: 0;
    list-style: none
}

@media (min-width: 48em) {
    .Router--split {
        grid-template-columns: 1fr 1fr
    }
}

@media (min-width: 48em) {
    .Router--thirds {
        grid-template-columns: 1fr 1fr
    }
}

@media (min-width: 64em) {
    .Router--thirds {
        grid-template-columns: 1fr 1fr 1fr
    }
}

.Router__link {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    text-decoration: none;
    border-bottom: .5px solid #002D7235;
    transition: var(--transition)
}

.Router__link:hover {
    border-color: var(--blue)
}

.Router__link--blue {
    border-bottom: .5px solid var(--white)
}

.Router__link--blue:hover {
    border-color: var(--white)
}

.Router__icon {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 1rem;
    margin-left: -1rem;
    height: .5rem;
    transform: translate(-1rem);
    transition: transform var(--transition), opacity var(--transition), margin-left var(--transition), border-color var(--transition);
    opacity: 0
}

.Router__icon:before {
    content: "";
    width: 1rem;
    height: .5rem;
    background: var(--link);
    -webkit-mask-image: url(../assets/arrow-long.svg);
    mask-image: url(../assets/arrow-long.svg)
}

.Router__link--blue .Router__icon:before {
    background: var(--white)
}

.Router__link:hover .Router__icon {
    transform: none;
    opacity: 1;
    margin-left: 1rem
}

.Feature {
    display: grid;
    align-items: center;
    background: var(--background, var(--white));
    color: var(--text);
    padding-inline: 1rem;
    margin-block: var(--space-sm)
}

.Feature.theme-blue,
.Feature.theme-evergreen,
.Feature.theme-daybreak,
.Feature.theme-evening {
    padding-block: var(--space-sm);
    margin-block: 0
}

.FeatureCarousel .Feature {
    margin-bottom: 0;
    padding-bottom: 8rem
}

@media (min-width: 64em) {
    .FeatureCarousel .Feature {
        padding-bottom: var(--space)
    }
}

@media (min-width: 64em) {
    .Feature {
        gap: 8rem;
        grid-template-columns: 1fr 1fr;
        margin-block: var(--space);
        padding-inline: var(--container);
        padding-block: 0
    }

    .Feature .Feature__heading {
        display: none;
        visibility: hidden
    }

    .FeatureCarousel .Feature {
        margin-block: 0;
        padding-top: var(--space);
        padding-inline: calc(var(--container) + 4rem);
        padding-bottom: 8rem !important;
        gap: 3rem
    }

    .Feature.theme-blue,
    .Feature.theme-evergreen,
    .Feature.theme-daybreak,
    .Feature.theme-evening {
        padding: var(--space) calc(var(--container) + 4rem);
        margin-block: 0
    }
}

.Feature--inset {
    margin-block: var(--space-sm);
    padding: 0
}

.Feature--inset.theme-blue,
.Feature--inset.theme-evergreen,
.Feature--inset.theme-daybreak,
.Feature--inset.theme-evening {
    padding: var(--space-sm) 1rem;
    margin-inline: -1rem
}

.FeatureCarousel .Feature--inset.theme-blue,
.FeatureCarousel .Feature--inset.theme-evergreen,
.FeatureCarousel .Feature--inset.theme-daybreak,
.FeatureCarousel .Feature--inset.theme-evening {
    margin-inline: 0
}

@media (min-width: 80em) {

    .Feature--inset.theme-blue,
    .Feature--inset.theme-evergreen,
    .Feature--inset.theme-daybreak,
    .Feature--inset.theme-evening {
        margin-inline: 0;
        padding: var(--gutter)
    }
}

@media (min-width: 64em) {
    .Feature--inset {
        gap: 0;
        padding: 0
    }

    .FeatureCarousel .Feature--inset {
        grid-template-columns: unset
    }
}

@media (min-width: 80em) {
    .FeatureCarousel .Feature--inset {
        grid-template-columns: 1fr 1fr
    }
}

.Feature__image {
    --feature-image-border-color: var(--white);
    border: 6px solid var(--feature-image-border-color)
}

.Feature__image:not(.theme-blue .Feature__image):not(.theme-evergreen .Feature__image):not(.theme-evening .Feature__image) {
    --feature-image-border-color: var(--blue)
}

.Feature--highlight .Feature__image {
    position: relative
}

.Feature--highlight .Feature__image:before {
    display: block;
    position: absolute;
    content: " ";
    height: 4.5rem;
    width: 100%;
    background-image: url(../assets/highlight.png);
    background-position: left bottom;
    background-size: auto 100%;
    bottom: -2.5rem
}

.Feature__content {
    position: relative
}

.Feature__content .Feature__heading {
    display: none;
    visibility: hidden
}

@media (min-width: 64em) {
    .Feature__content {
        align-self: center;
        width: 100%;
        max-width: 45rem;
        padding: 0 var(--gutter)
    }

    .Feature__content .Feature__heading {
        display: block;
        visibility: visible;
        margin-bottom: 1.5rem
    }
}

@media (min-width: 64em) {
    .Feature--flip .Feature__content {
        order: -1;
        margin-left: auto
    }
}

.Feature__details {
    margin-block: 2rem
}

.Feature__details--border {
    border-left: 1px dashed var(--border, var(--navy-blue));
    padding-inline: 2rem 0
}

@media (min-width: 64em) {
    .Feature__interior {
        margin-inline: auto
    }
}

.Feature__link {
    position: relative;
    padding-left: 1.25em
}

.Feature__link:before {
    content: "";
    position: absolute;
    top: -.125em;
    left: -.5em;
    width: 1.75em;
    height: 1.75em;
    background: var(--gold);
    -webkit-mask-image: url(../assets/chevron-right.svg);
    mask-image: url(../assets/chevron-right.svg)
}

.Feature__button .Button {
    width: 100%
}

.FeatureCarousel {
    position: relative
}

.FeatureCarousel:has(.theme-blue) {
    background-color: var(--blue)
}

.FeatureCarousel:has(.theme-evergreen) {
    background-color: var(--evergreen)
}

.FeatureCarousel:has(.theme-daybreak) {
    background-color: var(--daybreak-blue)
}

.FeatureCarousel:has(.theme-evening) {
    background-color: var(--evening-blue)
}

.FeatureCarousel:has(.theme-evergreen, .theme-blue, .theme-daybreak, .theme-evening) .flickity-button {
    bottom: var(--space-sm)
}

.FeatureCarousel:has(.theme-evergreen, .theme-blue, .theme-daybreak, .theme-evening) .flickity-status {
    bottom: calc(.5rem + var(--space-sm))
}

.FeatureCarousel:has(.Feature--inset) {
    overflow: hidden
}

.FeatureCarousel .Feature--inset.theme-blue,
.FeatureCarousel .Feature--inset.theme-evergreen,
.FeatureCarousel .Feature--inset.theme-daybreak,
.FeatureCarousel .Feature--inset.theme-evening {
    padding-block: var(--space-sm) 8rem
}

@media (min-width: 80em) {

    .FeatureCarousel .Feature--inset.theme-blue,
    .FeatureCarousel .Feature--inset.theme-evergreen,
    .FeatureCarousel .Feature--inset.theme-daybreak,
    .FeatureCarousel .Feature--inset.theme-evening {
        padding-block: var(--space-sm)
    }
}

.FeatureCarousel .flickity-button {
    left: 0;
    right: 0;
    bottom: var(--space-sm);
    margin: 0 auto
}

.FeatureCarousel .flickity-button.previous {
    right: 7rem
}

.FeatureCarousel .flickity-status {
    left: 8rem;
    right: 0;
    bottom: calc(.5rem + var(--space-sm))
}

@media (min-width: 64em) {
    .FeatureCarousel .flickity-button {
        top: calc(50% - 2rem);
        left: unset;
        bottom: unset;
        right: var(--container)
    }

    .FeatureCarousel .flickity-button.previous {
        right: 100%;
        left: var(--container)
    }

    .FeatureCarousel .flickity-status {
        left: 9rem
    }

    .FeatureCarousel:has(.theme-evergreen, .theme-blue, .theme-daybreak, .theme-evening) .flickity-status {
        bottom: var(--space-sm)
    }

    .FeatureCarousel:has(.Feature--inset) .flickity-button {
        left: 0;
        right: 0;
        top: unset;
        bottom: var(--space-sm);
        margin: 0 auto
    }

    .FeatureCarousel:has(.Feature--inset) .flickity-button.previous {
        right: 7rem
    }

    .FeatureCarousel:has(.Feature--inset) .flickity-status {
        left: 8rem;
        right: 0;
        bottom: calc(.5rem + var(--space-sm))
    }
}

@media (min-width: 80em) {
    .FeatureCarousel .Feature--inset {
        padding-inline: 5rem;
        padding-block: var(--space-sm)
    }

    .FeatureCarousel:has(.Feature--inset) .flickity-button {
        top: calc(50% - 4rem);
        left: unset;
        bottom: unset;
        right: var(--container)
    }

    .FeatureCarousel:has(.Feature--inset) .flickity-button.previous {
        right: 100%;
        left: var(--container)
    }

    .FeatureCarousel:has(.Feature--inset) .flickity-status {
        left: 9rem
    }
}

.FeatureCarousel:has(.theme-blue, .theme-evergreen, .theme-evening) .flickity-button {
    border-color: var(--white);
    background-color: transparent
}

.FeatureCarousel:has(.theme-blue, .theme-evergreen, .theme-evening) .flickity-button:before {
    background: var(--white)
}

.FeatureCarousel:has(.theme-blue, .theme-evergreen, .theme-evening) .flickity-button:hover {
    background-color: var(--white)
}

.FeatureCarousel:has(.theme-blue, .theme-evergreen, .theme-evening) .flickity-button:hover:before {
    background: var(--blue)
}

.FeatureCarousel:has(.theme-blue, .theme-evergreen, .theme-evening) .flickity-status {
    color: var(--white)
}

.FeatureCarousel:has(.theme-daybreak) .flickity-button {
    border-color: var(--blue);
    background-color: transparent
}

.FeatureCarousel:has(.theme-daybreak) .flickity-button:before {
    background: var(--blue)
}

.FeatureCarousel:has(.theme-daybreak) .flickity-button:hover {
    background-color: var(--blue)
}

.FeatureCarousel:has(.theme-daybreak) .flickity-button:hover:before {
    background: var(--white)
}

.FeatureCarousel:has(.theme-daybreak) .flickity-status {
    color: var(--blue)
}

.sidebar-widgets {
    margin-top: 0;
    padding: 0 20px;
    width: 100%
}

@media (min-width: 48em) {
    .sidebar-widgets {
        padding: 0 var(--container)
    }
}

@media (min-width: 64em) {
    .sidebar-widgets {
        display: none;
        margin-top: 35px
    }
}

.Widget {
    margin-bottom: 3rem
}

.Widget ul {
    padding: 0;
    list-style: none
}

.Widget li {
    margin-top: .5em
}

.Widget--blue {
    background: var(--blue);
    --heading: var(--white);
    color: var(--white);
    padding: var(--gutter)
}

.Widget--blue a {
    color: inherit
}

.Widget--large {
    min-width: 352px
}

.Widget--card {
    box-shadow: var(--shadow)
}

.Widget--cta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem;
    padding: 0
}

.Widget--cta .Button {
    width: 100%
}

.Widget__label {
    display: block;
    margin-block: 1.5rem;
    font: var(--body)
}

.Widget__input {
    --outline: var(--white);
    display: block;
    width: 100%;
    margin-top: .75rem;
    padding: 1rem;
    border: 0;
    background: var(--white);
    color: var(--black)
}

.Widget__footer {
    margin-top: var(--space-sm);
    text-align: center
}

.content-with-sidebar {
    padding-inline: 1rem;
    padding-bottom: 55px
}

@media (min-width: 64em) {
    .content-with-sidebar {
        padding-inline: var(--container);
        padding-top: 64px;
        display: flex;
        flex-direction: row-reverse;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between
    }
}

.main__content {
    padding: 55px 0 0
}

.main__content.full-width {
    overflow: hidden !important;
    width: 100%
}

.main__content.content-bottom {
    padding-top: 10px
}

@media (min-width: 64em) {
    .main__content {
        padding: 85px 0 0
    }
}

.content-with-sidebar .main__content {
    width: 100%;
    padding: 0
}

.content-with-sidebar .main__content>*:first-child {
    margin-top: 0
}

@media (min-width: 64em) {
    .content-with-sidebar .main__content {
        width: calc(95% - 295px);
        padding-right: 10px;
        margin-right: -10px;
        padding-top: 0;
        padding-bottom: 7px
    }
}

.white-bg .content-with-sidebar .main__content {
    font-size: 14px;
    line-height: 21px
}

.Accordion {
    margin-block: var(--space-sm)
}

.Accordion--stack {
    margin-block: 0
}

.Accordion__heading {
    margin: 0
}

.Accordion__toggle {
    --text: var(--white);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    padding: var(--gutter);
    border: 0;
    background: var(--blue);
    color: var(--text);
    font-size: 20px;
    font-weight: 600;
    text-align: left;
    outline-offset: -.75rem;
    transition: var(--transition)
}

.Accordion__toggle:after {
    content: "";
    width: 1rem;
    height: 25.6px;
    transform: rotate(90deg);
    transition: transform var(--transition);
    background: var(--white);
    -webkit-mask-image: url(../assets/chevron-right.svg);
    mask-image: url(../assets/chevron-right.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

.Accordion__toggle[aria-expanded=true]:after {
    transform: rotate(-90deg)
}

.Accordion__toggle:hover {
    background: var(--blue-90)
}

.Accordion__content {
    display: grid;
    grid-template-rows: 1fr;
    transition: grid-template-rows var(--transition), visibility var(--transition);
    background: var(--gray);
    overflow: hidden;
    margin-top: .25rem
}

[data-expanded=false]+.Accordion__content {
    grid-template-rows: 0fr;
    visibility: hidden
}

.Accordion__wrapper {
    min-height: 0
}

.Accordion__interior {
    padding: var(--gutter) 0
}

@media (min-width: 48em) {
    .Accordion__interior {
        padding: var(--gutter)
    }
}

.Media {
    margin: 0
}

@media (min-width: 48em) {

    .Media--left,
    .Media--right {
        width: calc(50% - 1rem);
        margin-block: 1em
    }
}

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

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

.Media__image {
    display: grid;
    place-items: center;
    position: relative;
    width: 100%;
    aspect-ratio: 16/3
}

.Media__image img {
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
    width: 100%;
    aspect-ratio: 16/9
}

.Media__play {
    --text: var(--white);
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 0;
    right: 0;
    margin-inline: auto;
    width: 45px;
    height: 45px;
    border: 3px solid var(--white);
    border-radius: 100%;
    color: var(--white);
    background: #00000080;
    box-shadow: 0 0 64.9229965209961px #000;
    transition: var(--transition)
}

.Media__play svg {
    margin-left: .5rem;
    width: 40%
}

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

@media (min-width: 48em) {
    .Media__play {
        width: 80px;
        height: 80px;
        border: 5px solid var(--white)
    }
}

.Media__caption {
    --text: var(--blue);
    margin-top: 1.5rem;
    font: var(--small);
    letter-spacing: 1px
}

.BlockQuote {
    margin-block: 3.5rem;
    padding-inline: var(--container);
    text-align: center
}

.BlockQuote svg {
    margin: 0 auto
}

.BlockQuote.theme-blue {
    margin-block: 0;
    padding-block: 3.5rem;
    background: var(--blue)
}

.BlockQuote.theme-blue svg {
    color: var(--blue)
}

.BlockQuote.theme-evergreen {
    margin-block: 0;
    padding-block: 3.5rem;
    background: var(--evergreen)
}

.BlockQuote.theme-evergreen svg {
    color: var(--evergreen)
}

.BlockQuote.theme-evening {
    margin-block: 0;
    padding-block: 3.5rem;
    background: var(--evening-blue)
}

.BlockQuote.theme-evening svg {
    color: var(--evening-blue)
}

.BlockQuote.theme-daybreak {
    margin-block: 0;
    padding-block: 3.5rem;
    background: var(--daybreak-blue)
}

.BlockQuote.theme-daybreak svg {
    color: var(--daybreak-blue)
}

.BlockQuote__interior {
    max-width: 815px;
    margin: 0 auto
}

.BlockQuote__content svg path {
    color: var(--white)
}

.theme-evergreen .BlockQuote__content svg path {
    color: var(--evergreen)
}

.theme-blue .BlockQuote__content svg path {
    color: var(--blue)
}

.theme-evening .BlockQuote__content svg path {
    color: var(--evening-blue)
}

.theme-daybreak .BlockQuote__content svg path {
    color: var(--daybreak-blue)
}

.BlockQuote__text {
    font-family: var(--denton);
    font-size: 1.5rem;
    line-height: 1.3;
    font-style: italic;
    font-weight: 300;
    letter-spacing: 2px;
    max-width: 815px
}

.BlockQuote__meta {
    font-family: var(--montserrat);
    font-size: 14px;
    text-transform: capitalize
}

.BlockQuote__meta cite {
    display: block;
    font-size: 20px;
    font-family: var(--chainprinter);
    font-weight: 700;
    font-style: normal
}

.BlockQuote__meta .Button {
    text-transform: none;
    margin-top: 1rem;
    letter-spacing: 0
}

.NewsCard {
    display: flex;
    flex-direction: column;
    gap: var(--gutter);
    border-top: 5px solid var(--blue)
}

@media (min-width: 48em) {
    .NewsCard {
        flex-direction: row
    }
}

.NewsCard__image {
    flex: 1
}

@media (min-width: 48em) {
    .NewsCard__image {
        max-width: 300px
    }
}

.NewsCard__details {
    display: flex;
    flex-direction: column;
    flex: 1
}

@media (min-width: 48em) {
    .NewsCard__details {
        padding-block: 2rem 0
    }
}

.NewsCard__category {
    font-size: 14px;
    font-weight: 600;
    margin-top: auto;
    padding-top: 2rem;
    border-top: 1px dashed var(--navy-blue)
}

.Panel {
    margin-block: var(--space);
    background: var(--background);
    color: var(--text)
}

.Panel--blue {
    margin-block: 0;
    padding-block: var(--space)
}

.Panel--inset {
    padding: 0
}

.Panel__grid {
    display: grid;
    gap: 4rem 2rem;
    margin-top: 4rem
}

@media (min-width: 48em) {
    .Panel__grid--2 {
        grid-template-columns: 1fr 1fr
    }
}

@media (min-width: 64em) {
    .Panel__grid--3 {
        grid-template-columns: 1fr 1fr 1fr
    }
}

.Panel__item .Button {
    width: 100%
}

.Panel__heading {
    font: var(--h4);
    letter-spacing: normal
}

.Panel--blue .Panel__heading a {
    color: var(--white);
    text-decoration-color: var(--gold)
}

.EventCard {
    display: flex;
    flex-direction: column;
    gap: var(--gutter);
    border-top: 5px solid var(--blue)
}

@media (min-width: 48em) {
    .EventCard {
        flex-direction: row
    }
}

.EventCard__image {
    flex: 1
}

@media (min-width: 48em) {
    .EventCard__image {
        max-width: 300px
    }
}

.EventCard__details {
    display: flex;
    flex-direction: column;
    flex: 1
}

@media (min-width: 48em) {
    .EventCard__details {
        padding-block: 2rem 0
    }
}

.EventCard__datetime {
    margin-top: auto
}

.EventCard__date {
    font-family: var(--chainprinter);
    font-weight: 400;
    font-size: 15px;
    letter-spacing: .5px;
    padding-bottom: .75rem;
    border-bottom: 1px dashed var(--navy-blue)
}

.EventCard__time {
    font-size: 14px;
    font-weight: 600
}

.FacultyCard {
    display: flex;
    flex-direction: column;
    gap: var(--gutter);
    border-top: 5px solid var(--blue)
}

@media (min-width: 48em) {
    .FacultyCard {
        flex-direction: row
    }
}

.FacultyCard__image {
    flex: 1
}

@media (min-width: 48em) {
    .FacultyCard__image {
        max-width: 300px
    }
}

.FacultyCard__details {
    flex: 1
}

@media (min-width: 48em) {
    .FacultyCard__details {
        padding-block: 2rem 0
    }
}

.FacultyCard__title {
    color: var(--navy-blue);
    font-weight: 600
}

.hscroll {
    overflow-x: auto;
    background-image: linear-gradient(to right, #fff, #fff), linear-gradient(to right, #fff, #fff), linear-gradient(to right, #00000040, #fff0), linear-gradient(to left, #00000040, #fff0);
    background-position: left center, right center, left center, right center;
    background-repeat: no-repeat;
    background-color: #fff;
    background-size: 20px 100%, 20px 100%, 10px 100%, 10px 100%;
    background-attachment: local, local, scroll, scroll
}

.c-table table {
    position: relative;
    width: 100%
}

@media (min-width: 48em) {
    .c-table table {
        min-width: auto !important
    }
}

.c-table tr:first-of-type th {
    border-bottom: 4px var(--blue) solid
}

.c-table th {
    font: var(--h5);
    text-transform: uppercase;
    vertical-align: bottom
}

.c-table td {
    vertical-align: top
}

.c-table th,
.c-table td {
    color: var(--black);
    padding: 20px 32px 32px 0;
    text-align: left
}

.c-table tbody tr {
    border-bottom: 1px var(--black) dashed
}

.mcollapse table {
    min-width: 100%
}

.mcollapse table thead {
    display: none
}

@media (min-width: 48em) {
    .mcollapse table thead {
        display: table-header-group
    }
}

@media (max-width: 47.999em) {
    .mcollapse table tr {
        border: none
    }
}

.mcollapse table th,
.mcollapse table td {
    display: block
}

.mcollapse table th:before,
.mcollapse table td:before {
    content: attr(data-label);
    margin-right: 2rem;
    text-align: left
}

@media (min-width: 48em) {

    .mcollapse table th:before,
    .mcollapse table td:before {
        display: none
    }
}

@media (min-width: 48em) {

    .mcollapse table th,
    .mcollapse table td {
        display: table-cell
    }
}

@media (max-width: 47.999em) {
    .mcollapse table td {
        border-bottom: 1px dashed var(--black);
        padding: 20px 0;
        display: grid;
        grid-template-columns: 1fr 1fr
    }

    .mcollapse table td:first-of-type {
        border-top: 4px solid var(--blue)
    }

    .mcollapse table td:last-of-type {
        border: none
    }
}

.Breadcrumbs {
    padding-block: 24px 16px;
    font-size: 14px;
    line-height: 24px;
    color: var(--text, var(--blue))
}

.with-breadcrumbs~.Breadcrumbs {
    display: block
}

@media (min-width: 48em) {
    .with-breadcrumbs~.Breadcrumbs {
        display: none
    }
}

@media (min-width: 48em) {
    .hero-title+.Breadcrumbs {
        padding-left: 50px;
        padding-right: 50px;
        max-width: 1440px;
        margin: 0 auto;
        background: transparent;
        color: var(--blue)
    }

    .hero-title+.Breadcrumbs a {
        color: var(--blue)
    }
}

.Breadcrumbs__separator {
    margin: 0 .2em
}

.DepartmentHero {
    --heading: var(--white);
    --text: var(--white);
    --link: var(--white);
    background: var(--blue);
    position: relative;
    display: flex;
    min-height: 330px;
    padding-block: 2rem
}

.DepartmentHero .wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%
}

.DepartmentHero .wrapper .t-intro {
    font-family: var(--denton);
    font-weight: 400;
    letter-spacing: 2px
}

.DepartmentHero .wrapper .Breadcrumbs {
    margin-top: auto
}

@media (min-width: 64em) {
    .DepartmentHero {
        min-height: 290px;
        padding-block: var(--space)
    }
}

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

@media (min-width: 64em) {
    .DepartmentHero__content {
        flex-direction: row;
        align-items: center;
        gap: 4rem
    }

    .DepartmentHero--image .DepartmentHero__content {
        align-items: flex-start
    }

    .DepartmentHero__content>div:first-child {
        flex: 1.2
    }

    .DepartmentHero__content>div:last-child {
        flex: .8
    }
}

.DepartmentHero__image {
    max-width: 760px;
    width: 100%
}

.CTAPanel {
    --heading: var(--white);
    --text: var(--white);
    background: var(--blue);
    color: var(--white);
    text-align: center;
    max-width: 800px;
    margin: 0 auto
}

.Events--home .CTAPanel {
    margin-block-start: 18rem
}

.Events--home .CTAPanel .Button {
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: .75rem
}

@media (min-width: 64em) {
    .Events--home .CTAPanel {
        margin-block-start: 28rem
    }
}

.CTAPanel__details {
    font-family: var(--denton);
    font-weight: 300;
    letter-spacing: 1px;
    margin-block: 4rem
}

.CTAPanel__line-wrapper {
    height: 60px;
    width: 1px;
    margin: 4rem auto
}

.CTAPanel__line {
    height: 60px;
    width: 1px;
    background: var(--white)
}

.CTAPanel__buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem
}

.CTAPanel__buttons .Button {
    min-width: 210px
}

.Events {
    position: relative;
    padding-inline: var(--container);
    padding-block: 6.25rem;
    background-color: var(--morning-blue-lt);
    overflow: hidden
}

.Events--home {
    background-color: transparent
}

.Events--home:before {
    position: absolute;
    content: " ";
    width: 100%;
    height: 100%;
    z-index: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, var(--blue), var(--blue) 30%, transparent 30%, transparent 100%)
}

@media (min-width: 64em) {
    .Events--home {
        padding-inline: var(--container)
    }
}

.Events--mtn {
    padding-inline: 0
}

.Events--mtn .CTAPanel {
    padding-inline: var(--container)
}

@media (min-width: 64em) {
    .Events--mtn .CTAPanel {
        padding-inline: 0
    }
}

.Events__mtn-back {
    position: absolute;
    bottom: 34.85rem;
    left: 0;
    right: 0;
    width: 100%;
    height: 200px;
    margin-inline: auto;
    z-index: -3;
    overflow: hidden;
    animation-duration: 3s
}

.Events__mtn-back img {
    position: relative;
    -o-object-fit: cover;
    object-fit: cover;
    z-index: -5
}

@media (min-width: 64em) {
    .Events__mtn-back {
        bottom: 34.85rem
    }
}

.Events__mtn-middle {
    position: absolute;
    bottom: 34.85rem;
    left: 0;
    right: 0;
    width: 100%;
    height: 200px;
    margin-inline: auto;
    z-index: -2;
    overflow: hidden;
    animation-duration: 2s
}

.Events__mtn-middle img {
    position: relative;
    -o-object-fit: cover;
    object-fit: cover;
    z-index: -5
}

@media (min-width: 64em) {
    .Events__mtn-middle {
        bottom: 33.85rem
    }
}

.Events__mtn-front {
    position: absolute;
    bottom: 34.85rem;
    left: 0;
    right: 0;
    width: 100%;
    height: 200px;
    margin-inline: auto;
    z-index: -1;
    animation-delay: .1s;
    animation-duration: 1s
}

.Events__mtn-front img {
    position: relative;
    -o-object-fit: cover;
    object-fit: cover;
    z-index: -5
}

.Events__map {
    position: absolute;
    inset: 0;
    width: 100%;
    z-index: -4;
    opacity: .2
}

.Events__map img {
    position: relative;
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
    width: 100%;
    z-index: -5
}

@media (min-width: 64em) {
    .Events__map img {
        min-width: 1600px
    }
}

.Events__background {
    position: absolute;
    inset: 0;
    z-index: -5;
    opacity: .4
}

.Events__background img {
    position: relative;
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
    width: 100%;
    transform: scale(-1);
    z-index: -5
}

.Events__grid-wrapper {
    position: relative
}

.Events__grid {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.5rem
}

@media (min-width: 64em) {
    .Events__grid {
        flex-direction: row
    }
}

.Events__badge {
    position: absolute;
    right: -5%;
    bottom: -10%;
    width: 116px;
    opacity: .9;
    transform: rotate(-16deg);
    animation-delay: 1s
}

@media (min-width: 64em) {
    .Events__badge {
        transform: none;
        right: -10%;
        bottom: -50%;
        width: 222px
    }
}

.Events__card {
    display: flex;
    flex-direction: column;
    background: var(--white);
    flex: 1
}

.Events__card--alt {
    flex-direction: row
}

.Events__card-image {
    margin: -1.5rem -2rem 1rem;
    border: 6px solid var(--white)
}

.Events__card-heading {
    margin: 0 0 3rem
}

.Events__card-date {
    --text: var(--white);
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: var(--blue);
    color: var(--white);
    text-align: center;
    padding: 2rem;
    line-height: 1
}

.Events__card-date>div {
    font-family: var(--chainprinter)
}

.Events__card-date>div span {
    font-family: var(--denton);
    font-size: 64px;
    font-weight: 300;
    line-height: 1.2
}

.Events__card-date>div:nth-child(2):before {
    position: relative;
    display: block;
    content: "-";
    font-family: var(--denton);
    font-size: 64px;
    font-weight: 300;
    line-height: 1;
    transform: rotate(90deg);
    top: -.5rem
}

.Events__card-details {
    display: flex;
    height: 100%;
    flex-direction: column;
    padding: 1.5rem 2rem
}

.Events__card-details .meta {
    margin-top: auto
}

.Events__card-details .meta>div:last-child {
    padding-top: 2rem
}

.Events__card--alt .Events__card-details {
    height: auto;
    padding: 1.75rem 1.25rem
}

.Events__card--alt .Events__card-details .meta>div {
    font-family: var(--chainprinter);
    font-size: 1rem;
    font-weight: 400;
    color: var(--navy-blue);
    letter-spacing: .5px;
    padding-block-start: 1rem;
    margin-top: auto
}

.Events__card--alt .Events__card-details .meta>div:last-child {
    padding-top: 1rem
}

.HeroCarousel {
    --heading: var(--white);
    --text: var(--white);
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    background: var(--black);
    min-height: calc(90dvh - 50px);
    height: 100%;
    padding-block: 3rem 10rem
}

@media (min-width: 64em) {
    .HeroCarousel {
        min-height: calc(90dvh - 150px);
        padding-block: 3rem calc(200px + 4rem)
    }
}

.HeroCarousel__media {
    position: absolute;
    inset: 0;
    background: var(--black)
}

.HeroCarousel__media .flickity-viewport {
    height: 100%;
    width: 100%
}

.HeroCarousel__media .flickity-page-dots {
    position: absolute;
    margin-inline: auto;
    left: 0;
    right: 0;
    bottom: calc(55px + 2.25rem);
    width: -moz-fit-content;
    width: fit-content
}

.HeroCarousel__media .flickity-page-dots .flickity-page-dot {
    display: block;
    background: transparent;
    color: var(--white);
    border: 1px solid var(--white);
    width: 1rem;
    height: 1rem;
    border-radius: 100%
}

.HeroCarousel__media .flickity-page-dots .flickity-page-dot.is-selected {
    --outline: var(--white);
    background: var(--white)
}

@media (min-width: 64em) {
    .HeroCarousel__media .flickity-page-dots {
        left: var(--container);
        bottom: 2.5rem;
        margin-inline: 0
    }
}

.HeroCarousel__image {
    position: relative;
    min-height: calc(90dvh - 50px);
    height: 100%;
    width: 100%
}

.HeroCarousel__image img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    height: 100%;
    width: 100%
}

.HeroCarousel__image:before {
    content: " ";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, #0003, #0003), linear-gradient(52.67deg, #151412b3 1.46%, #0000 26.1%)
}

@media (min-width: 64em) {
    .HeroCarousel__image {
        min-height: calc(90dvh - 150px)
    }
}

.HeroCarousel__content {
    position: relative
}

.HeroCarousel__heading {
    font-family: var(--denton);
    font-weight: 100;
    font-size: clamp(3.375rem, 6.1vw + 2rem, 7.75rem);
    letter-spacing: 4px;
    line-height: 1;
    color: var(--white);
    max-width: 10ch;
    text-align: center;
    text-shadow: 0px 0px 20px rgba(0, 0, 0, .7);
    margin: 0
}

.HeroCarousel__skip {
    position: absolute;
    left: 0;
    right: 4rem;
    bottom: calc(50px + 2.25rem);
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    font-family: var(--chainprinter);
    letter-spacing: .5px;
    color: var(--white)
}

@media (min-width: 64em) {
    .HeroCarousel__skip {
        left: 2rem;
        bottom: 2.25rem;
        margin-inline: 0
    }
}

.TestimonialCardSlider {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    text-align: center;
    position: relative;
    padding-inline: 1rem;
    padding-block: 3.75rem;
    overflow: hidden
}

@media (min-width: 64em) {
    .TestimonialCardSlider {
        flex-direction: row;
        align-items: center;
        text-align: left;
        padding-block: 4.25rem 8.25rem
    }
}

@media (min-width: 64em) {
    .TestimonialCardSlider.full-width {
        padding-inline: var(--container) 0
    }
}

.TestimonialCardSlider__details .Button {
    margin-top: 2rem
}

@media (min-width: 64em) {
    .TestimonialCardSlider__details {
        width: 425px
    }
}

.Testimonial__slide {
    width: 80%;
    margin-right: 2rem
}

.Testimonial__slide:not(.is-selected) {
    cursor: pointer
}

@media (min-width: 37em) {
    .Testimonial__slide {
        width: 45%
    }
}

@media (min-width: 64em) {
    .Testimonial__slide {
        width: 45%
    }

    .Testimonial__slide:nth-child(4n+2),
    .Testimonial__slide:nth-child(4n+4) {
        top: 2rem
    }
}

@media (min-width: 80em) {
    .Testimonial__slide {
        width: 38%
    }
}

.TestimonialCard {
    background: var(--white);
    padding: .5rem;
    width: 100%;
    overflow: hidden;
    box-shadow: var(--shadow)
}

.TestimonialCard__image {
    position: relative
}

.TestimonialCard__image img {
    aspect-ratio: 3/4;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.TestimonialCard__image:before {
    content: " ";
    position: absolute;
    inset: 0;
    background: linear-gradient(332.01deg, #0000004d 21.47%, #0000 48.36%)
}

.running-time {
    position: absolute;
    right: 5rem;
    bottom: 1.9rem;
    font-family: var(--chainprinter);
    font-weight: 400;
    letter-spacing: .5px;
    color: var(--white);
    z-index: 1
}

.TestimonialCard__play {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    width: 50px;
    height: 50px;
    border: 2px solid var(--white);
    border-radius: 100%;
    color: var(--white);
    background: #00000080;
    box-shadow: 0 0 64.9229965209961px #000;
    transition: var(--transition)
}

.TestimonialCard__play svg {
    margin-left: .25rem
}

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

.TestimonialCard__details {
    padding: 1.5rem;
    color: var(--navy-blue);
    min-height: 200px
}

.TestimonialCard__details p {
    font-family: var(--denton);
    font-weight: 300;
    letter-spacing: 1px
}

@media (min-width: 64em) {
    .TestimonialCard__details {
        min-height: 160px
    }
}

.TestimonialCard__title {
    padding-bottom: .5rem;
    border-bottom: 1px dashed var(--navy-blue)
}

.TestimonialCardSlider__slider {
    position: relative;
    width: 100%;
    flex: 1
}

.TestimonialCardSlider__slider .slider {
    position: relative;
    width: 100%;
    padding: 0 0 6rem;
    overflow: hidden
}

.TestimonialCardSlider__slider .flickity-cell {
    margin-right: 2rem
}

.TestimonialCardSlider__slider .flickity-button {
    left: 0;
    right: 0;
    bottom: .5rem;
    margin: 0 auto
}

.TestimonialCardSlider__slider .flickity-button.previous {
    right: 7rem
}

@media (min-width: 64em) {
    .TestimonialCardSlider__slider .flickity-button {
        left: unset;
        right: 6rem
    }

    .TestimonialCardSlider__slider .flickity-button.previous {
        right: 10rem
    }
}

.TestimonialCardSlider__slider .flickity-status {
    left: 8rem;
    right: 0;
    bottom: 1rem
}

@media (min-width: 64em) {
    .TestimonialCardSlider__slider .slider {
        padding: 4rem 0 8rem
    }

    .TestimonialCardSlider__slider .flickity-status {
        left: unset;
        right: 2rem
    }
}

.TestimonialCardSlider__map {
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .4
}

.TestimonialCardSlider__map img {
    position: relative;
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
    width: 100%;
    transform: scaleX(-1);
    z-index: -5
}

.TestimonialCardSlider__background {
    position: absolute;
    inset: 0;
    z-index: -3;
    opacity: .4
}

.TestimonialCardSlider__background img {
    position: relative;
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
    width: 100%;
    transform: scaleX(-1);
    z-index: -5
}

.CTAFeature {
    --heading: var(--white);
    --text: var(--white);
    --link: var(--white);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    color: var(--white);
    background: var(--blue);
    padding-inline: 1rem;
    padding-block: 3.75rem;
    text-align: center;
    background-image: url(../images/grainy.png);
    background-size: 100%
}

.CTAFeature .flush {
    flex: 1
}

@media (min-width: 64em) {
    .CTAFeature.full-width {
        padding-block: 6.25rem;
        padding-inline: var(--container)
    }
}

.CTAFeature__banner {
    display: none;
    visibility: hidden
}

@media (min-width: 64em) {
    .CTAFeature__banner {
        display: block;
        visibility: visible;
        font-size: 1rem;
        font-family: var(--chainprinter);
        letter-spacing: 10px;
        writing-mode: vertical-rl;
        transform: scale(-1)
    }
}

.CTAFeature__banner.CTAFeature__banner--flip {
    transform: none
}

.CTAFeature__details {
    font-weight: 600;
    margin: 3rem auto;
    max-width: 465px
}

.CTAFeature__line-wrapper {
    height: 44px;
    width: 1px;
    margin: 2rem auto
}

.CTAFeature__line {
    height: 44px;
    width: 1px;
    background: var(--white)
}

.CTAFeature__buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem
}

.CTAFeature__buttons .Button {
    min-width: 210px
}

.CardSlider {
    --heading: var(--white);
    --text: var(--white);
    --link: var(--white);
    color: var(--white);
    display: flex;
    flex-direction: column;
    gap: 3rem;
    position: relative;
    padding-inline: 1rem;
    padding-block: 3.75rem;
    text-align: center;
    overflow: hidden
}

@media (min-width: 64em) {
    .CardSlider {
        flex-direction: row;
        align-items: center;
        text-align: left;
        padding-block: 8.25rem
    }
}

@media (min-width: 64em) {
    .CardSlider.full-width {
        padding-block: 6.25rem;
        padding-inline: var(--container) 0
    }
}

.CardSlider__details .Button {
    margin-top: 2rem
}

@media (min-width: 64em) {
    .CardSlider__details {
        width: 360px
    }
}

@media (min-width: 80em) {
    .CardSlider__details {
        width: 445px
    }
}

.CardSlider__card {
    --heading: var(--blue);
    --link: var(--blue);
    color: var(--navy-blue);
    overflow: hidden;
    width: 100%;
    text-align: left;
    margin-right: 1.5rem
}

.CardSlider__card:not(.is-selected) {
    cursor: pointer
}

@media (min-width: 64em) {
    .CardSlider__card {
        width: 67%
    }
}

.CardSlider__card-image {
    position: relative;
    z-index: 1;
    border: .5rem solid var(--white)
}

.CardSlider__card-image img {
    aspect-ratio: 1/1;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.CardSlider__card-image:before {
    content: " ";
    position: absolute;
    inset: 0;
    background: linear-gradient(332.01deg, #0000004d 21.47%, #0000 48.36%)
}

.CardSlider__card-details {
    --text: var(--navy-blue);
    position: relative;
    padding: 1.5rem;
    background: var(--white);
    transform: translateY(-100%);
    transition: var(--transition);
    transition-delay: .5s
}

.is-selected .CardSlider__card-details {
    transform: translateY(0)
}

.CardSlider__card-details p {
    font-family: var(--denton);
    font-weight: 300;
    letter-spacing: 1px
}

.CardSlider__slider {
    position: relative;
    width: 100%;
    flex: 1
}

.CardSlider__slider .slider {
    position: relative;
    width: 100%;
    padding-bottom: 6rem;
    overflow: hidden
}

.CardSlider__slider .flickity-cell {
    margin-right: 1.5rem
}

.CardSlider__slider .flickity-button {
    background-color: transparent;
    border: 1px solid var(--white);
    color: var(--white);
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto
}

.CardSlider__slider .flickity-button.previous {
    right: 7rem
}

.CardSlider__slider .flickity-button:hover {
    background-color: var(--white)
}

.CardSlider__slider .flickity-button:hover:before {
    background: var(--navy-blue)
}

.CardSlider__slider .flickity-status {
    left: 8rem;
    right: 0;
    bottom: .5rem
}

@media (min-width: 64em) {
    .CardSlider__slider .slider {
        padding: 4rem 0 4rem 1rem
    }

    .CardSlider__slider .flickity-button {
        left: unset;
        right: 2rem;
        bottom: 8rem
    }

    .CardSlider__slider .flickity-button.previous {
        right: 6rem
    }

    .CardSlider__slider .flickity-status {
        left: unset;
        right: 3.75rem;
        bottom: 5.5rem
    }
}

@media (min-width: 80em) {
    .CardSlider__slider .flickity-button {
        left: unset;
        right: 6rem;
        bottom: 6rem
    }

    .CardSlider__slider .flickity-button.previous {
        right: 10rem
    }

    .CardSlider__slider .flickity-status {
        left: unset;
        right: 2rem;
        bottom: 6.5rem
    }
}

.CardSlider__badge {
    position: absolute;
    left: -135px;
    top: -60px;
    width: 222px;
    z-index: -1;
    animation-delay: 1s
}

.CardSlider__background {
    position: absolute;
    inset: 0;
    z-index: -3
}

.CardSlider__background img {
    position: relative;
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
    width: 100%;
    transform: scaleX(-1);
    z-index: -5
}

.CardSlider__background:before {
    content: " ";
    position: absolute;
    inset: 0;
    background: linear-gradient(171.5deg, #000000b3 20.14%, #0000 75.17%), linear-gradient(3.83deg, #151412cc 3.15%, #0000 28.05%)
}

@media (min-width: 64em) {
    .CardSlider__background:before {
        background: linear-gradient(100.21deg, #0006 7.95%, #0000 43.85%), linear-gradient(3.83deg, #151412cc 19.47%, #0000 96.75%)
    }
}

.Stories {
    position: relative;
    padding-inline: 1rem;
    padding-block: 6.25rem
}

@media (min-width: 64em) {
    .Stories.full-width {
        padding-inline: var(--container)
    }
}

.Stories__grid {
    position: relative;
    display: grid;
    flex-direction: column;
    gap: 3rem
}

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

.Stories__card {
    position: relative;
    display: flex;
    gap: 2rem;
    justify-content: flex-start;
    align-items: center
}

.Stories__card:before {
    content: " ";
    position: absolute;
    bottom: -4rem;
    left: 0;
    height: 1px;
    width: 100%;
    border-right: 1px dashed var(--navy-blue)
}

.Stories__card:last-child:after {
    display: none
}

@media (min-width: 64em) {
    .Stories__card {
        flex-direction: column;
        align-items: flex-start
    }

    .Stories__card:after {
        content: " ";
        position: absolute;
        right: -4rem;
        top: 0;
        width: 1px;
        height: 100%;
        border-right: 1px dashed var(--navy-blue)
    }
}

.Stories__card-photo {
    width: 40%;
    border: 6px solid var(--white);
    box-shadow: var(--shadow)
}

.Stories__card-photo img {
    aspect-ratio: 1/1;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (min-width: 64em) {
    .Stories__card-photo {
        width: 100%
    }
}

.Stories__card-date {
    font-family: var(--chainprinter);
    letter-spacing: .5px;
    margin-bottom: 1.5rem
}

.Stories__card-categories {
    font-family: var(--chainprinter);
    font-weight: 600;
    font-size: .75rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-top: auto;
    min-height: 36px
}

.Stories__card-details {
    display: flex;
    flex-direction: column;
    flex: 1
}

.Stories__card-details h3 {
    margin-block: 0 2rem
}

@media (min-width: 64em) {
    .Stories__card-details {
        text-align: center
    }
}

.HubHero {
    --heading: var(--white);
    --text: var(--white);
    --link: var(--white);
    background: var(--blue);
    position: relative;
    display: flex;
    min-height: 330px;
    padding-block: 2rem
}

.HubHero .wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%
}

.HubHero .wrapper .t-intro {
    font-family: var(--denton);
    color: var(--white);
    font-weight: 400;
    letter-spacing: 2px
}

.HubHero .wrapper .Breadcrumbs {
    margin-top: auto;
    margin-bottom: 1rem
}

.HubHero+.NewsGrid {
    margin-top: -6rem;
    margin-bottom: var(--space-sm)
}

@media (min-width: 64em) {
    .HubHero {
        min-height: 290px;
        padding-block: var(--space)
    }
}

.HubHero__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 2rem
}

@media (min-width: 64em) {
    .HubHero__content {
        flex-direction: row;
        gap: 4rem;
        margin-bottom: 4rem
    }

    .HubHero__content div {
        flex: 1
    }
}

@media (min-width: 64em) {
    .HubHero__cta-mobile {
        display: none;
        visibility: hidden
    }
}

.HubHero__cta-desktop {
    display: none;
    visibility: hidden
}

@media (min-width: 64em) {
    .HubHero__cta-desktop {
        display: block;
        visibility: visible
    }
}

.NewsGrid {
    position: relative;
    margin-top: 2rem;
    padding-inline: 1rem
}

@media (min-width: 64em) {
    .NewsGrid {
        display: grid;
        gap: 3rem;
        grid-template-areas: "a b" "a c";
        grid-template-columns: 2fr 1fr;
        padding-inline: var(--container)
    }
}

@media (min-width: 48em) {
    .NewsGrid__item {
        margin-top: 3rem
    }
}

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

@media (min-width: 64em) {
    .NewsGrid__item:first-child {
        grid-area: a
    }
}

.NewsGrid__item--featured .NewsGrid__image {
    aspect-ratio: 1/1
}

.NewsGrid__item--featured .NewsGrid__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.NewsGrid__item--alt .NewsGrid__image {
    aspect-ratio: 3/2
}

.NewsGrid__item--alt .NewsGrid__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.NewsGrid__title {
    margin-top: 1rem
}

.NewsGrid__item--featured .NewsGrid__title {
    font-size: 2rem
}

.NewsGrid__text {
    padding: 2rem
}

@media (min-width: 48em) {
    .NewsGrid__text {
        padding: 0
    }
}

.NewsGrid__meta {
    margin: auto 0 0;
    padding-top: 1rem
}

.Feed {
    position: relative;
    padding: 4rem var(--container);
    background: var(--blue);
    overflow: hidden;
    --heading: var(--white);
    --text: var(--white)
}

@media (min-width: 64em) {
    .Feed {
        display: grid;
        align-items: center;
        gap: var(--gutter);
        grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
        padding-block: 11rem
    }
}

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

.Feed__header {
    margin-bottom: 5rem
}

@media (min-width: 64em) {
    .Feed__header {
        margin-bottom: 5rem
    }
}

.Feed__main {
    position: relative
}

@media (max-width: 63.999em) {
    .Feed__main {
        margin-top: 2rem
    }
}

@media (min-width: 64em) {
    .Feed__main {
        padding-inline: 4rem
    }
}

.Feed__carousel {
    position: static;
    padding-bottom: 5rem
}

.Feed__carousel .flickity-viewport {
    position: relative;
    overflow: hidden;
    z-index: 1
}

.Feed__carousel .flickity-button {
    background-color: transparent;
    border: 1px solid var(--white);
    color: var(--white);
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto
}

.Feed__carousel .flickity-button.previous {
    left: 0;
    right: 7rem
}

.Feed__carousel .flickity-button.next {
    right: 0
}

.Feed__carousel .flickity-button:hover {
    background-color: var(--white)
}

.Feed__carousel .flickity-button:hover:before {
    background: var(--navy-blue)
}

.Feed__carousel .flickity-status {
    left: 8rem;
    right: 0;
    bottom: .5rem
}

@media (min-width: 64em) {
    .Feed__carousel {
        padding-bottom: 0
    }

    .Feed__carousel .flickity-button {
        left: unset;
        right: 6rem;
        bottom: 6rem
    }

    .Feed__carousel .flickity-button.previous {
        right: 10rem;
        margin: 0
    }

    .Feed__carousel .flickity-status {
        left: unset;
        right: 4rem;
        bottom: -3rem
    }
}

.Feed__badge {
    position: absolute;
    right: 0;
    top: -6rem;
    width: 140px;
    animation-delay: 1s
}

@media (min-width: 64em) {
    .Feed__badge {
        left: 3rem;
        right: unset;
        top: -9rem;
        width: 190px
    }
}

.Feed__item {
    z-index: 1;
    width: 100%;
    max-width: 16rem;
    margin-right: 1.25rem;
    aspect-ratio: 1;
    border: 6px solid var(--white);
    box-shadow: var(--shadow);
    overflow: hidden
}

.Feed__overlay {
    display: flex;
    flex-direction: column;
    position: absolute;
    inset: 0;
    padding: 1.5rem;
    transition: opacity var(--transition), visibility var(--transition);
    background: #000000bf;
    color: var(--white);
    font: var(--small);
    opacity: 0;
    overflow: scroll
}

.Feed__item:hover .Feed__overlay,
.Feed__overlay:has(.Feed__group:focus-visible) {
    opacity: 1
}

.Feed__group {
    display: flex;
    align-items: center;
    margin-right: 1.5rem
}

.Feed__group:last-child {
    margin-right: 0;
    margin-left: auto
}

.Feed__group a {
    color: var(--white);
    text-decoration: none
}

.Feed__icon {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-right: .5rem;
    background: var(--white)
}

.Feed__icon--instagram {
    width: 21px;
    height: 20px;
    -webkit-mask: url(../assets/instagram.svg);
    mask: url(../assets/instagram.svg)
}

.Feed__icon--heart {
    -webkit-mask: url(../assets/heart.svg);
    mask: url(../assets/heart.svg)
}

.Feed__icon--comment {
    -webkit-mask: url(../assets/comment.svg);
    mask: url(../assets/comment.svg)
}

.Feed__icon--link {
    -webkit-mask: url(../assets/link.svg);
    mask: url(../assets/link.svg)
}

.Feed__text {
    margin: auto 0
}

.Feed__bottom {
    display: flex;
    margin-top: 1.5rem
}

.finder .t-intro {
    color: var(--white)
}

.Finder__input {
    background-color: var(--white);
    border: 1px solid var(--blue);
    padding: 1rem 4rem 1rem 1.5rem;
    width: 100%;
    background-image: url(../assets/search.svg);
    background-position: right 2rem center;
    background-size: 17px
}

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

.Finder__input::placeholder {
    opacity: 1
}

.Finder__input:focus {
    outline-offset: -.5rem
}

@media (min-width: 64em) {
    .Finder__input {
        margin-bottom: 2.5rem
    }
}

.Finder__filter-toggle {
    --text: var(--white);
    background: var(--blue);
    color: var(--white);
    border: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.5rem;
    width: 100%;
    box-shadow: var(--box-shadow)
}

.Finder__filter-toggle .finder__icon {
    --text: var(--white);
    width: 8px;
    height: 13px;
    transition: var(--transition);
    transform: rotate(90deg)
}

.Finder__filter-toggle[aria-expanded=true] {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
}

.Finder__filter-toggle[aria-expanded=true] .finder__icon {
    transform: rotate(270deg)
}

.Finder__filter-toggle[aria-expanded=false] {
    transition: var(--transition)
}

.Finder__filter-toggle:focus {
    outline-offset: -.5rem;
    color: var(--white)
}

.Finder__filter-content {
    height: var(--height, auto);
    transition: height var(--transition), visibility var(--transition);
    overflow: hidden;
    position: relative;
    background-color: var(--white);
    width: 100%;
    box-shadow: 0 4px 14px #00000040
}

.Finder__filter-content .inner {
    padding: 1rem 1.5rem
}

[aria-expanded=false]+.Finder__filter-content {
    height: var(--height, 0);
    margin-bottom: 0;
    visibility: hidden
}

@media (min-width: 64em) {
    .Finder__filter-content {
        margin-bottom: 2rem
    }
}

.Finder__filters {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    margin-bottom: 0;
    padding-bottom: 2rem;
    border-bottom: 1px dashed var(--navy-blue)
}

@media (min-width: 64em) {
    .Finder__filters {
        flex-direction: row;
        padding-bottom: 0
    }
}

.Finder__checkbox-group {
    position: relative;
    flex: 1
}

[data-finder-level-single] .Finder--level {
    display: none;
    visibility: hidden
}

.Finder__checkbox-label {
    font-family: var(--proxima-nova);
    display: flex;
    width: 100%;
    margin: 0 0 .75rem;
    cursor: pointer
}

.Finder__checkbox {
    flex-shrink: 0;
    margin-right: 15px;
    margin-top: 3px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border: 1px solid black;
    background: transparent
}

.Finder__checkbox:checked {
    background-color: var(--white);
    background-image: url(../assets/check.svg);
    background-position: center;
    background-size: 10px;
    background-repeat: no-repeat;
    border: 1px solid var(--black)
}

.Finder__programs {
    --outline: var(--black);
    padding-bottom: var(--space-sm);
    padding-inline: var(--container);
    background-color: var(--white);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: left
}

@media (min-width: 64em) {
    .Finder__programs {
        padding-bottom: var(--space)
    }
}

.Finder__program-list {
    display: grid;
    gap: 1rem;
    margin-bottom: var(--gutter)
}

.Finder__load {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--gutter);
    text-align: center;
    margin: 0 auto
}

.Finder__load .Button {
    width: 100%
}

@media (min-width: 64em) {
    .Finder__load {
        flex-direction: row
    }

    .Finder__load .Button {
        width: auto
    }
}

.Finder__active-filters {
    width: 100%;
    flex-wrap: wrap;
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-top: 0;
    color: var(--white)
}

.Finder__current {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    margin-bottom: 1rem
}

.Finder__current:not(:empty) {
    margin-top: 1.5rem
}

[data-finder-level-single] .Finder__current [data-finder-remove=level] {
    display: none;
    visibility: hidden
}

.Finder__remove {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px 18px;
    border: none;
    margin: 0;
    background-color: var(--gold-lt);
    font-weight: 700;
    text-align: center;
    color: var(--black);
    transition: var(--transition)
}

.Finder__remove:after {
    content: "";
    flex-shrink: 0;
    width: 1rem;
    height: 1rem;
    margin-left: 8px;
    background: currentcolor;
    -webkit-mask-image: url(../assets/close.svg);
    mask-image: url(../assets/close.svg);
    mask-repeat: none;
    -webkit-mask-repeat: no-repeat
}

.Finder__remove:hover {
    background-color: #ebbc4ecc
}

.finder .Finder__input {
    padding-right: 3rem
}

.finder .Finder__input:focus {
    padding-right: 3.5rem
}

.Finder__reset {
    color: var(--black);
    --link: var(--black);
    border: transparent
}

.Finder__current:empty+.Finder__reset {
    display: none
}

.Program__card {
    padding: 1rem;
    position: relative;
    border-bottom: 1px solid rgba(0, 0, 0, .16);
    transition: var(--transition)
}

.Program__card[data-finder-limit] {
    border-bottom: 0
}

.Program__card:has([aria-expanded=true]) {
    background-color: #f2f5f8;
    border-color: #0000
}

.Program__card[data-finder-item=hide] {
    display: none
}

[data-finder-limit]~.Program__card {
    display: none
}

.Program__card .Program__areas {
    display: none
}

.Program__card:has([aria-expanded=true]) {
    padding: 2rem
}

.Program__card:has([aria-expanded=true]) .Program__areas {
    display: flex
}

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

    .Program__card .Program__areas {
        display: flex
    }
}

.Program__main {
    display: flex;
    flex-direction: column;
    padding-right: 3.5rem
}

.Program__main h2 {
    line-height: 0
}

.Program__main h2,
.Program__main .h4 {
    margin: 0
}

.Program__main .h4 {
    font-size: 1rem
}

@media (min-width: 64em) {
    .Program__main {
        flex-direction: row;
        justify-content: space-between;
        gap: var(--gutter);
        padding-right: 5rem
    }
}

.Program__toggle {
    --text: var(--blue);
    position: absolute;
    top: 1rem;
    right: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    width: 44px;
    height: 44px;
    border: transparent;
    border-radius: 100%;
    background: var(--blue);
    color: var(--text);
    transition: var(--transition)
}

.Program__toggle:after {
    content: "";
    width: 8px;
    height: 13px;
    transform: rotate(90deg);
    transition: transform var(--transition);
    background: var(--white);
    -webkit-mask-image: url(../assets/chevron-right.svg);
    mask-image: url(../assets/chevron-right.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

.Program__toggle[aria-expanded=true] {
    top: 2.5rem
}

.Program__toggle[aria-expanded=true]:after {
    transform: rotate(-90deg)
}

.Program__toggle:hover {
    background: var(--blue-90)
}

@media (min-width: 64em) {
    .Program__toggle {
        top: 1.5rem;
        right: 2rem
    }
}

.Program__areas {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    padding: 0;
    margin: 0;
    list-style-type: none;
    margin-top: 1.25rem;
    font-size: 14px
}

.Program__content {
    max-height: 1000px;
    overflow: visible;
    visibility: visible;
    transition: max-height var(--transition), visibility var(--transition)
}

[aria-expanded=false]+.Program__content {
    max-height: 0;
    transition: max-height var(--transition), visibility var(--transition);
    overflow: hidden;
    visibility: hidden
}

.Program__content .Button {
    margin-bottom: 1rem;
    width: 100%
}

@media (min-width: 64em) {
    .Program__content {
        width: 50%
    }

    .Program__content .Button {
        margin-right: 1rem;
        width: auto
    }
}

.Finder__count {
    text-align: left
}

.Finder__programs .Finder__count {
    text-align: center
}

.bottom-buttons {
    margin-top: 1.5rem
}

@media (min-width: 64em) {
    .bottom-buttons {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between
    }
}

.bottom-buttons p {
    margin-bottom: 20px
}

[data-finder-done] [data-finder-load] {
    display: none
}

.Form {
    --heading: var(--blue);
    --link: var(--blue);
    --text: var(--navy-blue);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--gutter);
    background: var(--white);
    box-shadow: var(--shadow);
    padding: 2rem
}

@media (min-width: 48em) {
    .Form {
        flex-direction: row;
        padding: 4rem
    }
}

.Form input {
    display: block;
    width: 100%;
    border: 1px solid var(--navy-blue);
    padding: .5rem;
    margin-top: .25rem;
    outline-offset: 1px;
    outline-width: 2px
}

.Form textarea {
    outline-offset: 1px;
    outline-width: 2px
}

.Form label {
    display: block;
    margin-top: 1rem
}

.Form [data-required] label,
.Form [data-required] .form_label {
    font-weight: 500
}

.Form select {
    background-color: #fff;
    border: 1px solid var(--navy-blue);
    display: inline-block;
    font: inherit;
    line-height: 1.5em;
    padding: .5em 3.5em .5em 1em;
    margin: 0;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    outline-offset: 1px;
    outline-width: 2px;
    background-image: linear-gradient(45deg, transparent 50%, gray 50%), linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, #ccc, #ccc);
    background-position: calc(100% - 17px) calc(1em + 2px), calc(100% - 12px) calc(1em + 2px), calc(100% - 2em) .5em;
    background-size: 5px 5px, 5px 5px, 1px 1.5em;
    background-repeat: no-repeat
}

.Form select:focus {
    background-image: linear-gradient(45deg, var(--navy-blue) 50%, transparent 50%), linear-gradient(135deg, transparent 50%, var(--navy-blue) 50%), linear-gradient(to right, #ccc, #ccc);
    background-position: calc(100% - 12px) 1em, calc(100% - 17px) 1em, calc(100% - 2em) .5em;
    background-size: 5px 5px, 5px 5px, 1px 1.5em;
    background-repeat: no-repeat;
    border-color: var(--navy-blue)
}

.Form .form_button_submit {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    text-transform: uppercase;
    color: var(--navy-blue);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: 2px;
    background: transparent;
    border: 1px solid var(--blue);
    width: 100%;
    padding: .75rem 2.5rem;
    overflow: hidden;
    transition: var(--transition)
}

.Form .form_button_submit:hover {
    color: var(--white);
    position: relative;
    z-index: 9
}

@media (min-width: 64em) {
    .Form .form_button_submit {
        width: auto
    }
}

.Form .form_button_submit:before {
    content: "";
    background: var(--blue);
    position: absolute;
    inset: 0;
    scale: 0 1;
    transform-origin: 100% 50%;
    transition: scale .2s ease-in-out;
    pointer-events: none
}

.Form .form_button_submit:is(:hover):before {
    scale: 1 1;
    transform-origin: 0 50%;
    z-index: -1
}

.slate-form {
    padding: 4rem;
    width: 100%
}

.slate-form.full-width {
    flex-direction: column
}

.slate-form .Form__form,
.slate-form .Form__details {
    max-width: 100%
}

.slate-form div.form_question fieldset>legend {
    display: none !important
}

.slate-form div.form_question {
    position: relative;
    box-sizing: border-box;
    margin: 0 0 1em;
    padding: 0
}

.slate-form div.form_question label strong strong,
.slate-form div.form_question .form_label strong,
.slate-form div.form_question label strong em,
.slate-form div.form_question .form_label em {
    font-weight: 500
}

.Form__details {
    flex: 1;
    max-width: 530px
}

@media (min-width: 48em) {
    .Form__form {
        flex: 1;
        max-width: 440px
    }
}

.Form__label {
    display: block;
    margin-bottom: 1.5rem
}

.Form__input {
    display: block;
    width: 100%;
    border: 1px solid var(--navy-blue);
    padding: .5rem;
    margin-top: .25rem
}