/* ============================================================
   LAKE DAVENPORT SAILING CLUB — REDESIGN CSS v7
   Theme: fiesta_garden_salad.v3.1 (Wild Apricot)
   Last updated: 2026-03-01
   
   NOTES: Uses aggressive specificity and !important to 
   override Fiesta theme compiled styles.
   ============================================================ */

/* === FONT IMPORTS === */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Source+Sans+3:ital,wght@0,300;0,400;0,600;0,700;1,400&display=swap');

/* === BASE === */
body {
  overflow-x: hidden;
  font-family: 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif !important;
  color: #1F2937 !important;
  background-color: #F7F9FC !important;
  -webkit-font-smoothing: antialiased;
  line-height: 1.6;
}

/* === PAGE WIDTH === */
.zoneInner, .zoneWrap, .zoneInner > .WaPlaceHolder {
  max-width: 100%;
}

/* ============================================================
   KILL FIESTA BACKGROUND IMAGES (header & content only)
   NOTE: Footer is handled separately — do NOT include it here
   ============================================================ */
.zoneHeader1Wrap,
.zoneHeader2Wrap,
.zoneHeader3Wrap,
.zoneContentWrap,
body .zoneHeader1Wrap,
body .zoneHeader2Wrap,
body .zoneHeader3Wrap,
body .zoneContentWrap {
  background-image: none !important;
  background: none !important;
  padding: 0 !important;
}

/* ============================================================
   HEADER
   ============================================================ */
div#id_Header,
body div#id_Header {
  background-color: #ffffff !important;
  background-image: none !important;
  color: #0B2545 !important;
  border-bottom: 3px solid #1A5F9E;
  box-shadow: 0 4px 12px rgba(11,37,69,0.08);
  position: relative;
  z-index: 100;
}

.zoneHeader1Wrap {
  background-color: #ffffff !important;
}

.zoneHeader2Wrap {
  background-color: #ffffff !important;
}

/* Header content containers */
.zoneHeader1 .zoneInner,
.zoneHeader2 .zoneInner {
  max-width: 1200px !important;
  margin: 0 auto;
  padding: 0 20px;
}

/* Club name */
div#id_Header b,
div#id_Header strong {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  color: #0B2545 !important;
}

.jaheadcontent {
  background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(8px);
  padding: 16px 20px;
  border-radius: 8px;
}

.jampc {
  color: #0B2545 !important;
  background: rgba(255, 255, 255, 0.9) !important;
  padding: 16px 20px;
  border-radius: 8px;
}

