/*! tailwindcss v4.0.13 | MIT License | https://tailwindcss.com */
main#maincontent:has(.events-list) {
  overflow: visible;
}

.events-list {
  --events-list-card-column-gap: 1.25rem;
  --events-list-card-row-gap: 5rem;
  --events-list-filter-hover-bg: linear-gradient(0deg, #fff3 0%, #fff3 100%), #a2301a1a;
  --events-list-sticky-offset: calc(var(--site-admin-bar-offset, 0px)  + var(--hgtHeader, 8.625rem));
  color: var(--color-black);
  font-family: var(--font-dm-sans);
  max-width: 100%;
  scroll-margin-top: calc(var(--events-list-sticky-offset)  + .5rem);
  width: 100%;
  margin-inline: auto;
}

.events-list__header {
  margin-block-end: var(--inner-page-card-list-start-gap);
}

.events-list__heading {
  color: #a3301b;
  font-family: var(--font-dm-serif-text);
  letter-spacing: -.175rem;
  text-wrap: balance;
  margin: 0 0 1.5rem;
  font-size: 3.5rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
}

.events-list__intro {
  color: var(--color-black);
  font-family: var(--font-dm-sans);
  letter-spacing: 0;
  max-width: min(100%, 55.25rem);
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.4;
}

.events-list__intro > :last-child {
  margin-block-end: 0;
}

.events-list__filters {
  background-color: var(--color-white);
  box-sizing: border-box;
  max-width: 100%;
  flex-wrap: nowrap;
  justify-content: safe center;
  align-items: center;
  gap: .625rem;
  margin-block-end: var(--inner-page-card-list-start-gap);
  padding-block: .5rem;
  display: flex;
  overflow-x: auto;
}

.events-list__filters:before, .events-list__filters:after {
  background-color: var(--separator-color);
  content: "";
  height: var(--separator-height);
  flex: 1 1 0;
}

.events-list__filter {
  background: var(--color-white);
  color: var(--color-brand-red);
  font-family: var(--font-dm-sans);
  letter-spacing: 0;
  white-space: nowrap;
  border: 1px solid #0003;
  border-radius: 999px;
  flex: none;
  justify-content: center;
  align-items: center;
  gap: .375rem;
  min-height: 2rem;
  padding: .45rem .875rem;
  font-size: .875rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: background .2s, border-color .2s, color .2s;
  display: inline-flex;
}

.events-list__filter, .event-card__tag, .home-event-card__tag, .event-single__meta-item--type {
  --event-type-icon: url("../img/icons/event-filter-lightbulb.svg");
}

.events-list__filter--events, .events-list__filter--event, .event-card__tag--events, .event-card__tag--event, .home-event-card__tag--events, .home-event-card__tag--event, .event-single__meta-item--type-events, .event-single__meta-item--type-event {
  --event-type-icon: url("../img/icons/event-filter-calendar-check.svg");
}

.events-list__filter--workshops, .events-list__filter--workshop, .event-card__tag--workshops, .event-card__tag--workshop, .home-event-card__tag--workshops, .home-event-card__tag--workshop, .event-single__meta-item--type-workshops, .event-single__meta-item--type-workshop {
  --event-type-icon: url("../img/icons/event-filter-screwdriver-wrench.svg");
}

.events-list__filter--activities, .events-list__filter--activity, .event-card__tag--activities, .event-card__tag--activity, .home-event-card__tag--activities, .home-event-card__tag--activity, .event-single__meta-item--type-activities, .event-single__meta-item--type-activity {
  --event-type-icon: url("../img/icons/event-filter-lightbulb.svg");
}

.events-list__filter:is(.events-list__filter--events, .events-list__filter--event, .events-list__filter--workshops, .events-list__filter--workshop, .events-list__filter--activities, .events-list__filter--activity):before {
  content: "";
  height: .875rem;
  -webkit-mask: var(--event-type-icon) center / contain no-repeat;
  -webkit-mask: var(--event-type-icon) center / contain no-repeat;
  mask: var(--event-type-icon) center / contain no-repeat;
  width: .875rem;
  -webkit-mask: var(--event-type-icon) center / contain no-repeat;
  background-color: currentColor;
  flex: none;
  display: block;
}

.events-list__filter:hover:not(.is-active), .events-list__filter:focus-visible:not(.is-active) {
  background: var(--events-list-filter-hover-bg);
  color: var(--color-brand-red);
}

.events-list__filter.is-active:hover, .events-list__filter.is-active:focus-visible {
  color: var(--color-white);
}

.events-list__filter.is-active {
  background: var(--color-brand-red);
  border-color: var(--color-brand-red);
  color: var(--color-white);
}

.events-list__filter:focus-visible {
  outline: 2px solid var(--color-brand-gold);
  outline-offset: .25rem;
}

.events-list__grid {
  column-gap: var(--events-list-card-column-gap);
  justify-items: center;
  row-gap: var(--events-list-card-row-gap);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}

.event-card {
  color: var(--color-text-charcoal);
  font-family: var(--font-dm-sans);
  border: 1px solid #0000002e;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  height: 100%;
  display: flex;
}

.event-card__media {
  border-top: .5rem solid var(--color-brand-gold);
  height: 20rem;
  margin: 0;
  position: relative;
  overflow: hidden;
}

.event-card__image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.event-card__image--fallback {
  background-color: #00000014;
}

.event-card__tag {
  color: var(--color-text-charcoal);
  font-family: var(--font-dm-sans);
  letter-spacing: 0;
  z-index: 2;
  background-color: #f6eae8;
  border: 1px solid #00000026;
  border-radius: 999px;
  align-items: center;
  gap: .35rem;
  padding: .45rem .65rem;
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.2;
  display: inline-flex;
  position: absolute;
  top: .75rem;
  right: .75rem;
}

.event-card__tag:before, .event-card__meta-item:before {
  content: "";
  background-color: currentColor;
  flex: none;
  display: block;
}

.event-card__tag:before {
  height: .875rem;
  -webkit-mask: var(--event-type-icon) center / contain no-repeat;
  -webkit-mask: var(--event-type-icon) center / contain no-repeat;
  mask: var(--event-type-icon) center / contain no-repeat;
  width: .875rem;
  -webkit-mask: var(--event-type-icon) center / contain no-repeat;
}

.event-card__body {
  flex-direction: column;
  flex: auto;
  min-height: 19.25rem;
  padding: 1.5rem;
  display: flex;
}

.event-card__meta {
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1.5rem;
  margin-block-end: 1.5rem;
  display: flex;
}

.event-card__meta-item {
  color: var(--color-text-charcoal);
  font-family: var(--font-dm-sans);
  letter-spacing: 0;
  align-items: center;
  gap: .5rem;
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.2;
  display: inline-flex;
}

.event-card__meta-item:before {
  background-color: var(--color-text-charcoal);
  width: 1rem;
  height: 1rem;
}

.event-card__meta-item--date:before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.event-card__meta-item--time:before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 7v5l3 2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 7v5l3 2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.event-card__title {
  color: var(--color-text-charcoal);
  font-family: var(--font-dm-sans);
  letter-spacing: 0;
  margin: 0 0 1rem;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 800;
  line-height: 1.2;
}

.event-card__button {
  align-self: flex-start;
  margin-block-start: auto;
}

.event-card__button span {
  border: .125rem solid;
  border-width: .125rem .125rem 0 0;
  width: .55rem;
  height: .55rem;
  display: block;
  transform: rotate(45deg);
}

.event-card--compact .event-card__media {
  aspect-ratio: 280 / 168;
  border-top-width: .375rem;
  height: auto;
}

.event-card--compact .event-card__tag {
  gap: .25rem;
  padding: .28rem .45rem;
  font-size: .625rem;
  top: .5rem;
  right: .5rem;
}

.event-card--compact .event-card__tag:before {
  width: .625rem;
  height: .625rem;
}

.event-card--compact .event-card__body {
  min-height: 0;
  padding: .875rem;
}

.event-card--compact .event-card__meta {
  gap: .375rem .75rem;
  margin-block-end: .625rem;
}

.event-card--compact .event-card__meta-item {
  gap: .3rem;
  font-size: .75rem;
}

.event-card--compact .event-card__meta-item:before {
  width: .75rem;
  height: .75rem;
}

.event-card--compact .event-card__title {
  margin-block-end: .35rem;
  font-size: 1rem;
  line-height: 1.15;
}

.event-card--compact .event-card__summary, .event-card--compact .event-card__summary p {
  font-size: .8125rem;
  line-height: 1.25;
}

.event-card--compact .event-card__button {
  --button-padding-block: .55rem;
  --button-padding-inline: .875rem;
  min-height: 2.25rem;
  margin-block-start: auto;
  font-size: .8125rem;
}

.event-card--compact .event-card__button span {
  width: .45rem;
  height: .45rem;
}

.events-list__empty {
  color: var(--color-black);
  font-family: var(--font-dm-sans);
}

.events-list__pagination {
  margin-block-start: 5rem;
}

.events-list__pagination ul {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.events-list__pagination li {
  margin: 0;
  padding: 0;
}

.events-list__pagination .page-numbers {
  color: var(--color-black);
  font-family: var(--font-dm-sans);
  border: 1px solid #00000038;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 2.25rem;
  min-height: 2.25rem;
  padding: .35rem .75rem;
  font-size: .95rem;
  display: inline-flex;
}

.events-list__pagination .page-numbers.current, .events-list__pagination .page-numbers:focus-visible {
  background-color: var(--color-brand-red);
  border-color: var(--color-brand-red);
  color: var(--color-white);
}

.front-page-content > .section:has(.home-events-carousel) {
  --home-events-section-edge-space: 6.25rem;
  padding-block: var(--home-events-section-edge-space);
  padding-inline: 0;
}

.front-page-content > .section.section--gold-top-bar:has(.home-events-carousel) {
  padding-block-start: calc(var(--home-events-section-edge-space)  - .5rem);
}

.front-page-content > .section:has(.home-events-carousel) > .container {
  max-width: none;
  padding-inline: clamp(1.5rem, 6vw, 6.25rem);
}

@media (width >= 64rem) {
  .front-page-content > .section:has(.home-events-carousel) > .container {
    padding-inline: 6.25rem;
  }

  .front-page-content > .section:has(.home-events-carousel) .acf-innerblocks-container > .wp-block-group:first-child {
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1.5rem;
  }

  .front-page-content > .section:has(.home-events-carousel) .acf-innerblocks-container > .wp-block-group:first-child > :is(h1, h2, h3, h4, h5, h6) {
    white-space: nowrap;
    flex: 0 38.8125rem;
    max-width: 38.8125rem;
  }

  .front-page-content > .section:has(.home-events-carousel) .acf-innerblocks-container > .wp-block-group:first-child > :where(p, .wp-block-paragraph) {
    flex: 55.25rem;
    max-width: 55.25rem;
    padding-block-start: .375rem;
  }
}

.home-events-carousel {
  --home-events-card-width: var(--home-events-image-width);
  --home-events-gap: clamp(1.25rem, 2vw, 1.5rem);
  --home-events-control-size: 2.5rem;
  --home-events-image-height: 22.125rem;
  --home-events-image-width: 40rem;
  color: var(--color-black);
  font-family: var(--font-dm-sans);
  width: 100%;
  margin-block-start: clamp(3rem, 6vw, 4.5rem);
}

@media (width >= 64rem) {
  .home-events-carousel {
    --home-events-card-width: var(--home-events-image-width);
  }
}

.home-events-carousel__viewport {
  position: relative;
}

.home-events-carousel__track {
  -webkit-overflow-scrolling: touch;
  align-items: stretch;
  gap: var(--home-events-gap);
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-block-end: .25rem;
  scroll-padding-inline: .125rem;
  display: flex;
  overflow-x: auto;
}

.home-events-carousel__track.is-carousel-looping {
  scroll-snap-type: none;
  touch-action: pan-y pinch-zoom;
}

.home-events-carousel__track::-webkit-scrollbar {
  display: none;
}

.home-event-card {
  flex: 0 0 min(100%, var(--home-events-card-width));
  scroll-snap-align: start;
  margin: 0;
  display: flex;
}

.home-event-card__link {
  color: var(--color-text-charcoal);
  flex-direction: column;
  width: 100%;
  height: 100%;
  text-decoration: none;
  display: flex;
}

.home-event-card__media {
  border-top: .5rem solid var(--color-brand-gold);
  box-sizing: border-box;
  background-color: #00000014;
  margin: 0;
  position: relative;
  overflow: hidden;
}

.home-event-card__image {
  height: var(--home-events-image-height);
  object-fit: cover;
  width: 100%;
  display: block;
}

.home-event-card__image--fallback {
  background-color: #00000014;
}

.home-event-card__tag {
  color: var(--color-text-charcoal);
  font-family: var(--font-dm-sans);
  z-index: 2;
  background-color: #f6eae8;
  border: 1px solid #00000026;
  border-radius: 999px;
  align-items: center;
  gap: .35rem;
  padding: .4rem .6rem;
  font-size: .875rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.2;
  display: inline-flex;
  position: absolute;
  top: .75rem;
  right: .75rem;
}

.home-event-card__tag:before, .home-event-card__meta-item:before {
  content: "";
  background-color: currentColor;
  flex: none;
  display: block;
}

.home-event-card__tag:before {
  height: .8125rem;
  -webkit-mask: var(--event-type-icon) center / contain no-repeat;
  -webkit-mask: var(--event-type-icon) center / contain no-repeat;
  mask: var(--event-type-icon) center / contain no-repeat;
  width: .8125rem;
  -webkit-mask: var(--event-type-icon) center / contain no-repeat;
}

.home-event-card__body {
  background-color: #00000009;
  border: 1px solid #00000038;
  border-top: 0;
  flex: 1;
  grid-template-columns: minmax(0, 1fr) 2.25rem;
  align-items: center;
  gap: 1rem;
  min-height: 9.25rem;
  padding: 1.5rem;
  display: grid;
}

.home-event-card__content {
  min-width: 0;
}

.home-event-card__meta {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem 1rem;
  margin-block-end: .875rem;
  display: flex;
}

.home-event-card__meta-item {
  color: var(--color-text-charcoal);
  font-family: var(--font-dm-sans);
  align-items: center;
  gap: .4rem;
  font-size: .875rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.2;
  display: inline-flex;
}

.home-event-card__meta-item:before {
  background-color: var(--color-text-charcoal);
  width: .875rem;
  height: .875rem;
}

.home-event-card__meta-item--date:before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.home-event-card__meta-item--time:before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 7v5l3 2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 7v5l3 2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.home-event-card__title {
  color: var(--color-text-charcoal);
  font-family: var(--font-dm-sans);
  margin: 0;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 800;
  line-height: 1.2;
}

.home-event-card__summary {
  margin-block-start: .75rem;
}

.home-event-card__summary > :not(:first-child) {
  display: none;
}

.home-event-card__summary, .home-event-card__summary p {
  color: var(--color-text-charcoal);
  letter-spacing: 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
}

.home-event-card__summary p {
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  margin: 0;
  display: -webkit-box;
  overflow: hidden;
}

.home-event-card__arrow {
  color: #484848;
  letter-spacing: -.025rem;
  justify-content: center;
  align-items: center;
  width: 2.25rem;
  height: 2.25rem;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 900;
  line-height: 1.2;
  display: inline-flex;
  position: relative;
}

.home-event-card__arrow:before {
  content: "";
  border: .1875rem solid;
  border-width: .1875rem .1875rem 0 0;
  width: .75rem;
  height: .75rem;
  transform: rotate(45deg);
}

.home-event-card__link:hover, .home-event-card__link:focus-visible {
  color: var(--color-brand-red);
}

.home-event-card__link:focus-visible {
  outline: 2px solid var(--color-brand-gold);
  outline-offset: -.25rem;
}

.home-events-carousel__control {
  background: var(--color-white);
  border: 1px solid var(--color-mid-grey);
  box-sizing: border-box;
  color: var(--color-red-primary);
  cursor: pointer;
  height: var(--home-events-control-size);
  letter-spacing: -.0675rem;
  width: var(--home-events-control-size);
  border-radius: 1.5rem;
  justify-content: center;
  align-items: center;
  gap: .625rem;
  padding: .75rem;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  transition: background-color .16s, border-color .16s, color .16s;
  display: flex;
  position: relative;
}

.home-events-carousel__control:before {
  content: "";
  border: .125rem solid;
  border-width: .125rem .125rem 0 0;
  width: .625rem;
  height: .625rem;
  position: absolute;
  top: 50%;
  left: 50%;
}

.home-events-carousel__control--prev:before {
  left: calc(50% + .125rem);
  transform: translate(-50%, -50%)rotate(-135deg);
}

.home-events-carousel__control--next:before {
  left: calc(50% - .125rem);
  transform: translate(-50%, -50%)rotate(45deg);
}

.home-events-carousel__control:focus-visible {
  background: var(--color-white);
  border-color: var(--color-mid-grey);
  color: var(--color-red-primary);
  outline: 2px solid var(--color-brand-gold);
  outline-offset: .25rem;
}

.home-events-carousel__footer {
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  margin-block-start: 2.5rem;
  display: flex;
}

.home-events-carousel__footer:not(:has(.home-events-carousel__controls)) {
  justify-content: flex-end;
}

@media screen and (width >= 48rem) {
  .home-events-carousel--short-set .home-events-carousel__controls {
    display: none;
  }

  .home-events-carousel--short-set .home-events-carousel__footer {
    justify-content: flex-end;
  }
}

.home-events-carousel__controls, .home-events-carousel__arrows, .home-events-carousel__dots {
  align-items: center;
  display: flex;
}

.home-events-carousel__controls {
  flex-wrap: wrap;
  gap: 1rem;
}

.home-events-carousel__arrows, .home-events-carousel__dots {
  gap: .625rem;
}

.home-events-carousel__dot {
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  display: flex;
}

.home-events-carousel__dot:before {
  background-color: var(--color-mid-grey);
  border-radius: inherit;
  content: "";
  width: .75rem;
  height: .75rem;
  transition: background-color .16s, width .16s;
  display: block;
}

.home-events-carousel__dot.is-active {
  width: 2.75rem;
}

.home-events-carousel__dot.is-active:before {
  background-color: var(--color-text-charcoal);
  width: 2.75rem;
}

.home-events-carousel__dot:hover, .home-events-carousel__dot:focus-visible {
  outline: 2px solid #0000;
}

.home-events-carousel__dot:hover:before, .home-events-carousel__dot:focus-visible:before {
  background-color: var(--color-brand-red);
}

.home-events-carousel__dot:focus-visible {
  outline-color: var(--color-brand-gold);
  outline-offset: .25rem;
}

.home-events-carousel__see-all {
  background-color: var(--color-brand-red-soft);
  color: var(--color-red-primary);
  font-family: var(--font-dm-sans);
  align-items: center;
  gap: var(--button-gap);
  min-height: 3rem;
  padding: var(--button-padding-block) var(--button-padding-inline);
  white-space: nowrap;
  border: 1px solid #00000057;
  border-radius: 999px;
  justify-content: center;
  font-size: 1rem;
  font-weight: 700;
  line-height: normal;
  text-decoration: none;
  transition: background-color .16s, border-color .16s;
  display: inline-flex;
}

.home-events-carousel__see-all:hover, .home-events-carousel__see-all:focus-visible {
  border-color: var(--color-brand-red);
  color: var(--color-red-primary);
  background-color: #a2301a29;
}

.home-events-carousel__see-all:focus-visible {
  outline: 2px solid var(--color-brand-gold);
  outline-offset: .25rem;
}

.home-events-carousel__empty {
  color: var(--color-black);
  font-family: var(--font-dm-sans);
}

@media screen and (width >= 80rem) {
  .events-list__filters {
    top: var(--events-list-sticky-offset);
    z-index: 20;
    position: sticky;
  }
}

@media screen and (width <= 63.9375rem) {
  .events-list__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (width <= 47.9375rem) {
  .front-page-content > .section:has(.home-events-carousel) {
    --home-events-section-edge-space: 2.5rem;
  }

  .front-page-content > .section:has(.home-events-carousel) > .container {
    padding-inline: var(--mobile-layout-gutter);
  }

  .events-list__heading {
    font-size: 3.25rem;
  }

  .events-list__filters {
    justify-content: flex-start;
    gap: .25rem;
    width: 100%;
    margin-inline: 0;
  }

  .events-list__filters:before, .events-list__filters:after {
    display: none;
  }

  .events-list__filter {
    flex: 1 0 auto;
    gap: .25rem;
    min-width: 0;
    min-height: 2.75rem;
    padding-inline: .3125rem;
    font-size: .875rem;
  }

  .events-list__filter:first-child {
    flex-basis: 3rem;
    min-width: 3rem;
  }

  .events-list__filter--events, .events-list__filter--event {
    order: 1;
  }

  .events-list__filter--workshops, .events-list__filter--workshop {
    order: 2;
  }

  .events-list__filter--activities, .events-list__filter--activity {
    order: 3;
  }

  .events-list__grid {
    grid-template-columns: 1fr;
    row-gap: 1.25rem;
  }

  .event-card {
    max-width: none;
  }

  .event-card__media {
    height: clamp(14rem, 64vw, 20rem);
  }

  .event-card__tag, .event-card--compact .event-card__tag, .home-event-card__tag {
    box-sizing: border-box;
    border: .5px solid #282828;
    border-radius: 6.25rem;
    justify-content: center;
    gap: .3125rem;
    width: max-content;
    min-width: 4.8125rem;
    min-height: 1.5rem;
    padding: .1875rem .4375rem;
    font-size: .75rem;
    display: flex;
  }

  .event-card__tag:before, .event-card--compact .event-card__tag:before, .home-event-card__tag:before {
    width: .75rem;
    height: .75rem;
  }

  .event-card__body {
    min-height: 17rem;
    padding: 1.25rem;
  }

  .event-card__button {
    margin-block-start: var(--button-content-gap, 1.5rem);
  }

  .event-card__meta {
    flex-direction: column;
    align-items: flex-start;
  }

  .home-events-carousel {
    --home-events-card-width: calc(100vw - (var(--mobile-layout-gutter) * 2));
    --home-events-control-size: 2.5rem;
    --home-events-image-height: clamp(14rem, 64vw, 20rem);
  }

  .home-events-carousel__footer {
    flex-direction: column;
    align-items: flex-start;
  }

  .home-events-carousel__see-all {
    --button-padding-block: .625rem;
    --button-padding-inline: 1.25rem;
    justify-content: center;
    align-self: flex-start;
    align-items: center;
    gap: .625rem;
    inline-size: min(22.3rem, 100%);
    padding: .625rem 1.25rem;
    display: flex;
  }

  .home-event-card__body {
    grid-template-columns: minmax(0, 1fr) 2rem;
    min-height: 8.25rem;
    padding: 1.25rem;
  }

  .home-event-card__arrow {
    width: 2rem;
    height: 2rem;
  }
}

.event-single {
  --events-list-card-column-gap: 1.25rem;
  --events-list-card-row-gap: 5rem;
  --event-single-content-width: 61.5rem;
  --event-single-masthead-content-inset: clamp(1.5rem, 8vw, 6.2rem);
  --event-single-media-width: 52rem;
  --event-single-text-width: 43.75rem;
  background-color: var(--color-white);
  color: var(--color-black);
  font-family: var(--font-dm-sans);
}

.event-single__masthead {
  --inner-page-masthead-height: 18.0625rem;
  min-height: var(--inner-page-masthead-height);
}

.event-single__masthead .inner-page-masthead__content {
  padding-block: 3rem 2rem;
}

.event-single__breadcrumbs {
  color: var(--color-white);
  font-family: var(--font-dm-sans);
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  margin-block-end: clamp(1.5rem, 4vw, 2.5rem);
  font-size: .8125rem;
  line-height: 1.2;
  display: flex;
}

.event-single__breadcrumbs a, .event-single__breadcrumbs span {
  color: inherit;
  text-decoration: none;
}

.event-single__breadcrumbs a:focus-visible {
  outline: 2px solid var(--color-brand-gold);
  outline-offset: .2rem;
}

.event-single__masthead-title {
  max-width: none;
}

.event-single__masthead-intro {
  letter-spacing: 0;
  margin-block-start: .75rem;
  font-size: 1rem;
  font-weight: 500;
}

.event-single__main {
  background-color: var(--color-white);
  padding-block: clamp(3rem, 6vw, 4rem) clamp(6rem, 10vw, 8.75rem);
}

.event-single__container {
  max-width: calc(var(--event-single-content-width)  + 6rem);
  width: 100%;
  margin-inline: auto;
  padding-inline: clamp(1.5rem, 5vw, 3rem);
}

.event-single__main > .event-single__container {
  max-width: none;
  padding-inline: var(--event-single-masthead-content-inset);
}

.event-single__back {
  color: var(--color-black);
  align-items: center;
  gap: .25rem;
  margin-block-end: 1.25rem;
  margin-inline-start: 0;
  font-size: .875rem;
  line-height: 1;
  text-decoration: none;
  display: inline-flex;
}

.event-single__back span {
  border: 0 solid;
  border-width: .09375rem 0 0 .09375rem;
  width: .5rem;
  height: .5rem;
  display: inline-block;
  transform: rotate(-45deg);
}

.event-single__back:focus-visible {
  outline: 2px solid var(--color-brand-gold);
  outline-offset: .25rem;
}

.event-single__media {
  border-top: .5rem solid var(--color-brand-gold);
  max-width: var(--event-single-media-width);
  background-color: #0000000f;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}

.event-single__image {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
  height: auto;
  display: block;
}

.event-single__meta {
  max-width: var(--event-single-media-width);
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1.5rem;
  width: 100%;
  margin: 1.5rem auto 2.5rem;
  display: flex;
}

.event-single__meta-item {
  color: var(--color-text-charcoal);
  font-family: var(--font-dm-sans);
  letter-spacing: 0;
  align-items: center;
  gap: .5rem;
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.2;
  display: inline-flex;
}

.event-single__meta-item:before {
  content: "";
  background-color: currentColor;
  flex: none;
  width: 1rem;
  height: 1rem;
  display: block;
}

.event-single__meta-item--type:before {
  -webkit-mask: var(--event-type-icon) center / contain no-repeat;
  -webkit-mask: var(--event-type-icon) center / contain no-repeat;
  mask: var(--event-type-icon) center / contain no-repeat;
  -webkit-mask: var(--event-type-icon) center / contain no-repeat;
}

.event-single__meta-item--date:before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.event-single__meta-item--time:before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 7v5l3 2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 7v5l3 2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.event-single__separator {
  background-color: var(--separator-color);
  height: var(--separator-height);
  max-width: var(--event-single-media-width);
  border: 0;
  margin: 0 auto 2.5rem;
}

.event-single__content {
  max-width: var(--event-single-text-width);
  margin-inline: auto;
}

.event-single__title {
  color: var(--color-inner-heading);
  font-family: var(--font-dm-serif-text);
  letter-spacing: 0;
  text-wrap: balance;
  margin: 0 0 1rem;
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  font-weight: 400;
  line-height: 1;
}

.event-single__text {
  color: var(--color-black);
  font-family: var(--font-dm-sans);
  font-size: 1rem;
  line-height: 1.45;
}

.event-single__text > :first-child {
  margin-block-start: 0;
}

.event-single__text > :last-child {
  margin-block-end: 0;
}

.event-single__more {
  background-color: var(--color-brand-red-soft);
  padding-block: clamp(3rem, 6vw, 4rem) clamp(5rem, 9vw, 8.75rem);
}

.event-single__more-container {
  max-width: calc(var(--event-single-content-width)  + 6rem);
}

.event-single__more-heading {
  color: var(--color-black);
  font-family: var(--font-dm-sans);
  letter-spacing: 0;
  margin: 0 0 1.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
}

.event-single__more-grid {
  column-gap: 1.5rem;
  row-gap: var(--events-list-card-row-gap);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}

@media screen and (width >= 120rem) {
  .event-single {
    --event-single-masthead-content-inset: 12.25rem;
  }
}

@media screen and (width >= 48rem) {
  .event-single__more-grid .event-card--compact .event-card__body {
    min-height: 15rem;
  }
}

@media screen and (width <= 63.9375rem) {
  .event-single__more-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (width <= 47.9375rem) {
  .event-single {
    --event-single-masthead-content-inset: var(--inner-page-container-padding-inline);
  }

  .event-single__back {
    margin-inline-start: 0;
  }

  .event-single__separator {
    margin-block: 2.5rem;
  }

  .event-single__more-grid {
    grid-template-columns: 1fr;
    row-gap: 1.25rem;
  }
}
