
.app_services_dropdown_title{ font-size: 1em;}
.app_service_excerpts{display:none}
.app_services_dropdown_select{padding: 0;}
select#app_select_services {padding: 8px 20px;margin: 0;}
.app_services_button{display:none}
.appointments-wrapper {
  border-radius: 5px;
}
.appointments-wrapper > h3{ display: none;}
.appointments-wrapper .appointments-instructions{display:none}

/* calendar + timetable */
.appointments-list{margin: 0;display: flex;align-items: self-start;}

/* calendar */
.app_monthly_schedule_wrapper { 
  background: #1E4245; border-radius: 30px;  padding: 20px;
 }

.app_monthly_schedule_wrapper > h2{
  margin-bottom: 7px;
  font-weight: bold; color: #fff; text-align: center; font-size: 20px;
}
/* Calendar part*/
.appointments-list table{border: none;}
.appointments-list table tfoot{display: none;}
.appointments-list table th{
  color: #fff; border: none; padding: 8px 0;font-size: 14px; font-weight: 600;
}
.appointments-list table td{ border: none; background-color: #1E4245 !important;}

.appointments-list table td p{
  font-size: 16px;
  color: #fff;
  margin:0;
  font-weight: bold;
  text-align:center;
  padding:6px 0;
}
.appointments-list table td.notpossible p{ color: #5A5A5A;}
.appointments-list table td.free p{ color: #fff;}
.appointments-list table td.busy p{ color: #ECBE1B; }
.appointments-list table td.today{opacity:1;}
.appointments-list table td.free.today{opacity: 1;}
.appointments-list table td.today p{background-color: #C0A07A; border-radius: 50%;}

/* Timetable part ...*/
.app_timetable_wrapper{margin-top: 1.25rem;}
.app_timetable{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 8px;margin-left: 40px;}
.app_timetable_title{grid-column: 1 / -1; text-align: center;margin: 0;}
.app_timetable_cell {
  padding: 5px 10px;
  margin: 0;
  font-size: 1rem;
  width: 100%;
  white-space: nowrap;
  border-radius: 50px;
  border: 1px solid #1E4245;
}
.app_timetable_cell.busy{border-color:#1E4245; background-color: #ECBE1B; }
.app_timetable_cell.notpossible{border-color:#1E4245; background-color: #5A5A5A; color: #fff;}

/* Legend ...*/
.appointments-legend-table {margin: 0;float: none;font-size: 1rem;border-collapse: separate;} 
table.appointments-legend-table td{
  /* min-width: 28px; */
  font-size: 15px;
  height: auto;
}
.appointments-legend-table td:not(.class-name){
  border: 1px solid #1E4245!important;
}
.appointments-legend-table td.class-name:nth-child(1) {padding-left: 0;} 
.appointments-legend td.free, .appointments-legend td.busy, .appointments-legend td.notpossible { border-radius: 50%; }
.appointments-legend td.free { background: #fff !important;}
.appointments-legend td.busy { background: #ECBE1B !important;}
.appointments-legend td.notpossible { background: #5A5A5A !important;}

/* Pagination ...*/
.appointments-pagination{padding: 0;}
.appointments-pagination a, .appointments-confirmation-buttons input, .app [type="submit"]{
  border: none;
  display: inline-block; vertical-align: middle;
  padding: 10px 20px;
  background: #C0A07A;
  border-radius: 50px;
  color: #FFF; font-size: 14px; font-weight: 600;  outline: none;
  text-transform: uppercase;
  box-shadow: none; text-shadow: none;
  cursor: pointer;
}
.appointments-pagination a:hover, .appointments-confirmation-buttons input:hover, .app [type="submit"]:hover{background: #BF9562;}

.appointments-pagination .next a{ background: #1E4245; color: #fff;}
.appointments-pagination .next a:hover{ opacity: 0.8;}

/* Confirmation form ...*/
.appointments-confirmation-wrapper fieldset{border: 0;margin: 0;padding: 0;padding-top: 0;}
.appointments-confirmation-wrapper fieldset legend{
  border: 0;    margin: 0;    font-weight: bold;
}
.appointments-confirmation-wrapper fieldset legend h3{
  font-weight: 800;  text-transform: none;  font-size: 20px;
}
.appointments-confirmation-wrapper fieldset >div[class*="appointments"]{border: 0; margin-bottom: 25px; }
.appointments-confirmation-wrapper fieldset >div[class*="appointments"][class*="field"]{margin-bottom: 20px;}
.appointments-confirmation-wrapper fieldset label{/* font-size: 18px; */}
.appointments-confirmation-wrapper fieldset label span{font-size: 16px;color: #262626;font-weight: bold;}
.appointments-confirmation-wrapper [class*="-field"] span{margin-top: 4px;}
.appointments-confirmation-wrapper .appointments-gcal-field span{margin-top: 0px;}
.appointments-confirmation-wrapper fieldset input[type="text"]{
  border: 1px solid #1E1F1B;
  border-radius: 50px;
  font-size: 16px;
  padding: 6px 15px;
  background: transparent;
}
.appointments-confirmation-buttons{  display: flex;  flex-wrap: wrap;  gap: 1rem; }
.appointments-confirmation-buttons .appointments-confirmation-cancel-button{
  /* background: #fff; */
  /* color:#f1901f; */
  /* border: 1px solid #f1901f; */
}
.appointments-confirmation-buttons .appointments-confirmation-cancel-button:hover{
  /* background: #f1901f; */
  /* color:#fff; */
  /* border: 1px solid #f1901f; */
}

.app ul {}
.app li {
  padding-bottom: 50px;
  max-width: 700px;
  margin: auto;
}
.app li.no-show{ display: none;}
.app li.confirm{border:none; display: none; margin-top: 0;}
.app li > h2{ margin-bottom: 1rem;}

@media (max-width: 768px){
  .app ul{padding: 0;border: none;}
  .appointments-wrapper{ padding: 0 }
  .appointments-list{flex-direction: column;gap: 1rem;}
  .app_timetable{transform: none;margin: 0;justify-content: center;}
  .app_timetable_wrapper{margin: 0;}
  .appointments-confirmation-wrapper input[type="text"]{width: 100%;}
}
@media (max-width: 540px){

  .app li h3{margin-left: 0; font-size: 22px;}
  .app li > h3{
    font-size: 20px;
    display: flex;
    align-items: center;
  }
  .app li > h3 .circle {
    width: 30px;
    height: 30px;
    text-align: center;
    line-height: 30px;
    font-size: 24px;
    font-weight: bold;
    margin-right: 10px;
    flex-shrink: 0;
  }

  .appointments-wrapper > h3{width: 100%;}
  .app_timetable_cell{
    /* padding: 5px 0; */
    margin: 0 5px 5px;
    font-size: 16px;
  }
  .appointments-pagination a, .appointments-confirmation-buttons input, .app [type="submit"]{
    /* padding: 6px 8px; */
  }
}
.appointments-gcal-field{display: none;}
/*  pmt-info */
.no-show{display: none;}
.payment-options .form-group {
  padding: 10px 1rem;
  border: 1px solid #FED98E;
  margin-bottom: 0.5rem;
  border-radius: 50px;
}
.payment-options .form-group .checkbox{margin: 0}
.payment-options .form-group .checkbox [type=radio]{border-color: #F08066;border-width: medium;}
.payment-options .form-group:has(.checkbox input:checked){border-color: #F08066;background: #F08066;}
.payment-options .form-group:has(.checkbox input:checked) label{color:#fff}
.payment-options .form-group:has(.checkbox input:checked) label input[type=radio]{color: #F08066;border-color: #fff;}



.plan-details{display: flex;align-items: flex-start;margin-bottom: 50px;}
.plan-details .logo-wrap{ flex-shrink: 0;}
.plan-details .plan-logo{
  max-width: 120px;
  margin-top: 10px;
  margin-right: 15px;
}
.plan-details .plan-info h2{
  margin: 0;
  font-size: 30px;
}
.plan-details .plan-info .plan-text{
  margin: 0;
  font-weight: 500;
}
.plan-details .plan-info .plan-amt{
  color: #f1901f;
  font-size: 28px;
  font-weight: 500;
  font-family: 'Gotham Book';
  margin: 10px 0;
}
.form input[type="text"]{
  color: #2a3041;
  background: #f9f5e4;
  border: 1px solid;
  border-radius: 0;
  font-weight: 500;
  padding: 6px 12px;
  width: 100%;
}
.form input[type="text"]:focus { outline: none; }

.pmt-info label {font-size: 18px;display: flex;align-content: center;align-items: center;gap: .75rem;}
.pmt-info label span{
  margin-left:10px;
  display: inline-block;
  vertical-align: text-bottom;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.pmt-info .paypal span{ width:100px; height: 25px; background-image: url('<?=THEME_IMAGES?>/pmt-paypal.png'); }
.pmt-info .wipay  span{ width:100px; height: 25px; background-image: url('<?=THEME_IMAGES?>/pmt-wipay.png'); }
.pmt-info .bank   span{ width: 25px; height: 25px; background-image: url('<?=THEME_IMAGES?>/pmt-bank.png');}
.pmt-btn .paypal, .pmt-btn .bank, .pmt-btn .wipay {display:none}
