/* =========================================================
   PFC SITE â€” REFACTORED GLOBAL OVERRIDES
   Purpose:
   - Keep the current visual styling
   - Remove repeated donation/subscription override patches
   - Centralize shared form/card variables
   - Keep Wild Apricot-specific fixes scoped to exact gadget IDs

   Site-specific gadget IDs used:
   - Desktop nav: #id_JpFJ3Gl / #id_svVLY2a
   - Mobile nav: #id_MobilePanel / #id_QFpB82d
   - Events/slideshow section: #id_htAPkVJ / #id_ciCXbRt / #id_CPEcznb
   - Email subscription form: #id_IAKE3YJ
   - Donation form: #id_D6b8LjV
========================================================= */


/* =========================================================
   0. Theme Tokens
========================================================= */

:root {
  --pfc-black: #171719;
  --pfc-dark: #1d1d1f;
  --pfc-text: #333333;
  --pfc-muted: #666666;
  --pfc-white: #ffffff;
  --pfc-cream: #f7f7f4;
  --pfc-line: #e6e2d8;
  --pfc-line-2: #d8d2c5;
  --pfc-yellow: #f4b526;
  --pfc-yellow-hover: #ffc83d;
  --pfc-gold-dark: #b77f00;
  --pfc-error: #b72620;
  --pfc-shadow: 0 1px 10px rgba(0, 0, 0, 0.08);
  --pfc-shadow-hover: 0 4px 12px rgba(0, 0, 0, 0.18);

  --pfc-container-xl: min(1540px, calc(100vw - 96px));
  --pfc-container-lg: min(1320px, calc(100vw - 64px));
  --pfc-container-md: min(980px, calc(100vw - 64px));
  --pfc-form-width: 760px;

  --pfc-card-border: 4px solid var(--pfc-yellow);
  --pfc-card-border-mobile: 3px solid var(--pfc-yellow);
  --pfc-radius: 2px;

  --pfc-event-media-height: clamp(340px, 32vw, 460px);
}


/* =========================================================
   1. Global Full-Width Base
========================================================= */

body,
#idPageContainer,
#idPageContent,
#idMainContainer,
#idMainContent,
#idContentContainer,
#idHeaderContainer,
#idFooterContainer,
.siteWrapper,
.zonePlace,
.zoneInner,
.WaPlaceHolder,
.WaGadget,
.WaGadgetContent,
.WaGadgetContent .gadgetStyleBody,
.gadgetStyleBody,
.gadgetContentEditableArea {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

#id_JpFJ3Gl,
#id_JpFJ3Gl *,
#id_svVLY2a,
#id_svVLY2a *,
#id_MobilePanel,
#id_MobilePanel *,
#id_QFpB82d,
#id_QFpB82d *,
#id_htAPkVJ,
#id_htAPkVJ *,
#id_IAKE3YJ,
#id_IAKE3YJ *,
#id_D6b8LjV,
#id_D6b8LjV *,
.WaGadgetDonationForm,
.WaGadgetDonationForm * {
  box-sizing: border-box !important;
}

.pfc-fullbleed,
#id_JpFJ3Gl,
#id_htAPkVJ,
#id_IAKE3YJ,
#id_D6b8LjV,
.WaGadgetDonationForm {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}


/* =========================================================
   2. Desktop / Tablet Main Navigation
   FIXED:
   - No double arrows
   - Wild Apricot/theme arrows removed
   - One controlled arrow added only to li.dir items
   - Arrow aligns vertically with text
========================================================= */

#id_JpFJ3Gl {
  background: var(--pfc-cream) !important;
  border-top: 3px solid var(--pfc-yellow) !important;
  border-bottom: 1px solid var(--pfc-line) !important;
  padding: 0 !important;
  overflow: visible !important;
}

#id_JpFJ3Gl .WaLayoutTable,
#id_JpFJ3Gl .WaLayoutTable > tbody,
#id_JpFJ3Gl .WaLayoutRow,
#id_bBoPpMR,
#id_ClYQFGL {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#id_svVLY2a {
  width: 100% !important;
  max-width: 100% !important;
  background: transparent !important;
  font-family: inherit !important;
  position: relative !important;
  z-index: 50 !important;
}

#id_svVLY2a .menuBackground {
  display: none !important;
}

#id_svVLY2a .menuInner {
  width: 100% !important;
  max-width: var(--pfc-container-lg) !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  overflow: visible !important;
}

#id_svVLY2a ul,
#id_svVLY2a li {
  list-style: none !important;
}

#id_svVLY2a ul.firstLevel {
  width: 100% !important;
  max-width: 100% !important;

  display: flex !important;
  justify-content: center !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;

  gap: 28px !important;

  margin: 0 auto !important;
  padding: 0 !important;

  overflow: visible !important;
}

#id_svVLY2a ul.firstLevel > li {
  width: auto !important;
  float: none !important;

  display: flex !important;
  align-items: stretch !important;
  flex: 0 0 auto !important;

  position: relative !important;

  padding: 0 !important;
  margin: 0 !important;

  text-align: center !important;
}

#id_svVLY2a ul.firstLevel > li > .item {
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;

  width: auto !important;
  height: auto !important;

  padding: 0 !important;
  margin: 0 !important;
}

/* Base top-level links */
#id_svVLY2a ul.firstLevel > li > .item > a,
#id_svVLY2a ul.firstLevel > li > a {
  position: relative !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 50px !important;
  height: 50px !important;
  padding: 0 18px !important;

  color: var(--pfc-black) !important;
  background: transparent !important;

  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;

  text-decoration: none !important;
  white-space: nowrap !important;

  border-bottom: 3px solid transparent !important;

  transition:
    color 150ms ease,
    background 150ms ease,
    border-color 150ms ease;
}

/* Text itself */
#id_svVLY2a ul.firstLevel > li > .item > a > span,
#id_svVLY2a ul.firstLevel > li > a > span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: auto !important;
  min-height: 0 !important;

  color: inherit !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

/* =========================================================
   CRITICAL ARROW FIX
   Wild Apricot/theme arrow is not HTML; it is CSS-generated.
   Kill all possible theme arrows, then add one controlled arrow.
========================================================= */

/* Remove theme pseudo arrows from every likely location */
#id_svVLY2a ul.firstLevel > li.dir > .item > a::before,
#id_svVLY2a ul.firstLevel > li.dir > .item > a > span::before,
#id_svVLY2a ul.firstLevel > li.dir > .item::before,
#id_svVLY2a ul.firstLevel > li.dir::before {
  content: none !important;
  display: none !important;
}

#id_svVLY2a ul.firstLevel > li.dir > .item > a::after,
#id_svVLY2a ul.firstLevel > li.dir > .item > a > span::after,
#id_svVLY2a ul.firstLevel > li.dir > .item::after,
#id_svVLY2a ul.firstLevel > li.dir::after {
  content: none !important;
  display: none !important;
}

/* Add exactly one arrow, aligned with the menu text */
#id_svVLY2a ul.firstLevel > li.dir > .item > a {
  gap: 7px !important;
}

/* This is the only arrow that should remain */
#id_svVLY2a ul.firstLevel > li.dir > .item > a::after {
  content: "" !important;

  display: inline-block !important;
  visibility: visible !important;

  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  color: inherit !important;

  background: transparent !important;
  border-top: 4px solid transparent !important;
  border-bottom: 4px solid transparent !important;
  border-left: 6px solid currentColor !important;
  box-shadow: none !important;

  transform: translateY(0) rotate(0deg) !important;
  transform-origin: center center !important;
  transition: transform 160ms ease, color 150ms ease !important;
  vertical-align: middle !important;
}

/* Make sure non-dropdown items never get an arrow */
#id_svVLY2a ul.firstLevel > li:not(.dir) > .item > a::after,
#id_svVLY2a ul.firstLevel > li:not(.dir) > .item > a > span::after,
#id_svVLY2a ul.firstLevel > li:not(.dir)::after,
#id_svVLY2a ul.firstLevel > li:not(.dir) > .item::after {
  content: none !important;
  display: none !important;
}

/* Hover / selected */
#id_svVLY2a ul.firstLevel > li > .item > a:hover,
#id_svVLY2a ul.firstLevel > li > a:hover,
#id_svVLY2a ul.firstLevel > li:hover > .item > a {
  color: var(--pfc-gold-dark) !important;
  background: rgba(244, 181, 38, 0.12) !important;
  border-bottom-color: var(--pfc-yellow) !important;
  text-decoration: none !important;
}

#id_svVLY2a ul.firstLevel > li.sel > .item > a,
#id_svVLY2a ul.firstLevel > li.selected > .item > a,
#id_svVLY2a ul.firstLevel > li.current > .item > a,
#id_svVLY2a ul.firstLevel > li.sel > a,
#id_svVLY2a ul.firstLevel > li.selected > a,
#id_svVLY2a ul.firstLevel > li.current > a {
  color: var(--pfc-black) !important;
  background: rgba(244, 181, 38, 0.18) !important;
  border-bottom-color: var(--pfc-yellow) !important;
}

#id_svVLY2a a:focus-visible {
  outline: 3px solid var(--pfc-black) !important;
  outline-offset: 3px !important;
}

/* =========================================================
   Desktop dropdowns
========================================================= */

#id_svVLY2a ul.secondLevel,
#id_svVLY2a ul.firstLevel > li > .item > ul.secondLevel,
#id_svVLY2a .menuInner ul ul {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: auto !important;

  display: none !important;

  min-width: 240px !important;
  width: max-content !important;
  max-width: 320px !important;

  margin: 0 !important;
  padding: 8px 0 !important;

  background: var(--pfc-white) !important;
  border-left: var(--pfc-card-border) !important;
  border-top: 1px solid #eee7d7 !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.16) !important;

  z-index: 9999 !important;
}

#id_svVLY2a ul.firstLevel > li:hover > .item > ul.secondLevel,
#id_svVLY2a ul.firstLevel > li:focus-within > .item > ul.secondLevel,
#id_svVLY2a ul.firstLevel > li:hover > ul.secondLevel,
#id_svVLY2a ul.firstLevel > li:focus-within > ul.secondLevel {
  display: block !important;
}

#id_svVLY2a ul.secondLevel > li,
#id_svVLY2a ul.secondLevel > li > .item {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

#id_svVLY2a ul.secondLevel > li > .item > a,
#id_svVLY2a ul.secondLevel > li > a {
  display: block !important;
  width: 100% !important;

  padding: 11px 16px !important;

  color: var(--pfc-black) !important;
  background: transparent !important;

  font-size: 12px !important;
  line-height: 1.3 !important;
  font-weight: 850 !important;
  letter-spacing: 0.055em !important;
  text-transform: uppercase !important;

  text-decoration: none !important;
  white-space: normal !important;
}

#id_svVLY2a ul.secondLevel > li > .item > a:hover,
#id_svVLY2a ul.secondLevel > li > a:hover,
#id_svVLY2a ul.secondLevel > li:hover > .item > a {
  color: var(--pfc-gold-dark) !important;
  background: var(--pfc-cream) !important;
  text-decoration: none !important;
}

