#stage2,
#stage3,
#stage4 {
  display: none;
}

#stage4 {
  width: 950px;
}

/* #stage2 .button,
#stage2 .button_2,
#stage3 .button,
#stage3 .button_2 {
  width: calc((100% - 30px) / 2);
  margin-top: 35px;
  margin-right: 0;
}
 */
#stage2 .button_2,
#stage3 .button_2 {
  margin-right: 30px;
}

.separator {
  height: 2px;
  background-color: var(--border-grey);
  width: 100%;
  margin: 15px 0;
  z-index: 100;
}

.breadcrumbs {
  display: flex;
  align-items: center;
  margin: 7px 0 -7px 0;
}

.breadcrumbs h5 {
  margin: 0;
  transition: 0.1s all ease-in-out;
}

.breadcrumbs .disabled,
.button.disabled {
  pointer-events: none;
  cursor: not-allowed;
  opacity: 0.3;
}

.checkout_chevron {
  width: 7px;
  margin: 0 15px 7px;
}

.checkout_chevron svg {
  transform:rotate(-90deg); 
  -webkit-transform:rotate(-90deg); 
  -moz-transform:rotate(-90deg); 
  -o-transform:rotate(-90deg);
}

.purchased_before {
  display: flex;
  align-items: center;
}

.purchased_before p {
  font-weight: 500;
  margin: 0;
}

.purchased_before .sign_in_button {
  background-color: var(--gold);
  padding: 5px 10px;
  color: var(--black);
  font-weight: 500;
  margin-left: 15px;
  width: max-content;
}

.form_label {
  margin-top: 25px;
  margin-bottom: 5px;
  font-weight: 500;
  color: var(--black);
}

.form_field {
  color: var(--form-grey);
  background-color: transparent;
  border: solid 2px var(--form-grey);
  height: 46px;
  width: 100%;
  padding-left: 15px;
  margin: 0;
  font-size: 16px;
  box-sizing: border-box;
  outline: none;
  font-family: 'Roboto', sans-serif !important;
}

.form_field::placeholder {
  color: var(--form-grey);
}

.form_field:focus {
  outline: var(--form-grey);
}

.disabled {
  cursor: not-allowed;
  opacity: 0.5;
  pointer-events: none;
}

/******************** Booking Preview ***********************/
.details_review .flex_heading,
.booking_preview .flex_heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.booking_preview {
  padding: 15px;
  box-sizing: border-box;
}

.booking_preview .sign_in_button {
  background-color: var(--white);
  padding: 5px 10px;
  color: var(--black);
  font-weight: 500;
  margin-left: 15px;
  width: max-content;
  cursor: pointer;
}

.booking_preview h5 {
  margin: 0;
  font-size: 16px;
  color: var(--white);
}

.booking_preview p {
  font-weight: 500;
  margin: 0;
  color: var(--white);
  opacity: 0.7;
  display: flex;
  align-items: center;
}

.booking_preview p i {
  width: 30px;
}

.booking_preview p .fa-calendar-alt {
  margin-left: 3px;
  margin-right: -3px;
}

.details_review {
  background-color: var(--white);
  border: 2px solid var(--border-grey);
  padding: 15px;
  box-sizing: border-box;
}

.details_review .sign_in_button {
  background-color: var(--gold);
  padding: 5px 10px;
  color: var(--black);
  font-weight: 500;
  margin-left: 15px;
  width: max-content;
  cursor: pointer;
}

.details_review .flex_heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.details_review h5 {
  margin: 0;
}

.details_review p {
  margin: 2px 0;
  opacity: 0.5;
}

.details_review p:last-of-type {
  margin-bottom: -5px;
}

/******************** Payment Form ***********************/
#stage4 {
  flex-direction: row;
  justify-content: space-between;
}

#stage4 .check_field {
  display: flex;
  align-items: start;
}

#stage4 .check_field p {
  margin: 0;
}

#stage4 .check_field p:first-of-type {
  font-weight: 700;
  width: 135px;
}

#stage4 .button {
  width: 100%;
  margin-top: 15px;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  /* -webkit-box-shadow: 0 0 0px 1000px #ffffff inset !important; */
  -webkit-background-clip: text;
  /* This is a bonus from here: https://github.com/nextui-org/nextui/issues/1346#issuecomment-1855635162*/
  transition: background-color 5000s ease-in-out 0s;
}

.finalTotal {
  float: right;
}

.totals_info p:first-of-type {
  margin-bottom: -10px;
}

.terms_message {
  text-align: center;
  width: 90%;
  margin: 20px auto;
}

.terms_message a {
  color: var(--black);
  text-decoration: underline;
  font-weight: 500;
  transition: 0.2s all ease-in-out;
}

.terms_message a:hover {
  color: var(--light-blue);
  transition: 0.2s all ease-in-out;
}

.secure_message {
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0.5;
  font-size: 14px;
  margin-bottom: 15px;
}

.secure_message i {
  margin-right: 8px;
}