body {
  font-size: 20px;
}

a {
  color: black;
  text-decoration-thickness: 1px;
}

html[data-bs-theme="dark"] a {
  color: white
}

#theme-switcher-dark,
#theme-switcher-light {
  display: none;
  cursor: pointer;
  text-align: center;
  min-width: 1em;
}


html[data-bs-theme="dark"] #theme-switcher-dark,
html[data-bs-theme="light"] #theme-switcher-light {
  display: inline-block
}

form {
  margin-bottom: 1em;
}

.smaller {
  font-size: 0.8em;
}

.hidden {
  display: none !important;
}

div.disabled {
  color: gray;
}

.mw-sm {
  max-width: 576px;
}

.mw-md {
  max-width: 720px;
}

.mw-lg {
  max-width: 960px;
}

.mw-xl {
  max-width: 1200px;
}

.mw-xxl {
  max-width: 1400px;
}

a.btn i.fa-solid {
  margin-left: 0.5em;
}

.nav-link {
  gap: 1em;
}

input.tristate:not(:checked):indeterminate {
  background: rgba(0, 0, 0, 0) !important;
  border-color: var(--bs-border-color) !important;
}

input.tristate:not(:checked):not(:indeterminate) {
  background-color: var(--bs-danger) !important;
  border-color: var(--bs-danger) !important;

  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

.img-circle {
  border-radius: 50%;
  width: 4em;
  height: 4em;
}

.multiline {
  display: flex;
  flex-direction: column;
}

.bg-body-inverted {
  background-color: var(--bs-body-color) !important;
}

.text-body-inverted {
  color: var(--bs-body-bg) !important;
}

table.table-sortable th:not(.no-sort) {
  text-wrap: nowrap;
  cursor: pointer;
}

table.table-sortable th:not(.no-sort)::after {
  font: var(--fa-font-solid);
  display: inline-block;

  width: 1em;

  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  margin-left: 0.5em;

  color: var(--bs-tertiary-color);
  content: '\f07d';
}

table.table-sortable th.sort-up::after {
  color: var(--bs-body-color);
  content: '\f15d';
}

table.table-sortable th.sort-down::after {
  color: var(--bs-body-color);
  content: '\f15e';
}

@media (max-width: 768px) {
  .md-dot .badge {
    padding: 1em;

    color: transparent !important;

    width: 0;
    height: 0;

    overflow: hidden;
  }

  .md-dot .badge::selection {
    color: transparent !important;
  }
}

@media (max-width: 992px) {
  .lg-dot .badge {
    padding: 1em;

    color: transparent !important;

    width: 0;
    height: 0;

    overflow: hidden;
  }

  .lg-dot .badge::selection {
    color: transparent !important;
  }
}