section.opening-hours-grid-container {
  overflow-x: auto;
  margin-top: 20px;
  margin-bottom: 40px;
}
table.opening-hours {
  border-collapse: collapse;
  width: 100%;
}
table.opening-hours thead tr {
  background-color: #6b2c91;
}
table.opening-hours thead th {
  color: white;
  font-weight: 600;
}
table.opening-hours tbody tr {
  border-top: 1px solid #c4c4c5;
  border-bottom: 1px solid #c4c4c5;
}
table.opening-hours tbody td {
  border-left: 1px solid #c4c4c5;
  border-right: 1px solid #c4c4c5;
}
table.opening-hours th,
table.opening-hours td {
  padding: 2px 4px;
  text-align: left;
}
table.opening-hours th.open,
table.opening-hours td.open {
  background-color: rgba(0, 200, 32, 0.1);
}
table.opening-hours th.closed,
table.opening-hours td.closed {
  background-color: rgba(200, 0, 0, 0.1);
}
table.opening-hours.week {
  margin: 0;
}
table.opening-hours.week tbody tr:first-child {
  border-top: none;
}
table.opening-hours.week tbody tr:last-child {
  border-bottom: none;
}
table.opening-hours.week tbody tr td:first-child {
  border-left: none;
}
table.opening-hours.week tbody tr td:last-child {
  border-right: none;
}
table.opening-hours.week tbody label + div {
  padding-top: 2px;
}
table.opening-hours.week tbody div + div {
  padding-top: 2px;
}
table.opening-hours.year tbody th {
  background-color: #c4c4c5;
  font-weight: 600;
}
table.opening-hours.year tbody td:first-child {
  border-left: none;
}
table.opening-hours.year tbody td:last-child {
  border-right: none;
}
table.opening-hours.year tbody td.blank {
  background-color: #ebeced;
  border: none;
}
table.opening-hours.year tbody td:not(.blank) ~ td.blank:first-child {
  border-left: 1px solid #c4c4c5;
}
table.opening-hours div.unknown {
  font-style: italic;
  color: #c4c4c5;
}
ul.opening-hours li div,
dl.opening-hours dd div {
  display: inline;
}
ul.opening-hours li div.times::before,
dl.opening-hours dd div.times::before {
  content: ' ';
}
ul.opening-hours li div.notes::before,
dl.opening-hours dd div.notes::before {
  content: '. ';
}
section.opening-hours.site-week {
  display: grid;
  grid-template-columns: 320px 1fr;
  grid-auto-rows: auto;
  column-gap: 36px;
  margin: 36px 0;
}
@media screen and (max-width: 1023px) {
  section.opening-hours.site-week {
    grid-template-columns: 200px 1fr;
  }
}
@media screen and (max-width: 800px) {
  section.opening-hours.site-week {
    grid-template-columns: 160px 1fr;
  }
}
@media screen and (max-width: 600px) {
  section.opening-hours.site-week {
    grid-template-columns: 1fr;
    row-gap: 24px;
  }
}
section.opening-hours.site-week a {
  display: block;
  width: 100%;
  height: 100%;
  color: black !important;
}
section.opening-hours.site-week figure {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  height: 100%;
}
section.opening-hours.site-week figure img {
  display: block;
  width: 100%;
  object-fit: cover;
  height: 100%;
}
section.opening-hours.site-week figure figcaption {
  display: block;
  padding: 20px 20px 6px 3px;
  background: white;
  position: absolute;
  bottom: -3px;
  left: 0;
  z-index: 2000;
  font-size: 1.4em;
  font-weight: 400;
  line-height: 1.4em;
}
section.opening-hours.site-week dl,
section.opening-hours.site-week dd,
section.opening-hours.site-week dt {
  margin: 0;
  padding: 0;
}
section.opening-hours.site-week dl {
  display: grid;
  grid-template-columns: auto 1fr;
  row-gap: 8px;
  column-gap: 12px;
}
section.opening-hours.site-week dl dd,
section.opening-hours.site-week dl dt {
  font-size: 1.2em;
  line-height: inherit;
}
section.opening-hours.site-week dl dd {
  font-weight: 400;
}
section.opening-hours.site-week dl dt {
  font-weight: 600;
}
/* -------------------------- */
/* DROPDOWN */
.hours-dropdown {
  /* largely copied from global.css */
  display: none;
  position: absolute;
  top: 90px;
  left: 0;
  width: 100%;
  padding: 34px 0 30px;
  background: #eee;
  box-shadow: 0px 10px 5px 0px rgba(57, 58, 60, 0.75);
  z-index: 9999;
}
.hours-dropdown div.row > section {
  display: grid;
  grid-template-rows: auto auto;
  align-items: center;
  justify-items: right;
  row-gap: 16px;
}
.hours-dropdown ul {
  list-style: square;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 48px;
}
.hours-dropdown ul li {
  margin: 0;
  padding: 0;
}
.hours-dropdown li,
.hours-dropdown a {
  font-size: 14px;
}
