.productModalWindow
{
	overflow: visible !important;
}

.modalWindow:has(#productImages)
{
    width: 98%;
    max-width: 800px;
    padding: 0em;
}

button:has(+ .productFeatures)
{
	right: 10px !important;
    top: 5px !important;
    border: none !important;
	padding: 0px 4px !important;
}

.productFeaturesModalWindow
{
	max-width: 800px;
	
	overflow: initial !important;
}

.productFeatures
{
	position: relative;
	
	display: flex;
    flex-direction: row;
	column-gap: 5px;
	justify-content: center;
}

.productFeaturesModalWindow .productFeatures
{
	flex-wrap: wrap;
}

.productFeatures .productFeaturesContainer
{	
	display: flex;
	justify-content: center;
	column-gap: 0.5em;
	flex-wrap: wrap;
}

.productFeatures .productFeaturesProductDetails h5
{
	position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    z-index: 3;
	
    font-size: 1.5em;
    font-weight: 900;
	text-shadow: 1px 1px 4px rgb(0 0 0 / 75%);
    text-transform: capitalize;
    color: white;
    margin: 0.25em 0em;
}

.productModalWindow .sliderLeftArrow,
.productModalWindow .sliderRightArrow
{
	top: 50% !important;
    transform: translateY(-50%);
}

.productModalWindow .imagesGalleryThumbnailsWindow .imagesGalleryThumbnailsSlider
{
	padding-bottom: 0em;
}

.productFeatures > h6
{
    font-size: 1em;
	font-weight: 700;
	text-transform: uppercase;
    color: #000;
    
    margin: 1em 0em 1em;
}

.productFeatures.houseFeatures > div
{
	row-gap: 1em;
}

.productFeatures .productFeaturesFeature
{
	display: flex;
	column-gap: 1em;
}

.productFeatures:not(.houseFeatures) .productFeaturesFeature
{
	flex-direction: column;
	
    align-items: center;
    justify-content: center;
	
	width: 4em;
}

.productFeatures.houseFeatures .productFeaturesFeature
{
	flex-direction: row;
	
    align-items: center;
    justify-content: left;
	
    width: 49%;
}

.modalWindow .productFeatures .productFeaturesFeature img
{
	height: 3em;
}

.productFeatures .productFeaturesFeature img
{
	height: 2em;
}

.productFeatures .productFeaturesFeature span
{
	flex: 1;
    
	display: flex;
    align-items: center;
    padding: 0.5em 0em 0em;
}

.productFeatures:not(.houseFeatures) .productFeaturesFeature span
{
    font-size: 0.75em;
	text-align: center;
	color: white;
}

.modalWindow  .productFeatures:not(.houseFeatures) .productFeaturesFeature span
{
	color: black;
}

.productFeatures.houseFeatures .productFeaturesFeature span
{
    font-size: 1em;
	text-align: center;
}



.viewMoreAndBookPriceContainer
{
	display: flex;
    flex-direction: column;
    row-gap: 1em;
	
	margin: 1em auto;
	max-width: 200px;
}

.viewMoreAndBookPriceContainer .shipBookViewMoreContainer
{
	
}

.viewMoreAndBookPriceContainer .shipBookViewMoreContainer .shipBookViewMore
{
	box-sizing: border-box;
	background: white;
    width: 100%;
	padding: 0.5em 0em;
	margin: 0em;
	border-radius: 11px;
	
	color: #1b3156;
}



.productModalWindow.productFeatures .shipBookPrice
{	
	display: flex;
	flex-direction: row;
    align-items: center;
	column-gap: 1em;
	
	margin: 0em auto;
	padding: 7px;
	width: fit-content;
    border-radius: 15px;
	background: #222831;
	
	color: white;	
}

.productModalWindow.productFeatures .viewMoreAndBookPriceContainer .shipBookPrice > span
{
    font-size: 0.75em;
}

.productModalWindow.productFeatures .viewMoreAndBookPriceContainer .shipBookPrice > a
{
	font-size: 0.75em;
	text-transform: uppercase;
	color: #152f5a;
	
	padding: 5px 16px;
	background: white;
    border-radius: 10px;
}

.productModalWindow.perkFeatures .perkFeaturesDescriptionContainer
{
	padding: 1em;
}

.productModalWindow.perkFeatures .perkFeaturesDescriptionContainer img
{
	float: left;
    max-width: 40%;
	margin-right: 1em;
}

.productModalWindow.perkFeatures .perkFeaturesDescriptionContainer h5
{
	margin: 0;
	
	font-size: 1em;
	font-weight: 900;
    text-transform: uppercase;
    text-align: left;
}

.productModalWindow.perkFeatures .perkFeaturesDescriptionContainer p
{
	text-align: left;
}

.productModalWindow.perkFeatures .perkButtonsContainer
{
	background: #1c3156;
    padding: 1em 0em;
	
	color: white;
}

.productModalWindow.perkFeatures .perkButtonsContainer .productPrice
{
	
}

.productModalWindow.perkFeatures .perkButtonsContainer .perkCartButtons
{
	column-gap: 2px;
	width: 100px;
    margin: 7px auto 0em;
    
	color: #1c3156;
}

.productModalWindow.perkFeatures .perkButtonsContainer .perkCartButtons > a
{
    background: white;
	color: #1c3156;
}

.productModalWindow.perkFeatures .perkButtonsContainer .perkCartButtons > span
{
    background: white;
}



#productExperience.productExperienceHouse, #productExperience.productExperiencePerk
{
	display: none;
}

.productEndDateContainer.productShip, .productEndDateContainer.productPerk
{
	display: none;
}

#productName
{
	font-size: 1.5em;
    
	margin: 0em;
    padding-bottom: 0.4em;
    border-bottom: 1px solid #939393;
}

.productFinalPriceLabel
{
	display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 0.25em;
}

.productFinalPriceLabel > .productSubsectionTitle
{
	margin: 1em 0em;
}

.modalWindow.fitContentModalWindow:has(.productBookingModalWindow)
{
	max-height: 90%;
    max-width: 90%;
	padding: 1em;
}

.userExperienceSelection h6
{
	font-size: 1em;
    font-weight: 500;
	
	margin: 1em 0em 0.4em;
}

.userExperienceSelection .productExperienceShip > select, 
.userExperienceSelection input, 
.userExperienceSelection .whenSelectedDateContainer
{
	padding: 0.618em;
    background-color: #f2f2f2;
    color: #43454b;
    border: 0;
    box-sizing: border-box;
    width: 100%;
	height: 3em;
	
	font-size: 1em;
    font-weight: 600;
  
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .125);
}

