:root {
  --style31-primary: #00467f;
  --style31-primary-bright: #1479cc;
  --style31-secondary: #ffc629;
  --style31-secondary-dark: #d79c10;
  --style31-neutral: #54565a;
  --style31-neutral-dark: #3f4144;
  --style31-accent: #9a4757;
  --style31-success: #08862d;
  --style31-success-bright: #0a9b3a;
  --style31-danger: #932826;
  --style31-background: #e4e8e3;
  --style31-link-hover: #0b2d49;
}

:root {
  --bs-font-sans-serif: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-color: var(--style31-neutral-dark);
  --bs-body-bg: var(--style31-background);
  --bs-primary: var(--style31-primary);
  --bs-primary-rgb: 0, 70, 127;
  --bs-secondary: var(--style31-secondary);
  --bs-secondary-rgb: 255, 198, 41;
  --bs-info: var(--style31-primary-bright);
  --bs-info-rgb: 20, 121, 204;
  --bs-success: var(--style31-success);
  --bs-success-rgb: 8, 134, 45;
  --bs-warning: var(--style31-secondary);
  --bs-warning-rgb: 255, 198, 41;
  --bs-danger: var(--style31-danger);
  --bs-danger-rgb: 147, 40, 38;
  --bs-light: #f6f7f5;
  --bs-light-rgb: 246, 247, 245;
  --bs-dark: var(--style31-neutral-dark);
  --bs-dark-rgb: 63, 65, 68;
  --bs-link-color: #1479cc;
  --bs-link-hover-color: var(--style31-link-hover);
  --bs-border-color: rgba(84, 86, 90, 0.25);
  --bs-heading-color: #003a66;
}

body {
  background-color: var(--style31-background);
  color: var(--style31-neutral-dark);
}

a {
  color: var(--bs-link-color);
}

a:hover,
a:focus {
  color: var(--style31-link-hover);
}

.card {
  border-color: rgba(0, 70, 127, 0.12);
  background-color: #ffffff;
}

.card-header {
  background-color: var(--style31-primary);
  border-bottom-color: rgba(255, 255, 255, 0.25);
  color: #ffffff;
}

.card-header .text-primary,
.card-header .text-secondary {
  color: #ffffff !important;
}

.card-header h1,
.card-header h2,
.card-header h3,
.card-header h4,
.card-header h5,
.card-header h6,
.card-header .lead {
  color: #ffffff;
}

.bg-primary,
.text-bg-primary {
  color: #ffffff !important;
}

.bg-primary h1,
.bg-primary h2,
.bg-primary h3,
.bg-primary h4,
.bg-primary h5,
.bg-primary h6,
.text-bg-primary h1,
.text-bg-primary h2,
.text-bg-primary h3,
.text-bg-primary h4,
.text-bg-primary h5,
.text-bg-primary h6 {
  color: #ffffff !important;
}

.important-note {
  background-color: rgba(255, 198, 41, 0.18);
  border: 1px solid rgba(255, 198, 41, 0.6);
  color: var(--style31-neutral-dark);
}

.btn-primary {
  background-color: var(--style31-primary);
  border-color: var(--style31-primary);
  color: #ffffff;
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--style31-primary-bright);
  border-color: var(--style31-primary-bright);
  color: #ffffff;
}

.btn-secondary {
  background-color: var(--style31-secondary);
  border-color: var(--style31-secondary);
  color: var(--style31-link-hover);
}

.btn-secondary:hover,
.btn-secondary:focus {
  background-color: var(--style31-secondary-dark);
  border-color: var(--style31-secondary-dark);
  color: var(--style31-link-hover);
}

.btn-success {
  background-color: var(--style31-success);
  border-color: var(--style31-success);
  color: #ffffff;
}

.btn-success:hover,
.btn-success:focus {
  background-color: var(--style31-success-bright);
  border-color: var(--style31-success-bright);
  color: #ffffff;
}

.btn-danger {
  background-color: var(--style31-danger);
  border-color: var(--style31-danger);
}

.btn-danger:hover,
.btn-danger:focus {
  background-color: #7f2120;
  border-color: #7f2120;
}

.input-group-text {
  background-color: var(--style31-primary);
  border-color: var(--style31-primary);
  color: #ffffff;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--style31-primary-bright);
  box-shadow: 0 0 0 0.25rem rgba(20, 121, 204, 0.25);
}

.alert-primary {
  background-color: rgba(20, 121, 204, 0.12);
  border-color: rgba(0, 70, 127, 0.35);
  color: var(--style31-primary);
}

.alert-secondary {
  background-color: rgba(255, 198, 41, 0.15);
  border-color: rgba(255, 198, 41, 0.45);
  color: var(--style31-neutral-dark);
}

.alert-info {
  background-color: rgba(20, 121, 204, 0.1);
  border-color: rgba(20, 121, 204, 0.4);
  color: var(--style31-primary);
}

.alert-success {
  background-color: rgba(8, 134, 45, 0.12);
  border-color: rgba(8, 134, 45, 0.35);
  color: var(--style31-success);
}

.alert-danger {
  background-color: rgba(147, 40, 38, 0.1);
  border-color: rgba(147, 40, 38, 0.35);
  color: var(--style31-danger);
}

.text-bg-info {
  background-color: var(--style31-primary-bright) !important;
  color: #ffffff !important;
}

.text-bg-info h1,
.text-bg-info h2,
.text-bg-info h3,
.text-bg-info h4,
.text-bg-info h5,
.text-bg-info h6 {
  color: #ffffff !important;
}

.text-bg-success {
  background-color: var(--style31-success) !important;
  color: #ffffff !important;
}

.table thead th {
  background-color: var(--style31-primary);
  border-color: var(--style31-primary);
  color: #ffffff;
}

.table tbody tr:nth-of-type(odd) {
  --bs-table-accent-bg: rgba(228, 232, 227, 0.6);
}

.table td,
.table th {
  border-color: rgba(0, 70, 127, 0.2);
}

label,
legend {
  color: var(--style31-neutral);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--bs-heading-color);
}

footer {
  color: var(--style31-neutral);
}
