@import url("https://use.typekit.net/tza8mhi.css");
@layer lucy-reset, lucy-core, lucy-utilities;
/* --- Grid Mixins --- */
@layer lucy-reset {
  *,
  *::before,
  *::after {
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    box-sizing: border-box;
  }
  img,
  picture,
  video,
  canvas,
  svg {
    max-width: 100%;
  }
  textarea {
    display: block;
    resize: vertical;
  }
  button {
    border: none;
  }
  table {
    border-collapse: collapse;
  }
}
.pages-list-container {
  margin-block-end: var(--flow_content_spacer);
}
.pages-list-container .page-item {
  display: grid;
  align-items: center;
  gap: var(--spacer_xs) 55px;
  padding-block: 3rem;
  border-block-end: 1px solid var(--border_color);
}
.pages-list-container .page-item:has(.page-item-image) {
  grid-template-columns: 344px 1fr;
}
.pages-list-container .page-item:first-child {
  border-block-start: 1px solid var(--border_color);
}
.pages-list-container .page-item .page-item-image {
  overflow: hidden;
}
.pages-list-container .page-item .page-item-image img {
  display: block;
  transition: transform 0.3s ease;
}
.pages-list-container .page-item.block-link:is(:hover, :focus-within) .page-item-image img {
  transform: scale(1.1);
}
.pages-list-container .page-item.block-link:is(:hover, :focus-within) a {
  text-decoration: none;
}
.pages-list-container .page-item h3 {
  margin-block-end: 0;
}
.pages-list-container .page-item p {
  margin-block: 1rem 0;
}
.pages-list-container .page-item .button-link {
  margin-block-start: 1.31rem;
}
@container content-area (max-width: 43.75rem) {
  .pages-list-container .page-item {
    grid-template-columns: 1fr !important;
    gap: var(--spacer_xs);
    padding-block: var(--spacer_s);
  }
  .pages-list-container .page-item img {
    width: 100%;
  }
}

.form-plugin {
  margin-block-end: var(--flow_content_spacer);
}

.form-thanks-wrap {
  padding-block: 2.375rem;
  padding-inline: 50px;
  border-radius: 4px;
  border: 2px solid var(--color_border);
}
.form-thanks-wrap .heading-wrap {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  margin-block-end: 0.2rem;
}
.form-thanks-wrap .heading-wrap svg {
  width: 20px;
}
.form-thanks-wrap h3, .form-thanks-wrap p {
  margin: 0;
}

.faqs-wrapper {
  display: grid;
  margin-block-end: var(--flow_content_spacer);
}
.faqs-wrapper .faq-article {
  display: grid;
  grid-template-columns: 1fr 44px;
  grid-template-rows: auto 0fr;
  column-gap: 22px;
  padding-block: 1.75rem;
  padding-inline: 20px;
  background-color: #FFF;
  border-block-end: 1px solid var(--border_color);
  transition: grid-template-rows 0.2s, background-color 0.2s;
}
.faqs-wrapper .faq-article:first-child {
  border-block-start: 1px solid var(--border_color);
}
.faqs-wrapper .faq-article:has(button:hover) .disclosure-heading, .faqs-wrapper .faq-article:has(:focus-visible) .disclosure-heading {
  color: var(--color_dark);
  text-underline-offset: var(--underline_offset);
}
.faqs-wrapper .faq-article:has([aria-expanded=true]) {
  grid-template-rows: auto 1fr;
}
.faqs-wrapper .faq-article:has([aria-expanded=true]) .toggle-marker {
  background-color: var(--color_dark);
}
.faqs-wrapper .faq-article:has([aria-expanded=true]) .toggle-marker svg {
  color: #FFF;
}
.faqs-wrapper .faq-article:has([aria-expanded=true]) .toggle-marker svg .hide-active {
  display: none;
}
.faqs-wrapper .faq-article:has([aria-expanded=true]) .toggle-marker:hover, .faqs-wrapper .faq-article:has([aria-expanded=true]) .toggle-marker:focus-visible {
  background-color: var(--color_dark);
}
.faqs-wrapper .toggle-marker {
  display: grid;
  place-content: center;
  width: 100%;
  color: var(--color_dark);
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--color_primary);
  transition: background-color 0.2s;
}
.faqs-wrapper .toggle-marker svg {
  width: 20px;
}
.faqs-wrapper .disclosure-heading {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  margin: 0;
}
.faqs-wrapper .disclosure-heading .question-toggle {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  text-align: left;
  font-weight: bold;
  cursor: pointer;
}
.faqs-wrapper .disclosure-heading .question-toggle span {
  margin-block-start: 0.25rem;
}
.faqs-wrapper .disclosure-heading:hover .question-toggle span, .faqs-wrapper .disclosure-heading:focus-visible .question-toggle span {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.faqs-wrapper .disclosure-heading:hover .toggle-marker, .faqs-wrapper .disclosure-heading:focus-visible .toggle-marker {
  background-color: var(--color_dark);
}
.faqs-wrapper .disclosure-heading:hover .toggle-marker svg, .faqs-wrapper .disclosure-heading:focus-visible .toggle-marker svg {
  color: #FFF;
}
.faqs-wrapper [data-disclosed] {
  grid-column: 1;
  margin: 0;
  overflow: hidden;
}
.faqs-wrapper [data-disclosed] :first-child {
  margin-block-start: 1.25rem;
}
.faqs-wrapper [data-disclosed] :last-child {
  margin-block-end: 0;
}
.faqs-wrapper [data-disclosed] p {
  font-size: var(--fs_m);
}
@media only screen and (max-width: 700px) {
  .faqs-wrapper [data-disclosed] {
    grid-column: 1/-1;
  }
}

.plugin-output.stats-wrap {
  margin-block-end: var(--flow_content_spacer);
}

.stats-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--spacer_m) clamp(20px, 12.5cqi, 6.6875rem);
  overflow: hidden;
}
.stats-wrap .stats-container {
  container-type: inline-size;
  container-name: stats;
  width: 100%;
}
.stats-wrap .stats-container .inner {
  border-block-start: 2px solid var(--color_primary);
  padding-block: 2rem 0.75rem;
}
.stats-wrap .stats-container p {
  margin: 0;
  font-weight: bold;
}
.stats-wrap .stats-container span {
  display: block;
  line-height: 1.375;
  font-weight: bold;
  margin: 0;
}
.stats-wrap .stats-container em {
  display: block;
  margin-block-end: 0;
  text-shadow: -1px -1px 0 var(--color_dark), 1px -1px 0 var(--color_dark), -1px 1px 0 var(--color_dark), 1px 1px 0 var(--color_dark);
  font-size: 5.25rem;
  font-family: var(--font_primary);
  font-style: normal;
  font-weight: bold;
  line-height: 1;
  color: #FFF;
}
@media only screen and (max-width: 37.5rem) {
  .stats-wrap {
    grid-template-columns: 1fr;
    gap: var(--spacer_xs);
  }
}

.callout-plugin {
  margin-block-end: var(--flow_content_spacer);
}

.callout-wrap {
  background-color: var(--color_secondary);
}
.callout-wrap:hover img, .callout-wrap:focus-within img {
  transform: scale(1.1);
}
.callout-wrap .callout-main {
  padding-block: 2.125rem 3.125rem;
  padding-inline: 38px;
}
.callout-wrap .callout-text {
  display: grid;
  align-items: start;
  grid-template-columns: 1fr auto;
  gap: 2rem;
}
.callout-wrap .callout-text .callout-heading {
  margin: 0;
  max-width: 560px;
  text-wrap: balance;
}
.callout-wrap .callout-pattern {
  height: 5rem;
  background-size: 33.3333%;
  background-size: 100%;
  background-image: url(/images/callout-pattern.svg);
  background-position: 0 100%;
  background-repeat: repeat-x;
  mix-blend-mode: multiply;
}
.callout-wrap .callout-img-wrap {
  overflow: hidden;
}
.callout-wrap .callout-img-wrap img {
  display: block;
  width: 100%;
  transition: transform 0.3s ease;
}
@container content-area (max-width: 43.75rem) {
  .callout-wrap .callout-text {
    grid-template-columns: 1fr;
    gap: var(--spacer_xs);
    justify-items: start;
  }
  .callout-wrap .callout-pattern {
    background-size: 835px;
  }
}
@container content-area (max-width: 31.25rem) {
  .callout-wrap .callout-main {
    padding-block: var(--spacer_xs) var(--spacer_s);
    padding-inline: 24px;
  }
  .callout-wrap .callout-pattern {
    height: 4rem;
    background-size: 600px;
  }
}

.resources-list {
  container-type: inline-size;
  container-name: resources-list;
  display: grid;
  gap: 20px;
  margin-block-end: var(--flow_content_spacer);
}
.resources-list .resource-article {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  align-items: center;
  gap: 1rem 26px;
  padding-block: 1.625rem;
  padding-inline: 30px;
  background-color: var(--color_light);
  transition: background-color 0.3s ease;
}
.resources-list .resource-article:focus-within, .resources-list .resource-article:has(a:hover) {
  background-color: var(--color_light_alt);
}
@container resources-list (max-width: 540px) {
  .resources-list .resource-article {
    grid-template-columns: 40px 1fr;
  }
  .resources-list .resource-article .resource-actions {
    grid-column: 1/-1;
  }
}
.resources-list .resource-heading, .resources-list .resource-desc {
  margin-block-end: 0;
}
.resources-list .resource-heading {
  font-family: var(--font_primary);
}
.resources-list .resource-actions {
  display: flex;
  gap: 20px;
  align-self: center;
}
.resources-list .button {
  margin: 0;
}
@container resources-list (max-width: 37.5rem) {
  .resources-list .resource-article {
    grid-template-columns: 28px 1fr;
    padding-block: var(--spacer_xs);
    align-items: start;
    padding-inline: 20px;
    gap: 15px;
  }
}

.event-plugin {
  display: grid;
  gap: 20px;
  margin-block-end: var(--flow_content_spacer);
}

.event-article {
  --bg_color: var(--color_light);
  container-name: event-article;
  container-type: inline-size;
  background-color: var(--bg_color);
  transition: background-color 0.3s ease;
}
.event-article:hover, .event-article:focus-within {
  --bg_color: var(--color_light_alt);
}
.event-article:hover .event-date-wrap .day-text, .event-article:focus-within .event-date-wrap .day-text {
  color: var(--color_dark);
}
.event-article:hover .event-img, .event-article:focus-within .event-img {
  transform: scale(1.1);
}
.event-article .article-layout {
  display: grid;
  grid-template-columns: auto 1fr;
}
.event-article .article-layout .img-wrap {
  position: relative;
  width: min(40cqi, 344px);
  max-width: 100cqi;
  overflow: hidden;
}
.event-article .article-layout .event-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition: transform 0.3s ease;
}
.event-article .article-layout .event-article-inner {
  padding-block: 2.25rem;
  padding-inline: 48px;
}
@container event-article (max-width: 37.5rem) {
  .event-article .article-layout {
    grid-template-columns: 1fr !important;
  }
  .event-article .article-layout .img-wrap {
    width: 100%;
  }
  .event-article .article-layout .img-wrap .event-img {
    position: static;
    width: 100%;
  }
}
@container event-article (max-width: 28.7rem) {
  .event-article .article-layout .event-article-inner {
    padding-block: var(--spacer_xs);
    padding-inline: 28px;
  }
}
@container event-article (max-width: 20rem) {
  .event-article .article-layout .event-date-wrap {
    flex-wrap: wrap;
    row-gap: 4px;
  }
}
.event-article .event-heading {
  max-width: 540px;
  margin-block-end: 0.3125rem;
  text-wrap: balance;
}
.event-article .event-intro {
  max-width: 430px;
  margin-block-end: 0.75rem;
  text-wrap: balance;
}
.event-article .event-date-wrap {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
}
.event-article .event-date-wrap .day-text {
  padding-block-start: 0.75rem;
  color: var(--bg_color);
  font-size: 3.875rem;
  font-weight: bold;
  line-height: 1;
  text-shadow: -1px -1px 0 var(--color_dark), 1px -1px 0 var(--color_dark), -1px 1px 0 var(--color_dark), 1px 1px 0 var(--color_dark);
  transition: color 0.3s ease;
}
.event-article .date-display-wrap span {
  display: block;
}

.no-events-wrapper {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 25px;
  padding-block: 2.5rem;
  padding-inline: 40px;
  background-color: var(--color_light);
}
.no-events-wrapper h3, .no-events-wrapper p {
  margin: 0;
}
.no-events-wrapper h3 {
  font-weight: bold;
}
.no-events-wrapper .icon-wrapper {
  display: grid;
  place-content: center;
  width: 48px;
  height: 48px;
  color: #FFF;
  border-radius: 8px;
  background-color: var(--color_secondary);
}
.no-events-wrapper .icon-wrapper svg {
  width: 21px;
}

.news-listing {
  display: grid;
  margin-block-end: var(--flow_content_spacer);
}

.news-article {
  display: grid;
  grid-template-columns: 1fr;
  border-block-end: 1px solid var(--border_color);
}
.news-article:first-child {
  border-block-start: 1px solid var(--border_color);
}
.news-article:hover .img-wrap .news-img, .news-article:focus-within .img-wrap .news-img {
  transform: scale(1.1);
}
.news-article > div {
  padding-block: 3.125rem;
}
.news-article p {
  margin: 0;
}
.news-article .news-article-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 2rem 60px;
}
.news-article .news-article-inner .news-img {
  max-width: 340px;
}
.news-article .news-info-wrap {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-block-end: 0.875rem;
}
.news-article .news-info-wrap span {
  font-size: 1.4rem;
  line-height: 1;
  align-self: center;
}
.news-article .news-heading {
  max-width: 540px;
  text-wrap: balance;
}
.news-article .news-date {
  font-size: 13px;
  font-weight: bold;
}
.news-article .img-wrap {
  position: relative;
  overflow: hidden;
}
.news-article .img-wrap .news-img {
  display: block;
  transition: transform 0.3s ease;
}
@container content-area (max-width: 43.75rem) {
  .news-article .news-article-inner {
    grid-template-columns: 1fr !important;
    gap: var(--spacer_xs);
    padding-block: var(--spacer_s);
  }
  .news-article .img-wrap {
    order: -1;
    width: 100%;
  }
  .news-article .img-wrap .news-img {
    width: 100%;
    max-width: 100%;
  }
}

.gallery-wrapper {
  container-name: gallery;
  container-type: inline-size;
  margin-block-end: var(--flow_content_spacer);
}
.gallery-wrapper .slides-wrapper {
  position: relative;
  width: 100cqi;
}
.gallery-wrapper .gallery-slides {
  display: flex;
  gap: 20px;
  align-items: start;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  padding-inline-end: 100cqi;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  grid-row: 1;
  grid-column: 1/-1;
}
.gallery-wrapper .gallery-slide {
  flex: 1 0 auto;
  position: relative;
  scroll-snap-align: start;
  display: grid;
  align-items: center;
  align-self: stretch;
  place-content: center;
  overflow: hidden;
  background-color: var(--color_light);
}
.gallery-wrapper .gallery-slide img {
  display: block;
}
.gallery-wrapper .gallery-slide:not(.active) {
  opacity: 0.5;
}
@media only screen and (max-width: 525px) {
  .gallery-wrapper .gallery-slide {
    max-width: 100cqi;
  }
}
.gallery-wrapper .gallery-controls {
  display: flex;
  gap: 10px;
}
.gallery-wrapper .gallery-controls [data-prev] {
  rotate: 180deg;
}
.gallery-wrapper .gallery-controls .circle-button svg {
  color: #FFF;
  width: 14px;
}
.gallery-wrapper .gallery-controls .circle-button:focus-visible, .gallery-wrapper .gallery-controls .circle-button:hover {
  transform: scale(1.1);
}
.gallery-wrapper .gallery-end {
  display: grid;
  grid-template-columns: 1fr 125px 40px;
  gap: 20px;
}
.gallery-wrapper .gallery-end .gallery-controls {
  margin-block-start: 0.6rem;
  grid-column: 2/3;
}
.gallery-wrapper .gallery-end .gallery-counter {
  margin-block-start: 0.25rem;
  font-weight: bold;
}
.gallery-wrapper .gallery-end .gallery-captions {
  margin-block-start: 0.6rem;
}
.gallery-wrapper .gallery-end .gallery-captions p {
  margin: 0;
  min-height: 2lh;
}
.gallery-wrapper .gallery-end .gallery-captions p:not(:first-child) {
  display: none;
}
@container gallery (max-width: 43.75rem) {
  .gallery-wrapper .gallery-end {
    grid-template-columns: 1fr auto;
  }
}

/* --- Callout Plugin --- */
.lucy-callout {
  overflow: hidden;
  display: block;
  margin-bottom: var(--spacer_2xs);
  border-radius: var(--border_radius);
  background-color: var(--color_secondary);
  text-decoration: none !important;
  container-type: inline-size;
  container-name: lucy-callout;
}
.lucy-callout .callout-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  box-sizing: border-box;
  text-align: center;
}
.lucy-callout .callout-content p {
  margin: 0;
}
.lucy-callout .callout-content p.display-s {
  color: #0268AC;
}
.lucy-callout .callout-content .button {
  margin-top: 1rem;
}
@container lucy-callout (min-width: 1000px) {
  .callout-content .button {
    height: var(--button_cta_height);
    padding: 0 2.5rem;
    border-radius: calc(var(--button_cta_height) / 2);
  }
}
@container lucy-callout (max-width: 1000px) {
  .callout-content {
    padding: 3rem 4rem;
  }
  .callout-content .button {
    height: var(--button_cta_height);
    padding: 0 2.5rem;
    border-radius: calc(var(--button_cta_height) / 2);
  }
}
@container lucy-callout (max-width: 700px) {
  .callout-content {
    padding: 2rem;
  }
  .callout-content .button {
    height: var(--button_height);
    padding: 0 2rem;
    border-radius: calc(var(--button_height) / 2);
  }
}
@container lucy-callout (max-width: 300px) {
  .callout-content {
    padding: 1rem;
  }
  .callout-content .button {
    height: var(--button_height);
    padding: 0 1.5rem;
    border-radius: calc(var(--button_height) / 2);
  }
}
/* --- FAQs Plugin --- */
.lucy-faqs {
  container-type: inline-size;
  container-name: lucy-faqs;
}
.lucy-faqs .question {
  position: relative;
  margin-bottom: var(--spacer_2xs);
  border: 1px solid var(--border_color);
  border-radius: var(--border_radius);
}
.lucy-faqs .question .top {
  display: flex;
  align-items: center;
  min-height: var(--spacer_m);
  cursor: pointer;
}
.lucy-faqs .question .top .expand {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: var(--spacer_2xs);
  left: var(--spacer_2xs);
  border-radius: 50%;
  background-color: var(--color_light);
  cursor: pointer;
  transition: all 0.3s ease;
}
.lucy-faqs .question .top .expand .icon {
  position: relative;
  width: var(--spacer_2xs);
  height: var(--spacer_2xs);
  border: 2px solid var(--color_dark);
  border-radius: 50%;
  transition: all 0.3s ease;
}
.lucy-faqs .question .top .expand .icon:before, .lucy-faqs .question .top .expand .icon:after {
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: var(--color_dark);
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
  content: "";
}
.lucy-faqs .question .top .expand .icon:before {
  width: 60%;
  height: 2px;
}
.lucy-faqs .question .top .expand .icon:after {
  width: 2px;
  height: 60%;
}
@media (pointer: fine) {
  .lucy-faqs .question .top:hover .expand {
    background-color: var(--color_primary);
  }
  .lucy-faqs .question .top:hover .expand .icon {
    border-color: #FFF;
  }
  .lucy-faqs .question .top:hover .expand .icon:before, .lucy-faqs .question .top:hover .expand .icon:after {
    background-color: #FFF;
  }
}
.lucy-faqs .question .bottom {
  display: none;
  margin: var(--spacer_2xs) 0 0.5rem 0;
}
.lucy-faqs .question.open .top .expand .icon:after {
  height: 0;
}
.lucy-faqs .question.open .bottom {
  display: block;
}

