.cruise_title .cruise_booking_type{
	margin: 0;
}

.cruise_title #cruise-name, .deck-title{
	margin: 0;
	font-size: 1.5em;
	color: #fff;
	font-weight: 600;
}

.extra-service-container p.extra_ser_title{
	margin: 0;
	font-size: 1.3em;
}

.deck_full_title{
	margin: 0;
	font-size: 1.5em;
}


#custom-popup-overlay {
    display: none;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 100;
}

#custom-popup {
    background: #ffffff url(../../media/loading1.gif) 50% 50% / auto no-repeat;
    padding: 10px;
    border: 1px solid #000000;
    max-width: 1440px;
    width: 90%;
    max-height: 100%;
    height: 90%;
    text-align: center;
    overflow: overlay;
}
#step-4 .form_field {
  background: #ffffff url(../../media/loading1.gif) 50% 50% / auto no-repeat;
  min-height: 240px;
}
#custom-popup-close {
    position: absolute;
    top: 1em;
    right: 1em;
    padding: 10px;
}
#deck-room-popup-overlay {
    display: none;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 101;
}

/* #deck-room-popup {
    background-color: #ffffff;
    padding: 20px;
    border: 1px solid #000000;
    max-width: 100%;
    width: 80%;
    max-height: 100%;
    height: 80%;
    text-align: center;
    overflow: overlay;
}

#deck-room-popup-close {
    position: absolute;
    top: 1em;
    right: 1em;
    padding: 10px;
} */

/* Multi-step popup */

#multi-step-form{
  background-color: #fff;
	display: flex;
    flex-direction: column;
    height: 100%;
}

.cruise_info_container{
	flex: 1;
}

.cruise_info_container .cruise_info {
    display: grid;
    align-items: center;
    align-content: center;
    grid-template-columns: 3fr 1fr;
    background-color: #1e4e7b;
    padding: 10px 20px;
}
.cruise_info_container .cruise_info h3, .cruise_info_container .cruise_info p {
color: #fff;
}
.cruise_info_container .cruise_info .cruise_title {
text-align: start;
}
.cruise_info_container .cruise_info .cruise_depature {
text-align: end;
}
.cruise_info_container .cruise_info .cruise_depature p{
    margin: 0;
}
.cruise_info_container #progressbar {
margin: 5px 0px;
padding: 0;
overflow: hidden;
color: lightgrey;
}
.cruise_info_container #progressbar .active {
color: #1e4e7b;
background: none;
}
.cruise_info_container #progressbar li {
list-style-type: none;
font-size: 1em;
width: 25%;
float: left;
position: relative;
font-weight: 400;
}
.cruise_info_container #progressbar li strong {
display: block;
text-align: center;
}
.cruise_info_container #progressbar #deck_1:before {
font-family: FontAwesome;
content: "1";
text-align: center;
}
.cruise_info_container #progressbar #deck_2:before {
font-family: FontAwesome;
content: "2";
text-align: center;
}
.cruise_info_container #progressbar #deck_3:before {
font-family: FontAwesome;
content: "3";
text-align: center;
}
.cruise_info_container #progressbar #confirm:before {
font-family: FontAwesome;
content: "4";
text-align: center;
}
.cruise_info_container #progressbar li:before {
width: 40px;
height: 40px;
line-height: 35px;
display: block;
font-size: 20px;
color: #ffffff;
background: lightgray;
border-radius: 50%;
margin: 0 auto 10px auto;
padding: 2px;
}
.cruise_info_container #progressbar li#deck_1:after {
content: "";
width: 50%;
margin-left: 50%;
height: 2px;
background: lightgray;
position: absolute;
left: 0;
top: 38px;
z-index: 1;
}
.cruise_info_container #progressbar li#confirm:after {
content: "";
width: 50%;
height: 2px;
background: lightgray;
position: absolute;
left: 0;
top: 38px;
z-index: 1;
}
.cruise_info_container #progressbar li:after {
content: "";
width: 100%;
height: 2px;
background: lightgray;
position: absolute;
left: 0;
top: 38px;
z-index: 1;
}
.cruise_info_container #progressbar li.active:before,
.cruise_info_container #progressbar li.active:after {
background: #1e4e7b !important;
}
.cruise_info_container ul.form_progress_bar {
display: flex;
}
.cruise_info_container ul.form_progress_bar li.active span {
background-color: red;
color: #fff;
}
.cruise_info_container ul.form_progress_bar li {
width: 25%;
list-style: none;
}
.cruise_info_container ul.form_progress_bar li span {
width: 25px;
background-color: #ccc;
padding: 20px;
border-radius: 50%;
}