/* Do not show top-level arrows inside dropdown submenu links */
#id_svVLY2a ul.secondLevel a::before,
#id_svVLY2a ul.secondLevel a::after,
#id_svVLY2a ul.secondLevel span::before,
#id_svVLY2a ul.secondLevel span::after {
  content: none !important;
  display: none !important;
}

/* =========================================================
   Desktop phantom overflow item
========================================================= */

#id_svVLY2a ul.firstLevel > li.phantom > .item > a {
  min-width: 44px !important;
  padding-left: 14px !important;
  padding-right: 14px !important;

  background: var(--pfc-yellow) !important;
  color: #111111 !important;

  border-bottom-color: transparent !important;

  font-size: 18px !important;
  letter-spacing: 0 !important;
}

#id_svVLY2a ul.firstLevel > li.phantom > .item > a::after,
#id_svVLY2a ul.firstLevel > li.phantom > .item > a > span::after {
  content: none !important;
  display: none !important;
}

#id_svVLY2a ul.firstLevel > li.phantom > .item > a:hover,
#id_svVLY2a ul.firstLevel > li.phantom:hover > .item > a {
  background: var(--pfc-yellow-hover) !important;
  color: #111111 !important;
}

#id_svVLY2a ul.firstLevel > li.phantom ul.secondLevel {
  right: 0 !important;
  left: auto !important;
}

#id_svVLY2a ul.firstLevel > li.phantom ul.secondLevel > li > .item > a {
  text-align: left !important;
}

/* =========================================================
   Desktop / tablet nav responsive
========================================================= */

@media (min-width: 1400px) {
  #id_svVLY2a .menuInner {
    max-width: min(1400px, calc(100vw - 80px)) !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
  }

  #id_svVLY2a ul.firstLevel {
    gap: 38px !important;
  }

  #id_svVLY2a ul.firstLevel > li > .item > a,
  #id_svVLY2a ul.firstLevel > li > a {
    min-height: 52px !important;
    height: 52px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

@media (min-width: 1200px) and (max-width: 1399px) {
  #id_svVLY2a .menuInner {
    max-width: min(1280px, calc(100vw - 64px)) !important;
  }

  #id_svVLY2a ul.firstLevel {
    gap: 30px !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  #id_svVLY2a .menuInner {
    max-width: min(1080px, calc(100vw - 48px)) !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  #id_svVLY2a ul.firstLevel {
    gap: 18px !important;
  }

  #id_svVLY2a ul.firstLevel > li > .item > a,
  #id_svVLY2a ul.firstLevel > li > a {
    min-height: 46px !important;
    height: 46px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    font-size: 12.5px !important;
    letter-spacing: 0.095em !important;
  }

  #id_svVLY2a ul.secondLevel,
  #id_svVLY2a ul.firstLevel > li > .item > ul.secondLevel,
  #id_svVLY2a .menuInner ul ul {
    min-width: 220px !important;
  }
}

@media (max-width: 991px) {
  #id_svVLY2a .menuInner {
    max-width: min(760px, calc(100vw - 36px)) !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  #id_svVLY2a ul.firstLevel {
    gap: 4px !important;
  }

  #id_svVLY2a ul.firstLevel > li > .item > a,
  #id_svVLY2a ul.firstLevel > li > a {
    min-height: 44px !important;
    height: 44px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    font-size: 12px !important;
    letter-spacing: 0.075em !important;
  }

  #id_svVLY2a ul.firstLevel > li.dir > .item > a {
    gap: 5px !important;
  }

  #id_svVLY2a ul.firstLevel > li.dir > .item > a::after {
    font-size: 0.82em !important;
  }

  #id_svVLY2a ul.secondLevel,
  #id_svVLY2a ul.firstLevel > li > .item > ul.secondLevel,
  #id_svVLY2a .menuInner ul ul {
    min-width: 210px !important;
  }
}

/* =========================================================
   PFC Desktop Nav Arrow Rotation
   Works with the controlled li.dir > a::after arrow
========================================================= */

/* Default closed state */
#id_svVLY2a ul.firstLevel > li.dir > .item > a::after {
  transform: translateY(0.01em) rotate(0deg) !important;
  transform-origin: center center !important;

  transition:
    transform 160ms ease,
    color 150ms ease !important;
}

/* Open / hover / keyboard-focus state */
#id_svVLY2a ul.firstLevel > li.dir:hover > .item > a::after,
#id_svVLY2a ul.firstLevel > li.dir:focus-within > .item > a::after {
  transform: translateY(0.01em) rotate(90deg) !important;
}


/* =========================================================
   3. Wild Apricot Mobile Panel Menu
   Wild Apricot notes:
   - The rendered buttons are text-only divs:
     .mobilePanelButton.buttonMenu and .mobilePanelButton.buttonLogin
   - Icons are intentionally drawn with CSS pseudo-elements.
   - No yellow bottom border under the bar.
========================================================= */

@media (min-width: 768px) {
  #id_MobilePanel {
    display: none !important;
  }
}

