@import url("https://use.typekit.net/zcn3crs.css");
:root,
::before,
::after {
  --site-width: 64rem;
  --color-1: rgb(8, 62, 156);
  --color-1-over: rgb(255, 255, 255);
  --color-1-isdark: 1;
  --color-2: rgb(241, 241, 241);
  --color-2-over: rgb(0, 0, 0);
  --color-2-isdark: 0;
}

:root,
::before,
::after {
  --vp-small: 20rem;
  --vp-mid: 48rem;
  --vp-large: 64rem;
  --vp-xl: 85.375rem;
  --vp-xxl: 120rem;
  --school-logo-width: 9.5rem;
  --school-logo-height: auto;
  --gutter-size: calc(50% - var(--site-width)/2);
  --gutter-size-small: calc(50% - var(--vp-small)/2);
  --gutter-size-mid: calc(50% - var(--vp-mid)/2);
  --gutter-size-large: calc(50% - var(--vp-large)/2);
  --gutter-size-xl: calc(50% - var(--vp-xl)/2);
  --gutter-size-xxl: calc(50% - var(--vp-xxl)/2);
  --std-line-height: 1.5;
  --font-icons: "Material Icons";
}

body, body .dark, body .light, body table, body .neutral, body .pale {
  font-family: var(--font-1);
  font-size: 100%;
}

html {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  margin: 0;
  background-color: white;
  color: black;
}
body:not(:has(.homepage-grid)) {
  background: var(--inside-page-bg, white);
}

.site-header,
.site-footer {
  flex: none;
}

.site-content {
  flex: 1 0 auto;
}
.site-content:focus-visible {
  outline: none;
}

.site-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 99;
}
.site-header .header-main-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.site-header .skip-to-content-link {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.site-header .skip-to-content-link:focus-visible {
  width: auto;
  height: auto;
  clip: auto;
}
.site-header .skip-to-content-link {
  color: inherit;
}
.site-header .skip-to-content-link:focus-visible {
  top: 0;
  left: 0;
}
.site-header .topbar {
  width: 100%;
}
@media screen and (min-width: 64rem) {
  .site-header .topbar {
    order: -1;
  }
}
.site-header .topbar-inner {
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;
}
.site-header .marquee {
  white-space: nowrap;
  overflow: hidden;
  box-sizing: border-box;
}
.site-header .marquee .marquee-inner {
  display: inline-block;
  padding-left: 100%;
}
.site-header .marquee .marquee-inner:hover {
  animation-play-state: paused;
}
.site-header .marquee.marquee-speed-18 .marquee-inner {
  animation: marquee 15s linear infinite;
}
.site-header .marquee.marquee-speed-35 .marquee-inner {
  animation: marquee 30s linear infinite;
}
.site-header .marquee.marquee-speed-7 .marquee-inner {
  animation: marquee 7.5s linear infinite;
}
.site-header .marquee .marquee-content {
  float: left;
}
@keyframes marquee {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(-100%, 0);
  }
}
@media screen and (min-width: 64rem) {
  .site-header.fixed-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
  }
}

.sitenav {
  --nav-hamburger-icon-size: 44px;
  --nav-hamburger-icon-gap: 5px;
  --nav-padding: .5rem .75rem;
  --nav-subnav-padding: .5rem .75rem .5rem 1.5rem;
  --nav-dropdown-bg-color: white;
  --nav-dropdown-color: black;
  --nav-dropdown-hover-bg-color: var(--color-1);
  --nav-dropdown-hover-color: var(--color-1-over);
  --nav-dropdown-button-width: 2rem;
  --nav-top-hover-bg-color: var(--color-1);
  --nav-top-hover-color: var(--color-1-over);
  --nav-box-shadow: rgb(0 0 0 / 0.15) 0 3px 6px;
  --nav-top-font: 700 1.125rem var(--font-1);
  --nav-full-width-padding: 1rem;
}
.sitenav .nav-menu,
.sitenav .sub-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}
.sitenav .hide {
  display: none !important;
}
.sitenav .sub-menu-holder {
  display: none;
}
.sitenav .sub-menu-holder:has(.sub-menu.show) {
  display: block;
}
.sitenav .menu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 999;
  padding: 0;
  border: none;
  background-color: transparent;
  cursor: pointer;
  color: var(--nav-hamburger-icon-color, var(--color-1));
}
.sitenav .menu-toggle .menu-icon-indicator {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  box-sizing: border-box;
  height: var(--nav-hamburger-icon-size);
  width: var(--nav-hamburger-icon-size);
  padding: var(--nav-hamburger-icon-padding, 0.5rem);
  gap: var(--nav-hamburger-icon-gap);
}
.sitenav .menu-toggle .menu-icon-indicator::before, .sitenav .menu-toggle .menu-icon-indicator::after {
  content: "";
  display: block;
}
.sitenav .menu-toggle .menu-icon-indicator .menu-icon-indicator-inner, .sitenav .menu-toggle .menu-icon-indicator::before, .sitenav .menu-toggle .menu-icon-indicator::after {
  display: block;
  transition: 0.25s;
  height: var(--nav-hamburger-icon-gap);
  background-color: currentColor;
}
.sitenav .menu-toggle[aria-expanded=true] {
  color: var(--nav-dropdown-color);
}
.sitenav .menu-toggle[aria-expanded=true] .menu-icon-indicator {
  gap: 0;
}
.sitenav .menu-toggle[aria-expanded=true] .menu-icon-indicator .menu-icon-indicator-inner {
  transform: scaleX(0);
  height: 0 !important;
}
.sitenav .menu-toggle[aria-expanded=true] .menu-icon-indicator::before {
  transform: rotate(45deg);
}
.sitenav .menu-toggle[aria-expanded=true] .menu-icon-indicator::after {
  transform: rotate(-45deg);
  margin-top: calc(-1 * var(--nav-hamburger-icon-gap));
}
.sitenav .dropdown {
  display: grid;
  grid-template-areas: "nav-link nav-button" "submenu submenu";
  grid-template-columns: 1fr auto;
}
.sitenav .dropdown > a {
  grid-area: nav-link;
}
.sitenav .sub-menu a {
  text-decoration: none;
}
.sitenav .dropdown-toggle {
  grid-area: nav-button;
}
.sitenav .sub-menu-holder {
  grid-area: submenu;
}
.sitenav .dropdown-toggle {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  background: transparent;
  border: none;
  padding: 0;
  color: inherit;
  overflow: hidden;
  font-family: inherit;
  font-size: inherit;
}
.sitenav .dropdown-toggle::after {
  display: flex;
  justify-content: center;
  align-items: center;
  transition: transform 300ms ease;
  font-size: 1.5rem;
  font-family: var(--font-icons);
  width: var(--nav-dropdown-button-width);
  min-width: 24px;
  min-height: 24px;
  overflow: hidden;
}
.sitenav.dropdown-buttons-1 .dropdown-toggle::after {
  content: "add";
}
.sitenav.dropdown-buttons-1 .dropdown-toggle[aria-expanded=true]::after {
  content: "remove";
}
.sitenav.dropdown-buttons-2 .dropdown-toggle::after {
  content: "expand_more";
}
.sitenav.dropdown-buttons-2 .dropdown-toggle[aria-expanded=true]::after {
  transform: rotate(-180deg);
}
.sitenav.dropdown-buttons-3 .dropdown-toggle::after {
  content: "arrow_drop_down";
}
.sitenav.dropdown-buttons-3 .dropdown-toggle[aria-expanded=true]::after {
  transform: rotate(-180deg);
}
@media screen and (max-width: calc(64rem - 1px)) {
  .sitenav.desktop-menu {
    display: none;
  }
}
@media screen and (min-width: 64rem) {
  .sitenav.mobile-menu {
    display: none;
  }
}
.sitenav.hamburger {
  position: absolute;
}
.sitenav.hamburger .nav-menu {
  display: none;
  background: var(--nav-dropdown-bg-color);
  color: var(--nav-dropdown-color);
  padding-top: var(--nav-hamburger-icon-size);
}
.sitenav.hamburger .nav-menu a {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  color: inherit;
}
.sitenav.hamburger .nav-menu a:hover, .sitenav.hamburger .nav-menu a:focus-visible, .sitenav.hamburger .nav-menu a[aria-expanded=true],
.sitenav.hamburger .nav-menu .dropdown-toggle:hover,
.sitenav.hamburger .nav-menu .dropdown-toggle:focus-visible,
.sitenav.hamburger .nav-menu .dropdown-toggle[aria-expanded=true] {
  background-color: var(--nav-dropdown-hover-bg-color);
  color: var(--nav-dropdown-hover-color);
}
.sitenav.hamburger .nav-menu.show {
  display: block;
}
.sitenav.hamburger .nav-item .nav-item-inner {
  display: flex;
  align-items: center;
  flex: 1;
  font: var(--nav-top-font);
}
.sitenav.hamburger .nav-item-inner,
.sitenav.hamburger .sub-menu a {
  padding: var(--nav-padding);
}
.sitenav.hamburger .sub-menu {
  grid-area: submenu;
}
.sitenav.hamburger .sub-menu .sub-menu a {
  padding: var(--nav-subnav-padding);
}
.sitenav.hamburger .nav-content-holder,
.sitenav.hamburger .sub-menu {
  display: none;
  width: 100%;
}
.sitenav.hamburger.show .nav-content-holder,
.sitenav.hamburger .sub-menu.show {
  display: flex;
  flex-direction: column;
}
.sitenav.hamburger .nav-content-holder {
  position: absolute;
  z-index: 99;
  top: 0;
  left: 0;
  padding-top: var(--nav-hamburger-icon-size);
  box-sizing: border-box;
  background: var(--nav-dropdown-bg-color);
  color: var(--nav-dropdown-color);
}
.sitenav.horiz-menu .nav-menu {
  display: flex;
  justify-content: var(--nav-item-spacing, space-around);
  position: relative;
}
.sitenav.horiz-menu .nav-item {
  position: relative;
  grid-template-areas: "content";
  background: var(--nav-top-bg-color, transparent);
  color: var(--nav-top-color, currentColor);
}
.sitenav.horiz-menu .nav-item .nav-item-inner,
.sitenav.horiz-menu .nav-item > .dropdown-toggle {
  grid-area: content;
}
.sitenav.horiz-menu .nav-item > .dropdown-toggle {
  width: 100%;
  justify-content: right;
}
.sitenav.horiz-menu .nav-item .nav-item-inner:has(+ .dropdown-toggle) {
  margin-right: var(--nav-dropdown-button-width);
}
.sitenav.horiz-menu .nav-item > a, .sitenav.horiz-menu .nav-item:not(:has(> a)) .nav-item-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  color: inherit;
  text-align: center;
}
.sitenav.horiz-menu .nav-item > a {
  z-index: 9;
}
.sitenav.horiz-menu .nav-item:has(.sub-menu.show) {
  background: var(--nav-top-hover-bg-color);
  color: var(--nav-top-hover-color);
}
.sitenav.horiz-menu div.nav-item-inner {
  pointer-events: none;
}
.sitenav.horiz-menu .nav-item-inner > svg {
  width: var(--icon-width, 2rem);
  aspect-ratio: 1/1;
  padding: var(--icon-padding, 1rem);
}
.sitenav.horiz-menu .sub-menu-holder {
  position: absolute;
  top: 100%;
  z-index: 9;
  box-shadow: var(--nav-box-shadow);
  padding-top: var(--nav-dropdown-top-spacing, 0px);
}
.sitenav.horiz-menu .sub-menu-item {
  background: var(--nav-dropdown-bg-color);
  color: var(--nav-dropdown-color);
}
.sitenav.horiz-menu .sub-menu-item a {
  display: block;
  padding: var(--nav-padding);
  color: inherit;
}
.sitenav.horiz-menu .sub-menu-item a:hover, .sitenav.horiz-menu .sub-menu-item a:focus-visible, .sitenav.horiz-menu .sub-menu-item a[aria-expanded=true],
.sitenav.horiz-menu .sub-menu-item .dropdown-toggle:hover,
.sitenav.horiz-menu .sub-menu-item .dropdown-toggle:focus-visible,
.sitenav.horiz-menu .sub-menu-item .dropdown-toggle[aria-expanded=true] {
  background-color: var(--nav-dropdown-hover-bg-color);
  color: var(--nav-dropdown-hover-color);
}
.sitenav.horiz-menu .sub-menu .sub-menu {
  grid-template-columns: 1fr;
}
.sitenav.horiz-menu .sub-menu .sub-menu a {
  padding: var(--nav-subnav-padding);
}
.sitenav.horiz-menu .fly-left {
  left: auto;
  right: 0;
}
.sitenav.horiz-menu.wrap-menu .nav-menu {
  flex-wrap: wrap;
}
.sitenav.flyout {
  --nav-subnav-padding: var(--nav-padding);
}
.sitenav.flyout .sub-menu-item {
  position: relative;
  width: var(--nav-dropdown-width, 12.5rem);
}
.sitenav.flyout .sub-menu .sub-menu {
  position: absolute;
  grid-area: none;
  top: 0;
  left: 100%;
  box-shadow: var(--nav-box-shadow);
  background: var(--nav-dropdown-bg-color);
}
.sitenav.flyout .fly-left .sub-menu .sub-menu {
  left: auto;
  right: 100%;
}
.sitenav.column .sub-menu {
  display: grid;
  grid-template-columns: repeat(var(--nav-columns, 1), 1fr);
}
.sitenav.column .sub-menu-item {
  position: relative;
  width: var(--nav-dropdown-width, 12.5rem);
}
.sitenav.full-width .nav-item {
  position: static;
}
.sitenav.full-width .sub-menu-holder:has(.sub-menu.show) {
  display: flex;
  align-items: flex-start;
  width: 100%;
  left: 0;
  padding: var(--nav-full-width-padding);
  box-sizing: border-box;
  gap: var(--nav-full-width-padding);
  background: var(--nav-dropdown-bg-color);
}
.sitenav.full-width .sub-menu-item {
  background-color: transparent;
}
.sitenav.full-width .sub-menu {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(var(--nav-columns, 1), 1fr);
  gap: 0 var(--nav-full-width-padding);
  background-color: transparent;
}
.sitenav.full-width .mm-extra-content {
  flex: none;
  width: var(--nav-extra-content-width, 35%);
}
.sitenav.full-width .mm-extra-content .mm-image {
  display: block;
  width: 100%;
}
.sitenav.sitenav-main {
  width: 100%;
}
.sitenav.sitenav-main.horiz-menu .nav-item > a:hover, .sitenav.sitenav-main.horiz-menu .nav-item > a:focus-visible, .sitenav.sitenav-main.horiz-menu:not(:has(> a)) .nav-item-inner:hover, .sitenav.sitenav-main.horiz-menu:not(:has(> a)) .nav-item-inner:focus-visible {
  background-color: var(--nav-top-hover-bg-color);
  color: var(--nav-top-hover-color);
}
.sitenav.sitenav-main.horiz-menu .nav-item > a, .sitenav.sitenav-main.horiz-menu:not(:has(> a)) .nav-item-inner {
  min-height: var(--nav-desktop-menu-height, 2.5rem);
  height: 100%;
  padding: var(--nav-desktop-padding, 0 0.5rem);
  font: var(--nav-top-font);
}
.sitenav.mobile-menu {
  width: 100%;
}
.sitenav .search-icon a {
  text-decoration: none;
}
.sitenav .search-icon a::before {
  content: "search";
  display: block;
  font-family: var(--font-icons);
  font-size: var(--search-icon-size, 2rem);
  font-weight: 700;
}