.form-step {
text-align: end;
	width: 100%;
    flex: 10;
    align-content: center;
	display: flex;
	flex-direction: column;
}

#step-2, #step-3{
	display:none;
}
.form-step .btn_multi_form_action_container{
	/* flex: 1;
	align-content: flex-end; */
  display: flex;
  gap: 5px;
  justify-content: flex-end;
  margin: 1em 0 1em 0;
}
.form-step .form_field {
text-align: start;
	flex: 5;
}
.form-step .form_step_title {
text-align: center;
}
.form-step .deck-select-option {
padding: 10px;
}
.form-step .next-step, .form-step .prev-step, .form-step .btn_submit {
  text-align: end;
  padding: 10px 40px;
  background-color: #1e4e7b;
  border: none;
  color: #fff;
  cursor: pointer;
  transition: all 0.3s ease;
}
.form-step .prev-step {
  opacity: .5;
}
.form-step .prev-step:hover {
  opacity: 1;
}
#cfm_btn_submit {
    background-color: darkgreen;
}
#cfm_btn_submit:hover {
  background-color: rgb(10, 145, 10);
}
/* Hover effect */
.form-step .btn_submit:hover {
  background-color: #00669c;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

/* Disabled state */
.form-step .btn_submit.disabled, #cfm_btn_submit.disabled,
.form-step .btn_submit[disabled], #cfm_btn_submit[disabled] {
    background-color: #b3b3b3;
    color: #f0f0f0;
    cursor: not-allowed;
    opacity: 0.7;
    box-shadow: none;
    transform: none;
}

/* Add loading animation for disabled state */
.form-step .btn_submit.disabled::after, #cfm_btn_submit.disabled::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, transparent, #ffffff, transparent);
  animation: btn-loading 1.5s infinite;
}

/* Loading animation keyframes */
@keyframes btn-loading {
  0% { left: -100%; }
  100% { left: 100%; }
}

.form-step .deck_selection_container {
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-gap: 5px;
}
.form-step .deck_selection_container .deck_title {
padding: 10px 20px;
color: #fff;
background-color: #1e4e7b;
	margin: 5px 0;
}
.form-step .deck_selection_container .deck_image {
background-color: #ccc;
margin-bottom: 5px;
	height: 150px;
}
.form-step .deck_selection_container .deck_image img{
	height: 100%;
    object-fit: contain;
}
.form-step .deck_selection_container .deck-form-radio-container {
margin-bottom: 10px;
background-color: #ccc;
}
.form-step .deck_selection_container .deck-form-radio-container label{
    max-width: 100%;
    height: 100%;
    padding: 0;
	width: 100%;
}

.form-step .deck_selection_container .deck-form-radio-container label .deck_info_radio {
text-align: center;
}
.form-step .deck_selection_container .deck-form-radio-container label .deck_info_radio p {
margin: 0;
}
.form-step .deck_selection_container .deck-form-radio-container label .deck_info_radio .title_row {
padding: 5px 10px;
background-color: #1e4e7b;
color: #fff;
text-align: start;
}
.form-step .deck_selection_container .deck-form-radio-container label .deck_info_radio .deck_info_container {
display: grid;
grid-template-columns: 2fr 3fr 1fr;
}

