:root { --navy:#000000; /* brand black */ }

html, body { height:100%; 
  margin: 0;
  padding: 0;}
body { font-family:"Helvetica Neue", Arial, sans-serif; color:#111; background:#fff; }
a { color:inherit; }

/* Safety: if there's an extra wrapper <div class="navbar"> inside <header>, don't style it like a navbar */
header > .navbar { background:transparent; border:0; box-shadow:none; }

/* ---------- Navbar (minimal, connected tab style) ---------- */
.navbar-bmhc{
  background:#fff;
  border-bottom:1px solid #ddd;
  box-shadow:0 1px 0 rgba(0,0,0,.04);
}
.navbar-bmhc .navbar-brand{ padding:10px 15px; }
.navbar-bmhc .navbar-brand img{ height:40px; width:auto; display:block; }
.navbar-header{ background:transparent !important; }

.navbar-bmhc .nav>li>a{
  color:#111; font-weight:700; letter-spacing:.02em; text-transform:uppercase;
  padding:22px 16px; position:relative; transition:background .15s;
}
.navbar-bmhc .nav>li>a:hover{ background:#f8f8f9; color:#000; }

/* Gold underline on hover */
.navbar-bmhc .nav>li>a:after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:4px;
  background:transparent; transition:background .15s;
}
.navbar-bmhc .nav>li>a:hover:after{ background:#C0B561; }

/* When a dropdown is OPEN: pill tab that blends into panel */
.navbar-bmhc .nav>li.open>a,
.navbar-bmhc .nav>li.open>a:focus,
.navbar-bmhc .nav>li.open>a:hover{
  background:#fff; color:#000; z-index:1002;
  border:1px solid #e6e6e6; border-bottom-color:transparent;
  border-top-left-radius:12px; border-top-right-radius:12px;
}
.navbar-bmhc .nav>li.open>a:after{ background:transparent; }

/* Mega panel attached to the tab */
.navbar-bmhc .dropdown-menu.megapanel{
  margin-top:-1px; /* tuck under the tab border */
  border:1px solid #e6e6e6; border-radius:12px;
  border-top-left-radius:0; border-top-right-radius:0; /* tab supplies top corners */
  box-shadow:0 12px 30px rgba(0,0,0,.12);
  padding:0; min-width:720px; /* comfortable for 2–3 columns */
}

/* YAMM inner content */
.yamm .yamm-content{ padding:20px 24px; }
.yamm .yamm-content h5{ margin:6px 0 10px; font-weight:700; color:#111; }
.yamm .yamm-content ul{ margin:0; padding:0; list-style:none; }
.yamm .yamm-content li a{ display:block; padding:6px 0; color:#333; text-decoration:none; }
.yamm .yamm-content li a:hover{ color:#000; text-decoration:underline; }

/* Optional: single long list variant (use class="dropdown-menu dropdown-long") */
.navbar-bmhc .dropdown-menu.dropdown-long{
  min-width:320px; max-height:70vh; overflow:auto; padding:8px 0;
  margin-top:-1px; border:1px solid #e6e6e6; border-radius:12px;
  border-top-left-radius:0; border-top-right-radius:0; box-shadow:0 12px 30px rgba(0,0,0,.12);
}
.navbar-bmhc .dropdown-menu>li>a{ padding:8px 16px; white-space:normal; }

/* Mobile tweaks */
@media (max-width:991px){
  .navbar-bmhc .nav>li.open>a{ border:0; border-radius:0; }
  .navbar-bmhc .dropdown-menu.megapanel,
  .navbar-bmhc .dropdown-menu.dropdown-long{
    position:static; float:none; width:auto; min-width:0; margin:0; border-radius:0; box-shadow:none;
    border:0; border-top:1px solid #eee;
  }
}

/* ---------- Hero ---------- */
.hero{ position:relative; background-size:cover; background-position:center top; }
.hero.hero-lg{ min-height:60vh; display:flex; align-items:center; justify-content:center; }
.overlay-25::before{ content:""; position:absolute; inset:0; background:rgba(0,0,0,.25); }
.hero_content{ position:relative; z-index:2; text-align:center; color:#fff; }
.hero_header{
  font-family:"Bebas Neue", system-ui, sans-serif;
  font-size:68px; letter-spacing:.5px; margin:0;
}
.hero_subheader{ margin:8px 0 16px; font-weight:400; }
.btn-hero{ background:#fff; color:var(--navy) !important; border-radius:3px; }

/* ---------- Events strip ---------- */
#home-events{
  background:var(--navy); color:#fff; display:flex; gap:24px; align-items:center;
  padding:12px 16px; font-weight:500; flex-wrap:wrap;
}
#home-events i{ margin-right:6px; }

/* ---------- Schedule tiles ---------- */
#home-scores{ display:flex; gap:12px; overflow:auto; padding:16px; background:#f7f8fb; }
.scorebox{ background:#fff; border-radius:8px; box-shadow:0 2px 8px rgba(0,0,0,.08); min-width:260px; }
.scorebox table{ width:100%; }
.scorebox .status td{
  background:#eef1ff; color:#243; font-weight:600; padding:8px 10px;
  border-top-left-radius:8px; border-top-right-radius:8px;
}
.scorebox .team td, .scorebox .location td{ padding:8px 10px; }

/* ---------- Sponsors ---------- */
#sponsor-wrapper{ background:#fff; padding:50px 0; }
.sponsor-single{ line-height:100px; margin-bottom:16px; }
.sponsor-single img{ max-width:100%; max-height:100px; }

/* ---------- Social ---------- */
#home-social-media{ background:var(--navy); color:#fff; text-align:center; padding:30px 0; }
#home-social-media h2{ color:#fff; margin:0 0 10px; }
#home-social-media a{ color:#fff; font-size:28px; }
#home-social-media a:hover{ color:rgba(255,255,255,.6); }

/* ---------- Footer ---------- */
footer.dark-bg .inner{ padding:30px 0; }
.footer-bottom{ border-top:1px solid #e5e7eb; padding:12px 0; }
.footer-menu{ list-style:none; margin:0; padding:0; }
.footer-menu>li{ display:inline-block; margin-left:12px; }
.footer-menu a{ color:#222; text-decoration:none; }
.footer-menu a:hover{ text-decoration:underline; }
.logo{ height:40px; }

/* ---------- About page header + paragraph ---------- */
.page-header-banner{
  background-color:#f7f7f7; padding:60px 0; margin-bottom:30px; text-align:center;
}
.page-header-banner h1{
  font-family:"Bebas Neue", sans-serif; letter-spacing:2px; font-size:4em; margin:0; color:#333;
}
.about-paragraph-section{ background-color:#fff; padding:30px 0; margin-bottom:30px; }
.about-paragraph-section p{ font-size:1.2em; line-height:1.6; }

@media (max-width:768px){
  .page-header-banner h1{ font-size:2.5em; }
}

/* ---------- About page cards ---------- */
.main-content-cards{ padding-top:40px; padding-bottom:40px; }
.card-link{ display:block; text-decoration:none !important; margin-bottom:20px; transition:transform .2s, box-shadow .2s; }
.card-link .panel{
  text-align:center; border:1px solid #ddd; border-radius:8px; box-shadow:0 2px 4px rgba(0,0,0,.05);
}
.card-link:hover{ transform:translateY(-5px); box-shadow:0 4px 10px rgba(0,0,0,.1); }
.card-link .panel-body i{ color:#C0B561; margin-bottom:15px; }
.card-link .panel-body h4{
  color:#333; font-family:"Bebas Neue", sans-serif; letter-spacing:1px;
}

/* ===== Board of Directors ===== */

/* container padding helper (optional) */
.inner-sm{padding:30px 0}

/* Left side nav */
.side-nav{background:#fff;border:1px solid #eee;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.04);padding:8px 0;position:sticky;top:90px}
.side-nav ul{list-style:none;margin:0;padding:0}
.side-nav li+li{border-top:1px solid #f0f0f0}
.side-nav a{display:block;padding:12px 16px;color:#1a1a1a;text-decoration:none;font-weight:700;letter-spacing:.02em}
.side-nav a:hover{background:#f7f7fb}
.side-nav .active>a{background:#f7f7fb;border-left:4px solid #C0B561;padding-left:12px}

/* Heading w/ divider */
.page-title{font-family:"Bebas Neue",system-ui,sans-serif;font-size:46px;letter-spacing:.5px;margin:0 0 14px}
.section-divider{height:2px;background:#111;opacity:.2;margin:10px 0 24px;border:0}

/* Grid cards */
.board-grid{margin-top:10px}
.board-card{margin-bottom:36px;text-align:center}
.board-card .avatar{
  width:260px;height:260px;border-radius:50%;
  background:#e9ecf2;object-fit:contain;object-position:center;
  border:8px solid #fff;box-shadow:0 6px 18px rgba(0,0,0,.08);display:block;margin:0 auto 14px
}
/* small helper sizes if you need them later */
.avatar-lg{width:220px;height:220px}.avatar-xl{width:300px;height:300px}

.board-card h4{font-family:"Bebas Neue",system-ui,sans-serif;letter-spacing:.5px;margin:6px 0 4px;font-size:22px}
.board-card p{margin:0 0 4px;color:#444}
.board-card .muted{color:#6b6b6b;font-size:13px}
.board-card .ico{display:inline-block;margin-top:6px;color:#111;text-decoration:none}
.board-card .ico:hover{color:#000}

/* Responsive: 2-up on md, 1-up on xs automatically via Bootstrap grid */
@media (max-width:991px){
  .side-nav{position:static;margin-bottom:18px}
  .board-card .avatar{width:220px;height:220px}
}
@media (max-width:480px){
  .board-card .avatar{width:180px;height:180px}
}

/* Styles for the main content sections (Mission, Vision, Values) */
.styled-section {
    padding: 25px 0;
    border-bottom: 1px solid #eee; /* Light divider line between sections */
}

.styled-section:last-child {
    border-bottom: none; /* Remove divider on the last section */
}

.styled-heading {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 2em; /* 28px or 2em is a good size */
    margin-top: 0;
    margin-bottom: 15px;
    letter-spacing: 1px;
    color: #333;
}

/* Styles for the paragraph text */
.styled-section p {
    font-size: 1.1em;
    line-height: 1.6;
    color: #555;
    font-family: Arial, sans-serif; /* A clean, readable font */
    margin-bottom: 20px;
}

/* List styles for the values section */
.styled-section ul {
    list-style-type: none; /* Remove bullet points */
    padding-left: 0;
}

.styled-section ul li {
    background-color: #f7f7f7; /* Light background for each list item */
    padding: 15px 20px;
    margin-bottom: 10px;
    border-radius: 5px;
    border-left: 5px solid #C0B561; /* Brand-colored left border */
}

.styled-section ul li strong {
    font-size: 1.1em;
    color: #333;
    font-family: 'Bebas Neue', sans-serif;
    letter-spacing: 0.5px;
    display: block;
    margin-bottom: 5px;
}
/* New class to center the icon */
.text-center-container {
  text-align: center;
}

/* Style for the card headings */
.card-link .panel-body h4 {
  text-align: center; /* Aligns heading to the left */
  margin-top: 15px; /* Adds space above the heading */
}

/* Style for the list items */
.card-link .panel-body ul {
  text-align: left; /* Aligns the list to the left */
  padding-left: 20px; /* Adds indent for the bullet points */
}
.button-container {
    text-align: center;
    margin-top: 20px; /* Adds space between the list and the button */
}
/* Center the image and add margin */
.text-center-image {
    text-align: center;
    margin: 20px 0;
}

/* ===== Shared layout (Agendas & Minutes) ===== */

/* Section heading line + tag */
.year-divider{
  position:relative;
  display:flex; align-items:center; gap:14px;
  margin:28px 0 18px;
  font-family:"Bebas Neue", Impact, sans-serif;
  letter-spacing:.5px;
}
.year-divider .year{ font-size:40px; line-height:1; }      /* YEAR size */
.year-divider .tag{
  font-size:1em;                 /* << same size as the year */
  line-height:.9;
  padding:.12rem .55rem;
  border-radius:.4rem;
  background:var(--tag-bg, #a7e0dc);  /* default teal */
  font-style:normal;
}
.year-divider .tag::before{ content:var(--tag); }

/* thin rules left/right of the group; keeps your look */
.year-divider::before,
.year-divider::after{
  content:"";
  height:2px; background:#111; flex:1 1 auto;
}
.year-divider::before{ margin-right:8px; }
.year-divider::after{ margin-left:8px; }

/* pill-style doc links */
.doc-list{ list-style:none; padding:0; margin:0; }
.doc-list li{ margin-bottom:14px; }
.doc-pill{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 16px; border-radius:999px;
  background:#f3f3f6; text-decoration:none;
  text-transform:uppercase; font-weight:700; letter-spacing:.02em;
  transition:background .15s ease, transform .05s ease;
}
.doc-pill:hover{ background:#ececf2; text-decoration:none; }
.doc-pill .left{ display:flex; align-items:center; gap:10px; }
.doc-pill i{ opacity:.9; }
.doc-pill .fa-download{ opacity:.6; }

/* (Could be deleted) different tag colors by page type */
.doc-page[data-kind="minutes"]{ --tag-bg:#cfe3ff; } /* soft blue */

/* Start FOOTER CSS */

/* Footer container */
.site-footer.dark-bg {
  background: #1a1930;            /* team-dark; tweak to taste */
  color: #fff;
  margin-top: 56px;               /* space from page body */
}
.site-footer.dark-bg a { color: #fff; opacity: .9; }
.site-footer.dark-bg a:hover { opacity: 1; text-decoration: none; }

/* Top area */
.site-footer .inner { padding: 48px 0 36px; }
.site-footer h4 {
  font-family: "Bebas Neue", Impact, sans-serif;
  letter-spacing: .6px;
  margin: 0 0 10px;
}

/* Grid balance + alignment */
.footer-grid { align-items: flex-start; }
@media (min-width: 992px) {
  .footer-grid > [class*="col-"] {
    display: flex;
    flex-direction: column;
  }
}

/* Logo block */
.site-footer .footer-brand { display: inline-flex; align-items: center; justify-content: center; }
.site-footer .logo { max-width: 120px; height: auto; filter: drop-shadow(0 1px 0 rgba(0,0,0,.35)); }
@media (max-width: 767px) {
  .site-footer .logo { margin-bottom: 10px; }
}

/* Socials + button */
.site-footer .footer-social { margin: 6px 0 12px; padding: 0; list-style: none; }
.site-footer .footer-social li { display: inline-block; margin-right: 10px; }
.site-footer .footer-social a {
  display: inline-flex; width: 36px; height: 36px; border-radius: 50%;
  align-items: center; justify-content: center;
  border: 1px solid rgba(255,255,255,.35);
}
.site-footer .btn.btn-outline.light {
  border: 1px solid rgba(255,255,255,.6);
  color: #fff;
  padding: 6px 10px;
}
.site-footer .tagline {
  margin-top: 12px;
  font-family: "Bebas Neue", Impact, sans-serif;
  letter-spacing: .8px; opacity: .75;
}

/* Bottom strip */
.footer-bottom {
  background: rgba(255,255,255,.06);
  border-top: 1px solid rgba(255,255,255,.12);
  padding: 12px 0;
}
.footer-bottom .footer-menu { list-style: none; margin: 0; padding: 0; }
.footer-bottom .footer-menu li { display: inline-block; margin-left: 16px; }
.footer-bottom .footer-menu a { color: #fff; opacity: .85; }
@media (max-width: 767px) {
  .footer-bottom .container.inner { text-align: center; }
  .footer-bottom .footer-menu { margin-top: 8px; }
}
.site-wrapper {
  display: flex; 
  flex-direction: column; 
  min-height: 100vh; 
}
main {
  flex: 1; 
}
 /* END FOOTER CSS */


/* ============= BMHC CALENDAR ============= */

.calendar-wrap{
  --gutter: clamp(12px, 3vw, 48px);
  --col-min: clamp(300px, 30vw, 420px);      
  --card-max: clamp(480px, 42vw, 640px);    
}

.week-nav{
  max-width: 1200px;
  margin: 12px auto 8px auto;
  display: grid;
  grid-template-columns: auto 1fr auto;    
  align-items: center;
  column-gap: 12px;
}
.wkbtn-group{ display:inline-flex; gap:10px; }
.wkbtn{
  padding: 6px 12px;
  border: 1px solid #e5e7eb;
  background: #fff;
  border-radius: 9999px;
  font-weight: 600;
  cursor: pointer;
}
.wkbtn:hover{ background:#f1f5f9; }
.wklabel{
  justify-self: end;
  font-weight: 800; color:#111;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

#home-scores{
  width: 100vw;
  margin-left: 50%;
  transform: translateX(-50%);
  background: #f5f7fa;

  display: flex !important;
  flex-wrap: nowrap;
  gap: 24px;
  padding: 22px var(--gutter) 28px var(--gutter);
  overflow-x: auto;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}

#home-scores::before,
#home-scores::after{
  content: '';
  flex: 0 0 max((100vw - 1200px)/2 - var(--gutter), 0px);
}

.day-col{
  flex: 0 0 var(--col-min);
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: flex-start;
  scroll-snap-align: start;
}
.day-heading{ font-weight: 800; color:#111; margin: 2px 0 0; }

#home-scores .scorebox{
  width: min(100%, var(--card-max));
  background:#fff;
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 6px 16px rgba(0,0,0,.05);


  padding: 16px 18px;
  min-height: 100px;

  border-left: 5px solid #e5e7eb; 
  display: block;
}
#home-scores .when{  font-weight:800; font-size:.95rem; color:#111; }
#home-scores .title{ line-height:1.25; font-weight:700; color:#1f2937; margin-top:4px; }
#home-scores .rink{  margin-top:6px; color:#1f2937; font-size:.95rem; font-weight:700; }

.tag{ display:inline-block; padding:2px 7px; border-radius:9999px; font-size:.72rem; margin-right:6px; }
.tag.tag-htfl{        background:#2d6cdf; color:#fff; }
.tag.tag-htfl2{       background:#22a06b; color:#fff; }
.tag.tag-pickup{      background:#6b7280; color:#fff; }
.tag.tag-ltp{         background:#f1c232; color:#111; }
.tag.tag-tournament{  background:#d43f3a; color:#fff; }
.tag.tag-board{       background:#111;    color:#fff; }
.tag.tag-default{     background:#e5e7eb; color:#111; }

#home-scores .scorebox.tag-htfl{        border-left-color:#2d6cdf !important; }
#home-scores .scorebox.tag-htfl2{       border-left-color:#22a06b !important; }
#home-scores .scorebox.tag-pickup{      border-left-color:#6b7280 !important; }
#home-scores .scorebox.tag-ltp{         border-left-color:#f1c232 !important; }
#home-scores .scorebox.tag-tournament{  border-left-color:#d43f3a !important; }
#home-scores .scorebox.tag-board{       border-left-color:#111    !important; }

.week-empty{
  background:#fff; border:1px dashed #e5e7eb; border-radius:14px;
  padding:18px; text-align:center; color:#374151; font-weight:700;
  min-width: var(--col-min);
}

@media (max-width: 640px){
  .wklabel{ display:none; }
}
/* ============= BMHC CALENDAR END ============= */