:root {
  --brand-primary: #0758ad;
  --brand-primary-dark: #07346b;
  --brand-primary-light: #e9f2fc;
  --brand-accent: #b3832f;
  --brand-primary-rgb: 7, 88, 173;
  --brand-ink: #17212d;
  --brand-muted: #657386;
  --brand-paper: #fbfaf7;
  --brand-border: #e4e0d7;
  --bs-primary: var(--brand-primary);
  --bs-primary-rgb: var(--brand-primary-rgb);
  --bs-link-color: var(--brand-primary);
  --bs-link-hover-color: var(--brand-primary-dark);
  --bs-body-color: var(--brand-ink);
  --bs-body-bg: var(--brand-paper);
}

html {
  font-size: 14px;
  position: relative;
  min-height: 100%;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--brand-paper);
  color: var(--brand-ink);
}

.page-content {
  flex: 1 0 auto;
}

a {
  color: var(--brand-primary);
  text-decoration-color: rgba(var(--brand-primary-rgb), .35);
  text-underline-offset: .15em;
}

a:hover {
  color: var(--brand-primary-dark);
}

.site-navbar {
  background: #fff;
  border-bottom: 3px solid var(--brand-accent);
  box-shadow: 0 .3rem 1rem rgba(var(--brand-primary-rgb), .08);
}

.navbar-brand {
  display: flex;
  align-items: center;
  padding: .4rem 0;
  margin-right: 1.5rem;
}

.navbar-brand img {
  display: block;
  width: 190px;
  max-height: 68px;
  object-fit: contain;
}

.site-navbar .navbar-nav .nav-link {
  color: var(--brand-primary-dark);
  font-weight: 600;
  padding: .75rem .8rem;
}

.site-navbar .navbar-nav .nav-link:hover,
.site-navbar .navbar-nav .nav-link:focus {
  color: var(--brand-primary);
}

.site-navbar .navbar-toggler {
  border-color: rgba(var(--brand-primary-rgb), .25);
}

.site-navbar .navbar-toggler-icon {
  filter: grayscale(1) brightness(.35);
}

.home-hero {
  background: linear-gradient(135deg, #fff 0%, var(--brand-primary-light) 58%, #fff 100%);
  border-bottom: 1px solid var(--brand-border);
}

.home-hero-logo {
  display: block;
  width: min(100%, 470px);
  height: auto;
  margin-inline: auto;
  mix-blend-mode: multiply;
}

.home-hero h1 {
  color: var(--brand-primary-dark);
}

.home-hero .lead {
  color: var(--brand-muted);
}

.section-heading {
  padding-bottom: .65rem;
  border-bottom: 2px solid var(--brand-accent);
}

.btn-primary,
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  --bs-btn-bg: var(--brand-primary);
  --bs-btn-border-color: var(--brand-primary);
  --bs-btn-hover-bg: var(--brand-primary-dark);
  --bs-btn-hover-border-color: var(--brand-primary-dark);
  --bs-btn-active-bg: var(--brand-primary-dark);
  --bs-btn-active-border-color: var(--brand-primary-dark);
  --bs-btn-focus-shadow-rgb: var(--brand-primary-rgb);
  color: #fff;
  background-color: var(--brand-primary);
  border-color: var(--brand-primary);
}

.btn-primary:hover,
.btn-primary:focus {
  color: #fff;
  background-color: var(--brand-primary-dark);
  border-color: var(--brand-primary-dark);
}

.btn-outline-primary {
  --bs-btn-color: var(--brand-primary);
  --bs-btn-border-color: var(--brand-primary);
  --bs-btn-hover-bg: var(--brand-primary);
  --bs-btn-hover-border-color: var(--brand-primary);
  --bs-btn-active-bg: var(--brand-primary-dark);
  --bs-btn-active-border-color: var(--brand-primary-dark);
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus,
.form-select:focus {
  box-shadow: 0 0 0 .15rem #fff, 0 0 0 .3rem rgba(var(--brand-primary-rgb), .3);
}

.card {
  border: 1px solid var(--brand-border);
  border-radius: .8rem;
  box-shadow: 0 .25rem 1rem rgba(23, 33, 45, .045);
}

.card-header {
  background: var(--brand-primary-light);
  border-bottom-color: var(--brand-border);
}

.card-title,
h1,
h2,
h3,
h4,
h5 {
  color: var(--brand-primary-dark);
}

.badge.bg-info {
  color: var(--brand-primary-dark) !important;
  background-color: var(--brand-primary-light) !important;
}

.form-control,
.form-select {
  border-color: #d4dbe3;
}

.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
  text-align: start;
}

.list-group-item {
  background-color: #fff;
  border-color: var(--brand-border);
}

.nav-tabs {
  border-bottom-color: var(--brand-border);
}

.nav-tabs .nav-link {
  color: var(--brand-muted);
}

.nav-tabs .nav-link.active {
  color: var(--brand-primary-dark);
  border-color: var(--brand-border) var(--brand-border) var(--brand-paper);
  font-weight: 600;
}

.site-footer {
  flex-shrink: 0;
  color: #e8eff8;
  background: var(--brand-primary-dark);
  border-top: 3px solid var(--brand-accent);
}

@media (max-width: 575.98px) {
  .navbar-brand img {
    width: 155px;
    max-height: 56px;
  }
}