.form-step .deck_selection_container .deck-form-radio-container label .deck_info_radio .deck_info_container .deck_img_container{
	height: 120px;
	width: 100%;
}

.deck_img_container img{
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.deck_info_radio .deck_info_container_full .deck_img_container{
	height: 120px;
}

.form-step .deck_selection_container .deck-form-radio-container label .deck_info_radio .deck_info_container_full {
display: grid;
grid-template-columns: 1fr 2fr;
	font-size: 2em;
}

.form-step .deck_selection_container .deck-form-radio-container label .deck_info_radio .deck_info_container .deck_price_container, .form-step .deck_selection_container .deck-form-radio-container label .deck_info_radio .deck_info_container_full .deck_price_container {
display: grid;
align-content: center;
justify-content: center;
align-items: center;
}
.form-step .deck_selection_container .deck-form-radio-container label .deck_info_radio .deck_info_container .deck_price_container{
	background-color: #eee;
}

.form-step .deck_selection_container .deck-form-radio-container label .deck_info_radio .deck_info_container .deck_price_container p{
	color: #1E4E7B;
}

.form-step .deck_selection_container .deck-form-radio-container label .deck_info_radio .deck_info_container .deck_price_container .deck_price span {
font-size: 2em;
}
.form-step .deck_selection_container .deck-form-radio-container label .deck_info_radio .deck_info_container .deck_action_container {
background-color: #009fe3;
display: grid;
align-content: center;
justify-content: center;
align-items: center;
color: #fff;
cursor: pointer;
}
.form-step .deck_selection_container .deck-form-radio-container label .deck_info_radio .deck_info_container .deck_action_container:hover {
	background-color: #1E4E7B;
}
.form-step .deck_selection_container .deck-form-radio-container label .deck_info_radio .deck_info_container .deck_action_container p {
font-size: 2em;
}

/* Deck Room Slection Popup */

#deck-room-popup {
  padding: 10px;
  background-color: #fcfcfc;
  display: grid;
  align-content: center;
  justify-content: center;
  grid-gap: 5px;
  grid-template-columns: repeat(2, 1fr);
  height: 90%;
  width: 90%;
  max-width: 100%;
  max-height: 100%;
  overflow: overlay;
  margin-left: auto;
  margin-right: auto;
  margin-top: auto;
  margin-bottom: auto;
}
#deck-room-popup .deck_img_container {
  display: grid;
  padding-bottom: 10px;
}
#deck-room-popup .deck_img_container .deck_room_title_container {
  padding: 10px;
  margin-top: auto;
  background-color: #1e4e7b;
}
#deck-room-popup .deck_img_container .deck_room_title_container h3, #deck-room-popup .deck_img_container .deck_room_title_container p{
  margin: 0;
  text-align: start;
  color: #fff;
}

#deck-room-popup .deck_room_selection_container {
  padding: 10px;
  display: grid;
  background-color: #fff;
}
#deck-room-popup .deck_room_selection_container .deck_room_information_container p{
	margin: 0;
}
#deck-room-popup .deck_room_selection_container .deck_room_information_container .deck_description{
	text-align: start;
}
#deck-room-popup .deck_room_selection_container .deck_btn_action_container {
  /* display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 5px; */
  display: flex;
  flex-direction: row-reverse;
  gap: 5px;
  height: 50px;
  margin-top: 1em;
  text-align: right;
}
#deck-room-popup .deck_room_selection_container .deck_btn_action_container #deck-room-popup-save {
  background-color: darkgreen;
  color: #fff;
}
#deck-room-popup .deck_room_selection_container .deck_btn_action_container #deck-room-popup-close {
  background-color: darkred;
  color: #fff;
  opacity: .5;
}
#deck-room-popup .deck_room_selection_container .deck_btn_action_container #deck-room-popup-close:hover {
  opacity: 1;
}

