/* Start custom CSS *//* Elementor-owned HGM presentation; Events Manager owns all dates and queries. */
body.elementor-page-127 .em {
  --font-family: var(--source-sans);
  --text-color-richer: var(--off-white);
  --text-color-normal: var(--off-white);
  --text-color-softer: var(--light-gray);
  --accent-color: var(--teal-light);
  --accent-color-hover: var(--off-white);
  --background-color: transparent;
  --background-color-softer: var(--charcoal);
  --background-color-inputs: var(--near-black);
  --button-primary-color: var(--near-black);
  font-family: var(--source-sans);
}
body.elementor-page-127 .em.em-calendar {
  --calendar-background: var(--charcoal);
  --date-background: var(--charcoal);
  --date-color: var(--off-white);
  --header-color: var(--light-gray);
  --nav-color: var(--off-white);
  --event-background-color: var(--holden-teal);
  --event-color: var(--near-black);
  --date-today-color: var(--off-white);
  --date-today-background: var(--near-black);
  --counter-background: var(--teal-dark);
}
body.elementor-page-127 .em-calnav { min-width: 44px; min-height: 44px; position: relative; }
body.elementor-page-127 .em-calnav svg path { stroke: var(--off-white); }
body.elementor-page-127 .em-calnav-prev::after { content: "Previous month"; }
body.elementor-page-127 .em-calnav-next::after { content: "Next month"; }
body.elementor-page-127 .em-calnav::after { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body.elementor-page-127 a:focus-visible, body.elementor-page-127 button:focus-visible { outline: 2px solid var(--teal-light) !important; outline-offset: 4px; }
body.elementor-page-127 .hgm-show-row { display: grid; grid-template-columns: 9rem minmax(0,1fr) auto; align-items: center; gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--charcoal); }
body.elementor-page-127 .hgm-show-row h3, body.elementor-page-127 .hgm-show-row p { margin: 0; }
body.elementor-page-127 .hgm-show-row a { color: var(--teal-light); }
body.elementor-page-127 .hgm-show-row .hgm-show-action { padding: 12px 0; display: inline-block; }
body.elementor-page-127 .hgm-show-date { color: var(--light-gray); }
body.elementor-page-127 .hgm-show-details > * + * { margin-top: 24px; }
body.elementor-page-127 .hgm-show-details img { max-width: 100%; height: auto; border-radius: var(--radius); }
body.elementor-page-127 .hgm-show-details address { font-style: normal; }
@media (max-width: 767px) {
  body.elementor-page-127 .hgm-show-row { grid-template-columns: minmax(0,1fr); gap: 12px; }
  body.elementor-page-127 .em.em-calendar .em-cal-nav.em-cal-nav-centered .month-nav { gap: 8px; grid-template-columns: 44px minmax(0,1fr) 44px; width: 100%; }
  body.elementor-page-127 .em.em-calendar .em-cal-nav .month { margin-left: 0; font-size: 18px; }
  body.elementor-page-127 .em.em-calendar section.em-cal-days { grid-template-columns: repeat(7,minmax(0,1fr)); }
}

/* HGM Events. Copied into Elementor document Custom CSS by the one-time rollout. */
body.elementor-page-127 .hgm-event-views, body.elementor-page-127 .hgm-event-pagination { display:flex; flex-wrap:wrap; gap:12px; margin-block:0 32px; }
body.elementor-page-127 .hgm-event-views a, body.elementor-page-127 .hgm-event-pagination a { border:1px solid var(--teal-light); border-radius:var(--radius); color:var(--teal-light); padding:10px 18px; min-height:44px; text-decoration:none; }
body.elementor-page-127 .hgm-event-views a[aria-current], body.elementor-page-127 .hgm-event-pagination a[aria-current] { background:var(--teal-light); color:var(--near-black); font-weight:700; }
body.elementor-page-127 .hgm-event-row { display:grid; grid-template-columns:minmax(10rem, .75fr) minmax(0,2fr) auto; gap:24px; align-items:center; padding:28px 0; border-bottom:1px solid var(--charcoal); }
body.elementor-page-127 .hgm-event-row:has(.hgm-event-thumb) { grid-template-columns:minmax(10rem,.75fr) minmax(0,2fr) 100px auto; }
body.elementor-page-127 .hgm-event-row h3, body.elementor-page-127 .hgm-event-row p { margin:0; }
body.elementor-page-127 .hgm-event-date { color:var(--light-gray); font-size:16px; }
body.elementor-page-127 .hgm-event-date time { font-weight:600; }
body.elementor-page-127 .hgm-event-row a, body.elementor-page-127 .hgm-event-details a { color:var(--teal-light); }
body.elementor-page-127 .hgm-event-action { padding:12px 0; }
body.elementor-page-127 .hgm-event-thumb { width:100px; height:100px; object-fit:cover; border-radius:var(--radius); }
body.elementor-page-127 .hgm-event-status { color:var(--warm-sand); font-weight:700; }
body.elementor-page-127 .hgm-event-pagination { margin-top:32px; }
body.elementor-page-127 .hgm-event-details > * + * { margin-top:24px; }
body.elementor-page-127 .hgm-event-details address { font-style:normal; }
body.elementor-page-127 .hgm-event-details img { max-width:100%; height:auto; border-radius:var(--radius); }
body.elementor-page-127 .hgm-event-empty { margin-top:24px; }
body.elementor-page-127 .hgm-events a:focus-visible, body.elementor-page-127 .hgm-event-details a:focus-visible { outline:2px solid var(--teal-light); outline-offset:4px; }
@media(max-width:767px) {
 body.elementor-page-127 .hgm-event-row, body.elementor-page-127 .hgm-event-row:has(.hgm-event-thumb) { grid-template-columns:minmax(0,1fr); gap:12px; }
 body.elementor-page-127 .hgm-event-views { gap:8px; }
 body.elementor-page-127 .hgm-event-views a { padding:10px 12px; }
 body.elementor-page-127 .hgm-event-row h3 { overflow-wrap:anywhere; }
}/* End custom CSS */