/* Login button */
.WaGadgetLoginForm a,
.WaGadgetLoginForm a:link,
.WaGadgetLoginForm a:visited,
.WaGadgetLoginForm a:active,
.WaGadgetLoginButton a,
.WaGadgetLoginButton a:link,
.WaGadgetLoginButton a:visited,
.WaGadgetLoginButton a:active {
  color: #1A5F9E !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.WaGadgetLoginButton .loginBoxLinkContainer .loginBoxLinkButton,
body .WaGadgetLoginButton .loginBoxLinkContainer .loginBoxLinkButton {
  background: #1A5F9E !important;
  background-image: none !important;
  display: inline-block;
  height: auto !important;
  padding: 8px 20px !important;
  color: #ffffff !important;
  border-radius: 100px !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: all 0.3s ease;
}

.WaGadgetLoginButton .loginBoxLinkContainer .loginBoxLinkButton:hover {
  background: #0B2545 !important;
}


/* ============================================================
   NAVIGATION — HEAVY OVERRIDES FOR FIESTA
   ============================================================ */

/* === Zone Header 3 — the bar BEHIND the menu === */
.zoneHeader3,
body .zoneHeader3,
.zoneHeader3Wrap .zoneHeader3,
div.zoneHeader3 {
  background: #0B2545 !important;
  background-color: #0B2545 !important;
  background-image: none !important;
}

.zoneHeader3Wrap,
body .zoneHeader3Wrap {
  background: #0B2545 !important;
  background-color: #0B2545 !important;
  background-image: none !important;
}

/* === Menu gadget wrapper === */
.WaGadgetMenuHorizontal,
body .WaGadgetMenuHorizontal,
.zoneHeader3 .WaGadgetMenuHorizontal {
  background: #0B2545 !important;
  background-color: #0B2545 !important;
  background-image: none !important;
}

/* === Menu inner container === */
.WaGadgetMenuHorizontal .menuInner,
.WaGadgetMenuHorizontal[class*="menuStyle"] .menuInner,
body .WaGadgetMenuHorizontal .menuInner,
body .WaGadgetMenuHorizontal[class*="menuStyle"] .menuInner {
  background: #0B2545 !important;
  background-color: #0B2545 !important;
  background-image: none !important;
  border: none !important;
  border-bottom: none !important;
  margin: 0;
  position: relative;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  transition: all 0.3s ease !important;
}

/* === First level list === */
.WaGadgetMenuHorizontal .menuInner ul.firstLevel,
.WaGadgetMenuVertical .menuInner ul.firstLevel,
body .WaGadgetMenuHorizontal .menuInner ul.firstLevel {
  max-width: 1200px;
  padding: 0 !important;
  margin-left: auto;
  margin-right: auto;
  background: #0B2545 !important;
  background-color: #0B2545 !important;
  background-image: none !important;
  transition: all 0.3s ease !important;
}

/* === Individual nav items === */
.WaGadgetMenuHorizontal .menuInner ul.firstLevel > li,
body .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

.WaGadgetMenuHorizontal .menuInner ul.firstLevel > li > .item,
body .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li > .item {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* === Nav link text === */
.WaGadgetMenuHorizontal .menuInner ul.firstLevel > li:not(.phantom) > .item > a,
.WaGadgetMenuVertical .menuInner ul.firstLevel > li:not(.phantom) > .item > a,
body .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li:not(.phantom) > .item > a,
.WaGadgetMenuHorizontal[class*="menuStyle"] .menuInner ul.firstLevel > li:not(.phantom) > .item > a {
  color: #ffffff !important;
  text-shadow: none !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.95rem !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 14px 18px !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  transition: all 0.3s ease !important;
}

/* === Nav link hover === */
.WaGadgetMenuHorizontal .menuInner ul.firstLevel > li:not(.phantom) > .item:hover,
body .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li:not(.phantom) > .item:hover {
  background: rgba(255,255,255,0.08) !important;
  background-image: none !important;
}

.WaGadgetMenuHorizontal .menuInner ul.firstLevel > li:not(.phantom) > .item:hover > a,
body .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li:not(.phantom) > .item:hover > a {
  color: #ffffff !important;
  background: transparent !important;
  background-image: none !important;
  text-shadow: none !important;
}

/* === Selected/active nav item === */
.WaGadgetMenuHorizontal .menuInner ul.firstLevel > li.sel > .item > a,
.WaGadgetMenuVertical .menuInner ul.firstLevel > li.sel > .item > a,
body .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li.sel > .item > a,
.WaGadgetMenuHorizontal[class*="menuStyle"] .menuInner ul.firstLevel > li.sel > .item > a {
  color: #ffffff !important;
  text-shadow: none !important;
  background: rgba(255,255,255,0.1) !important;
  background-image: none !important;
  transition: all 0.3s ease !important;
  border-bottom: 3px solid #9C1523 !important;
}

.WaGadgetMenuHorizontal .menuInner ul.firstLevel > li.sel > .item,
body .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li.sel > .item {
  background: rgba(255,255,255,0.1) !important;
  background-image: none !important;
}

/* === Dropdown menus === */
.WaGadgetMenuHorizontal .menuInner ul ul,
.WaGadgetMenuVertical .menuInner ul ul,
body .WaGadgetMenuHorizontal .menuInner ul ul {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border: 1px solid rgba(11,37,69,0.08) !important;
  border-radius: 0 0 8px 8px !important;
  box-shadow: 0 8px 30px rgba(11,37,69,0.12) !important;
  overflow: hidden;
  min-width: 240px;
}

.WaGadgetMenuHorizontal .menuInner ul ul li,
body .WaGadgetMenuHorizontal .menuInner ul ul li {
  background: #ffffff !important;
  background-image: none !important;
}

.WaGadgetMenuHorizontal .menuInner ul ul li > .item,
body .WaGadgetMenuHorizontal .menuInner ul ul li > .item {
  background: #ffffff !important;
  background-image: none !important;
}

.WaGadgetMenuHorizontal .menuInner ul ul li > .item > a,
.WaGadgetMenuVertical .menuInner ul ul li > .item > a,
body .WaGadgetMenuHorizontal .menuInner ul ul li > .item > a {
  color: #1F2937 !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-weight: 400 !important;
  font-size: 0.95rem !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  padding: 10px 20px !important;
  background: transparent !important;
  background-image: none !important;
  text-shadow: none !important;
  transition: all 0.3s ease !important;
}

.WaGadgetMenuHorizontal .menuInner ul ul li > .item:hover,
body .WaGadgetMenuHorizontal .menuInner ul ul li > .item:hover {
  background: #D6E8F5 !important;
  background-image: none !important;
}

.WaGadgetMenuHorizontal .menuInner ul ul li > .item:hover > a,
.WaGadgetMenuVertical .menuInner ul ul li > .item:hover > a,
body .WaGadgetMenuHorizontal .menuInner ul ul li > .item:hover > a {
  background: #D6E8F5 !important;
  background-image: none !important;
  color: #1A5F9E !important;
  padding-left: 24px !important;
  transition: all 0.3s ease !important;
}

/* Third level */
.WaGadgetMenuHorizontal .menuInner ul ul ul li > .item > a {
  padding-left: 32px !important;
  font-size: 0.9rem !important;
}

/* === Dropdown indicator dots === */
.WaGadgetMenuHorizontal .menuInner ul.firstLevel > li .item .marker,
body .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li .item .marker {
  color: rgba(255,255,255,0.5) !important;
}


/* ============================================================
   MOBILE NAVIGATION
   ============================================================ */
.menuButton,
body .menuButton,
.WaGadgetMenuHorizontal .menuButton,
.WaGadgetMenuHorizontal[class*="menuStyle"] .menuInner .menuButton {
  background-color: #0B2545 !important;
  background-image: none !important;
  border-radius: 8px;
}

@media only screen and (max-width: 616px) {
  .menuButton,
  body .menuButton,
  .WaGadgetMenuHorizontal[class*="menuStyle"] .menuInner .menuButton {
    background-color: #0B2545 !important;
    background-image: none !important;
    cursor: pointer;
    height: auto !important;
    position: relative;
    padding: 12px 20px !important;
    text-align: center;
    text-shadow: none !important;
    text-decoration: none;
    vertical-align: top;
    font-size: 28px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    font-family: 'Outfit', sans-serif !important;
    border-radius: 8px;
  }

  .WaGadgetMenuVertical .menuInner ul.firstLevel,
  body .WaGadgetMenuVertical .menuInner ul.firstLevel {
    background: #ffffff !important;
    background-image: none !important;
    transition: all 0.3s ease !important;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 8px 30px rgba(11,37,69,0.12);
  }

  .WaGadgetMenuHorizontal .menuInner,
  body .WaGadgetMenuHorizontal .menuInner {
    position: relative;
    margin: 0;
    border-bottom: none !important;
    transition: all 0.3s ease !important;
  }

  .item span {
    color: #0B2545 !important;
    max-width: 100%;
    font-family: 'Outfit', sans-serif !important;
  }

  .WaGadgetMenuHorizontal .menuInner ul.firstLevel,
  .WaGadgetMenuVertical .menuInner ul.firstLevel {
    max-width: 100%;
    transition: all 0.3s ease !important;
  }

  .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li:not(.phantom) > .item > a,
  body .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li:not(.phantom) > .item > a {
    color: #0B2545 !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid #D6E8F5 !important;
  }

  .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li.sel > .item > a {
    border-bottom: 1px solid #D6E8F5 !important;
    border-left: 4px solid #9C1523 !important;
    background: #F7F9FC !important;
  }

  /* First-level items need white background on mobile (override desktop navy) */
    .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li,
    .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li > .item,
    .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li.sel,
    .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li.sel > .item,
    body .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li,
    body .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li > .item,
    body .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li.sel,
    body .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li.sel > .item,
    .WaGadgetMenuHorizontal[class*="menuStyle"] .menuInner ul.firstLevel > li,
    .WaGadgetMenuHorizontal[class*="menuStyle"] .menuInner ul.firstLevel > li > .item,
    .WaGadgetMenuHorizontal[class*="menuStyle"] .menuInner ul.firstLevel > li.sel,
    .WaGadgetMenuHorizontal[class*="menuStyle"] .menuInner ul.firstLevel > li.sel > .item {
      background: #ffffff !important;
      background-color: #ffffff !important;
      background-image: none !important;
    }

  /* ==========================================================
     MOBILE SUBMENU — targets ul.secondLevel explicitly
     and the <span> inside each link where text actually lives
     ========================================================== */

  /* Second level container */
  .menuInner ul.secondLevel,
  .menuInner ul.firstLevel ul,
  .menuInner ul.firstLevel ul.secondLevel,
  body .menuInner ul.secondLevel,
  body .menuInner ul.firstLevel ul.secondLevel,
  .WaGadgetMenuHorizontal .menuInner ul.secondLevel,
  .WaGadgetMenuHorizontal .menuInner ul.firstLevel ul.secondLevel,
  body .WaGadgetMenuHorizontal .menuInner ul.secondLevel,
  body .WaGadgetMenuHorizontal .menuInner ul.firstLevel ul.secondLevel,
  .WaGadgetMenuHorizontal[class*="menuStyle"] .menuInner ul.secondLevel,
  body .WaGadgetMenuHorizontal[class*="menuStyle"] .menuInner ul.secondLevel {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  /* Second level items */
  .menuInner ul.secondLevel li,
  .menuInner ul.secondLevel li > .item,
  body .menuInner ul.secondLevel li,
  body .menuInner ul.secondLevel li > .item,
  .WaGadgetMenuHorizontal .menuInner ul.secondLevel li,
  .WaGadgetMenuHorizontal .menuInner ul.secondLevel li > .item,
  body .WaGadgetMenuHorizontal .menuInner ul.secondLevel li,
  body .WaGadgetMenuHorizontal .menuInner ul.secondLevel li > .item,
  .WaGadgetMenuHorizontal[class*="menuStyle"] .menuInner ul.secondLevel li,
  .WaGadgetMenuHorizontal[class*="menuStyle"] .menuInner ul.secondLevel li > .item {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
  }

  /* Second level link text AND the span inside */
  .menuInner ul.secondLevel li > .item > a,
  .menuInner ul.secondLevel li > .item > a > span,
  body .menuInner ul.secondLevel li > .item > a,
  body .menuInner ul.secondLevel li > .item > a > span,
  .WaGadgetMenuHorizontal .menuInner ul.secondLevel li > .item > a,
  .WaGadgetMenuHorizontal .menuInner ul.secondLevel li > .item > a > span,
  body .WaGadgetMenuHorizontal .menuInner ul.secondLevel li > .item > a > span,
  .WaGadgetMenuHorizontal[class*="menuStyle"] .menuInner ul.secondLevel li > .item > a,
  .WaGadgetMenuHorizontal[class*="menuStyle"] .menuInner ul.secondLevel li > .item > a > span {
    color: #0B2545 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    text-shadow: none !important;
    padding: 12px 16px 12px 28px !important;
    border-bottom: 1px solid #D6E8F5 !important;
    font-size: 0.9rem !important;
    font-family: 'Source Sans 3', sans-serif !important;
  }

  /* Third level (nested secondLevel) — deeper indent */
  .menuInner ul.secondLevel ul.secondLevel li > .item > a,
  .menuInner ul.secondLevel ul.secondLevel li > .item > a > span,
  body .menuInner ul.secondLevel ul.secondLevel li > .item > a,
  body .menuInner ul.secondLevel ul.secondLevel li > .item > a > span,
  .WaGadgetMenuHorizontal .menuInner ul.secondLevel ul.secondLevel li > .item > a,
  .WaGadgetMenuHorizontal .menuInner ul.secondLevel ul.secondLevel li > .item > a > span {
    padding-left: 44px !important;
    font-size: 0.85rem !important;
    color: #1F2937 !important;
  }
}


/* ============================================================
   TYPOGRAPHY
   ============================================================ */
h1, h2, h3, h4, h5, h6,
.WaGadgetHeadline,
.WaGadgetHeadline span,
.WaGadgetContentBlock h1,
.WaGadgetContentBlock h2,
.WaGadgetContentBlock h3 {
  font-family: 'Outfit', sans-serif !important;
  color: #0B2545 !important;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

h1, .WaGadgetHeadline span {
  font-weight: 700 !important;
  font-size: 2.25rem !important;
}

h2 { font-weight: 600 !important; font-size: 1.75rem !important; }
h3 { font-weight: 600 !important; font-size: 1.35rem !important; }

a { color: #1A5F9E !important; text-decoration: none; }
a:hover { color: #9C1523 !important; }


/* ============================================================
   CONTENT AREA
   ============================================================ */
.zoneContentWrap,
body .zoneContentWrap {
  background: #F7F9FC !important;
  background-color: #F7F9FC !important;
  background-image: none !important;
}

.zoneContent .zoneInner {
  max-width: 1200px !important;
  margin: 0 auto;
  padding: 30px 20px;
}

.WaGadgetContentBlock {
  line-height: 1.7;
  font-size: 1.05rem;
}

.WaGadgetContentBlock p {
  margin-bottom: 1em;
  color: #1F2937;
}

.WaGadgetContentBlock img {
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(11,37,69,0.08);
  max-width: 100%;
  height: auto;
}


/* ============================================================
   EVENTS & CALENDAR
   ============================================================ */
.WaGadgetUpcomingEvents.gadgetStyle001 ul li:first-child {
  background-color: #ffffff;
  color: #1F2937;
  border-radius: 8px;
  border-left: 4px solid #1A5F9E;
  padding: 12px 16px;
  margin-bottom: 8px;
}

.WaGadgetUpcomingEvents.gadgetStyle001 ul li:first-child .title a {
  color: #0B2545 !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
}

.WaGadgetUpcomingEvents.gadgetStyle001 ul li .date .time {
  background-color: #1A5F9E !important;
  color: #ffffff !important;
  border-radius: 4px;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
}

.WaGadgetEventsStateCalendar {
  background: #ffffff;
}

.WaGadgetEventsStateCalendar .EventListCalendar td > div {
  margin: -8px -10px -8px -10px;
  padding: 6px 11px 8px 11px;
  background: #D6E8F5;
  border-radius: 6px;
}

/* Calendar view switcher buttons — targets both <a> and <span> elements */
.WaGadgetEventsStateCalendar #idViewSwitchersTable a,
.WaGadgetEventsStateCalendar #idViewSwitchersTable span,
body .WaGadgetEventsStateCalendar #idViewSwitchersTable a,
body .WaGadgetEventsStateCalendar #idViewSwitchersTable span,
.WaGadgetEventsStateCalendar #idViewSwitchersTable td a,
.WaGadgetEventsStateCalendar #idViewSwitchersTable td span {
  display: inline-block;
  width: auto !important;
  height: auto !important;
  margin: 0 2px;
  padding: 6px 18px !important;
  border: 0 !important;
  background: #1A5F9E !important;
  background-color: #1A5F9E !important;
  background-image: none !important;
  border-radius: 100px !important;
  -webkit-appearance: none;
  font-family: 'Outfit', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 600;
  color: #ffffff !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  line-height: 1.4 !important;
  overflow: visible !important;
}

/* Selected/current view (span = non-clickable active state) — darker navy */
.WaGadgetEventsStateCalendar #idViewSwitchersTable span,
body .WaGadgetEventsStateCalendar #idViewSwitchersTable span {
  background: #0B2545 !important;
  background-color: #0B2545 !important;
}

/* Hover state for clickable switcher links */
.WaGadgetEventsStateCalendar #idViewSwitchersTable a:hover,
body .WaGadgetEventsStateCalendar #idViewSwitchersTable a:hover {
  background: #0B2545 !important;
  background-color: #0B2545 !important;
  color: #ffffff !important;
}

/* Calendar Previous/Today/Next nav buttons */
.WaGadgetEventsStateCalendar .EventListCalendar a,
body .WaGadgetEventsStateCalendar .EventListCalendar a {
  color: #1A5F9E !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600;
  text-decoration: none !important;
}

.WaGadgetEventsStateCalendar .EventListCalendar a:hover,
body .WaGadgetEventsStateCalendar .EventListCalendar a:hover {
  color: #9C1523 !important;
}

.WaGadgetEventsStateList .upcomingEventsContainer {
  background: #ffffff;
}


/* ============================================================
   BUTTONS & FORMS
   ============================================================ */
input[type="submit"],
input[type="button"],
button:not(.menuButton),
.submitButton {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  background-color: #9C1523 !important;
  background-image: none !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 100px !important;
  padding: 10px 28px !important;
  font-size: 0.95rem !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: all 0.3s ease !important;
  box-shadow: 0 1px 2px rgba(11,37,69,0.06);
}

input[type="submit"]:hover,
input[type="button"]:hover,
button:not(.menuButton):hover,
.submitButton:hover {
  background-color: #7A1019 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(11,37,69,0.08) !important;
}

/* Calendar widget buttons — override the global crimson with blue */
.WaGadgetEventsStateCalendar input[type="submit"],
.WaGadgetEventsStateCalendar input[type="button"],
.WaGadgetEventsStateCalendar button,
body .WaGadgetEventsStateCalendar input[type="submit"],
body .WaGadgetEventsStateCalendar input[type="button"],
body .WaGadgetEventsStateCalendar button,
.WaGadgetEventsStateCalendar .EventListCalendar input,
.WaGadgetEventsStateCalendar .EventListCalendar button,
body .WaGadgetEventsStateCalendar .EventListCalendar input,
body .WaGadgetEventsStateCalendar .EventListCalendar button {
  background-color: #1A5F9E !important;
  background-image: none !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 100px !important;
  padding: 6px 18px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  height: auto !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  min-width: auto !important;
  box-shadow: none !important;
  transform: none !important;
}

.WaGadgetEventsStateCalendar input[type="submit"]:hover,
.WaGadgetEventsStateCalendar input[type="button"]:hover,
.WaGadgetEventsStateCalendar button:hover,
body .WaGadgetEventsStateCalendar input[type="submit"]:hover,
body .WaGadgetEventsStateCalendar input[type="button"]:hover {
  background-color: #0B2545 !important;
  transform: none !important;
}

/* Form fields */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
textarea,
select {
  border: 2px solid #E5E7EB !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: 1rem !important;
  background: #ffffff !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  border-color: #1A5F9E !important;
  box-shadow: 0 0 0 3px rgba(26,95,158,0.15) !important;
  outline: none !important;
}


/* ============================================================
   LOGIN PAGE — Social login & form fixes
   Targets: a.wa-authenticateLoginLink (Google, Microsoft, Apple)
   inside .oAuthButtonsContainer / .openAuthFormContainer
   ============================================================ */

/* Social login buttons — brand-colored pills */
a.wa-authenticateLoginLink,
a.wa-authenticateLoginLink.googlePlus,
a.wa-authenticateLoginLink.microsoft,
a.wa-authenticateLoginLink.apple,
a.wa-authenticateLoginLink.facebook,
body a.wa-authenticateLoginLink,
body a.wa-authenticateLoginLink.googlePlus,
body a.wa-authenticateLoginLink.microsoft,
body a.wa-authenticateLoginLink.apple,
.oAuthButtonsContainer a.wa-authenticateLoginLink,
body .oAuthButtonsContainer a.wa-authenticateLoginLink {
  color: #ffffff !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 8px !important;
  padding: 10px 20px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  margin-bottom: 8px !important;
  min-width: 220px !important;
  cursor: pointer;
  transition: opacity 0.2s ease !important;
  border: none !important;
  box-shadow: none !important;
  transform: none !important;
}

a.wa-authenticateLoginLink.googlePlus,
body a.wa-authenticateLoginLink.googlePlus,
.oAuthButtonsContainer a.wa-authenticateLoginLink.googlePlus {
  background: #4285F4 !important;
  background-color: #4285F4 !important;
  background-image: none !important;
}

a.wa-authenticateLoginLink.microsoft,
body a.wa-authenticateLoginLink.microsoft,
.oAuthButtonsContainer a.wa-authenticateLoginLink.microsoft {
  background: #2F2F2F !important;
  background-color: #2F2F2F !important;
  background-image: none !important;
}

a.wa-authenticateLoginLink.apple,
body a.wa-authenticateLoginLink.apple,
.oAuthButtonsContainer a.wa-authenticateLoginLink.apple {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
}

a.wa-authenticateLoginLink.facebook,
body a.wa-authenticateLoginLink.facebook,
.oAuthButtonsContainer a.wa-authenticateLoginLink.facebook {
  background: #1877F2 !important;
  background-color: #1877F2 !important;
  background-image: none !important;
}

a.wa-authenticateLoginLink:hover,
body a.wa-authenticateLoginLink:hover,
.oAuthButtonsContainer a.wa-authenticateLoginLink:hover {
  opacity: 0.85 !important;
  color: #ffffff !important;
  transform: none !important;
}

/* Social login icon & text spans */
a.wa-authenticateLoginLink .authenticateLoginIcon,
body a.wa-authenticateLoginLink .authenticateLoginIcon {
  margin-right: 10px !important;
  display: inline-block !important;
}

a.wa-authenticateLoginLink .authenticateLoginText,
body a.wa-authenticateLoginLink .authenticateLoginText {
  color: #ffffff !important;
  font-size: 0.95rem !important;
}

/* Login form LOG IN button — crimson pill */
.loginButton,
input.loginButton,
body input.loginButton,
#idLoginButtonBox input,
body #idLoginButtonBox input {
  background-color: #9C1523 !important;
  background-image: none !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 100px !important;
  padding: 12px 36px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  cursor: pointer;
}

/* Forgot password link */
#idForgotLinkBox a,
body #idForgotLinkBox a {
  color: #1A5F9E !important;
  font-weight: 600;
}

#idForgotLinkBox a:hover,
body #idForgotLinkBox a:hover {
  color: #9C1523 !important;
}