#deck-room-popup .deck_room_selection_container .deck_btn_action_container .deck_popup_btn {
  border: none;
  padding: 10px 50px;
}

@media (max-width: 660px) {
  #deck-room-popup {
    grid-template-columns: 1fr;
  }
}
.form__group {
  position: relative;
  padding: 15px 10px 0;
	margin: 0 !important;
  margin-top: 10px;
}

.form__field {
  font-family: inherit;
  width: 100%;
  border: 0;
  border-bottom: 2px solid #9b9b9b;
  outline: 0;
  font-size: 1rem;
  /* padding: 7px 0; */
  background: transparent;
  transition: border-color 0.2s;
  margin-bottom: 15px;
}
.form__field::placeholder {
  color: transparent;
}
.form__field:placeholder-shown ~ .form__label {
  font-size: 1rem;
  cursor: text;
  top: 20px;
}

.form__label {
  position: absolute;
  top: 0;
  display: block;
  transition: 0.2s;
  font-size: 0.9rem;
  font-weight: 600;
  /* color: #9b9b9b; */
}

.form__field:focus {
  padding-bottom: 6px;
  font-weight: 700;
  border-width: 3px;
  border-image: linear-gradient(to right, #11998e, #38ef7d);
  border-image-slice: 1;
}
.form__field:focus ~ .form__label {
  position: absolute;
  top: 0;
  display: block;
  transition: 0.2s;
  font-size: 0.8rem;
  color: #11998e;
  font-weight: 700;
}

.form__group input[type="text"], .form__group input[type="date"], .form__group input[type="email"], .form__group input[type="tel"], .form__group input[type="number"]{
	border: none;
    	background: none;
    	border-bottom: 2px solid #9b9b9b;
	height: 30px !important;
}

/* reset input */
.form__field:required, .form__field:invalid {
  box-shadow: none;
}

/* Multi Step Form Personal part */

.customer_type_contianer{
	padding: 20px 10px;
	background-color: #009fe3;
  	color: #fff;
	height: 40px;
    text-align: center;
    align-content: center;
    display: grid;
}

.person_guess_information_container {
/*   display: grid;
  grid-template-columns: repeat(4, 1fr); */
	display: flex;
	justify-content: center;
    justify-items: center;
    width: 100%;
	flex-direction: row;
  grid-gap: 10px;
  padding: 0 10px;
	flex-wrap: wrap;
}
.person_guess_information_container .person_information_input {
  display: grid;
  background-color: #fcfcfc;
	padding: 15px 15px 10px;
    border-radius: 10px;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	flex: 1 0 24%;
	width: 100%;
	max-width: 25%;
}

.person_guess_information_container .person_information_input .input_container .form__group .iti{
	display: grid;
	grid-template-columns: 1fr 5fr;
	margin-top: 10px;
}

.person_guess_information_container .person_information_input .input_container .form__group .iti .iti__flag-container{
	position: inherit;
}

@media (max-width: 920px) {
  .person_guess_information_container {
    flex-direction: row;
	  align-items: stretch;
  }
	.person_guess_information_container .person_information_input{
		max-width: 32%;
		padding: 10px;
	}
}
@media (max-width: 768px) {
	.person_guess_information_container {
		flex-direction: row;
		align-items: stretch;
	}
	.person_guess_information_container .person_information_input{
		max-width: 45%;
		padding: 10px;
	}
}
@media (max-width: 480px) {
	#custom-popup{
		width: 100%;
	}
  .person_guess_information_container {
    flex-direction: column;
  }
	.person_guess_information_container .person_information_input{
		max-width: 100%;
		padding: 10px;
	}
}

/* Multi Step Form Extra */