.header-secondary-nav {
  --icon-height: 2rem;
  --icon-width: 2rem;
  --icon-orientation: column;
}
.header-secondary-nav .link-item a, .header-secondary-nav .nav-item a, .header-secondary-nav .sub-menu-item a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  gap: 0.5rem;
  flex-direction: var(--icon-orientation);
  text-align: center;
}
.header-secondary-nav .link-item a .icon-holder, .header-secondary-nav .nav-item a .icon-holder, .header-secondary-nav .sub-menu-item a .icon-holder {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header-secondary-nav .link-item a .link-text, .header-secondary-nav .nav-item a .link-text, .header-secondary-nav .sub-menu-item a .link-text {
  flex: 1;
}
.header-secondary-nav.icon-orientation-vertical {
  --icon-orientation: column;
  text-align: center;
}
.header-secondary-nav.icon-orientation-horizontal {
  --icon-orientation: row;
  text-align: left;
}
.header-secondary-nav svg,
.header-secondary-nav img {
  width: var(--icon-width);
  height: var(--icon-height);
}
.header-secondary-nav svg {
  fill: currentColor;
}

@media screen and (max-width: calc(64rem - 1px)) {
  .content-pages-banner {
    display: none;
  }
}
.content-pages-banner {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  flex: none;
  width: 100%;
}
.content-pages-banner .caption {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.index-title {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

#content_main {
  --padding-y: 1.5rem;
  --padding-x: clamp(.5rem, 5%, 3rem);
  position: relative;
  z-index: 10;
  padding: var(--padding-y) var(--padding-x);
  min-height: 25rem;
  overflow: visible;
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
  background-color: white;
}
#content_main .pageTitle {
  margin-bottom: 0.5em;
}
#content_main .pages-content-wrapper {
  overflow: visible;
}
#content_main .right-column-page-navigation {
  margin-bottom: 1.25em;
  background: var(--color-1);
}
@media screen and (max-width: calc(48rem - 1px)) {
  #content_main .right-column-page-navigation {
    margin: 1.25rem auto;
  }
}
#content_main .right-column-page-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}
#content_main .right-column-page-navigation a {
  text-decoration: none;
}
#content_main .right-column-page-navigation a:hover, #content_main .right-column-page-navigation a:focus-visible {
  text-decoration: underline;
}
#content_main .right-column-page-navigation a {
  color: var(--color-1-over);
  display: block;
  font-weight: 400;
  padding: 0.8em 6% 0.8em 10%;
  width: 84%;
  margin: 0;
  line-height: auto;
}
#content_main .right-column-page-navigation a .inner {
  text-decoration: none;
}
#content_main .right-column-page-navigation a .inner:hover, #content_main .right-column-page-navigation a .inner:focus-visible {
  text-decoration: underline;
}
#content_main .right-column-page-navigation .active a {
  background-color: var(--color-2);
  color: var(--color-2-over);
}
#content_main img.sub {
  border: none;
}
body:has(.homepage-grid) #content_main {
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
  background-color: transparent;
  box-shadow: none;
}
#content_main .pages-left-column-wrapper {
  overflow: hidden;
}
@media screen and (max-width: calc(64rem - 1px)) {
  #content_main table {
    display: block;
    overflow-x: auto;
  }
  #content_main .bell-schedule {
    display: table;
  }
  #content_main .pages-column .stack-photo figcaption,
  #content_main .slideshow-wrapper .slide .slide-caption {
    font-size: 0.85em;
  }
  #content_main .video-list-top #controls2,
  #content_main .video-list-top #controls3 {
    width: auto;
  }
  #content_main #more-videos {
    display: none;
  }
  #content_main #staff_list_public .user-info-wrapper span[id*=staff] {
    display: block;
  }
  #content_main #staff_list_public .user-info-wrapper .user-position-public {
    display: block;
    margin-left: 0;
    width: 100%;
  }
  #content_main #staff_list_public .user-info-wrapper p {
    display: block;
    float: left;
    width: 100%;
  }
}
@media screen and (max-width: calc(48rem - 1px)) {
  #content_main .news-list article .column {
    width: 100%;
  }
  #content_main .show-news .attached-images {
    float: none;
    margin: 0 auto 1em;
  }
  #content_main .single-video #big-video,
  #content_main .below-start #big-video {
    width: 100% !important;
  }
  #content_main .video-list .thumb_wrap {
    display: block;
    float: none;
  }
  #content_main .video-list li .description {
    padding-left: 0;
  }
  #content_main .video-list li .video-list-date {
    padding-left: 0;
  }
  #content_main .bell-schedule {
    width: 100%;
  }
  #content_main .pages-column .stack-photo figcaption,
  #content_main .slideshow-wrapper .slide .slide-caption {
    font-size: 0.7em;
  }
  #content_main .video-list-top .controls,
  #content_main .video-list-top #controls2,
  #content_main .video-list-top #controls3 {
    display: none;
  }
  #content_main #album_thumbnails table img {
    width: 90%;
    height: auto;
    position: relative;
  }
  #content_main #edlio_search_form {
    max-width: 25rem;
    width: auto;
  }
  #content_main #edlio_search_form input {
    width: 12.5rem;
  }
  #content_main #contact_form {
    width: 100%;
  }
  #content_main #contact_form table {
    display: table;
    font-size: 12px;
    width: 280px !important;
  }
  #content_main #contact_form #f_name {
    width: 12.5rem !important;
  }
  #content_main #contact_form #f_email {
    width: 12.5rem !important;
  }
  #content_main #contact_form #f_message {
    width: 12.5rem !important;
  }
  #content_main #calendar_wrapper .right-column {
    float: none;
    width: 100%;
  }
  #content_main #calendar_wrapper .right-column #calendar_grid table {
    display: table;
  }
  #content_main .pages-column .page-block-text,
  #content_main .pages-column .page-block-photos {
    width: 100%;
  }
  #content_main .pages-left-column-wrapper {
    margin-left: 0 !important;
    float: none;
  }
  #content_main .pages-left-column-wrapper .pages-left-column {
    margin-left: 0 !important;
  }
  #content_main .pages-right-column {
    float: none;
    width: 100% !important;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
  }
}