/* ============================================================
   FOOTER — HIGH SPECIFICITY OVERRIDES
   Target every possible nesting level to beat Fiesta theme.
   ============================================================ */

/* Footer zone background */
.zoneFooterWrap,
body .zoneFooterWrap,
body .zoneFooterWrap.zoneFooterWrap {
  background: #0B2545 !important;
  background-color: #0B2545 !important;
  background-image: none !important;
  padding: 30px 0 !important;
}

.zoneFooter,
body .zoneFooter,
.zoneFooterWrap .zoneFooter {
  background: #0B2545 !important;
  background-color: #0B2545 !important;
  background-image: none !important;
}

.zoneFooter .zoneInner,
body .zoneFooter .zoneInner,
.zoneFooterWrap .zoneFooter .zoneInner {
  max-width: 1200px !important;
  margin: 0 auto;
  padding: 0 20px;
  background: transparent !important;
  background-image: none !important;
}

/* Footer text — target every possible element at high specificity */
.zoneFooterWrap p,
.zoneFooterWrap span,
.zoneFooterWrap div,
.zoneFooterWrap td,
.zoneFooterWrap li,
body .zoneFooterWrap p,
body .zoneFooterWrap span,
body .zoneFooterWrap div,
body .zoneFooterWrap td,
body .zoneFooterWrap li,
.zoneFooterWrap .zoneFooter p,
.zoneFooterWrap .zoneFooter span,
.zoneFooterWrap .zoneFooter div,
.zoneFooter .zoneInner p,
.zoneFooter .zoneInner span,
.zoneFooter .zoneInner div,
.zoneFooter .WaGadgetContentBlock p,
.zoneFooter .WaGadgetContentBlock span,
.zoneFooter .WaGadgetContentBlock div,
.zoneFooter .WaGadgetContentBlock td,
body .zoneFooter .WaGadgetContentBlock p,
body .zoneFooter .WaGadgetContentBlock span,
body .zoneFooter .WaGadgetContentBlock div {
  color: #B0C4DE !important;
  font-size: 15px;
}

