/** WaveOrtho (c) 2024 | WaveOrtho Inquiry Form & Exam Scheduler [version: 7.5.5] */

#WAVE-appointment-scheduler {
  margin: 0 auto;
  max-width: 1000px;
  padding-bottom: 25px;
  padding-top: 0px;
}

#wave-appointment-scheduler-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 15px;
}

.calendar-table {
  width: fit-content;
  height: fit-content;
  border-collapse: separate;
  font-size: 13px;
}

.calendar-table .table-arrow-selector {
  text-align: center;
  padding: 0 0 10px 0;
  vertical-align: middle;
  font-weight: normal;
}

.calendar-table .table-arrow-selector span {
  font-size: 2.25em;
  position: relative;
  font-weight: 100;
  top: -4px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  color: rgb(0, 113, 182);
}

.calendar-table .table-arrow-selector span.disabled {
  color: rgb(163, 163, 163);
}

.calendar-table .table-date-header {
  padding: 0 0 10px 5px;
  /* padding: 1px 0 1px 5px; */
  text-align: left;
  font-size: 1.108em;
  font-weight: 400;
}

.calendar-table .day-of-week {
  text-align: center;
  font-size: 0.9em;
  font-weight: 400;
  width: 37px;
}

.calendar-table .calendar-table tbody tr {
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-bottom: none;
}

.calendar-table .calendar-table {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.calendar-table .calendar-table tbody tr.hour {
  border-top: 1px solid rgba(0, 0, 0, 0.25);
}

.calendar-table td.date-cell {
  text-align: center;
  width: 37px;
}

.calendar-table .text-center {
  text-align: center;
}

.calendar-table .wave-time-display {
  text-align: right;
  padding: 0;
  margin: 0;
  font-size: 0.85em;
  color: #999;
}

.calendar-table .calendar-table tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}

.calendar-table .appointment-button {
  border: none;
  font-size: 1em;
  line-height: 2.5em;
  width: 2.5em;
  height: 2.5em;
  cursor: default;
  /* margin: 0; */
}

.calendar-table .appointment-button.has-date {
  border: none;
  border-radius: 50%;
  color: #a3a3a3;
}

.calendar-table .appointment-button.has-appt {
  display: inline-block;
  background-clip: padding-box;
  border: 1px solid rgb(54, 146, 211, 10%);
  border-radius: 50%;
  background-color: rgb(54, 146, 211, 10%);
  color: #0071b6;
  font-weight: bold;
  cursor: pointer;
}

.calendar-table .appointment-button.selected {
  border: none;
  border-radius: 50%;
  background-color: #0071b6;
  color: #fff;
  font-weight: bold;
}

.available-appointments-table {
  font-size: 13px;
  text-align: center;
  height: fit-content;
}

.available-appointments-table .available-appointments-table-header {
  padding: 15px 0 10px 0;
  font-size: 1.108em;
  line-height: 2.25em;
  font-weight: normal;
  text-align: center;
}

.available-appointments-table .selected-appointment-container {
  display: flex;
  justify-content: space-between;
}

.available-appointments-table td {
  border: none;
  background-color: transparent;
}

.available-appointments-table p {
  margin: 0;
  border-radius: 0.2rem;
  padding: 10px 0;
  font-weight: bold;
  font-size: 1em;
}

.available-appointments-table .time-button {
  margin: 0;
  border: 1px solid #0071b6;
  border-radius: 0.2rem;
  background-color: #fff;
  color: #0071b6;
  min-width: 165px;
}

.available-appointments-table .selected-time {
  display: flex;
  justify-content: center;
  background-clip: padding-box;
  border: 1px solid #666;
  background-color: #666;
  color: #fff;
  min-width: 80px;
}

.available-appointments-table .confirm-button {
  display: flex;
  justify-content: center;
  border: 1px solid #0071b6;
  background-color: #0071b6;
  color: #fff;
  margin-left: 4px;
  min-width: 80px;
}

@media (min-width: 576px) {
  .available-appointments-container {
    width: 0;
    visibility: hidden;
    opacity: 0;
    /* transition: width 0.5s ease-in, opacity 0.5s ease-in, visibility 0s 0.5s; */
    overflow: hidden;
    /* Ensure content doesn't overflow during transition */
  }

  .available-appointments-container.show {
    margin-left: 20px;
    width: 173px;
    visibility: visible;
    opacity: 1;
    transition: width 0.3s ease-in, opacity 0.5s linear, visibility 0s 0s;
  }

  .available-appointments-container.hide {
    margin-left: 0;
    width: 0;
    visibility: hidden;
    opacity: 0;
  }
}

.wave-appointment-scheduler-title {
  font-size: 1.5em;
  line-height: 125%;
  margin-bottom: 5px;
  text-align: center;
  color: #444;
}

.wave-appointment-scheduler-description {
  text-align: center;
  line-height: 150%;
  margin-top: 5px;
  color: #666;
}

.wave-appointment-scheduler-help-text {
  text-align: center;
  color: #bbb;
  font-weight: 300;
  margin-top: -5px;
}

.wave-scheduler-change-appointment-button {
  /* margin-top: 10px; */
  /* margin-bottom: 10px; */
}

.calendar-table a,
.wave-appointment-scheduler-please-call-me {
  color: #2b86b4;
}

.calendar-table a:hover,
.wave-appointment-scheduler-please-call-me:hover {
  color: #2ca5d3;
}

.calendar-table a:active,
.wave-appointment-scheduler-please-call-me:active {
  color: #27729b;
}

.wave-completion-message-header b {
  background: #f8f89c;
  color: #333;
  padding: 5px;
  border-radius: 3px;
}

.wave-completion-message-header {
  font-weight: 400;
  line-height: 175%;
}

.wave-completion-message-details {
  font-weight: bold;
  clear: both;
  padding-top: 15px;
  border-top: 1px solid #eee;
  margin-top: 40px;
  margin-bottom: 0px;
  line-height: 175%;
  font-size: 1rem;
  color: #5c8e80;
}

.wave-appointment-scheduler-please-call-me {
  margin: 0 auto;
  display: block;
  text-align: center;
  padding-top: 15px;
  padding-bottom: 10px;
  text-decoration: none;
  font-weight: bold;
  cursor: pointer;
}

@media (max-width: 662px) {
  /* .calendar-table td {
        padding: 5px 3px 5px 3px;
    } */
}