.homepage-row.bg-image,
.footer-row.bg-image {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.homepage-row *[class*=row-inner],
.footer-row *[class*=row-inner] {
  display: flex;
  flex-direction: column;
  position: relative;
}
.homepage-row *[class*=-column],
.footer-row *[class*=-column] {
  display: flex;
  flex-direction: column;
  flex: 1;
  max-width: 100%;
}
.homepage-row.convert-small *[class*=row-inner],
.footer-row.convert-small *[class*=row-inner] {
  flex-direction: row;
}
@media screen and (min-width: 48rem) {
  .homepage-row.convert-mid *[class*=row-inner],
  .footer-row.convert-mid *[class*=row-inner] {
    flex-direction: row;
  }
}
@media screen and (min-width: 64rem) {
  .homepage-row.convert-large *[class*=row-inner],
  .footer-row.convert-large *[class*=row-inner] {
    flex-direction: row;
  }
}
@media screen and (min-width: 85.375rem) {
  .homepage-row.convert-xl *[class*=row-inner],
  .footer-row.convert-xl *[class*=row-inner] {
    flex-direction: row;
  }
}
.homepage-row.padded-row,
.footer-row.padded-row {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.homepage-grid {
  display: flex;
  flex-direction: column;
}

.content-container {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.content-container .section-title {
  margin-top: 0;
  margin-bottom: 1.5rem;
  font-weight: 400;
  font-size: 2rem;
  text-align: center;
}
.content-container .section-title a {
  text-decoration: none;
}
.content-container .section-title a:hover, .content-container .section-title a:focus-visible {
  text-decoration: underline;
}
.content-container .section-title a {
  display: inline-block;
  width: auto;
  margin: 0;
  padding: 0;
  color: inherit;
}
.content-container .item-name {
  margin-top: 0;
}
.content-container .item-name a {
  text-decoration: none;
}
.content-container .item-name a:hover, .content-container .item-name a:focus-visible {
  text-decoration: underline;
}
.content-container .item-name a {
  color: inherit;
}
.content-container .item-text {
  overflow-wrap: anywhere;
  line-height: var(--std-line-height);
}
.content-container .item-text a {
  color: inherit;
}
.content-container .read-more-links-group {
  padding-top: 2.5rem;
}
.content-container .read-more-link {
  color: inherit;
}
@media screen and (min-width: 48rem) {
  .content-container {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
  .content-container .section-title {
    margin-bottom: 2.5rem;
    font-size: 3rem;
  }
}

.read-more-links-group {
  display: flex;
  justify-content: center;
}

.site-footer .footer-inner {
  text-align: center;
}
.site-footer .map-container {
  position: relative;
  height: 12.5rem;
  width: 90%;
}
.site-footer .map-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 48rem) {
  .site-footer .map-container {
    width: 100%;
  }
}
.site-footer .footer-address {
  display: flex;
  flex-direction: column;
  text-align: center;
  line-height: var(--std-line-height);
}
.site-footer .footer-address a {
  color: inherit;
}
.site-footer .footer-address .address-icon::before {
  font-size: var(--address-icon-size, 1rem);
  font-family: var(--font-icons);
  font-variation-settings: "FILL" 1;
  margin-right: 0.5rem;
}
.site-footer .footer-address .address-icon.icon-location::before {
  content: "location_on";
}
.site-footer .footer-address .address-icon.icon-phone::before {
  content: "call";
}
.site-footer .footer-address .address-icon.icon-email::before {
  content: "mail";
}
.site-footer .footer-secondary-nav {
  --icon-height: 2rem;
  --icon-width: 2rem;
  --icon-orientation: column;
}
.site-footer .footer-secondary-nav .section-title {
  margin-top: 0;
  margin-bottom: 1rem;
  font-weight: 400;
  font-size: 1.5rem;
}
.site-footer .footer-secondary-nav .links-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
.site-footer .footer-secondary-nav .link-item a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  gap: 0.5rem;
  flex-direction: var(--icon-orientation);
  text-align: center;
}
.site-footer .footer-secondary-nav .link-item a .icon-holder {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.site-footer .footer-secondary-nav .link-item a .link-text {
  flex: 1;
}
.site-footer .footer-secondary-nav svg,
.site-footer .footer-secondary-nav img {
  width: var(--icon-width);
  height: var(--icon-height);
}
.site-footer .footer-secondary-nav svg {
  fill: currentColor;
}
.site-footer .footer-secondary-nav.orientation-vertical .links-list {
  flex-direction: column;
}
.site-footer .footer-secondary-nav.icon-orientation-vertical {
  --icon-orientation: column;
  text-align: center;
}
.site-footer .footer-secondary-nav.icon-orientation-horizontal {
  --icon-orientation: row;
  text-align: left;
}
.site-footer .footer-secondary-nav.icon-only .links-list {
  gap: 0;
}
.site-footer .footer-secondary-nav.icon-only .link-item a {
  display: block;
}
.site-footer .footer-secondary-nav.icon-only .link-item svg,
.site-footer .footer-secondary-nav.icon-only .link-item img {
  display: block;
  width: 32px;
  height: 32px;
  padding: 8px;
  fill: currentColor;
}
.site-footer .footer-secondary-nav.icon-only .link-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.site-footer .powered-by-edlio-logo {
  color: inherit;
}
.site-footer .powered-by-edlio-logo svg {
  fill: currentColor;
}
.site-footer .powered-by-edlio-logo.edlio-logo-horiz svg,
.site-footer .powered-by-edlio-logo.edlio-logo-horiz img {
  display: block;
  width: 8.75rem;
  height: 1.25rem;
  padding: 0;
}
.site-footer .powered-by-edlio-logo.edlio-logo-stacked svg,
.site-footer .powered-by-edlio-logo.edlio-logo-stacked img {
  display: block;
  width: 5rem;
  height: 1.875rem;
  padding: 0;
}
.site-footer .scholantis-logo svg,
.site-footer .scholantis-logo img {
  display: block;
  width: 160px;
  height: 35px;
  padding: 0;
}
.site-footer .scholantis-logo {
  color: inherit;
}
.site-footer .scholantis-logo svg {
  fill: currentColor;
}
.site-footer .footer-bottom-inner {
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;
}
.site-footer .edlio-logos-block {
  display: flex;
  align-items: center;
}
.site-footer .edlio-logos-block.edlio-logos-horizontal {
  justify-content: center;
  gap: 2rem;
}
.site-footer .edlio-logos-block.edlio-logos-vertical {
  flex-direction: column;
  gap: 1rem;
}
.site-footer .footer-title {
  font-size: 1.5rem;
}
@media screen and (min-width: 48rem) {
  .site-footer .footer-title {
    font-size: 2.25rem;
  }
}
@media screen and (min-width: 64rem) {
  .site-footer .footer-title {
    font-size: 3rem;
  }
}

.school-name .school-name-inner {
  max-width: 100%;
}
.school-name a {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-width: 100%;
  text-decoration: none;
  color: inherit;
}
.school-name .logo-image {
  max-width: 100%;
  width: var(--school-logo-width);
  max-height: var(--school-logo-height);
}
@media screen and (min-width: 48rem) {
  .school-name.logo-orientation-horizontal a {
    flex-direction: row;
    justify-content: center;
    gap: 1.25rem;
  }
}

.search-holder {
  --search-width: 14.5rem;
  --search-padding: 0 .75em;
  --search-text-color: inherit;
  --search-text-size: 1.25rem;
  --search-icon-color: currentColor;
  --search-icon-size: 2rem;
  --search-icon-padding: .375rem;
  --search-bg-color: transparent;
  --search-roundness: 0;
}
.search-holder .site-search-field {
  display: inline-flex;
  overflow: hidden;
  background-color: var(--search-bg-color);
  color: var(--search-text-color);
  width: var(--search-width);
  border-radius: var(--search-roundness);
  margin: 0;
}
.search-holder .site-search-field .site-search-field-input {
  flex: 1;
  margin: 0;
  min-width: 0;
  padding: var(--search-padding);
  box-sizing: content-box;
  border: none;
  vertical-align: top;
  font-size: var(--search-text-size);
  font-family: inherit;
  background: transparent;
  -webkit-appearance: none;
  color: currentColor;
}
.search-holder .site-search-field .site-search-field-input::-webkit-input-placeholder {
  color: var(--search-text-color);
}
.search-holder .site-search-field .site-search-field-input::-webkit-search-decoration {
  -webkit-appearance: none;
}
.search-holder .site-search-field .site-search-button {
  padding: 0;
  margin: 0;
  background: transparent;
  border: none;
  cursor: pointer;
}
.search-holder .search-icon-button {
  display: block;
  text-decoration: none;
  color: var(--search-icon-color);
}
.search-holder .search-icon-button::before {
  content: "search";
  display: block;
  font-family: var(--font-icons);
  font-size: var(--search-icon-size);
  font-weight: 700;
  padding: var(--search-icon-padding);
}
@media screen and (max-width: calc(48rem - 1px)) {
  .search-holder.mobile-hidden .site-search-field {
    display: none;
  }
}
@media screen and (min-width: 48rem) {
  .search-holder.mobile-hidden .search-icon-link {
    display: none;
  }
}

@media screen and (max-width: calc(64rem - 1px)) {
  #google_translate_element {
    display: none;
  }
}

#mobile_footer_nav {
  --mobile-nav-height: 4rem;
  position: fixed;
  z-index: 999;
  bottom: 0;
  left: 0;
  width: 100%;
  height: var(--mobile-nav-height);
}
#mobile_footer_nav .links-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-around;
  align-items: center;
  height: 100%;
}
#mobile_footer_nav a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 0.75em;
  text-decoration: none;
  color: inherit;
}
#mobile_footer_nav a svg,
#mobile_footer_nav a img {
  width: 1.75rem;
  height: 1.75rem;
  margin-bottom: 0.25rem;
  fill: currentColor;
}
@media screen and (min-width: 48rem) {
  #mobile_footer_nav {
    display: none;
  }
}
@media screen and (max-width: calc(48rem - 1px)) {
  #footer_main:has(+ #mobile_footer_nav) {
    padding-bottom: var(--mobile-nav-height, 4rem);
  }
}