/* Footer headings and bold text */
.zoneFooterWrap h1,
.zoneFooterWrap h2,
.zoneFooterWrap h3,
.zoneFooterWrap b,
.zoneFooterWrap strong,
body .zoneFooterWrap h1,
body .zoneFooterWrap h2,
body .zoneFooterWrap h3,
body .zoneFooterWrap b,
body .zoneFooterWrap strong,
.zoneFooter .WaGadgetContentBlock h1,
.zoneFooter .WaGadgetContentBlock h2,
.zoneFooter .WaGadgetContentBlock h3,
.zoneFooter .WaGadgetContentBlock b,
.zoneFooter .WaGadgetContentBlock strong,
body .zoneFooter .WaGadgetContentBlock b,
body .zoneFooter .WaGadgetContentBlock strong {
  color: #ffffff !important;
}

/* Footer links */
.zoneFooterWrap a,
.zoneFooterWrap a:link,
.zoneFooterWrap a:visited,
.zoneFooterWrap a:active,
body .zoneFooterWrap a,
body .zoneFooterWrap a:link,
body .zoneFooterWrap a:visited,
.zoneFooter a,
.zoneFooter a:link,
.zoneFooter a:visited,
.zoneFooter .WaGadgetContentBlock a,
.zoneFooter .WaGadgetContentBlock a:link,
.zoneFooter .WaGadgetContentBlock a:visited,
body .zoneFooter .WaGadgetContentBlock a,
body .zoneFooter .WaGadgetContentBlock a:link,
body .zoneFooter .WaGadgetContentBlock a:visited {
  color: #67B0E0 !important;
  font-weight: 600;
}