#step-2 .extra-service-items {
  background: #ffffff url(../../media/loading1.gif) 50% 50% / auto no-repeat;
  min-height: 395px;
}
.extra-service-container p, .extra-service-container h3, .extra-service-container h2, .extra-service-container h1, .extra-service-container h5 {
  margin: 0;
}
.extra-service-container .extra-service-items .extra-service-item {
  display: grid;
  grid-template-columns: 120px 3fr 2fr;
  grid-gap: 10px;
  background-color: #fcfcfc;
  height: 100%;
  margin-bottom: 10px;
}
.extra-service-container .extra-service-items .extra-service-item .extra-service-img {
  height: 100%;
}
.extra-service-container .extra-service-items .extra-service-item .extra-service-img img {
  width: 100%;
  height: 100%;
	object-fit: cover;
}
.extra-service-container .extra-service-items .extra-service-item .extra-service-info {
  text-align: start;
  margin-top: auto;
  margin-bottom: auto;
  padding: 10px;
}
.extra-service-container .extra-service-items .extra-service-item .extra-service-other {
  height: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.extra-service-container .extra-service-items .extra-service-item .extra-service-price {
  text-align: center;
  margin-top: auto;
  margin-bottom: auto;
}
.extra-service-container .extra-service-items .extra-service-item .extra-service-action {
  background-color: #f1f1f1;
  text-align: center;
  margin-top: auto;
  margin-bottom: auto;
  height: 100%;
  display: grid;
  cursor: pointer;
	padding: 40px;
	align-content: center;
}
.extra-service-container .extra-service-items .extra-service-item .extra-service-action p {
  align-self: center;
}

.extra-service-container .extra-service-items .extra-service-item .extra-service-action input[type=checkbox]{
	height: 3em;
}

@media all and (max-width: 600px) {
  .extra-service-container .extra-service-items .extra-service-item {
    grid-template-columns: 1fr;
  }
  .extra-service-container .extra-service-items .extra-service-item .extra-service-img {
    height: 100%;
  }
  .extra-service-container .extra-service-items .extra-service-item .extra-service-img img {
    width: 100%;
    height: 100%;
    max-height: 180px;
  }
  .extra-service-container .extra-service-items .extra-service-item .extra-service-action {
    height: 40px;
  }
}

/* Booking Summary */
.booking_summary_container {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 10px;
}
.booking_summary_container .booking-cruise-img img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  position: center center;
}
.booking_summary_container .booking-item-label {
  padding: 10px;
  background: #009fe3;
  color: #fff;
}
.booking_summary_container .booking_cruise_info {
  margin: 0 10px;
  background: #f1f9fa;
}
.booking_summary_container .booking_extra_services {
  margin: 0 10px;
  background: #f1f9fa;
}
.booking_summary_container .booking_cruise_room_info {
  margin: 0 10px;
  background: #f1f9fa;
}
.booking_summary_container .booking_cruise_room_info .booking-cabin-rooms-container .booking-room {
  display: grid;
  grid-template-columns: 2fr 3fr;
  grid-gap: 10px;
  padding: 10px;
  justify-content: center;
}
.booking_summary_container .booking-normal-price-net-price, .booking_summary_container .booking-reservation-total-normal {
  background: #1e4e7b;
  color: #fff;
}
.booking_summary_container .booking-unit-total {
  background: #1e4e7b;
  color: #fff;
}
.booking_summary_container .booking-cruise-container, .booking_summary_container .booking-room-detail, .booking_summary_container .booking-unit-total, .booking_summary_container .booking-total, .booking_summary_container .booking-cruise-extra {
  display: grid;
  grid-template-columns: 2fr 3fr;
  grid-gap: 10px;
  padding: 10px;
  align-items: center;
  justify-content: center;
}
.booking_summary_container .booking-cruise-data {
  text-align: end;
}
.booking_summary_container p, .booking_summary_container h3, .booking_summary_container h4, .booking_summary_container h5, .booking_summary_container h6 {
  margin: 0;
}

