/* Scoped to the managed shortcode, including pages with the original inline waitlist styles. */
.mdcs-waitlist .mdcs-availability.mdcs-availability-panel {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 0 0 2rem;
  padding: 0;
  border: 1px solid #ced5e3;
  border-top: 4px solid #273a7d;
  border-radius: 3px;
  background: #fff;
  color: #252a2b;
  overflow-wrap: normal;
}
.mdcs-waitlist .mdcs-availability-table {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border: 0;
  margin: 0;
  font-size: 1rem;
  line-height: 1.45;
}
.mdcs-waitlist .mdcs-availability-table caption {
  padding: 1rem 1.25rem;
  background: #fff;
  color: #273a7d;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
  caption-side: top;
}
.mdcs-waitlist .mdcs-availability-table th,
.mdcs-waitlist .mdcs-availability-table td {
  padding: .9rem 1.25rem;
  border: 0;
  border-bottom: 1px solid #dfe4ed;
  text-align: left;
  vertical-align: middle;
  white-space: normal;
}
.mdcs-waitlist .mdcs-availability-table thead th {
  background: #eef1f7;
  color: #3c465d;
  font-size: .8125rem;
  font-weight: 600;
  letter-spacing: .01em;
  text-transform: none;
}
.mdcs-waitlist .mdcs-availability-table thead th:first-child { width: 43%; }
.mdcs-waitlist .mdcs-availability-table thead th:nth-child(2) { width: 30%; }
.mdcs-waitlist .mdcs-availability-table thead th:last-child { width: 27%; }
.mdcs-waitlist .mdcs-availability-table tbody th { background: #fff; font-weight: 600; }
.mdcs-waitlist .mdcs-ratio-heading { white-space: nowrap; }
.mdcs-waitlist .mdcs-availability-table .mdcs-capacity-ratio {
  color: #273a7d;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.mdcs-waitlist .mdcs-capacity-ratio strong { font-size: 2rem; font-weight: 700; line-height: 1.1; }
.mdcs-waitlist .mdcs-capacity-total { color: #566078; font-size: 1rem; }
.mdcs-waitlist .mdcs-availability-badge {
  display: inline-block;
  max-width: 100%;
  padding: .25rem .55rem;
  border: 1px solid #d1d6df;
  border-radius: 3px;
  background: #f1f3f6;
  color: #465169;
  font-size: .8125rem;
  font-weight: 600;
  line-height: 1.35;
}
.mdcs-waitlist .mdcs-availability-badge[data-mdcs-state="open"] { border-color: #b8d4c7; background: #edf6f0; color: #21553c; }
.mdcs-waitlist .mdcs-availability-badge[data-mdcs-state="full"] { border-color: #d9cbb9; background: #f6f1e9; color: #6b4c26; }
.mdcs-waitlist .mdcs-availability-panel .mdcs-availability-message {
  margin: 0;
  padding: 1rem 1.25rem .35rem;
  font-size: .9375rem;
  font-weight: 600;
  line-height: 1.5;
}
.mdcs-waitlist .mdcs-availability-panel .mdcs-availability-note {
  margin: 0;
  padding: 0 1.25rem 1rem;
  color: #566078;
  font-size: .875rem;
  line-height: 1.5;
}
.mdcs-waitlist .mdcs-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (max-width: 480px) {
  .mdcs-waitlist .mdcs-availability-table caption { padding: .9rem .75rem; font-size: 1.125rem; }
  .mdcs-waitlist .mdcs-availability-table th,
  .mdcs-waitlist .mdcs-availability-table td { padding: .8rem .6rem; }
  .mdcs-waitlist .mdcs-availability-table tbody th { font-size: .875rem; }
  .mdcs-waitlist .mdcs-availability-table thead th { font-size: .75rem; }
  .mdcs-waitlist .mdcs-capacity-ratio strong { font-size: 1.6rem; }
  .mdcs-waitlist .mdcs-capacity-total { font-size: .875rem; }
  .mdcs-waitlist .mdcs-availability-badge { padding: .2rem .35rem; font-size: .75rem; }
  .mdcs-waitlist .mdcs-availability-panel .mdcs-availability-message { padding: .85rem .75rem .35rem; font-size: .875rem; }
  .mdcs-waitlist .mdcs-availability-panel .mdcs-availability-note { padding: 0 .75rem .85rem; font-size: .8125rem; }
}
