html {
  font-size: 14px;
  position: relative;
  min-height: 100%;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

body {
  margin-bottom: 60px;
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
  box-shadow: 0 0 0 0.1rem var(--bs-body-bg, #fff), 0 0 0 0.25rem var(--cf-focus-ring, #4CAF50);
}

a.navbar-brand {
  white-space: normal;
  word-break: normal;
}

.border-top {
  border-top: 1px solid var(--bs-border-color, #e5e5e5);
}

.border-bottom {
  border-bottom: 1px solid var(--bs-border-color, #e5e5e5);
}

.box-shadow {
  box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}

main .card {
  margin-bottom: 1rem;
}

main .card-header:not(.cf-card-header) {
  background-color: var(--cf-section-header-bg);
  color: var(--cf-section-header-fg);
  font-weight: 600;
}

.cf-body .container-fluid {
  max-width: 1600px;
}

@media print {
  body {
    background: #fff !important;
    color: #000 !important;
  }
}