@media all and (max-width: 600px) {
  .booking_summary_container .booking-cruise-img img {
    height: 250px;
  }
}
@media all and (max-width: 420px) {
  .booking_summary_container .booking-cruise-img img {
    height: 200px;
  }
}

/* Invoice Style */
.invoice_page {
  width: 210mm;
  min-height: 297mm;
  padding: 1cm;
  margin: 0 auto;
  border: 1px #D3D3D3 solid;
  border-radius: 5px;
  background: white;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  page-break-after: always;
}

.invoice_company_header_container {
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-gap: 10px;
  border-bottom: 5px solid;
  margin-top: 20px;
  align-items: center;
}
.invoice_company_header_container p, .invoice_company_header_container h2, .invoice_company_header_container h3 {
  margin: 0 0 5px;
  text-align: end;
}
.invoice_company_header_container .company_logo img {
  width: 80px;
  height: 80px;
}

.invoice_details_container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 10px;
}
.invoice_details_container .agent_info_container {
  margin-top: 5px;
}
.invoice_details_container .agent_info_container .agent_info_container {
  margin-top: 0;
}
.invoice_details_container .main_client_info_container, .invoice_details_container .invoice_info_container {
  margin-top: -30px !important;
}

.term_and_codition_container .term_title {
  margin: 0;
}
.term_and_codition_container .terms_container .term_and_condition {
  border: 1px solid black;
  padding: 10px;
  border-radius: 15px;
}
.term_and_codition_container .terms_container .term_and_condition .term_title {
  position: relative;
  height: 50px;
  top: -25px;
  width: fit-content;
  background-color: #fff;
  padding: 0 10px;
}
.term_and_codition_container .terms_container .term_and_condition .payment_terms {
  margin: -25px 0 0;
  padding: 0 20px;
}
.term_and_codition_container .terms_container .term_and_condition .payment_terms .terms_container {
  padding: 0 10px 5px;
}
.term_and_codition_container .terms_container .term_and_condition .cancellation_fee {
  padding: 0 20px;
  margin-top: 10px;
}

.term_and_codition_container .terms_container {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-gap: 10px;
}

.term_and_codition_container p, .term_and_codition_container h3 {
  margin: 0;
}

.cancel_fee_text {
  color: red;
}

.terms_container {
  padding: 10px;
}

.invoice_title {
  text-align: center;
}

.blox_container {
  border: 1px solid black;
  padding: 10px;
  border-radius: 15px;
}
.blox_container p, .blox_container h2, .blox_container h3 {
  margin: 0 0 5px;
}
.blox_container .blox_title {
  position: relative;
  height: 40px;
  top: -20px;
  width: fit-content;
  background-color: #fff;
  padding: 0 10px;
}
.blox_container .blox_info_container {
  margin-top: -20px;
}
.blox_container .blox_info_container .blox_item {
  display: grid;
  grid-template-columns: 2fr 3fr;
  grid-gap: 10px;
  margin-bottom: 5px;
}
.blox_container .blox_info_container .blox_item .blox_label {
  text-align: end;
  z-index: 2;
}
.blox_container .blox_info_container .blox_item .blox_text {
  z-index: 2;
}

.booking_informations_container {
  margin: 20px 0;
}
.booking_informations_container table {
  border-collapse: collapse;
  width: 100%;
}
.booking_informations_container p {
  margin: 0;
}
.booking_informations_container th, .booking_informations_container td {
  border: 1px solid #dddddd;
  text-align: left;
  padding: 8px;
}
.booking_informations_container .subtotal, .booking_informations_container .commission, .booking_informations_container .total {
  font-weight: bold;
  text-align: end;
}
.booking_informations_container .price_total {
  text-align: end;
}

.woocommerce-cart .product-thumbnail {
    display: none;
}
.step-1-instruction {
  text-align: center;
}
.deck_room_size_info {
  text-align: left;
  font-weight: 600;
}