
#booking-container { background: #F1EFE9; }

/*####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #######



##     ## ######## ########    ###
###   ### ##          ##      ## ##
#### #### ##          ##     ##   ##
## ### ## ######      ##    ##     ##
##     ## ##          ##    #########
##     ## ##          ##    ##     ##
##     ## ########    ##    ##     ##



####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #######*/



#booking-meta { padding-bottom:30px; margin-top: 115px; }
#booking-meta .booking-meta--content { display: flex; }
#booking-meta .booking-meta-image { position: relative; background-size: cover; padding: 0; min-height: 260px; }
#booking-meta .booking-meta-image h3 { position: absolute; color: #FFF; font-size: 40px; bottom: 55px; left: 55px; }
#booking-meta .booking-meta-image img { width:100%;height:auto;border-radius:var(--radius); }
#booking-meta p span i { color:var(--primary); }
#booking-meta .cruise-details { background-color: var(--off-white); margin: 0; padding: 40px 60px; }


#booking-passenger-occupancy h2 { font-size: 40px; margin-bottom: 30px; }
.rates-options { gap: 80px; }
.list-radio { display: flex; flex-direction: column; gap: 30px; }
.list-radio li { display: flex; align-items: center; gap: 15px; height: 44px; background-color: var(--off-white); padding: 0 20px; cursor: pointer; }
.list-radio li label { flex: 1; height: 100%; cursor: pointer; display: flex; align-items: center; }
.dtmg__select .form-select {height: 44px;border-radius:0; border-color: var(--off-white);}

#booking-terms a { font-weight:700; }

@media all and (max-width:1100px){
	#booking-meta { padding-bottom:20px; margin-top: 35px; }
		#booking-meta .booking-meta--content { flex-direction: column; }
		#booking-meta .booking-meta-image { min-height: 150px; }
			#booking-meta .booking-meta-image h3 { z-index: 2; bottom: 25px; left: 25px; right:25px; top:auto; font-size: 30px; line-height: 1;}
			#booking-meta .booking-meta-image:before { content: ''; display: inline-block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,.2); }
	#booking-meta .cruise-details { padding: 15px 20px; }

	#booking-passenger-occupancy h2 { font-size: 24px; line-height: 1; }
}

/*####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #######



 #######   ######   ######  ##     ## ########     ###    ##    ##  ######  ##    ##
##     ## ##    ## ##    ## ##     ## ##     ##   ## ##   ###   ## ##    ##  ##  ##
##     ## ##       ##       ##     ## ##     ##  ##   ##  ####  ## ##         ####
##     ## ##       ##       ##     ## ########  ##     ## ## ## ## ##          ##
##     ## ##       ##       ##     ## ##        ######### ##  #### ##          ##
##     ## ##    ## ##    ## ##     ## ##        ##     ## ##   ### ##    ##    ##
 #######   ######   ######   #######  ##        ##     ## ##    ##  ######     ##



####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #######*/



