h1 {
  font-size: 25px;
  margin-bottom: 0.5em;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
}

.lead {
  font-size: 16px;
  color: var(--bs-dark-text-emphasis);
}

a:not(.dropdown-item, .dropdown-toggle, .dropdown-link, .btn, .page-link), .btn-link {
  text-decoration: none;

  &:hover {
    text-decoration: underline;

  }
}

i.fa-solid, i.fa-regular, i.fa-solid {
  margin-right: 0.5em;
}

pre, .output-element {
  background-color: var(--bs-light-bg-subtle);
  margin: 0;
  padding: .25rem!important;
  border: 1px solid var(--bs-border-color-translucent);
}

span.caret {
  margin-left: 0.5em;
}

.btn {
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  :not(.btn-lg) {
    font-size: 0.875rem;
  }
}

.btn-default {
  --bs-btn-disabled-border-color: transparent;
}

.progress {
  margin: 0;
  border: 1px solid var(--bs-border-color-translucent);
  padding: 0.125rem !important;
  height: 1.25rem !important;

  .progress-bar {
    line-height: initial;
    min-width: 2em;
    color: var(--bs-white);
  }
}

.navbar {
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  font-size: 0.85rem;
  .dropdown-item {
    padding: 1rem 1.5rem;
  }
}

.attribute-row + .attribute-row {
  margin-top: 0.5em;
}

.rounded-pill {
  font-size: 90%;
  font-weight: 500;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.container[data-controller] {
  padding-bottom: 15px;
}

.disabled {
  cursor: default;
  opacity: 0.5;
}

.empty {
  opacity: 0.5;
}

.flash {
  font-size: 100%;
}

html[data-bs-theme="dark"] {
  .alert .alert-link:hover {
    filter: brightness(135%);
  }
}

html[data-bs-theme="light"] {
  .alert .alert-link:hover {
    filter: brightness(175%);
  }
}

.markdown {
  height: 200px;
}

.spinner {
  width: 40px;
  height: 40px;
  background-color: var(--bs-body-color);

  margin: 100px auto;
  -webkit-animation: sk-rotateplane 1.2s infinite ease-in-out;
  animation: sk-rotateplane 1.2s infinite ease-in-out;
}

@-webkit-keyframes sk-rotateplane {
  0% { -webkit-transform: perspective(120px) }
  50% { -webkit-transform: perspective(120px) rotateY(180deg) }
  100% { -webkit-transform: perspective(120px) rotateY(180deg)  rotateX(180deg) }
}

@keyframes sk-rotateplane {
  0% {
    transform: perspective(120px) rotateX(0deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg)
  }
  50% {
    transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)
  }
  100% {
    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
  }
}

.table-row-clickable {
  cursor: pointer;
}

.inline_list {
  list-style-type: disc;
  padding-inline-start: 1.25rem;
  white-space: pre-wrap;
}

.single_entry_inline_list {
  list-style-type: none;
  padding-inline-start: 0;
  white-space: pre-wrap;
}

.modal-footer {
  ul.horizontal {
    list-style: none;
    padding: 0;
    display: inline;

    li {
      display: inline;
    }

    &.dash {
      li:after {
        // \00a0 is for &nbsp;, \2013 for &ndash;
        content: "\00a0\2013\00a0";
      }
    }

    li:last-child:after {
      content: "";
    }
  }
}