@container lucy-faqs (min-width: 1000px) {
  .question {
    padding: var(--spacer_2xs) var(--spacer_l) var(--spacer_2xs) calc(var(--spacer_m) + var(--spacer_2xs) * 2);
  }
  .question .expand {
    width: var(--spacer_m);
    height: var(--spacer_m);
  }
}
@container lucy-faqs (max-width: 1000px) {
  .question {
    padding: var(--spacer_2xs) var(--spacer_l) var(--spacer_2xs) calc(var(--spacer_m) + var(--spacer_2xs) * 2);
  }
  .question .expand {
    width: var(--spacer_m);
    height: var(--spacer_m);
  }
}
@container lucy-faqs (max-width: 700px) {}
/* --- Facts Plugin --- */
.lucy-facts {
  container-type: inline-size;
  container-name: lucy-facts;
}
.lucy-facts .fact-grid {
  display: grid;
  margin: var(--spacer_2xs) 0;
}
.lucy-facts .fact-grid .fact {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-left: var(--spacer_2xs);
  border-left: 1px solid var(--border_color);
  opacity: 0;
  transform: translate(0, var(--spacer_xs));
  transition: all 0.3s ease;
}
.lucy-facts .fact-grid .fact.show {
  opacity: 1;
  transform: translate(0, 0);
}
.lucy-facts .fact-grid .fact > * {
  margin: 0;
}

@container lucy-facts (min-width: 1000px) {
  .fact-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacer_m);
  }
}
@container lucy-facts (max-width: 1000px) {
  .fact-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacer_m);
  }
}
@container lucy-facts (max-width: 700px) {}
/* --- TOC Pages Plugin --- */
.lucy-toc {
  margin-bottom: var(--spacer_2xs);
  container-type: inline-size;
  container-name: lucy-toc;
}
.lucy-toc .page {
  display: flex;
  gap: var(--spacer_xs);
  padding: var(--spacer_2xs) 0;
}
.lucy-toc .page .image {
  flex: 0 0 30%;
}
.lucy-toc .page .image img {
  display: block;
  border-radius: var(--border_radius);
  aspect-ratio: 3/2;
}
.lucy-toc .page .content {
  flex: 1 1 auto;
}
.lucy-toc .page:last-of-type {
  padding-bottom: 0;
}

@container lucy-toc (min-width: 1000px) {
  .page {
    align-items: center;
  }
  .page .image {
    flex-basis: 33.3333333333%;
  }
  .page .content {
    flex-basis: 50%;
  }
}
@container lucy-toc (max-width: 1000px) {
  .page {
    align-items: center;
  }
  .page .image {
    flex-basis: 33.3333333333%;
  }
  .page .content {
    flex-basis: 50%;
  }
}
@container lucy-toc (max-width: 700px) {}
/* --- Resources Plugin --- */
.lucy-resources {
  margin-bottom: var(--spacer_2xs);
  container-type: inline-size;
  container-name: lucy-resources;
}
.lucy-resources .resource-item {
  position: relative;
  margin-bottom: var(--spacer_2xs);
  padding: var(--spacer_xs);
  border: 1px solid var(--border_color);
  box-sizing: border-box;
  border-radius: var(--border_radius);
}
.lucy-resources .resource-item:last-child {
  margin-bottom: 0;
}
.lucy-resources .resource-item .top {
  display: grid;
  grid-template-columns: 40px 5fr 5fr;
  gap: var(--spacer_2xs);
}
.lucy-resources .resource-item .top .info {
  gap: 0.25rem;
}
.lucy-resources .resource-item .top .info > * {
  margin-bottom: 0;
}
.lucy-resources .resource-item .top .media-type svg path {
  fill: var(--color_primary);
}
.lucy-resources .resource-item .top .media-type, .lucy-resources .resource-item .top .info {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.lucy-resources .resource-item .top .buttons {
  display: flex;
  align-items: center;
  gap: var(--spacer_2xs);
  margin-left: auto;
}
.lucy-resources .resource-item .top .buttons > * {
  margin-bottom: 0;
}
.lucy-resources .resource-item .desc {
  display: none;
  margin-top: var(--spacer_xs);
  margin-bottom: 0;
  padding-left: calc(40px + var(--spacer_2xs));
}
.lucy-resources .resource-item .desc :last-child {
  margin-bottom: 0 !important;
}
.lucy-resources .resource-item.open .desc {
  display: block;
}

@container lucy-resources (min-width: 700px) {}
@container lucy-resources (max-width: 700px) {
  .resource-item .top .info, .resource-item .top .buttons {
    grid-column: 2/-1;
  }
  .resource-item .top .buttons {
    width: 100%;
  }
}
/* --- Gallery Plugin --- */
@layer lucy-utilities {
  .lucy-slideshow {
    margin-bottom: var(--spacer_2xs);
    container-type: inline-size;
    container-name: lucy-slideshow;
  }
  .lucy-slideshow .images {
    overflow: hidden;
    position: relative;
    aspect-ratio: 16/9;
  }
  .lucy-slideshow .images .slider {
    display: flex;
    align-items: center;
    height: 100%;
    transition: transform 0.5s ease;
  }
  .lucy-slideshow .images .slider img {
    display: block;
    position: relative;
    max-width: 100%;
    max-height: 98%;
    margin-bottom: 0 !important;
    border-radius: var(--border_radius);
  }
  .lucy-slideshow .images .slider .image {
    margin-right: var(--spacer_2xs);
  }
  .lucy-slideshow .images .slider .video {
    align-self: normal;
    aspect-ratio: 16/9;
  }
  .lucy-slideshow .images .slider :last-child {
    margin-right: 0;
  }
  .lucy-slideshow nav {
    display: flex;
    gap: var(--spacer_2xs);
    width: 100%;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: var(--spacer_2xs);
    user-select: none;
  }
  .lucy-slideshow nav p {
    margin-right: var(--spacer_xs);
    margin-bottom: 0;
    padding-right: var(--spacer_s);
    font-size: 0.8rem;
  }
  .lucy-slideshow nav .controls {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 0.5rem;
  }
  .lucy-slideshow nav .controls a:any-link {
    position: relative;
    display: flex;
    flex: 0 0 auto;
    justify-content: center;
    align-items: center;
    width: 2.889rem;
    height: 2.889rem;
    background-color: var(--color_light);
    cursor: pointer;
    border-radius: 50%;
    transition: background-color 0.3s ease;
  }
  .lucy-slideshow nav .controls a:any-link .icon {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: var(--spacer_2xs);
    height: var(--spacer_2xs);
    border: 2px solid var(--color_dark);
    border-radius: 50%;
  }
  .lucy-slideshow nav .controls a:any-link .icon svg {
    width: 70%;
  }
  .lucy-slideshow nav .controls a:any-link .icon svg path {
    fill: var(--color_dark);
  }
  .lucy-slideshow nav .controls a:any-link:hover, .lucy-slideshow nav .controls a:any-link:focus-visible {
    background-color: var(--color_primary);
  }
  .lucy-slideshow nav .controls a:any-link:hover .icon, .lucy-slideshow nav .controls a:any-link:focus-visible .icon {
    border-color: #FFF;
  }
  .lucy-slideshow nav .controls a:any-link:hover .icon svg path, .lucy-slideshow nav .controls a:any-link:focus-visible .icon svg path {
    fill: #FFF;
  }
  .lucy-slideshow nav .controls .previous {
    margin-left: auto;
  }
  .lucy-slideshow nav .controls .count {
    display: none;
  }
}
/* --- PageBuilder Slice Layout Styles --- */
.lucy-layout [data-bucket] .lucy-spacer {
  position: relative;
  font-size: 0;
}
.lucy-layout [data-bucket] .lucy-spacer.separate-full {
  margin: calc(var(--spacer_2xs) * 2) 0;
}
.lucy-layout [data-bucket] .lucy-spacer.half {
  margin: var(--spacer_2xs) 0;
}
.lucy-layout [data-bucket] .lucy-spacer[class*=separate-]:before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--border_color);
  transform: translate(0, -50%);
  content: "";
}

.content-area, [data-zone] {
  container-name: content-area;
  container-type: inline-size;
}

[data-bucket] {
  display: grid;
  width: 100%;
  gap: var(--grid_gutter);
}
[data-bucket][data-alignment=middle] {
  align-items: center;
}
[data-bucket][data-alignment=bottom] {
  align-items: end;
}
[data-bucket][data-spacing=none] {
  gap: 0;
}
[data-bucket][data-spacing=small] {
  gap: calc(var(--grid_gutter) * 0.5);
}
[data-bucket][data-spacing=extra] {
  gap: calc(var(--spacer_m) * 0.5);
}
[data-bucket] .lucy-spacer {
  position: relative;
  font-size: 0;
}
[data-bucket] .lucy-spacer.full {
  margin: calc(var(--spacer_l) * 0.5) 0;
}
[data-bucket] .lucy-spacer.half {
  margin: calc(var(--spacer_l) * 0.25) 0;
}
[data-bucket] .lucy-spacer[class*=separate-]:before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--border_color);
  content: "";
}
[data-bucket] .lucy-spacer[class*=separate-].separate-full {
  margin: var(--spacer_l) 0;
}
[data-bucket] .lucy-spacer[class*=separate-].separate-half {
  margin: calc(var(--spacer_l) * 0.5) 0;
}

[data-bucket="1-column"] {
  grid-template-columns: 1fr;
}

[data-bucket="2-column"] {
  grid-template-columns: repeat(2, 1fr);
}

[data-bucket="3-column"] {
  grid-template-columns: repeat(3, 1fr);
}

[data-bucket="4-column"] {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr) minmax(200px, 1fr));
}

[data-bucket="70-30"] {
  grid-template-columns: 7fr 3fr;
}

[data-bucket="30-70"] {
  grid-template-columns: 3fr 7fr;
}

@media only screen and (max-width: 33.75rem) {
  [data-bucket] {
    gap: 0;
    grid-template-columns: 1fr;
  }
}
/* --- In-Lucy PageBuilder Layout --- */
#lucy-page-template-inner #lucy-content {
  margin: 0;
  padding: 30px;
  border-radius: unset;
  overflow: unset;
  background-color: unset;
}
#lucy-page-template-inner #lucy-content .plugin {
  margin-bottom: 1rem;
}
#lucy-page-template-inner #lucy-content h2, #lucy-page-template-inner #lucy-content h3, #lucy-page-template-inner #lucy-content h4 {
  margin-bottom: var(--spacer_2xs) !important;
}
#lucy-page-template-inner #lucy-content .lucy-spacer {
  margin: 0 !important;
  min-height: var(--spacer_s);
  background-color: rgba(0, 0, 0, 0.03);
}
#lucy-page-template-inner #lucy-content .lucy-spacer.separate-full {
  padding: var(--spacer_2xs) 0;
}
#lucy-page-template-inner #lucy-content .lucy-spacer.half {
  padding: var(--spacer_2xs) 0;
}
#lucy-page-template-inner #lucy-content .plugin.filled[data-type=spacer]:hover .lucy-spacer:before {
  opacity: 0.3;
}
#lucy-page-template-inner #lucy-content .plugin.filled[data-type=spacer]:hover .lucy-spacer:after {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  font-size: 1rem;
  text-align: center;
  font-family: "Roboto", sans-serif;
  color: #AAA;
  content: "Spacer";
  transform: translate(0, -50%);
}