.edlio-login-link {
  display: inline-flex;
  height: 1.25em;
  text-decoration: none;
  font-size: 1.25em;
  line-height: 1.25em;
  color: inherit;
}
.edlio-login-link .edlio-logo {
  padding-right: 0.25rem;
  margin-right: 0.25rem;
  border-right: 2px solid;
}
.edlio-login-link svg {
  fill: currentColor;
  height: 1.5rem;
}
.edlio-login-link .edlio-login-text {
  line-height: 1;
}
.site-header .edlio-login-link, .site-footer .edlio-login-link {
  color: inherit;
}

/*
// Slick slider layout - DEPRECATED
// UTILITY CLASS - COMMENTED OUT
//
// This should be applied to ANY snippet with the isSlick option selected in canvas, but
// will need to be added manually if modifying post-canvas compile.
// NOTE: This entire block is commented out. Slick is deprecated - use Swiper instead.
// Uncomment only if you need to use _slick snippet versions.
// ------------------------------------------------------------

.slick-container {
	--slick-button-size: 44px;
	--slick-side-margin: var(--slick-button-size);
	--slick-dot-color: var(--color-2);
	--slick-dot-color-active: var(--color-1);
	--slick-arrow-color: inherit;

	--slick-arrow-position-x: 0;
	--slick-arrow-position-y: calc(50% - var(--slick-button-size)/2);

	--slick-prev-position-x: var(--slick-arrow-position-x);
	--slick-next-position-x: var(--slick-arrow-position-x);

	--slick-prev-position-y: var(--slick-arrow-position-y);
	--slick-next-position-y: var(--slick-arrow-position-y);


	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-touch-callout: none;
	-webkit-user-select: none;


	user-select: none;

	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;

	.slick-slider { position: relative; }

	.slick-list {
		position: relative;
		overflow: hidden;
		display: block;
		padding: 0;
		width: 100%;
		margin: 0;

		&:focus-visible { outline: none; }

		&.dragging {
			cursor: pointer;
			cursor: hand;
		}
	}

	&:has(.slick-arrow) .slick-list {
		width: calc(100% - var(--slick-side-margin)*2);
		margin: 0 var(--slick-side-margin); 
	}

	.slick-slider .slick-track,
	.slick-slider .slick-list {
		transform: translate3d(0, 0, 0);
	}

	.slick-track {
		@include flex-all($align: flex-start);
		position: relative;
		left: 0;
		top: 0;
		margin: 0 auto;
	}

	.slick-slide {
		position: relative;
		min-height: 1px;

		img { display: block; }

		&.slick-loading img { display: none; }

		&.dragging img { pointer-events: none; }
	}

	.slick-arrow {
		position: absolute;
		z-index: 9999;
		padding: 0;
		border: none;
		background-color: transparent;
		cursor: pointer;
		color: var(--slick-arrow-color);

		@include pseudo {
			font: {
				family: var(--font-icons);
				size: var(--slick-button-size);
				weight: var(--slick-arrow-font-weight, 400);
			}
			line-height: 1;
		}

		&.slick-prev { 
			left: var(--slick-prev-position-x);
			top: var(--slick-prev-position-y);

			&::before { content: var(--slick-prev-icon, "chevron_left"); }
		}

		&.slick-next {
			right: var(--slick-next-position-x);
			top: var(--slick-next-position-y);

			&::before { content: var(--slick-next-icon, "chevron_right"); }
		}

		&.slick-hidden { display: none; }

		&.slick-disabled { 
			cursor: default;
			opacity: .5;
		}
	}

	.slick-hidden,
	.slick-sr-only { @include hidden; }

	.slick-dotted { margin-bottom: 2.75rem; }

	.slick-dots {
		@include stripped-list;
		@include flex-all($align: center, $justify: center, $wrap: wrap);
		position: absolute;
		width: 100%;
		z-index: 999;
		padding: {
			top: .5rem;
			bottom: .5rem;
		}
		text-align: center;

		li {
			position: relative;
			display: inline-block;
			height: 1.25rem;
			width: 1.25rem;
			margin: .5rem;
			cursor: pointer;

			button {
				@include flex-all($align: center, $justify: center);
				height: 1.25rem;
				width: 1.25rem;
				padding: 0;
				outline-width: none;
				border: 0;
				cursor: pointer;
				background: none transparent;
				color: inherit;

				@include hover {
					outline-width: 5px;
				}

				.slick-dot-icon {
					display: block;
					width: 1rem;
					height: 1rem;
					border-radius: 100%;
					background: var(--slick-dot-color);
					transition: height .2s ease-in-out, width .2s ease-in-out;
				}
			}

			&.slick-active button .slick-dot-icon {
				width: 1.25rem;
				height: 1.25rem;
				background: var(--slick-dot-color-active);
			}
		}
	}

	.slick-autoplay-toggle-button {
		position: absolute;
		z-index: 99999;
		left: 5px;
		bottom: -.25rem;
		padding: 0;
		background: none;
		color: inherit;
		border: 0;
		cursor: pointer;

		.slick-play-icon,
		.slick-pause-icon {
			&::before {
				display: block;
				font: {
					family: var(--font-icons);
					size: var(--slick-button-size);
					variation-settings: "FILL" 1;
				}
				line-height: 1;
			}
		}

		.slick-pause-icon::before { content: var(--slick-pause-icon, "pause"); }

		.slick-play-icon::before { content: var(--slick-play-icon, "play_arrow"); }
	}

	.slick-loading {
		.slick-track,
		.slick-slide { visibility: hidden; }
	}

	.slick-vertical {
		.slick-track { display: block; }
	}

	[dir="rtl"] {
		.slick-track { flex-direction: row-reverse; }
	}
}
*/
.swiper-container {
  --swiper-theme-color: var(--color-1, #007aff);
  --swiper-button-size: 44px;
  --swiper-side-margin: var(--swiper-button-size);
  --swiper-pagination-color: var(--color-2, #007aff);
  --swiper-pagination-color-active: var(--color-1, #ee3939);
  --swiper-navigation-color: inherit;
  --swiper-pagination-bullet-size: 1.5rem;
  --swiper-slide-aspect-ratio: auto;
  --swiper-navigation-position-x: 0;
  --swiper-navigation-position-y: calc(50% - var(--swiper-button-size)/2);
  --swiper-prev-position-x: var(--swiper-navigation-position-x);
  --swiper-next-position-x: var(--swiper-navigation-position-x);
  --swiper-prev-position-y: var(--swiper-navigation-position-y);
  --swiper-next-position-y: var(--swiper-navigation-position-y);
  --swiper-pagination-bottom: 8px;
  --swiper-slide-shadow: 0 1px 2px rgba(0,0,0,0.2);
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
  will-change: transform;
  transform-style: preserve-3d;
}
@media (prefers-reduced-motion: reduce) {
  .swiper-container .swiper-slide {
    transition: none !important;
  }
  .swiper-container .swiper-wrapper {
    transition: none !important;
  }
}
.swiper-container .swiper {
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.swiper-container:has(.swiper-button-prev, .swiper-button-next) .swiper {
  width: calc(100% - var(--swiper-side-margin) * 2);
  margin: 0 var(--swiper-side-margin);
}
.swiper-container .swiper-holder {
  position: relative;
}
.swiper-container .swiper-wrapper {
  position: relative;
  width: 100%;
  z-index: 1;
  display: flex;
  box-sizing: content-box;
}
.swiper-container .swiper-slide {
  flex-shrink: 0;
  position: relative;
  display: block;
  width: 100%;
}
.swiper-container.swiper-auto-width .swiper-container .swiper-slide {
  width: auto;
}
.swiper-container .swiper-slide img {
  display: block;
}
.swiper-container .swiper-autoplay-toggle-button, .swiper-container .swiper-button-prev,
.swiper-container .swiper-button-next {
  position: absolute;
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--swiper-button-size);
  height: var(--swiper-button-size);
  color: var(--swiper-navigation-color);
  background: var(--swiper-navigation-background, transparent);
  border: var(--swiper-navigation-border, none);
  border-radius: var(--swiper-navigation-border-radius, 50%);
  padding: 0;
  backdrop-filter: var(--swiper-navigation-backdrop-filter, none);
  box-shadow: var(--swiper-navigation-shadow, none);
}
.swiper-container .swiper-autoplay-toggle-button::after, .swiper-container .swiper-button-prev::after,
.swiper-container .swiper-button-next::after {
  font-family: var(--font-icons);
  font-size: var(--swiper-button-size);
  font-weight: var(--swiper-navigation-font-weight, 400);
  line-height: 1;
}
.swiper-container .swiper-button-prev.swiper-button-disabled,
.swiper-container .swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
  transform: none;
}
.swiper-container .swiper-button-prev.swiper-button-hidden,
.swiper-container .swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
  transform: scale(0);
}
.swiper-container .swiper-button-prev {
  left: var(--swiper-prev-position-x);
  top: var(--swiper-prev-position-y);
}
.swiper-container .swiper-button-prev::after {
  content: var(--swiper-prev-icon, "chevron_left");
}
.swiper-container .swiper-button-next {
  right: var(--swiper-next-position-x);
  top: var(--swiper-next-position-y);
}
.swiper-container .swiper-button-next::after {
  content: var(--swiper-next-icon, "chevron_right");
}
.swiper-container .swiper-autoplay-toggle-button::after {
  content: "pause";
}
.swiper-container .swiper-autoplay-toggle-button.paused::after {
  content: "play_arrow";
}
.swiper-container .swiper-pagination {
  position: static;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem 0 0.5rem;
  transition: 300ms opacity;
}
.swiper-container .swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}
.swiper-container .swiper-pagination-bullets {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 0.5rem;
  gap: var(--swiper-pagination-bullet-spacing, 0.5rem);
}
.swiper-container .swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-size);
  height: var(--swiper-pagination-bullet-size);
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-color);
  opacity: var(--swiper-pagination-bullet-opacity, 0.5);
  cursor: pointer;
  border: var(--swiper-pagination-bullet-border, none);
}
.swiper-container .swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: var(--swiper-pagination-bullet-active-width, 1.5rem);
  height: var(--swiper-pagination-bullet-active-height, 1.5rem);
  background: var(--swiper-pagination-color-active);
  opacity: 1;
  transform: scale(1);
  border-radius: var(--swiper-pagination-bullet-active-border-radius, 50%);
}
.swiper-container .swiper-pagination-bullet.swiper-pagination-progressbar {
  background: linear-gradient(90deg, var(--swiper-pagination-color-active) 0%, var(--swiper-pagination-color-active) var(--swiper-pagination-progress, 0%), var(--swiper-pagination-color) var(--swiper-pagination-progress, 0%));
}
.swiper-container .swiper-pagination-bullet.swiper-pagination-numbered {
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--swiper-pagination-color);
  background: transparent;
  border: 2px solid var(--swiper-pagination-color);
}
.swiper-container .swiper-pagination-bullet.swiper-pagination-numbered.swiper-pagination-bullet-active {
  color: white;
  background: var(--swiper-pagination-color-active);
  border-color: var(--swiper-pagination-color-active);
}
@media screen and (min-width: 20rem) {
  .swiper-container.swiper-disable-at-small .swiper {
    display: block;
    width: 100%;
    margin: 0;
  }
  .swiper-container.swiper-disable-at-small .swiper-wrapper {
    display: flex !important;
    flex-wrap: wrap;
    gap: 1rem;
    width: 100%;
    transform: none !important;
    align-items: stretch;
  }
  .swiper-container.swiper-disable-at-small .swiper-slide {
    width: auto !important;
    flex: 1;
    transform: none !important;
    margin-right: 0 !important;
    min-width: 0;
  }
  .swiper-container.swiper-disable-at-small .swiper-button-prev,
  .swiper-container.swiper-disable-at-small .swiper-button-next,
  .swiper-container.swiper-disable-at-small .swiper-pagination {
    display: none !important;
  }
}
@media screen and (min-width: 48rem) {
  .swiper-container.swiper-disable-at-mid .swiper {
    display: block;
    width: 100%;
    margin: 0;
  }
  .swiper-container.swiper-disable-at-mid .swiper-wrapper {
    display: flex !important;
    flex-wrap: wrap;
    gap: 1rem;
    width: 100%;
    transform: none !important;
    align-items: stretch;
  }
  .swiper-container.swiper-disable-at-mid .swiper-slide {
    width: auto !important;
    flex: 1;
    transform: none !important;
    margin-right: 0 !important;
    min-width: 0;
  }
  .swiper-container.swiper-disable-at-mid .swiper-button-prev,
  .swiper-container.swiper-disable-at-mid .swiper-button-next,
  .swiper-container.swiper-disable-at-mid .swiper-pagination {
    display: none !important;
  }
}
@media screen and (min-width: 64rem) {
  .swiper-container.swiper-disable-at-large .swiper {
    display: block;
    width: 100%;
    margin: 0;
  }
  .swiper-container.swiper-disable-at-large .swiper-wrapper {
    display: flex !important;
    flex-wrap: wrap;
    gap: 1rem;
    width: 100%;
    transform: none !important;
    align-items: stretch;
  }
  .swiper-container.swiper-disable-at-large .swiper-slide {
    width: auto !important;
    flex: 1;
    transform: none !important;
    margin-right: 0 !important;
    min-width: 0;
  }
  .swiper-container.swiper-disable-at-large .swiper-button-prev,
  .swiper-container.swiper-disable-at-large .swiper-button-next,
  .swiper-container.swiper-disable-at-large .swiper-pagination {
    display: none !important;
  }
}
@media screen and (min-width: 85.375rem) {
  .swiper-container.swiper-disable-at-xl .swiper {
    display: block;
    width: 100%;
    margin: 0;
  }
  .swiper-container.swiper-disable-at-xl .swiper-wrapper {
    display: flex !important;
    flex-wrap: wrap;
    gap: 1rem;
    width: 100%;
    transform: none !important;
    align-items: stretch;
  }
  .swiper-container.swiper-disable-at-xl .swiper-slide {
    width: auto !important;
    flex: 1;
    transform: none !important;
    margin-right: 0 !important;
    min-width: 0;
  }
  .swiper-container.swiper-disable-at-xl .swiper-button-prev,
  .swiper-container.swiper-disable-at-xl .swiper-button-next,
  .swiper-container.swiper-disable-at-xl .swiper-pagination {
    display: none !important;
  }
}
@media screen and (min-width: 120rem) {
  .swiper-container.swiper-disable-at-xxl .swiper {
    display: block;
    width: 100%;
    margin: 0;
  }
  .swiper-container.swiper-disable-at-xxl .swiper-wrapper {
    display: flex !important;
    flex-wrap: wrap;
    gap: 1rem;
    width: 100%;
    transform: none !important;
    align-items: stretch;
  }
  .swiper-container.swiper-disable-at-xxl .swiper-slide {
    width: auto !important;
    flex: 1;
    transform: none !important;
    margin-right: 0 !important;
    min-width: 0;
  }
  .swiper-container.swiper-disable-at-xxl .swiper-button-prev,
  .swiper-container.swiper-disable-at-xxl .swiper-button-next,
  .swiper-container.swiper-disable-at-xxl .swiper-pagination {
    display: none !important;
  }
}
@media screen and (min-width: 64rem) {
  .swiper-container.responsive-swiper .swiper {
    display: block;
    width: 100%;
    margin: 0;
  }
  .swiper-container.responsive-swiper .swiper-wrapper {
    display: flex !important;
    flex-wrap: wrap;
    gap: 1rem;
    width: 100%;
    transform: none !important;
    align-items: stretch;
  }
  .swiper-container.responsive-swiper .swiper-slide {
    width: auto !important;
    flex: 1;
    transform: none !important;
    margin-right: 0 !important;
    min-width: 0;
  }
  .swiper-container.responsive-swiper .swiper-button-prev,
  .swiper-container.responsive-swiper .swiper-button-next,
  .swiper-container.responsive-swiper .swiper-pagination {
    display: none !important;
  }
}
.swiper-container .swiper-initialized .swiper-slide {
  visibility: visible;
}
[dir=rtl] .swiper-container .swiper-wrapper {
  flex-direction: row-reverse;
}
.swiper-container.swiper-effect-coverflow .swiper-slide {
  transition-property: transform, opacity;
}
.swiper-container.swiper-effect-coverflow .swiper-slide:not(.swiper-slide-active) {
  transform: perspective(1200px) rotateY(var(--swiper-coverflow-rotate, -50deg)) scale(var(--swiper-slide-scale-inactive)) translateZ(var(--swiper-coverflow-depth, -100px));
}
.swiper-container.swiper-effect-cube .swiper-wrapper {
  perspective: 1200px;
}
.swiper-container.swiper-effect-cube .swiper-slide {
  transform-style: preserve-3d;
}
.swiper-container.swiper-effect-cube .swiper-slide.swiper-slide-shadow::before {
  background: linear-gradient(225deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 50%);
}
.swiper-container.swiper-effect-fade .swiper-slide {
  transition-property: opacity;
}
.swiper-container.swiper-effect-fade .swiper-slide:not(.swiper-slide-active) {
  opacity: 0;
  pointer-events: none;
}

.hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.bg-color-1 {
  background-color: var(--color-1);
  color: var(--color-1-over);
}

.bg-color-2 {
  background-color: var(--color-2);
  color: var(--color-2-over);
}

.flat-icon-colors svg.color-flatten .color-fill {
  fill: currentColor;
}
.flat-icon-colors svg.color-flatten .transparency-change {
  fill: transparent;
}
.flat-icon-colors svg:not(.color-flatten) {
  fill: currentColor;
}

.width-constrain, .site-header .header-main-inner, .site-header .topbar-inner, .sitenav.horiz-menu .nav-menu, #content_main, .site-footer .footer-inner, .site-footer .footer-bottom-inner {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: var(--max-width, var(--site-width));
}

.width-constrain-small {
  --max-width: var(--vp-small);
}

.width-constrain-mid {
  --max-width: var(--vp-mid);
}

.width-constrain-large {
  --max-width: var(--vp-large);
}

.width-constrain-xl {
  --max-width: var(--vp-xl);
}

.width-constrain-xxl {
  --max-width: var(--vp-xxl);
}

.site-header1a {
  padding-bottom: 1rem;
}
.site-header1a .header-title {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: var(--site-width);
  padding-top: 1rem;
  text-align: center;
  font-size: 1.5rem;
}
@media screen and (min-width: 48rem) {
  .site-header1a .header-title {
    font-size: 2.25rem;
  }
}
@media screen and (min-width: 64rem) {
  .site-header1a .header-title {
    font-size: 3rem;
  }
}
.site-header1a .header-title a {
  gap: 1.25rem;
}
@media screen and (min-width: 48rem) {
  .site-header1a .header-title {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .site-header1a .header-title a {
    flex-direction: row;
  }
}
@media screen and (min-width: 64rem) {
  .site-header1a {
    padding-bottom: 0;
  }
  .site-header1a .header-title {
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
  }
}

.shuffle1-container.content-container {
  padding: 0;
}
.shuffle1-container {
  --swiper-theme-color: white;
  --swiper-navigation-color: white;
  --swiper-navigation-background: rgb(0 0 0 / 0.5);
  --swiper-navigation-border-radius: 4px;
  --swiper-pagination-color: rgb(255 255 255 / 0.5);
  --swiper-pagination-color-active: white;
  --swiper-prev-position-y: calc(50% - var(--swiper-button-size)/2);
  --swiper-next-position-y: calc(50% - var(--swiper-button-size)/2);
  --swiper-side-margin: 0;
  --shuffle-base-spacing: 1rem;
  --shuffle-thumb-height: 3rem;
  --shuffle-thumb-nav-height: calc(var(--shuffle-thumb-height) + var(--shuffle-base-spacing));
  --shuffle-thumb-border-active: var(--swiper-pagination-color-active);
  --shuffle-thumb-border-hover: var(--swiper-pagination-color);
}
.shuffle1-container .shuffle-slide {
  margin: 0;
}
.shuffle1-container .shuffle-image {
  width: 100%;
}
.shuffle1-container .shuffle-caption {
  background: rgba(0, 0, 0, 0.5);
  color: white;
  padding: var(--shuffle-base-spacing);
  line-height: var(--std-line-height);
}
.shuffle1-container .shuffle-caption > p {
  margin-top: 0;
}
.shuffle1-container .shuffle-caption a {
  color: inherit;
}
.shuffle1-container .shuffle-caption.caption-position-top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.shuffle1-container .shuffle-caption.caption-position-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.shuffle1-container.swiper-autoplay .swiper-autoplay-toggle-button {
  bottom: 0;
  left: 0;
  z-index: 11;
  padding: calc(var(--shuffle-base-spacing) / 2);
}
.shuffle1-container.swiper-autoplay:not(.navigation-type-4) .shuffle-caption.caption-position-bottom {
  padding-bottom: calc(var(--swiper-button-size) + var(--shuffle-base-spacing));
}
.shuffle1-container.swiper-autoplay.navigation-type-4.navigation-position-bottom .shuffle-caption.caption-position-bottom {
  padding-bottom: max(var(--swiper-button-size) + var(--shuffle-base-spacing), var(--shuffle-thumb-nav-height));
}
.shuffle1-container.swiper-autoplay.navigation-type-4.navigation-position-bottom .swiper-autoplay-toggle-button {
  bottom: var(--shuffle-thumb-nav-height);
}
@media screen and (max-width: calc(48rem - 1px)) {
  .shuffle1-container {
    --swiper-navigation-position-y: 0;
    --swiper-prev-position-x: calc(100% - var(--swiper-button-size) - var(--shuffle-base-spacing) * 4);
    --swiper-next-position-x: var(--shuffle-base-spacing);
  }
  .shuffle1-container .swiper-autoplay-toggle-button,
  .shuffle1-container .shuffle-thumbs-nav,
  .shuffle1-container .swiper-pagination,
  .shuffle1-container .shuffle-thumbs {
    display: none !important;
  }
}
@media screen and (min-width: 48rem) {
  .shuffle1-container .shuffle-thumbs-nav {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 10;
    background: var(--swiper-navigation-background);
    padding: calc(var(--shuffle-base-spacing) / 2);
    height: var(--shuffle-thumb-nav-height);
  }
  .shuffle1-container .shuffle-thumbs-nav .swiper-slide {
    height: var(--shuffle-thumb-height);
    width: auto;
    cursor: pointer;
  }
  .shuffle1-container .shuffle-thumbs-nav .swiper-slide img {
    height: 100%;
    width: auto;
    display: block;
    border: 2px solid transparent;
    transition: border-color 0.2s ease-in-out;
  }
  .shuffle1-container .shuffle-thumbs-nav .swiper-slide:hover img {
    border-color: var(--shuffle-thumb-border-hover);
  }
  .shuffle1-container .shuffle-thumbs-nav .swiper-slide.swiper-slide-thumb-active img {
    border-color: var(--shuffle-thumb-border-active);
  }
  .shuffle1-container .shuffle-thumbs {
    margin: 0 auto;
    box-sizing: border-box;
    padding: 0 3rem;
  }
  .shuffle1-container .shuffle-thumbs .swiper-slide {
    opacity: 0.6;
    transition: opacity 0.3s ease, border-color 0.3s ease;
    border: 2px solid transparent;
    box-sizing: border-box;
  }
  .shuffle1-container .shuffle-thumbs .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .shuffle1-container .shuffle-thumbs .swiper-slide.swiper-slide-thumb-active {
    opacity: 1;
    border-color: var(--shuffle-thumb-border-active);
  }
  .shuffle1-container .shuffle-thumbs .swiper-slide:hover:not(.swiper-slide-thumb-active) {
    opacity: 0.8;
    border-color: var(--shuffle-thumb-border-hover);
  }
  .shuffle1-container .swiper-pagination {
    position: absolute;
    z-index: 9;
    box-sizing: border-box;
    gap: var(--shuffle-base-spacing);
  }
  .shuffle1-container .navigation-position-top {
    --swiper-navigation-position-y: var(--shuffle-base-spacing);
  }
  .shuffle1-container .navigation-position-top .shuffle-thumbs-nav {
    top: 0;
  }
  .shuffle1-container .navigation-position-top .swiper-pagination {
    top: 0;
    width: 100%;
  }
  .shuffle1-container .navigation-position-top .shuffle-caption.caption-position-top {
    padding-top: calc(2rem + var(--shuffle-base-spacing) * 2);
  }
  .shuffle1-container .navigation-position-top.navigation-type-4 .shuffle-caption.caption-position-top {
    padding-top: var(--shuffle-thumb-nav-height);
  }
  .shuffle1-container .navigation-position-bottom {
    --swiper-prev-position-y: calc(100% - var(--swiper-button-size) - var(--shuffle-base-spacing));
    --swiper-next-position-y: calc(100% - var(--swiper-button-size) - var(--shuffle-base-spacing));
  }
  .shuffle1-container .navigation-position-bottom .shuffle-thumbs-nav {
    bottom: 0;
  }
  .shuffle1-container .navigation-position-bottom .swiper-pagination {
    bottom: 0;
    width: 100%;
  }
  .shuffle1-container .navigation-position-bottom .shuffle-caption.caption-position-bottom {
    padding-bottom: calc(2rem + var(--shuffle-base-spacing) * 2);
  }
  .shuffle1-container .navigation-position-bottom.navigation-type-4 .shuffle-caption.caption-position-bottom {
    padding-bottom: var(--shuffle-thumb-nav-height);
  }
  .shuffle1-container .navigation-position-left {
    --swiper-prev-position-x: var(--shuffle-base-spacing);
    --swiper-next-position-x: calc(var(--swiper-button-size) + var(--shuffle-base-spacing) * 2);
  }
  .shuffle1-container .navigation-position-left .swiper-pagination {
    flex-direction: column;
    top: 0;
    left: 0;
    height: 100%;
  }
  .shuffle1-container .navigation-position-right {
    --swiper-prev-position-x: calc(100% - var(--swiper-button-size) * 2 - var(--shuffle-base-spacing) * 2);
    --swiper-next-position-x: calc(100% - var(--swiper-button-size) - var(--shuffle-base-spacing));
  }
  .shuffle1-container .navigation-position-right .swiper-pagination {
    flex-direction: column;
    top: 0;
    right: 0;
    height: 100%;
  }
}
.shuffle1-container .swiper-pagination.numbered-pagination .swiper-pagination-bullet {
  width: 2rem;
  height: 2rem;
  background: white;
  color: black;
  border-radius: 0;
  opacity: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: bold;
  transition: font-size 0.2s ease-in-out;
}
.shuffle1-container .swiper-pagination.numbered-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  font-size: 1rem;
  background: var(--swiper-pagination-color-active);
}
.shuffle1-container .error-message {
  padding: var(--shuffle-base-spacing);
  text-align: center;
  font-weight: 700;
  font-size: 2rem;
  background: white;
  color: black;
}
.shuffle1-container.swiper-effect-fade .swiper-slide:not(.swiper-slide-active) {
  opacity: 0;
}
.shuffle1-container.swiper-effect-fade .swiper-slide.swiper-slide-active {
  z-index: 2;
}