.input-counter {  }
	.input-counter .input-up,
	.input-counter .input-down { margin:0 auto;width:44px;height:44px;background:var(--primary);font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s; color:#fff;}

	.input-counter .input-up:not(.opacity-50):hover,
	.input-counter .input-down:not(.opacity-50):hover { background-color:#272401;color:#fff; }

	.input-counter .input-up.opacity-50,
	.input-counter .input-down.opacity-50 { cursor:default; }

	.input-counter .input-label { font-weight: 700; }

.children-option { display:none; }

.list-radio li.age-option { display:none;padding:0; }
	.list-radio li.age-option input { width:100%;border:0;height:100%;padding:0 20px;background-color:var(--off-white); }
	.list-radio li.age-option input:focus { outline:none; }

.list-radio li.past-passenger { display:none;padding:0; }
	.list-radio li.past-passenger input { width:100%;border:0;height:100%;padding:0 20px;background-color:var(--off-white); }
	.list-radio li.past-passenger input:focus { outline:none; }



/*####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #######



########     ###    ######## ########  ######      ######  ##       #### ########  ######## ########
##     ##   ## ##      ##    ##       ##    ##    ##    ## ##        ##  ##     ## ##       ##     ##
##     ##  ##   ##     ##    ##       ##          ##       ##        ##  ##     ## ##       ##     ##
##     ## ##     ##    ##    ######    ######      ######  ##        ##  ##     ## ######   ########
##     ## #########    ##    ##             ##          ## ##        ##  ##     ## ##       ##   ##
##     ## ##     ##    ##    ##       ##    ##    ##    ## ##        ##  ##     ## ##       ##    ##
########  ##     ##    ##    ########  ######      ######  ######## #### ########  ######## ##     ##



####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #######*/



.dates-slider { width:100%;height:220px;opacity:0; }
	.dates-slider.swiper-initialized { opacity:1; }

	.dates-slider .swiper-slide { height:160px;border-radius:var(--radius);border:1px solid var(--grey);background:#fff;flex-direction:column;justify-content:center;align-items:center;color:var(--text);text-decoration:none; }

	.dates-slider .swiper-slide.active { border:2px solid var(--secondary); }
	.dates-slider .swiper-slide.active p.price strong { color:var(--secondary); }

.dates-slider .swiper-controls { right:0;bottom:0; }
	.dates-slider .swiper-controls .swipe-prev,
	.dates-slider .swiper-controls .swipe-next { width:40px;height:40px;font-size:16px;background-color:var(--primary);border-color:var(--primary); }
	.dates-slider .swiper-controls .swipe-prev { margin-right:10px; }

	.dates-slider .swiper-controls .swipe-prev:hover,
	.dates-slider .swiper-controls .swipe-next:hover { background-color:#fff;color:var(--primary); }



/*####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #######



##       #### ##     ## ########    ########  ########  ####  ######  #### ##    ##  ######
##        ##  ##     ## ##          ##     ## ##     ##  ##  ##    ##  ##  ###   ## ##    ##
##        ##  ##     ## ##          ##     ## ##     ##  ##  ##        ##  ####  ## ##
##        ##  ##     ## ######      ########  ########   ##  ##        ##  ## ## ## ##   ####
##        ##   ##   ##  ##          ##        ##   ##    ##  ##        ##  ##  #### ##    ##
##        ##    ## ##   ##          ##        ##    ##   ##  ##    ##  ##  ##   ### ##    ##
######## ####    ###    ########    ##        ##     ## ####  ######  #### ##    ##  ######



####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #######*/



#stateroom-selection .row .col-lg { border-radius:var(--radius);display: flex;flex-direction: column; }
#stateroom-selection.placeholder-wave .col-lg {  }

#booking-live-pricing h2 { margin-bottom: 55px; font-size: 50px; }
#stateroom-selection > div:not(.staterooms) { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr;}

#stateroom-selection .lead-stateroom .image { width:100%;height:170px;background-size:cover;background-position:center center;background-color:rgba(0, 0, 0, 0.5);border-top-left-radius:var(--radius);border-top-right-radius:var(--radius); }

#stateroom-selection .lead-stateroom .content { flex:1; background:#fff;border-top:0; display: flex; flex-direction: column; align-items: center; }
#stateroom-selection .lead-stateroom .content .price-info { margin-bottom: 40px; display: flex; gap: 5px; }
#stateroom-selection .lead-stateroom .content button { margin-top: auto; }
#stateroom-selection .lead-stateroom .selected { display:none;text-decoration:none; }

#stateroom-selection .staterooms { }
	#stateroom-selection .staterooms > div { width: 100%; }

#stateroom-selection .lead-stateroom { width: 100%; margin:0 0 20px; }
	#stateroom-selection .lead-stateroom h4 { font-size: 40px; margin-bottom: 36px; }
	#stateroom-selection .cabin-grade h4 {margin-bottom: 25px; font-size: 40px;}
	#stateroom-selection .cabin-grade h4,
	#stateroom-selection .ratecode h5 { text-transform: capitalize; }
	#stateroom-selection .lead-stateroom .text-truncate { min-width:50%;max-height:80px; }
	#stateroom-selection .lead-stateroom span { color: #767779; }
	#stateroom-selection .lead-stateroom span h2 { font-weight: bold; color: #000000; }

#stateroom-selection .lead-stateroom.active .content {  background-color: #0D0D0D; border-top:0;padding:16px 15px !important; }
	#stateroom-selection .lead-stateroom.active .content * {  color: var(--white); }
	#stateroom-selection .lead-stateroom.active button { display:none; }
	#stateroom-selection .lead-stateroom.active .selected { background-color: #F1EFE9; color: #272401; display:inline-block; transition: all .4s ease-in-out; }
	#stateroom-selection .lead-stateroom.active .selected:hover { background-color: var(--primary); }
	#stateroom-selection .lead-stateroom.active .selected strong { color: #272401;transition: all .4s ease-in-out; }
	#stateroom-selection .lead-stateroom.active .selected:hover strong { color: #F1EFE9; }

#stateroom-selection .ratecode { background:#fff;margin:0 0 20px; }
#stateroom-selection .ratecode h5 strong { font-size:16px; }

#stateroom-selection .cabin-grade .description {
	color: #707070;
    font-weight: 300;
}

#stateroom-selection .cabin-grade .description .text-truncate section {
	display: -webkit-box;
	max-width: 100%;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

#stateroom-selection .cabin-grade .more {
	display: none;
}

#stateroom-selection .ratecode.active {
	background-color: #0D0D0D;
}

#stateroom-selection .ratecode .btn {
	min-width: 120px;
}
#stateroom-selection .ratecode ul {
	padding-left: 20px;
}
#stateroom-selection .ratecode li {
	list-style-type: disc;
}

