:root {
  --brand: #0b3d6b;
  --brand-dark: #082a4a;
  --accent: #1b8a5a;
}

html, body { height: 100%; }
body {
  font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  color: #1f2933;
}

main { flex: 1 0 auto; }

/* Navbar */
.navbar-brand img { height: 42px; width: auto; }
.navbar.bg-brand { background-color: var(--brand) !important; }
.navbar.bg-brand .navbar-nav .nav-link { color: rgba(255, 255, 255, 0.85); }
.navbar.bg-brand .navbar-nav .nav-link:hover,
.navbar.bg-brand .navbar-nav .nav-link.active { color: #fff; }
.navbar.bg-brand .navbar-nav .nav-link.active { font-weight: 600; }

/* Hero (home page) */
.hero {
  position: relative;
  min-height: 70vh;
  background: url("../Homepage.JPG") center / cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(8, 42, 74, 0.55);
}
.hero .hero-content {
  position: relative;
  color: #fff;
  padding: 2rem;
}
.hero .hero-content img { height: 64px; margin-bottom: 1rem; }

/* Page headings */
.page-title {
  color: var(--brand);
  border-bottom: 3px solid var(--accent);
  display: inline-block;
  padding-bottom: .25rem;
  margin-bottom: 1.5rem;
}
.year-title { color: var(--brand-dark); margin: 1.5rem 0 .75rem; }

/* Tables */
.table thead th { background: var(--brand); color: #fff; }
.download-link { color: var(--accent); font-size: 1.25rem; }
.download-link:hover { color: var(--brand); }

/* Cards used on contact / committees */
.info-band { color: #fff; padding: 2.5rem 1rem; }
.info-band--office { background: var(--brand); }
.info-band--trustee { background: var(--brand-dark); }

/* Footer */
#site-footer .footer {
  background: var(--brand-dark);
  color: rgba(255, 255, 255, 0.85);
  padding: 1.25rem 0;
  text-align: center;
  font-size: .9rem;
}