@layer lucy-core {
  :where(#lucy-content, #lucy-page, .lucy-content) a {
    color: inherit;
    text-decoration: none;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) a:hover {
    text-decoration: underline;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) p, :where(#lucy-content, #lucy-page, .lucy-content) ul, :where(#lucy-content, #lucy-page, .lucy-content) ol, :where(#lucy-content, #lucy-page, .lucy-content) dl, :where(#lucy-content, #lucy-page, .lucy-content) .display-m {
    font-size: var(--fs_m);
    font-weight: normal;
    line-height: 1.66;
    letter-spacing: 0;
    word-break: break-word;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) ul, :where(#lucy-content, #lucy-page, .lucy-content) ol {
    padding-inline-start: 1.5rem;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) ul li::marker {
    color: var(--color_primary);
  }
  :where(#lucy-content, #lucy-page, .lucy-content) address {
    font-style: normal;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) p, :where(#lucy-content, #lucy-page, .lucy-content) blockquote, :where(#lucy-content, #lucy-page, .lucy-content) ul, :where(#lucy-content, #lucy-page, .lucy-content) ol, :where(#lucy-content, #lucy-page, .lucy-content) .page-image {
    margin-bottom: var(--flow_content_spacer);
  }
  :where(#lucy-content, #lucy-page, .lucy-content) blockquote {
    display: grid;
    grid-template-columns: 5px 1fr;
    gap: 30px;
    color: var(--color_darker);
    font-family: var(--font_primary);
    font-size: var(--fs_xl);
    font-weight: bold;
    line-height: 1.58;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) blockquote::before {
    width: 100%;
    height: calc(100% - 0.15em);
    background-color: var(--color_primary);
    border-radius: 32px;
    content: "";
  }
  :where(#lucy-content, #lucy-page, .lucy-content) .intro, :where(#lucy-content, #lucy-page, .lucy-content) .display-xl {
    font-family: var(--font_primary);
    font-size: var(--fs_xl);
    font-weight: normal;
    line-height: 1.58;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) .body-small, :where(#lucy-content, #lucy-page, .lucy-content) .display-s {
    font-size: var(--fs_s);
    letter-spacing: 0;
    line-height: 1.625;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) .sub-header {
    margin-bottom: var(--spacer_xs);
    font-size: var(--fs_2xs);
    font-weight: bold;
    line-height: 2;
    letter-spacing: 0.1816em;
    text-transform: uppercase;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) .caption, :where(#lucy-content, #lucy-page, .lucy-content) .photo-caption, :where(#lucy-content, #lucy-page, .lucy-content) .display-xs {
    font-size: var(--fs_xs);
    letter-spacing: 0.0153em;
    line-height: 1.692;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) h1.center, :where(#lucy-content, #lucy-page, .lucy-content) h2.center, :where(#lucy-content, #lucy-page, .lucy-content) h3.center, :where(#lucy-content, #lucy-page, .lucy-content) h4.center, :where(#lucy-content, #lucy-page, .lucy-content) h5.center, :where(#lucy-content, #lucy-page, .lucy-content) h6.center, :where(#lucy-content, #lucy-page, .lucy-content) p.center {
    text-align: center;
    max-width: unset;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) h1, :where(#lucy-content, #lucy-page, .lucy-content) h2, :where(#lucy-content, #lucy-page, .lucy-content) h3, :where(#lucy-content, #lucy-page, .lucy-content) h4, :where(#lucy-content, #lucy-page, .lucy-content) h5, :where(#lucy-content, #lucy-page, .lucy-content) h6,
  :where(#lucy-content, #lucy-page, .lucy-content) .display-5xl, :where(#lucy-content, #lucy-page, .lucy-content) .display-4xl, :where(#lucy-content, #lucy-page, .lucy-content) .display-3xl, :where(#lucy-content, #lucy-page, .lucy-content) .display-2xl, :where(#lucy-content, #lucy-page, .lucy-content) .display-l {
    margin-bottom: var(--spacer_xs);
    font-family: var(--font_primary);
    font-weight: 800;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) h1, :where(#lucy-content, #lucy-page, .lucy-content) .display-5xl {
    font-size: var(--fs_5xl);
    line-height: 0.88;
    letter-spacing: -0.0078em;
  }
  @media only screen and (max-width: 525px) {
    :where(#lucy-content, #lucy-page, .lucy-content) h1, :where(#lucy-content, #lucy-page, .lucy-content) .display-5xl {
      line-height: 1;
    }
  }
  :where(#lucy-content, #lucy-page, .lucy-content) h2, :where(#lucy-content, #lucy-page, .lucy-content) .display-4xl {
    font-size: var(--fs_4xl);
    line-height: 1.115;
    letter-spacing: -0.0096em;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) h3, :where(#lucy-content, #lucy-page, .lucy-content) .display-3xl {
    font-size: var(--fs_3xl);
    line-height: 1.277;
    letter-spacing: -0.0138em;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) h4, :where(#lucy-content, #lucy-page, .lucy-content) .display-2xl {
    font-size: var(--fs_2xl);
    line-height: 1.357;
    letter-spacing: 0;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) h5, :where(#lucy-content, #lucy-page, .lucy-content) .display-l {
    font-size: var(--fs_l);
    line-height: 1.2727;
    letter-spacing: 0;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) .editor-content a:not(.button) {
    color: var(--color_secondary_alt);
    font-weight: bold;
    text-decoration: underline;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) .editor-content a:not(.button):hover, :where(#lucy-content, #lucy-page, .lucy-content) .editor-content a:not(.button):focus-visible {
    color: var(--color_secondary);
    text-decoration: none;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) .editor-content ul, :where(#lucy-content, #lucy-page, .lucy-content) .editor-content ol {
    padding-inline-start: 1.5rem;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) .editor-content ol li, :where(#lucy-content, #lucy-page, .lucy-content) .editor-content ul li {
    margin-block-end: 0.5rem;
    text-indent: 0.33em;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) .editor-content .button {
    margin-block-end: 10px;
  }
}
/* --- Buttons and Links --- */
@layer lucy-core {
  :where(button) {
    font: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
    color: inherit;
    background-color: transparent;
    cursor: pointer;
  }
  @keyframes move-button {
    0% {
      background-position: 50% 50%;
    }
    50% {
      background-position: 68% 50%;
    }
    100% {
      background-position: 50% 50%;
    }
  }
  .button {
    --inline_space: 27px;
    --color_button_bg: var(--color_primary);
    --color_button_bg_hover: var(--color_dark);
    --color_button_circle: #FFF;
    --button_circle_size: 30px;
    --button_icon_size: 12px;
    display: inline-grid;
    grid-template-columns: 1fr auto;
    justify-content: center;
    align-items: center;
    gap: calc(var(--inline_space) - 7px);
    padding-block: 7px;
    padding-inline: var(--inline_space) 7px;
    border-radius: 32px;
    background-color: var(--color_button_bg);
    font-size: var(--fs_2xs);
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none !important;
    line-height: 1.5;
    letter-spacing: 0.1783em;
    color: var(--color_dark);
    transition: background-color 0.3s ease, color 0.3s ease;
  }
  .button::after {
    content: "";
    display: block;
    width: var(--button_circle_size);
    height: var(--button_circle_size);
    border-radius: 50%;
    background-color: var(--color_button_circle);
    transition: transform 0.3s ease;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMSAxNyI+CiAgPGcgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi41IiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgICA8cGF0aCBkPSJtMTMgMiA2LjcgNi43TTEzIDE1LjRsNi43LTYuN00xLjQgOC44aDE1LjgiLz4KICA8L2c+Cjwvc3ZnPg==");
    background-size: var(--button_icon_size);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    transition: background-color 0.3s ease;
  }
  .button:has(.circle-button)::after {
    content: none;
  }
  .button span {
    display: block;
    text-box-trim: trim-both;
    text-box-edge: text alphabetic;
  }
  .button.cta {
    --inline_space: 23px;
    --button_circle_size: 48px;
    --button_icon_size: 15px;
    padding-block: 8px 4px;
    padding-inline: var(--inline_space) 6px;
    font-size: 14px;
  }
  .button.cta::after, .button.cta .circle-button {
    translate: 0 -2px;
  }
  .button.white {
    --color_button_bg: #FFF;
    --color_button_bg_hover: var(--color_dark);
    --color_button_circle: var(--color_primary);
  }
  .button.white:is(:hover, :focus-visible):not(.disabled, [disabled]), .block-link:is(:hover, :focus-visible) .button.white:not(.disabled, [disabled]) {
    --color_button_circle: #FFF;
  }
  .button.back-button {
    padding-inline: 7px var(--inline_space);
  }
  .button.back-button::after {
    order: -1;
    transform: rotate(180deg);
  }
  .button.alt {
    --color_button_bg: var(--color_light);
  }
  .button.hover-white {
    --color_button_bg_hover: #FFF;
  }
  .button.hover-white:hover, .button.hover-white:focus-visible {
    --color_button_circle: var(--color_primary);
    color: var(--color_dark) !important;
  }
  .button.hover-primary {
    --color_button_bg_hover: var(--color_primary);
  }
  .button.hover-primary:hover, .button.hover-primary:focus-visible {
    --color_button_circle: #FFF;
    color: var(--color_dark) !important;
  }
  .button.disabled, .button[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
  }
  .button:is(:hover, :focus-visible):not(.disabled, [disabled]), .block-link:is(:hover, :focus-visible) .button:not(.disabled, [disabled]) {
    color: #FFF;
    background-color: var(--color_button_bg_hover);
  }
  .button:is(:hover, :focus-visible):not(.disabled, [disabled])::after, .block-link:is(:hover, :focus-visible) .button:not(.disabled, [disabled])::after {
    animation: move-button 0.6s cubic-bezier(0.075, 0.82, 0.165, 1);
  }
  .button-link {
    display: flex;
    align-items: center;
    gap: 18px;
    font-size: 14px;
    font-family: var(--font_primary);
    font-weight: bold;
    text-transform: uppercase;
    line-height: 1.5;
    letter-spacing: 0.1783em;
    color: var(--color_dark);
  }
  .button-link .button-link-text {
    border-block: 2px solid transparent;
  }
  .button-link .button-link-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: var(--color_dark);
    background-color: var(--color_primary);
    transition: background-color 0.3s ease, color 0.3s ease;
  }
  .button-link .button-link-button svg {
    width: 12px;
  }
  .button-link:is(:hover, :focus-visible):not(.disabled, [disabled]) .button-link-text, .block-link:is(:hover, :focus-visible) .button-link:not(.disabled, [disabled]) .button-link-text {
    border-block-end: 2px solid var(--color_primary);
  }
  .button-link:is(:hover, :focus-visible):not(.disabled, [disabled]) .button-link-button, .block-link:is(:hover, :focus-visible) .button-link:not(.disabled, [disabled]) .button-link-button {
    color: #FFF;
    background-color: var(--color_dark);
  }
  .circle-button {
    --size: 46px;
    --icon_size: 18px;
    display: grid;
    place-content: center;
    width: var(--size);
    height: var(--size);
    color: #FFF;
    border-radius: 50%;
    background-color: var(--color_dark);
    transition: transform 0.3s ease, background-color 0.3s ease;
  }
  .circle-button:hover, .circle-button:focus-visible {
    background-color: var(--color_dark_lighter);
    color: #FFF;
  }
  .circle-button.primary {
    color: var(--color_text);
    background-color: var(--color_primary);
  }
  .circle-button.white {
    color: var(--color_text);
    background-color: #FFF;
  }
  .circle-button.white:hover, .circle-button.white:focus-visible {
    background-color: var(--color_light);
  }
  .circle-button.flip svg {
    transform: rotate(180deg);
  }
  .circle-button svg {
    width: var(--icon_size);
  }
  .secondary-font-underline {
    text-decoration-thickness: 0.05em !important;
    text-underline-offset: 0.15em !important;
  }
  .hover-border-underline {
    position: relative;
    text-decoration: none !important;
  }
  .hover-border-underline:hover::after, .hover-border-underline:focus-visible::after {
    content: "";
    position: absolute;
    bottom: -2px;
    display: block;
    width: 100%;
    height: max(2px, 0.05em);
    background-color: currentColor;
    border-radius: 16px;
  }
}
/* --- Form + Label Styles --- */
@layer lucy-forms {
  :where(#lucy-content, .lucy-content, #lucy-page) .lucy-form {
    margin-bottom: var(--spacer_xs);
    container-type: inline-size;
    container-name: lucy-form;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) .custom-form {
    box-sizing: border-box;
    border: 1px solid var(--border_color);
    border-radius: var(--border_radius);
  }
  :where(#lucy-content, .lucy-content, #lucy-page) .custom-form h3, :where(#lucy-content, .lucy-content, #lucy-page) .custom-form p.body-small {
    margin-bottom: 0;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) .focus-alt :is(input, select, textarea) {
    --focus_color: var(--color_dark) !important;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input:not([type=radio], [type=checkbox], [type=hidden], select, textarea)[required][data-interacted]:invalid {
    color: var(--color_error);
    border-color: currentcolor;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input:not([type=radio], [type=checkbox], [type=hidden], select, textarea)[required][data-interacted]:invalid::placeholder {
    color: var(--color_error);
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input:not([type=radio], [type=checkbox], [type=hidden], select, textarea)[required][data-interacted]:invalid + label {
    color: var(--color_error);
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input:not([type=radio], [type=checkbox], [type=hidden], select, textarea)[required]:not(:placeholder-shown):not(:focus):invalid + label:after, :where(#lucy-content, .lucy-content, #lucy-page) input:not([type=radio], [type=checkbox], [type=hidden], select, textarea)[required][data-interacted]:invalid + label:after {
    font-size: clamp(14px, 0.778rem, 0.778rem);
    font-weight: normal;
    letter-spacing: 0.009rem;
    line-height: 1.571;
    content: attr(data-error);
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=text],
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=email],
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=tel],
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=password],
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=number],
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=date],
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=datetime-local],
  :where(#lucy-content, .lucy-content, #lucy-page) select,
  :where(#lucy-content, .lucy-content, #lucy-page) textarea {
    --focus_color: var(--color_primary);
    width: 100%;
    font-size: var(--fs_m);
    font-family: var(--font_primary);
    font-weight: normal;
    border: 1px solid var(--border_color);
    background-color: #FFF;
    color: var(--color_text);
    border-radius: var(--input_border_radius);
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    transition: box-shadow 0.3s ease;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=text]:not(textarea),
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=email]:not(textarea),
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=tel]:not(textarea),
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=password]:not(textarea),
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=number]:not(textarea),
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=date]:not(textarea),
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=datetime-local]:not(textarea),
  :where(#lucy-content, .lucy-content, #lucy-page) select:not(textarea),
  :where(#lucy-content, .lucy-content, #lucy-page) textarea:not(textarea) {
    height: var(--input_height);
    padding: 0 1rem;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=text][required][data-interacted]:invalid,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=email][required][data-interacted]:invalid,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=tel][required][data-interacted]:invalid,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=password][required][data-interacted]:invalid,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=number][required][data-interacted]:invalid,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=date][required][data-interacted]:invalid,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=datetime-local][required][data-interacted]:invalid,
  :where(#lucy-content, .lucy-content, #lucy-page) select[required][data-interacted]:invalid,
  :where(#lucy-content, .lucy-content, #lucy-page) textarea[required][data-interacted]:invalid {
    color: var(--color_error);
    border-color: currentcolor;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=text][required][data-interacted]:invalid::placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=email][required][data-interacted]:invalid::placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=tel][required][data-interacted]:invalid::placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=password][required][data-interacted]:invalid::placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=number][required][data-interacted]:invalid::placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=date][required][data-interacted]:invalid::placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=datetime-local][required][data-interacted]:invalid::placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) select[required][data-interacted]:invalid::placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) textarea[required][data-interacted]:invalid::placeholder {
    color: var(--color_error);
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=text][required][data-interacted]:invalid + label,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=email][required][data-interacted]:invalid + label,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=tel][required][data-interacted]:invalid + label,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=password][required][data-interacted]:invalid + label,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=number][required][data-interacted]:invalid + label,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=date][required][data-interacted]:invalid + label,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=datetime-local][required][data-interacted]:invalid + label,
  :where(#lucy-content, .lucy-content, #lucy-page) select[required][data-interacted]:invalid + label,
  :where(#lucy-content, .lucy-content, #lucy-page) textarea[required][data-interacted]:invalid + label {
    color: var(--color_error);
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=text][required]:not(:placeholder-shown):not(:focus):invalid + label:after, :where(#lucy-content, .lucy-content, #lucy-page) input[type=text][required][data-interacted]:invalid + label:after,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=email][required]:not(:placeholder-shown):not(:focus):invalid + label:after,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=email][required][data-interacted]:invalid + label:after,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=tel][required]:not(:placeholder-shown):not(:focus):invalid + label:after,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=tel][required][data-interacted]:invalid + label:after,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=password][required]:not(:placeholder-shown):not(:focus):invalid + label:after,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=password][required][data-interacted]:invalid + label:after,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=number][required]:not(:placeholder-shown):not(:focus):invalid + label:after,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=number][required][data-interacted]:invalid + label:after,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=date][required]:not(:placeholder-shown):not(:focus):invalid + label:after,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=date][required][data-interacted]:invalid + label:after,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=datetime-local][required]:not(:placeholder-shown):not(:focus):invalid + label:after,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=datetime-local][required][data-interacted]:invalid + label:after,
  :where(#lucy-content, .lucy-content, #lucy-page) select[required]:not(:placeholder-shown):not(:focus):invalid + label:after,
  :where(#lucy-content, .lucy-content, #lucy-page) select[required][data-interacted]:invalid + label:after,
  :where(#lucy-content, .lucy-content, #lucy-page) textarea[required]:not(:placeholder-shown):not(:focus):invalid + label:after,
  :where(#lucy-content, .lucy-content, #lucy-page) textarea[required][data-interacted]:invalid + label:after {
    font-size: clamp(14px, 0.778rem, 0.778rem);
    font-weight: normal;
    letter-spacing: 0.009rem;
    line-height: 1.571;
    content: attr(data-error);
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=text]:focus,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=email]:focus,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=tel]:focus,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=password]:focus,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=number]:focus,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=date]:focus,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=datetime-local]:focus,
  :where(#lucy-content, .lucy-content, #lucy-page) select:focus,
  :where(#lucy-content, .lucy-content, #lucy-page) textarea:focus {
    outline: none;
    box-shadow: 0 0 0.2rem 0.1rem var(--focus_color);
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=text].error,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=email].error,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=tel].error,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=password].error,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=number].error,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=date].error,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=datetime-local].error,
  :where(#lucy-content, .lucy-content, #lucy-page) select.error,
  :where(#lucy-content, .lucy-content, #lucy-page) textarea.error {
    border-color: var(--color_error);
  }
  :where(#lucy-content, .lucy-content, #lucy-page) select {
    padding: 0 2rem 0 1rem;
    background-image: url(/images/icons/arrow-down.svg);
    background-repeat: no-repeat;
    background-position: calc(100% - 1rem) center;
    background-size: 0.6rem auto;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) select[required][data-interacted]:invalid {
    color: var(--color_error);
    border-color: currentcolor;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) select[required][data-interacted]:invalid + label {
    color: var(--color_error);
  }
  :where(#lucy-content, .lucy-content, #lucy-page) select[required][data-interacted]:invalid + label:after {
    letter-spacing: 0;
    content: attr(data-error);
  }
  :where(#lucy-content, .lucy-content, #lucy-page) textarea {
    height: calc(var(--input_height) * 2);
    padding: 1.4375rem 1rem;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=radio], :where(#lucy-content, .lucy-content, #lucy-page) input[type=checkbox] {
    flex: 0 0 auto;
    max-width: 1rem;
    max-height: 1rem;
    accent-color: var(--color_primary);
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input::placeholder, :where(#lucy-content, .lucy-content, #lucy-page) textarea::placeholder {
    color: var(--color_text);
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input:focus::placeholder, :where(#lucy-content, .lucy-content, #lucy-page) textarea:focus::placeholder {
    opacity: 0;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) label:not(.unstyled), :where(#lucy-content, .lucy-content, #lucy-page) .label {
    z-index: 2;
    display: block;
    margin-block-end: 0;
    font-size: var(--fs_2xs);
    font-weight: bold;
    letter-spacing: 0.1816em;
    text-transform: uppercase;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) ::placeholder {
    color: var(--color_text);
    opacity: 1;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) ::-ms-input-placeholder {
    color: var(--color_text);
  }
  @container lucy-form (min-width: 1000px) {
    .custom-form {
      padding: var(--spacer_m);
    }
  }
  @container lucy-form (max-width: 1000px) {
    .custom-form {
      padding: var(--spacer_m);
    }
  }
  @container lucy-form (min-width: 700px) {
    .custom-form {
      padding: var(--spacer_m);
    }
  }
}
.control {
  position: relative;
}

.field-wrap {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  gap: 0.5rem;
}
.field-wrap > * {
  margin-bottom: 0;
}
.field-wrap span.error {
  display: none;
}
.field-wrap [disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}
.field-wrap [disabled] + label {
  opacity: 0.5;
  pointer-events: none;
}

.field-wrap.separator {
  grid-column: auto/span 6 !important;
  margin: var(--grid_gutter) 0;
  border-top: 1px solid var(--border_color);
}

.field-wrap.select select, .field-wrap:has(select) select {
  position: relative;
  background-image: url(/images/icons/plus.svg);
  background-size: 1rem;
  background-position: calc(100% - 20px) 50%;
}

.field-wrap.date input[type=date]::-webkit-calendar-picker-indicator, .field-wrap.date input[type=datetime-local]::-webkit-calendar-picker-indicator {
  filter: var(--filter_primary);
}

.field-wrap.check, .field-wrap.radio {
  display: flex;
  gap: 0.5rem;
}
.field-wrap.check .check-group, .field-wrap.radio .check-group {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: var(--fs_m);
}
.field-wrap.check .check-group .option input, .field-wrap.radio .check-group .option input {
  display: inline;
  margin-inline-end: 0.5rem;
}
.field-wrap.check .check-group .option label, .field-wrap.radio .check-group .option label {
  display: inline;
  vertical-align: middle;
}

.field-wrap.search {
  position: relative;
}
.field-wrap.search .icon-search {
  position: absolute;
  top: 50%;
  left: var(--spacer_xs);
  transform: translate(0, -50%);
}
.field-wrap.search input {
  padding-left: var(--spacer_m);
}
.field-wrap.search #page-search-clear {
  position: absolute;
  top: 50%;
  right: 1rem;
  font-size: 0.667rem;
  line-height: 0;
  transform: translate(0, -50%);
}

.field-wrap label {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.field-wrap label.error {
  color: var(--color_error);
}

/* --- Form Grid Display --- */
form.grid, div.grid[id*=form], .form-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--grid_gutter);
}
form.grid .field-wrap, form.grid .field-wrap.half, div.grid[id*=form] .field-wrap, div.grid[id*=form] .field-wrap.half, .form-grid .field-wrap, .form-grid .field-wrap.half {
  grid-column: auto/span 3;
}
form.grid .field-wrap.third, div.grid[id*=form] .field-wrap.third, .form-grid .field-wrap.third {
  grid-column: auto/span 2;
}
form.grid .field-wrap.textarea, form.grid .field-wrap.check, form.grid .field-wrap.full, form.grid > *:not(.field-wrap), div.grid[id*=form] .field-wrap.textarea, div.grid[id*=form] .field-wrap.check, div.grid[id*=form] .field-wrap.full, div.grid[id*=form] > *:not(.field-wrap), .form-grid .field-wrap.textarea, .form-grid .field-wrap.check, .form-grid .field-wrap.full, .form-grid > *:not(.field-wrap) {
  grid-column: auto/span 6;
}
@container content-area (max-width: 37.5rem) {
  form.grid, div.grid[id*=form], .form-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  form.grid .field-wrap, form.grid > *:not(.field-wrap), div.grid[id*=form] .field-wrap, div.grid[id*=form] > *:not(.field-wrap), .form-grid .field-wrap, .form-grid > *:not(.field-wrap) {
    grid-column: 1/-1 !important;
  }
}

#recaptcha_widget_div {
  margin-bottom: 1rem;
}

/* --- Video Wrapper --- */
@layer lucy-utilities {
  .video-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16/9;
    overflow: hidden;
  }
  .video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}
body > header {
  display: contents;
}