.deck-info {
	gap: 10px;
}

#cabins-table .select_cabins,
#filter_cabin_deck_container {
	flex: 1;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

#cabins-table .select_cabins,
.filter_cabin_deck--item {
	position: relative;
}

#cabins-table .select_cabins {
	display: flex;
}

#cabins-table .select_cabins select {
	flex: 1;
}

#cabins-table .select_cabins i,
.filter_cabin_deck--item i {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
}

.deck-info .deck-info-buttons {
	flex: 1;
	gap: 10px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	position: relative;
}

.deck-info .deck-info-buttons button {
	min-width: auto;
	flex: 1;
}

.deck-info .deck-info-buttons .deck-key {
	display: none;
	position: absolute;
	background-color: var(--beige);
	top: 100%;
	left: 40px;
	padding: 30px 40px;
    box-shadow: 0px 8px 16px #00000033;
}

.deck-info .deck-info-buttons .deck-key.show {
	display: block;
}

.deck-info .deck-info-buttons .deck-key span {
	display: flex;
	align-items: center;
	font-size: 14px;
	line-height: 42px;
	gap: 30px;
}

.deck-info .deck-info-buttons .deck-key img {
	width: 20px;
	height: 20px;
}

#cabins-table .select_cabins select,
#filter_cabin_deck_container select {
	width: 100%;
	height: 100%;
	padding: 0 10px;
	min-height: 40px;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	border: none;
	box-shadow: none;
	background: var(--beige);
	border: 1px solid var(--text);
}

#cabins-table .row.active *,
#stateroom-selection .ratecode.active * {
	color: #F1EFE9;
}

#cabins-table .row .stateroom-name {
	padding-left: 50px;
}

#cabins-table .row .deck-name {
	display: flex;
}

#cabins-table .row .price-info {
	display: flex;
	gap: 2px;
}

#cabins-description {
	margin-top: 40px;
	margin-bottom: 60px;
}

#cabins-description .item {
	gap: 62px;
	justify-content: space-between;
}

#cabins-description .item img {
	object-fit: cover;
	width: 50%;
	flex: 1;
	margin: 0 auto auto;
}

#cabins-description .item .cabin-info {
	flex: 2;
	font-family: "Noto Sans";
	color: var(--text);
	font-weight: 300;
}

#cabins-description .item .cabin-info h4 {
	font-size: 40pt;
	margin-bottom: 44px;
}

#cabins-description .item .cabin-info .toggle:hover {
	text-decoration: underline;
}

#cabins-description .item .cabin-info .more {
	display: none;
}

#cabins-table .row .price-info .pp {
	margin-top: auto;
}

#cabins-table .row .deck-name span {
	display: inline-block;
	width: 75%;
	text-align: center;
	margin: auto;
	font-weight: 600;
	background: #DFE5F4;
	color: #0D0D0D;
}

#cabins-table .row.active .deck-name span,
#stateroom-selection .ratecode.active .deck-name span,
#cabins-table .row.active .selected-cabin,
#stateroom-selection .ratecode.active .black-button {
	background-color: #F1EFE9;
	color: #0D0D0D;
}

