html {
	scroll-behavior: smooth;
}

html, body {
    height: 100%;
    margin: 0;
}

body {
    display: flex;
    flex-direction: column;
}

.flex-fill {
    flex: 1; /* pushes footer to bottom if content is short */
}

.header-bg {
	background: #1e3344;
}

footer {
    background-color: #1e3344;
    color: #fff;
    text-align: center;
    padding: 1rem;
}

.net-low {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  border:2px solid #198754;
  background:#198754;
  color:#fff;
  border-radius:50%;
  width:34px;
  height:34px;
  font-weight:700;
}

@media (max-width:576px) {
  .net-low {
  	width:28px; height:28px; font-weight:600;
  }
}

/* Gross birdie-or-better */
.under-par {
  color:#dc3545;
  font-weight:700;
}

#standings, #scorecards, #skins, #schedule {
	padding-top: 100px;
	padding-bottom: 100px;
}

.bg-dark-blue {
	background-color: #1e3344;
}

/* Header Navigation on Public Site */
/* All styles are scoped to public pages only */
body.public-site {
	--public-header-h:
	72px; padding-top:
	var(--public-header-h); 
}

body.public-site #public-header {
	  position: fixed; top: 0; left: 0; right: 0; z-index: 1100;
	  backdrop-filter: saturate(180%) blur(12px);
	  background: rgba(255,255,255,.86);
	  border-bottom: 1px solid rgba(0,0,0,.06);
}

[data-bs-theme="dark"] body.public-site #public-header {
  	background: rgba(20,20,22,.80);
  	border-bottom-color: rgba(255,255,255,.08);
}

/* Anchor targets land perfectly under the fixed header */
body.public-site section.anchor {
	scroll-margin-top: var(--public-header-h);
}

/* Bigger navbar logo — change to 56px or 64px if you want */
body.public-site .brand-logo {
	height: 56px; width: auto;
}

/* Optional: visible toggler on light navbar */
.navbar-light .navbar-toggler-icon {
	background-image: var(--bs-navbar-toggler-icon-bg);
}

/* Optional active state */
#publicMainNav .nav-link.active {
  	font-weight: 600;
  	text-decoration: underline;
  	text-underline-offset: .25rem;
}
/* End Header Navigation on Public site */