html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.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;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

/* Uniform label thumbnail styling */
.label-image {
  --thumb-ratio: 4/3;
  --thumb-max-h: 220px;
  position: relative;
  width: 100%;
  aspect-ratio: var(--thumb-ratio);
  max-height: var(--thumb-max-h);
  background: repeating-linear-gradient(45deg, #faf9f6, #faf9f6 8px, #f1f2f4 8px, #f1f2f4 16px);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 10px;
  padding: 6px;
}

@supports not (aspect-ratio: 4/3) {
  .label-image {
    height: var(--thumb-max-h);
  }
}

.label-image img.label-thumb {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .15));
}

.label-image img.label-thumb.is-tall {
  max-height: 95%;
}

.label-image-placeholder {
  font-size: 3.2rem;
  color: #cfcfcf;
}