.navbar {
  --navbar_text_color: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  height: var(--navbar_height);
  color: #FFF;
  background-color: transparent;
  transition: background-color 0.3s, transform 0.3s;
  border-block-end: 1px solid transparent;
}
.navbar.solid, .navbar:has(+ .shelf:not([inert])) {
  background-color: var(--color_dark);
}
.navbar.hide {
  transform: translateY(-100%);
}
.navbar .navbar-layout {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 40px;
  height: 175px;
  padding-block: 2.5rem;
  transition: opacity 1.25s ease, transform 1.25s ease;
}
.navbar .navbar-layout.home {
  opacity: 0;
  transform: translateY(-2rem);
}
@media only screen and (max-width: 73rem) {
  .navbar .navbar-layout {
    grid-template-columns: 1fr auto auto;
  }
}
.navbar .navbar-mobile {
  display: none;
}
.navbar .navbar-mobile .menu-button {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding-block: 0.5rem;
  padding-inline-start: 10px;
}
.navbar .navbar-mobile .menu-button .menu-text {
  line-height: 1;
}
.navbar .navbar-mobile .menu-button .button-bars {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
  gap: 3px;
  height: 10px;
}
.navbar .navbar-mobile .menu-button .bar {
  grid-column: 1;
  height: 2px;
  background-color: #FFF;
  transform-origin: center;
  transition: 0.2s;
}
.navbar .navbar-mobile .menu-button .bar-1 {
  width: 15px;
}
.navbar .navbar-mobile .menu-button .bar-2 {
  width: 10px;
}
.navbar .navbar-mobile .menu-button[aria-expanded=true] .button-bars {
  transform: translateY(-3px);
}
.navbar .navbar-mobile .menu-button[aria-expanded=true] .bar-1 {
  grid-row: 2;
  transform: rotate(45deg);
}
.navbar .navbar-mobile .menu-button[aria-expanded=true] .bar-2 {
  grid-row: 2;
  width: 15px;
  transform: rotate(-45deg);
}
.navbar .navbar-center ul {
  display: flex;
  align-items: center;
  gap: 40px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media only screen and (max-width: 73rem) {
  .navbar .navbar-center ul {
    font-size: var(--fs_m);
    gap: 30px;
  }
}
.navbar .navbar-center button:hover, .navbar .navbar-center button:focus-visible {
  text-decoration: underline;
}
.navbar .navbar-end {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 16px;
}
.navbar .navbar-end svg {
  display: block;
  width: 22px;
}
.navbar .navbar-end .circle-button {
  background-color: transparent;
}
.navbar .navbar-end .circle-button:hover, .navbar .navbar-end .circle-button:focus-visible {
  color: var(--color_dark);
  background-color: #FFF;
}
.navbar .navbar-logo {
  display: inline-block;
}
.navbar .navbar-logo svg {
  display: block;
  width: 256px;
}
.navbar .minor-banner {
  height: 60px;
  color: var(--color_text);
  background-color: var(--color_primary);
}
.navbar .minor-banner .container {
  height: 100%;
}
.navbar .minor-banner .minor-layout {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}
.navbar .minor-banner .minor-banner-award {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: var(--fs_xl);
  font-family: var(--font_secondary);
}
.navbar .minor-banner .minor-banner-award svg {
  width: 18px;
  color: #FFF;
}
@media only screen and (max-width: 61.25rem) {
  .navbar .minor-banner .minor-banner-award {
    font-size: var(--fs_l);
  }
}
.navbar .minor-banner .minor-banner-end .separator {
  width: 1px;
  height: 23px;
  background-color: #FFF;
}
.navbar .minor-banner .minor-banner-end ul {
  display: flex;
  align-items: center;
  gap: 27px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media only screen and (max-width: 61.25rem) {
  .navbar .minor-banner .minor-banner-end ul {
    gap: 20px;
  }
}
.navbar .minor-banner .minor-banner-end li {
  font-size: var(--fs_xs);
}
@media only screen and (max-width: 66.25rem) {
  .navbar .minor-banner .minor-banner-end li {
    font-size: var(--fs_xxs);
  }
}
@media only screen and (max-width: 920px) {
  .navbar .minor-banner {
    display: none;
  }
}
@media only screen and (max-width: 920px) {
  .navbar .navbar-layout {
    grid-template-columns: 170px auto;
    justify-content: space-between;
    height: auto;
    padding-block: 1.5rem;
  }
  .navbar .navbar-center, .navbar .navbar-end {
    display: none;
  }
  .navbar .navbar-mobile {
    display: block;
  }
}

.navbar-overlay {
  position: fixed;
  z-index: -1;
  inset: 0;
  background-color: #22181C;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}

.mobile-menu {
  position: fixed;
  z-index: 10;
  top: var(--navbar_height);
  left: 0;
  width: min(600px, 100%);
  height: calc(100dvh - var(--navbar_height));
  padding-block: var(--spacer_xs) var(--spacer_m);
  padding-inline: 28px;
  color: #FFF;
  background-color: var(--color_dark);
  opacity: 0;
  transition: 0.3s;
  overflow-y: scroll;
}
@media only screen and (max-width: 920px) {
  .mobile-menu:not([inert]) {
    opacity: 1;
  }
  .mobile-menu:not([inert]) ~ .mobile-menu-overlay {
    position: fixed;
    z-index: 9;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.7;
  }
}
.mobile-menu ul, .mobile-menu button {
  margin: 0;
  padding: 0;
  list-style: none;
}
.mobile-menu .mobile-main-nav {
  interpolate-size: allow-keywords;
  margin-block: var(--spacer_m);
}
.mobile-menu .mobile-main-nav button {
  display: flex;
  gap: 12px;
  align-items: center;
  text-align: left;
}
.mobile-menu .mobile-main-nav button:is(:hover, :focus-visible) {
  text-decoration: underline;
}
.mobile-menu .mobile-main-nav button[aria-expanded=true] {
  color: var(--color_primary);
}
.mobile-menu .mobile-main-nav button[aria-expanded=true] svg {
  transform: rotate(90deg);
}
.mobile-menu .mobile-main-nav svg {
  width: 1.375rem;
  color: var(--color_primary);
  transition: 0.3s ease;
}
.mobile-menu .mobile-main-nav > li:not(:last-child) {
  margin-block-end: 0.75em;
}
.mobile-menu .sub-nav {
  padding-inline-start: 30px;
  height: 0;
  opacity: 0;
  transition: height 0.3s ease, opacity 0.3s ease;
}
.mobile-menu .sub-nav:not([inert]) {
  margin-block: var(--spacer_xs);
  height: auto;
  opacity: 1;
}
.mobile-menu .sub-nav li {
  margin-block-end: 0.5rem;
}
.mobile-menu .mobile-sub-nav {
  margin-block: var(--spacer_m);
}
.mobile-menu .mobile-sub-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.mobile-menu .mobile-sub-nav li {
  margin-block-end: 0.75rem;
  font-size: var(--fs_xs);
}
.mobile-menu .mobile-search-field {
  position: relative;
}
.mobile-menu .mobile-search-field .circle-button {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

.shelf {
  position: fixed;
  z-index: 9;
  top: var(--navbar_height);
  left: 0;
  width: 100%;
  max-height: calc(90dvh - var(--navbar_height));
  color: #FFF;
  background-color: var(--color_dark);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
  transition: 0.3s ease;
  overflow-y: auto;
}
.shelf[inert] {
  opacity: 0;
  transform: translateY(-100%);
}
@media only screen and (max-width: 920px) {
  .shelf {
    display: none;
  }
}
.shelf .container {
  display: grid;
  grid-template-areas: "stack";
  grid-template-rows: 1fr;
  transition: grid-template-rows 0.3s ease;
}
.shelf .container > * {
  grid-area: stack;
}
.shelf .shelf-content {
  --transition_delay: 0s;
  padding-block: 3.125rem 6.75rem;
  grid-row: 1;
  height: calc-size(auto, size);
  transition: height 0.3s ease var(--transition_delay), opacity 0.3s ease;
  overflow: hidden;
}
.shelf .shelf-content[inert] {
  --transition_delay: .15s;
  opacity: 0;
  height: 0;
}
.shelf .shelf-content ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.shelf .shelf-content li {
  margin-block-end: 0.694em;
}
.shelf .shelf-content a:hover, .shelf .shelf-content a:focus-visible {
  color: var(--color_primary);
}
.shelf .search-shelf {
  padding-block-start: 0;
}
.shelf .search-shelf .search-container {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  padding-block-end: 1.5rem;
  border-block-end: 1px solid rgba(169, 179, 191, 0.5);
  transition: border 0.2s ease;
}
.shelf .search-shelf .search-container:focus-within {
  border-block-end: 2px solid var(--color_primary);
}
.shelf .search-shelf .search-container input {
  height: auto;
  padding-block: 0.5rem 0;
  padding-inline-start: 0;
  color: #FFF;
  font-size: var(--fs_3xl);
  border: none;
  background-color: transparent;
}
.shelf .search-shelf .search-container input::placeholder {
  color: #FFF;
}
.shelf .search-shelf .search-container input:focus {
  box-shadow: none;
}
.shelf .search-shelf .search-container .circle-button {
  --size: 60px;
  background-color: var(--color_primary);
}
.shelf .search-shelf .search-container .circle-button svg {
  color: var(--color_text);
}
.shelf .plan-shelf {
  display: grid;
  grid-template-columns: repeat(4, auto);
  gap: clamp(40px, 5dvw, 80px);
}
.shelf .plan-shelf .merge-col {
  display: contents;
}
@media only screen and (max-width: 79.4rem) {
  .shelf .plan-shelf {
    grid-template-columns: repeat(3, auto);
  }
  .shelf .plan-shelf .merge-col {
    display: block;
  }
  .shelf .plan-shelf .merge-col div:first-child {
    margin-block-end: var(--spacer_l);
  }
}
.shelf .our-story-shelf {
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: 80px;
}
.shelf .shelf-ctas {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.shelf .shelf-cta {
  display: grid;
  place-content: center;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.shelf .shelf-cta:hover img, .shelf .shelf-cta:focus-within img {
  transform: scale(1.1);
}
.shelf .shelf-cta a {
  z-index: 1;
  font-size: 4.625rem;
  font-family: var(--font_secondary);
}
.shelf .shelf-cta .img-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.shelf .shelf-cta .img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}
.shelf .shelf-cta .img-wrap img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition: transform 0.3s ease;
}

.page-header {
  position: relative;
  z-index: 0;
  padding-block-start: calc(var(--navbar_height));
  color: #FFF;
  text-align: center;
  background-color: var(--color_dark);
  background-position: center;
}
.page-header > .container {
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 42.5rem) {
  .page-header .trail-container {
    border-block: 1px solid rgba(255, 255, 255, 0.25);
  }
  .page-header .trail-container .page-header-top {
    border: none;
  }
}
.page-header .page-header-content {
  padding-block: 7.9375rem 10.875rem;
  padding-block: max(5rem, 6.8dvw) max(5rem, 9.2dvw);
}
.page-header h1 {
  margin: 0;
}
.page-header .bg-image-wrap {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  overflow: hidden;
}
.page-header .bg-image-wrap::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 25%);
  content: "";
}
.page-header .bg-image-wrap:has(.default-header)::before {
  background: none;
}
.page-header .page-header-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.page-header .eligibility-header-wrap {
  display: flex;
  gap: 10px;
  margin-block-start: 0.5rem;
  flex-wrap: wrap;
}
.page-header .eligibility-header-wrap p {
  margin: 0;
  font-weight: bold;
}
.page-header .eligibility-header-wrap ol {
  margin: 0;
}
.page-header .eligibility-header-wrap ol, .page-header .eligibility-header-wrap li {
  display: flex;
  gap: 5px 10px;
  align-items: center;
  flex-wrap: wrap;
  list-style: none;
}
.page-header .eligibility-header-wrap li span {
  font-size: 11px;
  line-height: 1;
}
.page-header .eligibility-header-wrap a {
  color: #D279AF;
}
.page-header .eligibility-header-wrap a:hover, .page-header .eligibility-header-wrap a:focus-visible {
  text-decoration: underline;
}
.page-header .apply-services-header-links {
  display: flex;
  gap: 10px;
  margin-block-start: 1.5rem;
}
.page-header .audience-subheader {
  font-size: 1.25rem;
  color: var(--theme_color, #FFF);
}
.page-header .header-tag-list {
  display: flex;
  gap: 10px;
  list-style: none;
  flex-wrap: wrap;
}
.page-header .header-tag {
  margin: 0;
  padding-block: 0.5rem;
  padding-inline: 16px;
  color: var(--color_text);
  font-size: 9px;
  font-weight: bold;
  border-radius: 20px;
  background-color: var(--theme_color);
}

.crumb-trail {
  display: flex;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
}
.crumb-trail .home-item a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.crumb-trail .home-icon svg {
  width: 13px;
  color: var(--color_primary);
}
.crumb-trail .separator {
  margin-inline-start: 1rem;
  color: var(--color_primary);
}
.crumb-trail a:hover, .crumb-trail a:focus-visible {
  text-decoration: underline;
}
@media only screen and (max-width: 42.5rem) {
  .crumb-trail {
    gap: 0px;
    font-size: 11px;
  }
  .crumb-trail .separator {
    margin-inline: 5px;
  }
  .crumb-trail li {
    display: flex;
    gap: 5px;
    align-items: center;
  }
  .crumb-trail .home-item {
    display: none;
  }
}

.page-header-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-block: 0.7rem;
  border-block: 1px solid rgba(255, 255, 255, 0.25);
  text-align: left;
}
.page-header-top .page-actions .share-page-button {
  display: flex;
  align-items: center;
  gap: 10px;
}
.page-header-top .page-actions .share-page-button:hover, .page-header-top .page-actions .share-page-button:focus-visible {
  text-decoration: underline;
}
.page-header-top .page-actions .share-page-button svg {
  width: 10px;
  color: var(--color_primary);
}
.page-header-top .page-actions .share-page-button .sub-header {
  margin: 0;
}
@media only screen and (max-width: 48.7rem) {
  .page-header-top .page-actions {
    display: none;
  }
}

.page-header-buttons {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  margin-block-start: var(--spacer_s);
  margin-inline: auto;
}
.page-header-buttons .hide-mobile {
  display: contents;
}
@media only screen and (max-width: 35rem) {
  .page-header-buttons .hide-mobile {
    display: none;
  }
}

.in-page-heading-wrapper {
  text-align: center;
  max-width: 980px;
  margin-inline: auto;
}
.in-page-heading-wrapper h1 {
  margin-block-end: 1.875rem;
}
.in-page-heading-wrapper :last-child {
  margin-block-end: 0;
}

body:has(> header > .navbar.hide) .sidebar-content {
  top: 4rem !important;
}
body:has(> header > .navbar.hide) .event-navigation-wrapper {
  top: 0;
}

.sidebar .sidebar-heading {
  font-family: var(--font_secondary);
  font-size: 2.125rem;
}
.sidebar .sidebar-toggle {
  display: none;
  width: 100%;
  text-align: left;
  border: 1px solid var(--color_border);
  border-radius: 10px;
}
.sidebar .sidebar-toggle:is(:hover, :focus-visible) {
  background-color: var(--color_light);
}
.sidebar .sidebar-toggle .inner-wrap {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding-block: 0.75rem;
  padding-inline: 20px;
}
.sidebar .sidebar-toggle .inner-wrap p {
  margin: 0;
}
.sidebar .sidebar-toggle .inner-wrap svg {
  width: 18px;
}
.sidebar .sidebar-toggle .sub-header {
  margin-block-end: 0.25rem;
}
@media only screen and (max-width: 920px) {
  .sidebar .sidebar-toggle {
    position: relative;
    display: block;
    margin-block-start: calc(var(--base_margin) / -1 - 2.4375rem);
    background-color: #FFF;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
  }
  .sidebar .sidebar-toggle[aria-expanded=true] {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom: none;
  }
  .sidebar .sidebar-toggle[aria-expanded=true] .hide-active {
    display: none;
  }
  .sidebar .sidebar-toggle[aria-expanded=true] ~ .sidebar-content {
    display: block;
    background-color: #FFF;
  }
  .sidebar .sidebar-toggle[aria-expanded=true] ~ .sidebar-content .sidebar-heading {
    display: none;
  }
  .sidebar .sidebar-toggle[aria-expanded=true] ~ .sidebar-content .sidebar-nav {
    margin-block-end: 0;
    margin-inline-start: 0;
    padding: 20px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    border: 1px solid var(--color_border);
  }
  .sidebar .sidebar-toggle[aria-expanded=true] ~ .sidebar-content .sidebar-nav li:last-child {
    margin-block-end: 0;
  }
}
.sidebar .sidebar-content {
  position: sticky;
  top: calc(var(--navbar_height) + 4rem);
  transition: top 0.3s;
}
.navbar-hidden .sidebar .sidebar-content {
  top: 4rem;
}
.sidebar .sidebar-content .back-button {
  margin-block-end: var(--spacer_m);
}
@media only screen and (max-width: 920px) {
  .sidebar .sidebar-content {
    display: none;
  }
}
.sidebar .sidebar-nav {
  --nav_shift: 0px;
  --nav_item_border: 2px;
  margin-block-end: 3.875rem;
  margin-inline-start: calc(-1 * (var(--nav_shift) + var(--nav_item_border)));
  padding: 0;
  list-style: none;
}
.sidebar .sidebar-nav li {
  font-size: 14px;
}
.sidebar .sidebar-nav li:not(:last-child) {
  margin-block-end: 0.875rem;
}
.sidebar .sidebar-nav a {
  display: inline-block;
  line-height: 1.5;
  padding-block: 7px 5px;
  padding-inline: var(--nav_shift);
  transition: background-color 0.3s, border-color 0.3s;
}
.sidebar .sidebar-nav a:is(:hover, :focus-visible) {
  text-decoration: 2px underline var(--color_primary);
  text-underline-offset: 3px;
}
.sidebar .sidebar-nav [aria-current] {
  text-decoration: 2px underline var(--color_primary);
  text-underline-offset: 3px;
}
.sidebar .section-title {
  margin-block-end: 2.75rem;
}
.sidebar .sidebar-buttons {
  display: grid;
  gap: 15px;
}

@layer lucy-layout {
  :where(#lucy-page) {
    background-color: #FFF;
  }
  :where(#lucy-page).page-dark {
    background-color: var(--color_dark);
  }
  :where(#lucy-page).no-page-header {
    padding-block-start: calc(var(--navbar_height) + var(--spacer_xs));
  }
  .container.small {
    max-width: var(--container_size_small);
  }
  #lucy-content:has(aside), .container {
    margin-inline: auto;
    max-width: var(--container_size);
    width: 100dvw;
    width: 100%;
  }
  @media only screen and (max-width: 1600px) {
    #lucy-content:has(aside), .container {
      padding-inline: max(20px, 4dvw);
    }
  }
  @container (max-width: 1600px) {
    #lucy-content:has(aside), .container {
      padding-inline: max(20px, 4dvw);
    }
  }
  .container-grid {
    display: grid;
    grid-template-columns: minmax(max(20px, 4dvw), 1fr) minmax(0, var(--container_size)) minmax(max(20px, 4dvw), 1fr);
  }
  @media only screen and (max-width: 1600px) {
    .container-grid {
      grid-template-columns: minmax(max(20px, 4dvw), 1fr) minmax(0, var(--container_size)) minmax(max(20px, 4dvw), 1fr);
    }
  }
  .container-grid > * {
    grid-column: 2;
  }
  .container-grid > *.fill-start {
    grid-column: 1/3;
  }
  .container-grid > *.fill-end {
    grid-column: 2/4;
  }
  .container-grid > *.fill-all {
    grid-column: 1/4;
  }
  .lucy-layout {
    --base_margin: clamp(2rem, 6dvw, 5.75rem);
    --inline_gap: min(4.3cqi, 84px);
    display: grid;
    grid-template-areas: "main";
    gap: 3rem var(--inline_gap);
    grid-template-columns: 1fr;
    margin-block: var(--base_margin);
  }
  .lucy-layout.marginless {
    margin-block: 0;
  }
  .lucy-layout:has(aside) {
    --sidebar_size: 17.375rem;
    grid-template-areas: "sidenav main";
    grid-template-columns: minmax(0, var(--sidebar_size)) minmax(0, 68.25rem);
  }
  @media only screen and (max-width: 920px) {
    .lucy-layout:has(aside) {
      --sidebar_size: 14rem;
    }
  }
  @media only screen and (max-width: 920px) {
    .lucy-layout:has(aside) {
      grid-template-areas: "sidenav" "main";
      grid-template-columns: 1fr;
    }
  }
  .lucy-layout aside {
    grid-area: sidenav;
  }
  .lucy-layout aside:has(.full-sidebar) {
    padding-inline-end: 0;
    border-image-slice: unset;
  }
  .lucy-layout main, .lucy-layout .area-main {
    grid-area: main;
  }
}
.footer-signup-wrap {
  background-color: var(--color_primary);
}
@media only screen and (max-width: 525px) {
  .footer-signup-wrap form.grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .footer-signup-wrap form.grid > * {
    grid-column: 1/-1 !important;
  }
}
.footer-signup-wrap .img-wrap {
  position: relative;
  overflow: hidden;
}
.footer-signup-wrap .img-wrap img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  scale: 1.15;
}
.footer-signup-wrap .signup-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.footer-signup-wrap .signup-layout .container {
  grid-column: 1/-1;
}
.footer-signup-wrap .signup-layout .img-wrap {
  grid-column: 1/2;
}
.footer-signup-wrap .signup-layout .img-wrap, .footer-signup-wrap .signup-layout .container {
  grid-row: 1;
}
.footer-signup-wrap .signup-form-wrap {
  margin-inline-start: auto;
  width: 50%;
}
.footer-signup-wrap .signup-form-wrap .inner-wrap {
  padding-block: 15.375rem;
  padding-inline-start: 4dvw;
}
.footer-signup-wrap .submit-text {
  margin: 0;
  font-weight: bold;
}
@media only screen and (max-width: 61.25rem) {
  .footer-signup-wrap .signup-layout {
    grid-template-columns: 1fr;
  }
  .footer-signup-wrap .signup-layout .img-wrap {
    order: -1;
    grid-column: 1/-1;
    height: 50dvw;
    grid-row: auto;
  }
  .footer-signup-wrap .signup-layout .img-wrap img {
    object-position: top center;
  }
  .footer-signup-wrap .signup-layout .signup-form-wrap {
    width: auto;
  }
  .footer-signup-wrap .signup-layout .signup-form-wrap .inner-wrap {
    padding-block: var(--spacer_m);
    padding-inline: 0;
  }
  .footer-signup-wrap .signup-layout .container {
    grid-row: auto;
  }
}