@media (max-width: 767px) {
  #id_MobilePanel,
  #id_MobilePanel *,
  #id_QFpB82d,
  #id_QFpB82d * {
    box-sizing: border-box !important;
  }

  #id_MobilePanel {
    display: block !important;
    position: relative !important;
    z-index: 999999 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #id_QFpB82d {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: inherit !important;
    background: var(--pfc-dark) !important;
  }

  #id_QFpB82d .mobilePanel {
    position: relative !important;

    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-start !important;

    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: var(--pfc-dark) !important;
    border: 0 !important;
    box-shadow: none !important;

    overflow: visible !important;
  }

  #id_QFpB82d .mobilePanel::before,
  #id_QFpB82d .mobilePanel::after {
    content: none !important;
    display: none !important;
  }

  #id_QFpB82d .mobilePanelButton {
    position: relative !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;

    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;

    margin: 0 !important;
    padding: 0 !important;

    align-self: stretch !important;

    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    background-image: none !important;
    overflow: hidden !important;
    cursor: pointer !important;

    /* Hide literal text: "Menu" / "Log in" */
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    white-space: nowrap !important;
    text-decoration: none !important;
  }

  #id_QFpB82d .mobilePanelButton.buttonMenu {
    margin-left: 0 !important;
    margin-right: 0 !important;
    background: var(--pfc-yellow) !important;
    color: #111111 !important;
  }

  #id_QFpB82d .mobilePanelButton.buttonMenu.active {
    background: var(--pfc-black) !important;
    color: var(--pfc-white) !important;
  }

  #id_QFpB82d .mobilePanelButton.buttonAdmin {
    background: #333333 !important;
    color: var(--pfc-white) !important;
  }

  #id_QFpB82d .mobilePanelButton.buttonLogin {
    margin-left: auto !important;
    margin-right: 0 !important;
    background: var(--pfc-cream) !important;
    color: var(--pfc-black) !important;
  }

  /* Hamburger icon */
  #id_QFpB82d .mobilePanelButton.buttonMenu::before {
    content: "" !important;
    display: block !important;

    position: absolute !important;
    top: 14px !important;
    left: 13px !important;

    width: 18px !important;
    height: 3px !important;

    background: currentColor !important;
    box-shadow:
      0 6px 0 currentColor,
      0 12px 0 currentColor !important;
  }

  /* Login/logout icon: single clean SVG mask, no text glyphs */
  #id_QFpB82d .mobilePanelButton.buttonLogin::before {
    content: "" !important;
    display: block !important;

    position: absolute !important;
    top: 11px !important;
    left: 11px !important;

    width: 22px !important;
    height: 22px !important;

    background: currentColor !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;

    -webkit-mask:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h5v-2H5V5h5V3Zm7.59 4.59L16.17 9l2 2H9v2h9.17l-2 2 1.42 1.41L22 12l-4.41-4.41Z'/%3E%3C/svg%3E")
      center / contain no-repeat !important;
    mask:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h5v-2H5V5h5V3Zm7.59 4.59L16.17 9l2 2H9v2h9.17l-2 2 1.42 1.41L22 12l-4.41-4.41Z'/%3E%3C/svg%3E")
      center / contain no-repeat !important;
  }

  #id_QFpB82d .mobilePanelButton.buttonMenu::after,
  #id_QFpB82d .mobilePanelButton.buttonLogin::after,
  #id_QFpB82d .mobilePanelButton.buttonAdmin::before,
  #id_QFpB82d .mobilePanelButton.buttonAdmin::after {
    content: none !important;
    display: none !important;
  }

  #id_QFpB82d .mobilePanelButton span,
  #id_QFpB82d .mobilePanelButton i,
  #id_QFpB82d .mobilePanelButton svg {
    display: none !important;
  }

  html:has(#id_QFpB82d .buttonMenu.active),
  body:has(#id_QFpB82d .buttonMenu.active),
  html:has(#id_QFpB82d .buttonLogin.active),
  body:has(#id_QFpB82d .buttonLogin.active) {
    overflow: hidden !important;
    height: 100% !important;
  }

  #id_MobilePanel:has(#id_QFpB82d .buttonMenu.active),
  #id_MobilePanel:has(#id_QFpB82d .buttonLogin.active) {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;

    width: 100vw !important;
    max-width: 100vw !important;

    margin: 0 !important;
    padding: 0 !important;

    background: var(--pfc-dark) !important;
    z-index: 999999 !important;
  }

  #id_QFpB82d .menuInner,
  #id_QFpB82d .loginInner {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;

    background: var(--pfc-white) !important;
    color: var(--pfc-black) !important;

    border: 0 !important;
    box-shadow: none !important;

    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
  }

  #id_QFpB82d .menuInner {
    padding: 0 !important;
  }

  #id_QFpB82d .loginInner {
    padding: 20px !important;
  }

  #id_MobilePanel:has(#id_QFpB82d .buttonMenu.active) #id_QFpB82d .menuInner,
  #id_MobilePanel:has(#id_QFpB82d .buttonLogin.active) #id_QFpB82d .loginInner {
    display: block !important;
    position: fixed !important;

    top: 44px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    width: 100vw !important;
    max-width: 100vw !important;
    height: auto !important;
    max-height: calc(100dvh - 44px) !important;

    background: var(--pfc-white) !important;

    border: 0 !important;
    box-shadow: none !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;

    z-index: 999998 !important;
  }

  /* Menu reset */
  #id_QFpB82d .menuInner ul,
  #id_QFpB82d .menuInner li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #id_QFpB82d .menuInner ul.firstLevel {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 0 32px !important;
    background: var(--pfc-white) !important;
  }

  #id_QFpB82d .menuInner ul.firstLevel > li {
    display: block !important;
    width: 100% !important;
    border-bottom: 1px solid #ece6d8 !important;
    background: var(--pfc-white) !important;
  }

  #id_QFpB82d .menuInner ul.firstLevel > li > .item,
  #id_QFpB82d .menuInner ul.secondLevel > li > .item {
    display: block !important;
    width: 100% !important;
  }

  #id_QFpB82d .menuInner ul.firstLevel > li > .item > a,
  #id_QFpB82d .menuInner ul.firstLevel > li > a,
  #id_QFpB82d .menuInner ul.secondLevel > li > .item > a,
  #id_QFpB82d .menuInner ul.secondLevel > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    text-align: center !important;
    text-decoration: none !important;
    border: 0 !important;
    box-shadow: none !important;
    white-space: normal !important;
  }

  #id_QFpB82d .menuInner ul.firstLevel > li > .item > a,
  #id_QFpB82d .menuInner ul.firstLevel > li > a {
    min-height: 54px !important;
    padding: 15px 22px !important;
    background: var(--pfc-white) !important;
    color: var(--pfc-black) !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }

  #id_QFpB82d .menuInner ul.firstLevel > li.sel > .item > a,
  #id_QFpB82d .menuInner ul.firstLevel > li.selected > .item > a,
  #id_QFpB82d .menuInner ul.firstLevel > li.current > .item > a {
    background: var(--pfc-cream) !important;
    color: var(--pfc-gold-dark) !important;
    box-shadow: inset 4px 0 0 var(--pfc-yellow) !important;
  }

  #id_QFpB82d .menuInner ul.secondLevel,
  #id_QFpB82d .menuInner ul.firstLevel > li > .item > ul.secondLevel,
  #id_QFpB82d .menuInner ul ul {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--pfc-cream) !important;
    border: 0 !important;
    border-top: 1px solid #ece6d8 !important;
    box-shadow: none !important;
  }

  #id_QFpB82d .menuInner ul.secondLevel > li {
    display: block !important;
    width: 100% !important;
    border-top: 1px solid #ebe3d2 !important;
  }

  #id_QFpB82d .menuInner ul.secondLevel > li > .item > a,
  #id_QFpB82d .menuInner ul.secondLevel > li > a {
    min-height: 42px !important;
    padding: 11px 22px !important;
    background: var(--pfc-cream) !important;
    color: var(--pfc-text) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
    letter-spacing: 0.055em !important;
    text-transform: uppercase !important;
  }

  #id_QFpB82d .menuInner ul.firstLevel > li > .item > a > span,
  #id_QFpB82d .menuInner ul.firstLevel > li > a > span,
  #id_QFpB82d .menuInner ul.secondLevel > li > .item > a > span,
  #id_QFpB82d .menuInner ul.secondLevel > li > a > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: inherit !important;
    line-height: 1.2 !important;
  }

  #id_QFpB82d .menuInner a:hover,
  #id_QFpB82d .menuInner a:focus {
    color: var(--pfc-gold-dark) !important;
    background: var(--pfc-white) !important;
    text-decoration: none !important;
  }

  /* Login panel */
  #id_QFpB82d .loginInner,
  #id_QFpB82d .loginInner * {
    color: var(--pfc-black) !important;
  }

  #id_QFpB82d .loginInner a {
    color: var(--pfc-gold-dark) !important;
    font-weight: 900 !important;
  }

  #id_QFpB82d .oAuthButtonsContainer,
  #id_krxrkDL .oAuthButtonsContainer {
    display: grid !important;
    gap: 10px !important;
  }

  #id_QFpB82d .wa-authenticateLoginLink,
  #id_krxrkDL .wa-authenticateLoginLink {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    filter: none !important;
    text-decoration: none !important;
    cursor: pointer !important;
  }

  #id_QFpB82d .wa-authenticateLoginLink.googlePlus,
  #id_krxrkDL .wa-authenticateLoginLink.googlePlus {
    background: #4285f4 !important;
  }

  #id_QFpB82d .wa-authenticateLoginLink.microsoft,
  #id_krxrkDL .wa-authenticateLoginLink.microsoft {
    background: #2f2f2f !important;
  }

  #id_QFpB82d .wa-authenticateLoginLink.apple,
  #id_krxrkDL .wa-authenticateLoginLink.apple {
    background: #000000 !important;
  }

  #id_QFpB82d .wa-authenticateLoginLink .authenticateLoginText,
  #id_krxrkDL .wa-authenticateLoginLink .authenticateLoginText {
    color: #ffffff !important;
    opacity: 1 !important;
    filter: none !important;
    text-shadow: none !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
  }

  #id_QFpB82d .wa-authenticateLoginLink *,
  #id_krxrkDL .wa-authenticateLoginLink * {
    opacity: 1 !important;
    filter: none !important;
    text-shadow: none !important;
  }

  #id_QFpB82d .wa-authenticateLoginLink .authenticateLoginIcon,
  #id_krxrkDL .wa-authenticateLoginLink .authenticateLoginIcon {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 1 !important;
    filter: none !important;
  }

  #id_QFpB82d .wa-authenticateLoginLink:hover,
  #id_QFpB82d .wa-authenticateLoginLink:focus,
  #id_krxrkDL .wa-authenticateLoginLink:hover,
  #id_krxrkDL .wa-authenticateLoginLink:focus {
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16) !important;
    text-decoration: none !important;
  }

  #id_QFpB82d .loginContainerForm,
  #id_QFpB82d .openAuthFormContainer,
  #id_QFpB82d .generalLoginBox {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  #id_QFpB82d .loginUserName,
  #id_QFpB82d .loginPassword {
    margin: 10px 0 0 !important;
    padding: 0 !important;
  }

  #id_QFpB82d input[type="text"],
  #id_QFpB82d input[type="email"],
  #id_QFpB82d input[type="password"] {
    width: 100% !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 6px 10px !important;
    background: #ffffff !important;
    color: #171719 !important;
    border: 1px solid #d7d0bf !important;
    border-radius: 0 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    opacity: 1 !important;
  }

  #id_QFpB82d input::placeholder {
    color: #777777 !important;
    opacity: 1 !important;
  }

  #id_QFpB82d .loginActionRememberMe,
  #id_QFpB82d .loginPasswordForgot {
    margin-top: 12px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  #id_QFpB82d .loginActionRememberMe label {
    color: #171719 !important;
    font-weight: 700 !important;
  }

  #id_QFpB82d .loginPasswordForgot a {
    color: #b77f00 !important;
    font-weight: 900 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
  }

  #id_QFpB82d .loginAction {
    margin-top: 16px !important;
  }

  #id_QFpB82d .loginButton,
  #id_QFpB82d input.loginButtonControl {
    width: 100% !important;
    min-height: 42px !important;
    background: #4ea8c9 !important;
    color: #111111 !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    opacity: 1 !important;
  }
}

@media (max-width: 479px) {
  #id_QFpB82d .mobilePanel,
  #id_QFpB82d .mobilePanelButton {
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
  }

  #id_QFpB82d .mobilePanelButton {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
  }

  #id_QFpB82d .mobilePanelButton.buttonMenu::before {
    top: 13px !important;
    left: 12px !important;
  }

  #id_QFpB82d .mobilePanelButton.buttonLogin::before {
    top: 10px !important;
    left: 10px !important;
  }

  #id_MobilePanel:has(#id_QFpB82d .buttonMenu.active) #id_QFpB82d .menuInner,
  #id_MobilePanel:has(#id_QFpB82d .buttonLogin.active) #id_QFpB82d .loginInner {
    top: 42px !important;
    max-height: calc(100dvh - 42px) !important;
  }

  #id_QFpB82d .menuInner ul.firstLevel > li > .item > a,
  #id_QFpB82d .menuInner ul.firstLevel > li > a {
    min-height: 50px !important;
    padding: 14px 18px !important;
    font-size: 13px !important;
    letter-spacing: 0.065em !important;
  }

  #id_QFpB82d .menuInner ul.secondLevel > li > .item > a,
  #id_QFpB82d .menuInner ul.secondLevel > li > a {
    min-height: 40px !important;
    padding: 10px 18px !important;
    font-size: 11.5px !important;
  }
}

@media (max-width: 359px) {
  #id_QFpB82d .mobilePanel,
  #id_QFpB82d .mobilePanelButton {
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
  }

  #id_QFpB82d .mobilePanelButton {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
  }

  #id_QFpB82d .mobilePanelButton.buttonMenu::before {
    width: 17px !important;
    top: 12px !important;
    left: 11px !important;
  }

  #id_QFpB82d .mobilePanelButton.buttonLogin::before {
    width: 20px !important;
    height: 20px !important;
    top: 10px !important;
    left: 10px !important;
  }

  #id_MobilePanel:has(#id_QFpB82d .buttonMenu.active) #id_QFpB82d .menuInner,
  #id_MobilePanel:has(#id_QFpB82d .buttonLogin.active) #id_QFpB82d .loginInner {
    top: 40px !important;
    max-height: calc(100dvh - 40px) !important;
  }

  #id_QFpB82d .menuInner ul.firstLevel > li > .item > a,
  #id_QFpB82d .menuInner ul.firstLevel > li > a {
    min-height: 48px !important;
    padding: 13px 14px !important;
    font-size: 12px !important;
    letter-spacing: 0.05em !important;
  }

  #id_QFpB82d .menuInner ul.secondLevel > li > .item > a,
  #id_QFpB82d .menuInner ul.secondLevel > li > a {
    font-size: 11px !important;
  }
}


/* =========================================================
   4. Events + Slideshow Gadget
   Unified with .pfc-events-hero above
========================================================= */

#id_htAPkVJ {
  background: #f7f7f4 !important;

  /*
    No top border. The hero already owns the section top border.
    This makes the hero + gadget layout feel like one section.
  */
  border-top: 0 !important;
  border-bottom: 1px solid #e6e2d8 !important;

  padding: 0 0 34px !important;
  margin-top: 0 !important;

  overflow: hidden !important;
}

#id_htAPkVJ .WaLayoutTable,
#id_htAPkVJ .WaLayoutTable > tbody,
#id_htAPkVJ .WaLayoutRow {
  display: block !important;
  width: 100% !important;
}

#id_htAPkVJ .WaLayoutRow {
  max-width: min(1540px, calc(100vw - 96px)) !important;
  margin: 0 auto !important;
  padding: 0 48px !important;

  display: grid !important;
  grid-template-columns: minmax(420px, 0.82fr) minmax(0, 1.18fr) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

#id_vHBdLPI,
#id_imvWuwc {
  min-width: 0 !important;
}

#id_vHBdLPI {
  display: flex !important;
  align-items: stretch !important;
  width: auto !important;
  vertical-align: top !important;
}

#id_imvWuwc {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  vertical-align: middle !important;
}

#id_imvWuwc > div,
#id_DWSJiCW,
#id_DWSJiCW > div {
  width: 100% !important;
  max-width: 100% !important;
}

#id_htAPkVJ .WaLayoutSeparator {
  display: none !important;
}

/* Event list card */

#id_ciCXbRt {
  width: 100% !important;
  height: var(--pfc-event-media-height) !important;
  max-height: var(--pfc-event-media-height) !important;

  display: flex !important;
  flex-direction: column !important;

  background: #ffffff !important;
  border-left: 4px solid #f4b526 !important;
  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.08) !important;

  padding: 24px 28px !important;
  overflow: hidden !important;
}

#id_ciCXbRt > .gadgetStyleBody {
  flex: 1 1 auto !important;
  min-height: 0 !important;

  display: flex !important;
  flex-direction: column !important;

  padding: 0 !important;
  margin: 0 !important;

  overflow: hidden !important;
}