.spotlight-container {
  --summary-lines-limit: 5;
}
.spotlight-container .item-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}
.spotlight-container .item-thumbnail-holder {
  flex: none;
  max-width: 100%;
}
.spotlight-container .item-thumbnail {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}
.spotlight-container .item-summary.clipped-summary .item-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--summary-lines-limit);
  overflow: hidden;
}
@media screen and (min-width: 48rem) {
  .spotlight-container.thumbnail-orientation-horizontal .item-inner {
    flex-direction: row;
    align-items: flex-start;
  }
  .spotlight-container.thumbnail-orientation-horizontal .item-thumbnail-holder {
    max-width: 15.5rem;
  }
}

.news-container .item-inner {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.news-container .item-thumbnail-holder {
  flex: none;
  max-width: 100%;
  box-sizing: border-box;
}
.news-container .item-thumbnail-holder .video-embed-container iframe {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}
.news-container .item-thumbnail {
  display: block;
  max-width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}
.news-container .item-thumbnail.logo-backup {
  padding: 1.25rem;
}
@media screen and (min-width: 48rem) {
  .news-container.article-type-standard.thumbnail-orientation-horizontal .item-inner {
    flex-direction: row;
  }
  .news-container.article-type-standard.thumbnail-orientation-horizontal .item-thumbnail-holder {
    flex: none;
    max-width: 15.5rem;
  }
}
.news-container.article-type-card .item-inner {
  display: grid;
  min-height: 25rem;
  height: 100%;
}
.news-container.article-type-card .item-thumbnail-holder,
.news-container.article-type-card .item-summary {
  grid-column: 1;
  grid-row: 1;
}
.news-container.article-type-card .item-thumbnail-holder {
  place-content: center;
}
.news-container.article-type-card .item-thumbnail {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}
.news-container.article-type-card .item-thumbnail.logo-backup {
  width: auto;
  height: auto;
  max-width: 80%;
  max-height: 80%;
  object-fit: unset;
}
.news-container.article-type-card.thumbnail-coverage-partial .item-summary {
  align-self: flex-end;
}
.news-container.article-type-card .swiper-wrapper {
  align-items: stretch;
}
.news-container.article-type-card .swiper-slide > div,
.news-container.article-type-card .swiper-slide .item {
  height: 100%;
}
@media screen and (min-width: 64rem) {
  .news-container.orientation-horizontal:not(.swiper-container) .items-list {
    display: flex;
    justify-content: space-around;
  }
  .news-container.orientation-horizontal:not(.swiper-container) .items-list .item {
    flex: 1;
  }
  .news-container.article-type-card.article-hover-summary .item:hover, .news-container.article-type-card.article-hover-summary .item:focus-within {
    --item-text-row: 1fr;
    --read-more-opacity: 0;
    --read-more-row: 0fr;
  }
  .news-container.article-type-card.article-hover-summary .item-summary {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto var(--item-text-row, 0fr) var(--read-more-row, auto);
    transition-property: grid-template-rows;
    transition-duration: var(--item-text-transition, 0.3s);
  }
  .news-container.article-type-card.article-hover-summary .item-summary::after {
    content: var(--read-more-text, "See More");
    opacity: var(--read-more-opacity, 1);
    transition-property: opacity;
    transition-duration: inherit;
  }
  .news-container.article-type-card.article-hover-summary .item-text {
    overflow: hidden;
  }
}

.events-container .item-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  text-align: center;
}
.events-container .event-date {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex: none;
  width: 7rem;
  height: 7rem;
  text-transform: uppercase;
}
.events-container .event-date .event-month {
  font-size: 1.125em;
}
.events-container .event-date .event-day {
  font-size: 2.25em;
}
@media screen and (min-width: 64rem) {
  .events-container.orientation-horizontal:not(.swiper-container) .items-list {
    display: flex;
    justify-content: space-around;
  }
  .events-container.orientation-horizontal:not(.swiper-container) .items-list .item {
    flex: 1;
  }
  .events-container.date-orientation-horizontal .item-inner {
    flex-direction: row;
    text-align: left;
  }
}