.wave-mask-wrapper {
  height: 96px;
  background-color: var(--color_light);
  mask-image: linear-gradient(#000 0 0), url(/images/wave-pattern.svg);
  mask-position: center 100%;
  mask-size: 1601px;
  mask-repeat: repeat-x;
  mask-composite: exclude;
}
@media only screen and (max-width: 910px) {
  .wave-mask-wrapper {
    height: 64px;
    mask-size: 1000px;
  }
}
@media only screen and (max-width: 525px) {
  .wave-mask-wrapper {
    height: 36px;
    mask-size: 540px;
  }
}

.footer-quote-wrap {
  position: relative;
  text-align: center;
  padding-block: var(--spacer_xl);
  background-color: var(--color_light);
}
.footer-quote-wrap blockquote {
  display: block;
  max-width: 978px;
  margin-block-end: 1rem;
  margin-inline: auto;
  color: var(--color_dark);
}
.footer-quote-wrap blockquote::before {
  content: none;
}
.footer-quote-wrap figcaption {
  font-size: 2rem;
  font-family: var(--font_secondary);
}
@media only screen and (max-width: 525px) {
  .footer-quote-wrap {
    padding-block: var(--spacer_s) var(--spacer_s);
  }
}

.footer-end {
  padding-block: 5rem 5.625rem;
  color: #FFF;
  background-color: var(--color_dark);
}
@media only screen and (max-width: 525px) {
  .footer-end {
    padding-block: var(--spacer_m);
  }
}
.footer-end .footer-callouts {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  margin-block-end: 5rem;
}
@media only screen and (max-width: 75rem) {
  .footer-end .footer-callouts {
    grid-template-columns: 1fr;
    margin-block-end: var(--spacer_m);
  }
  .footer-end .footer-callouts .footer-callout {
    aspect-ratio: 16/9;
  }
}
@media only screen and (max-width: 50rem) {
  .footer-end .footer-callouts .footer-callout .callout-inner {
    padding-block: 1.5rem;
    padding-inline: 20px;
  }
}
.footer-end .footer-callout {
  position: relative;
  aspect-ratio: 1/1;
  background-color: var(--color_darker);
  overflow: hidden;
}
.footer-end .footer-callout:hover .footer-callout-img, .footer-end .footer-callout:focus-within .footer-callout-img {
  transform: scale(1.1);
}
.footer-end .footer-callout:hover .circle-button, .footer-end .footer-callout:focus-within .circle-button {
  background-color: var(--color_primary);
}
.footer-end .footer-callout::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(129deg, rgba(0, 0, 0, 0.5) 13%, rgba(0, 0, 0, 0) 100%);
}
.footer-end .footer-callout .callout-inner {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: space-between;
  height: 100%;
  padding-block: 2.375rem;
  padding-inline: 40px;
}
.footer-end .footer-callout h2 {
  text-wrap: balance;
}
.footer-end .footer-callout .footer-callout-img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.3s ease;
}
.footer-end .footer-callout .circle-button svg {
  width: 18px;
}
.footer-end .hours-wrap {
  margin-block-end: var(--spacer_m);
}
.footer-end .hours-wrap h2 {
  display: flex;
  gap: 14px;
  margin-block-end: var(--spacer_s);
}
.footer-end .hours-wrap h2 svg {
  width: 23px;
  color: var(--color_primary);
}
.footer-end .footer-nav-wrap {
  display: grid;
  grid-template-columns: 512px 1fr;
  gap: var(--spacer_l) clamp(40px, 8dvw, 182px);
}
.footer-end .footer-nav-wrap .footer-hours-section {
  display: flex;
  flex-direction: column;
}
.footer-end .footer-nav-wrap .footer-nav-section {
  display: grid;
  grid-template-columns: auto auto auto;
  gap: 3.125rem 22px;
}
.footer-end .footer-nav-wrap .footer-nav-section ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer-end .footer-nav-wrap .footer-nav-section li {
  margin-block-end: 0.35rem;
}
.footer-end .footer-nav-wrap .footer-nav-section li.display-l {
  margin-block-end: 1.5rem;
}
@media only screen and (max-width: 44.1rem) {
  .footer-end .footer-nav-wrap .footer-nav-section {
    grid-template-columns: 1fr 1fr;
    row-gap: var(--spacer_s);
  }
}
@media only screen and (max-width: 35rem) {
  .footer-end .footer-nav-wrap .footer-nav-section {
    display: none;
  }
}
@media only screen and (max-width: 86rem) {
  .footer-end .footer-nav-wrap {
    grid-template-columns: 1fr;
  }
}
.footer-end .social-nav {
  margin-block-start: auto;
}

.social-nav {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.social-nav .circle-button {
  --size: 64px;
  --icon_size: 25px;
  border: 2px solid #FFF783;
}
.social-nav .circle-button:hover, .social-nav .circle-button:focus-visible {
  color: var(--color_dark);
  background-color: #FFF783;
}
@media only screen and (max-width: 525px) {
  .social-nav .circle-button {
    --size: 48px;
    --icon_size: 18px;
  }
}

.footer-mobile-nav {
  display: none;
}
@media only screen and (max-width: 35rem) {
  .footer-mobile-nav {
    display: block;
    margin-block-end: var(--spacer_m);
  }
}

.footer-copyright-wrap {
  color: #FFF;
  background-color: #0E1A35;
}
.footer-copyright-wrap p {
  margin: 0;
}
.footer-copyright-wrap a {
  font-weight: bold;
}
.footer-copyright-wrap .inner-layout {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-block: 1.75rem;
  gap: 30px;
}
.footer-copyright-wrap .inner-layout .nowrap {
  white-space: nowrap;
}
.footer-copyright-wrap .inner-layout .separated-nav {
  display: contents;
}
.footer-copyright-wrap .inner-layout .inner-start {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media only screen and (max-width: 37rem) {
  .footer-copyright-wrap .inner-layout .inner-start {
    display: grid;
    place-items: start;
  }
  .footer-copyright-wrap .inner-layout .inner-start .separator:first-of-type {
    display: none;
  }
  .footer-copyright-wrap .inner-layout .inner-start .separated-nav {
    display: flex;
    gap: 16px;
  }
}
@media only screen and (max-width: 70.625rem) {
  .footer-copyright-wrap .inner-layout {
    display: grid;
    gap: var(--spacer_xs);
    justify-content: center;
  }
}
.footer-copyright-wrap .separator {
  line-height: 1;
  font-size: 24px;
}
.footer-copyright-wrap .by-form {
  display: block;
  color: #FFF;
  transition: scale 0.2s ease;
}
.footer-copyright-wrap .by-form:focus-visible, .footer-copyright-wrap .by-form:hover {
  color: var(--color_primary);
  scale: 1.03;
}
.footer-copyright-wrap .by-form svg {
  display: block;
  width: 100%;
  max-width: 274px;
}

.instagram-posts-wrap {
  display: grid;
  grid-auto-flow: column;
  gap: 20px;
  margin-block-end: var(--spacer_xl);
  transition: transform 0.2s ease;
  background-color: var(--color_light);
  contain: layout;
}
@media only screen and (max-width: 525px) {
  .instagram-posts-wrap {
    grid-template-columns: 1fr 1fr;
    grid-auto-flow: initial;
    margin-block-end: var(--spacer_m);
    padding-inline: max(20px, 4dvw);
    transform: none !important;
    gap: 12px;
  }
  .instagram-posts-wrap article {
    width: 100% !important;
  }
  .instagram-posts-wrap article:nth-child(n+5) {
    display: none;
  }
}
.instagram-posts-wrap article {
  position: relative;
  width: max(20cqi, 250px);
  aspect-ratio: 1/1;
  background-color: var(--color_darker);
  overflow: hidden;
}
.instagram-posts-wrap article:hover img, .instagram-posts-wrap article:focus-within img {
  transform: scale(1.1);
}
.instagram-posts-wrap article::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 66%;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.67) 100%);
}
.instagram-posts-wrap article img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.3s ease;
}
.instagram-posts-wrap article svg {
  position: absolute;
  z-index: 2;
  bottom: 25px;
  left: 25px;
  width: 24px;
  color: #FFF;
}

.alert-wrapper {
  position: fixed;
  z-index: 3;
  left: 0;
  right: 0;
  bottom: 20px;
  max-width: 1560px;
  margin-inline: auto;
}
@media only screen and (max-width: 525px) {
  .alert-wrapper {
    bottom: 0;
  }
  .alert-wrapper .container {
    padding: 0;
  }
}
.alert-wrapper h2, .alert-wrapper p {
  margin: 0;
}
.alert-wrapper .alert-layout {
  position: relative;
  display: grid;
  grid-template-columns: 60px 1fr auto;
  align-items: center;
  padding-block: 1.5rem;
  padding-inline: 28px;
  gap: 30px;
  background-color: #FFF783;
  border-radius: 6px;
  transition: background-color 0.3s;
}
.alert-wrapper .alert-layout:has(.alert-inner:hover), .alert-wrapper .alert-layout:has(.alert-inner):focus-within {
  background-color: var(--color_button_hover);
}
@media only screen and (max-width: 60rem) {
  .alert-wrapper .alert-layout {
    grid-template-columns: 44px 1fr;
    gap: 20px;
    padding-inline: 20px;
  }
  .alert-wrapper .alert-layout .alert-end {
    grid-column: 1/-1;
  }
}
@media only screen and (max-width: 525px) {
  .alert-wrapper .alert-layout {
    gap: 0 16px;
    cursor: pointer;
  }
  .alert-wrapper .alert-layout .button {
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    opacity: 0;
  }
  .alert-wrapper .alert-layout .icon-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 16px;
  }
}
.alert-wrapper .alert-end {
  display: flex;
  align-items: center;
  gap: 20px;
}
.alert-wrapper .separator {
  width: 1px;
  height: 30px;
  background-color: rgba(216, 216, 216, 0.25);
}
.alert-wrapper .icon-close svg {
  display: block;
  width: 24px;
}

#search-results .result-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: var(--spacer_m) 0;
  border-top: 1px solid var(--border_color);
}
#search-results .result-container a {
  text-decoration: underline;
}
#search-results .result-container a:hover, #search-results .result-container a:focus-visible {
  text-decoration: none;
}
#search-results .result-container > * {
  margin-bottom: 0;
}
#search-results .result-container p.result-title a:any-link {
  font-weight: 700;
}
#search-results .result-container:last-of-type {
  border-bottom: 1px solid var(--border_color);
}