#id_ciCXbRt::after {
  content: "Community Calendar";
  display: block;
  order: -2;
  flex: 0 0 auto !important;

  margin: 0 0 7px;

  color: #b77f00;

  font-size: 10px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

#id_ciCXbRt::before {
  content: "Upcoming Events";
  display: block;
  order: -1;
  flex: 0 0 auto !important;

  margin: 0 0 18px;

  color: #171719;

  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.12;
  font-weight: 900;
  letter-spacing: -0.025em;
}

#id_ciCXbRt ul {
  flex: 1 1 auto !important;
  min-height: 0 !important;

  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 9px !important;

  margin: 0 !important;
  padding: 0 6px 0 0 !important;

  list-style: none !important;

  overflow-y: auto !important;
  overflow-x: hidden !important;

  -webkit-overflow-scrolling: touch !important;
}

#id_ciCXbRt ul::-webkit-scrollbar {
  width: 8px;
}

#id_ciCXbRt ul::-webkit-scrollbar-track {
  background: #f1f1ee;
}

#id_ciCXbRt ul::-webkit-scrollbar-thumb {
  background: #f4b526;
  border-radius: 999px;
}

#id_ciCXbRt ul::-webkit-scrollbar-thumb:hover {
  background: #b77f00;
}

#id_ciCXbRt li {
  margin: 0 !important;
  padding: 12px 14px !important;

  background: #f7f7f4 !important;
  border-left: 3px solid #f4b526 !important;

  color: #333333 !important;
}

#id_ciCXbRt .title {
  margin: 0 0 5px !important;
  padding: 0 !important;
}

#id_ciCXbRt .title a {
  color: #171719 !important;

  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;

  text-decoration: none !important;
}

#id_ciCXbRt .title a:hover,
#id_ciCXbRt .title a:focus {
  color: #b77f00 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

#id_ciCXbRt .date,
#id_ciCXbRt .location,
#id_ciCXbRt .date span,
#id_ciCXbRt .location span {
  color: #333333 !important;

  font-size: 12.5px !important;
  line-height: 1.35 !important;
  font-weight: 650 !important;
}

#id_ciCXbRt .date {
  margin: 0 0 2px !important;
}

#id_ciCXbRt .location {
  margin: 0 !important;
}

/* Slideshow card */

#id_CPEcznb {
  width: 100% !important;
  max-width: 940px !important;

  height: var(--pfc-event-media-height) !important;
  max-height: var(--pfc-event-media-height) !important;

  margin: 0 auto !important;

  display: flex !important;
  flex-direction: column !important;

  background: #ffffff !important;
  border-left: 4px solid #f4b526 !important;
  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.08) !important;

  padding: 0 !important;
  overflow: hidden !important;
}

#id_CPEcznb > .gadgetStyleBody {
  flex: 1 1 auto !important;
  min-height: 0 !important;

  display: block !important;

  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;

  padding: 0 !important;
  margin: 0 !important;
}

#camera_wrap_CPEcznb {
  display: block !important;

  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;

  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;

  margin: 0 auto !important;
  overflow: hidden !important;

  background: #171719 !important;
}

#camera_wrap_CPEcznb .camera_fakehover,
#camera_wrap_CPEcznb .camera_target,
#camera_wrap_CPEcznb .cameraCont,
#camera_wrap_CPEcznb .cameraSlide,
#camera_wrap_CPEcznb .camerarelative,
#camera_wrap_CPEcznb .camera_overlayer,
#camera_wrap_CPEcznb .camera_target_content {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;

  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;

  overflow: hidden !important;
}

#camera_wrap_CPEcznb .cameraSlide > .camerarelative {
  width: 100% !important;
  height: 100% !important;
}

#camera_wrap_CPEcznb .cameraSlide img.imgLoaded,
#camera_wrap_CPEcznb .cameraSlide.cameracurrent img.imgLoaded,
#camera_wrap_CPEcznb .cameraSlide.cameranext img.imgLoaded,
#camera_wrap_CPEcznb img.imgLoaded {
  width: 100% !important;
  height: 100% !important;

  max-width: none !important;
  max-height: none !important;

  object-fit: cover !important;
  object-position: center center !important;

  position: absolute !important;
  top: 0 !important;
  left: 0 !important;

  margin: 0 !important;

  visibility: visible !important;
}

#camera_wrap_CPEcznb .camera_bar,
#camera_wrap_CPEcznb .camera_bar_cont {
  background: #171719 !important;
}

#camera_wrap_CPEcznb .camera_bar {
  height: 5px !important;
}

#camera_wrap_CPEcznb .camera_bar_cont span,
#camera_wrap_CPEcznb .camera_bar_cont #pie_0 {
  background: #f4b526 !important;
}

#camera_wrap_CPEcznb .camera_loader {
  display: none !important;
}

/* Events / slideshow responsive */

@media (min-width: 1700px) {
  :root {
    --pfc-event-media-height: clamp(400px, 28vw, 540px);
  }

  #id_htAPkVJ .WaLayoutRow {
    max-width: 1680px !important;
    padding-left: 56px !important;
    padding-right: 56px !important;
    gap: 36px !important;
    grid-template-columns: minmax(440px, 0.8fr) minmax(0, 1.2fr) !important;
  }

  #id_ciCXbRt {
    padding: 28px 32px !important;
  }

  #id_CPEcznb {
    max-width: 1040px !important;
  }
}

@media (max-width: 1199px) {
  :root {
    --pfc-event-media-height: clamp(340px, 36vw, 440px);
  }

  #id_htAPkVJ {
    padding: 0 0 32px !important;
  }

  #id_htAPkVJ .WaLayoutRow {
    max-width: min(1120px, calc(100vw - 56px)) !important;
    padding: 0 28px !important;
    gap: 16px !important;
    grid-template-columns: minmax(360px, 0.9fr) minmax(0, 1.1fr) !important;
  }

  #id_ciCXbRt {
    padding: 22px 24px !important;
  }

  #id_ciCXbRt::before {
    font-size: clamp(22px, 2.7vw, 28px) !important;
  }

  #id_CPEcznb {
    max-width: 720px !important;
  }
}

@media (max-width: 991px) {
  :root {
    --pfc-event-media-height: clamp(340px, 52vw, 460px);
  }

  #id_htAPkVJ {
    padding: 0 0 30px !important;
  }

  #id_htAPkVJ .WaLayoutRow {
    max-width: 760px !important;
    padding: 0 24px !important;

    grid-template-columns: 1fr !important;
    gap: 14px !important;
    align-items: stretch !important;
  }

  #id_vHBdLPI,
  #id_imvWuwc {
    width: 100% !important;
  }

  #id_imvWuwc {
    display: block !important;
  }

  #id_ciCXbRt {
    padding: 20px 22px !important;
  }

  #id_CPEcznb {
    max-width: none !important;
  }
}

@media (max-width: 767px) {
  :root {
    --pfc-event-media-height: 360px;
  }

  #id_htAPkVJ {
    padding: 0 0 26px !important;
  }

  #id_htAPkVJ .WaLayoutRow {
    max-width: 560px !important;
    padding: 0 18px !important;
    gap: 12px !important;
  }

  #id_ciCXbRt {
    height: 380px !important;
    max-height: 380px !important;
    padding: 18px 16px !important;
  }

  #id_CPEcznb {
    height: 300px !important;
    max-height: 300px !important;
  }

  #id_ciCXbRt,
  #id_CPEcznb {
    border-left-width: 3px !important;
  }

  #id_ciCXbRt::after {
    font-size: 10px !important;
    letter-spacing: 0.14em !important;
  }

  #id_ciCXbRt::before {
    margin-bottom: 14px !important;
    font-size: clamp(21px, 6vw, 26px) !important;
  }

  #id_ciCXbRt ul {
    gap: 8px !important;
  }

  #id_ciCXbRt li {
    padding: 11px 12px !important;
  }

  #id_ciCXbRt .title a {
    font-size: 13px !important;
  }

  #id_ciCXbRt .date,
  #id_ciCXbRt .location,
  #id_ciCXbRt .date span,
  #id_ciCXbRt .location span {
    font-size: 12px !important;
  }
}

@media (max-width: 479px) {
  #id_htAPkVJ {
    padding: 0 0 24px !important;
  }

  #id_htAPkVJ .WaLayoutRow {
    padding: 0 16px !important;
  }

  #id_ciCXbRt {
    height: 360px !important;
    max-height: 360px !important;
    padding: 17px 14px !important;
  }

  #id_CPEcznb {
    height: 260px !important;
    max-height: 260px !important;
  }
}

/* =========================================================
   PFC Events Section Seam Fix
   Removes white gaps around the events hero + gadget block
========================================================= */

/* Kill spacing that Wild Apricot may add around the custom HTML hero gadget */
.pfc-events-hero {
  display: block !important;

  position: relative !important;
  left: 50% !important;
  right: 50% !important;

  width: 100vw !important;
  max-width: 100vw !important;

  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;

  padding-top: 0 !important;
  padding-bottom: 0 !important;

  background: #f7f7f4 !important;
  border-top: 3px solid #f4b526 !important;
  border-bottom: 0 !important;

  overflow: hidden !important;
}

/* Put all hero spacing inside the inner wrapper, not outside the section */
.pfc-events-hero-inner {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 30px !important;
  padding-bottom: 24px !important;
}

/* Remove paragraph/header default margin leakage inside the hero */
.pfc-events-hero p,
.pfc-events-hero h1,
.pfc-events-hero h2,
.pfc-events-hero h3 {
  margin-top: 0 !important;
}

/* Make the gadget section attach directly to the hero */
#id_htAPkVJ {
  margin-top: 0 !important;
  margin-bottom: 0 !important;

  padding-top: 0 !important;
  padding-bottom: 34px !important;

  background: #f7f7f4 !important;
  border-top: 0 !important;
}

/* Remove top spacing inside the WA layout row */
#id_htAPkVJ .WaLayoutTable,
#id_htAPkVJ .WaLayoutTable > tbody,
#id_htAPkVJ .WaLayoutRow {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

/* Keep the two cards aligned directly under the hero */
#id_htAPkVJ .WaLayoutRow {
  padding-top: 0 !important;
}

/* Remove accidental top margins from the cards themselves */
#id_ciCXbRt,
#id_CPEcznb {
  margin-top: 0 !important;
}

/* If Wild Apricot injects empty editable paragraphs around custom HTML blocks */
.pfc-events-hero + p,
.pfc-events-hero + div:empty,
.pfc-events-hero + p:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Mobile keeps the same no-gap behavior */
@media (max-width: 767px) {
  .pfc-events-hero-inner {
    padding-top: 26px !important;
    padding-bottom: 18px !important;
  }

  #id_htAPkVJ {
    padding-top: 0 !important;
    padding-bottom: 26px !important;
  }
}

@media (max-width: 479px) {
  .pfc-events-hero-inner {
    padding-top: 24px !important;
    padding-bottom: 16px !important;
  }

  #id_htAPkVJ {
    padding-bottom: 24px !important;
  }
}