.placeholder-wave .placeholder {
	min-height: 250px;
}

#cabins-table .row .mob-price-info {
	display: none;
}

@media all and (max-width: 1199px) {
	#cabins-table .row .price-info .h2 {
		font-size: 26px;
	}
}

@media all and (max-width: 1100px) {
	#stateroom-selection .ratecodes .ratecode .row {
		row-gap: 1rem;
	}
	#stateroom-selection .ratecode .btn {
		width:100%;
	}
	#stateroom-selection > div:not(.staterooms) { display: grid; grid-template-columns: 1fr;}

	.deck-info {
		flex-direction: column;
	}

	#filter_cabin_deck_container {
		grid-template-columns: 1fr;
	}

	#booking-side,
	#cabins-description {
		max-width: 720px;
		margin-left: auto;
		margin-right: auto;
	}

	#cabins-description .item {
		flex-direction: column-reverse;
		gap: 0;
	}

	#cabins-description .item img {
		width: 100%;
		max-height: 190px;
	}

	#cabins-description .item .cabin-info {
		background-color: #fff;
		text-align: center;
		padding: 30px 50px;
	}

	#cabins-description .item .cabin-info h4 {
		font-size: 25pt;
		margin-bottom: 30px;
	}

	#cabins-table .row {
		/* flex-direction: column; */
		gap: 8px;
	}

	#cabins-table .row .stateroom-name {
		text-align: center;
	}

	#cabins-table .row .price-info {
		justify-content: center;
	}

	#cabins-table .row .price-info {
		display: none;
	}

	#cabins-table .row .mob-price-info {
		display: flex;
	}

	#cabins-table .row .stateroom-name {
		flex: .5;
		text-align: left;
		padding-left: 12px;
	}

	#cabins-table .row .deck-name,
	#cabins-table .row .action {
		flex: .5;
		padding: 0;
	}

	#cabins-table .row .deck-name span {
		width: 100%;
		min-height: 44px;
		align-items: center;
		display: flex;
		justify-content: center;
	}

	#booking-live-pricing h2 {
		font-size: 30px;
		margin-bottom: 20px;
	}

	#cabins-table .row {
		padding: 0 10px;
	}
}

#booking-live-pricing #cabins-table {
	display: none !important;
}

@media all and (max-width: 1100px) {
	#booking-live-pricing #cabins-table {
		display: flex !important;
		flex-direction: column;
	}

	#stateroom-selection {
		display: none;
	}

	#cabins-table .row {
		margin-left: 0;
		margin-right: 0;
	}

	.mobile-cabins  {
		flex-direction: column;
	}
}

/*####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #######



##       #### ##     ## ########     ######     ###    ########  #### ##    ##  ######
##        ##  ##     ## ##          ##    ##   ## ##   ##     ##  ##  ###   ## ##    ##
##        ##  ##     ## ##          ##        ##   ##  ##     ##  ##  ####  ## ##
##        ##  ##     ## ######      ##       ##     ## ########   ##  ## ## ##  ######
##        ##   ##   ##  ##          ##       ######### ##     ##  ##  ##  ####       ##
##        ##    ## ##   ##          ##    ## ##     ## ##     ##  ##  ##   ### ##    ##
######## ####    ###    ########     ######  ##     ## ########  #### ##    ##  ######



####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #######*/


#stateroom-selection .staterooms .locations { background: #fff; }

#cabins-table {  }

#cabins-table .row { background:#fff;border:2px solid #fff;margin-bottom:1px;display:flex;align-items:center; margin-bottom: 12px; }
#cabins-table .row.active { background-color: #0D0D0D; border-color: #0D0D0D; }

#cabins-table .row .select-cabin {  }
#cabins-table .row .selected-cabin { display:none;text-decoration:none; }

#cabins-table .row.active .select-cabin { display:none; }
#cabins-table .row.active .selected-cabin { display:block; }

#deck-plan-image img { width:100%;height:auto; }

