.ptt-container {
  border-right: 1em solid #fff;
  margin: 2rem 0;
  overflow: hidden;
  position: relative;
}

.product-additional-info .ptt-container,
.tab-pane .ptt-container {
  margin: 0;
}

.tab-pane .ptt-container {
  border: none;
  box-shadow: none;
}

.ptt-table-wrapper {
  overflow: hidden;
}

.ptt-timetable {
  border-collapse: separate;
  border-spacing: 2px;
  display: block;
  margin: 1rem 0;
  overflow: auto;
  width: 100%;
}

.ptt-timetable.ptt-nav-buttons {
  overflow: hidden;
  width: auto;
}

.ptt-timetable th,
.ptt-timetable td {
  border-radius: 4px;
  border: 1px solid #ddd;
  cursor: pointer;
  font-size: 13px;
  padding: 10px;
  text-align: center;
  white-space: nowrap;
}

.ptt-timetable th {
  font-weight: bold;
  text-align: center;
}

.ptt-timetable th:hover,
.ptt-timetable td:hover,
.ptt-timetable th:focus,
.ptt-timetable td:focus {
  border: 1px solid #2fb5d2;
}

.ptt-timetable input {
  vertical-align: middle;
}

.ptt-timetable label {
  margin: 0;
}

td.ptt-disabled {
  background-color: #2fb5d2;
  border-color: #2fb5d2;
  color: #fff;
  cursor: default;
}

.ptt-timetable label,
.ptt-timetable input {
  cursor: pointer;
}

.ptt-disabled label,
.ptt-disabled input {
  cursor: default;
}

.ptt-disabled label {
  color: #fff;
}

.ptt-nav {
  background: none;
  border: none;
  cursor: pointer;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 50%;
}

.ptt-nav-prev {
  left: -12px;
}

.ptt-nav-next {
  right: -16px;
}

.ptt-nav svg {
  fill: #555;
  height: 48px;
  width: 48px;
}

.pd-fee-summary {
  margin-top: 2px;
  text-align: left;
}

.pd-cart-date {
  font-size: .875rem;
}

.pd-hidden,
.ptt-hidden {
  display: none;
}

@media (max-width: 767px) {
  .ptt-container {
    background-color: #fff;
    box-shadow: 2px 2px 8px 0 rgba(0,0,0,.2);
  }

  .pd-hidden-mobile {
    display: none;
  }
}

@media (min-width: 768px) {
  .pd-hidden-desktop {
    display: none;
  }
}