/* =========================================================
   5. Shared Wild Apricot Form Styling
   Applies to:
   - Email signup: #id_IAKE3YJ
   - Donation: #id_D6b8LjV / .WaGadgetDonationForm
========================================================= */

#id_IAKE3YJ,
#id_D6b8LjV,
.WaGadgetDonationForm {
  margin: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  background: var(--pfc-cream) !important;
  color: var(--pfc-black) !important;
  font-family: inherit !important;
  padding: 38px 0 44px !important;
  overflow: hidden !important;
}

#id_IAKE3YJ > .gadgetStyleBody,
#id_D6b8LjV > .gadgetStyleBody,
#id_D6b8LjV .gadgetStyleBody,
.WaGadgetDonationForm > .gadgetStyleBody,
.WaGadgetDonationForm .gadgetStyleBody {
  width: 100% !important;
  max-width: var(--pfc-container-md) !important;
  margin: 0 auto !important;
  background: var(--pfc-white) !important;
  border-left: var(--pfc-card-border) !important;
  box-shadow: var(--pfc-shadow) !important;
  padding: 34px 42px !important;
}


/* Remove WA decorative shells */

#id_IAKE3YJ .cornersContainer,
#id_IAKE3YJ .topCorners,
#id_IAKE3YJ .bottomCorners,
#id_IAKE3YJ .c1,
#id_IAKE3YJ .c2,
#id_IAKE3YJ .c3,
#id_IAKE3YJ .c4,
#id_IAKE3YJ .c5,
#id_IAKE3YJ .r1,
#id_IAKE3YJ .r2,
#id_IAKE3YJ .r3,
#id_IAKE3YJ .r4,
#id_IAKE3YJ .r5,
#id_D6b8LjV .cornersContainer,
#id_D6b8LjV .topCorners,
#id_D6b8LjV .bottomCorners,
#id_D6b8LjV .c1,
#id_D6b8LjV .c2,
#id_D6b8LjV .c3,
#id_D6b8LjV .c4,
#id_D6b8LjV .c5,
#id_D6b8LjV .r1,
#id_D6b8LjV .r2,
#id_D6b8LjV .r3,
#id_D6b8LjV .r4,
#id_D6b8LjV .r5,
.WaGadgetDonationForm .cornersContainer,
.WaGadgetDonationForm .topCorners,
.WaGadgetDonationForm .bottomCorners,
.WaGadgetDonationForm .c1,
.WaGadgetDonationForm .c2,
.WaGadgetDonationForm .c3,
.WaGadgetDonationForm .c4,
.WaGadgetDonationForm .c5,
.WaGadgetDonationForm .r1,
.WaGadgetDonationForm .r2,
.WaGadgetDonationForm .r3,
.WaGadgetDonationForm .r4,
.WaGadgetDonationForm .r5 {
  display: none !important;
}


/* Flatten form wrappers */

#id_IAKE3YJ .d1,
#id_IAKE3YJ .d2,
#id_IAKE3YJ .d3,
#id_IAKE3YJ .d4,
#id_IAKE3YJ .d5,
#id_IAKE3YJ .d6,
#id_IAKE3YJ .d7,
#id_IAKE3YJ .d8,
#id_IAKE3YJ .d9,
#id_IAKE3YJ .inner,
#id_IAKE3YJ .generalFormOuterContainer,
#id_IAKE3YJ .generalFormContainer,
#id_IAKE3YJ .formOuterContainer,
#id_IAKE3YJ .formContainer,
#id_IAKE3YJ .generalFieldsOuterContainer,
#id_IAKE3YJ .generalFieldsContainer,
#id_IAKE3YJ .sectionOuterContainer,
#id_IAKE3YJ .sectionContainer,
#id_D6b8LjV .d1,
#id_D6b8LjV .d2,
#id_D6b8LjV .d3,
#id_D6b8LjV .d4,
#id_D6b8LjV .d5,
#id_D6b8LjV .d6,
#id_D6b8LjV .d7,
#id_D6b8LjV .d8,
#id_D6b8LjV .d9,
#id_D6b8LjV .inner,
#id_D6b8LjV .generalFormOuterContainer,
#id_D6b8LjV .generalFormContainer,
#id_D6b8LjV .formOuterContainer,
#id_D6b8LjV .formContainer,
#id_D6b8LjV .generalFieldsOuterContainer,
#id_D6b8LjV .generalFieldsContainer,
#id_D6b8LjV .sectionOuterContainer,
#id_D6b8LjV .sectionContainer,
.WaGadgetDonationForm .d1,
.WaGadgetDonationForm .d2,
.WaGadgetDonationForm .d3,
.WaGadgetDonationForm .d4,
.WaGadgetDonationForm .d5,
.WaGadgetDonationForm .d6,
.WaGadgetDonationForm .d7,
.WaGadgetDonationForm .d8,
.WaGadgetDonationForm .d9,
.WaGadgetDonationForm .inner,
.WaGadgetDonationForm .generalFormOuterContainer,
.WaGadgetDonationForm .generalFormContainer,
.WaGadgetDonationForm .formOuterContainer,
.WaGadgetDonationForm .formContainer,
.WaGadgetDonationForm .generalFieldsOuterContainer,
.WaGadgetDonationForm .generalFieldsContainer,
.WaGadgetDonationForm .sectionOuterContainer,
.WaGadgetDonationForm .sectionContainer {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* Core form width */

#id_IAKE3YJ form,
#id_D6b8LjV form,
.WaGadgetDonationForm form {
  width: 100% !important;
  max-width: var(--pfc-form-width) !important;
  margin: 0 auto !important;
}


/* Title row */

#id_IAKE3YJ .formTitleOuterContainer,
#id_IAKE3YJ .formTitleContainer,
#id_D6b8LjV .formTitleOuterContainer,
#id_D6b8LjV .formTitleContainer,
.WaGadgetDonationForm .formTitleOuterContainer,
.WaGadgetDonationForm .formTitleContainer {
  width: 100% !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

#id_IAKE3YJ .formTitleContainer .inner,
#id_D6b8LjV .formTitleContainer .inner,
.WaGadgetDonationForm .formTitleContainer .inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 24px !important;
  width: 100% !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid var(--pfc-line) !important;
}

#id_IAKE3YJ .formTitle,
#id_D6b8LjV .formTitle,
.WaGadgetDonationForm .formTitle {
  justify-self: start !important;
  margin: 0 !important;
  color: var(--pfc-black) !important;
  font-family: inherit !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
}

#id_IAKE3YJ .mandatoryFieldsTitle,
#id_D6b8LjV .mandatoryFieldsTitle,
.WaGadgetDonationForm .mandatoryFieldsTitle {
  justify-self: end !important;
  margin: 0 0 0 auto !important;
  color: var(--pfc-gold-dark) !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

#id_IAKE3YJ .mandatorySymbol,
#id_D6b8LjV .mandatorySymbol,
.WaGadgetDonationForm .mandatorySymbol {
  color: var(--pfc-gold-dark) !important;
  font-weight: 900 !important;
}


/* Fields */

#id_IAKE3YJ .fieldContainer,
#id_D6b8LjV .fieldContainer,
.WaGadgetDonationForm .fieldContainer {
  width: 100% !important;
  margin: 0 0 17px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

#id_IAKE3YJ .fieldSubContainer table,
#id_IAKE3YJ .fieldSubContainer tbody,
#id_IAKE3YJ .fieldSubContainer tr,
#id_IAKE3YJ .fieldSubContainer td,
#id_D6b8LjV .fieldSubContainer table,
#id_D6b8LjV .fieldSubContainer tbody,
#id_D6b8LjV .fieldSubContainer tr,
#id_D6b8LjV .fieldSubContainer td,
.WaGadgetDonationForm .fieldSubContainer table,
.WaGadgetDonationForm .fieldSubContainer tbody,
.WaGadgetDonationForm .fieldSubContainer tr,
.WaGadgetDonationForm .fieldSubContainer td {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#id_IAKE3YJ .fieldSubContainer td.left,
#id_IAKE3YJ .fieldSubContainer td.right,
#id_D6b8LjV .fieldSubContainer td.left,
#id_D6b8LjV .fieldSubContainer td.right,
.WaGadgetDonationForm .fieldSubContainer td.left,
.WaGadgetDonationForm .fieldSubContainer td.right {
  display: block !important;
  width: 100% !important;
}

#id_IAKE3YJ .fieldLabel,
#id_D6b8LjV .fieldLabel,
.WaGadgetDonationForm .fieldLabel {
  width: 100% !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  color: var(--pfc-black) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  text-align: left !important;
  white-space: normal !important;
}

#id_IAKE3YJ .fieldLabel span,
#id_D6b8LjV .fieldLabel span,
.WaGadgetDonationForm .fieldLabel span {
  color: inherit !important;
  font: inherit !important;
}

#id_IAKE3YJ .fieldBody,
#id_D6b8LjV .fieldBody,
.WaGadgetDonationForm .fieldBody {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}


/* Inputs */

#id_IAKE3YJ input[type="text"],
#id_IAKE3YJ input[type="email"],
#id_IAKE3YJ input[type="password"],
#id_IAKE3YJ input[type="tel"],
#id_IAKE3YJ input[type="url"],
#id_IAKE3YJ input[type="number"],
#id_IAKE3YJ select,
#id_IAKE3YJ textarea,
#id_D6b8LjV input[type="text"],
#id_D6b8LjV input[type="email"],
#id_D6b8LjV input[type="password"],
#id_D6b8LjV input[type="tel"],
#id_D6b8LjV input[type="url"],
#id_D6b8LjV input[type="number"],
#id_D6b8LjV select,
#id_D6b8LjV textarea,
.WaGadgetDonationForm input[type="text"],
.WaGadgetDonationForm input[type="email"],
.WaGadgetDonationForm input[type="password"],
.WaGadgetDonationForm input[type="tel"],
.WaGadgetDonationForm input[type="url"],
.WaGadgetDonationForm input[type="number"],
.WaGadgetDonationForm select,
.WaGadgetDonationForm textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 42px !important;
  padding: 10px 12px !important;
  background: var(--pfc-cream) !important;
  color: var(--pfc-black) !important;
  border: 1px solid var(--pfc-line-2) !important;
  border-left: 3px solid var(--pfc-yellow) !important;
  border-radius: var(--pfc-radius) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 650 !important;
}

#id_D6b8LjV textarea,
.WaGadgetDonationForm textarea {
  min-height: 132px !important;
}

#id_IAKE3YJ input:focus,
#id_IAKE3YJ select:focus,
#id_IAKE3YJ textarea:focus,
#id_D6b8LjV input:focus,
#id_D6b8LjV select:focus,
#id_D6b8LjV textarea:focus,
.WaGadgetDonationForm input:focus,
.WaGadgetDonationForm select:focus,
.WaGadgetDonationForm textarea:focus {
  outline: 3px solid rgba(244, 181, 38, 0.35) !important;
  border-color: var(--pfc-yellow) !important;
}


/* Radio / checkbox defaults */

#id_IAKE3YJ input[type="radio"],
#id_IAKE3YJ input[type="checkbox"],
#id_D6b8LjV input[type="radio"],
#id_D6b8LjV input[type="checkbox"],
.WaGadgetDonationForm input[type="radio"],
.WaGadgetDonationForm input[type="checkbox"] {
  accent-color: var(--pfc-yellow) !important;
}


/* Option rows */

#id_D6b8LjV .fieldItem,
#id_D6b8LjV .groupBodyVertical .fieldItem,
#id_D6b8LjV .groupBodyHorizontal .fieldItem,
.WaGadgetDonationForm .fieldItem,
.WaGadgetDonationForm .groupBodyVertical .fieldItem,
.WaGadgetDonationForm .groupBodyHorizontal .fieldItem {
  display: block !important;
  width: 100% !important;
  margin: 8px 0 !important;
  padding: 13px 15px !important;
  background: var(--pfc-cream) !important;
  border-left: 3px solid var(--pfc-yellow) !important;
  color: var(--pfc-black) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 750 !important;
}

#id_D6b8LjV .fieldItem label,
.WaGadgetDonationForm .fieldItem label {
  color: var(--pfc-black) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 750 !important;
}


/* Help / validation */

#id_IAKE3YJ .typeInstruction,
#id_D6b8LjV .typeInstruction,
#id_D6b8LjV .fieldDescription,
#id_D6b8LjV .fieldComment,
#id_D6b8LjV .hint,
.WaGadgetDonationForm .typeInstruction,
.WaGadgetDonationForm .fieldDescription,
.WaGadgetDonationForm .fieldComment,
.WaGadgetDonationForm .hint {
  display: block !important;
  margin: 7px 0 0 !important;
  color: var(--pfc-muted) !important;
  font-family: inherit !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 650 !important;
  font-style: italic !important;
}

#id_IAKE3YJ .validationError,
#id_D6b8LjV .validationError,
.WaGadgetDonationForm .validationError {
  display: block;
  margin-top: 7px !important;
  color: var(--pfc-error) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}


/* Links */

#id_IAKE3YJ a,
#id_D6b8LjV a,
.WaGadgetDonationForm a {
  color: var(--pfc-black) !important;
  font-weight: 900 !important;
  text-decoration: underline !important;
  text-decoration-color: var(--pfc-yellow) !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px !important;
}

#id_IAKE3YJ a:hover,
#id_IAKE3YJ a:focus,
#id_D6b8LjV a:hover,
#id_D6b8LjV a:focus,
.WaGadgetDonationForm a:hover,
.WaGadgetDonationForm a:focus {
  color: var(--pfc-gold-dark) !important;
}


/* Navigation / buttons */

#id_IAKE3YJ .navigationOuterContainer,
#id_IAKE3YJ .navigationContainer,
#id_D6b8LjV .navigationOuterContainer,
#id_D6b8LjV .navigationContainer,
.WaGadgetDonationForm .navigationOuterContainer,
.WaGadgetDonationForm .navigationContainer {
  width: 100% !important;
  max-width: var(--pfc-form-width) !important;
  margin: 28px auto 0 !important;
  padding: 22px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid var(--pfc-line) !important;
}

#id_IAKE3YJ .navigationContainer .inner,
#id_D6b8LjV .navigationContainer .inner,
.WaGadgetDonationForm .navigationContainer .inner {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 32px !important;
}

#id_IAKE3YJ .navigationContainer .left,
#id_IAKE3YJ .navigationContainer .clearEndContainer,
#id_D6b8LjV .navigationContainer .left,
#id_D6b8LjV .navigationContainer .clearEndContainer,
.WaGadgetDonationForm .navigationContainer .left,
.WaGadgetDonationForm .navigationContainer .clearEndContainer {
  display: none !important;
}

#id_IAKE3YJ .navigationContainer .right,
#id_D6b8LjV .navigationContainer .right,
.WaGadgetDonationForm .navigationContainer .right {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 32px !important;
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#id_IAKE3YJ .backLink,
#id_D6b8LjV .backLink,
#id_D6b8LjV .cancelLink,
.WaGadgetDonationForm .backLink,
.WaGadgetDonationForm .cancelLink {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 0 4px !important;
  color: var(--pfc-black) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-transform: none !important;
}

#id_IAKE3YJ input[type="submit"],
#id_IAKE3YJ .nextButton,
#id_D6b8LjV input[type="submit"],
#id_D6b8LjV input[type="button"],
#id_D6b8LjV button,
#id_D6b8LjV .nextButton,
#id_D6b8LjV .Button,
#id_D6b8LjV .button,
.WaGadgetDonationForm input[type="submit"],
.WaGadgetDonationForm input[type="button"],
.WaGadgetDonationForm button,
.WaGadgetDonationForm .nextButton,
.WaGadgetDonationForm .Button,
.WaGadgetDonationForm .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 172px !important;
  min-height: 42px !important;
  padding: 10px 18px !important;
  background: var(--pfc-yellow) !important;
  color: #111111 !important;
  border: 2px solid var(--pfc-yellow) !important;
  border-radius: var(--pfc-radius) !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  font-family: inherit !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  cursor: pointer !important;
  transition: background 160ms ease, transform 160ms ease, box-shadow 160ms ease !important;
}

#id_IAKE3YJ input[type="submit"]:hover,
#id_IAKE3YJ .nextButton:hover,
#id_IAKE3YJ input[type="submit"]:focus,
#id_IAKE3YJ .nextButton:focus,
#id_D6b8LjV input[type="submit"]:hover,
#id_D6b8LjV input[type="button"]:hover,
#id_D6b8LjV button:hover,
#id_D6b8LjV .nextButton:hover,
#id_D6b8LjV .Button:hover,
#id_D6b8LjV .button:hover,
.WaGadgetDonationForm input[type="submit"]:hover,
.WaGadgetDonationForm input[type="button"]:hover,
.WaGadgetDonationForm button:hover,
.WaGadgetDonationForm .nextButton:hover,
.WaGadgetDonationForm .Button:hover,
.WaGadgetDonationForm .button:hover {
  background: var(--pfc-yellow-hover) !important;
  border-color: var(--pfc-yellow-hover) !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--pfc-shadow-hover) !important;
}


/* =========================================================
   6. Shared Privacy Policy Consent Field
   Both subscription and donation use #idContainer9944048
========================================================= */

#id_IAKE3YJ #idContainer9944048,
#id_D6b8LjV #idContainer9944048,
.WaGadgetDonationForm #idContainer9944048 {
  width: 100% !important;
  margin: 0 0 24px !important;
  padding: 18px 20px !important;
  background: var(--pfc-cream) !important;
  border-left: var(--pfc-card-border) !important;
  box-shadow: none !important;
}

#id_IAKE3YJ #idContainer9944048 .fieldSubContainer,
#id_D6b8LjV #idContainer9944048 .fieldSubContainer,
.WaGadgetDonationForm #idContainer9944048 .fieldSubContainer {
  display: block !important;
  width: 100% !important;
}

