.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px
}

.row {
  margin-left: -15px;
  margin-right: -15px
}

.col-xs-1,
.col-sm-1,
.col-md-1,
.col-lg-1,
.col-xs-2,
.col-sm-2,
.col-md-2,
.col-lg-2,
.col-xs-3,
.col-sm-3,
.col-md-3,
.col-lg-3,
.col-xs-4,
.col-sm-4,
.col-md-4,
.col-lg-4,
.col-xs-5,
.col-sm-5,
.col-md-5,
.col-lg-5,
.col-xs-6,
.col-sm-6,
.col-md-6,
.col-lg-6,
.col-xs-7,
.col-sm-7,
.col-md-7,
.col-lg-7,
.col-xs-8,
.col-sm-8,
.col-md-8,
.col-lg-8,
.col-xs-9,
.col-sm-9,
.col-md-9,
.col-lg-9,
.col-xs-10,
.col-sm-10,
.col-md-10,
.col-lg-10,
.col-xs-11,
.col-sm-11,
.col-md-11,
.col-lg-11,
.col-xs-12,
.col-sm-12,
.col-md-12,
.col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px
}

.col-xs-1,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9,
.col-xs-10,
.col-xs-11,
.col-xs-12 {
  float: left
}

.col-xs-12 {
  width: 100%
}

.col-xs-11 {
  width: 91.66666667%
}

.col-xs-10 {
  width: 83.33333333%
}

.col-xs-9 {
  width: 75%
}

.col-xs-8 {
  width: 66.66666667%
}

.col-xs-7 {
  width: 58.33333333%
}

.col-xs-6 {
  width: 50%
}

.col-xs-5 {
  width: 41.66666667%
}

.col-xs-4 {
  width: 33.33333333%
}

.col-xs-3 {
  width: 25%
}

.col-xs-2 {
  width: 16.66666667%
}

.col-xs-1 {
  width: 8.33333333%
}

.col-xs-pull-12 {
  right: 100%
}

.col-xs-pull-11 {
  right: 91.66666667%
}

.col-xs-pull-10 {
  right: 83.33333333%
}

.col-xs-pull-9 {
  right: 75%
}

.col-xs-pull-8 {
  right: 66.66666667%
}

.col-xs-pull-7 {
  right: 58.33333333%
}

.col-xs-pull-6 {
  right: 50%
}

.col-xs-pull-5 {
  right: 41.66666667%
}

.col-xs-pull-4 {
  right: 33.33333333%
}

.col-xs-pull-3 {
  right: 25%
}

.col-xs-pull-2 {
  right: 16.66666667%
}

.col-xs-pull-1 {
  right: 8.33333333%
}

.col-xs-pull-0 {
  right: auto
}

.col-xs-push-12 {
  left: 100%
}

.col-xs-push-11 {
  left: 91.66666667%
}

.col-xs-push-10 {
  left: 83.33333333%
}

.col-xs-push-9 {
  left: 75%
}

.col-xs-push-8 {
  left: 66.66666667%
}

.col-xs-push-7 {
  left: 58.33333333%
}

.col-xs-push-6 {
  left: 50%
}

.col-xs-push-5 {
  left: 41.66666667%
}

.col-xs-push-4 {
  left: 33.33333333%
}

.col-xs-push-3 {
  left: 25%
}

.col-xs-push-2 {
  left: 16.66666667%
}

.col-xs-push-1 {
  left: 8.33333333%
}

.col-xs-push-0 {
  left: auto
}

.col-xs-offset-12 {
  margin-left: 100%
}

.col-xs-offset-11 {
  margin-left: 91.66666667%
}

.col-xs-offset-10 {
  margin-left: 83.33333333%
}

.col-xs-offset-9 {
  margin-left: 75%
}

.col-xs-offset-8 {
  margin-left: 66.66666667%
}

.col-xs-offset-7 {
  margin-left: 58.33333333%
}

.col-xs-offset-6 {
  margin-left: 50%
}

.col-xs-offset-5 {
  margin-left: 41.66666667%
}

.col-xs-offset-4 {
  margin-left: 33.33333333%
}

.col-xs-offset-3 {
  margin-left: 25%
}

.col-xs-offset-2 {
  margin-left: 16.66666667%
}

.col-xs-offset-1 {
  margin-left: 8.33333333%
}

.col-xs-offset-0 {
  margin-left: 0%
}

@media (min-width: 768px) {
  .col-sm-1,
  .col-sm-2,
  .col-sm-3,
  .col-sm-4,
  .col-sm-5,
  .col-sm-6,
  .col-sm-7,
  .col-sm-8,
  .col-sm-9,
  .col-sm-10,
  .col-sm-11,
  .col-sm-12 {
    float: left
  }
  .col-sm-12 {
    width: 100%
  }
  .col-sm-11 {
    width: 91.66666667%
  }
  .col-sm-10 {
    width: 83.33333333%
  }
  .col-sm-9 {
    width: 75%
  }
  .col-sm-8 {
    width: 66.66666667%
  }
  .col-sm-7 {
    width: 58.33333333%
  }
  .col-sm-6 {
    width: 50%
  }
  .col-sm-5 {
    width: 41.66666667%
  }
  .col-sm-4 {
    width: 33.33333333%
  }
  .col-sm-3 {
    width: 25%
  }
  .col-sm-2 {
    width: 16.66666667%
  }
  .col-sm-1 {
    width: 8.33333333%
  }
  .col-sm-pull-12 {
    right: 100%
  }
  .col-sm-pull-11 {
    right: 91.66666667%
  }
  .col-sm-pull-10 {
    right: 83.33333333%
  }
  .col-sm-pull-9 {
    right: 75%
  }
  .col-sm-pull-8 {
    right: 66.66666667%
  }
  .col-sm-pull-7 {
    right: 58.33333333%
  }
  .col-sm-pull-6 {
    right: 50%
  }
  .col-sm-pull-5 {
    right: 41.66666667%
  }
  .col-sm-pull-4 {
    right: 33.33333333%
  }
  .col-sm-pull-3 {
    right: 25%
  }
  .col-sm-pull-2 {
    right: 16.66666667%
  }
  .col-sm-pull-1 {
    right: 8.33333333%
  }
  .col-sm-pull-0 {
    right: auto
  }
  .col-sm-push-12 {
    left: 100%
  }
  .col-sm-push-11 {
    left: 91.66666667%
  }
  .col-sm-push-10 {
    left: 83.33333333%
  }
  .col-sm-push-9 {
    left: 75%
  }
  .col-sm-push-8 {
    left: 66.66666667%
  }
  .col-sm-push-7 {
    left: 58.33333333%
  }
  .col-sm-push-6 {
    left: 50%
  }
  .col-sm-push-5 {
    left: 41.66666667%
  }
  .col-sm-push-4 {
    left: 33.33333333%
  }
  .col-sm-push-3 {
    left: 25%
  }
  .col-sm-push-2 {
    left: 16.66666667%
  }
  .col-sm-push-1 {
    left: 8.33333333%
  }
  .col-sm-push-0 {
    left: auto
  }
  .col-sm-offset-12 {
    margin-left: 100%
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%
  }
  .col-sm-offset-9 {
    margin-left: 75%
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%
  }
  .col-sm-offset-6 {
    margin-left: 50%
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%
  }
  .col-sm-offset-3 {
    margin-left: 25%
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%
  }
  .col-sm-offset-0 {
    margin-left: 0%
  }
}

@media (min-width: 992px) {
  .col-md-1,
  .col-md-2,
  .col-md-3,
  .col-md-4,
  .col-md-5,
  .col-md-6,
  .col-md-7,
  .col-md-8,
  .col-md-9,
  .col-md-10,
  .col-md-11,
  .col-md-12 {
    float: left
  }
  .col-md-12 {
    width: 100%
  }
  .col-md-11 {
    width: 91.66666667%
  }
  .col-md-10 {
    width: 83.33333333%
  }
  .col-md-9 {
    width: 75%
  }
  .col-md-8 {
    width: 66.66666667%
  }
  .col-md-7 {
    width: 58.33333333%
  }
  .col-md-6 {
    width: 50%
  }
  .col-md-5 {
    width: 41.66666667%
  }
  .col-md-4 {
    width: 33.33333333%
  }
  .col-md-3 {
    width: 25%
  }
  .col-md-2 {
    width: 16.66666667%
  }
  .col-md-1 {
    width: 8.33333333%
  }
  .col-md-pull-12 {
    right: 100%
  }
  .col-md-pull-11 {
    right: 91.66666667%
  }
  .col-md-pull-10 {
    right: 83.33333333%
  }
  .col-md-pull-9 {
    right: 75%
  }
  .col-md-pull-8 {
    right: 66.66666667%
  }
  .col-md-pull-7 {
    right: 58.33333333%
  }
  .col-md-pull-6 {
    right: 50%
  }
  .col-md-pull-5 {
    right: 41.66666667%
  }
  .col-md-pull-4 {
    right: 33.33333333%
  }
  .col-md-pull-3 {
    right: 25%
  }
  .col-md-pull-2 {
    right: 16.66666667%
  }
  .col-md-pull-1 {
    right: 8.33333333%
  }
  .col-md-pull-0 {
    right: auto
  }
  .col-md-push-12 {
    left: 100%
  }
  .col-md-push-11 {
    left: 91.66666667%
  }
  .col-md-push-10 {
    left: 83.33333333%
  }
  .col-md-push-9 {
    left: 75%
  }
  .col-md-push-8 {
    left: 66.66666667%
  }
  .col-md-push-7 {
    left: 58.33333333%
  }
  .col-md-push-6 {
    left: 50%
  }
  .col-md-push-5 {
    left: 41.66666667%
  }
  .col-md-push-4 {
    left: 33.33333333%
  }
  .col-md-push-3 {
    left: 25%
  }
  .col-md-push-2 {
    left: 16.66666667%
  }
  .col-md-push-1 {
    left: 8.33333333%
  }
  .col-md-push-0 {
    left: auto
  }
  .col-md-offset-12 {
    margin-left: 100%
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%
  }
  .col-md-offset-9 {
    margin-left: 75%
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%
  }
  .col-md-offset-6 {
    margin-left: 50%
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%
  }
  .col-md-offset-3 {
    margin-left: 25%
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%
  }
  .col-md-offset-0 {
    margin-left: 0%
  }
}

@media (min-width: 1200px) {
  .col-lg-1,
  .col-lg-2,
  .col-lg-3,
  .col-lg-4,
  .col-lg-5,
  .col-lg-6,
  .col-lg-7,
  .col-lg-8,
  .col-lg-9,
  .col-lg-10,
  .col-lg-11,
  .col-lg-12 {
    float: left
  }
  .col-lg-12 {
    width: 100%
  }
  .col-lg-11 {
    width: 91.66666667%
  }
  .col-lg-10 {
    width: 83.33333333%
  }
  .col-lg-9 {
    width: 75%
  }
  .col-lg-8 {
    width: 66.66666667%
  }
  .col-lg-7 {
    width: 58.33333333%
  }
  .col-lg-6 {
    width: 50%
  }
  .col-lg-5 {
    width: 41.66666667%
  }
  .col-lg-4 {
    width: 33.33333333%
  }
  .col-lg-3 {
    width: 25%
  }
  .col-lg-2 {
    width: 16.66666667%
  }
  .col-lg-1 {
    width: 8.33333333%
  }
  .col-lg-pull-12 {
    right: 100%
  }
  .col-lg-pull-11 {
    right: 91.66666667%
  }
  .col-lg-pull-10 {
    right: 83.33333333%
  }
  .col-lg-pull-9 {
    right: 75%
  }
  .col-lg-pull-8 {
    right: 66.66666667%
  }
  .col-lg-pull-7 {
    right: 58.33333333%
  }
  .col-lg-pull-6 {
    right: 50%
  }
  .col-lg-pull-5 {
    right: 41.66666667%
  }
  .col-lg-pull-4 {
    right: 33.33333333%
  }
  .col-lg-pull-3 {
    right: 25%
  }
  .col-lg-pull-2 {
    right: 16.66666667%
  }
  .col-lg-pull-1 {
    right: 8.33333333%
  }
  .col-lg-pull-0 {
    right: auto
  }
  .col-lg-push-12 {
    left: 100%
  }
  .col-lg-push-11 {
    left: 91.66666667%
  }
  .col-lg-push-10 {
    left: 83.33333333%
  }
  .col-lg-push-9 {
    left: 75%
  }
  .col-lg-push-8 {
    left: 66.66666667%
  }
  .col-lg-push-7 {
    left: 58.33333333%
  }
  .col-lg-push-6 {
    left: 50%
  }
  .col-lg-push-5 {
    left: 41.66666667%
  }
  .col-lg-push-4 {
    left: 33.33333333%
  }
  .col-lg-push-3 {
    left: 25%
  }
  .col-lg-push-2 {
    left: 16.66666667%
  }
  .col-lg-push-1 {
    left: 8.33333333%
  }
  .col-lg-push-0 {
    left: auto
  }
  .col-lg-offset-12 {
    margin-left: 100%
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%
  }
  .col-lg-offset-9 {
    margin-left: 75%
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%
  }
  .col-lg-offset-6 {
    margin-left: 50%
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%
  }
  .col-lg-offset-3 {
    margin-left: 25%
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%
  }
  .col-lg-offset-0 {
    margin-left: 0%
  }
}

:root {
  --sans: "the-sans", sans-serif;
  --scale-vf: scale-variable, serif;
  --scale-vf-settings: "wdth" 125;
  --body: 400 1.125rem / 1.5 var(--sans);
  --h1: 600 clamp(1.625rem, 7vw, 2.5rem) / 1.2 var(--scale-vf);
  --h2: 600 clamp(1.25rem, 5vw, 1.75rem) / 1.2 var(--scale-vf);
  --h3: 700 clamp(1.5rem, 5vw, 1.75rem) / 1.4 var(--sans);
  --h4: 700 clamp(1.25rem, 5vw, 1.5rem) / 1.4 var(--sans);
  --h5: 700 1.25rem / 1.2 var(--sans);
  --h6: 700 1rem / 1.4 var(--sans);
  --text-small: 400 .875rem / 1.5 var(--sans);
  --text-intro: 700 clamp(1.25rem, 5vw, 1.75rem) / 1.4 var(--sans);
  --text-button: 700 1.0625rem / 1.2 var(--sans);
  --text-stat: 700 2.5rem / 1 var(--scale-vf);
  --text-eyebrow: 400 1rem / 1.2 var(--scale-vf);
  --text-quote: 600 clamp(1.5rem, 5vw, 1.875rem) / 1.5 var(--scale-vf);
  --text-cta: 500 clamp(.81825rem, 5vw, .9375rem) / 1.2 var(--scale-vf);
  --link: 400 1.125rem / 1.4 var(--sans);
  --meta: 700 .875rem / 1.1 var(--sans);
  --black: #000;
  --black-75: rgba(0, 0, 0, .75);
  --black-80: rgba(0, 0, 0, .8);
  --black-90: rgba(0, 0, 0, .9);
  --black-20: rgba(0, 0, 0, .2);
  --black-10: rgba(0, 0, 0, .1);
  --white: #fff;
  --white-20: rgba(255, 255, 255, .2);
  --white-40: rgba(255, 255, 255, .4);
  --purple: #1E1656;
  --purple-med: #3A336D;
  --purple-lt: #CDCAE7;
  --purple-lightest: #EBE9FF;
  --gray-light: #f2f2f2;
  --gray-medium: #948F8F;
  --gray-dark: #222222;
  --gradient: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .5) 100%), #1E1656;
  --teal: #0D776E;
  --blue: #0098C3;
  --red: #B71234;
  --yellow: #FDEA00;
  --coral: #DF6656;
  --peach: #FEAD77;
  --yellow-orange: #EEAF30;
  --background: var(--white);
  --color: var(--black);
  --heading: var(--purple);
  --link: var(--purple);
  --transition: .4s ease;
  --transition-short: .2s ease;
  --transition-cubic: .4s cubic-bezier(.4, 0, .2, 1)
}

@media (prefers-reduced-motion) {
  :root {
    --transition: 0ms ease
  }
}

:root {
  --panel: clamp(3.5rem, 10vw, 4.5rem);
  --gap: clamp(1.5rem, 6vw, 3rem);
  --gap-sm: clamp(1.5rem, 6vw, 2rem);
  --gutter: clamp(1.5rem, 6vw, 4rem);
  --wrap: max(var(--gutter), (100% - 78rem) / 2);
  --wrap-sm: max(var(--gutter), (100% - 26rem) / 2);
  --radius: .375rem;
  --shadow: 0 0 .75rem rgba(0, 0, 0, .25);
  --space: clamp(3rem, 12vw, 6rem);
  --space-xs: .5rem;
  --space-s: 1rem;
  --space-m: 1.5rem;
  --space-l: 2rem;
  --space-xl: clamp(2.5rem, 2.35rem + .72vw, 3rem);
  --space-2xl: 4rem;
  --space-3xl: clamp(4.375rem, 4.19rem + .9vw, 5rem);
  --space-4xl: clamp(6.5625rem, 6.28rem + 1.35vw, 7.5rem);
  --space-xs-l: clamp(.4375rem, -.18rem + 2.97vw, 2.5rem);
  --space-m-l: clamp(1.3125rem, .96rem + 1.71vw, 2.5rem);
  --space-m-2xl: clamp(1.3125rem, .51rem + 3.87vw, 4rem);
  --space-2xl-4xl: clamp(3.5rem, 2.31rem + 5.77vw, 7.5rem);
  --accent: var(--purple);
  --background: var(--white);
  --color: var(--black)
}

:root .theme-light {
  --accent: var(--purple);
  --background: var(--white);
  --color: var(--black);
  --swiper-nav-hover: var(--purple);
  --heading: var(--purple);
  --link: var(--purple);
  background-color: var(--white);
  color: var(--black)
}

:root .theme-dark {
  --accent: var(--white);
  --background: var(--purple);
  --color: var(--white);
  --swiper-nav-hover: var(--purple);
  --heading: var(--white);
  --link: var(--white);
  --theme: var(--purple);
  background-color: var(--purple);
  color: var(--white)
}

:root .theme-gradient {
  --accent: var(--white);
  --background: var(--gradient);
  --color: var(--white);
  --swiper-nav-hover: var(--purple);
  --heading: var(--white);
  --link: var(--white);
  background: var(--gradient);
  color: var(--white)
}

.home-template h2:not([class]) {
  font: 700 clamp(1.5rem, 5vw, 2.875rem) / 1.2 var(--scale-vf);
  font-variation-settings: var(--scale-vf-settings);
  letter-spacing: .06rem
}

.home-template h3:not([class]) {
  font: 700 clamp(1.5rem, 5vw, 2rem) / 1.2 var(--sans)
}

:is(.home-template #main-content) .Button {
  padding: 1.4rem 1.6rem
}

@keyframes flip {
  0% {
    background-color: var(--gold-a11y);
    transition-duration: 1.5s;
    transition-timing-function: ease-in-out;
    transform-style: preserve-3d;
    perspective: 1000px;
    transform: rotateY(180deg)
  }
  to {
    transform: rotateY(0)
  }
}

@keyframes fade-in {
  0% {
    opacity: 0
  }
}

@keyframes fade-in-up {
  0% {
    transform: translateY(3rem);
    opacity: 0
  }
}

@keyframes fade-in-up-text {
  0% {
    transform: translateY(3rem);
    visibility: hidden
  }
}

@keyframes fade-in-up-long {
  0% {
    transform: translateY(100%);
    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-left {
  0% {
    transform: translate(-100%)
  }
}

@keyframes slide-in-left-smooth {
  0% {
    transform: translate(70%)
  }
}

@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%)
  }
}

@keyframes zoom-out {
  0% {
    transform: scale(1.2)
  }
}

*,
:before,
:after {
  box-sizing: border-box
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 6rem
}

@media (width >=80em) {
  html {
    scroll-padding-top: 12rem
  }
}

#root {
  container: root / inline-size
}

body {
  margin: 0;
  text-size-adjust: none;
  overflow-wrap: break-word
}

iframe,
img,
svg,
video {
  display: block;
  max-width: 100%;
  height: auto
}

iframe,
video {
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0
}

svg {
  fill: currentColor
}

table {
  border-collapse: collapse
}

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
}

button,
select,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer
}

[type=search] {
  appearance: none
}

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
}

::placeholder {
  color: inherit;
  opacity: 1
}

:focus {
  outline-width: .175rem;
  outline-style: inset;
  outline-offset: -.175rem;
  outline-color: var(--color, var(--black))
}

:focus:not(form input, form textarea, form select) {
  outline: .25rem dashed;
  outline-offset: .25rem;
  outline-color: var(--color, var(--black))
}

:focus:not(:focus-visible) {
  outline: 0
}

.mce-content-body:focus {
  outline: none !important
}

.mce-edit-focus {
  outline: none !important
}

:root {
  scroll-behavior: smooth;
  overflow-x: hidden
}

body {
  color: var(--black);
  font: var(--body);
  -webkit-font-smoothing: antialiased
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-block: 2rem 1rem;
  color: var(--heading)
}

:is(h1, h2, h3, h4, h5, h6) a {
  font-weight: inherit
}

h1,
.h1 {
  font: var(--h1);
  font-variation-settings: var(--scale-vf-settings)
}

h2,
.h2 {
  font: var(--h2);
  font-variation-settings: var(--scale-vf-settings)
}

h3,
.h3 {
  font: var(--h3)
}

h4,
.h4 {
  font: var(--h4)
}

h5,
.h5 {
  font: var(--h5)
}

h6,
.h6 {
  font: var(--h6)
}

.text-small {
  font: var(--text-small);
  letter-spacing: .00875rem
}

.text-intro {
  font: var(--text-intro);
  color: var(--heading)
}

.text-stat {
  font: var(--text-stat);
  font-variation-settings: var(--scale-vf-settings);
  color: (var(--heading), var(--purple));
  letter-spacing: .125rem;
  display: flex;
  gap: .25rem;
  align-items: center
}

.text-stat--lg span {
  font-size: 5rem;
  letter-spacing: 0
}

.text-eyebrow {
  font: var(--text-eyebrow);
  letter-spacing: 2px;
  text-transform: uppercase
}

.text-eyebrow+h1,
.text-eyebrow+h2,
.text-eyebrow+h3,
.text-eyebrow+h4 {
  margin-top: 0
}

.text-cta {
  font: var(--text-cta);
  font-variation-settings: var(--scale-vf-settings);
  letter-spacing: .13125rem;
  text-transform: uppercase;
  font-weight: 500
}

.meta {
  display: inline-grid;
  font: var(--meta)
}

.meta a {
  font-weight: 700
}

.meta--alt {
  background-color: var(--purple-lt);
  color: var(--purple);
  padding: .5rem .25rem
}

.theme-dark .meta--alt {
  background-color: var(--purple);
  color: var(--white)
}

a {
  color: inherit;
  font-weight: 400;
  text-decoration: none;
  transition: all var(--transition)
}

.Common a:not([class]) {
  color: (var(--color), var(--purple));
  font-weight: 600;
  transition: text-decoration-thickness var(--transition), text-shadow var(--transition);
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: .3em
}

:is(.Common a:not([class])):hover {
  text-decoration-thickness: 3px;
  text-shadow: .5px 0 0 currentColor
}

ol,
ul {
  padding-inline-start: 1.25em
}

.ContentSidebar__content .Common :is(ol:not([class]), ul:not([class])) {
  margin-inline-start: 1.5rem
}

:is(.ContentSidebar__content .Common :is(ol:not([class]), ul:not([class]))) li {
  margin-bottom: 1rem
}

:is(:is(.ContentSidebar__content .Common :is(ol:not([class]), ul:not([class]))) li)::marker {
  color: var(--green-bright);
  font-weight: 800
}

strong {
  font-weight: 700
}

blockquote {
  border-left: 5px solid var(--purple-lt);
  padding: .15rem 1.5rem
}

.blockquote {
  position: relative;
  margin-inline: var(--wrap);
  background-color: var(--purple);
  --color: var(--white);
  --heading: var(--white);
  color: var(--white);
  padding: var(--gap);
  display: grid;
  grid-template-columns: 75px 1fr auto;
  gap: 1.5rem;
  align-items: start;
  border-left: 0;
  border-radius: var(--radius)
}

.blockquote:before {
  content: "";
  background-image: url(quote.svg);
  width: 75px;
  height: 60px;
  background-repeat: no-repeat;
  background-color: var(--purple-med);
  background-size: 45px;
  background-position: center;
  grid-row: 1;
  grid-column: 1;
  margin-top: .25rem
}

.blockquote p {
  position: relative;
  margin-block: 0;
  font: var(--text-quote);
  font-size: 1.5rem;
  font-weight: 300;
  grid-column: 2/ 4
}

.blockquote cite {
  display: block;
  margin-top: 0;
  font: var(--h5);
  font-weight: 700;
  grid-column: 2;
  grid-row: 2
}

.blockquote .Buttons {
  margin-top: var(--gap-sm);
  grid-column: 3;
  grid-row: 2;
  align-self: end;
  margin-block: 0
}

@media (max-width: 768px) {
  .blockquote {
    display: block
  }
  .blockquote:before {
    display: block;
    margin-bottom: 0
  }
  .blockquote p {
    padding-left: 0
  }
  .blockquote cite {
    margin-bottom: 0
  }
}

.Common {
  display: flow-root
}

main>.Common {
  margin: var(--panel) var(--wrap)
}

@media (width >=64em) {
  main>.Common {
    margin: var(--panel) var(--wrap-sm) var(--panel) var(--wrap)
  }
}

.Common.wide {
  margin: var(--panel) var(--wrap)
}

.Common:has(>:only-child:empty) {
  display: none
}

.Common .alignleft,
.Common .alignright {
  display: table;
  float: none
}

@media (width >=32em) {
  .Common .alignleft,
  .Common .alignright {
    width: calc(50% - 2rem);
    margin-block: .5rem 1.5rem
  }
}

@media (width >=32em) {
  .Common .alignleft {
    margin-right: 2rem;
    float: left
  }
}

@media (width >=32em) {
  .Common .alignright {
    margin-left: 2rem;
    float: right
  }
}

.Common .aligncenter {
  display: table;
  margin-inline: auto;
  text-align: center
}

.ContentSidebar {
  display: grid;
  gap: var(--gap) calc(var(--gutter) * 1.5);
  grid-template: auto / 100%;
  margin-block: var(--panel);
  padding-inline: var(--wrap)
}

@media (width < 63.999em) {
  .ContentSidebar {
    row-gap: var(--panel)
  }
}

@media (width >=64em) {
  .ContentSidebar {
    grid-template-columns: minmax(0, 1fr) 20rem
  }
}

@media (width >=64em) {
  .ContentSidebar:not(:has(.ContentSidebar__subnav)) .ContentSidebar__sidebar {
    grid-column: 2;
    grid-row: 1 / span 2
  }
}

@media (width >=64em) {
  :is(.Hero+.ContentSidebar) .ContentSidebar__subnav:has(*),
  :is(.Hero+.ContentSidebar) .ContentSidebar__sidebar {
    margin-top: -1rem;
    z-index: 1
  }
  :is(:is(.Hero+.ContentSidebar) .ContentSidebar__subnav:has(*), :is(.Hero+.ContentSidebar) .ContentSidebar__sidebar)~.ContentSidebar__sidebar {
    margin-top: 0
  }
}

.ContentSidebar.hide-header {
  margin-top: 0
}

@media (width >=64em) {
  .ContentSidebar.hide-header .ContentSidebar__subnav {
    margin-top: var(--gap)
  }
}

.ContentSidebar.hide-header.program .ContentSidebar__subnav {
  background-color: var(--white);
  margin-top: 0;
  margin-inline: 0
}

@media (width < 63.999em) {
  .ContentSidebar.hide-header.program .ContentSidebar__content {
    margin-top: var(--gap)
  }
}

:is(.hide-header .ContentSidebar__header) h1 {
  display: none;
  visibility: hidden
}

@media (width < 63.999em) {
  .hide-header .ContentSidebar__header {
    display: none
  }
}

@media (width >=64em) {
  .ContentSidebar__header:has(.Breadcrumbs) h1 {
    display: inline-flex;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--black-10);
    margin: 0
  }
}

.ContentSidebar__header:not(:has(*)) {
  display: none
}

@media (width >=64em) {
  .ContentSidebar__header:not(:has(*))~.ContentSidebar__content {
    grid-row: 1 / span 2
  }
}

.ContentSidebar__subnav {
  background-color: var(--purple-lt);
  margin-inline: calc(-1 * var(--wrap))
}

@media (width >=64em) {
  .ContentSidebar__subnav {
    background-color: transparent;
    grid-column: 2;
    grid-row: span 2;
    margin-inline: unset
  }
}

.ContentSidebar__subnav:not(:has(*)) {
  display: none
}

@media (width >=64em) {
  .ContentSidebar__subnav:not(:has(*))~.ContentSidebar__sidebar {
    grid-column: 2;
    grid-row: 1 / span 2
  }
}

@media (width >=64em) {
  .ContentSidebar__content {
    grid-column: 1;
    grid-row: span 3
  }
}

@media (width < 63.999em) {
  .ContentSidebar__header+.ContentSidebar__content {
    margin-top: calc(var(--panel) * -.5)
  }
}

@media (width >=64em) {
  .ContentSidebar__sidebar {
    grid-column: 2
  }
}

#main-content .Section.Section--gray.Section--bg-split-alt:last-child {
  margin-bottom: var(--panel)
}

.flush>:first-child {
  margin-top: 0
}

.flush>:last-child {
  margin-bottom: 0
}

:is(.invis, .screen-reader-text):not(:active, :focus, :focus-within) {
  position: absolute;
  width: 1px;
  height: 1px;
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap
}

.contents {
  display: contents
}

.skip-link {
  position: absolute !important;
  top: 1.5rem;
  left: 50%;
  width: auto !important;
  transform: translate(-50%);
  z-index: 4 !important;
  background: var(--black) !important;
  color: var(--white) !important;
  outline-color: var(--white)
}

.link-cta {
  background: transparent;
  border-color: transparent;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: .3em;
  transition: text-decoration-thickness .3s ease-in-out;
  font-weight: 700
}

.link-cta:hover {
  text-decoration-thickness: 3px
}

.link-underline {
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: .3em;
  transition: text-decoration-thickness .3s ease-in-out
}

.link-underline:hover {
  text-decoration-thickness: 3px
}

.link-underline-show {
  text-decoration: underline;
  text-decoration-thickness: 3px;
  text-underline-offset: .3em;
  transition: var(--transition);
  text-decoration-color: #0000
}

.link-underline-show:hover {
  text-decoration-color: var(--link-underline-color, currentColor)
}

.link-underline-swipe {
  transition: background var(--transition), color var(--transition);
  background: linear-gradient(currentColor, currentColor) 0 100% / 0 .0625rem no-repeat;
  color: inherit;
  padding-bottom: 0;
  text-decoration: none
}

.link-underline-swipe:hover {
  background-size: 100% .0625rem;
  text-decoration: none
}

.link-cover {
  position: static
}

.link-cover:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1
}

.columns {
  display: grid;
  grid-template-columns: 100%;
  gap: var(--gutter)
}

@media (width >=48em) {
  .columns {
    grid-template-columns: 1fr 1fr
  }
}

hr {
  display: block;
  margin: 2rem var(--wrap);
  border: 0;
  border-top: 3px solid var(--purple)
}

.Common hr,
.Section hr {
  margin-inline: 0
}

:is(.Common:not(.cluster), blockquote)>:first-child {
  margin-block-start: 0
}

:is(.Common:not(.cluster), blockquote)>:last-child {
  margin-block-end: 0
}

.grid {
  --grid-min: 14rem;
  display: grid;
  gap: var(--gap);
  grid-template-columns: repeat(auto-fit, minmax(var(--grid-min), 1fr))
}

@media (width >=80em) {
  .grid--4 {
    --grid-min: 10rem !important
  }
}

.with-scroll {
  order: 2;
  position: unset;
  max-height: 100vh;
  overflow: auto
}

.with-scroll::-webkit-scrollbar {
  width: 8px
}

.with-scroll::-webkit-scrollbar-track {
  background: var(--gray-dark)
}

.with-scroll::-webkit-scrollbar-thumb {
  background: var(--gray-light)
}

.with-scroll::-webkit-scrollbar-thumb:hover {
  background: var(--purple)
}

.with-scroll:after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 12%;
  background: #000;
  background: linear-gradient(180deg, #0000, #000 80%);
  transition: all var(--transition)
}

.with-scroll:before {
  position: absolute;
  content: "";
  bottom: .5%;
  left: 0;
  width: 100%;
  text-align: center;
  padding-bottom: 30px;
  background-color: var(--white);
  mask: url(caret-down.svg) no-repeat center bottom;
  mask-size: 1.25rem;
  color: var(--white);
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  z-index: 2;
  transition: all var(--transition)
}

.with-scroll.scrolled:after,
.with-scroll.scrolled:before {
  opacity: 0;
  visibility: hidden
}

.article-header .date {
  display: block;
  margin-bottom: 1rem
}

.article-header h1,
.article-header h2 {
  margin-block: 1rem
}

.article-header em+.Widget__icon {
  margin-left: 1rem
}

.contact {
  margin-block: 1rem
}

.contact ul {
  list-style-type: none;
  padding: 0;
  margin: 0
}

.rule-bottom {
  border-bottom: 1px solid var(--black-20);
  margin-bottom: .35em;
  padding-bottom: .35em
}

.close-toggle {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  margin-left: auto;
  border: 0;
  background: transparent;
  transition: var(--transition)
}

.close-toggle:before {
  content: "";
  flex-shrink: 0;
  width: .75rem;
  height: .75rem;
  background: currentColor;
  mask: url(angle-down.svg) center / contain no-repeat;
  transition: var(--transition)
}

:is([aria-expanded=true] .close-toggle):before {
  transform: rotate(180deg)
}

.border-left-animate {
  position: relative;
  margin-left: 1.5rem
}