.news-filters-form {
  container-type: inline-size;
  margin-block-end: var(--spacer_l);
}
.news-filters-form .filters-layout {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr;
  gap: 20px;
}
@container (max-width: 44rem) {
  .news-filters-form .filters-layout {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@container (max-width: 36.1rem) {
  .news-filters-form .filters-layout {
    grid-template-columns: 1fr;
  }
}
.news-filters-form .control button {
  position: absolute;
  bottom: 50%;
  right: 20px;
  translate: 0 50%;
}

.post-aside-wrap h2 {
  font-size: var(--fs_3xl);
  font-family: var(--font_secondary);
}
.post-aside-wrap .recent-news-section {
  margin-block-start: var(--spacer_m);
}
.post-aside-wrap .recent-news-list article {
  padding-block: 1.125rem;
  border-block-end: 1px solid var(--color_border);
}
.post-aside-wrap .recent-news-list article:first-of-type {
  border-block-start: 1px solid var(--color_border);
}
.post-aside-wrap .recent-news-list article h3 {
  margin-block-end: 0.25rem;
}
.post-aside-wrap .recent-news-list article p {
  margin: 0;
}

.news-detail-info {
  display: flex;
  gap: 10px;
  align-items: baseline;
  flex-wrap: wrap;
  margin-block-end: var(--spacer_m);
}
.news-detail-info .separator {
  font-size: 1.4rem;
  line-height: 1;
  align-self: center;
}
.news-detail-info p {
  margin: 0;
  font-weight: 800;
}
.news-detail-info .news-date {
  font-size: 13px;
  letter-spacing: 1px;
}

.news-share {
  margin-block-end: var(--spacer_l);
}

.staff-listing {
  container-type: inline-size;
  container-name: staff-listing;
}

.staff-listing-heading:not(:first-of-type) {
  margin-block: var(--spacer_xl) var(--spacer_xs);
}
@media only screen and (max-width: 910px) {
  .staff-listing-heading:not(:first-of-type) {
    margin-block-start: var(--spacer_l);
  }
}

.staff-article {
  display: grid;
  grid-template-columns: 1fr;
  padding-block: 2.5rem;
  border-block-end: 1px solid var(--color_border);
}
.staff-article:first-of-type {
  border-block-start: 1px solid var(--color_border);
}
.staff-article:has(.staff-img) {
  grid-template-columns: clamp(150px, 18cqi, 300px) 1fr;
  align-items: start;
  gap: var(--spacer_xs) var(--spacer_s);
}
.staff-article .staff-img {
  display: block;
}
.staff-article .staff-heading {
  margin: 0;
}
.staff-article .staff-title {
  margin: 0;
  font-weight: 800;
}
.staff-article .staff-bio {
  position: relative;
  max-height: 2lh;
  margin-block-start: 1rem;
  overflow: hidden;
}
.staff-article .staff-bio.expanded {
  max-height: none;
}
.staff-article .staff-bio.expanded button {
  position: static;
  padding: 0;
}
.staff-article .staff-bio.expanded > p:last-of-type {
  margin: 0;
}
.staff-article .staff-bio button {
  position: absolute;
  bottom: 0;
  right: 0;
  font-weight: 800;
  padding-inline-start: 2rem;
  color: var(--color_secondary);
  text-decoration: underline;
  background-image: linear-gradient(to right, transparent, #FFF 1.5rem, #FFF);
}
.staff-article .staff-bio button:is(:hover, :focus-visible) {
  text-decoration: none;
}
.staff-article .staff-bio > :last-child {
  margin-block-end: 0;
}
@container staff-listing (max-width: 600px) {
  .staff-article:has(.staff-img) {
    grid-template-columns: 1fr;
    align-items: center;
  }
  .staff-article:has(.staff-img) .staff-img {
    width: 100%;
  }
}

.job-article {
  padding-block: 3rem;
  border-block-end: 1px solid var(--color_border);
}
.job-article:first-of-type {
  border-block-start: 1px solid var(--color_border);
}
.job-article .job-heading {
  margin-block-end: 0.75rem;
}
@media only screen and (max-width: 525px) {
  .job-article {
    padding-block: 2rem;
  }
  .job-article .job-intro {
    margin-block-end: 1rem;
  }
}

.job-detail-page .job-section {
  margin-block-end: var(--spacer_m);
  padding-block-end: var(--spacer_m);
  border-block-end: 1px solid var(--color_border);
}
.job-detail-page .job-section .editor-content > :last-child {
  margin-block-end: 0;
}
.job-detail-page .job-info-wrap {
  display: flex;
  gap: 10px;
  align-items: center;
}
.job-detail-page .job-info-wrap p {
  margin: 0;
}

.map-filters-container {
  margin-block: var(--spacer_l);
}
@media only screen and (max-width: 525px) {
  .map-filters-container {
    margin-block: var(--spacer_m);
  }
}
.map-filters-container .map-filters-layout {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  grid-template-columns: 1fr 1fr 2fr;
  align-items: end;
  gap: 20px;
}
@media only screen and (max-width: 81.875rem) {
  .map-filters-container .map-filters-layout {
    grid-template-columns: 1fr 1fr;
  }
  .map-filters-container .map-filters-layout .toggle-buttons {
    grid-column: 1/-1;
  }
  .map-filters-container .map-filters-layout .toggle-buttons .location-type-toggles label {
    justify-content: start;
  }
}
@media only screen and (max-width: 26.25rem) {
  .map-filters-container .map-filters-layout {
    grid-template-columns: 1fr;
  }
}
.map-filters-container .location-type-toggles {
  display: flex;
  gap: 10px;
  align-items: center;
  min-height: var(--input_height);
}
.map-filters-container .location-type-toggles label {
  display: flex;
  gap: 10px;
  align-items: center;
  color: #FFF;
  font-size: var(--fs_m);
  font-weight: 800;
  padding-block: 1.125rem;
  padding-inline: 28px;
  background-color: var(--color_dark);
  border-radius: 30px;
  cursor: pointer;
  line-height: 1;
}
.map-filters-container .location-type-toggles label:not(:has(:checked))::before {
  background-color: transparent;
  background-image: none;
  outline: 1px solid var(--color_primary);
  outline-offset: -1px;
}
.map-filters-container .location-type-toggles label::before {
  content: "";
  flex-shrink: 0;
  display: block;
  width: 20px;
  height: 20px;
  background-color: var(--color_primary);
  border-radius: 50%;
  background-image: url(/images/icons/checkmark.svg);
  background-size: 12px;
  background-repeat: no-repeat;
  background-position: center;
}
.map-filters-container .location-type-toggles label input {
  opacity: 0;
  position: absolute;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  overflow: hidden;
  width: 1px;
  height: 1px;
}
@media only screen and (max-width: 36.25rem) {
  .map-filters-container .location-type-toggles {
    display: grid;
  }
}

.map-section {
  --map_height: min(100dvh, 1076px);
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 350px;
  width: 100%;
  height: var(--map_height);
  overflow: hidden;
  margin-block-end: var(--spacer_xl);
}
@media only screen and (max-width: 525px) {
  .map-section {
    margin-block-end: var(--spacer_m);
  }
}
.map-section .map-sidebar {
  overflow: scroll;
  background-color: #FFF;
}
.map-section .map-sidebar .map-location-listing {
  --category_color: var(--color_primary);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 16px;
  padding-inline-end: 18px;
  background-color: #FFF;
  border-block-end: 1px solid var(--color_border);
  counter-increment: location-counter;
}
.map-section .map-sidebar .map-location-listing:hover {
  background-color: var(--color_primary);
}
.map-section .map-sidebar .map-location-listing:has(.active) {
  background-color: var(--color_primary);
}
.map-section .map-sidebar .map-location-listing:has(.active) h2::before {
  color: #FFF;
  background-color: var(--color_dark);
}
.map-section .map-sidebar .map-location-listing:has(.active) button {
  font-weight: 800;
}
.map-section .map-sidebar .map-location-listing:first-of-type {
  border-block-start: 1px solid var(--color_border);
}
.map-section .map-sidebar .map-location-listing.hidden {
  display: none;
}
.map-section .map-sidebar .map-location-listing h2 {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 16px;
  padding-block: 1.25rem;
  padding-inline-start: 18px;
}
.map-section .map-sidebar .map-location-listing h2:before {
  content: counter(location-counter);
  display: grid;
  place-content: center;
  width: 38px;
  height: 38px;
  font-size: 12px;
  line-height: 0;
  font-weight: bold;
  background-color: var(--color_light);
  border-radius: 50%;
}
.map-section .map-sidebar .map-location-listing h2, .map-section .map-sidebar .map-location-listing p {
  margin: 0;
}
.map-section .map-sidebar .map-location-listing button {
  text-align: left;
  line-height: 1.5;
}
.map-section .map-sidebar .map-location-listing .listing-favorite-button svg {
  display: block;
  width: 16px;
}
.map-section .map-sidebar .map-type-wrap p {
  display: flex;
  gap: 6px;
  align-items: baseline;
  color: var(--color_dark);
  font-weight: bold;
}
.map-section .map-sidebar .map-type-wrap p::before {
  content: "";
  border-radius: 50%;
  display: inline-block;
  width: 0.714em;
  height: 0.714em;
  background-color: var(--category_color);
}
.map-section .map {
  width: 100%;
  height: var(--map_height);
}
.map-section .top-wrapper {
  position: relative;
}
.map-section .top-wrapper:has(.favorite-button) {
  min-height: 40px;
}
.map-section .top-wrapper .favorite-button {
  position: absolute;
  top: 10px;
  right: 10px;
}
.map-section .popup-top {
  position: relative;
  background-color: var(--color_dark);
  min-height: 8rem;
}
.map-section .popup-top img {
  display: block;
  width: 100%;
}
.map-section .popup-content {
  padding-block: 1rem 1.5rem;
  padding-inline: 24px;
  text-align: center;
}
.map-section .popup-content :where(h2, h3, p) {
  margin: 0;
}
.map-section .popup-content .coming-soon {
  margin-block: 0.5rem;
}
.map-section .popup-content .has-food {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-block-start: 1rem;
}
.map-section .popup-content .has-food svg {
  width: 16px;
}
.map-section .popup-category {
  display: block;
  font-size: 10px;
  margin-block-end: 0.25rem;
  font-weight: bold;
}
.map-section .button {
  margin-block-start: 1rem;
}
.map-section .mapboxgl-popup-content {
  padding-block: 0;
  padding-inline: 0;
  max-width: 280px;
  box-shadow: 0 5px 25px 0 rgba(0, 0, 0, 0.05);
}
.map-section .mapboxgl-popup-close-button {
  display: none;
}
@media (min-width: 600px) {
  .map-section .mapboxgl-popup {
    max-width: 434px !important;
  }
}
.map-section .mapboxgl-marker path[opacity] {
  display: none;
}
.map-section #mobile-map-toggle {
  display: none;
}
@media only screen and (max-width: 920px) {
  .map-section {
    grid-template-columns: 1fr;
  }
  .map-section:has(.map-sidebar.active) #mobile-map-toggle .list-icon {
    display: none;
  }
  .map-section:has(.map-sidebar.active) #mobile-map-toggle .close-icon {
    display: grid;
  }
  .map-section .map-sidebar {
    position: absolute;
    top: 0;
    right: 0;
    height: var(--map_height);
    max-width: 350px;
    opacity: 0;
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  }
  .map-section .map-sidebar.active {
    opacity: 1;
    transform: translateX(0);
  }
}
@media only screen and (max-width: 920px) and (max-width: 525px) {
  .map-section .map-sidebar {
    max-width: 300px;
  }
}
@media only screen and (max-width: 920px) {
  .map-section #mobile-map-toggle {
    position: absolute;
    z-index: 1;
    top: 10px;
    left: 10px;
    display: grid;
    --size: 60px;
    --icon_size: 24px;
  }
  .map-section #mobile-map-toggle .list-icon {
    display: grid;
  }
  .map-section #mobile-map-toggle .close-icon {
    display: none;
  }
}
@media (pointer: coarse) {
  .map-section {
    --map_height: max(600px, 66dvh);
  }
}

#map-filters {
  margin-block-end: 3.125rem;
}
#map-filters .fields-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  align-items: end;
}
#map-filters .fields-row .button {
  width: 100%;
}
@media only screen and (max-width: 1080px) {
  #map-filters .fields-row {
    grid-template-columns: 1fr 1fr;
  }
  #map-filters .fields-row .button {
    grid-column: 1/-1;
    width: auto;
  }
}
@media only screen and (max-width: 600px) {
  #map-filters .fields-row {
    grid-template-columns: 1fr;
  }
  #map-filters .fields-row .button {
    width: 100%;
  }
}

#geolocation-disabled-text svg {
  display: inline;
  width: 1.3rem;
  color: var(--color_primary);
  vertical-align: text-bottom;
  margin-inline-end: 0.5rem;
  filter: drop-shadow(2px 7px 6px rgba(22, 20, 19, 0.2));
}
#geolocation-disabled-text button {
  text-decoration: underline;
  font-weight: bold;
}

.timeline-block {
  display: grid;
  gap: 48px;
  grid-template-columns: auto 1fr;
}
.timeline-block:last-of-type h2::after {
  display: none;
}
.timeline-block h2 {
  display: grid;
  grid-template-rows: auto 1fr;
  text-align: center;
}
.timeline-block h2::after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  min-height: 22px;
  margin-block: 0.25rem;
  margin-inline: auto;
  background-color: var(--color_border);
}
.timeline-block img {
  display: block;
  margin-block-end: var(--spacer_xs);
}
@media only screen and (max-width: 31.25rem) {
  .timeline-block {
    gap: 24px;
  }
  .timeline-block h2 {
    font-size: var(--fs_xl);
  }
}

.home-hero {
  --padding_block: max(7rem, 16cqi);
  position: relative;
  padding-block: calc(var(--navbar_height) + 19.5625rem) 19.5625rem;
  padding-block: calc(var(--navbar_height) / 2 + var(--padding_block)) var(--padding_block);
  color: #FFF;
  background-color: var(--color_dark);
  background-color: #000;
  overflow: hidden;
  animation: home-landing 1.5s ease forwards;
}
.home-hero::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}
.home-hero::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 340px;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 100%);
}
.home-hero .large-heading {
  max-width: clamp(300px, 64dvw, 940px);
}
.home-hero .large-heading span::after {
  filter: brightness(100);
}
.home-hero .container {
  position: relative;
  z-index: 1;
}
.home-hero .bg-images {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1.5s ease;
}
.home-hero img,
.home-hero video {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transition: opacity 1.5s ease;
}
.home-hero .active {
  opacity: 1;
}
.home-hero h1 span {
  opacity: 0;
  transition: opacity 1s ease, transform 1s ease;
  transform: translateY(-2rem);
}
.home-hero h1 span:nth-child(1) {
  transition-delay: 1s;
}
.home-hero h1 span:nth-child(2) {
  transition-delay: 1.75s;
}
.home-hero.animate-in .bg-images {
  opacity: 1;
}
.home-hero.animate-in h1 span {
  opacity: 1;
  transform: translateY(0);
}
.home-hero .video-control {
  position: absolute;
  z-index: 2;
  bottom: 1.5rem;
  right: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.4);
  border-radius: 50%;
  outline: none;
}
.home-hero .video-control:hover,
.home-hero .video-control:focus-visible {
  background: rgba(0, 0, 0, 0.65);
}
.home-hero .video-control .lines {
  display: block;
  width: 12px;
  height: 14px;
  border-left: 4px solid #fff;
  border-right: 4px solid #fff;
}
.home-hero .video-control .icon-play {
  display: none;
  width: 0;
  height: 0;
  margin-left: 3px;
  border-style: solid;
  border-width: 7px 0 7px 13px;
  border-color: transparent transparent transparent #fff;
}
.home-hero .video-control.play .lines {
  display: none;
}
.home-hero .video-control.play .icon-play {
  display: block;
}

.home-mission {
  padding-block: var(--spacer_2xl);
  text-align: center;
}
.home-mission p {
  max-width: 978px;
  margin: 0 auto;
  text-wrap: balance;
}
@media only screen and (max-width: 525px) {
  .home-mission p {
    max-width: 290px;
    font-size: 1.125rem;
    line-height: 1.55;
  }
}
@media only screen and (max-width: 62.5rem) {
  .home-mission {
    padding-block: var(--spacer_l);
  }
}
@media only screen and (max-width: 525px) {
  .home-mission {
    padding-block: var(--spacer_m);
  }
}

.home-nav-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  margin-block-end: 5.25rem;
}
.home-nav-grid > :nth-child(1), .home-nav-grid > :nth-child(4), .home-nav-grid > :nth-child(5), .home-nav-grid > :nth-child(8), .home-nav-grid > :nth-child(9), .home-nav-grid > :nth-child(12), .home-nav-grid > :nth-child(13) {
  grid-column: span 2;
}
@media only screen and (max-width: 62.5rem) {
  .home-nav-grid {
    grid-template-columns: 1fr 1fr;
  }
  .home-nav-grid > * {
    grid-column: span 2 !important;
  }
  .home-nav-grid > :nth-child(2), .home-nav-grid > :nth-child(3), .home-nav-grid > :nth-child(5), .home-nav-grid > :nth-child(6) {
    grid-column: span 1 !important;
  }
}
@media only screen and (max-width: 47.5rem) {
  .home-nav-grid {
    gap: 5px;
    margin-block-end: var(--spacer_l);
  }
}

.callout-box {
  display: grid;
  position: relative;
  min-height: 466px;
  padding-block: 2.375rem;
  padding-inline: 40px;
  color: #FFF;
  background-color: var(--color_dark);
  overflow: hidden;
}
.callout-box:hover .callout-img, .callout-box:focus-within .callout-img {
  transform: scale(1.1);
}
.callout-box:hover .circle-button, .callout-box:focus-within .circle-button {
  background-color: var(--color_primary);
}
.callout-box::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(129deg, rgba(0, 0, 0, 0.5) 13%, rgba(0, 0, 0, 0) 100%);
}
.callout-box .callout-box-start {
  z-index: 1;
  max-width: 503px;
  text-wrap: balance;
}
.callout-box .circle-button {
  --size: 60px;
  position: relative;
  z-index: 1;
  margin-block-start: auto;
  pointer-events: none;
}
.callout-box .circle-button svg {
  width: 18px;
}
.callout-box .callout-img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.3s ease;
}
.callout-box .flag-block {
  display: inline-block;
  padding-block: 5px;
  padding-inline: 20px 40px;
  color: var(--color_text);
  font-weight: 800;
  background-color: var(--color_primary);
  position: relative;
  clip-path: polygon(100% 0, calc(100% - 20px) 50%, 100% 100%, 0% 100%, 0 50%, 0% 0%);
}
@media only screen and (max-width: 41.25rem) {
  .callout-box {
    min-height: 340px;
  }
}
@media only screen and (max-width: 27.5rem) {
  .callout-box {
    padding-inline: 24px;
    min-height: 150px;
  }
  .callout-box h2 {
    font-size: 1.375rem;
  }
  .callout-box .circle-button {
    --size: 25px;
  }
  .callout-box .circle-button svg {
    width: 11px;
  }
}

.home-dark-bg-wrapper {
  --margin_shift: 6rem;
  margin-block-end: calc(-1 * var(--margin_shift));
  padding-block: var(--spacer_2xl) calc(var(--spacer_2xl) + var(--margin_shift));
  color: #FFF;
  background-color: var(--color_dark);
}
@media only screen and (max-width: 910px) {
  .home-dark-bg-wrapper {
    padding-block: var(--spacer_l) calc(var(--spacer_l) + var(--margin_shift));
  }
}

.upcoming-events-section .large-heading {
  margin-block-end: 3rem;
}
.upcoming-events-section .button-wrap {
  margin-block-end: var(--spacer_2xl);
  margin-inline: auto;
  text-align: center;
}

.home-end-ctas {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.home-end-ctas .home-cta {
  position: relative;
  display: grid;
  place-content: center;
  aspect-ratio: 1/1;
}
.home-end-ctas .home-cta::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color_primary);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.home-end-ctas .home-cta:hover .img-wrap img, .home-end-ctas .home-cta:focus-within .img-wrap img {
  transform: scale(1.1);
}
.home-end-ctas .home-cta:hover::before, .home-end-ctas .home-cta:focus-within::before {
  opacity: 0.5;
}
.home-end-ctas .home-cta a {
  z-index: 1;
  font-size: 4.625rem;
  font-family: var(--font_secondary);
  line-height: 1.3;
}
.home-end-ctas .home-cta .img-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.home-end-ctas .home-cta .img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}
.home-end-ctas .home-cta .img-wrap img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition: transform 0.3s ease;
}
@media only screen and (max-width: 46.25rem) {
  .home-end-ctas {
    grid-template-columns: 1fr;
  }
}

.home-event-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 20px;
  margin-block-end: 4.375rem;
}
.home-event-grid .img-wrap {
  background-color: var(--color_darker);
  aspect-ratio: 344/229;
}
.home-event-grid .img-wrap img {
  display: block;
}
.home-event-grid .content-inner {
  display: flex;
  flex-direction: column;
  padding-block: 1.875rem;
  padding-inline: 26px;
}
.home-event-grid .card-spacer {
  margin-block-end: 2.5rem;
}
@media only screen and (max-width: 525px) {
  .home-event-grid .card-spacer {
    margin-block-end: 1.5rem;
  }
}
.home-event-grid h3 {
  margin-block-end: 1rem;
}
.home-event-grid p {
  margin: 0;
}
.home-event-grid time {
  display: block;
  margin-block-start: auto;
  font-weight: bold;
}
@media only screen and (max-width: 81.25rem) {
  .home-event-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (max-width: 42.5rem) {
  .home-event-grid {
    grid-template-columns: 1fr;
    margin-block-end: var(--spacer_m);
  }
}

.event-article-alt {
  background-color: #0E1A35;
}
.event-article-alt .img-wrap {
  position: relative;
  overflow: hidden;
}
.event-article-alt .img-wrap img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.3s ease;
}
.event-article-alt:hover .img-wrap img, .event-article-alt:focus-within .img-wrap img {
  transform: scale(1.1);
}

.featured-event-section + .featured-event-section:nth-child(odd) .img-wrapper {
  order: 2;
}
.featured-event-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.featured-event-section h2 {
  margin-block-end: 0.5rem;
}
.featured-event-section .img-wrapper {
  position: relative;
  background-color: var(--color_secondary);
  min-height: 240px;
  overflow: hidden;
}
.featured-event-section .img-wrapper img {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.featured-event-section .featured-content-wrap {
  display: grid;
  align-items: center;
  background-color: var(--color_primary);
}
.featured-event-section .featured-content-wrap:hover .date-block, .featured-event-section .featured-content-wrap:focus-within .date-block {
  --text_color: #FFF;
}
.featured-event-section .content-inner {
  padding-block: var(--spacer_l);
  padding-inline: 4dvw;
  max-width: 622px;
}
@media only screen and (max-width: 525px) {
  .featured-event-section .content-inner {
    padding-block: var(--spacer_m);
  }
}
.featured-event-section .date-block-wrapper {
  margin-block-end: 4.25rem;
}
.featured-event-section .date-block-wrapper .date-block {
  --day_size: 100px;
  --text_color: var(--color_primary);
  --outline_color: #FFF;
}
@media only screen and (max-width: 910px) {
  .featured-event-section .date-block-wrapper {
    margin-block-end: var(--spacer_s);
  }
}
@media only screen and (max-width: 62.5rem) {
  .featured-event-section {
    grid-template-columns: 1fr;
  }
}

@media only screen and (max-width: 525px) {
  .mobile-scroll-grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 290px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    width: calc(100cqi - max(20px, 4dvw) * 2);
    gap: 20px;
  }
  .mobile-scroll-grid > * {
    scroll-snap-align: start;
  }
  .mobile-scroll-grid::after {
    content: "";
  }
}

.parks-listing {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-block-start: var(--spacer_xl);
}
@media only screen and (max-width: 53rem) {
  .parks-listing {
    grid-template-columns: 1fr;
    margin-block: var(--spacer_m);
  }
}