.links-container {
  --icon-height: 3rem;
  --icon-width: auto;
  --icon-orientation: column;
}
.links-container .items-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.links-container:not(.swiper-container) .items-list {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
.links-container .link-item a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.125rem;
  color: inherit;
  gap: 0.75rem;
  flex-direction: var(--icon-orientation);
  text-align: center;
}
.links-container .link-item a.bg-image {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.links-container .link-item .icon-holder {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.links-container .link-item svg,
.links-container .link-item img {
  width: var(--icon-width);
  height: var(--icon-height);
}
.links-container.orientation-vertical:not(.swiper-container) .items-list {
  flex-direction: column;
}
.links-container.icon-orientation-vertical {
  --icon-orientation: column;
  text-align: center;
}
.links-container.icon-orientation-horizontal {
  --icon-orientation: row;
  text-align: left;
}
.links-container.icon-only .link-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

:root,
::before,
::after {
  --font-1: "elza", sans-serif;
  --font-2: "agenda", sans-serif;
  --black-alpha: rgb(0 0 0 / 46%);
  --header-height: 212px;
  --container-padding-y: 45px;
  --section-title-font-size: 2.875rem;
  --item-name-font-size: 1.5rem;
  --item-text-font-size: 1.125rem;
  --box-shadow: 0 0 4px rgb(0 0 0 / 25%);
}
@media screen and (min-width: 64rem) {
  :root,
  ::before,
  ::after {
    --header-height: 205px;
    --container-padding-y: 80px;
    --item-name-font-size: 1.875rem;
    --section-title-font-size: 3.125rem;
  }
}

.bg-color-black {
  background: black;
  color: white;
}

.bg-color-white {
  background: white;
  color: black;
}

#header_main .school-name,
#footer_main .school-name {
  text-transform: uppercase;
  font-weight: 700;
  font-family: var(--font-2);
}
#header_main .school-name a,
#footer_main .school-name a {
  color: inherit;
}

#sitenav_mobile {
  --nav-hamburger-icon-color: currentColor;
  top: 0;
}

#sitenav_mobile,
#sitenav_main {
  grid-area: nav;
}

#topbar_nav .nav-item a,
#topbar_nav .sub-menu-item a {
  text-align: left;
}
#topbar_nav .nav-item a {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  gap: 0.5em;
}
#topbar_nav .nav-item a img, #topbar_nav .nav-item a svg {
  width: 1.25em;
  height: 1.25em;
}
#topbar_nav .nav-item-inner {
  font-weight: 700;
  font-size: 1.25rem;
  padding: 0.25em 0.25em 0.25em 0.75em;
}
@media screen and (min-width: 64rem) {
  #topbar_nav .sub-menu-holder {
    right: 0;
    left: unset;
  }
}

#sitenav_main {
  --nav-item-spacing: space-between;
}
#sitenav_main .nav-item-inner {
  text-transform: uppercase;
  font-size: 1rem;
}
@media screen and (min-width: 85.375rem) {
  #sitenav_main .nav-item-inner {
    font-size: 1.125rem;
  }
}

#header_main {
  --max-width: var(--vp-xl);
  display: grid;
  height: var(--header-height);
  box-sizing: border-box;
  grid-template-columns: auto 1fr 48px;
  grid-template-areas: "nav nav nav" "topbar . ." "name name name";
}
#header_main .school-name {
  --school-logo-width: 113px;
  padding: 12px 0;
  grid-area: name;
}
#header_main .school-name-inner {
  text-align: left;
}
#header_main .school-name a {
  flex-direction: row;
}
#header_main .school-name .line-1 {
  font-size: 40px;
}
#header_main .school-name .line-2 {
  font-size: 1.125rem;
}
#header_main .topbar {
  box-sizing: border-box;
  padding: 4px 8px;
  grid-area: topbar;
}
#header_main .topbar .search-icon-button::before {
  margin-left: 8px;
  padding: 0;
  padding-left: 8px;
  border-left: 1px solid;
}
@media screen and (min-width: 64rem) {
  #header_main {
    padding-bottom: 24px;
    grid-template-columns: var(--gutter-size-xl) auto 1fr auto var(--gutter-size-xl);
    grid-template-areas: ". name . topbar ." "nav nav nav nav nav";
  }
  body.index #header_main {
    position: absolute;
    inset: 0 0 auto;
    background-color: var(--black-alpha);
    color: white;
  }
  #header_main .topbar {
    padding: 0;
  }
}

#shuffle_main_container .swiper-autoplay-toggle-button {
  border-radius: 0;
  background-color: var(--black-alpha);
}
#shuffle_main_container .shuffle-image {
  min-height: 768px;
  height: calc(100vh - var(--header-height));
  object-fit: cover;
}
@media screen and (min-width: 64rem) {
  #shuffle_main_container .shuffle-image {
    height: 100vh;
  }
}

#spot1_container {
  pointer-events: none;
}
#spot1_container a {
  pointer-events: all;
}
#spot1_container .item-text {
  text-align: center;
  font-weight: 700;
  font-size: 2rem;
}
@media screen and (min-width: 64rem) {
  #spot1_container {
    display: flex;
    position: absolute;
    inset: var(--header-height) 0 0;
    flex-direction: column;
    align-items: start;
    justify-content: end;
    padding: 100px;
    background-color: var(--black-alpha);
    color: white;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 44px 100%, 44px calc(100% - 44px), 0 calc(100% - 44px));
  }
  #spot1_container .section-title {
    text-align: left;
  }
  #spot1_container .item-text {
    font-size: 3.75rem;
  }
  #spot1_container .read-more-links-group {
    justify-content: start;
  }
}

.bg-color-1 .content-container .section-title, .content-container.bg-color-1 .section-title, .bg-color-2 .content-container .section-title, .content-container.bg-color-2 .section-title {
  color: currentColor;
}
.bg-color-1 .content-container .read-more-link, .content-container.bg-color-1 .read-more-link, .bg-color-2 .content-container .read-more-link, .content-container.bg-color-2 .read-more-link {
  text-decoration: none;
}
.bg-color-1 .content-container .read-more-link:hover, .bg-color-1 .content-container .read-more-link:focus-visible, .content-container.bg-color-1 .read-more-link:hover, .content-container.bg-color-1 .read-more-link:focus-visible, .bg-color-2 .content-container .read-more-link:hover, .bg-color-2 .content-container .read-more-link:focus-visible, .content-container.bg-color-2 .read-more-link:hover, .content-container.bg-color-2 .read-more-link:focus-visible {
  text-decoration: underline;
}
.bg-color-1 .content-container .read-more-link, .content-container.bg-color-1 .read-more-link, .bg-color-2 .content-container .read-more-link, .content-container.bg-color-2 .read-more-link {
  background-color: white;
  color: var(--color-1);
}
.bg-color-1 .content-container .read-more-link:hover, .bg-color-1 .content-container .read-more-link:focus-visible, .content-container.bg-color-1 .read-more-link:hover, .content-container.bg-color-1 .read-more-link:focus-visible, .bg-color-2 .content-container .read-more-link:hover, .bg-color-2 .content-container .read-more-link:focus-visible, .content-container.bg-color-2 .read-more-link:hover, .content-container.bg-color-2 .read-more-link:focus-visible {
  background-color: white;
  color: black;
}
.content-container {
  padding-top: var(--container-padding-y);
  padding-bottom: var(--container-padding-y);
}
.content-container .section-title {
  margin-bottom: 0.5em;
  color: var(--color-1);
  text-transform: uppercase;
  font-weight: 700;
  font-size: var(--section-title-font-size);
}
.content-container .item-name {
  margin-bottom: 0.25em;
  font-size: var(--item-name-font-size);
}
.content-container .item-text {
  font-size: var(--item-text-font-size);
}
.content-container .read-more-links-group {
  padding-top: 20px;
}
.content-container .read-more-link {
  padding: 16px 28px;
  border-radius: 30px 80px;
  background: var(--color-1);
  color: var(--color-1-over);
  text-align: center;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.25rem;
  box-shadow: var(--box-shadow);
}
.content-container .read-more-link:hover, .content-container .read-more-link:focus-visible {
  background: var(--color-2);
  color: var(--color-1);
}

#news_container,
#events_container {
  --swiper-side-margin: 0;
}
#news_container .read-more-links-group,
#events_container .read-more-links-group {
  align-items: center;
  gap: 8px;
}
@media screen and (min-width: 48rem) {
  #news_container .read-more-links-group,
  #events_container .read-more-links-group {
    justify-content: end;
  }
  #news_container .read-more-link,
  #events_container .read-more-link {
    order: 10;
  }
}

#news_container .swiper-button-prev,
#news_container .swiper-button-next {
  position: initial;
  border-radius: 50%;
}
.homepage-row:has(#news_container):before {
  content: "";
  display: block;
  --height: 64px;
  z-index: 99999;
  position: relative;
  width: 3px;
  height: var(--height);
  margin: 0 auto;
  margin-top: calc(var(--height) * -0.5);
  background: var(--color-2);
  pointer-events: none;
}
@media screen and (min-width: 64rem) {
  .homepage-row:has(#news_container):before {
    --height: 108px;
  }
}
#news_container .swiper-button-prev,
#news_container .swiper-button-next {
  background: var(--color-1);
  color: var(--color-1-over);
}
#news_container .item-inner {
  margin: 4px;
  border-radius: 0 0 10px 50px;
  box-shadow: var(--box-shadow);
  gap: 0;
}
#news_container .item-summary {
  box-sizing: border-box;
  padding: 50px 24px;
}