.border-left-animate:before {
  content: "";
  position: absolute;
  left: -1.5rem;
  top: 0;
  bottom: 0;
  width: 6px;
  background: var(--white);
  transform: scaleY(0);
  transform-origin: center;
  transition: transform var(--transition)
}

.border-left-animate[data-animate=true]:before {
  transform: scaleY(1);
  transition: transform 1.2s ease
}

.border-left-animate--purple:before {
  background-color: var(--purple)
}

.border-left-animate--red:before {
  background-color: var(--red)
}

.border-left-animate--teal:before {
  background-color: var(--teal)
}

.border-left-animate--blue:before {
  background-color: var(--blue)
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0
}

@media not print {
  [data-animation=flip] {
    animation: flip .6s ease both
  }
  [data-animation=fade-in-up] {
    animation: fade-in-up .6s ease both
  }
  [data-animation=fade-in-up-text] {
    animation: fade-in-up-text .6s ease both
  }
  [data-animation=fade-in-up-long] {
    animation: fade-in-up-long 1s 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-animation=zoom-out] {
    animation: zoom-out 2s ease-out 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
  }
  [data-animate=border-expand]:before {
    animation: var(--transition) ease forwards
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-animate] {
    animation: none !important
  }
}

@font-face {
  font-family: the-sans;
  src: url(/Institutions/University-of-Portland/styles/fonts/the-sans-plain.otf) format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap
}

@font-face {
  font-family: the-sans;
  src: url(/Institutions/University-of-Portland/styles/fonts/the-sans-italic.otf) format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap
}

@font-face {
  font-family: the-sans;
  src: url(/Institutions/University-of-Portland/styles/fonts/the-sans-bold.otf) format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap
}

@font-face {
  font-family: the-sans;
  src: url(/Institutions/University-of-Portland/styles/fonts/the-sans-bolditalic.otf) format("opentype");
  font-weight: 700;
  font-style: italic;
  font-display: swap
}

.hh-module html,
.hh-module body {
  font-size: 1.6rem;
  line-height: 1.5
}

.hh-module .post .post-img {
  aspect-ratio: 1.5 / 1
}

:is(.hh-module .post .post-img)>img {
  height: 100%;
  object-fit: cover
}

.hh-module blockquote.blockquote {
  padding: 30px;
  margin: 0 0 20px;
  border: 2px solid #e8eaed;
  clear: both
}

.hh-module blockquote.blockquote:before {
  content: "ï„";
  font-family: "Font Awesome 5 Free";
  width: 70px;
  height: 70px;
  line-height: 70px;
  text-align: center;
  border-radius: 50%;
  color: #2d5c86;
  font-size: 3rem;
  background: #fff;
  border: 2px solid #e8eaed;
  float: left;
  margin-right: 10px;
  font-weight: 900
}

.hh-module blockquote.blockquote .blockquote-footer {
  color: #57595b
}

.hh-module figure {
  margin-bottom: 20px;
  display: table
}

.hh-module figure>img {
  width: 100%
}

.hh-module figure.pull-right {
  margin-left: 15px
}

.hh-module figure.pull-left {
  margin-right: 15px
}

.hh-module figure>figcaption {
  font-size: 1.4rem;
  text-align: center;
  margin-top: 10px;
  font-style: italic;
  color: #57595b;
  display: table-caption;
  caption-side: bottom
}

.hh-module.section {
  padding-top: 30px
}

.hh-module .section-row {
  margin-bottom: 30px
}

.hh-module .section-title {
  position: relative;
  margin-bottom: 20px;
  min-height: 10px
}

.hh-module .section-title .title {
  position: relative;
  display: inline-block;
  background-color: #fff;
  font-size: 1.6rem;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  padding-right: 10px;
  z-index: 20
}

.hh-module .section-title:after {
  content: "";
  display: inline-block;
  height: 2px;
  background-color: #e8eaed;
  position: absolute;
  left: 0;
  right: 0;
  top: 10px;
  z-index: 10
}

.hh-module .input {
  width: 100%;
  height: 40px;
  padding: 0 15px;
  background-color: #fff;
  border-radius: 2px;
  border: 2px solid #e8eaed
}

.hh-module .primary-button,
.hh-module .secondary-button {
  display: inline-block;
  padding: 10px 40px;
  border-radius: 2px;
  border: none;
  font-weight: 700;
  font-size: 1.4rem;
  text-transform: uppercase;
  -webkit-transition: .2s all;
  transition: .2s all;
  margin-top: 10px
}

.hh-module .primary-button {
  background-color: #2d5c86;
  color: #fff;
  -webkit-box-shadow: 0 0 0 2px #2d5c86 inset;
  box-shadow: 0 0 0 2px #2d5c86 inset
}

.hh-module .secondary-button {
  background-color: #325675;
  color: #fff;
  -webkit-box-shadow: 0 0 0 2px #325675 inset;
  box-shadow: 0 0 0 2px #325675 inset
}

.hh-module .primary-button:hover,
.hh-module .primary-button:focus {
  background-color: transparent;
  text-decoration: none;
  color: #2d5c86
}

.hh-module .secondary-button a:hover,
.hh-module .secondary-button a:focus,
.hh-module .secondary-button:hover,
.hh-module .secondary-button:focus {
  background-color: transparent;
  text-decoration: none;
  color: #325675
}

.hh-module.page-header {
  position: relative;
  margin: 0;
  padding-top: 300px;
  padding-bottom: 20px;
  background-color: #1b1c1e;
  border: none
}

.hh-module.page-header:after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-linear-gradient(270deg, rgb(0, 0, 0, 0) 0%, rgba(0, 0, 0, .5) 100%);
  background: linear-gradient(180deg, #0000, #00000080)
}

.hh-module.page-header .container {
  position: relative;
  z-index: 1
}

.hh-module.breadcrumb,
.hh-module .breadcrumb {
  background-color: #f5f5f5;
  margin-bottom: 0
}

.hh-module.breadcrumb ol {
  border-radius: 0;
  padding: 0
}

.hh-module .breadcrumb a {
  color: #11151c
}

.hh-module .breadcrumb a:hover,
.hh-module .breadcrumb a:focus {
  color: #2d5c86
}

.hh-module .breadcrumb>.active {
  color: #535353
}

.hh-module .page-header-bg {
  background: no-repeat center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover
}

.hh-module.page-header .page-header-bg {
  position: absolute;
  inset: 0
}

.hh-module.page-header .page-header-bg:after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-linear-gradient(270deg, rgb(0, 0, 0, 0) 0%, rgb(0, 0, 0, .5) 60%, rgba(0, 0, 0, .7) 70%, rgba(0, 0, 0, .8) 100%);
  background: linear-gradient(180deg, #0000, #00000080 60%, #000000b3 70%, #000c)
}

.hh-module.page-header h1 {
  font-size: 4.1rem;
  color: #fff;
  margin-bottom: 0
}

.hh-module .post {
  position: relative;
  margin-bottom: 30px
}

.hh-module .post .post-body {
  position: relative;
  margin: -50px 0 0 3%;
  padding: 5%;
  background: #fff;
  z-index: 10
}

.hh-module .post .post-body p {
  line-height: 1.5
}

.hh-module .post .post-img {
  display: block;
  overflow: hidden;
  position: relative
}

.hh-module .post.post-widget .post-img>img {
  height: 100%;
  object-fit: cover;
  position: absolute;
  margin-right: auto;
  margin-left: auto
}

.hh-module .post-img>img {
  width: 100%;
  -webkit-transition: 1.6s -webkit-transform;
  transition: 1.6s -webkit-transform;
  transition: 1.6s transform;
  transition: 1.6s transform, 1.6s -webkit-transform
}

.hh-module .post-img:hover>img {
  -webkit-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2)
}

@media (prefers-reduced-motion: reduce) {
  .hh-module .post-img:hover>img {
    transform: none
  }
}

.hh-module .post-title a {
  color: #11151c
}

.hh-module .post-title a:hover,
.hh-module .post-title a:focus {
  color: #2d5c86
}

.hh-module .post .post-title {
  font-size: 1.8rem;
  margin-bottom: 5px
}

.hh-module .post .post-title.title-sm {
  font-size: 1.6rem
}

.hh-module .post .post-title.title-lg {
  font-size: 2.5rem
}

.hh-module .post .post-category {
  margin-bottom: 10px;
  line-height: 1.6rem
}

.hh-module .post-category span,
.hh-module .post-category a {
  color: #2d5c86;
  font-weight: 700;
  font-size: 1.2rem;
  text-transform: uppercase
}

.hh-module .post-thumb {
  background-color: #1b1c1e
}

.hh-module .post-thumb .post-category span,
.hh-module.page-header .post-category span {
  color: #fff
}

.hh-module .post-category span:after,
.hh-module .post-category a:after {
  content: ",";
  display: inline-block
}

.hh-module .post-category span:last-child:after,
.hh-module .post-category a:last-child:after {
  display: none
}

.hh-module .post-meta {
  margin-bottom: 5px;
  padding: 0
}

.hh-module .post .post-meta {
  margin-bottom: 8px;
  padding: 0
}

.hh-module .post-meta span {
  display: inline-block;
  color: #57595b;
  font-size: 1.2rem;
  text-transform: uppercase
}

.hh-module.page-header .post-meta span,
.hh-module .post-thumb .post-meta span {
  color: #fff
}

.hh-module .post-meta span a {
  color: #57595b;
  font-weight: 700
}

.hh-module .post-meta span a:hover,
.hh-module .post-meta span a:focus {
  color: #2d5c86
}

.hh-module .post-meta span:after {
  content: "â€¢";
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px
}

.hh-module .post-meta span:last-child:after {
  display: none
}

.hh-module .hot-post {
  padding: 0 15px
}

.hh-module .hot-post .hot-post-left,
.hh-module .hot-post .hot-post-right {
  padding-right: 0;
  padding-left: 0
}

.hh-module .hot-post .post {
  margin-bottom: 7px
}

.hh-module .hot-post {
  margin-bottom: 25px
}

@media screen and (min-width: 992px) {
  .hh-module .hot-post {
    display: flex
  }
  .hh-module .hot-post .hot-post-right,
  .hh-module .hot-post .hot-post-left {
    display: flex;
    flex-direction: column
  }
  .hh-module .hot-post .hot-post-right {
    padding-left: 5px
  }
  .hh-module .hot-post .hot-post-right .post.post-thumb {
    height: 50%
  }
  .hh-module .hot-post .hot-post-left .post.post-thumb,
  .hh-module .hot-post .hot-post-right .post.post-thumb .post-img,
  .hh-module .hot-post .hot-post-left .post.post-thumb .post-img {
    height: 100%
  }
  .hh-module .hot-post .hot-post-right .post.post-thumb .post-img>img,
  .hh-module .hot-post .hot-post-left .post.post-thumb .post-img>img {
    height: 100%;
    object-fit: cover
  }
}

.hh-module .post.post-thumb .post-img:after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-linear-gradient(270deg, rgb(0, 0, 0, 0) 0%, rgba(0, 0, 0, .5) 100%);
  background: linear-gradient(180deg, #0000, #00000080)
}

.hh-module .post.post-thumb .post-body {
  position: absolute;
  margin: 0;
  padding: 5%;
  bottom: 0;
  background: -webkit-linear-gradient(270deg, rgb(0, 0, 0, 0) 0%, rgba(0, 0, 0, .5) 20%, rgba(0, 0, 0, .8) 100%);
  background: linear-gradient(180deg, #0000, #00000080 20%, #000c);
  width: 100%
}

@media (min-width: 992px) {
  .hh-module .hot-post-right .post.post-thumb .post-body {
    background: -webkit-linear-gradient(270deg, rgb(0, 0, 0, 0) 0%, rgba(0, 0, 0, .6) 15%, rgba(0, 0, 0, .8) 75%);
    background: linear-gradient(180deg, #0000, #0009 15%, #000c 75%)
  }
}

.hh-module .post.post-thumb .post-category {
  margin: 0
}

.hh-module .post.post-thumb .post-title {
  color: #fff;
  margin: 0
}

.hh-module .post.post-thumb a:hover .post-title,
.hh-module .post.post-thumb a:focus .post-title {
  color: #fff;
  text-decoration: underline
}

.hh-module .post.post-thumb a:focus {
  outline-offset: -10px
}

.hh-module .post.post-thumb .post-meta {
  margin: 0
}

.hh-module .post.post-thumb .post-meta span a:hover,
.hh-module .post.post-thumb .post-meta span a:focus {
  color: #2d5c86
}

.hh-module .post.post-sm .post-body {
  margin: 15px 0 0;
  background: 0 0;
  padding: 0
}

.hh-module .post.post-widget:after {
  content: "";
  display: table;
  clear: both
}

.hh-module .post.post-widget .post-img {
  float: left;
  height: 87px;
  width: 130px
}

.hh-module .post.post-widget .post-body {
  position: relative;
  background: 0 0;
  margin: 0 0 0 150px;
  padding: 0
}

.hh-module .post.post-widget .post-title {
  font-size: 1.6rem;
  margin-bottom: 0
}

.hh-module .post.post-row:after {
  content: "";
  display: table;
  clear: both
}

.hh-module .post.post-row .post-img {
  width: 40%;
  float: left
}

.hh-module .post.post-row .post-body {
  margin: 0 0 0 calc(40% + 30px);
  padding: 0
}

.hh-module .page-header .post-category {
  margin-bottom: 10px
}

.hh-module .page-header .post-meta span,
.hh-module .page-header .post-meta span a {
  color: #fff
}

.hh-module .page-header .post-meta span a:hover,
.hh-module .page-header .post-meta span a:focus {
  color: #2d5c86
}

.hh-module .post-share a {
  display: inline-block;
  padding: 5px 15px;
  border-radius: 5px;
  color: #fff;
  background-color: #57595b;
  margin-right: 4px;
  margin-bottom: 6px;
  -webkit-transition: .2s opacity;
  transition: .2s opacity
}

.hh-module .post-share a:hover {
  opacity: .9
}

.hh-module .post-share a i {
  width: 20px;
  text-align: center
}

.hh-module .post-share a span {
  padding-left: 10px;
  border-left: 2px solid rgba(255, 255, 255, .1);
  text-transform: uppercase;
  font-size: 1.2rem;
  font-weight: 700;
  margin-left: 10px
}

.hh-module .post-nav:after {
  content: "";
  display: table;
  clear: both
}

.hh-module .post-nav .post-title {
  font-size: 1.4rem;
  margin: 0
}

.hh-module .post-nav .post-img {
  display: block;
  width: 100px;
  overflow: hidden
}

.hh-module .aside-widget {
  margin-bottom: 30px
}

.hh-module .social-widget ul {
  overflow: auto;
  list-style: none;
  padding: 0
}

.hh-module .social-widget ul li {
  float: left;
  width: 33.33%
}

.hh-module .social-widget ul li a {
  display: block;
  text-align: center;
  padding: 30px 15px;
  color: #fff;
  -webkit-transition: .2s opacity;
  transition: .2s opacity
}

.hh-module .social-widget ul li a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -4px
}

.hh-module .social-widget ul li a:hover {
  opacity: .9
}

.hh-module .social-widget ul li a span {
  font-weight: 700;
  font-size: 1.4rem
}

.hh-module .social-widget ul li a i {
  display: block;
  font-size: 3rem
}

.hh-module .social-widget .social-facebook {
  background: #225b99 !important
}

.hh-module .social-widget .social-twitter {
  background: #000 !important
}

.hh-module .social-widget .social-twitter .fa-twitter:before {
  content: "ð•";
  font-weight: 700
}

.hh-module .social-widget .social-pinterest-p {
  background: #cc2127 !important
}

.hh-module .social-widget .social-instagram {
  background: #bc1888;
  background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888) !important
}

.hh-module .social-widget .social-linkedin {
  background: #0077b5 !important
}

.hh-module .social-widget .social-rss {
  background: #f26522 !important
}

.hh-module .social-widget .social-youtube {
  background: #cc181e !important
}

.hh-module .newsletter-widget {
  position: relative;
  padding: 0 30px 30px;
  border-left: 2px dashed #e8eaed;
  border-right: 2px dashed #e8eaed
}

.hh-module .aside-widget:last-child .newsletter-widget {
  border-bottom: 2px dashed #e8eaed
}

.hh-module .newsletter-widget p {
  min-height: 68px;
  max-height: 159px;
  position: relative
}

.hh-module .newsletter-widget span {
  display: block;
  margin-bottom: 5px
}

.hh-module .newsletter-widget .input {
  margin-bottom: 15px
}

.hh-module .newsletter-widget:after {
  content: "ïƒ ";
  font-family: "Font Awesome 5 Free";
  position: absolute;
  bottom: -25px;
  right: 27px;
  font-size: 16rem;
  color: #e8eaed;
  -webkit-transform: rotate(13deg);
  -ms-transform: rotate(13deg);
  transform: rotate(13deg);
  z-index: -1;
  font-weight: 900
}

.hh-module .category-widget ul {
  padding: 0;
  list-style: none
}

.hh-module .category-widget ul li {
  padding: 15px 0;
  border-bottom: 1px solid #e8eaed
}

.hh-module .category-widget ul li a {
  display: block;
  text-transform: uppercase;
  font-weight: 700;
  color: #11151c
}

.hh-module .category-widget ul li a:hover,
.hh-module .category-widget ul li a:focus {
  color: #2d5c86
}

.hh-module .category-widget ul li a span {
  float: right;
  font-size: 1.4rem;
  color: #57595b;
  margin-left: 15px
}

.hh-module .contact li {
  position: relative;
  margin-bottom: 20px;
  padding-left: 55px;
  padding-top: 5px;
  min-height: 40px
}

.hh-module .contact li i {
  position: absolute;
  left: 0;
  top: 0;
  width: 40px;
  text-align: center;
  height: 40px;
  background: #fff;
  color: #2d5c86;
  border: 1px solid #e8eaed;
  line-height: 40px;
  border-radius: 50%
}

@media only screen and (max-width:767px) {
  .hh-module .page-header h1 {
    font-size: 3.2rem
  }
}

.hh-module .post-img .image {
  height: 100%;
  object-fit: cover;
  transition: var(--transition)
}

.hh-module .post-img .Image img {
  transition: 1.6s transform
}

.hh-module figure>img {
  height: 100%;
  object-fit: cover
}

.hh-module .post-img:hover .Image img {
  transform: scale(1.2)
}

.hh-module .alignleft,
.hh-module .alignright {
  display: table;
  float: none
}

@media (width >=32em) {
  .hh-module .alignleft,
  .hh-module .alignright {
    margin-block: .5rem 1.5rem
  }
}

@media (width >=32em) {
  .hh-module .alignleft {
    margin-right: 2rem;
    float: left
  }
}

@media (width >=32em) {
  .hh-module .alignright {
    margin-left: 2rem;
    float: right
  }
}

.hh-module .aligncenter {
  display: table;
  margin-inline: auto;
  text-align: center
}

.hh-module figure>figcaption {
  position: relative;
  padding-block: 1rem 0;
  font: var(--text-small);
  background: var(--white);
  color: var(--purple-med);
  text-align: left;
  margin-top: 0
}

.hh-module.section {
  padding-top: 0;
  z-index: 1;
  position: relative
}

.hh-module.section h1 {
  margin-top: 0
}

.hh-module .section-row.text-center {
  text-align: center
}

.hh-module .section-title .title {
  font: var(--h6);
  text-transform: capitalize;
  color: var(--purple)
}

.hh-module .section-title:after {
  top: 13px
}

.hh-module .post .post-title {
  font: var(--h4);
  margin: 0
}

.hh-module .post .post-title.title-lg {
  font: var(--h3)
}

.hh-module .post-title a {
  color: var(--purple)
}

.hh-module .post-title a:hover,
.hh-module .post-title a:focus,
.hh-module .category-widget ul li a:hover,
.hh-module .category-widget ul li a:focus {
  color: var(--purple);
  text-decoration: underline
}

.hh-module .post-category span,
.hh-module .post-category a {
  color: var(--black);
  font: var(--h2);
  font-size: .875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  letter-spacing: .0525rem;
  text-transform: uppercase
}

.hh-module .post-meta {
  margin-bottom: 5px;
  padding: 0;
  margin-top: 0
}

.hh-module .post .post-meta {
  margin-top: 0;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 350;
  line-height: 150%
}

.hh-module .post-meta span {
  font: var(--meta);
  text-transform: capitalize;
  font-style: normal;
  font-weight: 350;
  line-height: 150%;
  margin-top: 5px;
  color: var(--black)
}

.hh-module .hot-post .post-meta span,
.Hero--news .post-meta span {
  color: var(--white);
  font-size: .9rem
}

.hh-module .hot-post .post.post-thumb .post-body {
  padding: var(--gap-sm)
}

.hh-module .post-meta span svg {
  display: inline
}

.hh-module .primary-button,
.hh-module .secondary-button {
  box-shadow: none;
  text-transform: capitalize
}

.hh-module .newsletter-widget:after {
  font-size: 10rem;
  color: var(--purple-lt)
}

.hh-module .category-widget ul li a {
  font: var(--h6)
}

.hh-module blockquote.blockquote {
  padding: 1.25rem 2rem;
  margin: 0;
  border: none
}

.hh-module blockquote.blockquote:before {
  content: "";
  background-image: url(quote.svg);
  width: 75px;
  height: 60px;
  background-repeat: no-repeat;
  background-color: var(--purple-med);
  background-size: 45px;
  background-position: center;
  grid-row: 1;
  grid-column: 1;
  line-height: 0;
  text-align: center;
  border-radius: 0;
  color: var(--white);
  font-size: inherit;
  border: none;
  float: none;
  margin-right: 0
}

.hh-module .category-widget ul li a {
  display: flex;
  justify-content: space-between;
  align-items: center
}

.hh-module .category-widget ul li a span {
  font-size: 1.2rem;
  line-height: 1;
  color: var(--black)
}

.hh-module .post.post-row .post-img {
  z-index: 90;
  margin-right: 15px
}

.hh-module .post.post-row .post-body {
  margin: 0
}

@media (width < 32em) {
  .hh-module .post.post-row .post-img {
    aspect-ratio: 1 / 1
  }
}

.hh-module .post.post-row .post-category {
  line-height: 1
}

@media (width < 64em) {
  .hh-module .social-widget ul li a i {
    font-size: 2rem
  }
}

@media (width < 64em) {
  .hh-module .social-widget ul li {
    width: calc(100%/6)
  }
}

@media (width < 64em) {
  .hh-module .social-widget ul li a {
    padding: 20px 15px
  }
}

.hh-module .post-title a:hover,
.hh-module .post-title a:focus,
.hh-module .category-widget ul li a:hover,
.hh-module .category-widget ul li a:focus,
.hh-module .post.post-thumb a:hover .post-title,
.hh-module .post.post-thumb a:focus .post-title {
  text-underline-offset: .3em
}

div.form_question {
  box-sizing: border-box;
  margin: 0 0 1em;
  padding: 0
}

div.form_question .form_label,
div.form_question label {
  display: block;
  margin-top: .15em
}

div.form_question fieldset {
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0
}

div.form_question fieldset>legend {
  display: none !important
}

div.form_h1 {
  margin-top: 0
}

div.form_p .form_label {
  font-weight: 400
}

div.form_header .form_label {
  font-weight: 700;
  padding: 4px 5px;
  background-color: var(--purple)
}

div.form_responses {
  white-space: pre-wrap;
  margin: 0 0 1em
}

@media only screen and (min-width: 1024px) {
  .Form__container--widget .Form .form_dateym select {
    max-width: 140px
  }
  .Form__container--widget .Form .form_birthdate select {
    max-width: 105px;
    padding: .5em 2em .5em .5em;
    background-position: calc(100% - 13px) calc(1em + 2px), calc(100% - 8px) calc(1em + 2px), calc(100% - 1.5em) .5em
  }
  :is(.Form__container--widget .Form .form_birthdate select):focus {
    background-position: calc(100% - 8px) 1em, calc(100% - 13px) 1em, calc(100% - 1.5em) .5em
  }
  .Form__container--widget .Form .form_birthdate select[aria-label=Day] {
    max-width: 110px
  }
  .Form__container--widget .Form .form_birthdate select[aria-label=Year] {
    max-width: 100px
  }
}

div.form_response input+label {
  display: flex;
  font-weight: 400
}

div.form_response:has(input[type=checkbox]) {
  display: flex;
  align-items: flex-start
}

div.form_response span.full_message {
  font-weight: 700;
  margin-left: 1em;
  color: #c00;
  vertical-align: middle
}

div.form_question.selected,
div.form_question.required {
  background-color: #ffc
}

div.form_question.required {
  background-color: #fcc
}

.form_success {
  border: 2px solid #0a0;
  color: #0a0;
  font-size: 1.25em;
  padding: .5em
}

.form_question {
  position: relative
}

div.form_page+div.form_page {
  margin-top: 10px
}

div.form_page input,
div.form_page label {
  vertical-align: middle
}

div.form_page input[type=password],
div.form_page input[type=text],
div.form_page input[type=email],
div.form_page input[type=tel],
div.form_page input:not([type]),
div.form_page select,
div.form_page textarea {
  box-sizing: border-box;
  max-width: 100%
}

div.form_question+div.form_question[data-type="plugin:widget"] {
  margin-top: 10px
}

div.form_question[data-type="plugin:widget"]+div.form_question {
  margin-bottom: 10px
}

div.form_question[data-type=likert]>fieldset>.form_responses_labels>.form_response_label,
div.form_question[data-type=likert]>fieldset>.form_responses>.form_response {
  box-sizing: border-box;
  display: inline-block;
  text-align: left
}

div.form_question[data-type=likert]>fieldset>.form_responses_labels,
div.form_question[data-type=likert]>fieldset>.form_label {
  margin-bottom: .5em
}

div.form_question.form_layout_stacked[data-type=address]>fieldset>.form_responses>div,
div.form_question.form_layout_stacked[data-type=location]>fieldset>.form_responses>div,
div.form_question.form_layout_stacked[data-type=location_nopostal]>fieldset>.form_responses>div {
  margin-top: 5px
}

div.form_question.form_layout_table input,
div.form_question.form_layout_table textarea {
  box-sizing: border-box;
  max-width: 100%
}

div.form_question[data-type=payment][data-amount="0"] {
  display: none
}

@media (min-width:481px) {
  div.form_container:not(.form_width_narrow) div.form_question.form_layout_table {
    margin: 0;
    padding: 0;
    width: 100%;
    display: table
  }
  div.form_container:not(.form_width_narrow) div.form_question.form_layout_table>fieldset {
    display: table-row-group
  }
  div.form_container:not(.form_width_narrow) div.form_question.form_layout_table>fieldset>div {
    display: table-row
  }
  div.form_container:not(.form_width_narrow) div.form_question.form_layout_table>fieldset>.form_label {
    display: table-cell
  }
  div.form_container:not(.form_width_narrow) div.form_question.form_header.form_layout_table {
    margin: 0;
    padding: 0
  }
  div.form_container:not(.form_width_narrow) div.form_question.form_layout_table .form_label {
    box-sizing: border-box;
    display: table-cell;
    padding: 4px 5px;
    width: 150px;
    vertical-align: top
  }
  div.form_container:not(.form_width_narrow) div.form_question.form_layout_table[data-type=address] .form_label,
  div.form_container:not(.form_width_narrow) div.form_question.form_layout_table[data-type=location] .form_label,
  div.form_container:not(.form_width_narrow) div.form_question.form_layout_table[data-type=location_nopostal] .form_label {
    min-width: 150px
  }
  div.form_container:not(.form_width_narrow) div.form_question.form_layout_table .form_responses,
  div.form_container:not(.form_width_narrow) div.form_question.form_layout_table .form_responses_labels {
    box-sizing: border-box;
    display: table-cell;
    padding: 4px 5px;
    vertical-align: top
  }
  div.form_container:not(.form_width_narrow) div.form_question.form_layout_table[data-type=likert] {
    display: block
  }
  div.form_container:not(.form_width_narrow) div.form_question.form_layout_table[data-type=likert] .form_label {
    display: inline-block
  }
  div.form_container:not(.form_width_narrow) div.form_question.form_layout_table[data-type=likert] .form_responses,
  div.form_container:not(.form_width_narrow) div.form_question.form_layout_table .form_responses_labels {
    display: inline-block;
    width: calc(100% - 150px)
  }
  div.form_container:not(.form_width_narrow) div.form_h1.form_layout_table,
  div.form_container:not(.form_width_narrow) div.form_h1.form_layout_table .form_label,
  div.form_container:not(.form_width_narrow) div.form_h1.form_layout_table .form_responses,
  div.form_container:not(.form_width_narrow) div.form_h2.form_layout_table,
  div.form_container:not(.form_width_narrow) div.form_h2.form_layout_table .form_label,
  div.form_container:not(.form_width_narrow) div.form_h2.form_layout_table .form_responses,
  div.form_container:not(.form_width_narrow) div.form_p.form_layout_table,
  div.form_container:not(.form_width_narrow) div.form_p.form_layout_table .form_label,
  div.form_container:not(.form_width_narrow) div.form_p.form_layout_table .form_responses {
    display: block;
    width: inherit !important
  }
  div.form_container:not(.form_width_narrow) div.form_header.form_layout_table,
  div.form_container:not(.form_width_narrow) div.form_header.form_layout_table .form_label,
  div.form_container:not(.form_width_narrow) div.form_header.form_layout_table .form_responses {
    display: block;
    padding: 4px 5px;
    width: inherit !important
  }
  div.form_container:not(.form_width_narrow) div.form_question[data-type=likert]>fieldset>.form_responses {
    margin-top: 0
  }
  div.form_container:not(.form_width_narrow) div.form_question[data-type=likert]>fieldset>.form_responses_labels {
    margin-left: 150px
  }
  div.form_container:not(.form_width_narrow) div.form_question[data-type=likert]>fieldset>.form_responses_labels>.form_response_label,
  div.form_question[data-type=likert]>fieldset>.form_responses>.form_response {
    min-width: 25px
  }
  div.form_container:not(.form_width_narrow) div.form_question[data-type=likert]>fieldset>.form_responses_labels,
  div.form_container:not(.form_width_narrow) div.form_question[data-type=likert]>fieldset>.form_label {
    margin-bottom: 0
  }
}

@media only screen and (max-width:736px) {
  div.form_question {
    margin: 0;
    padding: 0 0 .5em !important;
    width: 100% !important
  }
}

.ui-draggable-handle {
  -ms-touch-action: none;
  touch-action: none
}

.ui-helper-hidden {
  display: none
}

.ui-helper-hidden-accessible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px
}

.ui-helper-reset {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  line-height: 1.3;
  text-decoration: none;
  font-size: 100%;
  list-style: none
}

.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
  content: "";
  display: table;
  border-collapse: collapse
}

.ui-helper-clearfix:after {
  clear: both
}

.ui-helper-zfix {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  opacity: 0;
  -ms-filter: "alpha(opacity=0)"
}

.ui-front {
  z-index: 100
}

.ui-state-disabled {
  cursor: default !important;
  pointer-events: none
}

.ui-icon {
  display: inline-block;
  vertical-align: middle;
  margin-top: -.25em;
  position: relative;
  text-indent: -99999px;
  overflow: hidden;
  background-repeat: no-repeat
}

.ui-widget-icon-block {
  left: 50%;
  margin-left: -8px;
  display: block
}

.ui-widget-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.ui-resizable {
  position: relative
}

.ui-resizable-handle {
  position: absolute;
  font-size: .1px;
  display: block;
  -ms-touch-action: none;
  touch-action: none
}

.ui-resizable-disabled .ui-resizable-handle,
.ui-resizable-autohide .ui-resizable-handle {
  display: none
}

.ui-resizable-n {
  cursor: n-resize;
  height: 7px;
  width: 100%;
  top: -5px;
  left: 0
}

.ui-resizable-s {
  cursor: s-resize;
  height: 7px;
  width: 100%;
  bottom: -5px;
  left: 0
}

.ui-resizable-e {
  cursor: e-resize;
  width: 7px;
  right: -5px;
  top: 0;
  height: 100%
}

.ui-resizable-w {
  cursor: w-resize;
  width: 7px;
  left: -5px;
  top: 0;
  height: 100%
}

.ui-resizable-se {
  cursor: se-resize;
  width: 12px;
  height: 12px;
  right: 1px;
  bottom: 1px
}

.ui-resizable-sw {
  cursor: sw-resize;
  width: 9px;
  height: 9px;
  left: -5px;
  bottom: -5px
}

.ui-resizable-nw {
  cursor: nw-resize;
  width: 9px;
  height: 9px;
  left: -5px;
  top: -5px
}

.ui-resizable-ne {
  cursor: ne-resize;
  width: 9px;
  height: 9px;
  right: -5px;
  top: -5px
}

.ui-selectable {
  -ms-touch-action: none;
  touch-action: none
}

.ui-selectable-helper {
  position: absolute;
  z-index: 100;
  border: 1px dotted #000
}

.ui-sortable-handle {
  -ms-touch-action: none;
  touch-action: none
}

.ui-datepicker {
  width: 17em;
  padding: .2em .2em 0;
  display: none
}

.ui-datepicker .ui-datepicker-header {
  position: relative;
  padding: .2em 0
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
  position: absolute;
  top: 2px;
  width: 1.8em;
  height: 1.8em
}

.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
  top: 1px
}

.ui-datepicker .ui-datepicker-prev {
  left: 2px
}

.ui-datepicker .ui-datepicker-next {
  right: 2px
}

.ui-datepicker .ui-datepicker-prev-hover {
  left: 1px
}

.ui-datepicker .ui-datepicker-next-hover {
  right: 1px
}

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
  display: block;
  position: absolute;
  left: 50%;
  margin-left: -8px;
  top: 50%;
  margin-top: -8px
}

.ui-datepicker .ui-datepicker-title {
  margin: 0 2.3em;
  line-height: 1.8em;
  text-align: center
}

.ui-datepicker .ui-datepicker-title select {
  font-size: 1em;
  margin: 1px 0
}

.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
  width: 45%
}