.amenities-list {
  padding: 0;
  list-style: none;
}
.amenities-list li {
  display: flex;
  align-items: center;
  gap: 15px;
  padding-block: 1rem;
  font-size: var(--fs_xl);
  font-weight: bold;
  line-height: 1.3;
  border-block-start: 1px solid var(--color_border);
}
.amenities-list li:last-child {
  border-block-end: 1px solid var(--color_border);
}
.amenities-list .amenity-icon {
  display: grid;
  place-content: center;
  width: 30px;
  height: 30px;
  background-color: var(--color_dark);
  border-radius: 8px;
}
.amenities-list .amenity-icon svg {
  width: 15px;
  color: #FFF;
}

.detail-section {
  margin-block: var(--spacer_xl);
}
.detail-section:last-of-type {
  margin-block-end: 0;
}
.detail-section .section-header {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-block-end: var(--spacer_m);
}
.detail-section .section-header h2 {
  margin: 0;
}
.detail-section .section-header .section-header-buttons {
  display: flex;
  gap: 10px;
}
.detail-section .section-header .section-header-buttons:not(.show) {
  display: none;
}
.detail-section .section-header .section-header-buttons button {
  --size: 60px;
}
@media only screen and (max-width: 53.75rem) {
  .detail-section {
    margin-block: var(--spacer_m);
  }
  .detail-section .section-header {
    margin-block-end: var(--spacer_xs);
  }
}

.place-top-layout {
  display: grid;
  grid-template-columns: 3fr minmax(240px, 1fr);
  gap: var(--spacer_l) clamp(60px, 10dvw, 140px);
}
@media only screen and (max-width: 53.75rem) {
  .place-top-layout {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

.amenities-list-heading {
  margin-block-end: 1.75rem;
  font-size: var(--fs_4xl);
  font-family: var(--font_secondary);
}

.slider-container {
  container-name: slider;
  container-type: inline-size;
}

.full-slider {
  display: grid;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: 344px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  width: 100cqi;
  gap: 20px;
}
.full-slider > * {
  scroll-snap-align: start;
}

.park-text-section {
  max-width: calc(976px - var(--spacer_l));
}

.park-comparison {
  margin-block: var(--spacer_2xl);
}
.park-comparison .comparison-wrap {
  margin-inline: auto;
  text-align: center;
}
@media only screen and (max-width: 910px) {
  .park-comparison {
    margin-block: var(--spacer_l);
  }
}

img-comparison-slider {
  --divider-width: 4px;
  --default-handle-width: 100px;
}
img-comparison-slider .first figcaption, img-comparison-slider .second figcaption {
  position: absolute;
  top: 50%;
  font-size: clamp(52px, 10cqi, 114px);
  font-weight: 700;
  color: #FFF;
  font-family: var(--font_secondary);
  text-align: center;
  margin: 0;
}
img-comparison-slider .first figcaption {
  left: calc(25% - 1.03em);
  translate: 0 -50%;
}
img-comparison-slider .second figcaption {
  right: calc(25% - 1.03em);
  translate: 0 -50%;
}

.faq-listing {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  gap: 20px;
}
.faq-listing .faq-article {
  padding: 40px;
  background-color: var(--color_light);
}
.faq-listing .faq-article .question {
  margin-block-end: 14px;
  font-weight: bold;
}
.faq-listing .faq-article .answer > :first-child::before {
  content: "A: ";
  font: inherit;
  color: var(--color_secondary);
  font-weight: bold;
}
.faq-listing .faq-article .answer > :last-child {
  margin: 0;
}
@media only screen and (max-width: 525px) {
  .faq-listing {
    grid-template-columns: 1fr;
  }
  .faq-listing .faq-article {
    padding: 2rem 24px;
  }
}

.interest-locations-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  gap: 20px;
  margin-block: var(--spacer_xl);
}
@media only screen and (max-width: 53rem) {
  .interest-locations-grid {
    grid-template-columns: 1fr;
    margin-block: var(--spacer_m);
  }
}

.card-container {
  container-name: card-container;
  container-type: inline-size;
}
.card-container :where(h2, h3, h4, p) {
  margin: 0;
}
.card-container .card {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  background-color: var(--color_light);
}
.card-container .card.dark {
  color: #FFF;
  background-color: #0E1A35;
}
.card-container .card-start {
  position: relative;
}
.card-container .card-start .favorite-button {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1;
}
.card-container .card-start .favorite-button svg {
  color: var(--color_text);
}
.card-container .card-start .favorite-button[data-favored=true] svg {
  color: var(--favored_color);
}
.card-container .card-start .favorite-button[data-favored=true] svg path {
  fill: var(--favored_color);
}
.card-container .card-img-wrap {
  position: relative;
  aspect-ratio: 1.45;
  background-color: var(--color_dark);
}
.card-container .card-img-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.card-container .card-end {
  --inline_pad_min: 27px;
  --inline_pad_prefered: 11.4cqi;
  --inline_pad_max: 50px;
  display: flex;
  flex-direction: column;
  padding-block: 30px 30px;
  padding-inline: clamp(var(--inline_pad_min), var(--inline_pad_prefered), var(--inline_pad_max));
}
.card-container .card-end .end-wrapper {
  margin-block-start: auto;
}
.card-container .card-end .end-wrapper p {
  margin-block-start: 1rem;
}
.card-container .card-end .card-date {
  font-weight: 800;
}
.card-container .card-end .card-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 5px;
  align-items: center;
  margin-block-start: var(--spacer_s);
}
@container card-container (max-width: 360px) {
  .card-container .card-end {
    --inline_pad_prefered: 8cqi;
    padding-block: 20px 30px;
  }
  .card-container .card-end .card-links {
    margin-block-start: var(--spacer_xs);
  }
}
.card-container .sub-header {
  font-weight: 800;
}
.card-container .card-sub-heading {
  margin-block-end: 0.5625rem;
}
.card-container .card-heading {
  font-size: clamp(22px, 6.5cqi, 28px);
}
.card-container .card-body {
  margin-block-start: 0.75rem;
}

@keyframes favored {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.4);
  }
}
.favorite-button {
  --favored_color: #FF9260;
  --hover_favored_color: color-mix(in srgb, var(--favored_color), transparent 33%);
}
.favorite-button:hover path {
  color: var(--hover_favored_color);
  fill: var(--hover_favored_color);
}
.favorite-button[data-favored=true] svg {
  animation: favored 0.2s ease-in-out forwards;
  color: var(--favored_color);
}
.favorite-button[data-favored=true] svg path {
  fill: var(--favored_color);
}

.attractions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--grid_gutter) 20px;
  margin-block: var(--spacer_m);
}
@media only screen and (max-width: 525px) {
  .attractions-grid {
    grid-template-columns: 1fr;
    margin-block-start: var(--spacer_s);
  }
}

#attraction-search-field {
  padding-inline-end: 4rem;
}

.attractions-filters-wrap {
  margin-block-end: var(--spacer_xl);
}
@media only screen and (max-width: 910px) {
  .attractions-filters-wrap {
    margin-block-end: var(--spacer_m);
  }
}
@media only screen and (max-width: 525px) {
  .attractions-filters-wrap {
    margin-block-end: var(--spacer_s);
  }
}

.attractions-filters-layout {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr;
  gap: var(--grid_gutter);
}
.attractions-filters-layout .circle-button {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 50rem) {
  .attractions-filters-layout {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
  }
}
@media only screen and (max-width: 38.75rem) {
  .attractions-filters-layout {
    grid-template-columns: 1fr;
  }
}

.active-filters-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-block-start: 30px;
}
.active-filters-wrap .active-filter-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-block: 16px;
  padding-inline: 18px;
  color: #FFF;
  background-color: var(--color_dark);
  border-radius: 30px;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
.active-filters-wrap .active-filter-item:hover, .active-filters-wrap .active-filter-item:focus-visible {
  color: var(--color_dark);
  background-color: var(--color_primary);
}
.active-filters-wrap .active-filter-item svg {
  width: 16px;
  translate: 0 1px;
}
.active-filters-wrap .active-filter-item span {
  font-size: 18px;
  font-weight: 800;
  text-box-trim: trim-both;
  text-box-edge: text alphabetic;
  line-height: 1;
}

#donate-embed #bbox-root#bbox-root .BBFormFieldContainer {
  margin-left: 0;
  margin-right: 0;
}
#donate-embed #bbox-root#bbox-root .BBFormFieldContainer:has(input[type=checkbox]) {
  margin-bottom: 2.5rem;
}
#donate-embed #bbox-root#bbox-root .BBDFormSectionComments .BBFormTextArea, #donate-embed #bbox-root#bbox-root .BBDFormSectionComments .BBFormFieldLabel {
  margin-left: 0;
}
#donate-embed #bbox-root#bbox-root .BBDFormSectionComments .BBFormFieldLabel {
  margin-bottom: 10px;
}
#donate-embed #bbox-root#bbox-root .BBFormTextArea {
  min-height: var(--input_height);
}
#donate-embed #bbox-root#bbox-root .BBFormFieldLabel {
  line-height: 1.5;
  font-size: var(--fs_2xs);
  font-weight: bold;
  letter-spacing: 0.1816em;
  text-transform: uppercase;
}
#donate-embed #bbox-root#bbox-root .BBFormSectionHeading {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border-color: var(--color_border);
}
#donate-embed #bbox-root#bbox-root .BBFormRadioLabelGivingLevel {
  padding-block: 0.5rem;
  padding-inline: 16px;
  line-height: 1.5;
  letter-spacing: 1.5px;
  font-family: var(--font_primary);
  font-size: var(--fs_xl);
  font-weight: bold;
  text-transform: uppercase;
  text-decoration: none !important;
  border-radius: 1rem;
  border-color: var(--color_text);
  background-color: #FFF;
}
#donate-embed #bbox-root#bbox-root .BBFormRadioLabelGivingLevelNotSelected {
  color: var(--color_text);
  background-color: #FFF;
}
#donate-embed #bbox-root#bbox-root .BBFormRadioLabelGivingLevelSelected {
  color: var(--color_text);
  background-color: var(--color_primary);
}
#donate-embed #bbox-root#bbox-root .BBFormGiftOtherAmount {
  background-color: rgba(255, 255, 255, 0.4901960784);
  border: none;
}
#donate-embed #bbox-root#bbox-root .BBFormSummaryTotal {
  display: none;
}
#donate-embed #bbox-root#bbox-root #bboxdonation_billing_divBillingSection .BBFormFieldLabel:has(~ :is(input[type=text], input[type=email], input[type=tel], select, textarea)) {
  margin-top: 1.3rem;
}
#donate-embed #bbox-root#bbox-root input:is([type=text], [type=email], [type=tel]), #donate-embed #bbox-root#bbox-root select, #donate-embed #bbox-root#bbox-root textarea {
  appearance: auto;
  height: 3.5rem;
  padding-block: 10px;
  padding-inline: 16px;
  padding-right: 16px;
}
#donate-embed #bbox-root#bbox-root input:is([type=text], [type=email], [type=tel]):is(textarea), #donate-embed #bbox-root#bbox-root select:is(textarea), #donate-embed #bbox-root#bbox-root textarea:is(textarea) {
  height: auto;
  min-height: 4rem;
}
#donate-embed #bbox-root#bbox-root input[type=checkbox] {
  margin-right: 5px;
  vertical-align: middle;
}

.donate-embed-wrapper {
  display: grid;
  place-content: center;
  max-width: 960px;
  margin-inline: auto;
  margin-block-start: var(--spacer_l);
  background-color: var(--color_light);
}
@media only screen and (max-width: 525px) {
  .donate-embed-wrapper {
    margin-block-start: var(--spacer_m);
  }
}

.campaign-hero {
  --padding_block: 12cqi;
  position: relative;
  padding-block: calc(var(--navbar_height) + 19.5625rem) 19.5625rem;
  padding-block: calc(var(--navbar_height) + var(--padding_block)) var(--padding_block);
  color: #FFF;
  text-align: center;
  background-color: var(--color_dark);
  overflow: hidden;
}
.campaign-hero::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}
.campaign-hero::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 340px;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 100%);
}
.campaign-hero .container {
  position: relative;
  z-index: 1;
}
.campaign-hero .campaign-heading {
  text-wrap: balance;
  line-height: 1.12;
}
.campaign-hero .progress-text {
  margin-block-end: var(--spacer_s);
}
.campaign-hero .progress-text span {
  font-family: var(--font_secondary);
  letter-spacing: 1px;
}
.campaign-hero .progress-bar {
  width: 100%;
  height: 25px;
  border: #FFF 3px solid;
  border-radius: 30px;
  overflow: hidden;
}
.campaign-hero .progress-bar .progress {
  position: relative;
  background-color: #FF9260;
  height: 100%;
  transition: width 1.2s ease-out;
}
.campaign-hero .progress-bar .progress::after {
  position: absolute;
  z-index: 1;
  top: 0;
  left: -30px;
  width: calc(100% + 30px);
  height: 100%;
  mix-blend-mode: multiply;
  content: "";
  background-size: 444px;
  background-size: 1634px;
  background-position: 0 50%;
  background-image: url(/images/progress-stripe.webp);
}
.campaign-hero img {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% -12%;
}
.campaign-hero .campaign-buttons {
  margin-block-start: var(--spacer_m);
}

.campaign-body-wrap {
  margin-block: var(--spacer_xl);
}

.favorites-page {
  color: #FFF;
  background-color: var(--color_dark);
  padding-block-end: var(--spacer_2xl);
}
.favorites-page .favorites-page-header {
  padding-block: calc(var(--spacer_xl) + var(--navbar_height)) var(--spacer_xl);
  text-align: center;
}
.favorites-page .favorites-page-header h1 {
  margin-block-end: var(--spacer_s);
}
@media only screen and (max-width: 920px) {
  .favorites-page .favorites-page-header {
    padding-block: calc(var(--spacer_m) + var(--navbar_height)) var(--spacer_m);
  }
  .favorites-page .favorites-page-header h1 {
    margin-block-end: var(--spacer_2xs);
  }
}
.favorites-page .favorites-listing {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--grid_gutter) 20px;
}
.favorites-page .favorites-listing .card {
  transition: opacity 0.2s;
}
.favorites-page .favorites-listing .card:has([data-favored=false]) {
  opacity: 0.4;
}
.favorites-page .no-favorites-message {
  text-align: center;
}

.print-only {
  display: none !important;
}

@media print {
  @page {
    size: letter;
    margin: 1cm;
  }
  body {
    background-color: transparent !important;
    print-color-adjust: exact !important;
  }
  header, footer, #print-favorites, .bg-pattern {
    display: none !important;
  }
  .print-only {
    display: block !important;
  }
  #print-logo {
    margin-block-end: 0.5cm !important;
    width: 6.77cm;
  }
  .favorites-page {
    background-color: transparent !important;
  }
  .favorites-page .favorites-page-header {
    padding: 2cm 0 0 0 !important;
  }
  .favorites-page .favorites-page-header .large-heading {
    font-size: 84pt !important;
    color: var(--color_dark) !important;
  }
  .favorites-page .favorites-page-header .large-heading span::after {
    margin: 0 !important;
    background-size: auto !important;
    background-position: center !important;
    background-repeat: repeat-x !important;
    height: 0.423333cm !important;
  }
  .favorites-page .favorites-listing {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .favorites-page .card {
    color: var(--color_dark) !important;
    background-color: var(--color_light) !important;
    page-break-inside: avoid !important;
  }
  .favorites-page .card .card-body {
    font-size: 12pt !important;
  }
  .favorites-page .card .card-end {
    padding-inline: 20px !important;
  }
}
.event-header {
  padding-block: var(--navbar_height) var(--spacer_xl);
  color: #FFF;
  background-color: var(--color_dark);
}
.event-header .event-overview-header {
  padding-block-start: var(--spacer_xl);
}
@media only screen and (max-width: 920px) {
  .event-header .event-overview-header {
    padding-block-start: var(--spacer_m);
  }
}
@media only screen and (max-width: 525px) {
  .event-header .event-overview-header {
    padding-block-start: var(--spacer_xs);
  }
}
.event-header .event-detail-layout {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 80px;
  padding-block-start: var(--spacer_xl);
}
.event-header .event-detail-layout:where(:has(img)) {
  grid-template-columns: 1fr 1fr;
}
@media only screen and (max-width: 68.75rem) {
  .event-header .event-detail-layout:where(:has(img)) {
    grid-template-columns: 2fr 3fr;
    gap: 1.5rem 40px;
  }
}
@media only screen and (max-width: 50rem) {
  .event-header .event-detail-layout:where(:has(img)) {
    grid-template-columns: 1fr;
  }
  .event-header .event-detail-layout:where(:has(img)) img {
    width: 100%;
  }
}
@media only screen and (max-width: 525px) {
  .event-header .event-detail-layout {
    padding-block-start: var(--spacer_m);
  }
}
.event-header .event-detail-layout h1 {
  font-size: min(4rem, var(--fs_4xl));
  margin-block-end: 0.75rem;
}
.event-header .event-detail-layout img {
  display: block;
}
.event-header .event-detail-layout .date-block-wrapper {
  margin-block-end: var(--spacer_m);
}
.event-header .event-detail-layout .date-block-wrapper .date-block {
  --day_size: 100px;
}
@media only screen and (max-width: 525px) {
  .event-header .event-detail-layout .date-block-wrapper {
    margin-block-end: var(--spacer_xs);
  }
  .event-header .event-detail-layout .date-block-wrapper .date-block {
    --day_size: 2.625rem;
  }
}
.event-header .event-detail-layout .event-info {
  margin-block: var(--spacer_m);
}
.event-header .event-detail-layout .event-info > div {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: center;
  margin-block-end: 1rem;
}
.event-header .event-detail-layout .event-info svg {
  display: block;
  width: 14px;
  color: var(--color_primary);
}
@media only screen and (max-width: 910px) {
  .event-header .event-detail-layout .event-info {
    margin-block: var(--spacer_xs) var(--spacer_s);
  }
}
.event-header .event-detail-layout .title-wrap {
  margin-block-end: var(--spacer_m);
}
.event-header .event-detail-layout .title-wrap p:last-of-type {
  margin-block-end: 0;
}
.event-header .event-detail-layout .detail-header-content .sub-header.flag {
  display: inline-block;
  margin-bottom: 2rem;
  padding: 0.5rem 1rem 0.25rem 1rem;
  background-color: #FFF783;
  color: var(--color_dark);
}
@media only screen and (max-width: 525px) {
  .event-header .event-detail-layout .detail-header-content .date-block {
    --day_size: 2.625rem;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
  }
  .event-header .event-detail-layout .detail-header-content .date-block .day {
    margin-block-start: 0.25rem;
  }
  .event-header .event-detail-layout .detail-header-content .date-block .date-details {
    font-size: var(--fs_xs);
  }
}