.zoneFooterWrap a:hover,
body .zoneFooterWrap a:hover,
.zoneFooter a:hover,
.zoneFooter .WaGadgetContentBlock a:hover,
body .zoneFooter .WaGadgetContentBlock a:hover {
  color: #ffffff !important;
}

/* Powered by Wild Apricot */
#idFooterPoweredByContainer,
body #idFooterPoweredByContainer {
  clear: both;
  text-align: center;
  padding: 20px 20px 10px;
  font-weight: 400;
  font-size: 0.8rem;
  color: rgba(255,255,255,0.4) !important;
  border-top: 1px solid rgba(255,255,255,0.1);
  margin-top: 20px;
}

#idFooterPoweredByContainer a,
body #idFooterPoweredByContainer a {
  color: rgba(255,255,255,0.5) !important;
  font-weight: 400;
}


/* ============================================================
   CUSTOM CLASSES FOR HOMEPAGE HTML GADGETS
   ============================================================ */

/* Hero section */
.ldsc-hero {
  background: linear-gradient(135deg, #0B2545 0%, #1A5F9E 60%, #3D8ECF 100%) !important;
  color: #ffffff !important;
  padding: 60px 40px;
  text-align: center;
  border-radius: 12px;
  margin-bottom: 30px;
  position: relative;
  overflow: hidden;
}

.ldsc-hero h1, .ldsc-hero h2 {
  color: #ffffff !important;
  margin-bottom: 16px;
}

.ldsc-hero p {
  color: rgba(255,255,255,0.85) !important;
  font-size: 1.15rem;
  max-width: 600px;
  margin: 0 auto 24px;
}

.ldsc-hero a.ldsc-btn,
.ldsc-hero a.ldsc-btn:link,
.ldsc-hero a.ldsc-btn:visited {
  display: inline-block;
  background: #9C1523 !important;
  color: #ffffff !important;
  padding: 14px 36px;
  border-radius: 100px;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(156,21,35,0.3);
}

.ldsc-hero a.ldsc-btn:hover {
  background: #7A1019 !important;
  transform: translateY(-2px);
}

/* Feature cards */
.ldsc-features {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  margin: 30px 0;
}

.ldsc-feature-card {
  flex: 1;
  min-width: 250px;
  background: #ffffff;
  border-radius: 12px;
  padding: 32px 24px;
  text-align: center;
  box-shadow: 0 1px 3px rgba(11,37,69,0.06);
  border: 1px solid rgba(11,37,69,0.06);
  transition: all 0.3s ease;
}

.ldsc-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(11,37,69,0.12);
  border-color: #1A5F9E;
}