.ui-datepicker table {
  width: 100%;
  font-size: .9em;
  border-collapse: collapse;
  margin: 0 0 .4em
}

.ui-datepicker th {
  padding: .7em .3em;
  text-align: center;
  font-weight: 700;
  border: 0
}

.ui-datepicker td {
  border: 0;
  padding: 1px
}

.ui-datepicker td span,
.ui-datepicker td a {
  display: block;
  padding: .2em;
  text-align: right;
  text-decoration: none
}

.ui-datepicker .ui-datepicker-buttonpane {
  background-image: none;
  margin: .7em 0 0;
  padding: 0 .2em;
  border-left: 0;
  border-right: 0;
  border-bottom: 0
}

.ui-datepicker .ui-datepicker-buttonpane button {
  float: right;
  margin: .5em .2em .4em;
  cursor: pointer;
  padding: .2em .6em .3em;
  width: auto;
  overflow: visible
}

.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
  float: left
}

.ui-datepicker.ui-datepicker-multi {
  width: auto
}

.ui-datepicker-multi .ui-datepicker-group {
  float: left
}

.ui-datepicker-multi .ui-datepicker-group table {
  width: 95%;
  margin: 0 auto .4em
}

.ui-datepicker-multi-2 .ui-datepicker-group {
  width: 50%
}

.ui-datepicker-multi-3 .ui-datepicker-group {
  width: 33.3%
}

.ui-datepicker-multi-4 .ui-datepicker-group {
  width: 25%
}

.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
  border-left-width: 0
}

.ui-datepicker-multi .ui-datepicker-buttonpane {
  clear: left
}

.ui-datepicker-row-break {
  clear: both;
  width: 100%;
  font-size: 0
}

.ui-datepicker-rtl {
  direction: rtl
}

.ui-datepicker-rtl .ui-datepicker-prev {
  right: 2px;
  left: auto
}

.ui-datepicker-rtl .ui-datepicker-next {
  left: 2px;
  right: auto
}

.ui-datepicker-rtl .ui-datepicker-prev:hover {
  right: 1px;
  left: auto
}

.ui-datepicker-rtl .ui-datepicker-next:hover {
  left: 1px;
  right: auto
}

.ui-datepicker-rtl .ui-datepicker-buttonpane {
  clear: right
}

.ui-datepicker-rtl .ui-datepicker-buttonpane button {
  float: left
}

.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
.ui-datepicker-rtl .ui-datepicker-group {
  float: right
}

.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
  border-right-width: 0;
  border-left-width: 1px
}

.ui-datepicker .ui-icon {
  display: block;
  text-indent: -99999px;
  overflow: hidden;
  background-repeat: no-repeat;
  left: .5em;
  top: .3em
}

legend {
  max-width: 100%
}

blockquote.hidden,
button.hidden,
div.hidden,
fieldset.hidden,
form.hidden,
iframe.hidden,
li.hidden,
img.hidden,
input.hidden,
option.hidden,
p.hidden,
select.hidden,
span.hidden,
table.hidden,
thead.hidden>tr,
tbody.hidden>tr,
textarea.hidden,
tr.hidden,
ul.hidden {
  display: none !important
}

.hidden2,
.hidden2 *,
.hidden_dialog_0,
.hidden_dialog_1,
.hidden_dialog_2 {
  visibility: hidden !important
}

div.fixed {
  position: fixed;
  top: 0
}

.nowrap td {
  overflow: hidden;
  text-overflow: ellipsis
}

.nowrap div {
  white-space: nowrap
}

.dialog div.action {
  clear: both
}

.dialog span.action {
  display: block;
  margin: 10px 0
}

.dialog ul.action {
  display: block;
  list-style: none;
  margin: 15px 0;
  padding: 0
}

.dialog .action li {
  display: inline;
  margin: 0;
  padding: 0
}

.dialog .action {
  line-height: normal;
  position: relative
}