.event-filters-wrapper {
  padding-block: var(--spacer_2xl);
}
@media only screen and (max-width: 62.5rem) {
  .event-filters-wrapper {
    padding-block: var(--spacer_l);
  }
}
@media only screen and (max-width: 525px) {
  .event-filters-wrapper {
    padding-block: var(--spacer_s);
  }
}
.event-filters-wrapper .filters-layout {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 20px;
  align-items: end;
}
@media only screen and (max-width: 50rem) {
  .event-filters-wrapper .filters-layout {
    grid-template-columns: 1fr;
  }
}
.event-filters-wrapper .view-toggles {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 16px;
  margin-inline-end: 10px;
}
@media only screen and (max-width: 50rem) {
  .event-filters-wrapper .view-toggles {
    display: none;
  }
}
.event-filters-wrapper .view-toggles .view-toggle {
  display: grid;
  place-content: center;
  width: var(--input_height);
  height: var(--input_height);
  border-radius: 10px;
  border: 1px solid var(--color_border);
}
.event-filters-wrapper .view-toggles .view-toggle[aria-current=page] {
  color: #FFF;
  background-color: var(--color_dark);
  border-color: var(--color_dark);
}
.event-filters-wrapper .view-toggles .view-toggle svg {
  width: 20px;
}
.event-filters-wrapper #event-filters-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  align-items: end;
}
.event-filters-wrapper #event-filters-form .circle-button {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

.event-navigation-wrapper {
  position: sticky;
  top: var(--navbar_height);
  z-index: 2;
  margin-block-end: calc(var(--spacer_m) - var(--spacer_s));
  padding-block: var(--spacer_s);
  background-color: #FFF;
  transition: top 0.3s ease;
}
.event-navigation-wrapper h2 {
  margin: 0;
}
.event-navigation-wrapper .inner-layout {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.event-navigation-wrapper .nav-buttons {
  display: grid;
  grid-template-columns: auto auto auto;
  gap: 20px;
}
.event-navigation-wrapper .nav-buttons .circle-button {
  --size: 60px;
}
@media only screen and (max-width: 525px) {
  .event-navigation-wrapper .nav-buttons {
    grid-template-columns: auto auto;
  }
  .event-navigation-wrapper .nav-buttons .today-link {
    display: none;
  }
}
@media only screen and (max-width: 32.5rem) {
  .event-navigation-wrapper {
    padding-block: var(--spacer_xs);
  }
  .event-navigation-wrapper h2 {
    font-size: var(--fs_2xl);
  }
  .event-navigation-wrapper .nav-buttons .circle-button {
    --size: 50px;
  }
}

.event-listing-article {
  border-block-end: 1px solid var(--color_border);
  transition: background-color 0.3s ease;
}
.event-listing-article:first-of-type {
  border-block-start: 1px solid var(--color_border);
}
.event-listing-article:has(:focus-within, :hover) {
  background-color: #FFF783;
}
.event-listing-article:has(:focus-within, :hover) :is(.date-time-wrap, .date-block) .day {
  color: #FFF783;
}
.event-listing-article:has(:focus-within, :hover) img {
  scale: 1.1;
}
.event-listing-article .inner-layout {
  display: grid;
  grid-template-columns: 164px 1fr;
  align-items: center;
  gap: 36px;
  padding-block: 3.125rem;
}
@media only screen and (max-width: 70rem) {
  .event-listing-article .inner-layout .event-summary {
    padding-inline-start: 0;
  }
}
@media only screen and (max-width: 525px) {
  .event-listing-article .inner-layout {
    grid-template-columns: 1fr;
    row-gap: var(--spacer_xs);
  }
  .event-listing-article .inner-layout .date-block {
    order: 1;
  }
}
.event-listing-article .inner-layout:has(.img-wrap) {
  grid-template-columns: auto 1fr 343px;
}
@media only screen and (max-width: 62.5rem) {
  .event-listing-article .inner-layout:has(.img-wrap) {
    grid-template-columns: auto 1fr 260px;
  }
  .event-listing-article .inner-layout:has(.img-wrap) .date-details {
    font-size: var(--fs_s);
  }
}
@media only screen and (max-width: 58.75rem) {
  .event-listing-article .inner-layout:has(.img-wrap) {
    grid-template-columns: 1fr;
  }
  .event-listing-article .inner-layout:has(.img-wrap) .img-wrap {
    order: -1;
  }
  .event-listing-article .inner-layout:has(.img-wrap) .date-block {
    order: 1;
  }
}
.event-listing-article .event-summary {
  max-width: 610px;
  padding-inline-start: 40px;
}
.event-listing-article .event-summary h3 {
  margin-block-end: 0.25rem;
}
.event-listing-article .event-summary p:last-of-type {
  margin-block-end: 0;
}
.event-listing-article .img-wrap {
  overflow: hidden;
}
.event-listing-article .img-wrap img {
  display: block;
  transition: 0.3s ease;
}

.date-time-wrap, .date-block {
  --day_size: 4.375rem;
  --text_color: #FFF;
  --outline_color: var(--color_dark);
}
.date-time-wrap :where(p), .date-block :where(p) {
  margin: 0;
}
.date-time-wrap .day, .date-block .day {
  margin: 0;
  font-size: var(--day_size);
  font-weight: bold;
  line-height: 1;
  color: var(--text_color);
  text-shadow: -1px -1px 0 var(--outline_color), 1px -1px 0 var(--outline_color), -1px 1px 0 var(--outline_color), 1px 1px 0 var(--outline_color);
  transition: color 0.3s ease;
}
.date-time-wrap time, .date-block time {
  font-weight: 800;
}
.date-time-wrap.text-dark .day, .date-block.text-dark .day {
  --text_color: var(--color_dark);
  --outline_color: #FFF;
}

.events-bottom-nav .inner-layout {
  display: grid;
  grid-template-columns: auto auto auto;
  place-content: center;
  gap: 20px;
  margin-block: var(--spacer_xl) var(--spacer_2xl);
}
@media only screen and (max-width: 36.25rem) {
  .events-bottom-nav .inner-layout {
    grid-template-columns: 1fr;
    justify-items: center;
  }
}

.sponsorship-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}

.sponsorship-card {
  --block_padding: 2.5rem;
  --inline_padding: 32px;
  color: #FFF;
  text-align: center;
  background-color: var(--color_dark);
}
.sponsorship-card .card-inner {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
}
.sponsorship-card .top {
  padding-block: var(--block_padding);
  padding-inline: var(--inline_padding);
}
.sponsorship-card .bottom {
  position: relative;
  padding-block: calc(var(--block_padding) - 10px) var(--block_padding);
  padding-inline: var(--inline_padding);
  background-color: #0E1A35;
}
.sponsorship-card .bottom::before {
  position: absolute;
  top: -18px;
  left: 0;
  width: 100%;
  height: 48px;
  background-size: 304px;
  background-image: url(/images/sponsor-card-wave.svg);
  content: "";
}
.sponsorship-card .level-title {
  margin-block-end: 0.66rem;
  color: var(--color_primary);
  font-size: var(--fs_l);
  font-family: var(--font_secondary);
  letter-spacing: 1px;
}
.sponsorship-card .level-price {
  margin: 0;
  font-size: var(--fs_4xl);
  font-weight: 800;
  line-height: 1.1;
}
.sponsorship-card .level-price span {
  vertical-align: super;
  margin-inline-end: 6px;
  font-size: var(--fs_l);
}
.sponsorship-card .level-buttons {
  display: grid;
  gap: 10px;
}
.sponsorship-card .level-buttons .disabled, .sponsorship-card .level-buttons [disabled] {
  pointer-events: none;
  opacity: 1;
  color: color-mix(in srgb, var(--color_dark), transparent 50%);
}
.sponsorship-card .level-buttons .disabled::after, .sponsorship-card .level-buttons [disabled]::after {
  opacity: 0.5;
}

#sponsorship-dialog {
  display: grid;
  place-content: center;
  width: 100dvw;
  height: 100dvh;
  margin: auto;
  background-color: transparent;
  border: 0;
}
#sponsorship-dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.8);
}
#sponsorship-dialog .sponsor-nav-button {
  --size: 60px;
  position: absolute;
  top: 50%;
  left: calc(50% + 300px);
  transform: translateX(-50%);
}
#sponsorship-dialog .sponsor-nav-button.nav-button-prev {
  left: calc(50% - 300px);
}
@media only screen and (max-width: 45rem) {
  #sponsorship-dialog .sponsor-nav-button {
    top: auto;
    bottom: 20px;
    left: calc(50% + 100px);
  }
  #sponsorship-dialog .sponsor-nav-button.nav-button-prev {
    left: calc(50% - 100px);
  }
}

.sponsorship-wrapper {
  display: none;
  margin: auto;
  width: 340px;
}
.sponsorship-wrapper.active {
  display: block;
}
.sponsorship-wrapper .sub-header {
  margin-block-end: 0.3rem;
  text-align: left;
}
.sponsorship-wrapper ul {
  margin-block-end: 1.5rem;
  text-align: left;
}

.event-detail-section:last-of-type {
  margin-block-end: 0;
}
.event-detail-section .section-header {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-block-end: var(--spacer_m);
}
.event-detail-section .section-header h2 {
  margin: 0;
}
.event-detail-section .section-header .section-header-buttons {
  display: flex;
  gap: 10px;
}
.event-detail-section .section-header .section-header-buttons:not(.show) {
  display: none;
}
.event-detail-section .section-header .section-header-buttons button {
  --size: 60px;
}
@media only screen and (max-width: 53.75rem) {
  .event-detail-section {
    margin-block: var(--spacer_m);
  }
  .event-detail-section .section-header {
    margin-block-end: var(--spacer_xs);
  }
}

.fc {
  --fc-event-bg-color: var(--color_dark);
  --fc-event-text-color: #FFF;
  --fc-today-bg-color: #FFF783;
}

.fc table {
  border-top: none !important;
  border: none !important;
}

.fc .fc-scrollgrid-section-liquid > td {
  border: none !important;
}

.fc-theme-standard th {
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: none;
  text-transform: uppercase;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 2px;
}

.fc-daygrid-dot-event {
  display: block;
  padding-inline: 6px;
  padding-block: 4px;
}

.fc-event-time {
  line-height: 1.5;
}

.fc-direction-ltr .fc-event-title {
  line-height: 1.3;
}

.fc-direction-ltr .fc-daygrid-event {
  padding-top: 4px;
  padding-bottom: 4px;
  white-space: normal;
}
.fc-direction-ltr .fc-daygrid-event.x-fc-event-selected {
  text-decoration: underline;
  background-color: transparent;
}
@media only screen and (max-width: 70.625rem) {
  .fc-direction-ltr .fc-daygrid-event {
    white-space: nowrap;
  }
}

.fc .fc-day-disabled {
  background-color: var(--color_light);
}

.fc .fc-daygrid-day-top {
  flex-direction: row;
}

.fc .fc-daygrid-day-frame {
  display: flex;
  flex-direction: column;
}

.fc .fc-daygrid-day-events {
  margin-top: auto;
}

.event-popover {
  z-index: 2;
  max-width: 440px;
  color: #FFF;
  background-color: var(--color_dark);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.event-popover .event-popover-layout {
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: 12px;
  padding: 28px;
}
.event-popover .event-popover-layout h2 {
  margin: 0;
}
.event-popover .event-popover-layout .date-col p {
  margin: 0;
  font-size: 0.875rem;
}
.event-popover .event-popover-layout .date-col .day-number {
  --outline_color: var(--color_primary);
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1;
  color: var(--color_dark);
  font-size: 3.75rem;
  text-shadow: -1px -1px 0 var(--outline_color), 1px -1px 0 var(--outline_color), -1px 1px 0 var(--outline_color), 1px 1px 0 var(--outline_color);
}
.event-popover .event-popover-image img {
  display: block;
}
.event-popover .formatted-date {
  font-weight: 800;
}

.special-events-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-block-start: var(--spacer_l);
}
@media only screen and (max-width: 60rem) {
  .special-events-grid {
    margin-block-start: var(--spacer_s);
    grid-template-columns: 1fr;
  }
}

@media only screen and (max-width: 50rem) {
  [data-event-view=list] {
    display: block !important;
  }
}

@media only screen and (max-width: 50rem) {
  [data-event-view=calendar] {
    display: none !important;
  }
}

:root {
  --spacer_2xl: 6.25rem;
  --spacer_xl: 5rem;
  --spacer_l: 4.0625rem;
  --spacer_m: 2.8125rem;
  --spacer_s: 2.1875rem;
  --spacer_xs: 1.25rem;
  --flow_content_spacer: var(--spacer_s);
  --fs_5xl: clamp(calc(44rem / 16), 7dvw, calc(84rem / 16));
  --fs_4xl: clamp(calc(34rem / 16), 6dvw, calc(52rem / 16));
  --fs_3xl: clamp(calc(24rem / 16), 4dvw, calc(36rem / 16));
  --fs_2xl: calc(28rem / 16);
  --fs_xl: calc(24rem / 16);
  --fs_l: calc(22rem / 16);
  --fs_m: calc(18rem / 16);
  --fs_s: 1rem;
  --fs_xs: calc(13rem / 16);
  --fs_2xs: calc(12rem / 16);
}
@media only screen and (max-width: 37.5rem) {
  :root {
    --fs_xl: calc(20rem / 16);
    --fs_l: calc(18rem / 16);
    --fs_m: 1rem;
    --fs_s: calc(15rem / 16);
  }
}
:root {
  --grid_gutter: 2rem;
  --color_primary: #62cdff;
  --color_secondary: #55BEA9;
  --color_secondary_alt: #4CB09C;
  --color_dark: #172647;
  --color_dark_lighter: #233b6e;
  --color_darker: #1A1A1A;
  --color_light: #F7F5F3;
  --color_light_alt: #EFEBE8;
  --color_text: var(--color_dark);
  --color_success: #1A936F;
  --color_error: #ED6A5A;
  --color_warning: #FFC857;
  --color_border: #D9DCE0;
  --color_button_hover: var(--color_dark);
  --font_primary: "figtree", serif;
  --font_secondary: "alkaline", sans-serif;
  --button_height: 2.444rem;
  --button_cta_height: 3.333rem;
  --input_height: 4.375rem;
  --input_border_radius: 4px;
  --border_color: var(--color_border);
  --border_width: 1px;
  --border_radius: 20px;
  --border_style: solid;
  --container_size: 1360px;
  --container_size: 1442px;
  --container_size_full: 1442px;
  --container_size_small: 952px;
  --navbar_height: 228px;
}
@media only screen and (max-width: 920px) {
  :root {
    --navbar_height: 114px;
  }
}
@media only screen and (max-width: 525px) {
  :root {
    --input_height: 3.75rem;
  }
}

:where(#lucy-page) {
  color: var(--color_dark);
  line-height: 1.875;
  font-family: var(--font_primary);
  overflow-x: hidden;
  background-color: #FFF;
}

:target {
  scroll-margin-top: calc(var(--navbar_height) + 20px);
}

.block-link {
  position: relative;
}
.block-link a[href]::before {
  content: "";
  z-index: 1;
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.block-button {
  position: relative;
}
.block-button button::before {
  content: "";
  z-index: 1;
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.bg-dark {
  background-color: var(--color_dark);
}

.share-container {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 20px;
  padding-block: 20px;
  padding-inline: 30px;
  background-color: #FFF;
  border: 1px solid var(--color_border);
}
.share-container svg {
  width: 30px;
  color: var(--color_secondary);
  transform: translateY(-2px);
}
.share-container .share-heading {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 14px;
}
.share-container .share-heading > * {
  margin: 0;
}
.share-container .share-url {
  margin: 0;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media only screen and (max-width: 37.5rem) {
  .share-container {
    grid-template-columns: auto 1fr;
    margin-block-end: var(--spacer_m);
  }
}
@media only screen and (max-width: 27.5rem) {
  .share-container {
    grid-template-columns: 1fr;
  }
  .share-container .share-url {
    display: none;
  }
  .share-container .share-heading {
    grid-template-columns: auto 1fr;
  }
}

.dialog {
  margin: auto;
  width: clamp(200px, 60cqi, 1000px);
  color: #FFF;
  border: none;
  background-color: var(--color_dark);
}
.dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
}
.dialog .dialog-inner {
  padding-block: var(--spacer_m);
  padding-inline: 40px;
}
.dialog .dialog-close {
  position: absolute;
  top: 20px;
  right: 20px;
}
.dialog .dialog-close svg {
  color: #FFF;
  width: 24px;
}

#share-dialog h2 {
  text-align: center;
}
#share-dialog ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  list-style: none;
}
#share-dialog ul svg {
  display: block;
  width: 36px;
}
#share-dialog .button-wrap {
  display: grid;
  place-content: center;
}

.skip-link {
  position: fixed;
  top: 1rem;
  left: 50%;
  z-index: 25;
  padding: 1rem 2rem 0.75rem;
  text-decoration: none;
  line-height: 1;
  font-size: var(--fs_m);
  font-weight: bold;
  color: #FFF;
  text-transform: uppercase;
  background-color: var(--color_dark);
  translate: -50% calc(-100% - 1rem);
  transition: translate 0.2s ease-in-out;
}
.skip-link:focus {
  translate: -50% 0;
}

#lucy-page {
  position: relative;
}
#lucy-page .bg-pattern {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: 400px 400px;
  background-image: url("/images/bg-pattern.png");
  background-repeat: repeat;
  mix-blend-mode: darken;
  opacity: 0.7;
  pointer-events: none;
}

.text-trim {
  text-box-trim: trim-both;
  text-box-edge: text alphabetic;
}

.pagination-wrap {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: var(--grid_gutter);
  align-items: center;
}
.pagination-wrap.search-pagination {
  margin-block-start: var(--spacer_m);
}
.pagination-wrap .middle {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.pagination-wrap .middle select {
  display: inline-block;
  width: auto;
  min-width: 70px;
}
@media only screen and (max-width: 525px) {
  .pagination-wrap {
    justify-items: center;
    grid-template-columns: 1fr 1fr;
    grid-auto-flow: dense;
  }
  .pagination-wrap .middle {
    display: none;
    grid-column: 1/-1;
  }
}

.large-heading {
  margin: 0;
  font-size: clamp(3rem, 11dvw, 8.8125rem);
  max-width: 1200px;
  margin-inline: auto;
  text-align: center;
  text-transform: uppercase;
  line-height: 1.063;
}
.large-heading span {
  display: inline-block;
  line-height: 0.8;
}
.large-heading span::after {
  content: "";
  display: block;
  width: 100%;
  height: 16px;
  margin-block-end: 1rem;
  background-image: url(/images/curve-pattern.svg);
  background-repeat: repeat-x;
  background-size: clamp(28px, 4dvw, 58px);
  transform-origin: center;
}
@media only screen and (max-width: 525px) {
  .large-heading span::after {
    margin-block-end: 0.33rem;
  }
}

.video-wrapper:has(.yt-shorts){height:auto;padding-bottom:0;padding-top:0;aspect-ratio:9/16;max-width:25rem;margin:0 auto;overflow:hidden}