#board_mission {
  --container-padding-y: 40px;
  --large-br: 80px;
  display: grid;
  grid-template-columns: repeat(var(--cols, 1), 1fr);
}
#board_mission .spotlight-container {
  padding-right: var(--padding-x);
  padding-left: var(--padding-x);
  border-radius: 30px var(--large-br);
}
#board_mission .spotlight-container.bg-color-2 {
  border-radius: var(--large-br) 30px;
}
#board_mission .spotlight-container.bg-color-2 .section-title {
  color: var(--color-1);
}
@media screen and (min-width: 64rem) {
  #board_mission {
    --container-padding-y: 70px;
    --cols: 2;
    --padding-x: 64px;
    --large-br: 120px;
  }
  #board_mission .spotlight-container .item-inner {
    align-items: stretch;
  }
  #board_mission .section-title {
    text-align: left;
  }
  #board_mission .read-more-links-group {
    justify-content: start;
  }
}

#knights_container {
  overflow: clip;
  padding: 64px var(--gap, 25px);
  border-radius: 30px 120px;
  position: relative;
}
#knights_container:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: url("/pics/paper.png");
  pointer-events: none;
}
#knights_container .items-list {
  display: grid;
  grid-template-columns: repeat(var(--cols), 1fr);
  grid-gap: var(--gap, 25px);
}
#knights_container .read-more-links-group {
  justify-content: start;
}
@media screen and (min-width: 64rem) {
  #knights_container {
    --cols: 3;
    --gap: 50px;
  }
}

#board_row,
#knights_row {
  z-index: 1;
}

#events_container:before {
  content: "";
  display: block;
  background-image: url("/pics/events_logo.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: calc(48rem - 1px)) {
  #events_container:before {
    order: 10;
  }
}
.homepage-row:has(#events_container) {
  --offset: 200px;
  margin-top: calc(var(--offset) * -0.75);
  margin-bottom: calc(var(--offset) * -0.75);
  padding-top: var(--offset);
  padding-bottom: var(--offset);
  position: relative;
}
.homepage-row:has(#events_container):before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: inherit;
  opacity: 0.46;
}
#events_container .swiper-button-prev,
#events_container .swiper-button-next {
  background: white;
  color: black;
  border-radius: 50%;
  bottom: -73px;
  top: unset;
}
@media screen and (min-width: 48rem) {
  #events_container .swiper-button-prev {
    left: unset;
    right: 274px;
  }
  #events_container .swiper-button-next {
    right: 214px;
  }
}
#events_container .read-more-link {
  text-decoration: none;
}
#events_container .read-more-link:hover, #events_container .read-more-link:focus-visible {
  text-decoration: underline;
}
#events_container .read-more-link {
  background: white;
  color: black;
}
#events_container .read-more-link:hover, #events_container .read-more-link:focus-visible {
  background: white;
  color: var(--color-1);
}
#events_container .tabs-group {
  display: grid;
  grid-template-columns: 100%;
  grid-template-areas: "panel";
}
#events_container .tabs-group .panel-item {
  grid-area: panel;
  width: 100%;
  display: block !important;
}
#events_container .tabs-group .panel-item * {
  visibility: inherit;
}
#events_container .tabs-group .panel-item[aria-hidden=false] {
  visibility: visible;
}
#events_container .tabs-group .panel-item[aria-hidden=true] {
  visibility: hidden;
}
#events_container .section-title {
  color: currentColor;
}
#events_container .event-date {
  width: 4.75rem;
  height: 4.75rem;
  border-radius: 10px 30px;
  text-transform: none;
}
#events_container .event-date .event-month {
  font-style: italic;
  font-size: 1.25rem;
}
#events_container .event-date .event-day {
  font-weight: 700;
  font-size: 1.625rem;
}
#events_container .section-title {
  grid-area: title;
}
#events_container .swiper-holder {
  padding: 24px 0;
}
@media screen and (min-width: 64rem) {
  #events_container .swiper-holder {
    padding: 50px 0;
  }
}
#events_container .tab-labels-list {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  padding: 10px;
  border: 1px solid;
  border-radius: 44px;
  grid-area: buttons;
  justify-self: center;
  gap: 8px;
}
#events_container .tab-labels-list .tab-label a {
  padding: 0.5em 1.25em;
  border: none;
  border-radius: 2em;
  background-color: transparent;
  color: inherit;
  font-weight: 700;
  font-size: 1.25rem;
  display: inline-block;
  font-family: inherit;
}
#events_container .tab-labels-list .tab-label.ui-state-active a {
  background-color: white;
  color: var(--color-1);
}
#events_container .read-more-links-group {
  grid-area: readmore;
}
#events_container .item-inner {
  gap: 16px;
}
#events_container .item-inner::before {
  content: var(--event-category);
  background: var(--color-2);
  color: var(--color-1);
  padding: 0.25em 0.5em;
  font-size: 14px;
  border-radius: 8px;
  font-weight: 700;
}
@media screen and (max-width: calc(48rem - 1px)) {
  #events_container {
    display: flex;
    width: 100%;
    flex-direction: column;
  }
}
@media screen and (min-width: 48rem) {
  #events_container {
    --logo-width: 332px;
    display: grid;
    display: grid;
    grid-template-columns: 1fr calc(100% - var(--logo-width));
    grid-template-areas: "title title" "buttons buttons" "logo panels" ". readmore";
  }
  #events_container .item-inner {
    align-items: start;
  }
  #events_container .item-summary {
    text-align: left;
  }
}

.homepage-row:has(#programs_container) {
  --offset: 200px;
  margin-top: calc(var(--offset) * -0.75);
  padding-top: var(--offset);
  position: relative;
}
.homepage-row:has(#programs_container):before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: linear-gradient(to bottom, white, rgba(255, 255, 255, 0.25));
}
#programs_container .items-list {
  display: grid;
  grid-template-columns: repeat(var(--cols, 1), 1fr);
  grid-gap: var(--gap, 12px);
}
@media screen and (min-width: 64rem) {
  #programs_container .items-list {
    position: relative;
  }
  #programs_container .items-list:before {
    content: "";
    display: block;
    position: absolute;
    z-index: 9;
    top: calc(50% - 71px);
    left: calc(50% - 71px);
    width: 142px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    pointer-events: none;
    background-position: center;
    background-color: white;
    background-image: url("/pics/school_logo.png");
    background-repeat: no-repeat;
    background-size: 65%;
  }
}
#programs_container .read-more-links-group {
  justify-content: start;
}
#programs_container .item-inner {
  overflow: hidden;
  border-radius: 10px 50px;
  grid-template-rows: 1fr auto;
  grid-template-areas: "a" "b";
  grid-gap: 0;
}
#programs_container .item-inner:before {
  content: "";
  display: block;
  position: relative;
  background: var(--black-alpha);
  pointer-events: none;
  grid-area: a;
}
#programs_container .item-name {
  text-transform: uppercase;
}
#programs_container .item-thumbnail-holder {
  grid-area: 1/1/span 2/1;
}
#programs_container .item-summary {
  justify-content: end;
  box-sizing: border-box;
  padding: 50px;
  background: var(--black-alpha);
  color: white;
  grid-area: b;
}
#programs_container .item-thumbnail-holder {
  grid-area: 1/1/span 2/1;
}
#programs_container .item-text-inner {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--summary-lines-limit, 5);
}
@media screen and (min-width: 48rem) {
  #programs_container {
    --cols: 2;
  }
}
@media screen and (min-width: 64rem) {
  #programs_container {
    --gap: 20px;
  }
}

#links_container {
  box-sizing: border-box;
  padding: 32px 16px;
}
.homepage-row:has(#links_container) {
  margin: var(--container-padding-y) 0;
}
#links_container .section-title {
  color: var(--color-1);
}
#links_container .links-list {
  justify-content: center;
  gap: 16px;
}
#links_container .link-item a {
  display: flex;
  width: var(--link-size, 78px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: white;
  color: black;
}
#links_container .link-item a img,
#links_container .link-item a svg {
  width: var(--icon-size, 38px);
  height: var(--icon-size, 38px);
  margin: auto;
  padding: 0;
}
@media screen and (min-width: 64rem) {
  #links_container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    --link-size: 98px;
    --icon-size: 48px;
    border-top-left-radius: 100px;
    border-bottom-left-radius: 100px;
    gap: 32px;
  }
  #links_container .section-title {
    margin-bottom: 0;
  }
}

#content_main .pageTitle {
  color: var(--color-1);
  font-weight: 700;
  font-size: 2.25rem;
  font-family: var(--font-2);
}

#footer_grid_group {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 36px 0;
  gap: 30px;
}
.footer-row:has(#footer_grid_group) {
  --offset: 200px;
  background-image: linear-gradient(to bottom, white var(--offset), transparent var(--offset));
}
#footer_grid_group .school-name {
  --school-logo-width: 300px;
  color: var(--color-1);
  grid-area: name;
}
#footer_grid_group .school-name-inner {
  text-align: center;
  font-size: var(--name-font-size, 2.5rem);
}
#footer_grid_group .edlio-logos-block {
  color: var(--color-1);
  grid-area: edlios;
}
#footer_grid_group .footer-app-links {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
#footer_grid_group .footer-container {
  text-align: center;
}
#footer_grid_group .footer-container .section-title {
  margin: 0 0 0.25em 0;
  color: var(--color-1);
  text-align: inherit;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1.875rem;
  font-family: var(--font-2);
}
#footer_grid_group .footer-container ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
#footer_grid_group .footer-container a {
  color: inherit;
}
#footer_grid_group .footer-container .item-text {
  text-align: inherit;
  font-size: 1.125rem;
  line-height: 1.5;
}
#footer_grid_group #footer_contact {
  grid-area: contact;
}
#footer_grid_group #footer_nav {
  grid-area: links;
}
#footer_grid_group #google_translate_element {
  grid-area: google;
}
@media screen and (min-width: 48rem) {
  #footer_grid_group {
    --school-logo-width: 320px;
    --name-font-size: 2.75rem;
  }
}
@media screen and (min-width: 64rem) {
  #footer_grid_group {
    display: grid;
    align-items: start;
    grid-template-columns: auto 1fr auto auto;
    grid-template-areas: "name name name name" "contact links google edlios" "contact links apps edlios";
  }
  #footer_grid_group .school-name {
    justify-self: center;
  }
  #footer_grid_group .footer-container {
    text-align: left;
    line-height: 1.75;
  }
  #footer_grid_group .edlio-logos-block {
    align-items: start;
    align-self: start;
  }
}

/*# sourceMappingURL=main.css.map */