.dialog ul.action a,
.dialog button,
.dialog input[type=button],
.dialog input[type=submit] {
  background-color: var(--cDFDFDFFF, #dfdfdf);
  border: 0;
  color: var(--c000000FF, #000);
  cursor: pointer;
  display: inline-block;
  font-family: Arial, Helvetica, sans-serif, sans-serif !important;
  font-size: 12px;
  font-weight: 400;
  line-height: 12px;
  margin: 0 10px 0 0;
  padding: 5px 15px;
  text-decoration: none
}

.dialog ul.action a.default,
.dialog button.default {
  background-color: var(--cC6C6C6FF, #c6c6c6);
  font-weight: 700
}

.dialog ul.action a:hover,
.dialog button:hover,
.dialog input[type=button]:hover,
.dialog input[type=submit]:hover {
  background-color: var(--cF3F3F3FF, #f3f3f3)
}

.dialog ul.action a.default:hover,
.dialog button.default:hover,
.dialog input[type=button].default:hover,
.dialog input[type=submit].default:hover {
  background-color: var(--cDADADAFF, #dadada)
}

.dialog ul.action a:focus,
.dialog button:focus,
.dialog input[type=button]:focus,
.dialog input[type=submit]:focus,
.dialog ul.action a.default:focus,
.dialog button.default:focus,
.dialog input[type=button].default:focus,
.dialog input[type=submit].default:focus {
  background-color: var(--c00669EFF, #00669e);
  color: var(--cFFFFFFFF, #fff)
}

input.expanded,
select.expanded,
textarea.expanded {
  box-sizing: border-box;
  width: 100%
}

input[type=password].validate_error,
input[type=text].validate_error,
input[type=email].validate_error,
input[type=tel].validate_error,
input:not([type]).validate_error {
  color: var(--cFF0000FF, #f00)
}

.searchable_hidden {
  display: none
}

table.mixed>*>tr,
table.plain>*>tr,
table.table>*>tr,
table.table * tr {
  vertical-align: middle
}

table.fixed,
table.layout {
  border-collapse: collapse;
  clear: both;
  table-layout: fixed
}

table.layout {
  width: 100%
}

table.fixed>*>tr>th,
table.fixed>*>tr>td,
table.layout>*>tr>th,
table.layout>*>tr>td,
table.fixed * tr th,
table.fixed * tr td {
  margin: 0;
  padding: 0
}

table.fixed>*>tr,
table.layout>*>tr {
  vertical-align: top
}

table.mixed,
table.plain,
table.table {
  border-collapse: collapse;
  clear: both;
  table-layout: fixed;
  text-align: left;
  width: 100%
}

table.plain>*>tr>th,
table.plain>*>tr>td {
  padding: 4px 5px
}

table.plain>*>tr>th,
table.plain * tr th {
  font-weight: 400;
  text-align: left
}

table.mixed>*>tr>th,
table.mixed>*>tr>td {
  padding: 4px 5px
}

table.mixed>*>tr>th,
table.mixed * tr th {
  text-align: left
}

table.table>*>tr>th,
table.table>*>tr>td {
  border-bottom: 1px solid var(--cCCCCCCFF, #ccc);
  padding: 4px 5px;
  text-align: left
}

table.table>*>tr>th>div:first-child,
table.table>*>tr>td>div:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

tr.header>th,
tr.header>td,
.dialog div.header {
  background-color: var(--cCCCCCCFF, #ccc);
  border: 0;
  font-weight: 700 !important;
  text-align: left;
  vertical-align: bottom
}

tr.column>th,
tr.column>td {
  background-color: var(--cECECECFF, #ececec);
  font-weight: 700 !important;
  text-align: left;
  vertical-align: bottom
}

tr.column>td {
  font-weight: 400 !important
}

tr.row_select,
tr.row_hover {
  cursor: pointer
}

tr.row_select a,
tr.row_hover a {
  color: var(--c000000FF, #000) !important;
  outline: 0;
  text-decoration: none
}

tr.hover td,
tr.hover th {
  background: var(--cFFFFE8FF, #ffffe8) !important
}

tr.plain a {
  color: var(--c0000FFFF, #00f) !important;
  text-decoration: underline !important
}

tr.plain a:active,
tr.plain a:hover {
  color: var(--cFF0000FF, #f00) !important
}

.clear {
  clear: both
}

.progress_div,
.progress_dialog_div {
  background-color: var(--c000000FF, #000);
  position: fixed;
  height: 100%;
  left: 0;
  opacity: .1;
  filter: progid:DXImageTransform.Microsoft.Alpha(opacity=10);
  top: 0;
  width: 100%;
  z-index: 5001
}

.progress_box {
  height: 80px;
  left: 50%;
  margin: -40px 0 0 -50px;
  position: fixed;
  text-align: center;
  top: 50%;
  width: 100px;
  z-index: 5001
}

.progress_timer {
  color: var(--c00669EFF, #00669e);
  font-size: 11px;
  margin-top: 50px;
  text-align: center
}

.progress_loader:before,
.progress_loader:after,
.progress_loader {
  border-radius: 50%;
  font-size: 4px;
  width: 2.5em;
  height: 2.5em;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: progress_loader 1.8s infinite ease-in-out;
  animation: progress_loader 1.8s infinite ease-in-out
}

.progress_loader {
  margin: 0 auto;
  position: relative;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -.16s;
  animation-delay: -.16s
}

.progress_loader:before {
  left: -3.5em;
  -webkit-animation-delay: -.32s;
  animation-delay: -.32s
}

.progress_loader:after {
  left: 3.5em
}

.progress_loader:before,
.progress_loader:after {
  content: "";
  position: absolute;
  top: 0
}

@-webkit-keyframes progress_loader {
  0%,
  80%,
  to {
    box-shadow: 0 2.5em 0 -1.3em var(--c00669EFF, #00669e)
  }
  40% {
    box-shadow: 0 2.5em 0 .05em var(--c00669EFF, #00669e)
  }
}

@keyframes progress_loader {
  0%,
  80%,
  to {
    box-shadow: 0 2.5em 0 -1.3em var(--c00669EFF, #00669e)
  }
  40% {
    box-shadow: 0 2.5em 0 .05em var(--c00669EFF, #00669e)
  }
}

.dialog {
  background-color: var(--cFFFFFFFF, #fff);
  overflow: hidden
}

.dialog_host .dialog {
  box-shadow: 0 0 5px var(--c00000066, rgba(0, 0, 0, .4));
  padding: 0
}

.dialog_flat>.dialog {
  display: none
}

.dialog .header {
  background: var(--cDADADAFF, #dadada);
  color: var(--c000000FF, #000);
  overflow: hidden;
  padding: 8px 10px;
  text-overflow: ellipsis;
  white-space: nowrap
}

.dialog div.action {
  background: var(--cFFFFFFFF, #fff);
  border-top: 1px solid var(--cEAEAEAFF, #eaeaea);
  margin: 0;
  padding: 10px
}

body.dialog {
  border: 0
}

.dialog div.content {
  overflow: auto;
  overflow-x: hidden;
  padding: 8px
}

.dialog_host {
  position: fixed;
  z-index: 5000
}

.error,
.success,
.alert {
  border-left: 5px solid var(--c000000FF, #000);
  color: var(--c000000FF, #000);
  display: block;
  padding: 10px 10px 10px 15px
}

.error {
  background-color: var(--cFFFFCCFF, #ffc);
  border-color: var(--cFFCC66FF, #fc6)
}

.success {
  background-color: var(--cE6EFC2FF, #e6efc2);
  border-color: var(--c529214FF, #529214)
}

.suggest {
  background: var(--cFFFFFFFF, #fff);
  border: 1px solid var(--cCCCCCCFF, #ccc);
  font-size: 11px;
  overflow: hidden;
  position: absolute;
  -moz-user-select: none
}

.suggest_default {
  background: var(--cECECECFF, #ececec);
  color: var(--c666666FF, #666);
  height: 1%;
  padding: 4px 5px;
  text-align: left
}

.suggest_item {
  background-color: var(--cFFFFFFFF, #fff);
  color: var(--c000000FF, #000);
  cursor: pointer;
  height: 1%;
  padding: 2px 0;
  text-align: left
}

.suggest_item b {
  color: var(--c3399FFFF, #39f);
  font-weight: 400
}

.suggest_item_selected {
  background-color: var(--cEFEFEFFF, #efefef)
}

.suggest_name {
  color: var(--c000000FF, #000);
  padding: 0 2px 0 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

.suggest_data {
  padding: 0 2px 0 10px;
  font-size: 9px;
  color: var(--c666666FF, #666);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

.suggest_collection_title {
  color: var(--c00669EFF, #00669e);
  padding: 4px
}

.suggest_table>tbody>tr>td {
  vertical-align: top
}

.suggest_table b {
  color: var(--c3399FFFF, #39f);
  font-weight: 400
}

.suggest_color {
  height: 7.5px;
  width: 7.5px;
  display: inline-block;
  margin-right: 2.5px;
  vertical-align: middle
}

.gcse-search {
  max-width: 100%;
  margin: 0 auto
}

.gsc-control-cse .gsc-input-box {
  border: 3px solid var(--purple) !important;
  border-radius: 8rem !important;
  background-color: var(--white) !important;
  height: 4rem !important;
  font-family: var(--sans) !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  color: var(--purple) !important;
  padding-inline-start: 1.5rem !important;
  padding-inline-end: 4rem !important;
  box-shadow: none !important;
  line-height: 1.2 !important;
  letter-spacing: .015rem !important;
  display: flex !important;
  align-items: center !important;
  text-align: left !important;
  vertical-align: middle !important
}

.gsc-control-cse .gsc-input-box:focus {
  outline: 3px solid var(--white) !important;
  outline-offset: -.35rem !important;
  border-color: var(--purple) !important;
  box-shadow: none !important
}

.gsc-control-cse .gsc-input-box::placeholder {
  color: var(--gray-medium) !important;
  opacity: 1 !important;
  font-family: var(--sans) !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important
}

.gsc-control-cse .gsc-search-button {
  background-color: var(--purple) !important;
  border: none !important;
  border-radius: 50% !important;
  width: 3rem !important;
  height: 3rem !important;
  position: absolute !important;
  right: 1.5rem !important;
  top: .5rem !important;
  transition: var(--transition) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  padding: 0 !important
}

.gsc-control-cse .gsc-search-button button {
  background-color: transparent !important;
  border: none !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important
}

.gsc-control-cse .gsc-search-button svg {
  display: none !important
}

.gsc-control-cse .gsc-search-button button {
  background-color: transparent !important;
  border: none !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 1.5rem 1.5rem !important;
  transition: var(--transition) !important
}

.gsc-control-cse .gsc-search-button:hover {
  background-color: var(--purple-med) !important;
  transform: scale(1.05) !important
}

.gsc-control-cse .gsc-search-button:hover button {
  transform: translate(-50%, -50%) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") !important;
  background-size: 1.5rem 1.5rem !important
}

.gsc-results {
  margin-top: 2rem !important;
  padding: .5rem !important
}

.gsc-results .gsc-result {
  border: 1px solid var(--purple-lt) !important;
  border-radius: var(--radius) !important;
  margin-bottom: 1rem !important;
  background-color: var(--white) !important;
  transition: var(--transition) !important;
  position: relative !important;
  overflow: visible !important;
  margin: 0 0 1rem !important;
  padding: 1.5rem !important
}

.gsc-results .gsc-result:hover {
  border-color: var(--purple) !important;
  box-shadow: var(--shadow) !important
}

.gsc-results .gsc-result .gs-title {
  color: var(--purple) !important;
  font-family: var(--sans) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  margin-bottom: .5rem !important;
  display: block !important
}

.gsc-selected-option-container {
  max-width: 100% !important
}

.gsc-results .gsc-result .gs-title a {
  color: var(--purple) !important;
  text-decoration: none !important;
  font-family: var(--sans) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  display: block !important;
  text-align: left
}

.gsc-results .gsc-result .gs-title a:hover {
  color: var(--purple-med) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1.5px !important;
  text-underline-offset: .3em !important
}

.gsc-results .gsc-result .gs-title a:focus {
  outline: none !important;
  box-shadow: 0 0 0 2px var(--purple) !important;
  color: var(--purple-med) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1.5px !important;
  text-underline-offset: .3em !important;
  position: relative !important;
  z-index: 1 !important;
  border-radius: 2px !important;
  padding: 2px 4px !important;
  margin: -2px -4px !important
}

.gsc-results .gsc-result .gs-title * {
  color: var(--purple) !important;
  font-family: var(--sans) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important
}

.gsc-results .gsc-result .gs-snippet {
  color: var(--black) !important;
  font-family: var(--sans) !important;
  font-size: 1.125rem !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  margin-bottom: .5rem !important
}

.gsc-results .gsc-result .gs-visibleUrl {
  color: var(--gray-medium) !important;
  font-family: var(--sans) !important;
  font-size: .875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
  line-height: 1.1 !important
}

.gsc-results .gsc-cursor-box {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 2rem 0 !important;
  padding: 1rem 0 !important
}

.gsc-results .gsc-cursor-box .gsc-cursor {
  display: flex !important;
  gap: .5rem !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important
}

.gsc-results .gsc-cursor-box .gsc-cursor-page {
  background-color: var(--white) !important;
  color: var(--purple) !important;
  border: 2px solid var(--purple) !important;
  border-radius: var(--radius) !important;
  padding: .5rem .75rem !important;
  margin: 0 !important;
  font-family: var(--sans) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  transition: var(--transition) !important;
  cursor: pointer !important;
  min-width: 2.5rem !important;
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important
}

.gsc-results .gsc-cursor-box .gsc-cursor-page:hover {
  background-color: var(--purple) !important;
  color: var(--white) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 4px #0000001a !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: .3em !important;
  padding: .5rem .75rem !important
}

.gsc-results .gsc-cursor-box .gsc-cursor-page:focus {
  outline: 2px solid var(--purple) !important;
  outline-offset: 2px !important
}

.gsc-results .gsc-cursor-box .gsc-cursor-page.gsc-cursor-current-page {
  background-color: var(--purple) !important;
  color: var(--white) !important;
  border-color: var(--purple) !important;
  font-weight: 700 !important
}

.gsc-results .gsc-no-results-result {
  text-align: center !important;
  padding: 2rem !important;
  color: var(--gray-medium) !important;
  font-family: var(--sans) !important;
  font-size: 1.75rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important
}

.gsc-loading {
  text-align: center !important;
  padding: 2rem !important;
  color: var(--purple) !important;
  font-family: var(--sans) !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important
}

@media (max-width: 768px) {
  .gsc-control-cse .gsc-input-box {
    font-size: 1.25rem !important;
    height: 3.5rem !important;
    font-family: var(--sans) !important;
    font-weight: 600 !important
  }
  .gsc-control-cse .gsc-input-box::placeholder {
    font-size: 1.25rem !important;
    font-family: var(--sans) !important;
    font-weight: 600 !important
  }
  .gsc-control-cse .gsc-search-button {
    width: 2.5rem !important;
    height: 2.5rem !important;
    top: .5rem !important
  }
  .gsc-table-result {
    text-align: left !important
  }
  .gsc-control-cse .gsc-search-button button {
    background-size: 1.25rem 1.25rem !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") !important
  }
  .gsc-results .gsc-result {
    padding: 1rem !important
  }
  .gsc-results .gsc-result .gs-title {
    font-size: 1.125rem !important;
    font-family: var(--sans) !important;
    font-weight: 700 !important
  }
  .gsc-results .gsc-result .gs-snippet {
    font-size: 1rem !important;
    font-family: var(--sans) !important
  }
  .gsc-results .gsc-cursor-box .gsc-cursor {
    gap: .25rem !important
  }
  .gsc-results .gsc-cursor-box .gsc-cursor-page {
    padding: .375rem .5rem !important;
    font-size: .875rem !important;
    min-width: 2rem !important
  }
  .gsc-results .gsc-cursor-box .gsc-cursor-page:hover {
    padding: .375rem .5rem !important
  }
}

.gsc-branding,
.gsc-branding-text,
.gsc-url-top,
.gsc-url-bottom,
.gsc-thumbnail-left {
  display: none !important
}

.gcsc-more-maybe-branding-root {
  text-align: center !important;
  margin: 2rem 0 !important;
  display: flex;
  justify-content: space-between
}

.gcsc-find-more-on-google {
  color: #444 !important
}

.gcsc-find-more-on-google-magnifier {
  display: inline-block !important;
  fill: #444 !important
}

.gsc-results .gsc-result .gsc-thumbnail-left,
.gsc-results .gsc-result .gsc-thumbnail,
.gsc-results .gsc-result .gsc-table-cell .gsc-thumbnail-left,
.gsc-results .gsc-result .gsc-table-cell .gsc-thumbnail,
.gsc-results .gsc-result img {
  display: none !important
}

.gsst_a .gscb_a {
  color: var(--black) !important;
  fill: var(--black) !important;
  opacity: 1 !important
}

.gsst_a .gscb_a:hover {
  color: var(--purple) !important;
  fill: var(--purple) !important;
  opacity: 1 !important
}

.gsst_a .gscb_a:focus {
  color: var(--purple) !important;
  fill: var(--purple) !important;
  outline: 2px solid var(--purple) !important;
  outline-offset: 2px !important;
  opacity: 1 !important
}

.gsc-control-cse {
  font-family: var(--sans) !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  position: relative !important
}

.gsc-control-cse .gsc-option-selector {
  background-color: var(--white) !important;
  border: 1px solid var(--purple-med) !important;
  border-radius: var(--radius) !important;
  color: var(--purple) !important
}

.search-container {
  min-width: 100%;
  margin: 0 auto;
  text-align: center
}

.search-heading {
  font: var(--h2) !important;
  color: var(--heading) !important;
  margin-bottom: 1rem !important
}

.search-intro {
  font: var(--body) !important;
  color: var(--gray-medium) !important;
  margin-bottom: 2rem !important;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto
}

.search-container .gsc-control-cse {
  position: relative;
  max-width: 600px;
  margin: 0 auto
}

@font-face {
  font-family: swiper-icons;
  src: url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA);
  font-weight: 400;
  font-style: normal
}

:root {
  --swiper-theme-color: #007aff
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block
}

.swiper-vertical>.swiper-wrapper {
  flex-direction: column
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translateZ(0)
}

.swiper-horizontal {
  touch-action: pan-y
}

.swiper-vertical {
  touch-action: pan-x
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block
}

.swiper-slide-invisible-blank {
  visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d
}

.swiper-3d {
  perspective: 1200px
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d
}

.swiper-css-mode>.swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
  display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: start start
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
  scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
  scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
  scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: none
}

.swiper-css-mode.swiper-centered>.swiper-wrapper:before {
  content: "";
  flex-shrink: 0;
  order: 9999
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after)
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10
}

.swiper-3d .swiper-slide-shadow {
  background: #00000026
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, #00000080, #0000)
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0)
  }
  to {
    transform: rotate(360deg)
  }
}

:root {
  --swiper-navigation-size: 44px
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important
}

.swiper-button-prev svg,
.swiper-button-next svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: center
}

.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
  transform: rotate(180deg)
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto
}

.swiper-button-lock {
  display: none
}

.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev"
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next"
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: .3s opacity;
  transform: translateZ(0);
  z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important
}

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(.33);
  position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(.33)
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, .2)
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer
}

.swiper-pagination-bullet:only-child {
  display: none !important
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.swiper-vertical>.swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0, -50%, 0)
}

.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block
}

.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px
}

.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: .2s transform, .2s top
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translate(-50%);
  white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: .2s transform, .2s left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: .2s transform, .2s right
}

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit)
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));
  position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0
}

.swiper-vertical>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0
}

.swiper-pagination-lock {
  display: none
}

:root {
  --swiper-navigation-top-offset: calc(100% - (var(--swiper-navigation-size) / 2) - .5rem);
  --swiper-navigation-sides-offset: .5rem;
  --swiper-navigation-size: 3rem;
  --swiper-pagination-height: 14px;
  --swiper-pagination-bottom: calc((var(--swiper-navigation-size) / 2) - calc(var(--swiper-pagination-height) / 2) + .5rem)
}

@media (width>=64em) {
  .swiper:not(:has(.swiper-pagination-lock)) {
    padding-bottom: calc(var(--space-xl) + var(--swiper-pagination-height))
  }
}

.swiper:has(.swiper-pagination-lock) .swiper-button-prev,
.swiper:has(.swiper-pagination-lock) .swiper-button-next {
  display: none
}

.swiper .swiper-pagination-lock {
  display: none;
  visibility: hidden
}

@container (width>=64rem) {
  .swiper:not(:has(.swiper-pagination-lock)):not(.ContentSidebar__content .swiper) {
    --swiper-navigation-size: 3.5rem;
    --swiper-navigation-top-offset: calc(50% - calc(var(--space-xl) + (var(--swiper-pagination-height) + var(--swiper-pagination-bottom)) - calc(var(--swiper-navigation-size) / 2)))
  }
  .swiper:not(:has(.swiper-pagination-lock)):not(.ContentSidebar__content .swiper) .swiper-content {
    margin: 0 calc((var(--gutter) / 2) + var(--swiper-navigation-size));
    padding-block: 1rem
  }
}

.swiper-content {
  margin-bottom: 2rem
}

.swiper-nav:not(:has(.swiper-pagination-lock)) {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.5rem;
  margin-bottom: 1rem
}

.swiper-button-prev,
.swiper-button-next {
  background: transparent;
  border: 1px solid var(--accent);
  border-radius: 100%;
  width: var(--swiper-navigation-size);
  height: var(--swiper-navigation-size);
  transition: background-color var(--transition-base), color var(--transition-base), transform var(--transition)
}

:is(.swiper-button-prev,
.swiper-button-next):after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background: var(--accent);
  mask: url(angle-right.svg) center / contain no-repeat;
  transition: transform var(--transition)
}

:is(.swiper-button-prev,
.swiper-button-next):hover {
  background-color: var(--accent)
}

:is(.swiper-button-prev,
.swiper-button-next):hover:after {
  background: var(--swiper-nav-hover, var(--white));
  transform: scale(1.3)
}

@container (width < 64rem) {
  .swiper-button-prev,
  .swiper-button-next {
    position: unset;
    margin-top: unset
  }
  .theme-green-horizontal-two-thirds :is(.swiper-button-prev,
  .swiper-button-next) {
    --outline-color: var(--green)
  }
}

.swiper-button-prev:after {
  transform: rotate(180deg)
}

.swiper-button-prev:hover:after {
  transform: scale(1.3) rotate(180deg)
}

.swiper-button-next {
  order: 1
}

.swiper-pagination {
  display: flex;
  gap: .25rem;
  font: var(--text-cta);
  left: 0;
  right: 0;
  margin: 0 auto;
  width: fit-content
}

.swiper-pagination span {
  color: var(--heading)
}

.theme-green .swiper-pagination,
.theme-dark-shape .swiper-pagination {
  color: var(--yellow)
}

:is(.theme-green .swiper-pagination,
.theme-dark-shape .swiper-pagination) span {
  color: var(--white)
}

:is(:is(.theme-green .swiper-pagination,
.theme-dark-shape .swiper-pagination) span):first-child {
  border-color: var(--white)
}

@container (width < 64rem) {
  .swiper-pagination {
    position: unset;
    margin: unset
  }
}

@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 [target~=modal],
  :root img,
  :root svg {
    display: none !important
  }
  :root img.print,
  :root svg.print {
    display: block;
    max-width: 100%
  }
  :root h1 {
    break-before: always
  }
  :root table,
  :root img,
  :root svg {
    break-inside: avoid
  }
  :root .swiper-wrapper {
    flex-wrap: wrap
  }
  :root .swiper-slide {
    padding: 0;
    margin: 0;
    width: unset
  }
  :root .Header {
    display: none !important;
    overflow: hidden !important;
    visibility: hidden !important
  }
}

.Button,
.form_button_submit,
.hh-module .secondary-button,
.hh-module .primary-button {
  --theme: var(--accent, var(--purple));
  display: inline-block;
  position: relative;
  padding: .675rem 1.5rem;
  border: .15rem solid var(--theme);
  border-radius: 8rem;
  transition: background var(--transition), color var(--transition);
  background: var(--purple);
  color: var(--white);
  font: var(--text-button);
  letter-spacing: -.01063rem;
  text-align: center;
  outline-color: var(--theme);
  width: fit-content;
  overflow: clip;
  z-index: 1
}

:is(.Button,
.form_button_submit,
.hh-module .secondary-button,
.hh-module .primary-button):before {
  content: "";
  position: absolute;
  inset: -.125rem;
  border-radius: 8.125rem;
  background: var(--purple-lightest);
  transform: translate(-101%);
  transition: transform var(--transition);
  z-index: -1
}

@container (width < 32em) {
  .Button,
  .form_button_submit,
  .hh-module .secondary-button,
  .hh-module .primary-button {
    width: 100%
  }
}

:is(.Button,
.form_button_submit,
.hh-module .secondary-button,
.hh-module .primary-button):hover {
  color: var(--purple)
}

:is(.Button,
.form_button_submit,
.hh-module .secondary-button,
.hh-module .primary-button):hover:before {
  transform: none
}

.Button--alt,
.Buttons--alt .Button,
.hh-module .secondary-button {
  background: var(--white);
  color: var(--purple)
}

:is(.Button--alt,
.Buttons--alt .Button,
.hh-module .secondary-button):before {
  background-color: var(--purple)
}

:is(.Button--alt,
.Buttons--alt .Button,
.hh-module .secondary-button):hover {
  color: var(--white)
}

.Button.full-width {
  width: 100%
}

.Button--outline {
  background: transparent;
  --theme: var(--white)
}

.Button--outline:before {
  background-color: var(--purple-lt)
}

.Button--outline:hover {
  color: var(--purple)
}

.Buttons--white {
  --theme: var(--white);
  background: var(--purple);
  color: var(--white)
}

.Buttons--white:before {
  background-color: var(--purple-lt)
}

.Button--underline:is(a,
button),
.Button--underline:is(div)>* {
  --outline-color: var(--link);
  --button-bg: transparent;
  display: inline-flex;
  align-items: baseline;
  line-height: var(--leading-fine);
  gap: 0 var(--space-xs);
  position: relative;
  color: var(--link);
  border-radius: 0;
  font-weight: var(--font-bold);
  text-decoration: none;
  padding: 0;
  width: fit-content
}

:is(.Button--underline:is(a,
button),
.Button--underline:is(div)>*):before {
  display: none
}

:is(.Button--underline:is(a,
button),
.Button--underline:is(div)>*) span {
  display: flex;
  align-items: center;
  gap: .75rem;
  position: relative;
  margin-inline: 0
}

:is(.Button--underline:is(a,
button),
.Button--underline:is(div)>*):hover {
  --button-text-hover: var(--link)
}

.Buttons {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--gap-sm);
  margin-block: var(--gap)
}

@media (width < 63.999em) {
  .Buttons {
    width: 100%
  }
}

.Buttons--stack {
  flex-direction: column;
  margin-inline: auto
}

.Buttons--start {
  align-items: start
}

:is(.home-template .Buttons--home,
.home-template .Section__header) .Button {
  background: var(--white);
  color: var(--purple)
}

:is(:is(.home-template .Buttons--home,
.home-template .Section__header) .Button):before {
  background-color: var(--purple)
}

:is(:is(.home-template .Buttons--home,
.home-template .Section__header) .Button):hover {
  color: var(--white)
}

.Alert {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  position: relative;
  padding-block: 1rem;
  padding-inline: 1rem;
  z-index: 3
}

.Alert .Buttons {
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  position: relative
}

@media (width>=48em) {
  .Alert .Buttons {
    margin-left: auto
  }
}

@media (width>=48em) {
  .Alert {
    padding: 1.5rem var(--gap-sm)
  }
}

.Alert--primary {
  background: var(--red) !important
}

.Alert--alt {
  background: #f1f1f8;
  color: var(--black)
}

:is(.Alert--alt .Alert__close):before,
:is(.Alert--alt .Alert__close):after {
  background-color: var(--black)
}

@media (width>=48em) {
  .Alert--alt {
    padding-right: calc(var(--gap-sm)*2)
  }
  .Alert--alt:has(.Alert__close) {
    padding-right: calc((var(--gap-sm)*2) + 22px)
  }
}

.Alert__heading {
  padding-inline: 0 5rem
}

@media (width>=48em) {
  .Alert__heading {
    padding-inline: 0
  }
}

.Alert--primary .Alert__heading {
  font: var(--h6)
}

.Alert__heading {
  margin: 0;
  font-weight: 700
}

.Alert__warning {
  display: flex;
  align-items: center;
  gap: .5rem
}

.Alert__warning:before {
  content: "";
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background: currentColor;
  mask-image: url(warning.svg);
  mask-repeat: no-repeat
}

.Alert__close,
.Alert__toggle {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: .5rem;
  right: 1rem;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  transition: transform var(--transition);
  z-index: 1
}

:is(.Alert__close,
.Alert__toggle):hover {
  transform: scale(1.2)
}

:is(.Alert__close,
.Alert__toggle):before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: currentcolor
}

@media (width>=64em) {
  .Alert__close,
  .Alert__toggle {
    top: unset;
    right: calc(var(--gap-sm) - .5rem)
  }
}

.Alert--primary .Alert__close {
  top: .5rem;
  right: 3rem
}

.Alert__close:before {
  content: "";
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background: currentColor;
  mask-image: url(close.svg);
  mask-repeat: no-repeat
}

.Alert__toggle {
  width: 18px;
  height: 18px;
  top: 1.25rem
}

@media (width < 64em) {
  .Alert__toggle {
    right: var(--gap-sm)
  }
}

.Alert__toggle:before,
.Alert__toggle:after {
  content: "";
  position: absolute;
  background-color: #fff;
  transition: transform var(--transition)
}

.Alert__toggle:before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  margin-top: -1px
}

.Alert__toggle:after {
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  margin-left: -1px;
  transform: rotate(90deg)
}

.Alert__toggle:hover:before {
  transform: scale(1.05)
}

.Alert__toggle[aria-expanded=false]:before {
  transform: rotate(90deg) scale(1)
}

.Alert__toggle[aria-expanded=false]:hover:before {
  transform: rotate(90deg) scale(1.05)
}

.Alert__toggle[aria-expanded=false]:hover:after {
  transform: rotate(90deg) scale(1.05)
}

.Alert__content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: var(--height, auto);
  width: 100%;
  transition: height .3s cubic-bezier(.4, 0, .2, 1), visibility .15s cubic-bezier(.4, 0, .2, 1), padding-top .3s cubic-bezier(.4, 0, .2, 1);
  padding-top: 2rem
}

.Alert--primary .Alert__content {
  padding-top: 1rem
}

.Alert__content[data-active=false] {
  visibility: hidden;
  padding-top: 0;
  transition: height .25s cubic-bezier(.4, 0, .2, 1), visibility .1s cubic-bezier(.4, 0, .2, 1), padding-top .25s cubic-bezier(.4, 0, .2, 1)
}

.Alert__content[data-active=true] {
  visibility: visible
}

@media (width>=64em) {
  .Alert__content {
    padding-top: 0;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: var(--gap-sm)
  }
}

.Alert__text {
  margin: 0
}

:is(html:has(.menu-open),
html:has(.search-open)) #main-content {
  position: relative;
  pointer-events: none;
  cursor: default;
  user-select: none
}

.Header {
  --color: var(--purple);
  --height: 3.75rem;
  position: sticky;
  top: 0;
  background: var(--white);
  color: var(--purple);
  z-index: 3;
  transition: transform var(--transition)
}

.Header.Header--college {
  box-shadow: 0 0 28px #003b73bf
}

:is(.Header .link-cta):after {
  background-color: var(--white)
}

:is(.Header .link-cta):hover {
  color: var(--black)
}

@media (width < 80em) {
  .Header .Button {
    width: 100%
  }
}

.Header[data-sticky] {
  transition: all .5s cubic-bezier(.34, .615, .4, .985);
  box-shadow: 0 0 28px #003b7333
}

@media (width>=80em) {
  .Header {
    display: flex;
    flex-direction: column
  }
}

.Header__primary {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 3rem) minmax(0, 3.5rem) 1fr;
  margin-inline: var(--gutter)
}

@media (width>=80em) {
  .Header__primary {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem;
    width: auto;
    margin-inline: var(--gutter);
    order: 0;
    grid-template-columns: unset
  }
}

@media (width>=90rem) {
  .Header__primary {
    gap: var(--gap)
  }
}

.Header__logo {
  flex: 1;
  display: grid;
  place-items: center;
  align-self: stretch;
  width: 100%;
  max-width: 9em;
  min-width: 6rem;
  height: 5rem;
  margin-left: auto;
  transition: var(--transition);
  position: relative;
  order: 3
}

.Header__logo:focus {
  outline-offset: -.25rem
}

@media (width>=80em) {
  .Header__logo {
    max-width: 10em;
    height: 5.5rem;
    align-self: auto;
    margin-right: auto;
    padding-block: 1rem;
    margin-left: 0;
    place-items: center;
    transition: all .6s cubic-bezier(.16, 1, .3, 1), height .5s cubic-bezier(.34, .615, .4, .985);
    order: unset
  }
}

.Header__logo svg>path {
  fill: var(--purple)
}

[data-sticky] .Header__logo {
  max-width: 12em
}

@media (width>=64em) {
  [data-sticky] .Header__logo {
    max-width: 15em;
    height: 4.5rem
  }
}

.Header__logo-default,
.Header__logo-sticky {
  transition: opacity .6s cubic-bezier(.16, 1, .3, 1), height .6s cubic-bezier(.16, 1, .3, 1)
}

.Header__logo-default {
  opacity: 1
}

[data-sticky] .Header__logo-default {
  opacity: 0;
  height: 0
}

.Header__logo-sticky {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  width: 100%;
  height: auto;
  max-width: none
}

[data-sticky] .Header__logo-sticky {
  opacity: 1
}

.Header__logo-sticky svg {
  width: 100%;
  height: auto;
  max-height: 5rem
}

.Header__search-toggle,
.Header__menu-toggle {
  padding: 0;
  border: 0;
  background: none;
  outline-offset: -.35rem
}

:is(.Header__search-toggle,
.Header__menu-toggle):before {
  content: "";
  display: block;
  width: 2.5rem;
  height: 4.5rem;
  transition: background var(--transition), transform var(--transition);
  background: var(--purple);
  mask: center / 2rem no-repeat
}

[aria-expanded=true]:is(.Header__search-toggle,
.Header__menu-toggle):before {
  mask: url(close.svg) center / 2rem no-repeat
}

@media (width>=80em) {
  :is(.Header__search-toggle,
  .Header__menu-toggle):before {
    width: 3rem;
    height: 3rem;
    mask: center / 2.5rem no-repeat
  }
  [aria-expanded=true]:is(.Header__search-toggle,
  .Header__menu-toggle):before {
    mask: url(close.svg) center / 2rem no-repeat
  }
  :is(.Header__search-toggle,
  .Header__menu-toggle):hover:before {
    transform: scale(1.2)
  }
}

.Header__search-toggle {
  order: 2;
  display: flex;
  align-items: center;
  gap: .5rem
}

.Header__search-toggle:before {
  mask: url(search.svg) center / 2.75rem no-repeat
}

@media (width>=80em) {
  .Header__search-toggle {
    position: relative;
    order: 3
  }
  .Header__search-toggle[aria-expanded=true]:after {
    top: 3.75rem;
    opacity: 1
  }
}

.Header__search-label {
  display: none;
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--purple);
  position: relative
}

@media (width>=80em) {
  .Header__search-label {
    display: block
  }
}

.Header__search-label:after {
  content: "Close";
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition), visibility var(--transition)
}

.Header__search-toggle[aria-expanded=true] .Header__search-label {
  color: transparent
}

:is(.Header__search-toggle[aria-expanded=true] .Header__search-label):after {
  opacity: 1;
  visibility: visible;
  color: var(--purple)
}

.Header__menu-toggle {
  order: 1
}

.Header__menu-toggle:before {
  mask-image: url(menu.svg)
}

@media (width>=80em) {
  .Header__menu-toggle {
    display: none;
    visibility: hidden;
    order: unset
  }
}

.Header__search {
  display: none;
  position: absolute;
  inset: 5.5rem 0 auto;
  height: calc(100dvh - 3.75rem);
  padding: var(--gap);
  transition: opacity var(--transition), visibility var(--transition);
  width: 100%;
  opacity: 0;
  visibility: hidden;
  overflow: auto;
  overscroll-behavior: contain;
  top: 100%;
  height: auto;
  background: var(--purple);
  color: var(--white);
  --color: var(--white);
  --link: var(--white);
  box-shadow: var(--shadow);
  gap: var(--gap);
  display: flex;
  flex-direction: column;
  z-index: 2
}

.Header__search .wrapper {
  padding-inline: 0
}

@container (width>=80rem) {
  .Header__search {
    padding: var(--gutter);
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: 1fr 1fr;
    gap: 0 var(--gap);
    align-items: start;
    width: calc(100% + var(--gutter) * 2);
    margin-left: calc(var(--gutter) * -1)
  }
}

.Header__search .Header__heading {
  color: var(--white);
  font-style: normal;
  font-weight: 700;
  line-height: 1.75rem;
  letter-spacing: .115rem
}

@container (width>=64rem) {
  .Header__search .Header__heading {
    font-size: 2.875rem;
    line-height: 3.5rem
  }
}

.Header__search form {
  width: 100%
}

[aria-expanded=true]+.Header__search {
  opacity: 1;
  visibility: visible
}

.Header__heading {
  grid-column: 1;
  grid-row: 1 / 3;
  display: block;
  margin: 0;
  color: var(--purple);
  font: var(--h2);
  font-variation-settings: var(--scale-vf-settings);
  font-style: normal;
  font-weight: 700;
  line-height: 3.5rem;
  letter-spacing: .115rem;
  align-self: start
}

.Header__search .Header__heading {
  justify-self: end
}

@container (width>=80rem) {
  .Header__search .Header__heading {
    max-width: 300px
  }
}

.Header__form-wrapper {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  gap: 1rem
}

@container (width>=64rem) {
  .Header__form-wrapper {
    margin-bottom: var(--gap-sm)
  }
}

.Header__form {
  position: relative;
  flex: 1
}

.Header__input {
  position: relative;
  display: block;
  font: var(--h3);
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: .015rem;
  border: 3px solid var(--white);
  border-radius: 8rem;
  width: 100%;
  height: 4rem;
  padding-inline-start: 1.5rem;
  padding-inline-end: 4rem;
  background: var(--purple);
  color: var(--white)
}

@media (width>=80em) {
  .Header__input {
    font-size: 2rem
  }
}

.Header__input:focus {
  outline-offset: -.35rem;
  outline-width: 3px;
  outline-color: var(--white);
  outline-style: solid
}

.Header__search .Header__input {
  font: var(--h3);
  padding: var(--gap);
  padding-inline-end: 6rem
}

.Header__submit {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  padding: 0;
  border: 0;
  background: transparent;
  transition: var(--transition);
  border-radius: 50%;
  transform: translateY(-50%);
  width: 3rem;
  height: 3rem
}

.Header__submit:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--white);
  mask: url(search.svg) center / 3rem no-repeat;
  transition: var(--transition)
}

.Header__submit:hover:before {
  background-color: var(--purple-lt)
}

.Header__search .Header__submit {
  right: var(--gap)
}

.Header__frequent-wrapper {
  grid-column: 2;
  grid-row: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0
}

@media (width < 79.999em) {
  .Header__frequent-wrapper {
    gap: 1rem
  }
}

.Header__frequent-wrapper .h4 {
  margin: 1rem 0
}

.Header__subheading {
  font-size: .9375rem;
  font-weight: 500;
  letter-spacing: .13125rem;
  text-transform: uppercase;
  font-family: var(--scale-vf);
  font-variation-settings: var(--scale-vf-settings)
}

.Header__frequent {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--gap-sm);
  margin: 0;
  padding: 0;
  list-style: none
}

@media (width < 79.999em) {
  .Header__frequent {
    gap: 1rem
  }
}

:is(.Header__frequent li) a {
  font: var(--text-small);
  font-weight: 600;
  line-height: 150%;
  letter-spacing: .00875rem
}

:is(:is(.Header__frequent li) a):hover {
  color: var(--white) !important
}

.Header__search-actions {
  margin-top: auto;
  padding-top: var(--gap);
  width: 100%
}

.Header__search-actions ul {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none
}

@media (width < 48em) {
  .Header__search-actions ul {
    flex-wrap: wrap
  }
}

.Header__search-actions li {
  flex: 1
}

@media (width < 48em) {
  .Header__search-actions li {
    flex: 0 0 calc(50% - .5rem)
  }
}

.Header__search-actions .Button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  text-align: center;
  padding: .75rem 1rem
}

.Header__menu {
  display: grid;
  place-content: space-between;
  position: absolute;
  top: calc(var(--height) + 11px);
  left: 0;
  right: 0;
  height: calc(100dvh - calc(var(--height) - 1px));
  gap: 0;
  padding: 0 var(--gap);
  background: var(--white);
  color: var(--purple);
  overflow: auto;
  overscroll-behavior: contain
}

@media (width < 79.999em) {
  .Header__menu {
    opacity: 0;
    visibility: hidden
  }
}

@media (width>=80em) {
  .Header__menu {
    position: fixed;
    display: contents;
    top: 7.5rem
  }
}

@media (width < 79.999em) {
  [aria-expanded=true]+.Header__menu {
    transition: transform var(--transition), opacity var(--transition), visibility var(--transition);
    transform: none;
    opacity: 1;
    visibility: visible;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    z-index: 1
  }
}

.Header__nav {
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 1rem;
  display: flex
}

@media (width <=79.999em) {
  .Header__nav {
    margin-block: 1rem;
    display: block
  }
}

@media (width>=90em) {
  .Header__nav {
    gap: 3rem
  }
}

.Header__nav ul {
  margin: 0;
  padding: 0;
  list-style: none
}

:is(.Header__nav ul) li {
  display: grid;
  place-items: flex-end
}

@media (width>=80em) {
  :is(.Header__nav ul) li {
    border-bottom: .0625rem solid rgba(0, 59, 115, .2)
  }
}

.Header__mega-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  position: relative;
  font-size: 1.5rem;
  line-height: 3;
  font-weight: 600;
  padding: 0;
  background: none;
  border: 0;
  border-bottom: 1px solid var(--purple);
  width: 100%;
  transition: transform var(--transition)
}

.Header__mega-toggle:after {
  content: "";
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  transition: transform var(--transition), background var(--transition);
  background: var(--purple);
  mask: url(caret-down.svg) center / contain no-repeat
}

.Header__mega-toggle[aria-expanded=true]:after {
  transform: rotate(180deg)
}

@media (width>=80em) {
  .Header__mega-toggle {
    font-size: 1.125rem;
    border: none;
    color: inherit;
    text-decoration: none
  }
  .Header__mega-toggle:hover {
    transform: translateY(-3px)
  }
  .Header__mega-toggle:after {
    content: "";
    flex-shrink: 0;
    width: .75rem;
    height: .75rem;
    transition: transform var(--transition), background var(--transition);
    background: var(--purple);
    mask: url(caret-down.svg) center / contain no-repeat
  }
  .Header__mega-toggle span {
    position: relative
  }
  :is(.Header__mega-toggle span):after {
    position: absolute;
    content: " ";
    left: 50%;
    width: 0;
    height: .25rem;
    top: 0;
    transition: width var(--transition), left var(--transition);
    background: linear-gradient(var(--purple), var(--purple))
  }
  :is(:is(.Header__mega-toggle[aria-expanded=true],
  .Header__mega-toggle:hover) span):after {
    width: 100%;
    left: 0
  }
}

@media (width < 79.999em) {
  .Header__mega {
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: minmax(0, 0fr);
    transition: grid-template-rows var(--transition), visibility var(--transition);
    overflow: clip;
    overflow-clip-margin: 0;
    visibility: hidden
  }
  [aria-expanded=true]+.Header__mega {
    grid-template-rows: minmax(0, 1fr);
    visibility: visible;
    overflow-clip-margin: .5rem
  }
  .Header__menu-toggle[aria-expanded=false]+.Header__menu .Header__mega {
    visibility: hidden
  }
}

@media (width>=80em) {
  .Header__mega {
    position: absolute;
    padding: 0;
    margin-inline: 0;
    left: 0;
    right: 0;
    top: 100%;
    display: grid;
    grid-template-rows: minmax(0, 0fr);
    overflow: clip;
    background: transparent;
    visibility: hidden;
    z-index: -1
  }
  body.menu-open .Header__mega {
    transition: none
  }
  [aria-expanded=true]+.Header__mega {
    grid-template-rows: minmax(0, 1fr);
    background: var(--white);
    padding: var(--gap) calc(var(--gutter) + 1rem) calc(var(--gap) + 3rem) calc(var(--gutter) + 1rem);
    margin-inline: -5rem;
    box-shadow: 0 .75rem .75rem -.75rem #00000040;
    z-index: 1;
    visibility: visible;
    overflow: visible
  }
  :is([aria-expanded=true]+.Header__mega) .Header__group {
    opacity: 1;
    transform: none;
    transition: opacity .2s ease .3s, transform .2s ease .3s
  }
  @media (prefers-reduced-motion) {
    :is([aria-expanded=true]+.Header__mega) .Header__group {
      transition-delay: 0s;
      transition-duration: 0s
    }
  }
  :is([aria-expanded=true]+.Header__mega) .Header__cta {
    opacity: 1;
    transform: none;
    transition: opacity .2s ease .3s, transform .2s ease .3s
  }
  @media (prefers-reduced-motion) {
    :is([aria-expanded=true]+.Header__mega) .Header__cta {
      transition-delay: 0s;
      transition-duration: 0s
    }
  }
  :is([aria-expanded=true]+.Header__mega) .Header__utility--mega {
    opacity: 1;
    transform: none;
    transition: opacity .2s ease .3s, transform .2s ease .3s
  }
  @media (prefers-reduced-motion) {
    :is([aria-expanded=true]+.Header__mega) .Header__utility--mega {
      transition-delay: 0s;
      transition-duration: 0s
    }
  }
  @media (prefers-reduced-motion) {
    .Header__mega {
      transition-delay: 0s;
      transition-duration: 0s
    }
  }
}

.Header__mega .Buttons {
  margin-block: 2rem;
  justify-content: center
}

@media (width>=80em) {
  .Header__mega .Buttons {
    margin-block: 3rem 0
  }
}

@media (width <=79.999em) {
  :is(.Header__collapse a):after {
    transform: none;
    opacity: 1
  }
}

.Header__title {
  margin-block: 2rem;
  color: var(--black);
  font: var(--h5);
  font-weight: 700 !important;
  transition: background var(--transition), color var(--transition) !important
}

@media (width>=80em) {
  .Header__title {
    display: inline-flex !important;
    align-items: center;
    margin-block: 0 var(--gap);
    padding-bottom: .125rem !important;
    font: var(--h2) !important
  }
  .Header__title:after {
    margin-block: -1rem
  }
}

.Header__grid {
  display: grid;
  grid-template-columns: 100%;
  gap: 1rem
}

@media (width <=79.999em) {
  .Header__grid {
    display: flex;
    flex-direction: column;
    margin-top: 1rem
  }
}

.Header__grid ul {
  display: grid;
  grid-template-columns: 100%;
  margin-block: 1rem;
  column-count: 2
}

:is(:is(.Header__grid ul) li) a {
  position: relative;
  display: flex;
  align-items: center;
  color: var(--purple);
  --color: var(--purple);
  padding-block: .75rem;
  font-weight: 600;
  width: 100%;
  text-decoration: none;
  transition: box-shadow var(--transition), text-shadow var(--transition);
  background: none;
  border-color: #0000
}

:is(:is(:is(.Header__grid ul) li) a):hover {
  background-position-x: 0;
  box-shadow: 0 .25rem var(--purple-lt)
}

@media (width <=79.999em) {
  :is(:is(:is(.Header__grid ul) li) a):after {
    display: none
  }
}

@media (width>=80em) {
  .Header__grid {
    gap: var(--gap)
  }
  .Header__grid ul {
    margin-top: 2rem
  }
  .Header__grid:has(.Header__cta) {
    grid-template-columns: 3fr 2fr
  }
}

@media (width <=79.999em) {
  .Header__group ul {
    padding-inline: 1rem 0
  }
}

@media (width>=80em) {
  .Header__group {
    opacity: 0;
    transform: translate(10%);
    transition: opacity .4s ease-in-out 0s, transform .4s ease-in-out 0s
  }
  .Header__group ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 var(--gap)
  }
  @media (prefers-reduced-motion) {
    .Header__group {
      transition-delay: 0s;
      transition-duration: 0s
    }
  }
}

.Header__cta {
  position: relative;
  display: flex;
  background: var(--white);
  color: var(--black);
  opacity: 0;
  transform: translate(-10%);
  transition: opacity .02s ease-in-out, transform .2s ease-in-out
}

:is(.Header__cta:has(.link-cover:hover) .Header__cta-image) img {
  transform: scale(1.1)
}

.Header__cta:has(.link-cover:hover) .link-cta {
  box-shadow: 0 5px #eeaf30;
  text-shadow: .5px 0 0 currentColor
}

.Header__cta:has(.link-cover:focus-visible) {
  outline: .25rem dashed;
  outline-offset: .25rem;
  outline-color: var(--color, var(--black))
}

@media (width <=79.999em) {
  .Header__cta {
    opacity: 1;
    transform: none;
    margin-inline: 1rem 0;
    margin-bottom: 1rem;
    max-width: 600px
  }
}

@media (prefers-reduced-motion) {
  .Header__cta {
    transition-delay: 0s;
    transition-duration: 0s
  }
}

.Header__cta-image {
  overflow: hidden
}

.Header__cta-image img {
  object-fit: cover;
  height: 100%;
  transition: transform .5s ease
}

@media (prefers-reduced-motion) {
  .Header__cta-image img {
    transition-delay: 0s;
    transition-duration: 0s
  }
}

@media (width>=100em) {
  .Header__cta-image img {
    max-height: 375px
  }
}

.Header__cta-main {
  --accent: var(--black);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--gap-sm);
  position: absolute;
  left: 0;
  bottom: 0;
  background: linear-gradient(180deg, #1e165600 3.18%, #1e1656);
  color: var(--white);
  width: 100%;
  height: 50%
}

.Header__cta-title,
.Header__cta-title .link-cover {
  display: flex;
  align-items: center;
  gap: 1rem
}

.Header__cta-title .link-cta {
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: -.01063rem;
  box-shadow: 0 4px #eeaf30;
  padding-bottom: .25rem;
  text-decoration: none
}

.Header__utility {
  --accent: var(--white);
  --color: var(--white);
  background-color: var(--purple);
  color: var(--white);
  display: none
}

@media (width>=80em) {
  .Header__utility {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding-inline: var(--gutter);
    padding-top: 1rem;
    padding-bottom: 1rem;
    min-height: 4rem
  }
}

@media (width>=80em) {
  .Header__utility--mega {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    margin: 0;
    border-top: 1px solid rgba(0, 59, 115, .1);
    opacity: 0;
    transform: translateY(10%);
    transition: opacity .4s ease-in-out 0s, transform .4s ease-in-out 0s
  }
  @media (prefers-reduced-motion) {
    .Header__utility--mega {
      transition-delay: 0s;
      transition-duration: 0s
    }
  }
}

@media (width < 80em) {
  .Header__utility--mega {
    display: none
  }
}

.Header__utility--mobile {
  flex-direction: column;
  gap: 2rem;
  display: flex;
  height: 100%;
  background-color: var(--white);
  color: var(--purple)
}

@media (width>=80em) {
  .Header__utility--mobile {
    display: none;
    visibility: hidden
  }
}

.Header__actions {
  display: flex;
  flex-direction: row;
  gap: .75rem;
  margin: 0;
  padding: 0;
  list-style: none
}

@media (width < 79.999em) {
  .Header__actions {
    margin-bottom: 0;
    padding: .5rem 0 2rem;
    border-top: .5rem solid var(--purple-lt);
    border-bottom: 0;
    background: var(--white);
    justify-content: space-between;
    margin-top: auto
  }
  .Header__actions a {
    color: var(--purple);
    font-weight: 700
  }
}

@media (width>=80em) {
  .Header__actions {
    gap: 2.5rem
  }
  .Header__actions a {
    z-index: 1;
    font: var(--h2);
    font-variation-settings: var(--scale-vf-settings);
    font-size: .9375rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: .13125rem;
    text-transform: uppercase
  }
  li:last-of-type :is(.Header__actions a) {
    padding-right: 0
  }
}

.Header__actions li {
  position: relative
}

:is(.Header__actions li):not(:last-child):after {
  content: "";
  position: absolute;
  right: auto;
  top: 50%;
  transform: translateY(-50%);
  width: 1rem;
  height: 1rem;
  background: var(--blue);
  mask: url(star-sm.svg) center / contain no-repeat;
  display: none
}

@media (width>=80em) {
  :is(.Header__actions li):not(:last-child):after {
    display: block;
    right: -1.75rem;
    width: 1.25rem;
    height: 1.25rem
  }
}

.Header__actions a {
  position: relative;
  text-decoration: none
}

@media (width>=80em) {
  :is(.Header__actions a):after {
    position: absolute;
    content: "";
    left: 50%;
    width: 0;
    height: .25rem;
    top: -1.5rem;
    transition: width var(--transition), left var(--transition);
    background: linear-gradient(var(--purple-lt), var(--purple-lt))
  }
  :is(.Header__actions a):hover:after {
    width: 100%;
    left: 0
  }
}

.Header__audience {
  position: relative;
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  font: var(--text-small);
  font-weight: 700
}

@media (width < 79.999em) {
  .Header__audience {
    flex-direction: column;
    align-items: flex-start;
    margin: var(--gap) 0;
    gap: 2rem;
    font-size: .9375rem
  }
  .Header__audience li {
    text-align: left !important
  }
}

.Header__audience a {
  display: block;
  position: relative;
  padding-top: 0;
  font-weight: 700
}

@media (width>=80em) {
  :is(.Header__audience a):after {
    position: absolute;
    content: "";
    left: 50%;
    width: 0;
    height: .25rem;
    top: -1.35rem;
    transition: width var(--transition), left var(--transition);
    background: linear-gradient(var(--purple-lt), var(--purple-lt))
  }
  :is(.Header__audience a):hover:after {
    width: 100%;
    left: 0
  }
}

.Header__audience li {
  text-align: center
}

.Header__audience>*+* {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center
}

@media (width>=80em) {
  .Header__audience {
    gap: 1.5rem;
    margin: 0
  }
  :is(.Header__audience>*+*):before {
    left: -.75rem
  }
}

.Home--callout {
  position: relative;
  padding-inline: var(--wrap);
  text-align: center
}

@container (width>=64rem) {
  .Home--callout {
    padding-inline: calc(var(--wrap) * 2 + 3rem)
  }
}

.Home--callout__star {
  position: absolute;
  pointer-events: none
}

.no-star .Home--callout__star {
  display: none
}

.Home--callout__star.Home--callout__star--top-left {
  top: 0;
  left: 0;
  z-index: 2
}

.Home--callout__star.Home--callout__star--top-left svg {
  width: 3rem;
  height: 3rem
}

@container (width>=64rem) {
  .Home--callout__star.Home--callout__star--top-left svg {
    width: 6rem;
    height: 6rem
  }
}

.Home--callout__star.Home--callout__star--top-right {
  top: -2rem;
  left: 2rem;
  z-index: 1
}

@container (width>=64rem) {
  .Home--callout__star.Home--callout__star--top-right {
    left: 5rem
  }
}

.Home--callout__star.Home--callout__star--top-right svg {
  width: 2.5rem;
  height: 2.5rem
}

.Home--callout__star.Home--callout__star--bottom-right {
  bottom: -2rem;
  right: 0;
  z-index: 2
}

@container (width>=64rem) {
  .Home--callout__star.Home--callout__star--bottom-right {
    bottom: 0
  }
}

.Home--callout__star.Home--callout__star--bottom-right svg {
  width: 4rem;
  height: 4rem
}

.Footer {
  width: 100%
}

.Footer .st1 {
  fill: #fff
}

@media (width>=80rem) {
  .Footer .link-underline {
    text-decoration: underline;
    text-decoration-thickness: 3px;
    text-underline-offset: .3em;
    transition: var(--transition);
    text-decoration-color: #0000
  }
  :is(.Footer .link-underline):hover {
    text-decoration-color: var(--link-underline-color, currentColor)
  }
}

.Footer__main {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  padding: var(--panel) var(--wrap);
  background: var(--purple);
  color: var(--white);
  --color: var(--white)
}

@media (width>=48rem) {
  .Footer__main {
    display: grid;
    grid-template-columns: 1fr;
    padding: var(--gutter);
    align-items: center
  }
}

@media (width>=80rem) {
  .Footer__main {
    grid-template-columns: 1fr 2fr;
    gap: calc(var(--gap) * 2);
    padding: 0 var(--gutter);
    align-items: center
  }
}

.Footer__up {
  display: none
}

@media (width>=80rem) {
  .Footer__up {
    display: block;
    position: relative;
    height: 100%;
    min-height: 25rem;
    max-height: 40rem;
    padding: 0
  }
  .Footer__up svg {
    width: 100%;
    height: 100%;
    fill: var(--purple-lt);
    opacity: .4
  }
}

.Footer__content {
  display: flex;
  flex-direction: column;
  gap: var(--gap)
}

@media (width>=48rem) {
  .Footer__content {
    justify-content: space-between
  }
}

.Footer__brand {
  display: flex;
  flex-direction: column;
  gap: var(--gap-sm)
}

@media (width>=48rem) {
  .Footer__brand {
    flex-direction: row;
    align-items: center;
    gap: var(--gap)
  }
}

.Footer__logo {
  display: grid;
  place-items: center;
  width: 15rem;
  background: var(--purple);
  color: var(--white);
  outline-color: var(--white);
  outline-offset: -.35rem
}

@media (width>=48rem) {
  .Footer__logo {
    width: 20rem
  }
}

.Footer__logo svg path {
  fill: var(--white)
}

.Footer__nav {
  display: grid;
  gap: var(--gap)
}

@media (width>=48rem) {
  .Footer__nav {
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--gap)
  }
}

.Footer__nav-column {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem 0 .5rem;
  margin: 0;
  font-weight: 700;
  border-top: 4px solid var(--blue)
}

.Footer__nav-column.Footer__nav-column--red {
  border-top-color: var(--coral)
}

.Footer__nav-column.Footer__nav-column--yellow {
  border-top-color: var(--yellow)
}

.Footer__nav-column ul {
  list-style-type: none;
  padding: 0;
  margin: 0
}

.Footer__bottom {
  display: flex;
  flex-direction: column;
  gap: var(--gap-sm);
  align-items: center
}

@media (width>=48rem) {
  .Footer__bottom {
    flex-direction: row;
    justify-content: space-between;
    align-items: center
  }
}

.Footer__social {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center
}

@media (width>=48rem) {
  .Footer__social {
    justify-content: flex-start
  }
}

:is(.Footer__social li) a {
  position: relative;
  display: grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  border: 1px solid var(--white);
  border-radius: 50%;
  transition: all .3s cubic-bezier(.4, 0, .2, 1);
  overflow: hidden
}

:is(:is(.Footer__social li) a):before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: var(--white);
  transform: scale(0);
  transition: transform .4s cubic-bezier(.4, 0, .2, 1);
  z-index: 1
}

:is(:is(.Footer__social li) a) svg {
  position: relative;
  z-index: 2;
  width: 1.5rem;
  height: 1.5rem;
  transition: all .3s cubic-bezier(.4, 0, .2, 1)
}

:is(:is(:is(.Footer__social li) a) svg) path {
  fill: var(--white);
  transition: fill .3s cubic-bezier(.4, 0, .2, 1)
}

:is(:is(.Footer__social li) a):hover {
  border-color: var(--white);
  box-shadow: 0 8px 25px #0000004d
}

:is(:is(.Footer__social li) a):hover:before {
  transform: scale(1.1)
}

:is(:is(.Footer__social li) a):hover svg path {
  fill: var(--purple)
}

@keyframes bounce {
  0% {
    transform: rotate(180deg) translateY(0)
  }
  50% {
    transform: rotate(180deg) translateY(-12px)
  }
  to {
    transform: rotate(180deg) translateY(0)
  }
}

.Footer__back-to-top {
  position: fixed;
  bottom: 6rem;
  right: 1.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .75rem;
  width: fit-content;
  cursor: pointer;
  font: var(--text-cta);
  z-index: 100;
  opacity: 0;
  transition: all .3s cubic-bezier(.25, .46, .45, .94)
}

@media (width>=48rem) {
  .Footer__back-to-top {
    right: 1.55rem
  }
}

.Footer__back-to-top:not(.Footer__back-to-top--in-footer) .Footer__back-to-top-icon {
  width: 2.5rem;
  height: 2.5rem;
  background: var(--purple);
  border-radius: 50%;
  display: grid;
  place-items: center;
  box-shadow: 0 4px 20px #0003;
  position: relative
}

:is(.Footer__back-to-top:not(.Footer__back-to-top--in-footer) .Footer__back-to-top-icon):before {
  content: "";
  position: absolute;
  inset: -.25rem;
  background: #ffffffe6;
  border-radius: 50%;
  backdrop-filter: blur(4px);
  z-index: -1
}

:is(.Footer__back-to-top:not(.Footer__back-to-top--in-footer) .Footer__back-to-top-icon) svg {
  display: block;
  width: 1rem;
  height: 1rem;
  fill: var(--white);
  transition: transform .3s cubic-bezier(.25, .46, .45, .94)
}

.Footer__back-to-top:not(.Footer__back-to-top--in-footer) span {
  display: none
}

:is(.Footer__back-to-top:not(.Footer__back-to-top--in-footer):hover .Footer__back-to-top-icon) svg {
  animation: bounce .8s ease-out
}

.Footer__back-to-top.Footer__back-to-top--in-footer {
  position: static;
  flex-direction: row;
  color: var(--white)
}

:is(.Footer__back-to-top.Footer__back-to-top--in-footer .Footer__back-to-top-icon):before {
  display: none
}

:is(.Footer__back-to-top.Footer__back-to-top--in-footer .Footer__back-to-top-icon) svg {
  display: block;
  width: 1rem;
  height: 1rem;
  fill: currentColor;
  transition: transform .3s cubic-bezier(.25, .46, .45, .94)
}

.Footer__back-to-top.Footer__back-to-top--in-footer span {
  background: none;
  padding: 0;
  border-radius: 0;
  backdrop-filter: none
}

.Footer__back-to-top.Footer__back-to-top--in-footer:hover .Footer__back-to-top-icon svg {
  transform: translateY(-3px)
}

.Footer__back-to-top-icon {
  position: relative;
  transition: all .3s cubic-bezier(.25, .46, .45, .94)
}

@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  to {
    transform: translateY(0)
  }
  40% {
    transform: translateY(-8px)
  }
  60% {
    transform: translateY(-4px)
  }
}

.Footer__legal {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  font-size: .875rem;
  padding: 1.5rem var(--wrap);
  background: color-mix(in srgb, var(--purple) 80%, black);
  color: var(--white);
  --color: var(--white)
}

@media (width>=48rem) {
  .Footer__legal {
    flex-direction: row;
    padding-inline: var(--gutter);
    justify-content: flex-start;
    gap: var(--gap-sm);
    font-weight: 400
  }
}

.Footer__legal p {
  margin: 0 auto 0 0
}

.Footer__legal ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 1rem
}

:is(.Footer__legal ul) a {
  font-weight: 400
}

@media (width>=48rem) {
  .Footer__legal ul {
    gap: var(--gap-sm);
    flex-direction: row
  }
}

.Section {
  display: grid;
  grid-template-columns: 100%;
  gap: var(--gap);
  margin-block: var(--panel);
  padding-inline: var(--wrap)
}

.ContentSidebar .Section {
  padding: 0
}

@media (width>=64em) {
  .Section:has(.Section__filters),
  .Section:has(.Section__footer) {
    grid-template-columns: 1fr
  }
  :is(.Section:has(.Section__filters),
  .Section:has(.Section__footer)) .Section__filters,
  :is(.Section:has(.Section__filters),
  .Section:has(.Section__footer)) .Section__footer {
    justify-self: center
  }
  :is(:is(.Section:has(.Section__filters),
  .Section:has(.Section__footer)) .Section__filters,
  :is(.Section:has(.Section__filters),
  .Section:has(.Section__footer)) .Section__footer) .Buttons {
    justify-content: center
  }
}

.Section:has(.Update) {
  margin: 1rem 0
}

@media (width < 64em) {
  .Section:has(.Subnav--full) {
    margin-inline: calc(-1 * var(--wrap))
  }
}

.Section:not(.Section--purple):not(.Section--gradient):not(.Section--bg-split)+.Section:not(.Section--purple):not(.Section--gradient):not(.Section--bg-split) {
  margin-top: 0
}

.Section--full {
  padding-inline: 0
}

.Section--short {
  margin-block: var(--gap-sm)
}

.Section--purple,
.Section--gradient {
  --accent: var(--white);
  --background: var(--purple);
  --color: var(--white);
  --heading: var(--white);
  position: relative;
  background: var(--purple);
  color: var(--white);
  margin: 0;
  padding-block: var(--panel)
}

:is(.Section--purple,
.Section--gradient)+.Section--purple {
  position: relative
}

:is(:is(.Section--purple,
.Section--gradient)+.Section--purple):before {
  content: " ";
  position: absolute;
  top: 0;
  left: var(--wrap);
  right: var(--wrap);
  height: 1px;
  margin: 0;
  background-color: var(--purple);
  z-index: 1
}

.Section--gradient {
  --background: var(--gradient);
  background: var(--gradient);
  margin: 0;
  padding-block: var(--panel)
}

.Section--bg-split {
  --color: var(--black);
  color: var(--black);
  overflow: hidden
}

.Section--bg-split.Section--black {
  background: unset
}

.Section--bg-split.Section--black .Section__header {
  position: relative;
  background: var(--black);
  --color: var(--white);
  color: var(--white);
  margin-top: calc(-1 * var(--panel));
  padding-block: var(--panel) calc((var(--panel) * 5) / 2)
}

:is(.Section--bg-split.Section--black .Section__header):before {
  content: "";
  background-color: var(--black);
  width: 100vw;
  height: 100%;
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  z-index: -1
}

.Section--bg-split.Section--black .Section__main {
  margin-top: calc(-1 * ((var(--panel) * 5) / 2))
}

.Section--bg-split+.Section:not(.Section--purple):not(.Section--gradient):not(.Section--bg-split),
.Section--bg-split+.Feature {
  margin-top: 0
}

@media (width>=64em) {
  .Section--bg-split-alt {
    position: relative;
    --color: var(--black);
    background: unset;
    color: var(--black)
  }
  .Section--bg-split-alt:before {
    content: "";
    background-color: var(--background);
    width: calc(var(--wrap) + 40rem);
    height: 100%;
    position: absolute;
    right: 0;
    z-index: -1
  }
  .Section--bg-split-alt:has(.FeaturedPosts--flip):before {
    left: 0;
    right: unset
  }
  .Section--bg-split-alt.Section--purple .Section__header {
    background: var(--purple);
    color: var(--white)
  }
}

@media (width>=78em) {
  .Section--bg-split-alt:before {
    width: calc(var(--wrap) + 52rem)
  }
}

.Section--bg-image {
  position: relative
}

.Section--bg-image>* {
  z-index: 1
}

.Section__header {
  display: grid
}

.Section--centered .Section__header {
  place-content: center;
  place-items: center;
  text-align: center
}

@media (width>=64em) {
  .Section__header p {
    max-width: 80ch
  }
  .Section__header:has(.Common .Buttons) {
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    gap: 0 var(--gap);
    align-items: start
  }
  .Section__header:has(.Common .Buttons) h2 {
    grid-column: 1;
    grid-row: 1;
    margin: 0
  }
  .Section__header:has(.Common .Buttons) .Common {
    grid-column: 1;
    grid-row: 2
  }
  :is(.Section__header:has(.Common .Buttons) .Common) .Buttons {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    margin: 0
  }
  .Section__header:has(.Buttons):not(:has(.Common)) {
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: var(--gap)
  }
  .Section__header:has(.Buttons):not(:has(.Common)) h2 {
    margin: 0
  }
  .Section__header:has(.Buttons):not(:has(.Common)) .Buttons {
    justify-self: end
  }
}

.Section__header .Buttons {
  margin: 0
}

@media (width < 64em) {
  .Section__header .Buttons {
    display: none
  }
}

.Section__header .Common {
  display: contents
}

@media (width>=64em) {
  :is(.Section__header .Common):has(.Buttons) {
    display: contents
  }
  :is(.Section__header .Common):has(.Buttons) p {
    grid-column: 1;
    grid-row: 2;
    margin: 0
  }
  :is(.Section__header .Common):has(.Buttons) .Buttons {
    grid-column: 2;
    grid-row: 1;
    justify-content: flex-end;
    align-content: start
  }
}

.Section__main {
  display: grid;
  grid-template-columns: 100%;
  gap: var(--gap-sm)
}

.Section__main .Section--bg-image {
  z-index: 0
}

@media (width>=64em) {
  .Section__mobile-buttons {
    display: none
  }
}

@media (width < 64em) {
  .Section__mobile-buttons {
    text-align: center
  }
  .Section__mobile-buttons .Buttons {
    justify-content: center
  }
}

@media (width < 64em) {
  .Section__footer {
    text-align: center
  }
  .Section__footer .Buttons {
    justify-content: center
  }
}

.Section__pagination {
  order: 1
}

@media (width>=64em) {
  .Section__pagination {
    grid-column: span 2
  }
}

.Section__background {
  position: absolute;
  inset: 0;
  z-index: 0
}

.Section__background:before {
  content: " ";
  background-color: var(--black-75);
  position: absolute;
  inset: 0
}

.Section__background img {
  height: 100%;
  width: 100%;
  object-fit: cover
}

.Update {
  display: grid;
  gap: var(--gap-sm);
  grid-template-columns: 100%;
  position: relative;
  padding-block: var(--gap-sm);
  padding-inline: var(--wrap);
  background-color: var(--teal);
  color: var(--white);
  --heading: var(--white);
  border-radius: var(--radius);
  --color: var(--white)
}

.Update .Common {
  width: calc(100% - (var(--gap-sm) + 44px))
}

@media (width>=64em) {
  .Update {
    align-items: center;
    grid-template-columns: 3fr 2fr
  }
  .Update .Common {
    width: 100%
  }
}

.Update h2 {
  font: var(--h4);
  margin: 0
}

.Update p,
.Update .Buttons {
  margin: 0
}

@media (width>=64em) {
  .Update .Buttons {
    justify-content: end;
    justify-self: end;
    padding-inline: var(--wrap)
  }
}

:is(:is(.Update .Buttons) .Button--outline):before {
  background-color: var(--white)
}

:is(:is(.Update .Buttons) .Button--outline):hover:before {
  background-color: var(--white)
}

.ContentSidebar .Update {
  margin-inline: 0
}

.Update__close {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: none
}

.Update__close:before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: var(--white);
  mask: url(close.svg) center no-repeat;
  transition: transform var(--transition)
}

.Update__close:hover:before {
  transform: scale(1.2)
}

@media (width>=64em) {
  .Update__close {
    right: var(--wrap);
    top: unset
  }
}

.Panel__grid {
  display: grid;
  gap: var(--gap)
}

@container (width>=48em) {
  .Panel__grid {
    gap: 5rem 3rem
  }
  .ContentSidebar__content .Panel__grid {
    gap: 5rem 2.5rem
  }
}

@container (width>=48em) {
  .Panel__grid--2 {
    grid-template-columns: repeat(2, minmax(0, 542px));
    justify-content: space-between;
    gap: 4rem
  }
}

@container (width>=48em) {
  .Panel__grid--3 {
    grid-template-columns: repeat(2, minmax(0, 542px));
    justify-content: space-between
  }
}

@container (width>=64em) {
  .Panel__grid--3 {
    grid-template-columns: 1fr 1fr 1fr
  }
}

@container (width>=48em) {
  .Panel__grid--4 {
    grid-template-columns: repeat(2, minmax(0, 542px));
    justify-content: space-between
  }
}

@container (width>=64em) {
  .Panel__grid--4 {
    grid-template-columns: 1fr 1fr 1fr 1fr
  }
}

.Panel__grid--text a {
  --color: var(--purple);
  color: var(--purple)
}

@container (width>=48em) {
  .Panel__grid--text {
    gap: 2rem
  }
  .ContentSidebar__content .Panel__grid--text {
    gap: 3rem 2.5rem
  }
}

.Panel__item .Image+.Panel__heading {
  margin-top: 1rem
}

@container (width>=48em) {
  .Panel__item {
    max-width: 542px
  }
}

.Panel__heading {
  font: var(--h4)
}

.Feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: var(--space) var(--wrap);
  z-index: 0
}

@container (width < 48rem) {
  .Feature {
    overflow-x: hidden
  }
}

.ContentSidebar__content .Feature {
  padding: var(--gap) var(--wrap) var(--wrap)
}

@container (width>=48rem) {
  .Feature {
    padding: var(--space) var(--wrap);
    flex-direction: row
  }
  .ContentSidebar__content .Feature {
    flex-direction: column;
    padding: var(--gap) 0 0 0;
    gap: 1rem
  }
  .theme-gradient:is(.ContentSidebar__content .Feature) .Common {
    padding: var(--gap)
  }
}

@container (width>=64rem) {
  .Feature {
    flex-direction: row;
    gap: 5rem
  }
}

@container (width>=70rem) {
  .ContentSidebar__content .Feature {
    flex-direction: row;
    padding: 2.5rem 0;
    gap: 4rem
  }
}

.Feature .Common {
  position: relative;
  flex: 1
}

@container (width>=48rem) and (width < 64rem) {
  .Feature .Common {
    padding-inline-start: 0
  }
  :is(.Feature .Common):after {
    display: none
  }
}

@container (width>=64rem) {
  :is(.Feature .Common):not(.ContentSidebar__content: is(.Feature .Common)) {
    padding-inline-start:0;
    padding-block-start: 0
  }
}

@container (width>=64rem) {
  .ContentSidebar__content :is(.Feature .Common) {
    padding-inline-start: 0;
    padding-block-start: 2rem
  }
}

@container (width>=70rem) {
  .ContentSidebar__content :is(.Feature .Common) {
    padding-block-start: 0
  }
  :is(.ContentSidebar__content :is(.Feature .Common)):after {
    display: none
  }
}

.Feature__image-container {
  position: relative
}

@container (width>=48rem) {
  .Feature__image-container {
    width: 18rem
  }
  .ContentSidebar__content .Feature__image-container {
    width: 100%
  }
}

@container (width>=64rem) {
  .Feature__image-container {
    width: 18rem
  }
}

@container (width>=70rem) {
  .ContentSidebar__content .Feature__image-container {
    width: 16rem
  }
}

@container (width>=80rem) {
  .Feature__image-container {
    width: 30rem
  }
  .ContentSidebar__content .Feature__image-container {
    width: 18rem
  }
}

.Feature__stars {
  position: absolute;
  bottom: -4.75rem;
  right: 0;
  pointer-events: none
}

@container (width>=64rem) {
  .Feature__stars {
    right: -2.5rem;
    bottom: -6.25rem
  }
}

.Feature--flip .Feature__stars {
  right: 0;
  left: auto
}

@container (width>=64rem) {
  .Feature--flip .Feature__stars {
    right: auto;
    left: -2.5rem
  }
}

.no-star .Feature__stars {
  display: none
}

.Feature__star {
  position: relative;
  display: block;
  will-change: transform, opacity;
  transform-origin: center center;
  -webkit-transform-style: preserve-3d;
  -webkit-backface-visibility: hidden
}

.Feature__star.Feature__star--large {
  width: 3rem;
  height: 3rem;
  bottom: 0;
  right: 0;
  z-index: 1
}

.theme-gradient .Feature__star.Feature__star--large path {
  stroke: #fff;
  fill: none
}

.Feature--flip .Feature__star.Feature__star--large {
  right: auto;
  left: 0
}

.Feature__star.Feature__star--small {
  width: 1.5rem;
  height: 1.5rem;
  bottom: 7rem;
  right: -4rem;
  z-index: 2;
  visibility: hidden
}

@container (width>=64rem) {
  .Feature__star.Feature__star--small {
    visibility: visible
  }
}

.Feature--flip .Feature__star.Feature__star--small {
  right: auto;
  left: -1rem
}

.theme-light .Feature__star.Feature__star--small path {
  fill: #cdcae7
}

@container (width>=64rem) {
  .Feature__star.Feature__star--large {
    width: 6rem;
    height: 6rem
  }
  .Feature__star.Feature__star--small {
    width: 3rem;
    height: 3rem;
    bottom: 8.5rem
  }
}

@container (width>=64rem) {
  .Feature--flip {
    flex-direction: row-reverse
  }
}

@container (width>=70rem) {
  .ContentSidebar__content .Feature--flip {
    flex-direction: row-reverse
  }
}

@media (width>=48rem) {
  .Feature--flip:has(.Image--offset) {
    gap: calc(var(--gap) * 1.5)
  }
}

.Router {
  --accent: var(--purple);
  display: grid;
  grid-template-columns: 100%;
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  font: var(--h5);
  list-style: none
}

.Router a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: inherit;
  font-weight: 700;
  padding-bottom: 1rem;
  border-bottom: .0625rem solid var(--purple-lt);
  transition: background var(--transition), color var(--transition);
  background: linear-gradient(var(--accent), var(--accent)) 0 100% / 0 3px no-repeat;
  text-decoration: none
}

:is(.Router a):after {
  content: "";
  display: block;
  height: 1.5rem;
  width: 1.5rem;
  background-color: var(--purple);
  mask: url(arrow.svg) center / 80% no-repeat;
  transform: rotate(-45deg);
  transition: transform var(--transition)
}

:is(.Router a):hover {
  background-size: 100% 3px;
  text-decoration: none
}

:is(.Router a):hover:after {
  transform: rotate(-45deg) translate(15%, 5%)
}

.PreFooter .Router {
  --accent: var(--black);
  display: grid;
  grid-template-columns: 100%;
  gap: var(--gap-sm);
  margin: 0;
  padding: 0;
  font: var(--h5);
  list-style: none
}

:is(.PreFooter .Router) a {
  position: relative;
  display: block;
  color: inherit;
  border-bottom: 1px solid #6D6E7166;
  padding-block: .875rem;
  width: 100%;
  font: var(--text-small);
  font-weight: 400;
  transition: background-position var(--transition);
  background: linear-gradient(-90deg, transparent 50%, currentColor 50%) 100% calc(100% + 1px) / 200% .0625rem no-repeat;
  text-decoration: none
}

:is(:is(.PreFooter .Router) a):after {
  display: none
}

:is(:is(.PreFooter .Router) a):hover {
  background-position-x: 0
}

@media (width>=64em) {
  .PreFooter .Router {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 var(--gap-sm)
  }
}

@media (width>=64em) {
  .RouterList .Router {
    grid-template-columns: 1fr 1fr;
    column-gap: var(--gutter)
  }
}

.RouterPanel {
  display: grid;
  grid-template-columns: 100%;
  align-items: center;
  background: var(--white);
  color: var(--purple);
  --color: var(--purple)
}

@media (width>=64em) {
  .RouterPanel {
    grid-template-columns: 1fr 1fr;
    padding: var(--gap) 2.5rem
  }
  .RouterPanel .image {
    height: 100%
  }
  :is(.RouterPanel .image) img {
    object-fit: cover;
    height: 100%
  }
}

@container (width>=70rem) {
  .ContentSidebar__content .RouterPanel {
    padding: var(--gap) 0
  }
}

.ContentSidebar .RouterPanel {
  grid-template-columns: 100%
}

@media (width>=75em) {
  .ContentSidebar .RouterPanel {
    grid-template-columns: 1fr 1fr;
    gap: var(--gap);
    padding: 0
  }
  .RouterPanel--light:is(.ContentSidebar .RouterPanel) {
    padding: 0 var(--gap)
  }
}

:is(.ContentSidebar .RouterPanel) .RouterPanel__group {
  padding: var(--gap) 0
}

@media (width < 64em) {
  .RouterPanel--light :is(:is(.ContentSidebar .RouterPanel) .RouterPanel__group) {
    padding: var(--gap)
  }
}

:is(.ContentSidebar .RouterPanel) .image {
  align-content: center
}

:is(:is(.ContentSidebar .RouterPanel) .image) img {
  object-fit: cover;
  height: auto
}

.RouterPanel__group {
  display: grid;
  grid-template-columns: 100%;
  gap: var(--gap);
  padding: var(--gap)
}

@media (width>=64em) {
  .RouterPanel__group {
    order: -1;
    padding: 0;
    padding-right: var(--gap)
  }
  .RouterPanel--flip .RouterPanel__group {
    order: 0;
    padding-right: 0;
    padding-left: var(--gap)
  }
}

.RouterPanel--alt {
  grid-template-columns: 1fr !important;
  padding: 0
}

@media (width>=64em) {
  .RouterPanel--alt .RouterList {
    grid-column: span 2
  }
  .RouterPanel--alt .RouterPanel__group {
    padding: var(--gap);
    grid-template-columns: 1fr 1fr
  }
}

.RouterPanel--alt.RouterPanel--light {
  padding: 0 var(--gap)
}

.RouterPanel--light {
  --heading: var(--purple);
  background: var(--purple-lightest);
  color: var(--purple);
  --color: var(--purple);
  border-radius: var(--radius)
}

.RouterPanel--intro p {
  margin-top: 1rem;
  line-height: 1.6
}

.Testimonial {
  position: relative;
  margin-top: 7rem;
  background-color: var(--purple);
  color: var(--white);
  overflow: hidden;
  border-radius: var(--radius);
  padding: 1.5rem
}

:where(.Common) .Testimonial {
  margin-block: var(--gap-sm);
  padding: 4rem
}

@media (width>=48em) {
  .Testimonial {
    display: grid;
    align-items: center
  }
  .Testimonial .Testimonial__content {
    max-width: 700px
  }
  .Testimonial:not(:has(.image)) .Testimonial__content {
    max-width: 100%
  }
  .Testimonial:has(.image) {
    grid-template-columns: 1fr 20rem
  }
}

@media (width>=80em) {
  .Testimonial {
    gap: 2rem;
    padding: 4.5rem 7rem
  }
}

.Testimonial .image {
  margin: 0 0 var(--gap-sm)
}

@media (width>=48em) {
  .Testimonial .image {
    margin: 0;
    max-width: none;
    padding-left: 2rem;
    order: 2
  }
}

@media (width < 47.999em) {
  :is(.Testimonial .image) img {
    aspect-ratio: 1 / 1;
    object-fit: cover
  }
}

.Testimonial .blockquote {
  position: relative;
  display: block;
  background-color: transparent
}

:is(.Testimonial .blockquote):before {
  display: block
}

.Testimonial__pattern {
  position: absolute;
  top: -20%;
  right: -50%;
  width: auto;
  height: 150%;
  z-index: 0;
  opacity: .3;
  pointer-events: none
}

@media (width>=64em) {
  .Testimonial__pattern {
    width: auto;
    height: 150%;
    right: -10%
  }
}

.Testimonial__pattern svg {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.Testimonial--alt .Testimonial__pattern {
  display: none
}

.Testimonial__content {
  position: relative;
  z-index: 1
}

.Testimonial__content h2 {
  margin-bottom: var(--gap-sm)
}

.Testimonial__text {
  margin: 0;
  padding: 0;
  border: 0;
  font: var(--body)
}

.Testimonial__text p {
  position: relative;
  margin-block: 1em;
  padding: 0;
  font: var(--text-quote)
}

.Testimonial__text .Buttons {
  margin-block: var(--gap-sm) 0
}

.Testimonial__footer {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-top: 2rem;
  padding-top: 1rem;
  --color: var(--white)
}

@media (width>=48em) {
  .Testimonial__footer {
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 2rem;
    max-width: 60ch
  }
}

.Testimonial__footer cite {
  font: var(--h5)
}

.Testimonial__footer p {
  margin: 0
}

.Testimonial--alt {
  padding: 0;
  margin: 0;
  gap: 0
}

.Testimonial--alt .image {
  margin: 0;
  padding: 0
}

@media (width < 47.999em) {
  .Testimonial--alt .image {
    max-width: 12.5rem;
    margin-inline: auto
  }
}

@media (width>=48em) {
  .Testimonial--alt .image {
    height: 100%;
    max-width: 340px;
    order: unset
  }
  :is(.Testimonial--alt .image) img {
    height: 100%;
    object-fit: cover
  }
}

.Testimonial--alt .Testimonial__content {
  padding: var(--gap)
}

.Testimonial--alt .Testimonial__text {
  display: flex;
  gap: var(--gap-sm);
  padding: 0
}

:is(.Testimonial--alt .Testimonial__text):before {
  width: 44px;
  height: 44px;
  margin-bottom: unset
}

:is(.Testimonial--alt .Testimonial__text)>div {
  flex: 1
}

:is(.Testimonial--alt .Testimonial__text) p {
  font-size: 1.375rem;
  font-weight: 400;
  margin: 0;
  padding: 0;
  border: none
}

@media (width>=48em) {
  .Testimonial--alt .Testimonial__text {
    padding-inline: 0
  }
  :is(.Testimonial--alt .Testimonial__text):before {
    position: unset;
    left: unset;
    margin-block: 0 1.5rem
  }
}

@media (width>=64em) {
  .Testimonial--alt .Testimonial__text {
    display: flex;
    gap: var(--gap-sm);
    padding: 0 0 0 calc(var(--gap-sm) + 44px)
  }
  :is(.Testimonial--alt .Testimonial__text):before {
    position: absolute;
    left: 0;
    margin-block: .5rem 0
  }
}

@media (width>=48em) {
  .Testimonial--alt:has(.image) {
    grid-template-columns: 340px 1fr
  }
}

.CTA {
  position: relative;
  margin: var(--gutter) var(--wrap);
  z-index: 0
}

.CTA:has(.CTA__intro) {
  margin: 0
}

.CTA .CTA__content,
.CTA .CTA__intro {
  display: grid;
  position: relative;
  grid-template: auto / 100%;
  background: var(--white);
  padding: 2rem;
  gap: var(--gutter);
  z-index: 1
}

:is(.CTA .CTA__content,
.CTA .CTA__intro)>.Buttons {
  margin: 0 auto
}

@container (width>=64rem) {
  :is(:is(.CTA .CTA__content,
  .CTA .CTA__intro)>.Buttons) .Button {
    min-width: 150px
  }
}

.CTA .CTA__intro {
  color: var(--purple);
  --color: var(--purple);
  --link: var(--purple)
}

.CTA .CTA__intro-text {
  font: var(--text-intro);
  margin-bottom: var(--gap-sm)
}

.CTA .Common {
  position: relative
}

@container (width>=64rem) {
  .CTA .Common {
    padding-block-end: var(--gutter)
  }
}

@container (width>=64rem) {
  .CTA .CTA__content {
    align-items: center;
    grid-template-columns: 2fr 3fr;
    margin: 0 var(--wrap)
  }
  .CTA .CTA__intro {
    margin: 0 var(--wrap)
  }
  .CTA .Common {
    padding-inline-end: var(--gutter);
    padding-block-end: 0
  }
  .CTA .CTA__content .Common,
  .CTA .CTA__intro .Common {
    padding-inline-end: 0
  }
  .CTA .CTA__content>:last-child {
    justify-self: end
  }
}

.CTA__stars {
  position: absolute;
  pointer-events: none
}

.CTA__stars.CTA__stars--top-left {
  top: 0;
  left: -1rem;
  z-index: 2
}

.CTA__stars.CTA__stars--bottom-right {
  bottom: 0;
  right: -1.25rem
}

@container (width>=64rem) {
  .CTA__stars.CTA__stars--bottom-right {
    right: 0
  }
}

.no-star .CTA__stars {
  display: none
}

.CTA__star {
  position: relative;
  display: block
}

.CTA__star.CTA__star--large {
  width: 3rem;
  height: 3rem;
  z-index: 1
}

.CTA__star.CTA__star--large path {
  stroke: var(--purple)
}

.CTA__stars--top-left .CTA__star.CTA__star--large path {
  stroke: var(--purple-lt);
  fill: var(--purple-lt)
}

.CTA__star.CTA__star--small {
  width: 2rem;
  height: 2rem;
  z-index: 2
}

.CTA__star.CTA__star--small path {
  fill: var(--blue)
}

@container (width>=64rem) {
  .CTA__star.CTA__star--large {
    width: 6rem;
    height: 6rem
  }
  .CTA__stars--top-left .CTA__star.CTA__star--large {
    width: 4rem;
    height: 4rem
  }
  .CTA__star.CTA__star--small {
    width: 2rem;
    height: 2rem;
    margin-top: -.75rem
  }
}

.main__sidebar {
  width: 100%
}

.main__sidebar .sidebar-widgets {
  display: none;
  padding: 0
}

@media (width>=64em) {
  .main__sidebar .sidebar-widgets {
    display: block
  }
}

@media (width < 64em) {
  .Subnav:has(.Subnav__toggle[aria-expanded=false]) .Subnav__list {
    height: var(--height, 0);
    visibility: hidden
  }
  .Subnav>.Subnav__heading {
    display: none !important;
    visibility: hidden !important
  }
}

.Subnav--full {
  --text: var(--black);
  --heading: var(--purple);
  --link: var(--purple);
  --color: var(--purple);
  --accent: var(--purple);
  padding: 0
}

.Section .Subnav--full {
  padding: 0
}

@media (width>=64em) {
  .Subnav--full {
    margin: 0;
    padding: 0 0 1rem
  }
  .Subnav--full .Subnav__list {
    display: grid;
    gap: 1.5rem;
    padding-inline: 0;
    grid-template-columns: 1fr 1fr 1fr
  }
  :is(:is(.Subnav--full .Subnav__list)>li) a {
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: inherit;
    padding-bottom: 1rem;
    border-bottom: .0625rem solid var(--purple-lt);
    font: var(--h5);
    transition: background var(--transition), color var(--transition);
    background: linear-gradient(var(--black), var(--black)) 0 100% / 0 3px no-repeat;
    text-decoration: none
  }
  :is(:is(:is(.Subnav--full .Subnav__list)>li) a):after {
    content: "";
    display: block;
    height: 1.5rem;
    width: 1.5rem;
    background-color: var(--purple);
    mask: url(arrow.svg) center / 80% no-repeat;
    transform: rotate(-45deg);
    transition: transform var(--transition)
  }
  :is(:is(:is(.Subnav--full .Subnav__list)>li) a):hover {
    background-size: 100% 3px;
    text-decoration: none
  }
  :is(:is(:is(.Subnav--full .Subnav__list)>li) a):hover:after {
    transform: rotate(-45deg) translate(15%, 5%)
  }
}

@media (width>=64em) {
  .Subnav--widget {
    margin-inline: 0
  }
}

.Subnav--full:not(.Subnav--showHeading) .Subnav__heading {
  display: none
}

@media (width < 64em) {
  .Subnav__heading {
    display: none
  }
  .Subnav--widget .Subnav__heading {
    display: block;
    margin-bottom: 0
  }
}

@media (width>=64em) {
  .Subnav__heading {
    display: flex;
    margin-top: 0;
    gap: .75rem;
    font: var(--h4)
  }
  .Subnav__heading:not(.Subnav--widget) .Subnav__heading {
    margin-top: 1.5rem
  }
  :is(.Subnav__heading:not(.Subnav--widget) .Subnav__heading):before {
    content: "";
    transition: transform var(--transition);
    background: var(--teal);
    width: 2rem;
    height: 2rem;
    margin-right: .5rem;
    display: block;
    -webkit-mask: url(menu.svg) 50% / contain no-repeat;
    mask: url(menu.svg) 50% / contain no-repeat
  }
}

@media (width>=64em) {
  .Subnav--widget .Subnav__heading {
    display: block;
    --heading: var(--purple);
    margin-bottom: .5rem;
    border-top: 6px solid var(--blue);
    padding-top: 2.5rem
  }
}

.Subnav__heading.Subnav__heading--link {
  text-decoration: none;
  color: var(--purple);
  font: var(--h4)
}

.Subnav__heading.Subnav__heading--link:hover {
  text-decoration: underline
}

@media (width < 64em) {
  .Subnav__heading.Subnav__heading--link {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.5;
    display: block;
    padding: 1rem var(--gutter);
    background: var(--purple-lt);
    margin: 0;
    border-bottom: 1px solid var(--purple)
  }
}

.Subnav--showHeading {
  margin-top: 1rem !important
}

.Subnav--showHeading .Subnav__heading {
  margin-bottom: 0
}

@media (width < 64em) {
  .Subnav--showHeading {
    margin-top: 0 !important
  }
  .Subnav--showHeading .Subnav__toggle-wrapper {
    background-color: var(--purple-lt)
  }
  :is(.Subnav--showHeading .Subnav__toggle-wrapper)>a {
    pointer-events: none;
    cursor: default
  }
  :is(:is(.Subnav--showHeading .Subnav__toggle-wrapper)>a):hover {
    text-decoration: none
  }
}

.Subnav__toggle-wrapper {
  display: flex;
  justify-content: flex-start;
  align-items: center
}

@media (width < 64em) {
  .Subnav__toggle-wrapper {
    background-color: var(--purple-lt)
  }
}

.Subnav__toggle-wrapper>a {
  display: flex !important;
  align-items: center;
  gap: .5rem;
  flex: 1;
  outline-offset: -.25rem !important
}

:is(.Subnav__toggle-wrapper>a):before {
  content: "";
  transition: transform var(--transition);
  background: currentColor;
  width: 2rem;
  height: 2rem;
  margin-right: .5rem;
  display: inline-block;
  color: var(--blue);
  -webkit-mask: url(menu.svg) 50% / contain no-repeat;
  mask: url(menu.svg) 50% / contain no-repeat
}

@media (width>=64em) {
  :is(.Subnav__toggle-wrapper>a):before {
    display: none
  }
}

.Subnav__toggle-wrapper>a {
  border: none !important
}

@media (width>=64em) {
  .Subnav__toggle-wrapper>a {
    display: none !important;
    visibility: none !important
  }
}

.Subnav__toggle {
  position: relative;
  display: flex;
  align-items: center;
  gap: .5rem;
  font-weight: 800;
  border: 0;
  padding: 1rem var(--gutter);
  background: transparent;
  text-align: left;
  font-style: normal;
  line-height: 24px;
  font: var(--h4);
  color: var(--purple)
}

@media (width>=64em) {
  .Subnav__toggle {
    pointer-events: none
  }
}

.Subnav--full .Subnav__toggle {
  padding: 1rem var(--gap)
}

@media (width>=64em) {
  .Subnav--full .Subnav__toggle {
    padding: 0 0 var(--gap) 0
  }
}

@media (width>63.99em) {
  .Subnav__toggle {
    padding-inline: 0
  }
}

@media (width>=64em) {
  .Subnav--widget .Subnav__toggle {
    display: none;
    visibility: hidden
  }
}

@media (width>=64em) {
  .Subnav__toggle .close-toggle {
    display: none
  }
}

.Subnav__list {
  margin: 0;
  padding: 0;
  --accent: var(--white);
  --underline: var(--purple);
  list-style: none
}

@media (width < 64em) {
  [aria-expanded=false]+.Subnav__list {
    height: var(--height, 0);
    visibility: hidden
  }
  .Subnav__list {
    height: var(--height, auto);
    transition: height var(--transition), visibility var(--transition);
    overflow: hidden;
    padding: 0 var(--gutter)
  }
}

.Subnav__list>li {
  position: relative
}

@media (width < 64em) {
  :is(.Subnav__list>li):last-child {
    margin-bottom: 1rem
  }
}

:is(.Subnav__list>li) a {
  position: relative;
  text-decoration: none
}

@media (width < 64em) {
  .Subnav--full :is(:is(.Subnav__list>li) a) {
    display: block;
    padding-block: .75rem;
    box-shadow: 0 .0625rem var(--purple)
  }
}

.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
}

:is(.Subnav__list .Subnav__active)>span {
  font-weight: 700;
  color: var(--purple)
}

@media (width>=64em) {
  .Subnav--hero .Subnav__list {
    gap: 1rem 3rem;
    grid-template-columns: 1fr 1fr
  }
  :is(.Subnav--hero .Subnav__list)>li {
    padding-top: 0
  }
  :is(:is(.Subnav--hero .Subnav__list)>li) a {
    padding-top: 0
  }
}

.Subnav--widget .Subnav__list {
  --text: var(--purple);
  --link: var(--purple)
}

:is(.Subnav--widget .Subnav__list)>li {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  font-weight: 500;
  justify-content: space-between;
  padding: .5rem 0;
  border-bottom: 1px solid var(--purple-lt)
}

@media (width>=64em) {
  :is(.Subnav--widget .Subnav__list)>li {
    padding: 1rem 0
  }
}

:is(:is(.Subnav--widget .Subnav__list)>li) a {
  display: block;
  width: fit-content;
  text-decoration: none
}

:is(:is(:is(.Subnav--widget .Subnav__list)>li) a):hover {
  text-decoration: underline
}

:is(.Subnav--widget .Subnav__list) ul {
  list-style-type: none;
  padding-inline: 1.5rem
}

:is(:is(:is(.Subnav--widget .Subnav__list) ul) li) a {
  font-weight: 400
}

:is(:is(.Subnav--widget .Subnav__list) ul) li:first-child {
  padding-top: .5rem
}

:is(:is(.Subnav--widget .Subnav__list) ul) li:last-child {
  padding-bottom: .5rem
}

@media (width>=64em) {
  .Subnav--widget .Subnav__list {
    padding: 0
  }
}

.Subnav__toggle {
  outline-offset: -.25rem !important
}

:is(.Subnav__toggle .close-toggle):before {
  width: 1.75rem;
  height: .5rem;
  background: var(--purple);
  mask: url(angle-down.svg) center / contain no-repeat
}

.Subnav__sub-toggle {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  border: 0;
  background: transparent
}

:is(.Subnav__sub-toggle .close-toggle):before {
  width: 1.75rem;
  height: .5rem;
  background: var(--purple);
  mask: url(angle-down.svg) center / contain no-repeat
}

:is(.Subnav__sub-toggle:hover .close-toggle):before {
  transform: translateY(.25rem)
}

:is(.Subnav__sub-toggle[aria-expanded=true]:hover .close-toggle):before {
  transform: rotate(180deg) translateY(.25rem)
}

:root:has(.Automodal) {
  overflow: hidden
}

.Automodal {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  transition: opacity var(--transition);
  background: none;
  opacity: 0;
  overflow: hidden
}

.Automodal::backdrop {
  transition: opacity var(--transition);
  background: var(--black-90);
  opacity: 0
}

.Automodal--active {
  opacity: 1
}

.Automodal--active::backdrop {
  opacity: 1
}

.Automodal__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  padding: 0;
  border: 0;
  background: none;
  color: var(--white);
  --color: var(--white);
  z-index: 1;
  outline-color: var(--white);
  transition: var(--transition)
}

.Automodal__close:before {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  background: var(--white);
  mask: url(close.svg) center / 1rem no-repeat
}

.Automodal__close:hover {
  transform: scale(1.2)
}

.Automodal__viewport {
  display: grid;
  width: 100%;
  height: 100%;
  pointer-events: none
}

.Automodal__item {
  display: grid;
  grid-area: 1 / 1;
  place-items: center;
  padding: var(--panel) var(--wrap);
  overflow: auto
}

.Automodal__content {
  width: 100%;
  pointer-events: auto
}

.event-card:has(.image) {
  display: flex;
  flex-direction: row-reverse;
  gap: 1.5rem
}

.event-card:has(.image) .image {
  max-width: 14rem
}

.event-card:not(.event-card--stack) {
  flex-direction: column
}

.event-card:not(.event-card--stack) .image {
  max-width: unset
}

@container (width>=64rem) {
  .event-card:not(.event-card--stack) {
    flex-direction: row-reverse
  }
}

.event-card.event-card--stack {
  --color: var(--black);
  --heading: var(--purple);
  --link: var(--purple);
  --outline-color: var(--purple);
  background: var(--white);
  border-radius: var(--radius);
  color: var(--color);
  overflow: hidden;
  flex-direction: column
}

.event-card.event-card--stack .image {
  max-width: unset
}

.event-card.event-card--stack .Image__container {
  border-radius: 0
}

@container (width>=64rem) {
  .event-card:not(.event-card--stack):not(.Widget .event-card) .image {
    max-width: 14rem
  }
}

.event-card .meta {
  margin-top: 0;
  display: block
}

.event-card__content {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.5rem;
  flex: 1
}

.event-card--stack .event-card__content {
  padding: 0 1.5rem 1.5rem
}

.event-card__title {
  color: var(--purple);
  font: var(--h4);
  margin: 0
}

.Widget .event-card__title {
  font-size: 1.125rem
}

.event-card__date {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  text-align: center;
  font-family: var(--scale-vf);
  font-size: 1.92856rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .27rem;
  text-transform: uppercase;
  margin-top: .35rem
}

.event-card__date span {
  display: block;
  font-family: var(--scale-vf);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  padding-bottom: .25rem;
  letter-spacing: .1rem
}

.event-detail {
  display: grid;
  grid-template-columns: 100%;
  gap: var(--space-l);
  margin-block: var(--gutter)
}

@container (width>=64rem) {
  .event-detail {
    grid-template-columns: 1fr 1fr
  }
}

.event-detail-list-container {
  border-left: .5rem solid var(--purple);
  padding-left: 1rem;
  margin-bottom: 2rem
}

.event-detail-date {
  font-size: 1.5rem;
  font-weight: var(--font-bold);
  color: var(--heading);
  margin-top: 0
}

.event-detail-list {
  list-style-type: none;
  padding: 0;
  font-size: 1.125rem
}

.event-detail-list li {
  position: relative;
  padding-left: 2.5rem
}

:is(.event-detail-list li):before {
  content: "";
  position: absolute;
  top: .125rem;
  left: 0;
  display: grid;
  place-content: flex-start;
  width: 1.5rem;
  height: 1.5rem;
  background: var(--purple);
  mask: var(--icon) center / contain no-repeat
}

.FeaturedPosts {
  display: grid;
  grid-template-columns: 100%
}

@media (width>=64em) {
  .FeaturedPosts {
    grid-template-columns: 1fr 1fr
  }
}

.FeaturedPosts h3 {
  margin: 0
}

.FeaturedPosts a {
  font-weight: 400
}

.FeaturedPosts__card {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1/1
}

.FeaturedPosts__card:has(.link-cover:hover) .Image {
  transform: scale(1.1)
}

.FeaturedPosts__card .image {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  transition: transform 3s ease
}

:is(.FeaturedPosts__card .image):before {
  content: " ";
  position: absolute;
  inset: 0;
  background: linear-gradient(246deg, #0000 -4.12%, #000000b3 77.91%) no-repeat
}

:is(.FeaturedPosts__card .image) img {
  object-fit: cover;
  height: 100%;
  width: 100%
}

@media (width>=64em) {
  :is(.FeaturedPosts__card .image):before {
    background: linear-gradient(198deg, #0000 32.69%, #000000b3 65.04%) no-repeat
  }
}

.FeaturedPosts__card .Posts__title {
  font-size: 1.75rem
}

:is(.FeaturedPosts__card .Posts__title) a {
  position: relative;
  z-index: 1
}

:is(:is(.FeaturedPosts__card .Posts__title) a) span {
  transition: box-shadow var(--transition)
}

:is(:is(:is(.FeaturedPosts__card .Posts__title) a) span):before {
  content: " ";
  width: 130px;
  height: 130px;
  background: var(--purple);
  position: absolute;
  top: calc(-1 * (var(--gap) + 45px));
  left: calc(-1 * var(--gap));
  z-index: -1
}

:is(:is(.FeaturedPosts__card .Posts__title) a) span {
  position: relative;
  z-index: -1
}

:is(:is(.FeaturedPosts__card .Posts__title) a):hover span {
  box-shadow: 0 .0625rem
}

.FeaturedPosts__card .FeaturedPosts__content {
  position: absolute;
  height: 100%;
  width: 100%;
  padding: var(--gap);
  display: grid;
  place-content: flex-end flex-start
}

@media (width>=64em) {
  .FeaturedPosts__card .FeaturedPosts__content {
    padding: var(--gap)
  }
}

.FeaturedPosts__card .Posts__title,
.FeaturedPosts__card .meta {
  width: fit-content
}

:is(.FeaturedPosts__card .FeaturedPosts__content:has(span)) .meta {
  position: relative;
  z-index: 2;
  margin: 0 0 .5rem;
  padding: 0
}

@media (width>=64em) {
  .FeaturedPosts--flip .FeaturedPosts__card {
    order: 1
  }
}

.FeaturedPosts__list {
  display: grid;
  place-content: space-between;
  align-self: center;
  grid-template-columns: 100%;
  gap: 2rem
}

.FeaturedPosts__list>* {
  margin: 0
}

:is(.FeaturedPosts__list>*) .h4 {
  margin: 0
}

.FeaturedPosts__list .Buttons {
  margin: 0 0 0 auto
}

.FeaturedPosts--flip :is(.FeaturedPosts__list .Buttons) {
  margin: 0
}

.Section--gray .FeaturedPosts__list,
.Seciton--black .FeaturedPosts__list {
  background-color: var(--white);
  padding: var(--gap)
}

@media (width>=64em) {
  .FeaturedPosts__list {
    height: 100%
  }
}

.VisualRouter {
  display: grid;
  grid-template: auto / 100%;
  gap: var(--gap)
}

@container (width>=48rem) {
  .VisualRouter {
    grid-template-columns: 1fr 1fr
  }
}

@container (width>=64rem) {
  .VisualRouter {
    grid-template-columns: 1fr 1fr 1fr
  }
}

.VisualRouter__item {
  background: var(--gray);
  clip-path: polygon(0 0, calc(100% - 3.5rem) 0, 100% 3.5rem, 100% 100%, 0 100%)
}

.VisualRouter__item .Common {
  padding: 1.5rem
}

.Hero {
  display: grid;
  grid-template-columns: 100%;
  align-items: end;
  position: relative;
  z-index: 1;
  --heading: var(--white)
}

@media (width>=64em) {
  .Hero {
    min-height: 40rem
  }
}

.Hero.theme-dark {
  background: var(--gradient)
}

.Hero.Hero--split {
  background: var(--gradient);
  align-items: center;
  min-height: 30rem
}

.Hero.Hero--offset {
  margin-bottom: 6rem
}

.Hero.Hero--offset:has(.Buttons) {
  margin-bottom: 11rem
}

@media (width>=64em) {
  .Hero.Hero--offset:has(.Buttons) {
    margin-bottom: 6rem
  }
}

.Hero.Hero--news {
  color: var(--white);
  --heading: var(--white);
  --color: var(--white)
}

@media (width>=64em) {
  .Hero.Hero--news {
    min-height: 20vh
  }
}

.Hero.Hero--news .Hero__wrapper {
  background-color: var(--black)
}

.Hero.Hero--news h1 {
  font-family: var(--sans);
  font-size: 2.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  letter-spacing: .025rem;
  margin-bottom: 0
}

.Hero.Hero--news .Hero__background {
  z-index: 1
}

:is(.Hero.Hero--news .Hero__background):before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #0000, #00000080);
  z-index: 1
}

.Hero.Hero--news .Hero__main-content {
  position: relative;
  z-index: 2
}

@media (width < 64em) {
  .Hero.Hero--news {
    min-height: 50vh
  }
  .Hero.Hero--news h1 {
    font-size: 26px
  }
}

.Hero .Common {
  margin: var(--gap-sm) var(--wrap)
}

@media (width>=80em) {
  .Hero .Common {
    max-width: 37.5rem;
    margin: 12rem var(--wrap) var(--gap)
  }
}

.Hero--home :is(.Hero .Common) {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin-inline: 0
}

@media not (prefers-reduced-motion) {
  .Hero--home :is(.Hero .Common) {
    animation-delay: 1.5s
  }
}

@media (width>=48em) {
  .Hero--home :is(.Hero .Common) {
    position: relative;
    justify-content: flex-end;
    min-height: unset;
    max-width: unset;
    animation-delay: 4s
  }
}

@media (width>=64em) {
  .Hero--home :is(.Hero .Common) {
    margin-inline: var(--gap-sm)
  }
}

@media (width>=86em) {
  .Hero--home :is(.Hero .Common) {
    left: -3rem;
    margin: 0
  }
}

.Hero--news :is(.Hero .Common) {
  max-width: 50rem
}

.Hero:has(.Hero__video-controls) .Common {
  padding-block: 2rem 0
}

.Hero--home :is(.Hero:has(.Hero__video-controls) .Common) {
  padding: 0
}

@media (width>=32em) {
  .Hero--home :is(.Hero: has(.Hero__video-controls) .Common) {
    padding-block:0 var(--panel)
  }
}

@media (width>=80em) {
  .Hero:has(.Hero__video-controls) .Common {
    padding-block: 0
  }
}

.Hero:has(.Hero__video-controls):has(.Hero__posts) .Hero__video-controls {
  bottom: 16rem
}

@media (width>=64em) {
  .Hero:has(.Hero__video-controls):has(.Hero__posts) .Common {
    padding-block: 0
  }
  .Hero:has(.Hero__video-controls):has(.Hero__posts) .Hero__video-controls {
    bottom: calc(var(--gutter) * 2);
    left: unset;
    right: var(--gap)
  }
}

@media (width>=85em) {
  .Hero:has(.Hero__video-controls):has(.Hero__posts) .Common {
    min-height: unset
  }
}

.Hero:has(.columns) .Common {
  max-width: unset
}

#video-modal {
  display: none;
  color: var(--white);
  --color: var(--white);
  --heading: var(--white)
}

.Automodal--active .Automodal__item--id #video-modal {
  display: block
}

#video-modal {
  background: var(--purple);
  padding: 2rem;
  border-radius: var(--radius);
  max-width: 600px;
  color: var(--white);
  margin: 0 auto
}

#video-modal h2 {
  font: var(--h2);
  margin-block: 0
}

