.rhe-events{--rhe-red:#c0302f;--rhe-line:#e2ded7;box-sizing:border-box;width:100%;color:#111;background:#fff;font-family:"Karla",system-ui,sans-serif;font-size:15.2px;line-height:1.65}
.rhe-events *{box-sizing:border-box}.rhe-events [hidden]{display:none!important}
.rhe-events .rhe-filters{display:flex;flex-wrap:wrap;gap:12px 32px;padding-bottom:20px;border-bottom:1px solid var(--rhe-line);margin-bottom:56px}
.rhe-events .rhe-filters button{appearance:none;position:relative;background:transparent;border:0;border-radius:0;box-shadow:none;color:#4a4a4a;cursor:pointer;padding:0 0 6px;font-family:inherit;font-size:12.48px;font-weight:700;line-height:1.5;text-transform:uppercase;letter-spacing:.14em}
.rhe-events .rhe-filters button[aria-pressed=true]{color:var(--rhe-red)}.rhe-events .rhe-filters button[aria-pressed=true]:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor}
.rhe-events :focus-visible{outline:2px solid var(--rhe-red);outline-offset:5px}
.rhe-events .rhe-grid{display:grid;grid-template-columns:1fr;gap:48px 40px}
.rhe-events .rhe-card{min-width:0;border:0;border-top:1px solid var(--rhe-line);border-radius:0;box-shadow:none;background:transparent;padding:24px 0 0;margin:0}
.rhe-events .rhe-meta{color:var(--rhe-red);font-size:11.52px;font-weight:700;letter-spacing:.18em;line-height:1.4;text-transform:uppercase}
.rhe-events .rhe-card h3{font-family:"Fraunces","Times New Roman",serif;font-size:20.8px;font-weight:600;letter-spacing:-.02em;line-height:1.15;margin:12px 0 0;color:#111}
.rhe-events .rhe-venue{margin:8px 0 0;font-size:10.88px;line-height:1.65;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#4a4a4a}
.rhe-events .rhe-card p{margin:12px 0 0;color:#4a4a4a;font-size:15.2px;line-height:1.65;font-family:inherit}
.rhe-events .rhe-card img{display:block;width:100%;height:auto;max-height:320px;object-fit:contain;margin:0 0 20px}
.rhe-events .rhe-link{display:inline-block;margin-top:16px;text-decoration:underline;text-underline-offset:4px;color:var(--rhe-red);font-size:14px}
.rhe-events .rhe-sr{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rhe-events .rhe-empty{margin:24px 0;color:#4a4a4a}
@media(min-width:640px){.rhe-events .rhe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.rhe-events .rhe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Compact homepage grids inherit the existing section background. */
.rhe-events.rhe-home{background:transparent;min-width:0}
.rhe-home .rhe-grid{align-items:start;gap:48px 40px}
.rhe-home .rhe-meta{color:#111;font-size:10.4px;font-weight:400;letter-spacing:.18em}
.rhe-home .rhe-card h3{font-size:20.8px;font-weight:500}
.rhe-home .rhe-card p{color:#333}
.rhe-home .rhe-card{padding-top:24px}
@media(min-width:640px){.rhe-home.rhe-home--creative .rhe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.rhe-home.rhe-home--gallery .rhe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* v1.0.13: compact event cards modelled on the Devils Lake visual reference.
   This is a single, scoped set of rules. No inherited carousel overrides. */
.rhe-events.rhe-carousel {
  --rhe-ink:#22201e;
  --rhe-oxblood:#8e302d;
  --rhe-line:#dfd8ce;
  color:var(--rhe-ink);
  background:transparent;
  width:100%;
  max-width:100%;
  overflow:visible;
  font-family:"Karla",Arial,sans-serif;
}
.rhe-carousel .rhe-carousel-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px 20px;
  margin:0 !important;
  padding:0 !important;
  border:0;
}
.rhe-carousel .rhe-carousel-filters {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 28px;
}
.rhe-carousel .rhe-carousel-filter,
.rhe-carousel .rhe-carousel-filters button {
  appearance:none;
  display:inline-block;
  background:transparent !important;
  color:#282521;
  border:0;
  border-bottom:2px solid transparent;
  border-radius:0;
  box-shadow:none !important;
  padding:3px 0 7px !important;
  margin:0 !important;
  min-height:0 !important;
  font:600 13px/1.5 "Karla",Arial,sans-serif !important;
  letter-spacing:.025em;
  text-transform:uppercase;
  cursor:pointer;
}
.rhe-carousel .rhe-carousel-filter[aria-pressed="true"] {
  color:var(--rhe-oxblood) !important;
  border-bottom-color:var(--rhe-oxblood);
}
.rhe-carousel .rhe-carousel-controls {
  display:flex; gap:8px; margin-left:auto;
}
.rhe-carousel .rhe-carousel-controls[hidden] {display:none !important}
.rhe-carousel .rhe-carousel-controls button {
  display:flex; align-items:center; justify-content:center;
  width:33px; height:33px; padding:0 !important;
  margin:0 !important; border:1px solid var(--rhe-line);
  background:#fff; color:#222; box-shadow:none !important;
  border-radius:0; font-size:19px; cursor:pointer;
}
.rhe-carousel .rhe-carousel-controls button:disabled {opacity:.32;cursor:default}

/* A guaranteed 38px of space BELOW the active filter underline.
   The track's margin-top is independent of the theme's flex header. */
.rhe-events.rhe-carousel .rhe-carousel-track,
.rhe-events.rhe-carousel.rhe-carousel-pair:not(.rhe-carousel-narrow) .rhe-carousel-track,
.rhe-events.rhe-carousel.rhe-carousel-single:not(.rhe-carousel-narrow) .rhe-carousel-track,
.rhe-events.rhe-carousel.rhe-carousel-narrow .rhe-carousel-track {
  display:grid !important;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 90px)/4);
  column-gap:30px;
  align-items:start !important;
  width:100%;
  margin:38px 0 0 !important;
  padding:5px 6px 24px !important;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
}
.rhe-carousel .rhe-carousel-track::-webkit-scrollbar {display:none}
.rhe-events.rhe-carousel .rhe-carousel-card,
.rhe-events.rhe-carousel.rhe-carousel-single:not(.rhe-carousel-narrow) .rhe-carousel-card,
.rhe-events.rhe-carousel.rhe-carousel-narrow .rhe-carousel-card {
  display:block !important;
  align-self:start !important;
  width:100%;
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid #e5ded6;
  border-radius:0;
  background:white;
  box-shadow:0 5px 14px rgba(28,22,17,.23) !important;
  overflow:hidden;
  scroll-snap-align:start;
}
.rhe-carousel .rhe-carousel-card[hidden] {display:none !important}
.rhe-events.rhe-carousel .rhe-carousel-card-link,
.rhe-events.rhe-carousel .rhe-carousel-card-no-url {
  display:block !important;
  width:100%;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  text-decoration:none !important;
  color:var(--rhe-ink) !important;
}
.rhe-events.rhe-carousel .rhe-carousel-image,
.rhe-events.rhe-carousel.rhe-carousel-single:not(.rhe-carousel-narrow) .rhe-carousel-image,
.rhe-events.rhe-carousel.rhe-carousel-narrow .rhe-carousel-image {
  position:relative;
  display:block !important;
  width:100% !important;
  height:145px !important;
  aspect-ratio:auto !important;
  min-height:0 !important;
  max-height:none !important;
  flex:none !important;
  background:#ede7de;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden;
}
.rhe-events.rhe-carousel .rhe-carousel-image img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center;
  margin:0 !important;
}
.rhe-carousel .rhe-carousel-datebox,
.rhe-carousel.rhe-carousel-narrow .rhe-carousel-datebox {
  position:absolute;
  right:10px; top:10px;
  width:54px; height:54px;
  padding:6px 3px;
  background:#262321;
  border-radius:50%;
  color:white;
  box-shadow:0 2px 6px rgba(0,0,0,.19);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  z-index:2;
  text-align:center;
}
.rhe-carousel .rhe-carousel-datebox strong {
  display:block;
  font:600 22px/1 "Fraunces",Georgia,serif;
  color:#fff;
}
.rhe-carousel .rhe-carousel-datebox span {
  display:block;
  color:#fff;
  font:700 9px/1.2 "Karla",Arial,sans-serif;
  letter-spacing:.09em;
  margin-top:3px;
}
/* Small downward point, sitting IN the copy area instead of hiding it. */
.rhe-events.rhe-carousel .rhe-carousel-copy,
.rhe-events.rhe-carousel.rhe-carousel-single:not(.rhe-carousel-narrow) .rhe-carousel-copy,
.rhe-events.rhe-carousel.rhe-carousel-narrow .rhe-carousel-copy {
  position:relative;
  display:block !important;
  flex:none !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  padding:29px 13px 23px !important;
  margin:0 !important;
  text-align:center;
  background:#fff !important;
  color:var(--rhe-ink) !important;
  opacity:1 !important;
  visibility:visible !important;
  overflow:visible;
}
.rhe-carousel .rhe-carousel-copy::before {
  content:"";
  position:absolute;
  left:0; top:0;
  width:100%;
  height:14px;
  background:#eae0d4;
  clip-path:polygon(0 0,100% 0,50% 100%);
  pointer-events:none;
}
.rhe-events.rhe-carousel .rhe-carousel-place {
  display:block !important;
  color:#6c635a !important;
  font:500 13px/1.4 "Karla",Arial,sans-serif !important;
  letter-spacing:0;
  text-transform:none;
  margin:0 !important;
  padding:0 !important;
}
.rhe-events.rhe-carousel .rhe-carousel-copy h3,
.rhe-events.rhe-carousel.rhe-carousel-single:not(.rhe-carousel-narrow) .rhe-carousel-copy h3 {
  display:block !important;
  color:#272320 !important;
  font:600 21px/1.18 "Fraunces",Georgia,serif !important;
  letter-spacing:-.015em;
  margin:11px 0 0 !important;
  padding:0 !important;
  max-width:none !important;
  overflow-wrap:normal;
  visibility:visible !important;
  opacity:1 !important;
}
.rhe-events.rhe-carousel .rhe-carousel-when {
  display:block !important;
  color:#635a52 !important;
  font:500 13px/1.45 "Karla",Arial,sans-serif !important;
  margin:11px 0 0 !important;
  padding:0 !important;
  opacity:1 !important;
  visibility:visible !important;
}
.rhe-events.rhe-carousel a.rhe-carousel-card-link:hover h3 {
  color:var(--rhe-oxblood) !important;
}
.rhe-carousel .rhe-carousel-empty {margin:20px 0}
.rhe-carousel :focus-visible {outline:2px solid var(--rhe-oxblood);outline-offset:3px}
@media(max-width:1000px) {
 .rhe-events.rhe-carousel .rhe-carousel-track,
 .rhe-events.rhe-carousel.rhe-carousel-pair:not(.rhe-carousel-narrow) .rhe-carousel-track,
 .rhe-events.rhe-carousel.rhe-carousel-single:not(.rhe-carousel-narrow) .rhe-carousel-track,
 .rhe-events.rhe-carousel.rhe-carousel-narrow .rhe-carousel-track {
   grid-auto-columns:calc((100% - 48px)/3);
   column-gap:24px;
 }
}
@media(max-width:680px) {
 .rhe-events.rhe-carousel .rhe-carousel-track,
 .rhe-events.rhe-carousel.rhe-carousel-pair:not(.rhe-carousel-narrow) .rhe-carousel-track,
 .rhe-events.rhe-carousel.rhe-carousel-single:not(.rhe-carousel-narrow) .rhe-carousel-track,
 .rhe-events.rhe-carousel.rhe-carousel-narrow .rhe-carousel-track {
   grid-auto-columns:calc((100% - 18px)/2);
   column-gap:18px;
 }
 .rhe-events.rhe-carousel .rhe-carousel-image,
 .rhe-events.rhe-carousel.rhe-carousel-single:not(.rhe-carousel-narrow) .rhe-carousel-image,
 .rhe-events.rhe-carousel.rhe-carousel-narrow .rhe-carousel-image {height:128px !important}
 .rhe-events.rhe-carousel .rhe-carousel-copy h3,
 .rhe-events.rhe-carousel.rhe-carousel-single:not(.rhe-carousel-narrow) .rhe-carousel-copy h3 {font-size:19px !important}
}
@media(max-width:420px) {
 .rhe-events.rhe-carousel .rhe-carousel-track,
 .rhe-events.rhe-carousel.rhe-carousel-pair:not(.rhe-carousel-narrow) .rhe-carousel-track,
 .rhe-events.rhe-carousel.rhe-carousel-single:not(.rhe-carousel-narrow) .rhe-carousel-track,
 .rhe-events.rhe-carousel.rhe-carousel-narrow .rhe-carousel-track {grid-auto-columns:83%;column-gap:15px}
}
@media(prefers-reduced-motion:reduce) {.rhe-carousel .rhe-carousel-track {scroll-behavior:auto}}

/* v1.0.14: all carousel cards are exactly the same height. */
.rhe-events.rhe-carousel .rhe-carousel-card,
.rhe-events.rhe-carousel.rhe-carousel-single:not(.rhe-carousel-narrow) .rhe-carousel-card,
.rhe-events.rhe-carousel.rhe-carousel-narrow .rhe-carousel-card {
  display:flex !important;
  flex-direction:column !important;
  align-self:stretch !important;
  height:365px !important;
  min-height:365px !important;
  max-height:365px !important;
}
.rhe-events.rhe-carousel .rhe-carousel-card-link,
.rhe-events.rhe-carousel .rhe-carousel-card-no-url {
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  height:100% !important;
  min-height:0 !important;
}
.rhe-events.rhe-carousel .rhe-carousel-image,
.rhe-events.rhe-carousel.rhe-carousel-single:not(.rhe-carousel-narrow) .rhe-carousel-image,
.rhe-events.rhe-carousel.rhe-carousel-narrow .rhe-carousel-image {
  flex:0 0 145px !important;
  height:145px !important;
}
.rhe-events.rhe-carousel .rhe-carousel-copy,
.rhe-events.rhe-carousel.rhe-carousel-single:not(.rhe-carousel-narrow) .rhe-carousel-copy,
.rhe-events.rhe-carousel.rhe-carousel-narrow .rhe-carousel-copy {
  flex:1 1 auto !important;
  min-height:0 !important;
  width:100% !important;
  padding:29px 13px 20px !important;
}
.rhe-events.rhe-carousel .rhe-carousel-track,
.rhe-events.rhe-carousel.rhe-carousel-pair:not(.rhe-carousel-narrow) .rhe-carousel-track,
.rhe-events.rhe-carousel.rhe-carousel-single:not(.rhe-carousel-narrow) .rhe-carousel-track,
.rhe-events.rhe-carousel.rhe-carousel-narrow .rhe-carousel-track {align-items:stretch !important;}
@media(max-width:680px) {
 .rhe-events.rhe-carousel .rhe-carousel-card,
 .rhe-events.rhe-carousel.rhe-carousel-single:not(.rhe-carousel-narrow) .rhe-carousel-card,
 .rhe-events.rhe-carousel.rhe-carousel-narrow .rhe-carousel-card {height:360px !important;min-height:360px !important;max-height:360px !important;}
 .rhe-events.rhe-carousel .rhe-carousel-image,
 .rhe-events.rhe-carousel.rhe-carousel-single:not(.rhe-carousel-narrow) .rhe-carousel-image,
 .rhe-events.rhe-carousel.rhe-carousel-narrow .rhe-carousel-image {flex-basis:128px !important;height:128px !important;}
}

/* v1.0.16: accessible native-link filters, active link states. */
.rhe-carousel .rhe-carousel-filters a.rhe-carousel-filter {text-decoration:none !important;}
.rhe-carousel .rhe-carousel-filters a.rhe-carousel-filter[aria-current="page"] {color:var(--rhe-oxblood) !important;border-bottom-color:var(--rhe-oxblood) !important;}
.rhe-carousel .rhe-carousel-filters a.rhe-carousel-filter:hover {color:var(--rhe-oxblood) !important;}

/* More information sits on its own row below each event description. */
.rhe-events .rhe-card > .rhe-link {
 display:flex;
 position:static;
 clear:both;
 align-items:center;
 justify-content:center;
 align-self:flex-start;
 justify-self:start;
 width:fit-content;
 max-width:100%;
 min-height:51px;
 margin:32px auto 0 0;
 padding:15px 34px;
 border:1px solid #111;
 border-radius:0;
 background:#111;
 color:#fff;
 font:700 14px/1.35 "Karla",Arial,sans-serif;
 letter-spacing:.14em;
 text-transform:uppercase;
 text-decoration:none;
 box-shadow:none;
}
.rhe-events .rhe-card > .rhe-link:hover,
.rhe-events .rhe-card > .rhe-link:focus-visible {
 background:#c0302f;border-color:#c0302f;color:#fff;
}
.rhe-events .rhe-card > .rhe-link::before,
.rhe-events .rhe-card > .rhe-link::after {content:none!important;display:none!important}

/* Consistent sign-out emphasis in both front-end managers. */
.rhe-fe-wrap a[href*="action=logout"],.rhxm a[href*="action=logout"]{font-weight:700}
.rhe-fe-wrap a[href*="action=logout"]:hover,.rhxm a[href*="action=logout"]:hover,
.rhe-fe-wrap a[href*="action=logout"]:focus-visible,.rhxm a[href*="action=logout"]:focus-visible{color:#c0302f!important}
