/* ==========================================================================
   Mountain Foothills Rotary - dark modernisation stylesheet v2.0
   Target : ClubRunner "VisionFloating" theme (S3-SteelBlueSkyBlue), club 6882
   Upload : Website > Website Settings > Upload CSS
   Mode   : OVERRIDE - keep "Theme Setting: Enabled"
   Revert : deactivate this file - the site returns to stock instantly
   Notes  : selectors verified against the live DOM on 2026-09-10.
            Inline colours/backgrounds pasted into CKEditor content are
            neutralised so legacy copy stays legible on the dark ground.
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Bitter:wght@500;600;700&family=Open+Sans:ital,wght@0,400;0,600;0,700;1,400&display=swap');

:root{
  --mfr-bg:#0E1A2C; --mfr-bg2:#0F2036; --mfr-card:#17273F; --mfr-card2:#1B2E4A;
  --mfr-line:#26384F; --mfr-line2:#33465F;
  --mfr-ink:#E9EFF7; --mfr-ink2:#C3CEDD; --mfr-muted:#9FB0C8; --mfr-head:#F0F5FB;
  --mfr-link:#8FB4E3; --mfr-link2:#B7D2F0;
  --mfr-blue:#2E63B0; --mfr-blue2:#3B76C9;
  --mfr-gold:#F7A81B; --mfr-gold2:#F7C46A;
  --mfr-navbar:#101E33; --mfr-band:#0B1626;
  --mfr-radius:10px;
  --mfr-shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.35);
}

/* 1 - Ground & type ------------------------------------------------------ */
html, body#bodyContent{
  background:var(--mfr-bg) !important; color:var(--mfr-ink);
  font-family:"Open Sans", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
