#offers-table {
    width: 100%;
}

#offers-table th {
    text-align: left;
    font-weight: normal;
}

#offers-table thead th {
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--theme-dark-water);
    vertical-align: top;
    max-width: 5em;
}

#offers-table tbody tr * {
    line-height: 2em;
}

/* Draw row dividers. */
#offers-table tbody tr:not(:nth-child(1)) > * {
    border-top: 1px solid gray;
}

#offers-table thead th i {
    font-size: 0.75em;
}

.offers-collection .offer {
  border: 1px solid var(--theme-dark-water);
  border-radius: 0.25em;
  padding: 0.5em 1em;
  margin: 1em 0;
}

.offers-collection .offer h3 {
  border-bottom: 1px solid var(--theme-dark-water);
  padding-bottom: 0.25rem;
}

.offers-collection .offer h3 .offer-price {
  float: right;
}

.offers-collection .offer h3 i {
    font-size: 0.75em;
    font-weight: normal;
}

/* Display membership information as a collection of boxes when the
 * viewport is narrow, or as a table when then viewport is wide enough. */
@media (min-width: 40rem) {
    #offers-collection { display: none; }
    #offers-table { margin-top: 2em; }
}
@media (max-width: 40rem) {
    #offers-table { display: none; }
    #offers-collection { margin-top: 2em; }
}

#hours dl { max-width: 100%; line-height: 1.5em; }
#hours dt { font-weight: bold; }
@media (min-width: 25em) {
    #hours dl { display: grid; grid-template: "a b"; }
}
