﻿html,
body {
  font-size: 1rem;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* .table-responsive {
  overflow: visible;
} */

/* Sticky footer.

   Blazor renders the whole layout into #app, so #app is the page column: navigation, the
   <main> element, the cookie bar and the footer. Making it a flex column at least as tall as
   the viewport and letting <main> take the slack pins the footer to the bottom edge on short
   pages (login, an empty list) without detaching it from the flow on long ones. */
html,
body {
  height: 100%;
}

#app {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

#app > main {
  flex: 1 0 auto;
}

#app > footer {
  flex-shrink: 0;
}

a,
.btn-link {
  color: var(--bs-primary);
}

.btn:focus,
a.btn:focus,
button.btn:focus,
button.dropdown-item:focus,
input.form-control:focus,
select.form-control:focus {
  box-shadow: none !important;
  outline: none !important;
}

.invalid {
  border-color: red;
}

.required:after {
  content: " *";
  color: red;
}

.validation-message {
  color: red;
}

/* Icon spacing.

   This rule is what puts the gap between an icon and the text after it. It used to be keyed on
   .svg-inline--fa, the class Font Awesome's JS renderer added when it swapped each <i> for an
   <svg>. That renderer is gone (the CSS-only build draws the glyph in the <i> itself), so the
   class is never emitted any more and the icons lost their gap. The markup writes them as
   `<i class="fa fa-user">`, so `.fa` is the selector that has to carry it. The FA6 style
   classes are listed alongside it for any markup that uses them instead.

   Bootstrap's .me-0 still wins where a call site wants no gap, because its margin is !important. */
.fa,
.fa-solid,
.fa-regular,
.fa-brands,
.fas,
.far,
.fab {
  width: 1.25em;
  margin-right: 0.5rem;
  text-align: center;
}

@media (max-width: 991px) {
  .nav-link .fa,
  .nav-link .fas {
    margin-left: 0.5rem;
  }
}

#blazor-error-ui {
  background: lightyellow;
  bottom: 0;
  box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
  display: none;
  left: 0;
  padding: 0.6rem 1.25rem 0.7rem 1.25rem;
  position: fixed;
  width: 100%;
  z-index: 1000;
}

#blazor-error-ui .dismiss {
  cursor: pointer;
  position: absolute;
  right: 0.75rem;
  top: 0.5rem;
}

input[type="checkbox"].form-check-input {
  accent-color: var(--bs-primary);
  height: 1.2rem;
  width: 1.2rem;
  margin-top: 0.1rem;
  margin-left: -1.25rem;
}

/* Show datepicker modal upon <input /> box click */
/* Previously datepicker modals were only show upon calendar/clock icon click */
input[type="time"],
input[type="date"],
input[type="datetime-local"] {
  position: relative;
}

input[type="time"]::-webkit-calendar-picker-indicator,
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  color: transparent;
  background: transparent;
}

.card {
  margin-bottom: 1rem;
}

.card .card-header > h5, .card .card-header > h4 {
  margin-top: 0.25rem;
}

@media (min-width: 1200px) {
  .container-lg {
    max-width: 1366px;
  }
}