main.main-content-wrapper{ background:transparent; }
h1, h2, h3, h4, .h1, .h2, .h3{
  font-family:"Bitter", Georgia, serif; color:var(--mfr-head);
  font-weight:700; line-height:1.22; letter-spacing:-.01em;
}
h1.themeColorDark{ color:var(--mfr-head) !important; font-size:2.2rem; font-weight:700; }
p{ max-width:72ch; }
a{ color:var(--mfr-link); }
a:hover, a:focus{ color:var(--mfr-link2); }
main .preformatted a:not(.btn), main .CustomWidgetBody a:not(.btn){ text-decoration:underline; text-underline-offset:2px; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{ outline:3px solid var(--mfr-gold); outline-offset:2px; }
img{ max-width:100%; height:auto; }
main .CustomWidgetBody img, main .preformatted img{ border-radius:8px; }

/* legacy inline colours from the editor would vanish on a dark ground */
main .CustomWidgetBody [style*="color:"], main .preformatted [style*="color:"]{ color:inherit !important; }
main .CustomWidgetBody [style*="background"], main .preformatted [style*="background"]{ background:transparent !important; }
main .CustomWidgetBody font[color]{ color:inherit !important; }

/* 2 - Top bands ------------------------------------------------------------ */
.navbar-fixed-top .login-band{ background:var(--mfr-band) !important; border-bottom:1px solid var(--mfr-line); }
.login-band .search-bar .input-group-addon{ background:var(--mfr-card); border-color:var(--mfr-line2); color:var(--mfr-muted); }
.login-band input.search-string{ background:#0D1828; border-color:var(--mfr-line2); color:var(--mfr-ink); }
.login-band a{ color:var(--mfr-muted); }
.login-band a:hover{ color:var(--mfr-gold2); }
nav.navbar.navbar-default{
  background:var(--mfr-navbar) !important; border:0 !important;
  border-bottom:1px solid var(--mfr-line) !important; box-shadow:0 1px 3px rgba(0,0,0,.4);
}
.navbar-default .navbar-nav > li > a{ color:#DCE5F0 !important; font-weight:600; font-size:1rem; padding:18px 14px; }
.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .open > a{
  color:var(--mfr-gold2) !important; background:transparent !important; box-shadow:inset 0 -3px 0 var(--mfr-gold);
}
.navbar-default .navbar-nav .dropdown-menu{ background:var(--mfr-card); border:1px solid var(--mfr-line); box-shadow:var(--mfr-shadow); }
.navbar-default .navbar-nav .dropdown-menu > li > a{ color:var(--mfr-ink); }
.navbar-default .navbar-nav .dropdown-menu > li > a:hover{ background:var(--mfr-card2); color:var(--mfr-gold2); }
.navbar-default .navbar-toggle{ border-color:var(--mfr-line2); background:var(--mfr-card2) !important; border-radius:8px; }
.navbar-default .navbar-toggle .icon-bar{ background:var(--mfr-ink); }
.navbar-default .navbar-collapse{ border-color:var(--mfr-line); }

/* 3 - Widgets become cards ------------------------------------------------- */
section.PageWidget{ padding:0 12px 24px; }
section.band-1 section.PageWidget{ padding:0 12px 18px; }
section.PageWidget .boxContainer1{
  background:var(--mfr-card); border:1px solid var(--mfr-line);
  border-radius:var(--mfr-radius); box-shadow:var(--mfr-shadow); overflow:hidden;
}
section.PageWidget .boxContainer2, .MainWidgetWrapper, .boxContentCon1, .boxHeaderContainer2{ background:transparent !important; border:0 !important; }
.boxHeaderContainer1{ background:var(--mfr-card2) !important; border:0 !important; border-bottom:1px solid var(--mfr-line) !important; }
.h2.widget-title, .widget-title{
  font-family:"Bitter", Georgia, serif !important; font-size:1.12rem !important; font-weight:700 !important;
  color:var(--mfr-head) !important; padding:13px 18px !important; margin:0 !important;
  background:transparent !important; border:0 !important;
}
.WidgetWrapper{ padding:16px 18px; color:var(--mfr-ink2); }
.WidgetWrapper p{ color:var(--mfr-ink2); }
.boxContainer1NoFrameNoBorder, .boxContainer2NoFrameNoBorder, .WidgetNoBorder{ background:transparent !important; border:0 !important; box-shadow:none !important; }

/* link lists, board, mini-calendar */
.DynamicNavigationGroupName{ font-size:.76rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--mfr-muted); margin:12px 0 6px; }
.DynamicNavigationLinks a{ display:block; padding:4px 0; color:var(--mfr-link); }
.executivesItemContainer1{ padding:8px 0; border-bottom:1px solid var(--mfr-line); }
.executivesItemContainer1:last-child{ border-bottom:0; }
.directorsTitle{ font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--mfr-muted); }
.executivesItemContainer1 a{ color:var(--mfr-head); font-weight:600; }
.mini-calendar{ color:var(--mfr-ink2); }
.mini-calendar__day{ border-color:var(--mfr-line) !important; background:transparent !important; color:var(--mfr-ink2) !important; }
.mini-calendar__day--name{ color:var(--mfr-muted) !important; font-weight:700; font-size:.72rem; text-transform:uppercase; }
.mini-calendar__day--today{ background:var(--mfr-blue) !important; color:#fff !important; border-radius:6px; }
.mini-calendar__day a, .mini-calendar__day--event, .mini-calendar__day--has-event{ color:var(--mfr-gold2) !important; font-weight:700; }
.mini-calendar__day--other-month, .mini-calendar__day--disabled{ opacity:.35; }
.events-calendar .calendar-title, .events-calendar h3{ color:var(--mfr-head); }

/* 4 - Buttons & forms ------------------------------------------------------ */
.btn, a.btn, .btn-info, .btn-default, a.btn.button-link{
  background:var(--mfr-blue) !important; border:1px solid var(--mfr-blue) !important; color:#fff !important;
  border-radius:8px !important; padding:10px 20px !important; font-weight:700; text-shadow:none; box-shadow:none;
}
.btn:hover, a.btn:hover, .btn-info:hover, .btn-default:hover{ background:var(--mfr-blue2) !important; border-color:var(--mfr-blue2) !important; }
.btn-primary, .mfr-btn-gold{ background:var(--mfr-gold) !important; border-color:var(--mfr-gold) !important; color:#1B1B1B !important; }
main input[type=text], main input[type=email], main input[type=tel], main textarea, main select, .form-control{
  background:#0D1828 !important; border:1px solid var(--mfr-line2) !important; color:var(--mfr-ink) !important; border-radius:8px;
}
label{ color:#DCE5F0; }
main table{ border-collapse:collapse; }
main th{ background:var(--mfr-card2); color:var(--mfr-head); }
main th, main td{ border-color:var(--mfr-line); }

/* 5 - Interior page header ------------------------------------------------- */
header.page-header.contentHeaderBreadcrumb{ border-bottom:1px solid var(--mfr-line) !important; margin:30px 0 22px; padding-bottom:14px; }
.contentHeaderBreadcrumb .breadcrumb, .contentHeaderBreadcrumb .breadcrumb > li, .contentHeaderBreadcrumb .breadcrumb a{ background:transparent; color:var(--mfr-muted); }

/* 6 - Footer & chrome ------------------------------------------------------ */
footer.footer-band{ background:var(--mfr-band) !important; color:#B9C8DC; border-top:1px solid var(--mfr-line); padding:26px 0; }
footer.footer-band a{ color:#DCE7F5; }
footer.footer-band a:hover{ color:var(--mfr-gold2); }
#footerContainer1, #footerContainer2, #footerContainer3, #footerContainer4, .footerDecoration{ background:transparent !important; border:0 !important; }
#backToTopContainer, #backToTopContainer a{ background:var(--mfr-blue) !important; color:#fff !important; border-radius:8px; }
#cc-main .cm{ background:var(--mfr-card); color:var(--mfr-ink); border:1px solid var(--mfr-line); }
#cc-main .cm__title, #cc-main .cm__desc{ color:var(--mfr-ink); }
#cc-main .cm__btn{ background:var(--mfr-blue); color:#fff; border-color:var(--mfr-blue); }
#cc-main .cm__btn--secondary{ background:transparent; color:var(--mfr-ink); border-color:var(--mfr-line2); }

/* 7 - Design-system blocks for custom HTML widgets (Page Designer) --------- */
.mfr-hero{ position:relative; overflow:hidden; border-radius:14px; background:#0F2547; color:#fff; min-height:420px; display:flex; align-items:flex-end; }
.mfr-hero > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 45%; border-radius:0; }
.mfr-hero::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(10,20,38,.85) 0%, rgba(10,20,38,.55) 45%, rgba(10,20,38,.2) 100%),
             linear-gradient(180deg, rgba(14,26,44,.15) 0%, rgba(14,26,44,0) 40%, rgba(14,26,44,.9) 100%); }
.mfr-hero-in{ position:relative; z-index:1; padding:64px 40px; }
.mfr-eyebrow{ display:block; font-size:.76rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--mfr-gold2); margin-bottom:10px; }
.mfr-hero h1, .mfr-hero .h1{ color:#fff !important; font-family:"Bitter", Georgia, serif; font-size:clamp(2rem, 4.6vw, 3.2rem); font-weight:700; line-height:1.15; margin:0 0 .3em; max-width:17ch; }
.mfr-hero p{ color:#D9E4F2; font-size:1.12rem; max-width:52ch; margin:0 0 22px; }
.mfr-btn{ display:inline-block; border-radius:8px; padding:12px 24px; font-weight:700; text-decoration:none !important; margin:0 10px 10px 0; }
.mfr-btn-gold{ background:var(--mfr-gold); color:#1B1B1B !important; }
.mfr-btn-ghost{ background:transparent; color:#fff !important; border:1px solid rgba(255,255,255,.65); }
.mfr-chip{ display:inline-block; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22); border-radius:12px; padding:10px 16px; color:#EAF1FA; font-size:.95rem; margin-top:8px; }
.mfr-chip b{ color:#fff; }
.mfr-strip{ display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; margin:18px 0 6px; }
.mfr-strip > div{ background:var(--mfr-card); border:1px solid var(--mfr-line); border-radius:10px; padding:16px 18px; }
.mfr-strip h4{ font-family:"Open Sans", sans-serif; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--mfr-muted); margin:0 0 6px; font-weight:700; }
.mfr-strip p{ margin:0; color:#DCE5F0; font-size:.95rem; }
.mfr-cause{ display:flex; gap:14px; padding:14px 0; border-top:1px solid var(--mfr-line); }
.mfr-cause:first-child{ border-top:0; }
.mfr-cause h3{ font-size:1.05rem; margin:0 0 4px; }
.mfr-cause p{ margin:0 0 6px; font-size:.95rem; color:var(--mfr-ink2); }

/* 8 - Small screens, motion, print ----------------------------------------- */
@media (max-width:767px){
  body#bodyContent{ font-size:16px; }
  /* legacy editor tables squeeze copy into a sliver on phones - stack them */
  main .CustomWidgetBody table, main .CustomWidgetBody tbody, main .CustomWidgetBody tr, main .CustomWidgetBody td{ display:block; width:100% !important; }
  main .CustomWidgetBody td{ padding:6px 0; }
  .mfr-strip{ grid-template-columns:1fr; }
  .mfr-hero-in{ padding:44px 22px; }
  .mfr-btn{ width:100%; text-align:center; margin-right:0; }
}
@media (prefers-reduced-motion:reduce){ *{ transition:none !important; animation:none !important; } }
@media print{ body#bodyContent{ background:#fff !important; color:#000; } .navbar-fixed-top, footer, .btn{ display:none !important; } }
