html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

/*
  Dark mode -- hand-written, not Bootstrap's own (this vendored Bootstrap
  is 5.1.0, predates native data-bs-theme support added in 5.3). Toggled
  via [data-theme="dark"] on <html>, see _Layout.cshtml's toggle button
  and the early inline script that applies it before first paint.
*/
html[data-theme="dark"] {
  color-scheme: dark;
}
html[data-theme="dark"] body {
  background-color: #121212;
  color: #e0e0e0;
}
html[data-theme="dark"] .navbar.bg-white {
  background-color: #1e1e1e !important;
  border-color: #333 !important;
}
html[data-theme="dark"] .nav-link.text-dark,
html[data-theme="dark"] .navbar-brand {
  color: #e0e0e0 !important;
}
html[data-theme="dark"] .border-bottom,
html[data-theme="dark"] .border-top,
html[data-theme="dark"] .border,
html[data-theme="dark"] table.table {
  border-color: #333 !important;
}
html[data-theme="dark"] .table {
  color: #e0e0e0;
}
html[data-theme="dark"] .table > :not(caption) > * > * {
  background-color: transparent;
  color: #e0e0e0;
  border-bottom-color: #333;
}
html[data-theme="dark"] .form-control,
html[data-theme="dark"] .form-select {
  background-color: #1e1e1e;
  border-color: #444;
  color: #e0e0e0;
}
html[data-theme="dark"] .form-control:focus,
html[data-theme="dark"] .form-select:focus {
  background-color: #1e1e1e;
  color: #e0e0e0;
}
html[data-theme="dark"] .form-control::placeholder {
  color: #888;
}
html[data-theme="dark"] .text-muted {
  color: #999 !important;
}
html[data-theme="dark"] .card,
html[data-theme="dark"] .list-group-item {
  background-color: #1e1e1e;
  color: #e0e0e0;
  border-color: #333;
}
html[data-theme="dark"] .alert-success {
  background-color: #113a22;
  border-color: #1e5c37;
  color: #9be6b4;
}
html[data-theme="dark"] .alert-danger {
  background-color: #4a1414;
  border-color: #6e1f1f;
  color: #f5a3a3;
}
html[data-theme="dark"] a {
  color: #6ea8fe;
}
html[data-theme="dark"] footer.border-top {
  border-color: #333 !important;
}
html[data-theme="dark"] code {
  color: #ff9d9d;
}
html[data-theme="dark"] .btn-outline-secondary {
  color: #ccc;
  border-color: #555;
}
html[data-theme="dark"] .btn-outline-secondary:hover {
  background-color: #333;
  color: #fff;
}