/* DBGS1SD-142 — icomoon subset bundled from the mockup so calendar icons
   render regardless of the theme. Unique family name + scoped to .event-filters
   so it never overrides themekit's global icon font. */
@font-face {
  font-family: "dbgcal-icomoon";
  src: url(../fonts/icomoon-pMiboZkx.woff2) format("woff2"),
       url(../fonts/icomoon-DoItB3uX.woff) format("woff"),
       url(../fonts/icomoon-4YhAkE5e.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.event-filters [class^="icon-"],
.event-filters [class*=" icon-"] {
  font-family: "dbgcal-icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.event-filters .icon-aam:before { content: "\e923"; }
.event-filters .icon-apga:before { content: "\e922"; }
.event-filters .icon-arrow-right:before { content: "\e909"; }
.event-filters .icon-arrow-up2:before { content: "\e609"; }
.event-filters .icon-calendar:before { content: "\e90a"; }
.event-filters .icon-caret-down:before { content: "\e901"; }
.event-filters .icon-chatfield:before { content: "\e600"; }
.event-filters .icon-check_circle:before { content: "\e86c"; }
.event-filters .icon-chicken:before { content: "\e600"; }
.event-filters .icon-clone:before { content: "\e906"; }
.event-filters .icon-dbg_blog:before { content: "\e907"; }
.event-filters .icon-edit:before { content: "\e902"; }
.event-filters .icon-error:before { content: "\e000"; }
.event-filters .icon-facebook:before { content: "\e602"; }
.event-filters .icon-gear:before { content: "\e904"; }
.event-filters .icon-globe:before { content: "\e8ff"; }
.event-filters .icon-google-plus:before { content: "\e607"; }
.event-filters .icon-info:before { content: "\e88e"; }
.event-filters .icon-instagram:before { content: "\e603"; }
.event-filters .icon-leaf:before { content: "\e604"; }
.event-filters .icon-linkedin:before { content: "\e605"; }
.event-filters .icon-pinterest:before { content: "\e800"; }
.event-filters .icon-scfd:before { content: "\e908"; }
.event-filters .icon-search:before { content: "\e601"; }
.event-filters .icon-settings:before { content: "\e8b8"; }
.event-filters .icon-tiktok:before { content: "\e90b"; }
.event-filters .icon-trash:before { content: "\e903"; }
.event-filters .icon-twitter:before { content: "\e606"; }
.event-filters .icon-view:before { content: "\e905"; }
.event-filters .icon-vimeo:before { content: "\eaa0"; }
.event-filters .icon-warning:before { content: "\e608"; }
.event-filters .icon-york:before { content: "\e604"; }
.event-filters .icon-youtube:before { content: "\e900"; }
.event-filters .icon-check:before { content: "\e86c"; }

/* DBGS1SD-142 — Calendar event-filters styles, extracted & scoped from the design mockup (fruition.github.io/dbg-design-updates/calendar). Fonts/icons inherit from themekit. */


.event-filters .container {
  width:100%;
  max-width:1100px;
  margin-left:auto;
  margin-right:auto;
  padding-left:30px;
  padding-right:30px;
}

.event-filters.section {
  padding-top:1.5rem;
  padding-bottom:1.5rem;
}

.event-filters.section.pb-0 {
  padding-bottom:0;
}

.event-filters .sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.event-filters .btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  padding:11px 24px 12px;
  font-family:sofia-pro,Helvetica,Arial,sans-serif;
  font-size:1.125rem;
  font-weight:600;
  letter-spacing:.5px;
  color:#1a1a1a;
  line-height:1;
  text-decoration:none;
  border:2px solid transparent;
  border-radius:0;
  cursor:pointer;
  transition:background-color .15s ease,color .15s ease,border-color .15s ease;
}

.event-filters .btn:after {
  content:"";
  flex:none;
  width:9px;
  height:9px;
  border-top:2px solid currentColor;
  border-right:2px solid currentColor;
  transform:rotate(45deg);
}

.event-filters .btn:focus-visible {
  outline:2px solid #006088;
  outline-offset:2px;
}

.event-filters .btn--primary {
  background-color:#006088;
  color:#fff;
  border-color:transparent;
}

.event-filters .btn--primary:hover {
  background-color:#003c55;
}

.event-filters .btn--outline {
  background-color:#fff;
  border-color:#006088;
  color:#006088;
}

.event-filters .btn--outline:hover {
  background-color:#e6eff3;
}

.event-filters .btn--white {
  background-color:#fff;
  border-color:#fff;
  color:#006088;
}

.event-filters .btn--white:hover {
  background-color:#efefef;
}

.event-filters .btn--on-dark {
  background-color:transparent;
  border-color:#fff;
  color:#fff;
}

.event-filters .btn--on-dark:hover {
  background-color:#ffffff1f;
  border-color:#fff;
}

.event-filters .btn--on-dark:focus-visible {
  outline-color:#fff;
}

.event-filters .btn--disabled,
.event-filters .btn:disabled {
  opacity:.5;
  cursor:not-allowed;
  pointer-events:none;
}

.event-filters .btn--full-width {
  width:100%;
}

.event-filters .cta-link {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-size:1.125rem;
  font-weight:600;
  letter-spacing:.5px;
  color:#006088;
  text-decoration:none;
  transition:gap .15s ease,color .15s ease;
}

.event-filters .cta-link:hover {
  gap:.75rem;
  color:#003c55;
}

.event-filters .cta-link__icon {
  transition:transform .15s ease;
}

.event-filters .cta-link:hover .cta-link__icon {
  transform:translate(2px);
}

.event-filters .card {
  display:flex;
  flex-direction:column;
  background-color:#fff;
  border:1px solid #d3d3d3;
  border-radius:0;
  overflow:hidden;
  transition:box-shadow .25s ease;
}

.event-filters .card:hover {
  box-shadow:0 2px 13px #0000001a;
}

.event-filters .card__media {
  aspect-ratio:16/10;
  background-color:#efefef;
}

.event-filters .card__media:empty {
  display:none;
}

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

.event-filters .card__body {
  display:flex;
  flex-direction:column;
  gap:.75rem;
  padding:1.5rem;
  flex:1;
}

.event-filters .card__eyebrow {
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.8125rem;
  color:#006088;
}

.event-filters .card__eyebrow:empty {
  display:none;
}

.event-filters .card__headline {
  margin-bottom:0;
  font-size:1.5rem;
}

.event-filters .card__description {
  color:#000;
}

.event-filters .card__description:empty {
  display:none;
}

.event-filters .card__actions {
  margin-top:auto;
  padding-top:1rem;
}

.event-filters .card__actions:empty,
.event-filters .card__actions:not(:has(*)) {
  display:none;
}

.event-filters .card--no-media .card__media,
.event-filters .card .card__icon {
  display:none;
}

.event-filters .card--icon .card__icon {
  display:inline-flex;
  margin-bottom:.25rem;
}

.event-filters .card--featured {
  border:2px solid #006088;
  background-color:#e6eff3;
}

.event-filters .card--featured:hover {
  box-shadow:0 2px 13px #0000001a;
}

.event-filters .card--icon-image {
  flex-direction:row;
  align-items:flex-start;
  gap:1rem;
  padding:0;
  background-color:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}

.event-filters .card--icon-image:hover {
  box-shadow:none;
  transform:none;
}

.event-filters .card--icon-image .card__media {
  aspect-ratio:auto;
  flex:none;
  width:3.2rem;
  height:3.2rem;
  background-color:transparent;
}

.event-filters .card--icon-image .card__image {
  width:100%;
  height:100%;
  object-fit:contain;
}

.event-filters .card--icon-image .card__body {
  padding:0;
  gap:.5rem;
}

.event-filters .card--icon-image .card__headline {
  font-size:1.125rem;
}

.event-filters .card-event {
  position:relative;
  background-color:transparent;
  border:0;
  box-shadow:none;
}

.event-filters .card-event:hover {
  box-shadow:none;
  transform:none;
}

.event-filters .card-event__body {
  padding:1rem 0 0;
}

.event-filters .card-event__media {
  position:relative;
  border-radius:0;
  overflow:hidden;
}

.event-filters .card-event__location {
  position:absolute;
  top:0;
  left:0;
}

.event-filters .card-event__location:empty {
  display:none;
}

.event-filters .card-event__location .tag {
  border-radius:0;
  color:#fff;
  background-color:#5d5d5d;
  gap:.25rem;
}

.event-filters .card-event__location .tag--loc-york {
  background-color:#5d7a1d;
}

.event-filters .card-event__location .tag--loc-chatfield {
  background-color:#831727;
}

.event-filters .card-event__location .tag--loc-plains {
  background-color:#a8630c;
}

.event-filters .card-event__location .tag--loc-offsite {
  background-color:#5d5d5d;
}

.event-filters .card-event__badge {
  position:absolute;
  top:.75rem;
  right:.75rem;
}

.event-filters .card-event__badge:empty {
  display:none;
}

.event-filters .card-event__body {
  gap:.75rem;
}

.event-filters .card-event__title {
  font-size:1.25rem;
  font-weight:700;
  line-height:1.375;
  margin:0;
}

.event-filters .card-event__link {
  color:#006088;
  text-decoration:none;
}

.event-filters .card-event__link:after {
  content:"";
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
}

.event-filters .card-event__link:hover {
  color:#003c55;
  text-decoration:underline;
}

.event-filters .card-event__link:focus-visible {
  outline:2px solid #006088;
  outline-offset:2px;
}

.event-filters .card-event__meta {
  margin:0;
  color:#5d5d5d;
  font-size:.875rem;
  font-weight:700;
}

.event-filters .card-event__terms:not(:empty):before {
  content:"|";
  margin:0 .5rem;
}

.event-filters .card-event__description {
  color:#000;
  font-size:1rem;
  line-height:1.5;
  /* Keep every teaser to a consistent depth (first three lines of the body);
     longer summaries are truncated so the cards line up. */
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  overflow:hidden;
}

/* Collapse the summary's own paragraph margins so the line clamp measures
   text lines predictably rather than paragraph spacing. */
.event-filters .card-event__description > :first-child {
  margin-top:0;
}

.event-filters .card-event__description > :last-child {
  margin-bottom:0;
}

.event-filters .card-event__description:empty {
  display:none;
}

.event-filters .card-event__more {
  position:relative;
  z-index:1;
  margin-top:.5rem;
  font-size:.875rem;
}

.event-filters .tag {
  display:inline-flex;
  align-items:center;
  padding:.25rem .75rem;
  border-radius:9999px;
  background-color:#efefef;
  color:#5d5d5d;
  font-size:.8125rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.event-filters .tag--primary {
  background-color:#e6eff3;
  color:#003c55;
}

.event-filters .tag--success {
  background-color:#e9f6e3;
  color:#1d7307;
}

.event-filters .tag--warning {
  background-color:#fbf0db;
  color:#8a5708;
}

.event-filters .tag--error {
  background-color:#f8e7e7;
  color:#962f2f;
}

.event-filters .feed-section--card-top-stroke .feed-section__grid .card {
  border-top:4px solid #006088;
}

.event-filters .feed-section__grid:has(.card--featured) .card--featured {
  grid-column:1/-1;
}

.event-filters .feed-section__grid:has(.card--featured) .card:not(.card--featured) {
  background-color:#f7f7f7;
  border-color:#d3d3d3;
  box-shadow:none;
}

.event-filters .feed-section__grid:has(.card--featured) .card:not(.card--featured):hover {
  box-shadow:0 1px 2px #0000000d;
}

.event-filters .membership-levels__grid[hidden] {
  display:none;
}

.event-filters .tier-card__actions .btn {
  width:100%;
  padding-inline:1rem;
  white-space:nowrap;
}

.event-filters .benefits-comparison tfoot .btn {
  white-space:nowrap;
}

.event-filters {
  background-color:#fff;
}

.event-filters__layout {
  display:grid;
  grid-template-columns:minmax(0,320px) minmax(0,1fr);
  gap:2.5rem;
  align-items:start;
}

.event-filters__sidebar {
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.event-filters__panel {
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  padding:1.5rem;
  background-color:#fff;
  border:1px solid #c0b59e;
  border-radius:0;
}

.event-filters__panel-head {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
}

.event-filters__panel-title {
  margin:0;
  font-size:1.25rem;
}

.event-filters__clear-inline {
  position:relative;
  border:0;
  background:none;
  padding:0;
  color:#5d5d5d;
  font-family:inherit;
  font-size:.8125rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
  cursor:pointer;
}

.event-filters__clear-inline:before {
  content:"";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:100%;
  min-height:44px;
}

.event-filters__clear-inline:hover {
  color:#006088;
}

.event-filters__clear-inline:focus-visible {
  outline:2px solid #006088;
  outline-offset:2px;
}

.event-filters__always,
.event-filters__more,
.event-filters__more-body {
  display:flex;
  flex-direction:column;
  gap:2rem;
}

.event-filters__field {
  display:flex;
  flex-direction:column;
  gap:1rem;
  border:0;
  padding:0;
  margin:0;
  min-width:0;
}

.event-filters__legend {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:0;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.8125rem;
  color:#475d16;
}

.event-filters__legend i {
  font-size:.9em;
}

.event-filters legend.event-filters__legend {
  margin-bottom:1rem;
}

.event-filters__search {
  position:relative;
}

.event-filters__search-icon {
  position:absolute;
  right:1rem;
  top:50%;
  transform:translateY(-100%);
  color:#707070;
  pointer-events:none;
}

.event-filters__search-input {
  width:100%;
  padding:.75rem 1rem .75rem 2.5rem;
  font:inherit;
  color:#000;
  background-color:#fff;
  border:1px solid #c4c4c4;
  border-radius:0;
}

.event-filters__search-input::placeholder {
  color:#707070;
}

.event-filters__search-input:focus-visible {
  outline:2px solid #5d7a1d;
  outline-offset:1px;
  border-color:#5d7a1d;
}

.event-filters__dates {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));
  gap:.75rem;
}

.event-filters__date {
  display:flex;
  flex-direction:column;
  gap:.25rem;
  min-width:0;
}

.event-filters__date .event-filters__date-label {
  font-size:.8125rem;
  color:#5d5d5d;
}

.event-filters__date input {
  width:100%;
  padding:.5rem .75rem;
  font:inherit;
  font-size:.875rem;
  color:#000;
  background-color:#fff;
  border:1px solid #c4c4c4;
  border-radius:0;
}

.event-filters__date input:focus-visible {
  outline:2px solid #5d7a1d;
  outline-offset:1px;
}

.event-filters__chips {
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}

.event-filters__chip {
  color:#5d5d5d;
  background-color:#fff;
  border:1px solid #c4c4c4;
  border-radius:0;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease;
}

.event-filters__chip:hover {
  border-color:#5d7a1d;
  color:#475d16;
}

.event-filters__chip:focus-visible,
.event-filters__chip:focus-within {
  outline:2px solid #5d7a1d;
  outline-offset:2px;
}

.event-filters__chip {
  display:inline-flex;
  align-items:center;
  padding:.5rem 1rem;
  font:inherit;
  font-size:.875rem;
  line-height:1.1;
  cursor:pointer;
}

.event-filters__chip.is-active {
  background-color:#eef1e4;
  border-color:#5d7a1d;
  color:#475d16;
  font-weight:600;
}

.event-filters__chip--toggle input {
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.event-filters__chip--toggle:has(input:checked) {
  background-color:#eef1e4;
  border-color:#5d7a1d;
  color:#475d16;
  font-weight:600;
}

.event-filters__chip-check {
  width:.34rem;
  height:.58rem;
  border:solid #5d7a1d;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
  display:none;
}

.event-filters__chip--toggle:has(input:checked) .event-filters__chip-check {
  display:block;
  margin-right:.75rem;
}

.event-filters__group {
  border-top:1px solid #d3d3d3;
  padding-top:0.5rem;
  padding-bottom:0.5rem;
}

.event-filters__group-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  list-style:none;
}

.event-filters__group-summary::-webkit-details-marker {
  display:none;
}

.event-filters__group-summary:focus-visible {
  outline:2px solid #5d7a1d;
  outline-offset:2px;
}

.event-filters__chevron {
  color:#5d5d5d;
  transition:transform .15s ease;
}

.event-filters__group[open] .event-filters__chevron {
  transform:rotate(180deg);
}

.event-filters__group-body {
  display:flex;
  flex-direction:column;
  gap:.75rem;
  padding:0.5rem;
}

.event-filters__check {
  display:flex;
  align-items:center;
  gap:.75rem;
  font-size:1rem;
  color:#000;
  cursor:pointer;
}

.event-filters__check input {
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.event-filters__check:hover .event-filters__check-box {
  border-color:#5d7a1d;
}

.event-filters__check-box {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:1.25rem;
  height:1.25rem;
  background-color:#fff;
  border:1.5px solid #a2a2a2;
  border-radius:0;
  transition:background-color .15s ease,border-color .15s ease;
}

.event-filters__check-box i {
  width:.34rem;
  height:.58rem;
  border:solid #5d7a1d;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
  margin-top:-.12rem;
  opacity:0;
  transition:opacity .15s ease;
}

.event-filters__check input:checked+.event-filters__check-box {
  border-color:#5d7a1d;
}

.event-filters__check input:checked+.event-filters__check-box i {
  opacity:1;
}

.event-filters__check input:focus-visible+.event-filters__check-box {
  outline:2px solid #5d7a1d;
  outline-offset:2px;
}

.event-filters__more-head,
.event-filters__more-foot,
.event-filters__backdrop {
  display:none;
}

/* Scoped to beat `.event-filters .btn { display:inline-flex }` (same 0,2,0
   specificity, later in source) — the toggle carries the `btn` class, so a
   bare `.event-filters__more-toggle` hide would lose and the button would
   show on desktop where all filters are already visible. Only revealed in
   the ≤768px modal breakpoint below. */
.event-filters .event-filters__more-toggle {
  display:none;
}

.event-filters__results {
  min-width:0;
}

.event-filters__toolbar {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding-bottom:1.25rem;
  border-bottom:1px solid #c0b59e;
}

.event-filters__summary {
  margin:0;
  font-size:1rem;
  color:#5d5d5d;
}

.event-filters__summary strong {
  color:#000;
  font-weight:600;
}

.event-filters__sort {
  display:inline-flex;
  align-items:center;
  gap:.75rem;
}

.event-filters__sort-label {
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.8125rem;
  color:#5d5d5d;
}

.event-filters__select {
  position:relative;
  display:inline-flex;
  align-items:center;
}

.event-filters__select select {
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  font:inherit;
  font-size:.875rem;
  line-height:1.1;
  color:#000;
  background-color:#fff;
  border:1px solid #c4c4c4;
  border-radius:0;
  padding:.5rem 2rem .5rem 1rem;
  cursor:pointer;
}

.event-filters__select select:focus-visible {
  outline:2px solid #5d7a1d;
  outline-offset:1px;
}

.event-filters__select i {
  position:absolute;
  right:1rem;
  pointer-events:none;
  color:#5d5d5d;
  font-size:.8em;
}

.event-filters__active {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
  margin-top:1.25rem;
}

.event-filters__active-chip {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.5rem .5rem .5rem .75rem;
  font-size:.875rem;
  line-height:1.1;
  color:#475d16;
  background-color:#eef1e4;
  border:1px solid #c2cfa4;
  border-radius:0;
}

.event-filters__active-chip button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.1rem;
  height:1.1rem;
  padding:0;
  border:0;
  border-radius:9999px;
  background:none;
  color:#475d16;
  font-size:1rem;
  line-height:1;
  cursor:pointer;
}

.event-filters__active-chip button:hover {
  background-color:#c2cfa4;
}

.event-filters__active-chip button:focus-visible {
  outline:2px solid #5d7a1d;
  outline-offset:1px;
}

.event-filters__active-clear {
  border:0;
  background:none;
  padding:.25rem .5rem;
  color:#5d5d5d;
  font-family:inherit;
  font-size:.8125rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
  cursor:pointer;
}

.event-filters__active-clear:hover {
  color:#006088;
}

.event-filters__active-clear:focus-visible {
  outline:2px solid #006088;
  outline-offset:2px;
}

.event-filters__list {
  display:flex;
  flex-direction:column;
  gap:2.5rem;
  margin-top:1.5rem;
}

.event-filters__day {
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}

.event-filters__day-heading {
  margin:0;
  font-family:sofia-pro,Helvetica,Arial,sans-serif;
  font-size:1.5rem;
  font-weight:700;
  line-height:1.1;
  color:#000;
}

.event-filters__day-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.5rem;
}

.event-filters .card-event[hidden],
.event-filters__list[hidden],
.event-filters__day[hidden],
.event-filters__active[hidden],
.event-filters__pager[hidden],
.event-filters__empty[hidden] {
  display:none;
}

.event-filters__pager {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  margin-top:2.5rem;
  padding-top:1.5rem;
  border-top:1px solid #c0b59e;
}

.event-filters__pager-list {
  display:flex;
  align-items:center;
  gap:.5rem;
  margin:0;
  padding:0;
  list-style:none;
}

.event-filters__page,
.event-filters__pager-prev,
.event-filters__pager-next {
  color:#5d5d5d;
  background-color:#fff;
  border:1px solid #c4c4c4;
  border-radius:0;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease;
}

.event-filters__page:hover,
.event-filters__pager-prev:hover,
.event-filters__pager-next:hover {
  border-color:#5d7a1d;
  color:#475d16;
}

.event-filters__page:focus-visible,
.event-filters__page:focus-within,
.event-filters__pager-prev:focus-visible,
.event-filters__pager-prev:focus-within,
.event-filters__pager-next:focus-visible,
.event-filters__pager-next:focus-within {
  outline:2px solid #5d7a1d;
  outline-offset:2px;
}

.event-filters__page,
.event-filters__pager-prev,
.event-filters__pager-next {
  border-radius:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-width:2.25rem;
  height:2.25rem;
  padding:0 .75rem;
  font-size:.875rem;
  font-weight:600;
  text-decoration:none;
}

.event-filters__page.is-current {
  color:#fff;
  background-color:#5d7a1d;
  border-color:#5d7a1d;
  cursor:default;
}

.event-filters__pager-prev[aria-disabled=true],
.event-filters__pager-next[aria-disabled=true] {
  color:#707070;
  border-color:#d3d3d3;
  pointer-events:none;
}

.event-filters__page-gap {
  padding:0 .25rem;
  color:#707070;
}

.event-filters__empty {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.75rem;
  padding:4rem 1.5rem;
  text-align:center;
  background-color:#fff;
  border:1px dashed #c0b59e;
  border-radius:0;
}

.event-filters__empty .btn {
  margin-top:.5rem;
}

.event-filters__empty-title {
  margin:0;
  font-size:1.25rem;
  font-weight:600;
  color:#000;
}

.event-filters__empty-help {
  margin:0;
  color:#5d5d5d;
}

body.event-filters-modal-open {
  overflow:hidden;
}


@media(min-width:1024px) {
  .event-filters.section {
    padding-top:2rem;
    padding-bottom:2rem;
  }

  .event-filters--under-hero {
    padding-top:1rem;
  }

  .event-filters__sidebar {
    position:sticky;
    top:1.5rem;
  }
}


@media(max-width:768px) {
  .event-filters [class*=__actions] .btn {
    width:100%;
  }

  .event-filters .card__actions {
    display:flex;
    flex-direction:column;
    gap:.75rem;
  }

  .event-filters .card__actions .btn {
    width:100%;
  }

  .event-filters .card__actions .cta-link {
    width:100%;
    justify-content:space-between;
  }

  .event-filters .event-filters__more-toggle {
    display:inline-flex;
    justify-content:center;
    width:100%;
  }

  .event-filters__more {
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:500;
    max-height:85vh;
    gap:0;
    background-color:#fff;
    border-radius:0;
    box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;
    transform:translateY(100%);
    transition:transform .25s ease;
  }

  .event-filters__more:not(.is-open) {
    display:none;
  }

  .event-filters__more.is-open {
    transform:translateY(0);
  }

  .event-filters__more-head,
  .event-filters__more-foot {
    display:flex;
    align-items:center;
    flex:0 0 auto;
    padding:1rem 1.25rem;
  }

  .event-filters__more-head {
    justify-content:space-between;
    border-bottom:1px solid #d3d3d3;
  }

  .event-filters__more-title {
    margin:0;
    font-size:1.125rem;
  }

  .event-filters__more-close {
    border:0;
    background:none;
    font-size:1.5rem;
    line-height:1;
    color:#5d5d5d;
    cursor:pointer;
  }

  .event-filters__more-close:focus-visible {
    outline:2px solid #006088;
    outline-offset:2px;
  }

  .event-filters__more-body {
    flex:1 1 auto;
    overflow-y:auto;
    padding:1.25rem;
  }

  .event-filters__more-foot {
    border-top:1px solid #d3d3d3;
  }

  .event-filters__more-foot .btn {
    width:100%;
  }

  .event-filters__backdrop.is-open {
    display:block;
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    left:0;
    z-index:400;
    background-color:#00000073;
  }

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


@media(min-width:768px) {
  .event-filters .card--featured .card__body {
    padding:2rem;
    gap:1rem;
    max-width:60rem;
  }

  .event-filters .card--featured .card__icon {
    width:4rem;
    height:4rem;
  }

  .event-filters .card--featured .card__icon svg {
    width:2rem;
    height:2rem;
  }

  .event-filters .card--featured .card__icon i {
    font-size:2rem;
  }

  .event-filters .card--featured .card__headline {
    font-size:1.6875rem;
  }
}


@media(max-width:640px) {
  .event-filters .membership-intro__actions .btn {
    width:100%;
  }
}


@media(max-width:1024px) {
  .event-filters__layout {
    grid-template-columns:1fr;
    gap:2rem;
  }
}


@media(prefers-reduced-motion:reduce) {
  .event-filters__chevron,
  .event-filters__chip,
  .event-filters__chip-check,
  .event-filters__check-box,
  .event-filters__check-box i,
  .event-filters__more {
    transition:none;
  }
}