#video-modal p {
  margin-bottom: 1rem;
  line-height: 1.6
}

:is(#video-modal p):last-of-type {
  margin-bottom: 0
}

@media (width>=64em) {
  .Hero--pattern {
    min-height: 30rem
  }
}

.Hero--pattern .Hero__pattern-bg {
  width: 100%;
  height: 100%;
  background-color: var(--purple);
  background-image: url(pattern.svg);
  background-size: 40px 35px;
  background-repeat: repeat;
  background-position: 0 0
}

.Hero--pattern .Hero__wrapper {
  display: flex;
  align-items: center;
  justify-content: center
}

.Hero--pattern .Hero__main-content {
  width: 100%;
  max-width: none
}

@media (width>=80em) {
  .Hero--pattern .Hero__main-content {
    margin: 0;
    max-width: none;
    padding: 0 var(--wrap)
  }
}

.Hero--offset .Hero__main-content {
  position: relative;
  z-index: 2;
  background: var(--purple);
  color: var(--white);
  --color: var(--white);
  --heading: var(--white);
  border-radius: var(--radius);
  padding: var(--gap);
  margin: 0 var(--wrap);
  transform: translateY(4rem);
  max-width: 100%;
  padding: var(--gap-sm) !important
}

:is(.Hero--offset .Hero__main-content):has(.Buttons) {
  transform: translateY(10rem)
}