/* Privacy uses table layout because WA's consent markup is fragile */
#id_IAKE3YJ #idContainer9944048 table,
#id_D6b8LjV #idContainer9944048 table,
.WaGadgetDonationForm #idContainer9944048 table {
  display: table !important;
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
}

#id_IAKE3YJ #idContainer9944048 tbody,
#id_D6b8LjV #idContainer9944048 tbody,
.WaGadgetDonationForm #idContainer9944048 tbody {
  display: table-row-group !important;
}

#id_IAKE3YJ #idContainer9944048 tr,
#id_D6b8LjV #idContainer9944048 tr,
.WaGadgetDonationForm #idContainer9944048 tr {
  display: table-row !important;
}

#id_IAKE3YJ #idContainer9944048 td.left,
#id_D6b8LjV #idContainer9944048 td.left,
.WaGadgetDonationForm #idContainer9944048 td.left {
  display: table-cell !important;
  width: 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
  padding: 0 18px 0 0 !important;
  vertical-align: top !important;
  background: transparent !important;
  border: 0 !important;
}

#id_IAKE3YJ #idContainer9944048 td.right,
#id_D6b8LjV #idContainer9944048 td.right,
.WaGadgetDonationForm #idContainer9944048 td.right {
  display: table-cell !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  vertical-align: top !important;
  background: transparent !important;
  border: 0 !important;
}

#id_IAKE3YJ #idContainer9944048 .fieldLabel,
#id_D6b8LjV #idContainer9944048 .fieldLabel,
.WaGadgetDonationForm #idContainer9944048 .fieldLabel {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--pfc-black) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  text-align: left !important;
  white-space: normal !important;
}

#id_IAKE3YJ #idContainer9944048 .groupBodyVertical,
#id_IAKE3YJ #idContainer9944048 .fieldItem,
#id_D6b8LjV #idContainer9944048 .groupBodyVertical,
#id_D6b8LjV #idContainer9944048 .fieldItem,
.WaGadgetDonationForm #idContainer9944048 .groupBodyVertical,
.WaGadgetDonationForm #idContainer9944048 .fieldItem {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#id_IAKE3YJ #idContainer9944048 .typeCheckboxContainer,
#id_D6b8LjV #idContainer9944048 .typeCheckboxContainer,
.WaGadgetDonationForm #idContainer9944048 .typeCheckboxContainer {
  display: inline-block !important;
  width: 18px !important;
  min-width: 18px !important;
  margin: 2px 8px 0 0 !important;
  padding: 0 !important;
  vertical-align: top !important;
}

#id_IAKE3YJ #idContainer9944048 input[type="checkbox"],
#id_D6b8LjV #idContainer9944048 input[type="checkbox"],
.WaGadgetDonationForm #idContainer9944048 input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  accent-color: var(--pfc-yellow) !important;
}

#id_IAKE3YJ #idContainer9944048 .label,
#id_D6b8LjV #idContainer9944048 .label,
.WaGadgetDonationForm #idContainer9944048 .label {
  display: inline-block !important;
  width: calc(100% - 34px) !important;
  max-width: calc(100% - 34px) !important;
  min-width: 0 !important;
  vertical-align: top !important;
  white-space: normal !important;
}

#id_IAKE3YJ #idContainer9944048 label,
#id_D6b8LjV #idContainer9944048 label,
.WaGadgetDonationForm #idContainer9944048 label {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  color: var(--pfc-black) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 750 !important;
  white-space: normal !important;
}

#id_IAKE3YJ #idContainer9944048 .textLine,
#id_D6b8LjV #idContainer9944048 .textLine,
.WaGadgetDonationForm #idContainer9944048 .textLine {
  display: inline !important;
  width: auto !important;
  max-width: none !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

#id_IAKE3YJ #idContainer9944048 .textLine > a:first-child,
#id_D6b8LjV #idContainer9944048 .textLine > a:first-child,
.WaGadgetDonationForm #idContainer9944048 .textLine > a:first-child {
  display: inline !important;
  color: var(--pfc-black) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  text-decoration-color: transparent !important;
  text-decoration-thickness: 0 !important;
  text-underline-offset: 0 !important;
  white-space: normal !important;
  word-break: normal !important;
}

