/**
 * Availability page stylesheet entry.
 * Build: sass assets/scss/availability.scss assets/css/availability.css
 */
.availability-page {
  padding: var(--default-spacing);
  padding-top: calc(var(--header-height) + var(--header-fade-zone));
  padding-bottom: calc(var(--default-spacing) * 3);
  min-height: 100vh;
  color: var(--white);
}

.availability-wrapper {
  max-width: 72rem;
  margin: 0 auto;
}

.availability-page__title {
  margin: 0 0 var(--default-spacing);
  text-align: center;
}

.availability-page__disclaimer {
  font-size: 1rem;
  margin-top: calc(var(--default-spacing) / 2);
  text-align: center;
}

.availability-table-header,
.availability-table-body .availability-table-row {
  display: flex;
  width: 100%;
  align-items: center;
  border-bottom: 1px solid var(--white);
}
.availability-table-header > div,
.availability-table-body .availability-table-row > div {
  padding: 0.5rem;
  min-width: 0;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.availability-table-body .availability-table-row,
.availability-table-header[data-header-fade-line],
.availability-page__title [data-header-fade-line],
.availability-page__disclaimer [data-header-fade-line] {
  will-change: opacity;
}

.availability-table-header {
  color: var(--white);
  padding-bottom: 0.5rem;
}
.availability-table-header > div {
  font-size: 0.7rem;
}
.availability-table-header > div:first-child {
  padding-left: 0;
}
.availability-table-header > div:last-child {
  padding-right: 0;
}
.availability-table-header [data-sort-by] {
  position: relative;
  display: inline-block;
  padding-right: 1rem;
  cursor: pointer;
}
.availability-table-header [data-sort-by]::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  border-width: 5px 3px 0;
  border-style: solid;
  border-color: var(--white) transparent transparent;
  opacity: 0;
}
.availability-table-header [data-sort-by].isAscending::after {
  opacity: 1;
}
.availability-table-header [data-sort-by].isDescending::after {
  opacity: 1;
  border-width: 0 3px 5px;
  border-color: transparent transparent var(--white);
}

.availability-table-body {
  margin-right: -0.5rem;
  padding-right: 0.5rem;
  font-family: "Sharp Sans No1 Medium", Arial, Helvetica, sans-serif;
  line-height: 3;
  font-size: 1.2rem;
}

.availability-large-table .availability-table-header > div,
.availability-large-table .availability-table-body .availability-table-row > div {
  flex: 0 0 13%;
}
.availability-large-table .availability-table-header > div:first-child,
.availability-large-table .availability-table-body .availability-table-row > div:first-child {
  padding-left: 0;
}
.availability-large-table .availability-table-header > div:nth-of-type(2),
.availability-large-table .availability-table-body .availability-table-row > div:nth-of-type(2) {
  flex: 0 0 17%;
}
.availability-large-table .availability-table-header > div:nth-of-type(6),
.availability-large-table .availability-table-body .availability-table-row > div:nth-of-type(6) {
  flex: 0 0 10%;
}
.availability-large-table .availability-table-header > div:last-child,
.availability-large-table .availability-table-body .availability-table-row > div:last-child {
  padding-right: 0;
}
.availability-large-table .availability-table-header > div:nth-of-type(8),
.availability-large-table .availability-table-body .availability-table-row > div:nth-of-type(8) {
  flex: 0 0 8%;
  text-align: right;
}
.availability-large-table .availability-table-body .availability-table-row a {
  text-transform: uppercase;
  display: inline-block;
}
.availability-large-table .availability-table-body .availability-table-row a:focus {
  color: var(--white);
  text-decoration: none;
}
.availability-large-table .availability-table-body .availability-table-row .availability-action.is-disabled {
  display: inline-block;
  text-transform: uppercase;
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

.availability-contact-link {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  color: var(--white);
}
.availability-contact-link svg {
  display: block;
  width: 1.35rem;
  height: auto;
}

.availability-small-table {
  display: none;
}
.availability-small-table .availability-table-header [data-sort-by] {
  padding-right: 0.5rem;
}
.availability-small-table .availability-table-header > div {
  padding: 0.35rem 0.25rem;
  flex: 1 1 22%;
}
.availability-small-table .availability-table-header > div:first-of-type {
  flex-basis: 17%;
}
.availability-small-table .availability-table-header > div:nth-of-type(2) {
  flex-basis: 17%;
}
.availability-small-table .availability-table-header > div:last-of-type {
  flex-basis: 22%;
  text-align: right;
}
.availability-small-table .availability-table-row {
  cursor: pointer;
  border-bottom: 1px solid var(--white);
  flex-wrap: wrap;
  padding: 0.5rem 0;
}
.availability-small-table .availability-table-row .availability-row-main {
  display: flex;
  align-items: flex-end;
  width: 100%;
  padding: 0;
}
.availability-small-table .availability-table-row .availability-row-main > span {
  flex: 1 1 22%;
  padding: 0.35rem 0.25rem;
}
.availability-small-table .availability-table-row .availability-row-main > span:first-of-type {
  flex-basis: 17%;
}
.availability-small-table .availability-table-row .availability-row-main > span:nth-of-type(2) {
  flex-basis: 17%;
}
.availability-small-table .availability-table-row .availability-row-main > span:last-of-type {
  flex-basis: 22%;
  text-align: right;
}
.availability-small-table .availability-table-row .availability-row-additional {
  height: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  gap: 1.5rem;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  transition: height 0.35s ease;
  text-transform: uppercase;
  padding: 0;
}
.availability-small-table .availability-table-row .availability-row-additional a {
  color: var(--white);
  text-decoration: none;
}
.availability-small-table .availability-table-row .availability-row-additional a:hover {
  text-decoration: underline;
}
.availability-small-table .availability-table-row .availability-row-additional .availability-action.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}
.availability-small-table .availability-table-row .availability-row-additional .availability-contact-link:hover {
  text-decoration: none;
}
.availability-small-table .availability-table-row.is-active .availability-row-additional {
  height: 4rem;
}

.isSM .availability-small-table,
.isMD .availability-small-table,
.isLG .availability-small-table {
  display: none;
}
.isSM .availability-large-table,
.isMD .availability-large-table,
.isLG .availability-large-table {
  display: block;
}

.isXS .availability-large-table {
  display: none;
}
.isXS .availability-small-table {
  display: block;
}
.isXS .availability-page__disclaimer {
  margin-top: var(--default-spacing);
}

.isXS .availability-page {
  padding: calc(var(--default-spacing) / 2);
  padding-top: calc(var(--header-height) + var(--header-fade-zone));
  padding-bottom: calc(var(--default-spacing) * 2);
}