@media (width>=64em) {
  .Hero--offset .Hero__main-content {
    margin: 0 var(--wrap);
    transform: translateY(5rem);
    min-height: 10rem;
    display: flex;
    align-items: center
  }
  :is(.Hero--offset .Hero__main-content):has(.Buttons) {
    display: grid;
    transform: translateY(5rem)
  }
}

@media (width>=80em) {
  .Hero--offset .Hero__main-content {
    margin: 0 var(--wrap)
  }
}

:is(.Hero--offset .Hero__main-content) .Buttons {
  margin-top: var(--gap-sm)
}

.Hero--finder {
  background: var(--gradient);
  min-height: 20rem;
  color: var(--white);
  --heading: var(--white);
  --color: var(--white)
}

@media (width>=64em) {
  .Hero--finder {
    min-height: 25rem
  }
}

.Hero--finder .Hero__wrapper {
  align-items: center;
  justify-content: center;
  place-content: center flex-start
}

.Hero--finder .Hero__main-content {
  text-align: left;
  max-width: 50rem;
  margin: 0 var(--wrap)
}

.Hero--split .Hero__wrapper {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  place-content: unset
}

@media (width>=64em) {
  .Hero--split .Hero__wrapper {
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: var(--gutter);
    align-items: center;
    padding: var(--panel) var(--wrap)
  }
}

.Hero--split .Hero__main-content {
  order: 2;
  padding-block-start: 0
}

@media (width>=64em) {
  .Hero--split .Hero__main-content {
    order: 1;
    margin: 0;
    max-width: none
  }
}

.Hero--split .Hero__media {
  position: relative;
  order: 1
}

@media (width>=64em) {
  .Hero--split .Hero__media {
    order: 2
  }
}

:is(.Hero--split .Hero__media) .Hero__media-content {
  position: relative;
  overflow: hidden;
  background: var(--black)
}

:is(.Hero--split .Hero__media) img,
:is(.Hero--split .Hero__media) video {
  display: block;
  width: 100%;
  height: auto;
  min-height: 300px;
  object-fit: cover
}

@media (width>=64em) {
  :is(.Hero--split .Hero__media) img,
  :is(.Hero--split .Hero__media) video {
    height: 400px
  }
}

:is(.Hero--split .Hero__media) .Hero__video-controls {
  position: absolute;
  bottom: calc(var(--gap) * -1);
  right: var(--gap)
}

@media (width>=64em) {
  :is(.Hero--split .Hero__media) .Hero__video-controls {
    right: 0;
    bottom: calc(var(--gap) * -1.15)
  }
}

.Hero--home {
  --color: var(--white);
  background: var(--purple);
  overflow: hidden
}

.Hero--home:before {
  content: " ";
  position: absolute;
  inset: 0;
  top: unset;
  height: 50%;
  background: linear-gradient(0deg, #1e1656 32.03%, #1e165600 91.76%)
}

.Hero--home+.Update {
  border-top: 1px solid var(--purple)
}

.Hero--home h1 {
  text-shadow: 0px 0px 100px #1E1656;
  margin: 0
}

@media (width>=64em) {
  .Hero--home h1 {
    font-size: 4.125rem;
    font-style: normal;
    font-weight: 700;
    line-height: 4.4375rem;
    letter-spacing: .12375rem;
    text-transform: uppercase
  }
}

.Hero--home .Buttons {
  margin-block: 2.38rem 0
}

.Hero--home .Button {
  border-color: var(--white);
  width: fit-content
}

.Hero--home .Hero__up {
  position: relative;
  max-height: 40vh
}

:is(.Hero--home .Hero__up) svg {
  height: 100%;
  max-height: 75vh;
  fill: var(--purple-lt)
}

@media (width>=64em) {
  .Hero--home .Hero__up {
    max-height: 75vh
  }
  :is(.Hero--home .Hero__up) svg {
    height: auto
  }
}

.Hero__star-small,
.Hero__star-large {
  display: none;
  visibility: hidden
}

@media (width>=64em) {
  .Hero__star-small,
  .Hero__star-large {
    display: block;
    visibility: visible;
    position: absolute;
    top: var(--panel)
  }
}

.no-star :is(.Hero__star-small,
.Hero__star-large) {
  display: none !important;
  visibility: hidden !important
}

.Hero__star-small {
  left: var(--wrap)
}

.Hero__star-small svg {
  width: 3.5rem
}

@media (width>=64em) {
  .Hero__star-small {
    animation-delay: 1.5s
  }
}

.Hero__star-large {
  right: var(--wrap)
}

.Hero__star-large svg {
  width: 7rem
}

@media (width>=64em) {
  .Hero__star-large {
    animation-delay: .5s
  }
}

@media (width>=80em) {
  .Hero--tall {
    min-height: 40rem
  }
}

@media (width>=80em) {
  .Hero--news {
    aspect-ratio: 4 / 1;
    min-height: 10rem;
    max-height: 70vh;
    width: 100%
  }
}

.Hero__wrapper {
  position: relative;
  height: 100%;
  display: grid;
  grid-template-columns: 100%;
  place-content: flex-end flex-start;
  min-height: 20rem
}

.Hero--home .Hero__wrapper {
  min-height: 80vh;
  padding-inline: var(--wrap)
}

@media (width>=64em) {
  .Hero--home .Hero__wrapper {
    grid-template-columns: 2fr 4fr;
    position: unset;
    place-content: unset;
    min-height: unset
  }
}

@media (width>=85em) {
  .Hero--home .Hero__wrapper {
    grid-template-columns: 2fr 5fr
  }
}

.Hero__background {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: -1
}

.Hero__background img,
.Hero__background video {
  width: 100%;
  height: 100%;
  object-fit: cover
}

:is(.Hero--hidden .Hero__background):after {
  display: none
}

@media (width>=64em) {
  .Hero__background:after {
    background: linear-gradient(90deg, #000c, #0006)
  }
}

:is(.Hero--home .Hero__background):after {
  content: " ";
  position: absolute;
  inset: 0;
  background: #09080d33
}

@media not (prefers-reduced-motion) {
  .Hero--home .Hero__background {
    animation: fade-in 1s ease-in
  }
}

:is(.Hero--home .Hero__background) video {
  max-height: 57vh
}

@media (width>=32em) {
  :is(.Hero--home .Hero__background) video {
    max-height: 100%
  }
}

.Hero__video-controls {
  position: absolute;
  bottom: var(--gap);
  right: var(--wrap);
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: .5rem;
  z-index: 1
}

.Hero--home .Hero__video-controls {
  flex-direction: column
}

.Hero__video-link {
  display: inline-flex;
  align-items: center;
  padding: 0;
  margin: .5rem 1rem;
  color: var(--white);
  font: var(--text-small);
  transform: var(--transition);
  font-weight: 600
}

.Hero__control {
  display: flex;
  align-items: center;
  gap: .5rem;
  height: 2.5rem;
  padding: .75rem 1.1rem;
  border: 1px solid var(--black);
  transition: transform var(--transition);
  background: var(--black);
  z-index: 1;
  font: var(--text-small);
  font-weight: 600;
  color: var(--white);
  border-radius: 2rem
}

.Hero__control:after {
  content: "";
  width: 1rem;
  height: 1rem;
  background: var(--white);
  mask: url(pause.svg) center / contain no-repeat;
  flex-shrink: 0
}

.Hero__control:hover {
  transform: scale(1.05)
}

.Hero__control--paused:after {
  mask-image: url(play.svg)
}

.Hero__control-text {
  white-space: nowrap
}

.Hero__posts {
  position: relative;
  list-style-type: none;
  padding: var(--gap) var(--wrap);
  margin: 0;
  display: grid;
  gap: var(--gap)
}

.Hero__posts li {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.5rem
}

:is(.Hero__posts li):before {
  content: " ";
  position: relative;
  min-width: .25rem;
  height: 100%;
  background-color: var(--blue);
  transition: transform var(--transition)
}

:is(.Hero__posts li):hover:before {
  transform: scaleY(.6)
}

:is(.Hero__posts li):nth-child(3n+2):before {
  background-color: var(--coral)
}

:is(.Hero__posts li):nth-child(3n+3):before {
  background-color: var(--yellow)
}

:is(.Hero__posts li) a {
  color: var(--white);
  font-weight: 700
}

@media (width>=64em) {
  .Hero__posts {
    grid-template-columns: 1fr 1fr 1fr;
    grid-column: span 2;
    padding-inline: 0 calc(var(--wrap) + 6rem)
  }
}

@media (width>=80em) {
  .Hero__posts {
    padding: 4rem calc(var(--wrap) + 6rem) 2.75rem 0;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column: 2;
    left: -3rem
  }
}

@keyframes scaleUp {
  0% {
    transform: scale(.25)
  }
  to {
    transform: scale(1)
  }
}

@keyframes up-fade {
  0% {
    transform: scaleY(.64) translateY(100%);
    opacity: 0
  }
  to {
    transform: scaleY(.64) translateY(0);
    opacity: .95
  }
}

@keyframes up-stretch {
  0% {
    transform: scaleY(.64)
  }
  to {
    transform: scale(1)
  }
}

@keyframes fade-in-125 {
  0% {
    opacity: 0
  }
  to {
    opacity: 1
  }
}

@media not print {
  [data-animation=hero-up] svg .letter-u {
    fill: var(--purple-lt);
    isolation: isolate;
    transform-box: fill-box;
    transform-origin: bottom;
    opacity: .95;
    animation: fade-in-up-long 1s ease both;
    animation-delay: 1.25s
  }
  [data-animation=hero-up] svg .letter-p {
    fill: var(--purple-lt);
    isolation: isolate;
    transform-box: fill-box;
    transform-origin: bottom;
    opacity: .95;
    animation: up-fade 1s ease both 2s, up-stretch 1s cubic-bezier(.5, 1.5, .5, 1) forwards 3.5s
  }
  [data-animation=hero-up-125] svg .letter-u {
    fill: var(--purple-lt);
    isolation: isolate;
    transform-box: fill-box;
    transform-origin: bottom;
    opacity: .95;
    animation: fade-in-up-long 1s ease both;
    animation-delay: 1.25s
  }
  [data-animation=hero-up-125] svg .letter-p {
    fill: var(--purple-lt);
    isolation: isolate;
    transform-box: fill-box;
    transform-origin: bottom;
    opacity: .95;
    animation: up-fade 1s ease both 2s, up-stretch 1s cubic-bezier(.5, 1.5, .5, 1) forwards 3.5s
  }
  [data-animation=hero-up-125] svg .anniversary-125 {
    animation: fade-in-125 1s ease forwards !important;
    animation-delay: 4.5s !important
  }
  [data-animation=hero-up-125] svg .anniversary-125 * {
    animation: fade-in-125 1s ease forwards !important;
    animation-delay: 4.5s !important
  }
  [data-animation=hero-up-125] svg .anniversary-125 .st0 {
    fill: var(--purple-lt) !important
  }
}

.Breadcrumbs {
  padding: 1rem var(--gutter);
  background: var(--gray-light);
  font: var(--text-small)
}

.Breadcrumbs a {
  background: transparent;
  border-color: transparent;
  padding: 0;
  box-shadow: 0 .0625rem currentColor;
  transition: box-shadow var(--transition)
}

:is(.Breadcrumbs a):hover {
  box-shadow: 0 .125rem currentColor
}

[aria-current]:is(.Breadcrumbs a) {
  box-shadow: none
}

[aria-current]:is(.Breadcrumbs a):hover {
  background-color: transparent;
  color: inherit
}

.Breadcrumbs.Breadcrumbs--news {
  padding: 1rem var(--wrap)
}

.Finder__hero {
  display: flex;
  flex-direction: column;
  position: relative;
  padding-block: 4.875rem
}

@media (width>=80em) {
  .Finder__hero {
    padding-top: 12rem
  }
}

.Finder__background {
  position: absolute;
  inset: 0;
  overflow: hidden
}

.Finder__background img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.Finder__hero-container {
  display: flex;
  flex-direction: column;
  position: relative;
  height: 100%;
  flex: 1;
  z-index: 1;
  padding-inline: var(--wrap)
}

.Finder__hero-container form {
  height: 100%;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start
}

.Finder__input-label {
  display: block;
  margin-top: var(--gap)
}

.Finder__input {
  font: var(--body);
  background-color: var(--white);
  border: 1px solid var(--purple);
  color: var(--purple);
  padding: 1.5rem 4rem 1.5rem 1.5rem;
  width: 100%;
  margin-block: 1rem 0;
  background-image: url(search.svg);
  background-position: right 1rem center;
  background-size: 3rem;
  background-repeat: no-repeat;
  border-radius: 8rem
}

.Finder__input::placeholder {
  opacity: 1
}

.Finder__input:focus {
  outline-offset: -.5rem;
  outline-color: var(--black)
}

.Finder__filter-toggle {
  position: relative;
  background-color: var(--purple);
  color: var(--white);
  font-weight: 700;
  border: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  width: 100%
}

.Finder__filter-toggle:after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  background: var(--white);
  mask: url(caret-down.svg) center / 1rem no-repeat;
  transition: transform var(--transition)
}

.Finder__filter-toggle[aria-expanded=true]:after {
  transform: rotate(180deg)
}

.Finder__filter-toggle[aria-expanded=true]:hover:after {
  transform: rotate(180deg) scale(1.3)
}

.Finder__filter-toggle[aria-expanded=false] {
  transition: var(--transition)
}

.Finder__filter-toggle[aria-expanded=false]:hover:after {
  transform: scale(1.3)
}

.Finder__filter-toggle:focus {
  outline-offset: -.5rem
}

.Finder__filter-content {
  height: calc(var(--height, auto) + 2rem);
  position: relative;
  background-color: var(--purple);
  color: var(--white);
  width: 100%;
  overflow: hidden;
  padding: 1rem 2rem;
  transition: height var(--transition), padding var(--transition), visibility var(--transition)
}

[aria-expanded=false]+.Finder__filter-content {
  height: 0;
  padding: 0 2rem;
  visibility: hidden
}

@media (width>=48em) {
  .Finder__filter-content {
    position: absolute;
    z-index: 1
  }
}

.Finder__filters-wrapper {
  padding-inline: var(--wrap);
  margin-top: var(--gap)
}

.Finder__filters {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: var(--gap)
}

@media (width>=48em) {
  .Finder__filters {
    flex-direction: row;
    gap: 2.5rem
  }
}

.Finder__checkbox-group {
  --color: var(--white);
  position: relative;
  flex: 1
}

.Finder__checkbox-label {
  display: flex;
  width: 100%;
  margin: 0 0 .75rem;
  text-transform: capitalize;
  cursor: pointer
}

.Finder__checkbox {
  flex-shrink: 0;
  margin-right: 15px;
  margin-top: 3px;
  appearance: none;
  width: 20px;
  height: 20px;
  border: 1px solid var(--white);
  background: transparent;
  cursor: pointer
}

.Finder__checkbox:checked {
  background-color: var(--white);
  background-image: url(check.svg);
  background-position: center;
  background-size: 10px;
  background-repeat: no-repeat;
  border: 1px solid var(--black)
}

.Finder__checkbox:focus-visible {
  outline: 2px dashed var(--white);
  outline-offset: 2px
}

.Finder__programs {
  --outline: var(--black);
  padding-block: 0;
  padding-inline: var(--wrap)
}

.Finder__program-list {
  display: grid;
  gap: 1rem;
  margin-bottom: var(--gutter)
}

.Finder__load {
  display: flex;
  flex-direction: row;
  justify-content: center;
  text-align: center;
  margin: 0 auto;
  gap: var(--gap);
  font-weight: 600
}

[data-finder-done] .Finder__load {
  display: none
}

.Finder__active-filters {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-bottom: 2rem;
  padding-top: 1rem;
  margin-inline: var(--wrap);
  border-top: 1px dashed var(--black)
}

.Finder__current {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem
}

.Finder__remove {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 18px;
  border: none;
  border-radius: 20px;
  text-transform: capitalize;
  margin: 0;
  font-size: 14px;
  line-height: 18px;
  text-align: center;
  color: var(--white);
  background-color: var(--purple);
  transition: var(--transition)
}

.Finder__remove:after {
  content: "";
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  margin-left: 8px;
  background: currentcolor;
  mask-image: url(close.svg);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat
}

.Finder__remove:hover {
  background-color: var(--purple-lt);
  color: var(--black)
}

.Finder__reset {
  font-weight: 600
}

.Finder__current:empty+.Finder__reset {
  display: none
}

.Program__card {
  position: relative;
  z-index: 0;
  background-color: var(--white);
  color: var(--black);
  padding: 2rem 2rem 2rem 4rem;
  box-shadow: var(--shadow)
}

.Program__card:before {
  content: "";
  position: absolute;
  left: 2rem;
  top: 2rem;
  width: 4px;
  height: var(--card-height, calc(100% - 4rem));
  background-color: var(--blue);
  transition: height var(--transition);
  z-index: 1
}

.Program__card[data-finder-item=hide] {
  display: none
}

[data-finder-limit]~.Program__card {
  display: none
}

.Program__card:has(.Program__toggle[aria-expanded=true]):before {
  height: var(--card-height, calc(100% - 4rem))
}

.Program__card:has(.link-cover:hover) {
  box-shadow: var(--shadow)
}

@media (width < 48em) {
  .Program__card {
    padding-top: 4rem;
    display: flex;
    flex-direction: column;
    padding: 2rem 2rem 2rem 3rem
  }
  .Program__card:before {
    left: 1rem
  }
}

.Program__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: .5rem
}

@media (width < 48em) {
  .Program__header {
    order: 1;
    margin-bottom: 1rem
  }
}

@media (width>=48em) {
  .Program__header {
    position: static;
    display: grid;
    grid-template-columns: 4fr 2fr 1fr;
    align-items: center
  }
}

.Program__main {
  display: flex;
  flex-direction: column;
  padding-right: 4rem;
  gap: .5rem
}

.Program__title {
  margin: 0;
  flex: 1
}

@media (width>=48em) {
  .Program__title {
    flex: none;
    grid-column: 1
  }
}

.Program__title a {
  color: var(--purple)
}

.Program__offered {
  font: var(--h6);
  margin: 0
}

@media (width < 48em) {
  .Program__offered {
    order: 3
  }
}

.Program__college {
  font: var(--h5);
  color: var(--black);
  margin: 0;
  display: none
}

@media (width>=48em) {
  .Program__college {
    display: block;
    grid-column: 2;
    text-align: left
  }
}

.Program__college-mobile {
  font: var(--h6);
  font-weight: 600;
  color: var(--gray-dark, #666);
  margin: .5rem 0;
  display: block
}

@media (width < 48em) {
  .Program__college-mobile {
    order: 2;
    margin: 0 0 .5rem
  }
}

@media (width>=48em) {
  .Program__college-mobile {
    display: none
  }
}

.Program__toggle {
  width: 2rem;
  height: 2rem;
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--transition);
  flex-shrink: 0
}

@media (width>=48em) {
  .Program__toggle {
    grid-column: 3;
    justify-self: end
  }
}

.Program__toggle:before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background: var(--purple);
  mask: url(angle-down.svg) center / contain no-repeat;
  transition: transform var(--transition), background var(--transition)
}

.Program__toggle[aria-expanded=true]:before {
  transform: rotate(180deg)
}

.Program__toggle[aria-expanded=true]:hover {
  transform: scale(1.1)
}

.Program__toggle[aria-expanded=true]:hover:before {
  transform: rotate(180deg) scale(1.1)
}

.Program__toggle[aria-expanded=false]:hover {
  transform: scale(1.1)
}

.Program__toggle[aria-expanded=false]:hover:before {
  transform: scale(1.1)
}

.Program__content {
  overflow: hidden;
  transition: max-height .3s ease-in-out;
  max-height: 0px;
  padding-bottom: 2px
}

@media (width < 48em) {
  .Program__content {
    order: 10
  }
}

.Program__content[style*=max-height] {
  transition: max-height .3s ease-in-out
}

@media (width>=64em) {
  .Program__content {
    width: 50%
  }
}