#id_IAKE3YJ #idContainer9944048 .textLine > a:last-child,
#id_D6b8LjV #idContainer9944048 .textLine > a:last-child,
.WaGadgetDonationForm #idContainer9944048 .textLine > a:last-child {
  display: inline !important;
  margin: 0 0 0 10px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #555555 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 750 !important;
  text-decoration: none !important;
  text-decoration-color: transparent !important;
  text-decoration-thickness: 0 !important;
  text-underline-offset: 0 !important;
  white-space: nowrap !important;
}

#id_IAKE3YJ #idContainer9944048 .textLine > a:last-child i,
#id_D6b8LjV #idContainer9944048 .textLine > a:last-child i,
.WaGadgetDonationForm #idContainer9944048 .textLine > a:last-child i {
  margin-left: 0 !important;
  margin-right: 4px !important;
}

#id_IAKE3YJ #idContainer9944048 .textLine > a:hover,
#id_IAKE3YJ #idContainer9944048 .textLine > a:focus,
#id_D6b8LjV #idContainer9944048 .textLine > a:hover,
#id_D6b8LjV #idContainer9944048 .textLine > a:focus,
.WaGadgetDonationForm #idContainer9944048 .textLine > a:hover,
.WaGadgetDonationForm #idContainer9944048 .textLine > a:focus {
  color: var(--pfc-gold-dark) !important;
  text-decoration: none !important;
}


/* =========================================================
   7. Donation-Specific Fields
========================================================= */

/* Amount field should be a normal field, not a card */
#id_D6b8LjV #idAmountEditContainer,
.WaGadgetDonationForm #idAmountEditContainer {
  margin: 0 0 18px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#id_D6b8LjV #idAmountEditContainer .fieldSubContainer,
.WaGadgetDonationForm #idAmountEditContainer .fieldSubContainer {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

#id_D6b8LjV #idAmountEditContainer .fieldLabel,
.WaGadgetDonationForm #idAmountEditContainer .fieldLabel {
  margin: 0 0 7px !important;
  padding: 0 !important;
  color: var(--pfc-black) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
}

#id_D6b8LjV #idAmountEditContainer input[type="text"],
.WaGadgetDonationForm #idAmountEditContainer input[type="text"] {
  width: 100% !important;
  max-width: 100% !important;
}


/* Payment frequency */

#id_D6b8LjV #idContainer10191230,
.WaGadgetDonationForm #idContainer10191230 {
  margin: 0 0 24px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#id_D6b8LjV #idContainer10191230 table,
#id_D6b8LjV #idContainer10191230 tbody,
#id_D6b8LjV #idContainer10191230 tr,
#id_D6b8LjV #idContainer10191230 td,
.WaGadgetDonationForm #idContainer10191230 table,
.WaGadgetDonationForm #idContainer10191230 tbody,
.WaGadgetDonationForm #idContainer10191230 tr,
.WaGadgetDonationForm #idContainer10191230 td {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

#id_D6b8LjV #idContainer10191230 .fieldLabel,
.WaGadgetDonationForm #idContainer10191230 .fieldLabel {
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: var(--pfc-black) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
}

#id_D6b8LjV #idContainer10191230 .groupBodyVertical,
.WaGadgetDonationForm #idContainer10191230 .groupBodyVertical {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
  width: 100% !important;
}

#id_D6b8LjV #idContainer10191230 .fieldItem,
.WaGadgetDonationForm #idContainer10191230 .fieldItem {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 11px 13px !important;
  background: var(--pfc-cream) !important;
  border: 1px solid var(--pfc-line) !important;
  border-left: 3px solid var(--pfc-yellow) !important;
  color: var(--pfc-black) !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

#id_D6b8LjV #idContainer10191230 .typeRadioContainer,
.WaGadgetDonationForm #idContainer10191230 .typeRadioContainer {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

#id_D6b8LjV #idContainer10191230 input[type="radio"],
.WaGadgetDonationForm #idContainer10191230 input[type="radio"] {
  width: 15px !important;
  height: 15px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  accent-color: var(--pfc-yellow) !important;
}

#id_D6b8LjV #idContainer10191230 .label,
.WaGadgetDonationForm #idContainer10191230 .label {
  display: inline-block !important;
  min-width: 0 !important;
}

#id_D6b8LjV #idContainer10191230 label,
.WaGadgetDonationForm #idContainer10191230 label {
  margin: 0 !important;
  color: var(--pfc-black) !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}


/* Donation boxes / captcha */

#id_D6b8LjV .paymentDetailsContainer,
#id_D6b8LjV .donationAmountContainer,
#id_D6b8LjV .paymentSystemIcon,
#id_D6b8LjV .infoOuterContainer,
#id_D6b8LjV .infoContainer,
.WaGadgetDonationForm .paymentDetailsContainer,
.WaGadgetDonationForm .donationAmountContainer,
.WaGadgetDonationForm .paymentSystemIcon,
.WaGadgetDonationForm .infoOuterContainer,
.WaGadgetDonationForm .infoContainer {
  background: var(--pfc-cream) !important;
  border-left: var(--pfc-card-border) !important;
  padding: 16px 18px !important;
  margin: 18px 0 !important;
}

#id_D6b8LjV #idCommentEditContainer,
#id_D6b8LjV #idReCaptchaContainer,
.WaGadgetDonationForm #idCommentEditContainer,
.WaGadgetDonationForm #idReCaptchaContainer {
  margin-top: 18px !important;
}

#id_D6b8LjV #idReCaptchaContainer table,
#id_D6b8LjV #idReCaptchaContainer tbody,
#id_D6b8LjV #idReCaptchaContainer tr,
#id_D6b8LjV #idReCaptchaContainer td,
.WaGadgetDonationForm #idReCaptchaContainer table,
.WaGadgetDonationForm #idReCaptchaContainer tbody,
.WaGadgetDonationForm #idReCaptchaContainer tr,
.WaGadgetDonationForm #idReCaptchaContainer td {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#id_D6b8LjV #idReCaptchaContainer .fieldLabel,
.WaGadgetDonationForm #idReCaptchaContainer .fieldLabel {
  display: none !important;
}

#id_IAKE3YJ .g-recaptcha,
#id_D6b8LjV .g-recaptcha,
.WaGadgetDonationForm .g-recaptcha {
  margin: 24px 0 !important;
}


/* =========================================================
   8. Shared Form Responsive
========================================================= */

@media (max-width: 991px) {
  #id_D6b8LjV #idContainer10191230 .groupBodyVertical,
  .WaGadgetDonationForm #idContainer10191230 .groupBodyVertical {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  #id_IAKE3YJ,
  #id_D6b8LjV,
  .WaGadgetDonationForm {
    padding: 30px 0 !important;
  }

  #id_IAKE3YJ > .gadgetStyleBody,
  #id_D6b8LjV > .gadgetStyleBody,
  #id_D6b8LjV .gadgetStyleBody,
  .WaGadgetDonationForm > .gadgetStyleBody,
  .WaGadgetDonationForm .gadgetStyleBody {
    max-width: min(560px, calc(100vw - 36px)) !important;
    padding: 22px 18px !important;
    border-left-width: 3px !important;
  }

  #id_IAKE3YJ form,
  #id_D6b8LjV form,
  .WaGadgetDonationForm form {
    max-width: 100% !important;
  }

  #id_IAKE3YJ .formTitleContainer .inner,
  #id_D6b8LjV .formTitleContainer .inner,
  .WaGadgetDonationForm .formTitleContainer .inner {
    display: block !important;
  }

  #id_IAKE3YJ .mandatoryFieldsTitle,
  #id_D6b8LjV .mandatoryFieldsTitle,
  .WaGadgetDonationForm .mandatoryFieldsTitle {
    margin-top: 8px !important;
    white-space: normal !important;
    text-align: left !important;
  }

  #id_IAKE3YJ #idContainer9944048,
  #id_D6b8LjV #idContainer9944048,
  .WaGadgetDonationForm #idContainer9944048 {
    padding: 16px !important;
    border-left-width: 3px !important;
  }

  #id_IAKE3YJ #idContainer9944048 table,
  #id_IAKE3YJ #idContainer9944048 tbody,
  #id_IAKE3YJ #idContainer9944048 tr,
  #id_IAKE3YJ #idContainer9944048 td.left,
  #id_IAKE3YJ #idContainer9944048 td.right,
  #id_D6b8LjV #idContainer9944048 table,
  #id_D6b8LjV #idContainer9944048 tbody,
  #id_D6b8LjV #idContainer9944048 tr,
  #id_D6b8LjV #idContainer9944048 td.left,
  #id_D6b8LjV #idContainer9944048 td.right,
  .WaGadgetDonationForm #idContainer9944048 table,
  .WaGadgetDonationForm #idContainer9944048 tbody,
  .WaGadgetDonationForm #idContainer9944048 tr,
  .WaGadgetDonationForm #idContainer9944048 td.left,
  .WaGadgetDonationForm #idContainer9944048 td.right {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
  }

  #id_IAKE3YJ #idContainer9944048 .fieldLabel,
  #id_D6b8LjV #idContainer9944048 .fieldLabel,
  .WaGadgetDonationForm #idContainer9944048 .fieldLabel {
    margin-bottom: 10px !important;
  }

  #id_IAKE3YJ #idContainer9944048 .label,
  #id_D6b8LjV #idContainer9944048 .label,
  .WaGadgetDonationForm #idContainer9944048 .label {
    width: calc(100% - 34px) !important;
    max-width: calc(100% - 34px) !important;
  }

  #id_IAKE3YJ #idContainer9944048 .textLine > a:last-child,
  #id_D6b8LjV #idContainer9944048 .textLine > a:last-child,
  .WaGadgetDonationForm #idContainer9944048 .textLine > a:last-child {
    display: inline-block !important;
    margin: 8px 0 0 !important;
  }

  #id_IAKE3YJ .navigationOuterContainer,
  #id_IAKE3YJ .navigationContainer,
  #id_D6b8LjV .navigationOuterContainer,
  #id_D6b8LjV .navigationContainer,
  .WaGadgetDonationForm .navigationOuterContainer,
  .WaGadgetDonationForm .navigationContainer {
    max-width: 100% !important;
  }

  #id_IAKE3YJ .navigationContainer .inner,
  #id_IAKE3YJ .navigationContainer .right,
  #id_D6b8LjV .navigationContainer .inner,
  #id_D6b8LjV .navigationContainer .right,
  .WaGadgetDonationForm .navigationContainer .inner,
  .WaGadgetDonationForm .navigationContainer .right {
    flex-direction: column-reverse !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
  }

  #id_IAKE3YJ input[type="submit"],
  #id_IAKE3YJ .nextButton,
  #id_D6b8LjV input[type="submit"],
  #id_D6b8LjV input[type="button"],
  #id_D6b8LjV button,
  #id_D6b8LjV .nextButton,
  #id_D6b8LjV .Button,
  #id_D6b8LjV .button,
  .WaGadgetDonationForm input[type="submit"],
  .WaGadgetDonationForm input[type="button"],
  .WaGadgetDonationForm button,
  .WaGadgetDonationForm .nextButton,
  .WaGadgetDonationForm .Button,
  .WaGadgetDonationForm .button {
    width: 100% !important;
  }

  #id_IAKE3YJ .backLink,
  #id_D6b8LjV .backLink,
  #id_D6b8LjV .cancelLink,
  .WaGadgetDonationForm .backLink,
  .WaGadgetDonationForm .cancelLink {
    width: 100% !important;
    text-align: center !important;
  }

  #id_D6b8LjV #idContainer10191230 .groupBodyVertical,
  .WaGadgetDonationForm #idContainer10191230 .groupBodyVertical {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  #id_D6b8LjV #idContainer10191230 .fieldItem,
  .WaGadgetDonationForm #idContainer10191230 .fieldItem {
    min-height: 40px !important;
  }
}

