/* General */
#escape_room_form {
  max-width: 800px;
  margin: 0 auto;
  color: #000;
}
#escape_room_form .content {
  display: flex;
  flex-direction: column;
  gap: 10px;
  }
#escape_room_form.loading {
  pointer-events: none;

}
#escape_room_form.loading:before {
  content: '';
  display: block;
  width: 40px; /* Adjust the size as needed */
  height: 40px; /* Adjust the size as needed */
  border: 4px solid rgba(0, 0, 0, 0.1); /* Adjust the color as needed */
  border-top-color: rgba(0, 0, 0, 0.8); /* Adjust the color as needed */
  border-radius: 50%;
  animation: spin 1s linear infinite;
  position: absolute; /* Ensure it's positioned correctly */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;
}
#escape_room_form.loading:after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgb(255 255 255 / 0%);
z-index: 1;
animation: pulsing-loading 2s linear infinite;
}
.nice-select {
  border: 1px solid #69727d !important;
  background-color: #ffffff;
  border-radius: 12px 12px 12px 12px;
  font-size: 16px;
  min-height: 53px;
  padding: 6px 16px;
}

.step .content {
  max-width: 300px;
  margin: 0 auto;
}

.nav_btns {
  display: flex;
  justify-content: space-between;
  margin: 30px 0px 0px 0px;
}
.nav_btns a {
  display: inline-block;
  color: var(--e-global-color-primary);
  background-color: var(--e-global-color-accent);
  border-style: solid;
  border-width: 2px 2px 2px 2px;
  border-color: var(--e-global-color-accent);
  border-radius: 12px 12px 12px 12px;
  padding: 8px 15px;
  transition: 0.3s all;
}
.nav_btns a:hover {
  color: var(--e-global-color-accent);
  background-color: var(--e-global-color-primary);
  border-color: var(--e-global-color-accent);
}
#escape_room_form:has(.datetime.active) .nav_btns .prev,
#escape_room_form:has(.datetime.active) .nav_btns .next,
#escape_room_form:has(.payment.active) .nav_btns .next
 {
  display: none;
}
#escape_room_form:has(.payment_details):has(.datetime.active) .nav_btns .next {
  display: block;
}
.nav_btns .next {
  margin-left: auto; /* Pushes the .next link to the right */
}
.step.active {
  display: block;
}
.step:not(.active) {
  display: none;
}
.payment_form_wrapper div#iframe_holder {
  width: 100% !important;
  max-width: 100% !important;
}

/* Step 1 - DateTime select */

.step_label {
  text-align: center;
  font-size: 25px;
  font-weight: bold;
}

#date_picker {
  display: flex;
  justify-content: center;
  margin: 30px 0px 0px 0px;
}
.time_slots {
display: flex;
flex-direction: column;
gap: 10px;
}
/* JQUERY UI CUSTOM Styles Start */
.ui-widget.ui-widget-content {
  border: none;
  padding: 0;
}
.ui-widget {
  font-family: "ABeeZee", Sans-serif;
}
.ui-datepicker {
  width: 100%;
}
.ui-datepicker-prev, .ui-datepicker-next {
  cursor: pointer;
  border: none!important;
} 
.ui-datepicker-prev {
  transform: rotate(-180deg);
}
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover {
  top: 2px;
}
.ui-datepicker .ui-datepicker-prev-hover {
  left: 1px;
}
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus, .ui-button:hover, .ui-button:focus {
  background: none;
}
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {
  color: #b6b6b6;
}
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover {
  border: 1px solid #4737c7;
  background: #4737c7;
}
.ui-icon, .ui-widget-content .ui-icon{

  background-image: url(../img/calendar-right.svg);
  background-size: contain;
  background-repeat: repeat;
}
.ui-widget-header {
  background: #49b2ff;
  color: #fff;
  border: none;
  border-radius: 0;
}

/* Step 2 - Participants */
.participants {
    display:none;
}

.participants.active {
    display:block;
}
.notice {
  font-style: italic;
  margin: 20px 0px;
  font-size: 14px;
    line-height: 1.4em;
}
/* Step 3 - Booking review */
.price_line {
  display: flex;
  justify-content: space-between;
}
.price_line > span {
  font-weight: bold;
}
.price_line.total {
  font-size: 20px;
  margin-top: 15px;
  font-weight: bold;
}
.price_line:not(:last-child) {
  padding: 5px 0px;
  border-bottom: 1px solid;
}
/* Step 4 - Payment */
.step.payment .content {
  max-width: 100%;
  margin: 0 auto;
}
.step.payment .content .notice {
  text-align: center;;
}

/* Step 5 - Completed */
.step.completed .content {
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
  margin: 20px 0px;
}
@keyframes spin {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
 
      }
      100% {
        transform: translate(-50%, -50%) rotate(360deg);
}
}
@keyframes pulsing-loading {
    0% {
      background: rgb(255 255 255 / 0%);
    }
    50% {
      background: rgb(255 255 255 / 70%);
    }
    100% {
      background: rgb(255 255 255 / 0%);
    }
  }