.Program__content p {
  margin-top: 0;
  padding: 1rem 0 0;
  color: var(--gray-dark, #666);
  line-height: 1.5
}

.Program__content .Button:focus {
  outline-offset: 0
}

.Program__keys {
  display: none;
  list-style-type: none;
  padding: 0;
  margin: 0 0 1rem
}

@media (width < 48em) {
  .Program__keys {
    order: 4
  }
}

.Program__keys li {
  display: flex;
  gap: .5rem;
  margin: 0 0 .25rem;
  font-weight: 600;
  font: var(--text-small)
}

:is(.Program__keys li) svg {
  width: .875rem
}

.bottom-buttons {
  margin-top: 32px
}

@media (width < 48em) {
  .bottom-buttons {
    order: 9
  }
}

@media (width>=64em) {
  .bottom-buttons {
    margin-top: 45px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between
  }
}

.bottom-buttons p {
  margin-bottom: 20px
}

.bottom-buttons .link-secondary {
  font-weight: 500;
  font-size: 15px;
  line-height: 17px;
  padding: 0;
  margin: 0;
  --strokeHeight: 1px
}

.bottom-buttons .button {
  min-width: 290px
}

@media (width>=64em) {
  .bottom-buttons .button {
    min-width: 225px
  }
}

.bottom-buttons .Button {
  margin-bottom: 1rem;
  width: 100%
}

@media (width>=64em) {
  .bottom-buttons .Button {
    margin-right: 1rem;
    width: auto
  }
}

.finder {
  width: 100%
}

.finder[data-finder-done] .Finder__more {
  display: none
}

.Finder__more {
  display: flex;
  justify-content: center;
  margin-top: 2rem
}

.Finder__more button {
  background: var(--white);
  color: var(--purple);
  border: 2px solid var(--purple);
  border-radius: var(--radius, 8px);
  padding: 1rem 2rem;
  font-weight: 700;
  cursor: pointer;
  transition: all var(--transition)
}

:is(.Finder__more button):hover {
  background: var(--purple);
  color: var(--white)
}

:is(.Finder__more button):focus {
  outline: 2px solid var(--purple);
  outline-offset: 2px
}

.Finder__count {
  font-size: .875rem;
  color: var(--gray-dark, #666);
  margin-bottom: 1rem;
  font-weight: 600
}

[data-finder-done] [data-finder-load] {
  display: none
}

.image {
  margin: 0;
  position: relative
}

.image:where(.Common) .image {
  margin-block: var(--gap)
}

.image figcaption {
  position: relative;
  padding-block: 1rem 0;
  font: var(--text-small);
  background: var(--white);
  color: var(--purple-med)
}

.Section--gray :is(.image figcaption) {
  background: var(--gray-light)
}

.Section--bg-split :is(.image figcaption) {
  background: var(--white)
}

.image:has(a[class=modal]) {
  position: relative
}

.image:has(a[class=modal]):before {
  content: " ";
  position: absolute;
  inset: 0;
  background-color: var(--white)
}

.image:has(a[class=modal]) img {
  position: relative
}

.image a {
  z-index: 1;
  outline-color: var(--purple)
}

.image [href^="https://www.youtube.com"],
.image [href^="https://youtu.be"],
.image [href^="https://vimeo.com"] {
  display: block;
  position: relative;
  border-radius: var(--radius);
  box-shadow: none !important
}

:is(.image [href^="https://www.youtube.com"],
.image [href^="https://youtu.be"],
.image [href^="https://vimeo.com"]):before,
:is(.image [href^="https://www.youtube.com"],
.image [href^="https://youtu.be"],
.image [href^="https://vimeo.com"]):after {
  content: "";
  position: absolute;
  top: calc(50% - 2rem);
  left: calc(50% - 2rem);
  width: 4rem;
  height: 4rem;
  transition: transform var(--transition);
  z-index: 2
}

:is(.image [href^="https://www.youtube.com"],
.image [href^="https://youtu.be"],
.image [href^="https://vimeo.com"]):before {
  border-radius: 50%;
  background: var(--purple)
}

:is(.image [href^="https://www.youtube.com"],
.image [href^="https://youtu.be"],
.image [href^="https://vimeo.com"]):after {
  background: var(--white);
  mask: url(play.svg) center / 1.75rem 1.75rem no-repeat
}

:is(.image [href^="https://www.youtube.com"],
.image [href^="https://youtu.be"],
.image [href^="https://vimeo.com"]):hover:before,
:is(.image [href^="https://www.youtube.com"],
.image [href^="https://youtu.be"],
.image [href^="https://vimeo.com"]):hover:after {
  transform: scale(1.1)
}

.Image--offset .Image__offset-square {
  position: absolute;
  top: -1.5rem;
  left: -1.5rem;
  width: 50%;
  height: 50%;
  background: var(--purple);
  border-radius: var(--radius);
  z-index: 0
}

.Feature--flip :is(.Image--offset .Image__offset-square) {
  left: auto;
  right: -1.5rem
}

.ContentSidebar__content :is(.Image--offset .Image__offset-square) {
  width: 75%;
  height: 75%
}

.Image--offset img,
.Image--offset .Placeholder {
  position: relative;
  z-index: 1
}

.IconPanel {
  width: 100%
}

.IconPanel__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0
}

@media (width>=64em) {
  .IconPanel__grid {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 1rem;
    row-gap: 3rem
  }
}

.IconPanel__column {
  padding: var(--gap);
  position: relative
}

.IconPanel__column:not(:last-child) {
  border-bottom: 1px solid var(--purple-med, #3A336D)
}

@media (width>=64em) {
  .IconPanel__column:not(:last-child) {
    border-bottom: none;
    border-right: 1px solid var(--purple-med, #3A336D)
  }
}

@media (width>=64em) {
  .IconPanel__column:not(:first-child) {
    padding-left: var(--gap)
  }
}

@media (width>=64em) {
  .IconPanel__column:first-child {
    padding-left: 0
  }
}

@media (width>=64em) {
  .IconPanel__column:last-child {
    padding-right: 0
  }
}

@media (width>=64em) {
  .IconPanel__column:nth-child(3n) {
    border-right: none;
    padding-right: 0
  }
  .IconPanel__column:nth-child(3n+1) {
    padding-left: 0
  }
}

@media (width>=64em) {
  .IconPanel__column {
    padding-top: var(--gap-lg);
    padding-bottom: var(--gap-lg)
  }
}

.IconPanel__header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem
}

.IconPanel__icon {
  width: 3rem;
  height: 3rem;
  flex-shrink: 0
}

@media (width>=64em) {
  .IconPanel__icon {
    width: 4rem;
    height: 4rem
  }
}

.IconPanel__title {
  font: var(--h3);
  margin: 0;
  color: var(--heading)
}

@media (width>=64em) {
  .Table__stack {
    border: 0;
    background-attachment: local, local, scroll, scroll;
    background-image: linear-gradient(to right, var(--white), var(--white)), linear-gradient(to left, var(--white), var(--white)), linear-gradient(to right, var(--black-10), transparent), linear-gradient(to left, var(--black-10), transparent);
    background-position: left center, right center, left center, right center;
    background-size: 1rem 100%;
    overflow: auto
  }
}

@media (width < 64em) {
  .ContentSidebar__content .Table__stack {
    padding-inline: 1rem
  }
}

.Table__stack table {
  width: 100%
}

@media (width < 48em) {
  .Table__stack table {
    min-width: auto !important
  }
}

.Table__stack thead {
  display: none;
  border-bottom: 4px solid var(--black)
}

@media (width>=64em) {
  .Table__stack thead {
    display: table-header-group;
    margin-bottom: 2rem
  }
}

.Table__stack th,
.Table__stack td {
  display: flex;
  justify-content: space-between;
  padding: .5rem 0;
  vertical-align: unset;
  text-align: left;
  color: var(--black);
  font-size: 1rem;
  font-style: normal;
  line-height: 1.5
}

@media (width < 64em) {
  .Table__stack th,
  .Table__stack td {
    margin-inline: calc(-1 * var(--wrap));
    padding-inline: var(--wrap);
    flex-direction: column
  }
  :is(.Table__stack th,
  .Table__stack td):first-child {
    padding-top: 1.5rem
  }
  :is(.Table__stack th,
  .Table__stack td):last-child {
    padding-bottom: 1.5rem
  }
}

@media (width>=64em) {
  .Table__stack th,
  .Table__stack td {
    display: table-cell;
    font-style: normal;
    font-weight: 400;
    padding: 1.25rem 1.5rem
  }
}

:is(.Table__stack th,
.Table__stack td) .table-label {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5
}

@media (width>=64em) {
  :is(.Table__stack th,
  .Table__stack td) .table-label {
    display: none
  }
}

:is(.Table__stack tr):nth-child(odd) td {
  background-color: var(--purple-lightest)
}

@media (width < 64em) {
  .Accordion :is(:is(.Table__stack tr): nth-child(odd) td) {
    background-color:var(--white)
  }
}

.Table__stack th {
  font: var(--h5);
  font-size: 1.25rem
}

.accordion {
  display: grid;
  grid-template: auto / 100%;
  gap: .5rem
}

.accordion__item {
  background: var(--purple-lightest);
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--purple-lt)
}

.accordion__heading {
  font: var(--h4);
  margin: 0;
  max-width: 100%
}

.accordion__toggle {
  --outline-color: var(--purple);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  width: 100%;
  border: 0;
  padding: 1rem 1.5rem;
  background: none;
  text-align: left;
  cursor: pointer;
  outline-offset: -.45rem !important;
  align-items: center
}

.accordion__toggle:after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  background: var(--black);
  mask: url(close.svg) center / 1.5rem no-repeat;
  transition: transform var(--transition);
  transform: rotate(45deg)
}

.accordion__toggle:hover {
  text-decoration: none
}

.accordion__toggle:hover:after {
  transform: scale(1.2) rotate(45deg)
}

.accordion__toggle[aria-expanded=true] {
  --color: var(--white);
  background: var(--purple);
  color: var(--white)
}

.accordion__toggle[aria-expanded=true]:after {
  transform: rotate(0);
  background-color: var(--white)
}

.accordion__toggle[aria-expanded=true]:hover:after {
  transform: scale(1.2)
}

.accordion__content {
  display: grid;
  grid-template: minmax(0, 0fr) / 100%;
  transition: grid-template-rows var(--transition), visibility var(--transition);
  overflow: hidden;
  visibility: hidden
}

.accordion__heading:has([aria-expanded=true])+.accordion__content {
  grid-template-rows: minmax(0, 1fr);
  visibility: visible
}

.accordion__content .image {
  transition: transform var(--transition);
  overflow: hidden
}

.accordion__content .Table__stack {
  transition: transform var(--transition)
}

.accordion__interior {
  display: grid;
  grid-template: auto / 100%;
  gap: 2rem var(--space);
  padding: var(--gap);
  background: var(--white);
  color: var(--black)
}

@media (width>=48rem) {
  :is(.accordion__interior .prose) .alignleft {
    margin-right: var(--space)
  }
}

@media (width>=48rem) {
  :is(.accordion__interior .prose) .alignright {
    margin-left: var(--space)
  }
}

.Events {
  display: grid;
  gap: var(--gutter)
}

.Section--black .Events,
.Section--gray .Events {
  background-color: var(--white);
  padding: var(--gutter)
}

@media (width>=64em) {
  .Events {
    grid-template-columns: 1fr;
    gap: var(--gutter) calc(var(--gutter) * 2);
    overflow: visible
  }
}

:is(.Events .event-card):has(.image) {
  display: flex;
  flex-direction: row-reverse;
  gap: 1.5rem
}

:is(.Events .event-card):has(.image) .image {
  max-width: 14rem;
  object-fit: contain
}

:is(.Events .event-card):not(.event-card--stack) {
  flex-direction: column
}

:is(.Events .event-card):not(.event-card--stack) .image {
  max-width: unset
}

@container (width>=64rem) {
  :is(.Events .event-card):not(.event-card--stack) {
    flex-direction: row-reverse
  }
}

@container (width>=64rem) {
  :is(.Events .event-card):not(.event-card--stack):not(.Widget: is(.Events .event-card)) .image {
    max-width:14rem
  }
}

:is(.Events .event-card) .meta {
  margin-top: 0;
  display: block
}

@media (width>=64em) {
  .event-card--multiday:is(.Events .event-card) {
    align-items: center
  }
}

.Events .event-card__content {
  display: grid;
  gap: 1.5rem;
  flex: 1;
  grid-template-columns: auto 1fr
}

.event-card--multiday :is(.Events .event-card__content) {
  align-items: center
}

.Events .event-card__title {
  color: var(--purple);
  font: var(--h4);
  margin: 0
}

.Widget :is(.Events .event-card__title) {
  font-size: 1.125rem
}

.Events .event-card__date {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  text-align: center;
  font-family: var(--scale-vf);
  font-size: 1.92856rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .27rem;
  text-transform: uppercase;
  margin-top: .35rem
}

:is(.Events .event-card__date) span {
  display: block;
  font-family: var(--scale-vf);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  padding-bottom: .25rem;
  letter-spacing: .1rem
}

:is(.Events .event-card__date) .event-card__date-separator {
  height: 1.25rem;
  width: 1px;
  margin: 1rem auto;
  background: var(--purple)
}

.FeaturedEvents {
  display: grid;
  grid-template-columns: 100%;
  gap: var(--gap)
}

.FeaturedEvents .FeaturedEvents__left {
  order: 1
}

.FeaturedEvents .FeaturedEvents__events {
  order: 2
}

@container (width>=64rem) {
  .FeaturedEvents {
    padding-block: var(--panel);
    align-items: flex-start;
    grid-template-columns: 2fr 5fr;
    grid-template-areas: "left events"
  }
  .FeaturedEvents .FeaturedEvents__left,
  .FeaturedEvents .FeaturedEvents__events {
    order: unset
  }
}

.FeaturedEvents__left {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  z-index: 1
}

.FeaturedEvents__left .Buttons {
  margin-top: 0
}

@container (width < 64rem) {
  .FeaturedEvents__left .Buttons {
    display: none
  }
}

@container (width>=64rem) {
  .FeaturedEvents__left {
    grid-area: left
  }
}

.FeaturedEvents__events {
  display: grid;
  grid-template-columns: 100%;
  gap: var(--gap-sm);
  position: relative;
  z-index: 1
}

.FeaturedEvents__events .Buttons {
  margin-top: var(--gap)
}

@container (width>=64rem) {
  .FeaturedEvents__events .Buttons {
    display: none
  }
}

@container (width>=64rem) {
  .FeaturedEvents__events {
    grid-row-start: 1;
    grid-column: 2;
    grid-template-columns: 1fr 1fr
  }
}

.FeaturedEvents__event {
  display: grid;
  grid-template-columns: 100%;
  align-items: flex-start;
  gap: var(--gap);
  padding-bottom: var(--gap-sm);
  border-bottom: 1px solid var(--white)
}

@container (width>=64rem) {
  .FeaturedEvents__event {
    border-bottom: none;
    padding-bottom: unset
  }
  .FeaturedEvents__event:has(img) {
    grid-column: span 2;
    grid-template-columns: 1fr 1fr;
    padding-bottom: var(--gap-sm);
    border-bottom: 1px solid var(--white)
  }
}

.FeaturedEvents__content {
  display: grid;
  grid-template-columns: 1fr 4fr;
  gap: var(--gap-sm)
}

.FeaturedEvents__title {
  font-size: 1.25rem
}

.FeaturedEvents__date {
  display: flex;
  flex-direction: column
}

.FeaturedEvents__date>div {
  color: #fff;
  text-align: center;
  font-family: var(--scale-vf);
  font-size: 1.92856rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .27rem;
  text-transform: uppercase
}

:is(.FeaturedEvents__date>div) span {
  display: block;
  font-family: var(--scale-vf);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  padding-bottom: .25rem;
  letter-spacing: .1rem
}

:is(.FeaturedEvents__date>div):nth-child(2):before {
  content: " ";
  display: block;
  height: 1.25rem;
  width: 1px;
  margin: 1rem auto;
  background: var(--white)
}

.FeaturedEvents__svg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 25rem;
  height: 24rem;
  transform: translate(-50%);
  opacity: .4
}

.FeaturedEvents__svg svg {
  height: 100%
}

@container (width>=64rem) {
  .FeaturedEvents__svg {
    width: 38rem;
    height: 38rem;
    transform: translate(-20%)
  }
}

.Widget {
  margin-block: var(--gap)
}

.Widget :where(h2) {
  font: var(--h4)
}

:is(.Widget :where(h2)) span {
  font-family: var(--scale-vf);
  font-size: 1rem;
  font-weight: 300
}

.Widget--bg {
  padding: 2rem;
  border-radius: var(--radius);
  background: var(--purple-lightest)
}

.Widget__list {
  display: grid;
  grid-template-columns: 100%;
  gap: 1rem;
  padding: 0;
  list-style: none
}

.Widget__list li {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-weight: 600
}

.Widget__list a {
  color: var(--purple);
  font-weight: 600
}

.Widget__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.125rem;
  border: none
}

.Widget__icon svg {
  width: 100%;
  height: 100%
}

a.Widget__icon svg {
  transition: transform var(--transition)
}

a.Widget__icon:hover svg {
  transform: scale(1.1)
}

.Widget__links :where(h2) {
  margin-bottom: 2rem
}

.Widget__links ul {
  display: grid;
  grid-template-columns: 100%;
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none
}

.Widget__links a {
  color: inherit
}

:is(.Widget__links .Router) a {
  font-weight: 400
}

.FacultyCard {
  display: grid;
  grid-template-columns: 100%;
  align-items: center;
  position: relative;
  gap: var(--gap);
  justify-items: end;
  box-shadow: var(--shadow);
  padding: 1.5rem var(--gap) 1.5rem 0
}

.FacultyCard:has(.image) {
  grid-template-columns: 1fr minmax(0, auto)
}

@media (width>=32em) {
  .FacultyCard:has(.image) .FacultyCard__details {
    height: calc(100% - var(--wrap))
  }
}

.FacultyCard .image {
  min-width: 80px;
  max-width: min(175px, 30vw);
  width: 100%;
  order: 1
}

@media (width < 32em) {
  .FacultyCard .image {
    max-width: min(150px, 25vw);
    min-width: 60px
  }
}

:is(.FacultyCard .image) img {
  width: 100%;
  height: auto;
  object-fit: cover
}

@media (width>=32em) {
  .FacultyCard .image {
    order: unset
  }
}

.FacultyCard__details {
  place-content: center;
  position: relative;
  width: 100%;
  padding-left: var(--gap)
}

.FacultyCard__details:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 6px;
  height: 100%;
  background-color: var(--coral)
}

.FacultyCard__details.Common {
  padding-left: var(--gap) !important
}

@media (width>=32em) {
  .FacultyCard__details {
    min-height: 200px
  }
}

.FacultyCard__name {
  font: var(--h4);
  margin-bottom: 0;
  color: var(--purple)
}

.FacultyCard__title {
  font-weight: 700;
  margin-block: .5rem 0
}

.FacultyCard__contact {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  margin-top: 1rem
}

.FacultyCard__contact p {
  margin: 0
}

.FacultyCard__contact a {
  font-weight: 300;
  color: var(--black)
}

.news-card {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  --color: var(--white);
  --heading: var(--white);
  --link: var(--white);
  --outline-color: var(--white);
  background: transparent;
  height: 100%
}

.list-bordered .news-card {
  padding-block: 1.5rem
}

.news-card.news-card--no-image {
  justify-content: center;
  text-align: left;
  gap: 0
}

.news-card.news-card--no-image .news-card__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%
}

.news-card:not(.news-card--stack) {
  flex-direction: row-reverse
}

.news-card:not(.news-card--stack) .image {
  max-width: 8rem
}

.news-card.news-card--stack {
  --color: var(--white);
  --heading: var(--white);
  --link: var(--white);
  --outline-color: var(--white);
  background: transparent
}

.news-card.news-card--stack .Image__container {
  border-radius: 0
}

@container (width>=80rem) {
  .news-card:not(.news-card--stack):not(.Widget .news-card) .image {
    max-width: 11.25rem
  }
}

.news-card__title {
  font: var(--h3);
  margin: 0
}

.Widget .news-card__title {
  font-size: 1.125rem
}

.news-card__content {
  flex: 1
}

.news-card--stack .news-card__content {
  padding: 1.5rem
}

.news-card__content .meta-lg {
  font-family: var(--scale-vf);
  font-variation-settings: var(--scale-vf-settings);
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.75rem
}

.news-card__content .event-meta {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  margin-top: var(--gap-sm)
}

:is(.news-card__content .event-meta) p {
  margin: 0
}

.NewsEventCarousel {
  --swiper-pagination-color: var(--color-primary)
}

.NewsEventCarousel .swiper-content {
  overflow: hidden
}

.NewsEventCarousel .swiper {
  display: flex;
  flex-direction: column-reverse
}

.NewsEventCarousel .swiper-slide {
  border-right: none;
  padding-right: 1rem
}

@container (width>=64rem) {
  :is(.NewsEventCarousel .swiper-slide):first-child {
    padding-left: 1rem
  }
  .swiper-slide-active:is(.NewsEventCarousel .swiper-slide),
  .swiper-slide-next:is(.NewsEventCarousel .swiper-slide) {
    border-right: 1px solid var(--purple-med, #3A336D)
  }
  :is(.swiper-slide-active:is(.NewsEventCarousel .swiper-slide),
  .swiper-slide-next:is(.NewsEventCarousel .swiper-slide)):last-child {
    border-right: none;
    padding-right: 0
  }
}

:is(.NewsEventCarousel .swiper-slide) img.image {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover
}

.ImageCarousel {
  --swiper-pagination-color: var(--purple);
  position: relative;
  background-color: var(--purple)
}

@container (width>=64rem) {
  .Section+.ImageCarousel {
    padding-top: var(--gap-sm)
  }
}

.ImageCarousel .ImageCarousel__inner {
  padding-left: calc(var(--wrap) * 2);
  position: relative;
  padding-bottom: calc(var(--panel) + var(--gap))
}

@media (width < 64em) {
  .ImageCarousel .ImageCarousel__inner {
    padding-left: 0;
    padding-bottom: 0
  }
}

.ImageCarousel .swiper-nav {
  display: flex;
  align-items: center;
  gap: var(--gap-sm);
  z-index: 3;
  margin-bottom: 0
}

:is(.ImageCarousel .swiper-nav) .swiper-button {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: var(--transition);
  position: relative;
  margin-top: 0
}

:is(.ImageCarousel .swiper-nav) .swiper-pagination {
  position: static;
  width: auto
}

.ImageCarousel .swiper-content {
  overflow: hidden;
  position: relative;
  transition: margin-bottom .4s ease-out
}

@container (width>=64rem) {
  .ImageCarousel .swiper-content {
    padding-block: 0 !important;
    margin: 0 0 0 var(--wrap) !important
  }
}

.ImageCarousel .swiper-wrapper {
  display: flex
}

:is(.ImageCarousel .swiper-wrapper) .swiper-slide {
  width: 100%;
  flex-shrink: 0
}

:is(:is(.ImageCarousel .swiper-wrapper) .swiper-slide) .ImageCarousel__image {
  aspect-ratio: 15/9;
  overflow: hidden
}

:is(:is(:is(.ImageCarousel .swiper-wrapper) .swiper-slide) .ImageCarousel__image) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center
}

.ImageCarousel .ImageCarousel__callout {
  position: absolute;
  border-radius: var(--radius);
  left: var(--wrap);
  top: 0;
  width: 60%;
  background: var(--white);
  padding: 2rem;
  box-shadow: var(--shadow);
  z-index: 2;
  transition: height .4s ease-out
}

@media (width>=80em) {
  .ImageCarousel .ImageCarousel__callout {
    width: 45%;
    top: 25%;
    transform: translateY(-25%)
  }
}

@media (width>=100em) {
  .ImageCarousel .ImageCarousel__callout {
    width: 33.333%
  }
}

@media (width < 64em) {
  .ImageCarousel .ImageCarousel__callout {
    position: absolute;
    inset: auto 0 0;
    width: auto;
    transform: none;
    padding: var(--gap-sm);
    margin: var(--gap-sm)
  }
}

:is(.ImageCarousel .ImageCarousel__callout) .ImageCarousel__content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-height: 200px
}

@media (width < 64em) {
  :is(.ImageCarousel .ImageCarousel__callout) .ImageCarousel__content {
    gap: .5rem;
    min-height: auto
  }
}

:is(:is(.ImageCarousel .ImageCarousel__callout) .ImageCarousel__content) .ImageCarousel__title {
  font: var(--h3);
  margin: 0
}

:is(:is(.ImageCarousel .ImageCarousel__callout) .ImageCarousel__content) .ImageCarousel__text {
  font: var(--text);
  margin: 0;
  flex-grow: 1
}

:is(:is(:is(.ImageCarousel .ImageCarousel__callout) .ImageCarousel__content) .ImageCarousel__text) p {
  margin: 0 0 1rem
}

:is(:is(:is(:is(.ImageCarousel .ImageCarousel__callout) .ImageCarousel__content) .ImageCarousel__text) p):last-child {
  margin-bottom: 0
}

@media (width < 64em) {
  :is(:is(:is(.ImageCarousel .ImageCarousel__callout) .ImageCarousel__content) .ImageCarousel__text) p {
    margin: 0 0 .75rem
  }
  :is(:is(:is(:is(.ImageCarousel .ImageCarousel__callout) .ImageCarousel__content) .ImageCarousel__text) p):last-child {
    margin-bottom: 0
  }
}

:is(.ImageCarousel .ImageCarousel__callout) .ImageCarousel__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto
}

@media (width < 64em) {
  :is(.ImageCarousel .ImageCarousel__callout) .ImageCarousel__bottom {
    flex-direction: column;
    gap: var(--gap-sm);
    align-items: flex-start
  }
}

@media (width < 64em) {
  :is(:is(.ImageCarousel .ImageCarousel__callout) .ImageCarousel__bottom) .ImageCarousel__link {
    align-self: flex-start
  }
}

@media (width < 64em) {
  :is(:is(.ImageCarousel .ImageCarousel__callout) .ImageCarousel__bottom) .swiper-nav {
    justify-content: center;
    order: 2;
    align-self: center;
    width: 100%
  }
}

.ImageCarousel .ImageCarousel__thumbnails {
  position: absolute;
  bottom: var(--gap);
  left: 50%;
  transform: translate(-50%);
  display: none;
  gap: var(--gap-sm);
  z-index: 3;
  --color: var(--white)
}

@media (width>=64em) {
  .ImageCarousel .ImageCarousel__thumbnails {
    display: flex
  }
}

:is(.ImageCarousel .ImageCarousel__thumbnails) .ImageCarousel__thumbnail {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .5rem;
  padding: .25rem;
  background: transparent;
  color: var(--white);
  border: 1.25px solid var(--white);
  border-radius: var(--radius);
  cursor: pointer;
  transition: var(--transition);
  max-width: 215px
}

:is(:is(.ImageCarousel .ImageCarousel__thumbnails) .ImageCarousel__thumbnail):hover {
  box-shadow: var(--shadow);
  background: var(--white);
  border-color: var(--white)
}

:is(:is(.ImageCarousel .ImageCarousel__thumbnails) .ImageCarousel__thumbnail):hover .ImageCarousel__thumb-title {
  color: var(--purple)
}

.active:is(:is(.ImageCarousel .ImageCarousel__thumbnails) .ImageCarousel__thumbnail) {
  background: var(--white);
  border-color: var(--white)
}

.active:is(:is(.ImageCarousel .ImageCarousel__thumbnails) .ImageCarousel__thumbnail) .ImageCarousel__thumb-title {
  color: var(--purple)
}

:is(:is(.ImageCarousel .ImageCarousel__thumbnails) .ImageCarousel__thumbnail) .ImageCarousel__thumb-image {
  width: 200px;
  aspect-ratio: 15/9;
  overflow: hidden
}

:is(:is(:is(.ImageCarousel .ImageCarousel__thumbnails) .ImageCarousel__thumbnail) .ImageCarousel__thumb-image) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center
}

:is(:is(.ImageCarousel .ImageCarousel__thumbnails) .ImageCarousel__thumbnail) .ImageCarousel__thumb-title {
  display: block;
  font: var(--h5);
  text-align: center;
  margin: 0;
  transition: var(--transition)
}

.Form__container:has(.image) {
  display: flex;
  flex-direction: column
}

.Form__container:has(.image) .image {
  flex: 1;
  z-index: -1
}

.Form__container:has(.image) .Form {
  margin-top: -2rem
}

@container (width < 64rem) {
  .Form__container:has(.image) .image {
    margin-inline: calc((var(--wrap) * -1) + .5rem)
  }
}

@container (width>=64rem) {
  .Form__container:has(.image) {
    flex-direction: row-reverse;
    align-items: center
  }
  .Form__container:has(.image) .Form {
    max-width: 538px;
    margin: 0 -4rem 0 0
  }
}

.Form__container--long-intro {
  display: grid;
  grid-template-columns: 100%;
  gap: var(--gap);
  padding: var(--gutter);
  background-color: var(--white);
  border-radius: var(--radius);
  --form-color: var(--purple);
  color: var(--purple);
  --heading: var(--purple);
  --link: var(--purple);
  --theme: var(--purple)
}

@container (width>=64rem) {
  .Form__container--long-intro {
    grid-template-columns: 2fr 3fr;
    align-items: start;
    gap: var(--gutter)
  }
}

.Form__container--long-intro .Form {
  padding: var(--gutter)
}

@container (width>=64rem) {
  .Form__container--long-intro .Form {
    padding: 0
  }
}

:is(.Form__container--long-intro .Form) .flush {
  margin: 0
}

.Form__container--widget {
  background-color: var(--purple-lightest);
  padding: 1.5rem;
  border-radius: var(--radius)
}

.Form__container--widget #form_description {
  display: none
}

.Form__container--widget .Form {
  background-color: var(--purple-lightest);
  color: var(--purple);
  --color: var(--purple);
  padding: 0
}

:is(.Form__container--widget .Form) .Form__form {
  --flow-space: 1rem
}

:is(.Form__container--widget .Form) .form_h1 {
  font: var(--h2)
}

.Form {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--gap-sm);
  background: var(--white);
  border-radius: var(--radius);
  padding: var(--gap-sm);
  --form-color: var(--purple);
  --color: var(--purple);
  --theme: var(--purple)
}

@container (width < 64rem) {
  .Form {
    border-radius: 0
  }
}

.Form [aria-hidden] {
  display: none
}

.Form .Button {
  --theme: var(--purple)
}

.Form input,
.Form textarea {
  display: block;
  width: 100%;
  background-color: var(--white);
  border: 1px solid var(--purple-med);
  color: var(--purple);
  padding: .5em 1em;
  margin-top: .25rem;
  outline-offset: 1px;
  outline-width: 2px
}

.Form label,
.Form fieldset {
  display: block
}

:is(.Form fieldset) legend,
:is(.Form fieldset) .fieldset-legend {
  font: var(--h5);
  font-weight: 500;
  color: var(--heading)
}

:is(:is(.Form [data-required]) label,
:is(.Form [data-required]) label.form_label):after {
  content: " *";
  color: red
}

.Form select {
  background-color: #fff;
  color: var(--black);
  border: 1px solid var(--purple-med);
  display: inline-block;
  font: inherit;
  line-height: 1.5em;
  padding: .5em 3.5em .5em 1em;
  width: 100%;
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  outline-offset: 1px;
  outline-width: 2px;
  margin-top: .25rem;
  font-weight: 400;
  background-image: linear-gradient(45deg, transparent 50%, var(--purple) 50%), linear-gradient(135deg, var(--purple) 50%, transparent 50%), linear-gradient(to right, var(--purple-med), var(--purple-med));
  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
}

:is(.Form select):focus {
  background-image: linear-gradient(45deg, var(--purple) 50%, transparent 50%), linear-gradient(135deg, transparent 50%, var(--purple) 50%), linear-gradient(to right, var(--purple), var(--purple));
  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(--black)
}

.Form select[multiple] {
  background-image: none
}

.Form .form_birthdate select,
.Form .form_date select,
.Form .form_dateym select,
.Form .form_datemd select {
  width: auto
}

.Form .Buttons {
  display: grid;
  gap: 0;
  margin-bottom: 0
}

.Form__agreement {
  font-size: 1rem;
  color: var(--black);
  line-height: 1.4;
  margin: 0
}

.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio {
  display: flex;
  align-items: center;
  margin-top: .25rem
}

:is(.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio) input {
  width: auto;
  margin-right: .5rem;
  aspect-ratio: 1 / 1;
  background-color: transparent
}

[disabled]:is(:is(.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio) input) {
  background-color: #d3d3d3
}

:is(.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio) input[type=checkbox] {
  appearance: none;
  display: grid;
  align-content: center;
  justify-content: center;
  font-size: 1rem;
  padding: 2px;
  border: 2px solid var(--form-color, var(--purple));
  border-radius: 3px
}

:is(:is(.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio) input[type=checkbox]):before {
  content: "";
  transform: scale(0);
  background-color: var(--form-color, var(--purple))
}

:is(:is(.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio) input[type=checkbox]):checked:before {
  transform: scale(1)
}

:is(.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio) input {
  display: grid;
  place-content: center;
  flex-shrink: 0;
  margin-right: 15px;
  margin-top: 3px;
  appearance: none;
  width: 1.5rem;
  height: 1.5rem;
  border: 2px solid var(--purple);
  border-radius: .25rem;
  background: transparent
}

:is(:is(.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio) input):checked {
  background-color: transparent
}

:is(:is(.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio) input):checked:before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background: var(--purple);
  mask: url(check.svg) center / contain no-repeat
}

:is(:is(.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio) input):focus {
  outline: 2px solid var(--purple);
  outline-offset: 2px
}

:is(.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio) input[type=radio] {
  appearance: none;
  display: inline-flex;
  align-items: center;
  margin-top: .25rem;
  align-content: center;
  justify-content: center;
  font-size: 1rem;
  padding: 4px;
  border: 2px solid var(--form-color, var(--purple));
  border-radius: 50%
}

:is(:is(.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio) input[type=radio]):before {
  content: "";
  border-radius: 50%;
  transform: scale(0);
  width: .75rem;
  height: .75rem;
  mask: none;
  background-color: var(--form-color, var(--purple))
}

:is(:is(.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio) input[type=radio]):checked:before {
  transform: scale(1)
}