@media (max-width: 479px) {
  #id_IAKE3YJ > .gadgetStyleBody,
  #id_D6b8LjV > .gadgetStyleBody,
  #id_D6b8LjV .gadgetStyleBody,
  .WaGadgetDonationForm > .gadgetStyleBody,
  .WaGadgetDonationForm .gadgetStyleBody {
    max-width: min(100%, calc(100vw - 32px)) !important;
    padding: 20px 16px !important;
  }
}

@media (max-width: 359px) {
  #id_IAKE3YJ > .gadgetStyleBody {
    max-width: min(100%, calc(100vw - 28px)) !important;
    padding: 20px 14px !important;
  }
}


/* =========================================================
   9. HARD FIX: Desktop Nav Dropdown Arrow Vertical Alignment
   Keep Wild Apricot's built-in arrows; do not add replacement arrows.
   This normalizes the top-level link, text span, and any built-in
   arrow/icon child so the arrow sits centered with the menu text.
========================================================= */

#id_svVLY2a ul.firstLevel > li > .item > a,
#id_svVLY2a ul.firstLevel > li > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;

  min-height: 50px !important;
  height: 50px !important;

  line-height: 1 !important;
  vertical-align: middle !important;
}

#id_svVLY2a ul.firstLevel > li > .item > a > *,
#id_svVLY2a ul.firstLevel > li > a > * {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: auto !important;
  min-height: 0 !important;

  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;

  line-height: 1 !important;
  vertical-align: middle !important;
}

/* If Wild Apricot renders the arrow as a separate trailing span/icon, center it precisely. */
#id_svVLY2a ul.firstLevel > li > .item > a > span:last-child:not(:only-child),
#id_svVLY2a ul.firstLevel > li > a > span:last-child:not(:only-child),
#id_svVLY2a ul.firstLevel > li > .item > a > b,
#id_svVLY2a ul.firstLevel > li > .item > a > i,
#id_svVLY2a ul.firstLevel > li > .item > a > em,
#id_svVLY2a ul.firstLevel > li > a > b,
#id_svVLY2a ul.firstLevel > li > a > i,
#id_svVLY2a ul.firstLevel > li > a > em {
  position: relative !important;
  top: 0 !important;
  transform: translateY(0.5px) !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  line-height: 1 !important;
  font-style: normal !important;
  vertical-align: middle !important;
}

@media (min-width: 1400px) {
  #id_svVLY2a ul.firstLevel > li > .item > a,
  #id_svVLY2a ul.firstLevel > li > a {
    min-height: 52px !important;
    height: 52px !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  #id_svVLY2a ul.firstLevel > li > .item > a,
  #id_svVLY2a ul.firstLevel > li > a {
    min-height: 46px !important;
    height: 46px !important;
  }
}

@media (max-width: 991px) {
  #id_svVLY2a ul.firstLevel > li > .item > a,
  #id_svVLY2a ul.firstLevel > li > a {
    min-height: 44px !important;
    height: 44px !important;
  }
}


/* =========================================================
   SIMPLE FIX: Remove Events Section Background Bands
   Makes the custom hero + WA gadget area visually merge
========================================================= */

/* Custom top section: transparent outer background */
.pfc-events-hero {
  background: transparent !important;
  border-bottom: 0 !important;
}

/* Keep the top yellow section line if you still want it */
.pfc-events-hero {
  border-top: 3px solid #f4b526 !important;
}

/* Gadget section: transparent outer background */
#id_htAPkVJ {
  background: transparent !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
}

/* Remove background from Wild Apricot layout wrappers around the gadgets */
#id_htAPkVJ .WaLayoutTable,
#id_htAPkVJ .WaLayoutTable > tbody,
#id_htAPkVJ .WaLayoutRow,
#id_htAPkVJ .WaLayoutItem,
#id_htAPkVJ .WaLayoutPlaceHolder,
#id_htAPkVJ .placeHolderContainer {
  background: transparent !important;
}

/* Remove background from wrappers around the custom hero */
.WaLayoutContainer:has(.pfc-events-hero),
.WaLayoutContainerLast:has(.pfc-events-hero),
.WaLayoutTable:has(.pfc-events-hero),
.WaLayoutRow:has(.pfc-events-hero),
.WaLayoutItem:has(.pfc-events-hero),
.WaLayoutPlaceHolder:has(.pfc-events-hero),
.placeHolderContainer:has(.pfc-events-hero),
.WaGadget:has(.pfc-events-hero),
.WaGadgetContent:has(.pfc-events-hero),
.gadgetStyleBody:has(.pfc-events-hero),
.gadgetContentEditableArea:has(.pfc-events-hero) {
  background: transparent !important;
}

/* Keep the actual cards styled */
#id_ciCXbRt,
#id_CPEcznb {
  background: #ffffff !important;
}

/* Optional: if you want the top hero content itself to sit directly on the page background */
.pfc-events-hero-inner {
  background: transparent !important;
}


/* =========================================================
   PFC Nav Size + Spacing Adjustment
   Makes desktop nav items larger and more spread out
========================================================= */

@media (min-width: 992px) {
  #id_svVLY2a .menuInner {
    max-width: min(1500px, calc(100vw - 72px)) !important;
    padding-left: 36px !important;
    padding-right: 36px !important;
  }

  #id_svVLY2a ul.firstLevel {
    gap: 46px !important;
  }

  #id_svVLY2a ul.firstLevel > li > .item > a,
  #id_svVLY2a ul.firstLevel > li > a {
    min-height: 56px !important;
    height: 56px !important;

    padding-left: 22px !important;
    padding-right: 22px !important;

    font-size: 14px !important;
    letter-spacing: 0.14em !important;
  }

  #id_svVLY2a ul.firstLevel > li.dir > .item > a {
    gap: 8px !important;
  }

  #id_svVLY2a ul.firstLevel > li.dir > .item > a::after {
    font-size: 0.9em !important;
  }
}

/* Larger desktop: even more breathing room */
@media (min-width: 1200px) {
  #id_svVLY2a .menuInner {
    max-width: min(1540px, calc(100vw - 96px)) !important;
    padding-left: 48px !important;
    padding-right: 48px !important;
  }

  #id_svVLY2a ul.firstLevel {
    gap: 58px !important;
  }

  #id_svVLY2a ul.firstLevel > li > .item > a,
  #id_svVLY2a ul.firstLevel > li > a {
    min-height: 58px !important;
    height: 58px !important;

    padding-left: 24px !important;
    padding-right: 24px !important;

    font-size: 14.5px !important;
    letter-spacing: 0.145em !important;
  }
}

/* Extra-wide screens */
@media (min-width: 1500px) {
  #id_svVLY2a .menuInner {
    max-width: min(1680px, calc(100vw - 120px)) !important;
    padding-left: 60px !important;
    padding-right: 60px !important;
  }

  #id_svVLY2a ul.firstLevel {
    gap: 72px !important;
  }

  #id_svVLY2a ul.firstLevel > li > .item > a,
  #id_svVLY2a ul.firstLevel > li > a {
    min-height: 60px !important;
    height: 60px !important;

    padding-left: 26px !important;
    padding-right: 26px !important;

    font-size: 15px !important;
    letter-spacing: 0.15em !important;
  }
}

/* Keep tablet from getting too spread out */
@media (min-width: 768px) and (max-width: 991px) {
  #id_svVLY2a .menuInner {
    max-width: min(900px, calc(100vw - 36px)) !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  #id_svVLY2a ul.firstLevel {
    gap: 12px !important;
  }

  #id_svVLY2a ul.firstLevel > li > .item > a,
  #id_svVLY2a ul.firstLevel > li > a {
    min-height: 48px !important;
    height: 48px !important;

    padding-left: 12px !important;
    padding-right: 12px !important;

    font-size: 12.5px !important;
    letter-spacing: 0.09em !important;
  }
}

/* =========================================================
   10. Final Events Row Safety
   Purpose:
   - Keep the events/slideshow row aligned with the custom hero.
   - Do NOT flatten the camera/slideshow internals.
   - Do NOT force min-width: 100% on camera children.
========================================================= */

/* Use the same visual container width as the events hero, without changing slideshow internals. */
.pfc-events-hero-inner,
#id_htAPkVJ .WaLayoutRow {
  max-width: min(1320px, calc(100vw - 120px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
  box-sizing: border-box !important;
}

/* Keep the original grid, but make sure the slideshow column has real width. */
#id_htAPkVJ .WaLayoutRow {
  display: grid !important;
  grid-template-columns: minmax(380px, 0.82fr) minmax(0, 1.18fr) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

#id_vHBdLPI,
#id_imvWuwc {
  min-width: 0 !important;
  width: auto !important;
}

#id_imvWuwc,
#id_CPEcznb,
#id_CPEcznb > .gadgetStyleBody,
#camera_wrap_CPEcznb {
  min-width: 0 !important;
}

/* Restore slideshow visibility without overriding Camera's internal calculated dimensions into collapse. */
#id_CPEcznb {
  display: flex !important;
  width: 100% !important;
  max-width: 940px !important;
}

#id_CPEcznb > .gadgetStyleBody,
#camera_wrap_CPEcznb {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

#camera_wrap_CPEcznb .camera_fakehover,
#camera_wrap_CPEcznb .camera_target,
#camera_wrap_CPEcznb .cameraCont,
#camera_wrap_CPEcznb .cameraSlide,
#camera_wrap_CPEcznb .camerarelative {
  max-width: 100% !important;
}

/* Laptop */
@media (max-width: 1199px) {
  .pfc-events-hero-inner,
  #id_htAPkVJ .WaLayoutRow {
    max-width: min(1080px, calc(100vw - 56px)) !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  #id_htAPkVJ .WaLayoutRow {
    grid-template-columns: minmax(340px, 0.85fr) minmax(0, 1.15fr) !important;
    gap: 18px !important;
  }
}

/* Tablet/mobile */
@media (max-width: 991px) {
  .pfc-events-hero-inner,
  #id_htAPkVJ .WaLayoutRow {
    max-width: 760px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  #id_htAPkVJ .WaLayoutRow {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  #id_vHBdLPI,
  #id_imvWuwc {
    width: 100% !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .pfc-events-hero-inner,
  #id_htAPkVJ .WaLayoutRow {
    max-width: 560px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    gap: 12px !important;
  }
}

/* Small mobile */
@media (max-width: 479px) {
  .pfc-events-hero-inner,
  #id_htAPkVJ .WaLayoutRow {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}