h1 { margin-bottom: 1.5rem; }
h1 small { display: block; font-size: 70%; }
h1 .sub { display: block; font-size: 1.5rem; }
h3 { margin-top: 1rem; }
h3.popover-header { margin-top: 0; }

.header-logo { width: 100%; max-width: 600px; border: 0; }

.home-page-cards .card-header {
  position: relative;
}
.home-page-cards .card-title {
  background-color: rgba(255, 255, 255, 0.8);
  position: absolute;
  bottom: -1px;
}

.w-5  { width:  5% !important; }
.w-10 { width: 10% !important; }
.w-15 { width: 15% !important; }
.w-20 { width: 20% !important; }
.w-30 { width: 30% !important; }
.w-35 { width: 35% !important; }
.w-40 { width: 40% !important; }
.w-45 { width: 45% !important; }
.w-55 { width: 55% !important; }
.w-60 { width: 60% !important; }
.w-65 { width: 65% !important; }
.w-70 { width: 70% !important; }
.w-80 { width: 80% !important; }
.w-85 { width: 85% !important; }
.w-90 { width: 90% !important; }
.w-95 { width: 95% !important; }

.mw-1e { min-width: 1em; }
.mw-2e { min-width: 2em; }
.mw-3e { min-width: 3em; }
.mw-4e { min-width: 4em; }
.mw-5e { min-width: 5em; }
.mw-6e { min-width: 6em; }
.mw-7e { min-width: 7em; }
.mw-8e { min-width: 8em; }
.mw-9e { min-width: 9em; }
.mw-10e { min-width: 10em; }

/* Adapted from https://bootsnipp.com/snippets/featured/no-more-tables-respsonsive-table */

@media screen and (max-width: 575.98px) {
  .table-fluid {
    width: 100% !important;
  }
  .table-fluid thead,
  .table-fluid tbody,
  .table-fluid th,
  .table-fluid td,
  .table-fluid tr {
    display: block;
  }
  .table-fluid thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
  .table-fluid tr:nth-child(odd) {
    background-color: rgba(0, 0, 0, 0.05);
  }
  .table-fluid tr {
    border-top: 1px solid #dee2e6;
  }
  .table-fluid td {
    border: none;
    width: 100% !important;
    padding-left: 50%;
    padding-bottom: 0;
    white-space: normal;
    text-align: left !important;
    position: relative;
  }
  .table-fluid td:last-child {
    padding-bottom: .75rem;
  }
  
  .table-fluid td:before {
    position: absolute;
    top: 0.75rem;
    left: .75rem;
    right: 50%;
    padding-right: .5rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: right;
    font-weight: bold;
    font-size: .8em;
  }
  .table-fluid td:before {
    content: attr(data-title);
  }
}