.ldsc-feature-card h3 {
  color: #0B2545 !important;
  font-family: 'Outfit', sans-serif !important;
  margin-top: 12px;
}

.ldsc-feature-card p {
  color: #6B7280;
  font-size: 0.95rem;
}

.ldsc-feature-icon {
  width: 56px;
  height: 56px;
  background: #D6E8F5;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 8px;
}

/* Info bar */
.ldsc-info-bar {
  background: #D6E8F5;
  border-left: 4px solid #1A5F9E;
  border-radius: 0 8px 8px 0;
  padding: 16px 24px;
  margin: 20px 0;
  font-size: 0.95rem;
  color: #0B2545;
}

.ldsc-info-bar a {
  color: #9C1523 !important;
  font-weight: 600;
}

/* Gradient divider */
.ldsc-divider {
  height: 4px;
  background: linear-gradient(90deg, #1A5F9E, #3D8ECF, #9C1523);
  border-radius: 4px;
  margin: 40px auto;
  max-width: 200px;
}

/* CTA banner */
.ldsc-cta {
  background: #D6E8F5;
  border-radius: 12px;
  padding: 40px;
  text-align: center;
  margin: 30px 0;
  border: 2px solid rgba(26,95,158,0.15);
}

.ldsc-cta h2 {
  color: #0B2545 !important;
  margin-bottom: 12px;
}


/* ============================================================
   UTILITY & POLISH
   ============================================================ */
html { scroll-behavior: smooth; }

img { max-width: 100%; height: auto; }

::selection {
  background: #D6E8F5;
  color: #0B2545;
}

/* Tables */
.WaGadgetContentBlock table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 8px;
  overflow: hidden;
}