.userExperienceSelection .whenSelectedDateContainer
{
	display: flex;
    align-items: center;
}

.userExperienceSelection .whenSelectedDateContainer > span
{
	background: none;
}

.userExperienceSelection .whenSelectedDateContainer *
{
	font-size: 1em;
    font-weight: 500;
}

.userExperienceSelection .addToCartButton > a
{
	margin: 0em auto;
}

.productWhenContainer
{
	position: relative;
}

#ui-datepicker-div
{
    top: 3em !important;
    left: 0px !important;
	position: absolute !important;
}

.userExperienceSelection .whenSelectedDateContainer * 
{
    font-size: 1em !important;
    font-weight: 500;
}





@media (max-width: 1279px)
{
	.modalWindowBackground:has(.productModalWindow), .modalWindowBackground:has(.productFeaturesModalWindow )
	{
		padding-top: 5em;
	}
}

@media (min-width: 1000px)
{	
	.mainContainer .userExperienceSelection .productCustomColumn
	{
		display: block;
	}
}

@media (max-width: 999px)
{	
	.mainContainer #productBuyArea > #productFirstRow
	{
		flex-direction: column;
		row-gap: 0.5em;
	}
	
	.mainContainer #productBuyArea #productImages 
	{
		width: auto;
	}
	
	#productFeatures > div 
	{
		justify-content: center;
	}
	
	#productFeatures  .productFeaturesFeature
	{
		width: 2.5em;
	}

	#productFeatures  .productFeaturesFeature img
	{
		width: 2em;
	}

	#productFeatures  .productFeaturesFeature span
	{
		font-size: 0.6em;
	}

	.mainContainer #productBuyArea 
	{
		flex-direction: column;
	}
	
	.mainContainer #productFirstRow .productCustomColumn
	{
		display: block;
	}	
	
	.mainContainer .userExperienceSelection .productCustomColumn
	{
		display: none;
	}
	
	#productFirstRow h5, #productFirstRow h6
	{
		font-size: 1.25em;
		text-align: center;
	}
	
	.productDescription
	{
		text-align: center;
	}
	
	.userExperienceSelection .whenSelectedDateContainer
	{
		display: none;
	}
	
	.ui-datepicker-trigger
	{
		display: none;
	}
	
	.userExperienceSelection > *
	{
		flex: 1;
		width: auto;
	}
	
	.userExperienceSelection .startDateMobileInput
	{
		display: inline-block;
	}
}

@media (max-width: 800px)
{
	.perksPerkContainer h6
	{
		font-size: 0.9em !important;
	}
	
	#productFirstRow #productName
	{
		font-size: 1.5em;
	}
	
	.mainContainer #productOnboardServices > h5, .mainContainer #mobileProductOnboardServices > h5
	{
		font-size: 1.5em;
	}
	
	.mainContainer #productBuyArea > .userExperienceSelection
	{
		flex-direction: column;
	}
	
	.productModalWindow .sliderLeftArrow,
	.productModalWindow .sliderRightArrow
	{
		display: none !important;
	}	
	
	.productModalWindow .imagesGalleryThumbnailsWindow
	{
		overflow: hidden;
	}	
	
	.productModalWindow .imagesGalleryThumbnailsWindow .imagesGalleryThumbnailsSlider 
	{
		width: -webkit-fit-content !important;
		width: -moz-fit-content !important;
		width: fit-content !important;
	}
}

@media (max-width: 500px)
{	
	.productFeatures
	{
		column-gap: 0px;
	}
	
	.productFeatures > h6
	{
		font-size: 0.8em;
	}
	
	.modalWindow .productFeatures .productFeaturesFeature img
	{
		height: 2em;
	}
}

@media (max-height: 650px)
{
	.modalWindow:has(.productModalWindow.productFeatures)
	{
		max-height: 100%;
	}
	
	.userExperienceSelection .productExperienceShip > select, 
	.userExperienceSelection input,
	.userExperienceSelection .whenSelectedDateContainer
	{
		height: 2.2em;
	}
}