html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.large {
  font-size: xx-large;
  padding: 30px;
  margin: 20px !important;
}

.btn {
  margin: 5px 5px 5px 0px;
}
.btn:first-of-type {
  margin-left: 0px;
}
.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;
}

.form-group {
    margin-bottom: 20px;
}

select.form-control {
  /* Restore dropdown arrow to listbox */
  appearance: revert;
}

tr:nth-child(even) {
  background-color: #eeeeee;
}
td {
  vertical-align: middle;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

a.plainlink {
  color: inherit;
  text-decoration: none;
}

.spinner {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ffffff99;
  transition: opacity 1s, visibility 1s;
}
.spinner-hidden {
  opacity: 0;
  visibility: hidden;
}
.spinner::after {
  content: "";
  width: 25vh;
  height: 25vh;
  max-width: 25vw;
  max-height: 25vw;
  border: 1em solid #cccccc;
  border-top-color: #000099;
  border-radius: 50%;
  animation: spinning 1s ease infinite;
}
@keyframes spinning {
  from {
    transform: rotate(0turn);
  }
  to {
    transform: rotate(1turn);
  }
}