:is(:is(.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio) input[type=radio]):focus {
  outline: 2px solid var(--purple);
  outline-offset: 2px
}

:is(.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio) .option {
  margin-bottom: 0;
  font-weight: 400;
  text-transform: none;
  cursor: pointer
}

:is(.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio) input[type=checkbox],
:is(.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio) input[type=radio] {
  pointer-events: auto
}

:is(:is(.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio) input[type=checkbox],
:is(.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio) input[type=radio]):focus {
  outline: 2px solid var(--purple);
  outline-offset: 2px
}

:is(.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio) input[type=radio]~label {
  display: inline-block
}

:is(.js-form-type-checkbox,
.Form__checkbox,
.form_checkbox,
.Form__radio,
.form_radio) .Form__label.option {
  cursor: pointer;
  pointer-events: auto
}

.Form__details {
  flex: 1
}

.Form__form {
  --flow-space: var(--gap-sm)
}

@container (width>=64rem) {
  .Form__form {
    flex: 1
  }
}

.Form__row {
  display: flex;
  flex-direction: column;
  gap: .5rem
}

.Form__row>* {
  flex: 1
}

@container (width>=64rem) {
  .Form__row {
    flex-direction: row
  }
}

.Form__label,
label.form_label {
  display: block;
  font-weight: 700
}

:is(.Form__label,
label.form_label) input {
  font-weight: 400
}

.Form__label+.Form__row {
  margin-top: 0
}

.Form__input {
  display: block;
  width: 100%;
  border: 1px solid var(--purple-med);
  padding: .5rem;
  margin-top: .25rem;
  font-weight: 400
}

.form_h1 {
  font: var(--h1)
}

.form_h2 {
  font: var(--h2)
}

.form_h3 {
  font: var(--h3)
}

.form_h4 {
  font: var(--h4)
}

.form_h5 {
  font: var(--h5)
}

.form_h6 {
  font: var(--h6)
}

th label {
  padding-right: 1rem
}

input[disabled] {
  background-color: #d3d3d3
}

.flow>*+* {
  margin-block-start: var(--flow-space, 1em)
}

.ToggleCards .grid {
  --grid-min: 100%;
  gap: 0
}

@media (width>=48em) {
  .ToggleCards .grid {
    --grid-min: 23rem
  }
}

@media (width>=64em) {
  .ToggleCards .grid {
    --grid-min: 25rem
  }
}

@media (width>=85em) {
  .ToggleCards .grid {
    --grid-min: 20rem
  }
}

.ToggleCard {
  --background: var(--purple-med);
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  justify-content: center;
  align-items: center;
  background: linear-gradient(to bottom, var(--background) 0 50%, transparent 0 100%)
}

@media (width < 47.999em) {
  .ToggleCard .image {
    display: none;
    visibility: hidden
  }
  .ToggleCard:has([aria-expanded=true]) .image {
    display: block;
    visibility: visible
  }
}

.ToggleCard:nth-child(3n+2) {
  --background: var(--purple)
}

@media (width>=48em) {
  .ToggleCard:nth-child(2n) .image {
    order: -1
  }
  .ToggleCard:nth-child(2n) .ToggleCard__toggle {
    top: unset;
    bottom: 10%
  }
  .ToggleCard:nth-child(2n) .ToggleCard__content {
    display: flex;
    flex-direction: column-reverse;
    top: unset;
    bottom: 0;
    padding-top: 0;
    padding-bottom: var(--gap);
    justify-content: center;
    align-items: center
  }
}

@media (width>=100em) {
  .ToggleCard:nth-child(2n) .ToggleCard__toggle {
    bottom: 15%
  }
}

.ToggleCard:nth-child(3n+3) {
  --background: var(--purple-lightest);
  --heading: var(--purple);
  --color: var(--purple);
  color: var(--purple)
}

.ToggleCard:nth-child(3n+3) .ToggleCard__toggle {
  border-color: var(--purple)
}

.ToggleCard:has([aria-expanded=true]) {
  background: linear-gradient(to bottom, var(--background) 0 100%, transparent 0 100%)
}

.ToggleCard:has([aria-expanded=true]) .ToggleCard__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding: var(--gap)
}

@media (width>=48em) {
  .ToggleCard:has([aria-expanded=true]) .ToggleCard__content {
    flex-direction: column-reverse;
    justify-content: flex-end;
    padding: calc(var(--gap) * 2.5) var(--gap)
  }
}

@media (width>=48em) {
  :is(.ToggleCard: has([aria-expanded=true]) .ToggleCard__content) .ToggleCard__heading {
    height:0;
    visibility: hidden
  }
}

@media (width>=48em) {
  .ToggleCard:has([aria-expanded=true]) .ToggleCard__toggle {
    top: var(--gap);
    bottom: unset
  }
}

@media (width>=48em) {
  .ToggleCard:nth-child(2n):has([aria-expanded=true]) .ToggleCard__content {
    justify-content: flex-start;
    padding-bottom: calc(var(--gap) * 2.5)
  }
}

@media (width>=48em) {
  .ToggleCard:nth-child(2n):has([aria-expanded=true]) .ToggleCard__toggle {
    top: unset;
    bottom: var(--gap)
  }
}

@media (width>=48em) {
  .ToggleCard {
    grid-template-rows: 1fr 1fr
  }
}

.ToggleCard__main {
  display: grid;
  place-items: center
}

.ToggleCard__toggle {
  position: absolute;
  right: var(--gap);
  top: calc(var(--gap) * 1.5);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid var(--white);
  border-radius: 100%;
  background: transparent;
  z-index: 2;
  transition: var(--transition)
}

.ToggleCard__toggle:before {
  content: "";
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  background: currentColor;
  mask: url(close.svg) center / contain no-repeat;
  transform: rotate(45deg);
  transition: var(--transition)
}

.ToggleCard__toggle[aria-expanded=true]:before {
  transform: rotate(0)
}

.ToggleCard__toggle:hover {
  background: currentColor
}

.ToggleCard__toggle:hover:before {
  background: var(--background)
}

@media (width>=32rem) {
  .ToggleCard__toggle {
    top: var(--gap)
  }
}

@media (width>=48em) {
  .ToggleCard__toggle {
    left: 50%;
    top: 5%;
    transform: translate(-50%)
  }
}

@media (width>=100em) {
  .ToggleCard__toggle {
    top: 10%
  }
}

.ToggleCard__content {
  text-align: center;
  background: var(--background);
  padding: var(--gap);
  padding-right: var(--gap);
  z-index: 1;
  transition: height var(--transition)
}

@media (width>=48em) {
  .ToggleCard__content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50%;
    padding: var(--gap);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
  }
}

.ToggleCard__content .ToggleCard__heading {
  margin: 0;
  visibility: visible;
  overflow: hidden;
  transition: height var(--transition), visibility var(--transition);
  font: var(--h2);
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 2.5625rem;
  letter-spacing: .02rem;
  padding-right: calc(var(--gap) * 2)
}

@media (width>=48em) {
  .ToggleCard__content .ToggleCard__heading {
    padding-right: 0
  }
}

.ToggleCard__content .Buttons {
  margin: 0
}

[aria-expanded=true]+.ToggleCard__content {
  height: 100%
}

:is([aria-expanded=true]+.ToggleCard__content) .ToggleCard__content-expanded {
  grid-template-rows: minmax(0, 1fr);
  opacity: 1;
  visibility: visible
}

.ToggleCard__content-expanded {
  text-align: center;
  font-size: 1.3125rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  display: grid;
  grid-template: minmax(0, 0fr) / 100%;
  transition: grid-template-rows var(--transition), opacity var(--transition), visibility var(--transition);
  overflow: hidden;
  opacity: 0;
  visibility: hidden
}

@media (width>=48em) {
  .ToggleCard__content-expanded {
    font-size: 1.65rem
  }
}

.ToggleCard__content-expanded::-webkit-scrollbar {
  width: 8px
}

.ToggleCard__content-expanded::-webkit-scrollbar-track {
  background: transparent
}

.ToggleCard__content-expanded::-webkit-scrollbar-thumb {
  background: #ffffff4d;
  border-radius: 4px
}

.ToggleCard__content-expanded {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, .3) transparent
}

.ToggleCard__content-expanded .link-cta {
  font: var(--h4)
}

[aria-expanded=true]+.ToggleCard__content .ToggleCard__content-expanded {
  overflow: hidden;
  transition: grid-template-rows var(--transition), opacity var(--transition), visibility var(--transition), overflow 0s .3s;
  animation: enableScroll 0s .3s forwards
}

@keyframes enableScroll {
  to {
    overflow-y: auto
  }
}

:is(.ToggleCard:nth-child(3n+3) .ToggleCard__content-expanded)::-webkit-scrollbar-thumb {
  background: #1e165666
}

:is(.ToggleCard:nth-child(3n+3) .ToggleCard__content-expanded)::-webkit-scrollbar-thumb:hover {
  background: #1e165699
}

.ToggleCard:nth-child(3n+3) .ToggleCard__content-expanded {
  scrollbar-color: rgba(30, 22, 86, .4) transparent
}

.SocialPanel {
  --swiper-pagination-color: var(--purple);
  padding-block: 0
}

.SocialPanel__grid {
  display: grid;
  grid-template-columns: repeat(17, 1fr);
  gap: 0
}

@media (width < 48em) {
  .SocialPanel__grid {
    display: none
  }
}

.SocialPanel__mobile {
  display: none
}

@media (width < 48em) {
  .SocialPanel__mobile {
    display: block
  }
}

.SocialPanel__mobile-ctas {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin-bottom: 2rem
}

.SocialPanel__mobile-ctas .SocialPanel__tile {
  min-height: 20px
}

.SocialPanel__swiper {
  height: 400px
}

.SocialPanel__swiper .SocialPanel__inner {
  display: flex;
  flex-direction: column-reverse;
  height: 100%
}

:is(.SocialPanel__swiper .SocialPanel__inner) .swiper-content {
  overflow: hidden;
  height: 100%;
  flex: 1
}

:is(.SocialPanel__swiper .SocialPanel__inner) .swiper-wrapper {
  height: 100%
}

.SocialPanel__swiper .swiper-slide {
  height: 100%;
  display: flex;
  align-items: stretch
}

.SocialPanel__tile {
  --heading: var(--white);
  padding: 1rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center
}

@media (width < 48em) {
  .SocialPanel__tile {
    width: 100%;
    height: 100%
  }
}

.SocialPanel__tile--cta {
  text-align: center
}

.SocialPanel__tile--connect {
  grid-column: span 5;
  color: var(--white);
  --heading: var(--white)
}

.SocialPanel__tile--connect p {
  font: var(--text-body);
  margin-bottom: 0
}

.SocialPanel__tile--uportland {
  background-color: var(--purple);
  color: var(--white);
  --heading: var(--white);
  grid-column: span 5
}

.SocialPanel__tile--uportland .text-cta {
  margin-block: 0;
  display: inline-flex;
  align-items: center;
  gap: 1rem
}

.SocialPanel__tile--uportland:hover a {
  text-decoration: underline
}

.SocialPanel__tile--uportland .SocialPanel__icon-instagram {
  border: 1px solid var(--white);
  border-radius: 50%;
  padding: .75rem
}

:is(.SocialPanel__tile--uportland .SocialPanel__icon-instagram):before {
  width: 1.5rem;
  height: 1.5rem
}

.SocialPanel__tile--uportland a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  color: inherit;
  height: 100%;
  width: 100%;
  padding: 1rem;
  box-sizing: border-box
}

.SocialPanel__tile--uportland p {
  font: var(--text-small);
  margin-bottom: 0
}

.SocialPanel__tile--post {
  padding: 0;
  overflow: hidden
}

#social-post-1,
#social-post-2,
#social-post-3,
#social-post-4,
#social-post-5,
#social-post-6 {
  grid-column: span 4;
  aspect-ratio: 1/1
}

@media (width < 64rem) {
  #social-post-1,
  #social-post-2,
  #social-post-3,
  #social-post-4,
  #social-post-5,
  #social-post-6 {
    grid-column: span 2
  }
}

.SocialPanel__item {
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
  height: 100%
}

.SocialPanel__item img {
  aspect-ratio: 1/1;
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block
}

.SocialPanel__item:focus {
  outline-offset: .05rem;
  outline: 2px solid var(--purple)
}

.SocialPanel__overlay {
  --link: var(--white);
  display: flex;
  flex-direction: column;
  position: absolute;
  inset: 0;
  padding: 1rem;
  transition: opacity var(--transition), visibility var(--transition);
  background: linear-gradient(0deg, #1e1656e6 0% 100%);
  color: var(--white);
  font: var(--small);
  opacity: 0;
  visibility: hidden;
  touch-action: manipulation
}

.SocialPanel__item:focus-within .SocialPanel__overlay,
.SocialPanel__item.is-active .SocialPanel__overlay {
  opacity: 1;
  visibility: visible
}

@media (width>=64rem) {
  .SocialPanel__item:hover .SocialPanel__overlay {
    opacity: 1;
    visibility: visible
  }
}

.SocialPanel__top {
  margin-bottom: 1rem
}

.SocialPanel__group {
  display: flex;
  align-items: center;
  gap: .5rem
}

.SocialPanel__group:last-child {
  margin-inline: auto 0
}

.SocialPanel__group:focus {
  outline-offset: .25rem
}

.SocialPanel__icon:before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background: var(--white)
}

.SocialPanel__icon-instagram:before {
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E") center / contain no-repeat
}

.SocialPanel__icon-link:before {
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M432 320h-32a16 16 0 0 0-16 16v112H64V128h144a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16H48a48 48 0 0 0-48 48v352a48 48 0 0 0 48 48h352a48 48 0 0 0 48-48V336a16 16 0 0 0-16-16zM488 0H360c-21.37 0-32.05 25.91-17 41l35.73 35.73L135 320.37a24 24 0 0 0 0 34L157.67 377a24 24 0 0 0 34 0l243.61-243.68L471 169c15 15 41 4.5 41-17V24a24 24 0 0 0-24-24z'/%3E%3C/svg%3E") center / contain no-repeat
}

.SocialPanel__main {
  overflow: hidden
}

@media (width < 64rem) {
  .SocialPanel__main {
    overflow: scroll
  }
}

.SocialPanel__bottom {
  display: flex;
  margin-top: auto;
  padding-top: .5rem
}

@media (width < 64rem) {
  .SocialPanel__grid {
    grid-template-columns: repeat(4, 1fr)
  }
  .SocialPanel__tile {
    grid-column: span 2
  }
  .SocialPanel__tile--connect {
    order: 1
  }
  .SocialPanel__tile--post {
    order: 2
  }
  .SocialPanel__tile--uportland {
    order: 3
  }
}

@media (width < 48rem) {
  .SocialPanel__grid {
    grid-template-columns: repeat(1, 1fr)
  }
  .SocialPanel__tile {
    grid-column: span 1;
    order: unset
  }
  .SocialPanel__tile--connect,
  .SocialPanel__tile--uportland,
  .SocialPanel__tile--post {
    order: unset
  }
}

.StatPanel {
  --swiper-pagination-color: var(--purple)
}

.StatPanel .swiper-content {
  overflow: hidden
}

.StatPanel .swiper {
  display: flex;
  flex-direction: column-reverse
}

.StatPanel .swiper-slide {
  min-height: 500px;
  display: flex;
  align-items: stretch
}

@media (width>=48em) {
  .StatPanel .swiper-slide {
    height: auto
  }
}

.StatPanel__item {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  overflow: hidden;
  box-shadow: var(--shadow)
}

@media (width>=48em) {
  .StatPanel__item {
    height: 100%
  }
}

@media (width < 48em) {
  .StatPanel__item .StatPanel__image {
    order: 1
  }
  .StatPanel__item .StatPanel__content {
    order: 2
  }
}

.StatPanel__item.StatPanel__item--purple .StatPanel__content {
  background: var(--purple);
  color: var(--white);
  --color: var(--white);
  --heading: var(--white)
}

.StatPanel__item.StatPanel__item--light-purple .StatPanel__content {
  background: var(--purple-lt);
  color: var(--purple)
}

.StatPanel__item.StatPanel__item--medium-purple .StatPanel__content {
  background: var(--purple-med);
  color: var(--white);
  --color: var(--white)
}

.StatPanel__item .StatPanel__image {
  flex: 1;
  overflow: hidden;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: stretch;
  justify-content: stretch
}

@media (width < 48em) {
  .StatPanel__item .StatPanel__image {
    max-height: 400px
  }
}

@media (width>=48em) {
  .StatPanel__item .StatPanel__image {
    max-height: none
  }
}

:is(.StatPanel__item .StatPanel__image) .image {
  width: 100%
}

:is(.StatPanel__item .StatPanel__image) img {
  width: 100%;
  height: 100%;
  max-width: 100% !important;
  object-fit: cover;
  margin: 0;
  padding: 0;
  flex: 1 1 100%;
  align-self: stretch
}

.StatPanel__item .StatPanel__content {
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  padding: var(--gap);
  position: relative;
  overflow: visible;
  margin: 0
}

@media (width>=48em) {
  .StatPanel__item .StatPanel__content {
    flex: 0 1 auto;
    min-height: 40%
  }
}

@media (width>=64em) {
  .StatPanel__item .StatPanel__content {
    flex: 0 1 auto;
    min-height: 40%
  }
}

.StatPanel__item--image-top :is(.StatPanel__item .StatPanel__content) {
  margin-top: -1px
}

:is(.StatPanel__item .StatPanel__content) .Common {
  width: 100%;
  transform: translateY(100%);
  opacity: 0;
  transition: transform .3s cubic-bezier(.4, 0, .2, 1), opacity .3s ease;
  padding-block-start: 0
}

[data-stat-animate=top-down]:is(.StatPanel__item .StatPanel__content) .Common {
  transform: translateY(-100%)
}

.swiper-slide-fully-visible [data-stat-animate=bottom-up]:is(.StatPanel__item .StatPanel__content) .Common,
.swiper-slide-active [data-stat-animate=bottom-up]:is(.StatPanel__item .StatPanel__content) .Common {
  transform: translateY(0);
  opacity: 1;
  transition-delay: .01s
}

.swiper-slide-fully-visible [data-stat-animate=top-down]:is(.StatPanel__item .StatPanel__content) .Common,
.swiper-slide-active [data-stat-animate=top-down]:is(.StatPanel__item .StatPanel__content) .Common {
  transform: translateY(0);
  opacity: 1;
  transition-delay: .01s
}

.StatPanel__item h3,
.StatPanel__item p {
  margin: 0 0 1rem
}

:is(.StatPanel__item p):last-child {
  margin-bottom: 0
}

.FindProgram {
  display: grid;
  grid-template-columns: 100%;
  gap: var(--gutter);
  padding-block: var(--panel);
  padding-inline: var(--wrap);
  background: var(--purple);
  overflow: hidden
}

:is(.FindProgram .flush)>* {
  margin: 0
}

.FindProgram .flush {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  z-index: 1
}

:is(.FindProgram .flush)>*+* {
  margin-top: var(--gutter)
}

:is(.FindProgram .flush) p+p {
  margin-top: 1em
}

@container (width>=80rem) {
  .FindProgram {
    grid-template-columns: 1fr 1fr;
    padding-block: 0;
    background: var(--gradient)
  }
  .FindProgram .flush {
    padding-block: calc(var(--panel) * 2);
    width: calc(100% + 12rem)
  }
}

.FindProgram__media {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end
}

.FindProgram__media:after {
  content: " ";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, #1e1656, #1e165600 32.49%)
}

.FindProgram__media #circle-pattern {
  position: absolute;
  inset: 0;
  margin-inline: auto;
  height: 30rem;
  opacity: 0
}

.FindProgram__media #program-student {
  margin-inline: auto;
  height: auto;
  width: auto;
  opacity: 1;
  max-height: 600px
}

:is(.FindProgram__media #program-student) img {
  height: 100%;
  width: auto;
  max-height: 600px
}

@container (width>=80rem) {
  .FindProgram__media {
    justify-content: flex-end;
    order: 1
  }
  .FindProgram__media #circle-pattern {
    position: absolute;
    top: var(--gap-sm);
    bottom: 0;
    left: -10rem;
    height: 95%;
    max-width: unset
  }
  .FindProgram__media #program-student {
    height: auto;
    width: auto;
    margin-inline: auto 0;
    max-height: 100%;
    margin-top: 1rem;
    opacity: 0
  }
}

.FindProgram__form-wrapper {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  gap: 1rem
}

.FindProgram__form {
  position: relative;
  flex: 1
}

.FindProgram__input {
  position: relative;
  display: block;
  font: var(--h4);
  font-weight: 600;
  letter-spacing: .015rem;
  color: var(--purple);
  border: transparent;
  border-radius: 8rem;
  width: 100%;
  height: 4rem;
  padding-inline-start: 1.5rem;
  padding-inline-end: 4rem;
  padding-block: 3rem
}

.FindProgram__input:focus {
  outline-offset: .35rem;
  outline-width: 3px;
  outline-color: var(--white);
  outline-style: solid
}

.FindProgram__submit {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  padding: 0;
  border: 0;
  background: transparent;
  transition: var(--transition);
  border-radius: 50%;
  transform: translateY(-50%);
  width: 3rem;
  height: 3rem;
  --color: var(--purple)
}

.FindProgram__submit:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--purple);
  mask: url(search.svg) center / 3rem no-repeat;
  transition: var(--transition)
}

.FindProgram__submit:hover:before {
  transform: scale(1.2)
}

.VideoTestimonials {
  --swiper-pagination-color: var(--white);
  background: linear-gradient(to bottom, var(--purple) 50%, var(--white) 50%);
  position: relative;
  text-align: center;
  margin-block: var(--panel);
  padding-inline: var(--wrap)
}

.VideoTestimonials>*:not(.VideoTestimonials__bg) {
  position: relative;
  z-index: 1
}

.VideoTestimonials h2 {
  color: var(--white);
  padding-block: var(--panel);
  max-width: 58rem;
  margin-inline: auto
}

.VideoTestimonials .VideoTestimonials__carousel {
  margin-bottom: 4rem;
  height: 600px
}

@media (width>=32em) {
  .VideoTestimonials .VideoTestimonials__carousel {
    height: 700px
  }
}

.VideoTestimonials .p {
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 350;
  line-height: 150%
}

.VideoTestimonials .Buttons {
  justify-content: center
}

.VideoTestimonials__inner {
  display: flex;
  flex-direction: column-reverse;
  height: 100%
}

.VideoTestimonials__inner .swiper-content {
  overflow: hidden;
  height: 100%;
  flex: 1
}

.VideoTestimonials__inner .swiper-wrapper {
  height: 100%
}

.swiper-slide {
  height: 100%;
  display: flex;
  align-items: stretch
}

.VideoTestimonials__card {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--purple)
}

.VideoTestimonials__card .image {
  position: relative;
  height: 100%;
  width: 100%;
  flex: 1;
  display: block;
  margin: 0
}

:is(.VideoTestimonials__card .image) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

:is(.VideoTestimonials__card .image):before {
  content: " ";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 0%, #1E1656CC 100%);
  z-index: 1
}

:is(.VideoTestimonials__card .image) a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative
}

:is(:is(.VideoTestimonials__card .image) a):before {
  content: "";
  position: absolute;
  width: 3.75rem;
  height: 3.75rem;
  top: unset;
  right: unset;
  left: var(--gap-sm);
  bottom: var(--gap-sm);
  background: transparent;
  border: 1px solid var(--white);
  border-radius: 50%;
  z-index: 2;
  transition: var(--transition)
}

:is(:is(.VideoTestimonials__card .image) a):after {
  content: "";
  position: absolute;
  width: 3.75rem;
  height: 3.75rem;
  top: unset;
  right: unset;
  left: var(--gap-sm);
  bottom: var(--gap-sm);
  background: var(--white);
  mask: url(play.svg) center / 1.375rem 1.375rem no-repeat;
  z-index: 2;
  transition: var(--transition)
}

:is(:is(.VideoTestimonials__card .image) a) div {
  position: absolute;
  inset: 0
}

:is(:is(:is(.VideoTestimonials__card .image) a) div):before {
  content: " ";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 50%, #1E1656CC 75%)
}

:is(:is(.VideoTestimonials__card .image) a) span {
  position: absolute;
  bottom: 0;
  padding-bottom: var(--gap-sm);
  padding-right: var(--gap-sm);
  padding-left: calc(3.75rem + var(--gap-sm) + 1rem);
  display: block;
  color: #fff;
  font-family: var(--sans);
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.8125rem;
  text-align: left;
  z-index: 2
}

:is(:is(.VideoTestimonials__card .image) a):hover:before {
  background: var(--white)
}

:is(:is(.VideoTestimonials__card .image) a):hover:after {
  background: var(--purple)
}

:is(:is(.VideoTestimonials__card .image) a):focus {
  outline: none
}

:is(:is(:is(.VideoTestimonials__card .image) a):focus div):after {
  content: " ";
  position: absolute;
  inset: 0;
  outline-width: .25rem;
  outline-style: dashed;
  outline-offset: -.5rem;
  border-radius: unset;
  outline-color: var(--white)
}

.VideoTestimonials__bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 50%;
  overflow: hidden
}

.VideoTestimonials__bg .image {
  height: 100%
}

:is(.VideoTestimonials__bg .image) img {
  object-fit: cover;
  height: 100%;
  width: 100%
}

.Marquee {
  background: var(--purple-lightest);
  position: relative;
  overflow: hidden;
  padding: var(--panel) 0
}

.Marquee__content {
  overflow: hidden;
  white-space: nowrap
}

.Marquee__list {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: inline-flex;
  align-items: center;
  animation: marquee-scroll 12s linear infinite;
  width: max-content
}

.Marquee__list li {
  font-family: var(--scale-vf);
  font-size: 6.25rem;
  font-style: normal;
  font-weight: 700;
  line-height: 7.09213rem;
  letter-spacing: .1875rem;
  text-transform: uppercase;
  color: var(--purple);
  white-space: nowrap;
  flex-shrink: 0
}

@media (width < 64em) {
  .Marquee__list li {
    font-size: 3rem;
    line-height: 3.5rem
  }
}

:is(.Marquee__list li):not(.Marquee__star) {
  margin-right: 6rem
}

@media (width < 64em) {
  :is(.Marquee__list li):not(.Marquee__star) {
    margin-right: 3rem
  }
}

.Marquee__emphasis {
  font-size: 1.2em;
  font-weight: 800
}

.Marquee__star {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 6rem !important
}

@media (width < 64em) {
  .Marquee__star {
    margin-right: 3rem !important
  }
}

.Marquee__star svg {
  width: 2.5rem;
  height: 2.5rem;
  fill: var(--purple)
}

@media (width < 64em) {
  .Marquee__star svg {
    width: 1.5rem;
    height: 1.5rem
  }
}

.Marquee__star:nth-child(4n+2) svg {
  --star-color: var(--yellow);
  fill: var(--yellow)
}

.Marquee__control {
  display: flex;
  align-items: center;
  gap: .5rem;
  position: absolute;
  bottom: .5rem;
  right: var(--wrap);
  height: 2.5rem;
  padding: .75rem 1.1rem;
  border: 1px solid var(--purple-lightest);
  transition: transform var(--transition);
  background: var(--purple-lightest);
  z-index: 1;
  font: var(--text-small);
  font-weight: 600;
  color: var(--purple);
  border-radius: 2rem
}

.Marquee__control:hover {
  transform: scale(1.05)
}

.Marquee__control-icon {
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  background: var(--purple);
  border-radius: 50%;
  flex-shrink: 0
}

.Marquee__control-icon:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: .75rem;
  height: .75rem;
  background: var(--white);
  mask: url(pause.svg) center / contain no-repeat
}

.Marquee__control--paused .Marquee__control-icon:after {
  mask-image: url(play.svg)
}

.Marquee__control-text {
  white-space: nowrap
}

.Marquee--paused .Marquee__list {
  animation-play-state: paused
}

@keyframes marquee-scroll {
  0% {
    transform: translate(0)
  }
  to {
    transform: translate(-50%)
  }
}

@media (prefers-reduced-motion: reduce) {
  .Marquee__list {
    animation: none
  }
  .Marquee__control {
    display: none
  }
}

.Posts {
  display: grid;
  gap: var(--gap)
}

@media (width>=64em) {
  .Posts {
    grid-template-columns: 1fr 1fr;
    gap: var(--gap-sm) calc(var(--gutter) * 2);
    overflow: visible
  }
  .ContentSidebar__content .Posts {
    grid-template-columns: 100%
  }
}

.Posts__item {
  position: relative;
  display: grid;
  grid-template-columns: 100%;
  gap: 1.5rem
}

.Posts__item:has(.image) {
  grid-template-columns: 1fr 1fr
}

.Posts__item:has(.image) .image {
  aspect-ratio: 3/2
}

:is(.Posts__item:has(.image) .image) img {
  height: 100%;
  width: 100%;
  object-fit: cover
}

:is(.Posts__item:has(.link-cover:hover) .Image) img {
  transform: scale(1.1)
}

.Posts__item .image {
  margin: 0;
  overflow: hidden
}

:is(.Posts__item .image) img {
  transition: transform 3s ease
}

.Posts__item:has(.meta) .meta {
  margin-bottom: 1rem
}

.Posts__item:has(.meta) .Posts__title {
  margin-top: 0
}

@media (width>=64em) {
  .Posts__item:has(.image) {
    grid-template-columns: 1fr 2fr
  }
}

.Posts__title {
  font: var(--h5);
  font-size: 1.125rem;
  margin-top: 1rem
}

.Posts__title a {
  color: inherit;
  font-weight: 400
}

.ImageGradient {
  position: relative;
  background-color: var(--purple)
}

.ImageGradient .ImageGradient__inner {
  padding-left: calc(var(--wrap) * 2);
  position: relative
}

@media (width < 64em) {
  .ImageGradient .ImageGradient__inner {
    padding-left: 0;
    padding-bottom: var(--gap-sm)
  }
}

.ImageGradient .ImageGradient__content {
  position: relative;
  transition: margin-bottom .4s ease-out
}

@container (width>=64rem) {
  .ImageGradient .ImageGradient__content {
    margin: 0 !important
  }
}

.ImageGradient .ImageGradient__image {
  aspect-ratio: 16/9;
  overflow: hidden;
  position: relative
}

:is(.ImageGradient .ImageGradient__image) img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

:is(.ImageGradient .ImageGradient__image) .ImageGradient__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none
}

@media (width>=64em) {
  :is(.ImageGradient .ImageGradient__image) .ImageGradient__overlay {
    background: linear-gradient(270deg, #1e165600 56.85%, #1e1656 96.64%)
  }
}

@media (width < 64em) {
  :is(.ImageGradient .ImageGradient__image) .ImageGradient__overlay {
    background: linear-gradient(180deg, #1e165600 39.78%, #1e1656 84.82%)
  }
}

.ImageGradient .ImageGradient__callout {
  position: absolute;
  border-radius: var(--radius);
  left: var(--wrap);
  top: 50%;
  transform: translateY(-50%);
  width: 60%;
  background: var(--white);
  padding: 2rem;
  box-shadow: var(--shadow);
  z-index: 2;
  transition: height .4s ease-out
}

@media (width>=80em) {
  .ImageGradient .ImageGradient__callout {
    width: 45%
  }
}

@media (width>=100em) {
  .ImageGradient .ImageGradient__callout {
    width: 33.333%
  }
}

@media (width < 64em) {
  .ImageGradient .ImageGradient__callout {
    position: relative;
    inset: auto 0 0;
    width: auto;
    transform: none;
    padding: var(--gap-sm);
    margin: calc(var(--gap-sm) * -1) var(--gap-sm) 0 var(--gap-sm)
  }
}

:is(.ImageGradient .ImageGradient__callout) .ImageGradient__content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-height: 200px
}

@media (width < 64em) {
  :is(.ImageGradient .ImageGradient__callout) .ImageGradient__content {
    gap: .5rem;
    min-height: auto
  }
}

:is(:is(.ImageGradient .ImageGradient__callout) .ImageGradient__content) .ImageGradient__title {
  font: var(--h3);
  margin: 0
}

:is(:is(.ImageGradient .ImageGradient__callout) .ImageGradient__content) .ImageGradient__text {
  font: var(--text);
  margin: 0;
  flex-grow: 1
}

:is(:is(:is(.ImageGradient .ImageGradient__callout) .ImageGradient__content) .ImageGradient__text) p {
  margin: 0 0 1rem
}

:is(:is(:is(:is(.ImageGradient .ImageGradient__callout) .ImageGradient__content) .ImageGradient__text) p):last-child {
  margin-bottom: 0
}

@media (width < 64em) {
  :is(:is(:is(.ImageGradient .ImageGradient__callout) .ImageGradient__content) .ImageGradient__text) p {
    margin: 0 0 .75rem
  }
  :is(:is(:is(:is(.ImageGradient .ImageGradient__callout) .ImageGradient__content) .ImageGradient__text) p):last-child {
    margin-bottom: 0
  }
}

:is(.ImageGradient .ImageGradient__callout) .ImageGradient__bottom {
  justify-content: space-between;
  align-items: center;
  margin-top: auto
}

@media (width < 64em) {
  :is(.ImageGradient .ImageGradient__callout) .ImageGradient__bottom {
    flex-direction: column;
    gap: var(--gap-sm);
    align-items: flex-start
  }
}

@media (width < 64em) {
  :is(:is(.ImageGradient .ImageGradient__callout) .ImageGradient__bottom) .ImageGradient__link {
    align-self: flex-start
  }
}

.Pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem
}

.Pagination a,
.Pagination span {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border: .0625rem solid var(--black);
  background: var(--white);
  color: var(--black)
}

:is(.Pagination a,
.Pagination span):hover,
[aria-current]:is(.Pagination a,
.Pagination span) {
  background: var(--black);
  color: var(--white)
}

.test-stars-template .Section {
  margin-block: 4rem
}

.test-stars-template h2 {
  margin-block: 2rem 1rem
}

.test-stars-template .no-star {
  margin-block: 4rem
}