.WaGadgetContentBlock table th {
  background: #0B2545 !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600;
  padding: 12px 16px;
  text-align: left;
}

.WaGadgetContentBlock table td {
  padding: 10px 16px;
  border-bottom: 1px solid #E5E7EB;
}

.WaGadgetContentBlock table tr:hover td {
  background: #D6E8F5;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */
@media only screen and (max-width: 768px) {
  .zoneContent .zoneInner {
    padding: 20px 16px;
  }

  .ldsc-hero {
    padding: 40px 20px;
  }

  .ldsc-features {
    flex-direction: column;
  }

  .ldsc-feature-card {
    min-width: 100%;
  }

  .ldsc-cta {
    padding: 24px 16px;
  }

  h1, .WaGadgetHeadline span {
    font-size: 1.5rem !important;
  }
}

/* Upcoming Events widget header bar */
.WaGadgetUpcomingEvents .gadgetStyleTitle,
.WaGadgetUpcomingEvents.gadgetStyle001 .gadgetStyleTitle,
body .WaGadgetUpcomingEvents .gadgetStyleTitle,
body .WaGadgetUpcomingEvents.gadgetStyle001 .gadgetStyleTitle {
  background: #0B2545 !important;
  background-color: #0B2545 !important;
  background-image: none !important;
  border-radius: 8px 8px 0 0 !important;
  padding: 10px 16px !important;
}

.WaGadgetUpcomingEvents .gadgetStyleTitle h4,
.WaGadgetUpcomingEvents .gadgetStyleTitle .gadgetTitleH4,
body .WaGadgetUpcomingEvents .gadgetStyleTitle h4,
body .WaGadgetUpcomingEvents.gadgetStyle001 .gadgetStyleTitle .gadgetTitleH4 {
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

/* WaGadgetContent (editable page content) — distinct from WaGadgetContentBlock */
.WaGadgetContent .gadgetContentEditableArea,
.WaGadgetContent .gadgetStyleBody,
body .WaGadgetContent .gadgetContentEditableArea,
.zoneHeader3 .WaGadgetContent .gadgetContentEditableArea,
body .zoneHeader3 .WaGadgetContent .gadgetContentEditableArea {
  font-family: 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif !important;
  color: #1F2937 !important;
  line-height: 1.7 !important;
  font-size: 1.05rem !important;
}

/* Prevent zoneHeader3 dark styles from bleeding into page content */
.zoneHeader3 .WaLayoutTable,
.zoneHeader3 .WaLayoutItem,
.zoneHeader3 .WaGadgetContent,
body .zoneHeader3 .WaLayoutTable,
body .zoneHeader3 .WaLayoutItem {
  color: #1F2937 !important;
}