/*####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #######



########     ###     ######   ######  ######## ##    ##  ######   ######## ########   ######
##     ##   ## ##   ##    ## ##    ## ##       ###   ## ##    ##  ##       ##     ## ##    ##
##     ##  ##   ##  ##       ##       ##       ####  ## ##        ##       ##     ## ##
########  ##     ##  ######   ######  ######   ## ## ## ##   #### ######   ########   ######
##        #########       ##       ## ##       ##  #### ##    ##  ##       ##   ##         ##
##        ##     ## ##    ## ##    ## ##       ##   ### ##    ##  ##       ##    ##  ##    ##
##        ##     ##  ######   ######  ######## ##    ##  ######   ######## ##     ##  ######



####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### */


#booking-passengers label {
	margin-bottom: 20px;
}

#booking-passengers .form-select,
#booking-passengers .form-control {
	border: none;
	border-radius: 0;
	min-height: 44px;
}



/*####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #######



########     ###    ##    ## ##     ## ######## ##    ## ########
##     ##   ## ##    ##  ##  ###   ### ##       ###   ##    ##
##     ##  ##   ##    ####   #### #### ##       ####  ##    ##
########  ##     ##    ##    ## ### ## ######   ## ## ##    ##
##        #########    ##    ##     ## ##       ##  ####    ##
##        ##     ##    ##    ##     ## ##       ##   ###    ##
##        ##     ##    ##    ##     ## ######## ##    ##    ##



####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #######*/



.payment-type { border:2px solid var(--grey);border-radius:var(--radius);background:#fff;cursor:pointer; }
	.payment-type .selected { display:none;font-weight:700;color:var(--secondary); }
	.payment-type .fa-circle-check { display:none; }

.payment-type.opacity-0 { cursor:unset; }

.payment-type:not(.active):hover .fa-circle { display:none; }
.payment-type:not(.active):hover .fa-regular.fa-circle-check { display:inline-block; }

.payment-type.active { border-color:var(--secondary); }
	.payment-type.active .deposit { display:none; }
	.payment-type.active .selected { display:block; }
	.payment-type.active .fa-circle { display:none; }
	.payment-type.active .fas.fa-circle-check { display:inline-block; }

.payment-iframe { height:1200px;width:100%; }

.payment-type.selected { background-color: #0D0D0D; border-color: #0D0D0D; color: #F1EFE9;}
.payment-type.selected .text-primary { color: #F1EFE9 !important; }



/*####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #######



 ######  #### ########  ######## ########     ###    ########
##    ##  ##  ##     ## ##       ##     ##   ## ##   ##     ##
##        ##  ##     ## ##       ##     ##  ##   ##  ##     ##
 ######   ##  ##     ## ######   ########  ##     ## ########
      ##  ##  ##     ## ##       ##     ## ######### ##   ##
##    ##  ##  ##     ## ##       ##     ## ##     ## ##    ##
 ######  #### ########  ######## ########  ##     ## ##     ##



####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #######*/



#booking-side {
	position: relative;
}

#booking-side h3 {
	position: absolute;
	color: var(--white);
	bottom: 20px;
    z-index: 2;
    left: 20px;
}

#booking-side:hover .dark-overlay {
	opacity: 0;
}

.offcanvas.offcanvas-end {
	top: 50%;
	right: 50%;
	left: 50%;
	max-height: 80vh;
	overflow: auto;
	min-width: 900px;
	min-height: 90vh;
	transform: inherit;
	display: none;
}

.offcanvas.offcanvas-end img {
	max-width: 300px;
	margin: auto;
}

.offcanvas.offcanvas-end.show {
	display: block;
}

/* .offcanvas.show:not(.hiding), .offcanvas.showing {
	display: block;
	transform: translateY(-50%) translateX(-50%);
} */

@media all and (max-width:1100px){
	.offcanvas.offcanvas-end {
		min-width: 90vw;
	}

	#stateroom-selection .row .lead-stateroom { display: none; }

	#cruise-itinerary .offcanvas .offcanvas-body {
		height: calc(100% - 46px);
		padding-top: 0;
		padding-bottom: 0;
	}

	#itinerary-table {
		margin-top: 0;
		height: auto;
	}

	#cruise-itinerary .offcanvas-backdrop {
		height: 120vh;
	}
}

@media all and (min-width:1100px){
	#show-itinerary-popup.offcanvas.offcanvas-end,
	#cruise-itinerary .offcanvas-backdrop {
		display: none;
	}
}

@media all and (max-width:992px){
	#cabin-selection {
		/* display: none; */
	}
}