@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Domine:wght@400..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');


/*
// <weight>: Use a value from 400 to 900
// <uniquifier>: Use a unique and descriptive class name

.bodoni-moda-<uniquifier>
{
  font-family: "Bodoni Moda", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

// <weight>: Use a value from 400 to 700
// <uniquifier>: Use a unique and descriptive class name

.domine-<uniquifier> {
  font-family: "Domine", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
*/

*
{
	margin: 0;
	padding: 0;
	font-family: 'Open Sans', 'Roboto', Arial, sans-serif;
	font-size: 14px;
}

.popup-overlay
{
	background: rgba(0,0,0,.7);
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 550;
	display: flex;
	align-items: center;
	justify-content: center;
}
	.popup-loading
	{
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
		margin: auto;
		z-index: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 10px;	
	}
		.popup-loading-icon
		{
			background: url(../img/checking.gif) center no-repeat;
			width: 64px;
			height: 64px;
			background-size: contain;
		}
		.popup-loading-message
		{
			font-size: 20px;
			color: #fff;
		}
		
	.popup
	{
		max-width: 90vw;
		max-height: 90vh;
		margin: auto;
		z-index: 1;
	}
	.popup > iframe
	{
		width: 100%;
		height: 100%;
		border: 0;
		padding: 0;
	}
		.popup-container
		{
			display: flex;
			flex-direction: column;
		}
			.popup-titlebar
			{
				display: flex;
				align-items: center;
				background: #333;
				color: #fff;
				gap: 10px;
			}
				.popup-titlebar-title
				{
					padding: 5px;
					font-weight: bold;
					font-size: 13px;
					flex: 1;
				}
				.popup-titlebar-close
				{
					padding: 10px;
					text-align: center;
					font-weight: bold;
					background: #c00;
					margin-left: auto;
					cursor: pointer;
				}
			.popup-content
			{
				flex: 1;
				overflow-y: auto;
				max-height: calc(100vh - 70px);
				padding: 15px;
			}

.width30 {width: 30px !important;}
.width40 {width: 40px !important;}
.width50 {width: 50px !important;}
.width60 {width: 60px !important;}
.width70 {width: 70px !important;}
.width80 {width: 80px !important;}
.width90 {width: 90px !important;}
.width100 {width: 100px !important;}
.width120 {width: 120px !important;}
.width150 {width: 150px !important;}
.width160 {width: 160px !important;}
.width170 {width: 170px !important;}
.width180 {width: 180px !important;}
.width200 {width: 200px !important;}
.width210 {width: 210px !important;}
.width250 {width: 250px !important;}
.width275 {width: 275px !important;}
.width300 {width: 300px !important;}
.width320 {width: 320px !important;}
.width330 {width: 330px !important;}
.width340 {width: 340px !important;}
.width350 {width: 350px !important;}
.width400 {width: 400px !important;}
.width450 {width: 450px !important;}
.width500 {width: 500px !important;}
.width550 {width: 550px !important;}
.width600 {width: 600px !important;}
.width700 {width: 700px !important;}
.width800 {width: 800px !important;}
.width900 {width: 900px !important;}
.width950 {width: 950px !important;}
.width1000 {width: 1000px !important;}

.button
{
	display: flex;
	border-radius: 5px;
	padding: 10px 20px;
	color: #fff;
	background: #2282bd;
	border: 1px solid #2282bd;
	cursor: pointer;
	align-items: center;
	justify-content: center;
}
.button:hover
{
	background: #1890ce;
}
.button.disabled
{
	color: #777;
	background: #ccc;
	cursor: default;
	border-color: #ccc;
}

input,
select,
textarea
{
  padding: 10px 12px;
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 6px;
  background-color: #fff;
  font-family: inherit;
	resize: none;
}
input[type="checkbox"]
{
	width: 18px;
	height: 18px;
}
input:disabled
{
	background: #ddd;
}

.content
{
}

.container
{
	background: url(../img/bg.jpg) center no-repeat;
	background-size: cover;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-height: calc(100vh - 40px);
	padding: 20px;
	gap: 20px;
}
	.header
	{
		position: relative;
		width: 100%;
		text-align: center;
	}
		.header-logo
		{
			width: 150px;
			height: 150px;
			background: url(../img/logo.png) center no-repeat;
			background-size: contain;
			margin: auto;
		}
		.header-nav
		{
			position: absolute;
			top: 0;
			right: 0;
			background: #fff;
			padding: 20px;
			display: flex;
			gap: 20px;
		}
			.header-nav a
			{
				color: #039;
				text-decoration: underline;
			}

/* Visually mark the blocked window */
.flatpickr-day.flatpickr-blocked
{
	cursor: default;
	color: rgba(57,57,57,0.3);
	background: transparent;
	border-color: transparent;
	pointer-events: none;
}

.flatpickr-day.flatpickr-blocked.inRange
{
	background: #e6e6e6;
	border-color: #e6e6e6;
	color: rgba(57,57,57,0.3);
}

.booking-content
{
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 40px;
	width: 100%;
	align-items: center;
	justify-content: center;
}

	.booking-content .flatpickr-calendar
	{
		margin-top: 10px;
	}
	.booking-content .flatpickr-calendar::before,
	.booking-content .flatpickr-calendar::after {
		display: none;
	}
		.booking-title
		{
			font-family: 'Domine', serif;
			font-optical-sizing: auto;
			font-weight: 500;
			font-style: normal;
			font-size: 80px;
			color: #fff;
		}
		
		.booking-error
		{
			text-align: center;
			padding: 20px;
			background: #faffbd;
			border-radius: 10px;
			font-size: 18px;
			overflow: hidden;
		}
		
		.booking-datespax
		{
			background: #fff;
			display: flex;
			align-items: center;
			width: 960px;
			border-radius: 10px;
		}
			.booking-datespax-checkbox-container
			{
				display: flex;
				align-items: center;
			}
			.booking-datespax-checkbox
			{
				border-left: 1px solid #999;
				align-self: stretch;
				display: flex;
				align-items: center;
				padding-left: 20px;
			}
			.booking-datespax-label
			{
				padding: 20px;
				color: #666;
				flex: 1;
				cursor: pointer;
				border-left: 1px solid #999;
				font-size: 16px;
			}
			.booking-datespax-label:hover:not(.booking-datespax-checkbox + .booking-datespax-label)
			{
				background: #efefef;
			}
			.booking-datespax-label:nth-of-type(1)
			{
				border-left: 0;
				border-radius: 10px 0 0 10px;
			}
			.booking-datespax-label.chooseguests
			{
				position: relative;
			}
			.booking-datespax-checkbox + .booking-datespax-label
			{
				border: 0;
				flex: 0;
				white-space: nowrap;
				cursor: default;
			}
				.booking-datespax-guests
				{
					display: flex;
					flex-direction: column;
					position: absolute;
					top: calc(100% + 10px);
					left: 0;
					width: calc(100% - 22px);
					flex-direction: column;
					gap: 15px;
					background: #fff;
					border-radius: 5px;
					padding: 10px;
					border: 1px solid #eee;
					box-shadow: 3px 3px 2px rgba(0,0,0,.1);	
					opacity: 0;
					visibility: hidden;
					pointer-events: none;
					transform: translate3d(0, -20px, 0);
					transition: opacity 300ms cubic-bezier(.23, 1, .32, 1), transform 300ms cubic-bezier(.23, 1, .32, 1);
				}
				.booking-datespax-guests.open
				{
					opacity: 1;
					visibility: visible;
					pointer-events: auto;
					transform: translate3d(0, 0, 0);
				}
					.booking-datespax-guests-row
					{
						display: flex;
						align-items: center;
						gap: 10px;
					}
						.booking-datespax-guests-label
						{
							display: flex;
							flex-direction: column;
							gap: 5px;
						}
							.booking-datespax-guests-label-main
							{
								font-size: 16px;
							}
							.booking-datespax-guests-label-sub
							{
								color: #999;
								font-size: 12px;
							}
						.booking-datespax-guests-selector
						{
							display: flex;
							align-items: center;
							margin-left: auto;
							gap: 10px;
						}
							.booking-datespax-guests-selector-minus,
							.booking-datespax-guests-selector-plus
							{
								width: 20px;
								height: 20px;
								border: 2px solid #888;
								color: #888;
								display: flex;
								align-items: center;
								justify-content: center;
								cursor: pointer;
								border-radius: 20px;
								font-size: 24px;
								user-select: none;
							}
							.booking-datespax-guests-selector-input
							{
							}
								.booking-datespax-guests-selector-input input
								{
									text-align: center;
									font-size: 20px;
									width: 75px;
									border: 0;
									cursor: default;
								}
						
			.booking-datespax-search
			{
				margin: 10px;
				background: #f93;
				border-color: #f93;
				color: #222;
				font-weight: bold;
			}
			.booking-datespax-search:hover
			{
				background: #fea64e;
			}
		
		.booking-apartmentsguests
		{
			display: flex;
			flex-direction: column-reverse;
			gap: 10px;
			max-width: 1275px;
		}
		
		.booking-returningguests-container
		{
			justify-content: flex-end;
			opacity: 0;
			visibility: hidden;
			transition: opacity 300ms cubic-bezier(.23, 1, .32, 1), transform 300ms cubic-bezier(.23, 1, .32, 1);
			display: flex;
			width: 960px;
			z-index: 0;
		}
		.booking-apartments.open ~ .booking-returningguests-container
		{
			opacity: 1;
			visibility: visible;
			pointer-events: auto;
	    transform: translate3d(0, 0, 0);
		}
			.booking-returningguests
			{
				background: #fff;
				border-radius: 5px;
				padding: 10px;
				font-size: 12px;
			}
				.booking-returningguests a
				{
					font-size: 12px;
					color: #039;
				}
		
		.booking-apartments
		{
			opacity: 0;
			visibility: hidden;
			pointer-events: none;
			transform: translate3d(0, -20px, 0);
			transition: opacity 300ms cubic-bezier(.23, 1, .32, 1), transform 300ms cubic-bezier(.23, 1, .32, 1);
			display: flex;
			gap: 20px;
			justify-content: center;
			z-index: 50;
			flex-wrap: wrap;
		}
		.booking-apartments.open
		{
			opacity: 1;
			visibility: visible;
			pointer-events: auto;
			transform: translate3d(0, 0, 0);
		}
			.booking-apartments-noresults
			{
				background: #fff;
				border-radius: 5px;
				padding: 10px;
				border: 1px solid #eee;
				box-shadow: 3px 3px 2px rgba(0,0,0,.1);
				text-align: center;
				font-family: 'Domine', serif;
				font-optical-sizing: auto;
				font-weight: 500;
				font-style: normal;
				font-size: 32px;
				color: #666;
				flex: 1;
			}
			
			.booking-apartments-apartment
			{
				background: #fff;
				border-radius: 5px;
				padding: 10px;
				border: 1px solid #eee;
				box-shadow: 3px 3px 2px rgba(0,0,0,.1);
				padding: 20px;
				flex: 1;
				display: flex;
				flex-direction: column;
				gap: 20px;
				cursor: pointer;
				transition: all .2s ease-in-out;
				max-width: 300px;
				min-width: 300px;
			}
			.booking-apartments-apartment:hover
			{
				transform: scale(1.05,1.05);
			}
			.booking-apartments-apartment.selected
			{
				transform: scale(1.05,1.05);
				border-color: #06c;
				border-width: 2px;
			}
				.booking-apartments-apartment.selected .booking-apartments-apartment-select
				{
					display: none;
				}
			.booking-apartments-apartment.notselected
			{
			}
				.booking-apartments-apartment.notselected .booking-apartments-apartment-title
				{
					color: #888;
				}
				.booking-apartments-apartment.notselected .booking-apartments-apartment-price
				{
					color: #888;
				}
				.booking-apartments-apartment.notselected .booking-apartments-apartment-select
				{
					background: #888;
					border-color: #888;
				}
			
				.booking-apartments-apartment-title
				{
					font-family: 'Domine', serif;
					font-weight: 600;
					color: #06c;
					font-size: 16px;
				}
				.booking-apartments-apartment-photo
				{
					height: 150px;
					background-color: #ddd;
					background-size: cover;
					background-position: center;
					background-repeat: no-repeat;
				}
				.booking-apartments-apartment-photo[data-apartmenttype="1-1"]
				{
					background-image: url(../img/1bed1bath.jpg);
				}
				.booking-apartments-apartment-photo[data-apartmenttype="2-1"]
				{
					background-image: url(../img/2bed1bath.jpg);
				}
				.booking-apartments-apartment-photo[data-apartmenttype="2-2"]
				{
					background-image: url(../img/2bed2bath.jpg);
				}
				.booking-apartments-apartment-photo[data-apartmenttype="3-2"]
				{
					background-image: url(../img/3bed.jpg);
				}
				
				.booking-apartments-apartment-description
				{
					color: #666;
				}
				
				.booking-apartments-apartment-price
				{
					font-family: 'Domine', serif;
					font-weight: 700;
					color: #06c;
					font-size: 20px;
					text-align: center;
					margin-top: auto;
				}
		
		.booking-guestdetails
		{
			background: #fff;
			border-radius: 5px;
			border: 1px solid #eee;
			box-shadow: 3px 3px 2px rgba(0,0,0,.1);
			padding: 20px;
			width: calc(960px - 62px);
			display: flex;
			flex-direction: column;
			gap: 40px;
			
			opacity: 0;
			visibility: hidden;
			pointer-events: none;
			transform: translate3d(0, -20px, 0);
			transition: opacity 300ms cubic-bezier(.23, 1, .32, 1), transform 300ms cubic-bezier(.23, 1, .32, 1);
		}
		.booking-guestdetails.open
		{
			opacity: 1;
			visibility: visible;
			pointer-events: auto;
			transform: translate3d(0, 0, 0);
		}
			.booking-guestdetails-title
			{
				font-family: 'Domine', serif;
				font-weight: 500;
				color: #06c;
				font-size: 28px;
				text-align: center;
			}
			.booking-guestdetails-form
			{
				display: flex;
				flex-direction: column;
				gap: 15px;
				margin: 0 auto;
			}
				.booking-guestdetails-row
				{
					display: flex;
					flex-direction: row;
					gap: 20px;
					align-items: center;
				}
					.booking-guestdetails-label
					{
						text-align: right;
						width: 120px;
					}
					.booking-guestdetails-input
					{
					}
			.booking-guestdetails-payment
			{
				margin: 0 auto;
			}

.title
{
	font-family: 'Domine', serif;
	font-weight: 500;
	color: #06c;
	font-size: 28px;
	text-align: center;
}

.textblock
{
	
}
	.textblock img
	{
		float: right;
		margin: 0 0 15px 25px;
		border-radius: 5px;
		max-width: 350px;
	}
	.textblock ol,
	.textblock ul
	{
		margin: 0 20px;
	}
		.textblock li
		{
			margin: 15px 10px;
		}
		.textblock > ol > li:first-child,
		.textblock > ul > li:first-child
		{
			margin-top: 0;
		}

.checkout-content,
.general-content
{
	background: #fff;
	border-radius: 5px;
	border: 1px solid #eee;
	box-shadow: 3px 3px 2px rgba(0,0,0,.1);
	padding: 20px;
	width: calc(660px - 62px);
	display: flex;
	flex-direction: column;
	gap: 40px;
}
.general-content
{
	max-width: calc(1200px - 62px);
	width: 100%;
}
	.checkout-error
	{
		border-radius: 5px;
		border: 1px solid #eee;
		padding: 20px;
		background: #faffbd;
		text-align: center;
	}
	.checkout-booking
	{
		border-radius: 5px;
		border: 1px solid #eee;
		padding: 20px;
		background: #fafafa;
		display: flex;
		flex-direction: column;
		gap: 10px;
	}
		.checkout-booking-type
		{
			font-weight: bold;
		}
		.checkout-booking-dates
		{
		}
		.checkout-booking-price
		{
			color: #06c;
		}
	
	.checkout-paymenthistory
	{
		border-radius: 5px;
		border: 1px solid #eee;
		padding: 20px;
		background: #fafafa;
		display: flex;
		flex-direction: column;
		gap: 10px;
	}	
		.checkout-paymenthistory-title
		{
			font-weight: bold;
		}
		.checkout-paymenthistory-row
		{
			display: flex;
			gap: 20px;
			padding-bottom: 10px;
			border-bottom: 1px solid #ccc;
		}
			.checkout-paymenthistory-date
			{
				width: 120px;
			}
			.checkout-paymenthistory-amount
			{
				margin-left: auto;
			}
		.checkout-paymenthistory-balance
		{
			display: flex;
			gap: 20px;
			justify-content: flex-end;
			font-weight: bold;
		}
	
	.checkout-payment
	{
		display: flex;
		flex-direction: column;
		gap: 20px;
	}
		.checkout-payment-title
		{
			font-weight: bold;
		}
		.checkout-payment-title:not(:first-child)
		{
			margin-top: 20px;
		}
		.checkout-payment-options
		{
			display: flex;
			flex-direction: column;
			gap: 10px;
			margin: 0 20px;
		}
			.checkout-payment-options-row
			{
				display: flex;
				gap: 5px;
				align-items: center;
			}
				.checkout-payment-options-row input
				{
					width: 18px;
					height: 18px;
				}
		.checkout-payment-secure
		{
			display: flex;
			align-items: center;
			gap: 8px;
			justify-content: center;
		}
			.checkout-payment-secure-icon
			{
				width: 18px;
				height: 18px;
				background: url(../img/padlock.png) center no-repeat;
				background-size: contain;
				opacity: 0.45;
				flex-shrink: 0;
			}
			.checkout-payment-secure-text
			{
				font-size: 11px;
				color: #999;
			}
			.checkout-payment-secure-cards
			{
				display: flex;
				gap: 5px;
				margin-left: auto;
				align-items: center;
			}
				.checkout-payment-secure-cards img
				{
					height: 22px;
					width: auto;
					border-radius: 3px;
					border: 1px solid #e0e0e0;
				}
	
	.checkout-paynow
	{
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	
	.checkout-policies
	{
		display: flex;
		flex-direction: column;
		gap: 10px;
		padding-top: 10px;
		border-top: 1px solid #ccc;
	}
		.checkout-policies-title
		{
			font-size: 12px;
			font-weight: bold;
			color: #666;
		}
		.checkout-policies-text
		{
			font-size: 11px;
		}
			.checkout-policies-text ul,
			.checkout-policies-text li
			{
				font-size: 11px;
				margin-left: 10px;
			}
			.checkout-policies-text ul li
			{
				margin-top: 5px;
			}
			.checkout-policies-text > ul > li:first-child
			{
				margin-top: 0;
			}

/* STRIPE */
#payment-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

#card-element {
    padding: 10px 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    background-color: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
}

#card-element.StripeElement--focus {
    border-color: #2282bd;
    box-shadow: 0 0 0 3px rgba(34, 130, 189, 0.15);
    outline: none;
}

#card-element.StripeElement--invalid {
    border-color: #e25950;
}

#card-errors {
    color: #e25950;
    font-size: 13px;
    min-height: 18px; /* prevents layout jump */
}

#submit {
    display: flex;
    border-radius: 5px;
    padding: 10px 20px;
    color: #fff;
    background: #2282bd;
    border: 1px solid #2282bd;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    width: 100%;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
}
#submit:hover:not(:disabled) {
    background: #1890ce;
}
#submit:disabled {
    background: #ccc;
    border-color: #ccc;
    cursor: default;
}

/* mobile */
@media screen and (max-width: 1000px)
{
	.container
	{
		overflow-x: hidden;
	}
	
	.header-logo
	{
		width: 120px;
		height: 120px;
	}
	
	.header-nav
	{
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #fff;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		overflow-y: auto;
		z-index: 9998;
		box-sizing: border-box;
		gap: 0;
	}
	.header-nav.open
	{
		display: flex;
	}
	.header-nav a
	{
		width: 100%;
		text-align: center;
		padding: 25px;
		border-bottom: 1px solid #eee;
		font-size: 20px;
		box-sizing: border-box;
		color: #333;
		text-decoration: none;
	}
	.header-hamburger
	{
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		width: 30px;
		height: 22px;
		cursor: pointer;
		z-index: 500;
		position: fixed;
		top: 18px;
		right: 20px;
		box-sizing: border-box;
	}
	.header-hamburger span
	{
		display: block;
		height: 3px;
		background: #fff;
		border-radius: 3px;
		transition: all 0.3s;
	}
	.header-hamburger.open span:nth-child(1)
	{
		transform: translateY(9.5px) rotate(45deg);
		background: #333;
	}
	.header-hamburger.open span:nth-child(2)
	{
		opacity: 0;
	}
	.header-hamburger.open span:nth-child(3)
	{
		transform: translateY(-9.5px) rotate(-45deg);
		background: #333;
	}
	
	.booking-content
	{
		justify-content: flex-start;
	}
	
	.booking-title
	{
		font-size: 48px;
		text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
		text-align: center;
	}
	
	.booking-datespax
	{
		flex-direction: column;
		width: 100%;
	}
	.booking-datespax-label
	{
		border-bottom: 1px solid #ccc;
		width: 100%;
    box-sizing: border-box;
		text-align: center;
		border-left: 0;
	}
	.booking-datespax-label:nth-of-type(1)
	{
		border-radius: 10px 10px 0 0;
	}
	.booking-datespax-checkbox
	{
		border-left: 0;
	}
	.booking-returningguests-container
	{
		width: 100%;
		box-sizing: border-box;
	}
	
	.booking-guestdetails
	{
		width: 100%;
		box-sizing: border-box;
	}
	
	.booking-datespax-guests-label
	{
		text-align: right;
		margin-left: auto;
	}
	
	.booking-datespax-guests-selector
	{
		margin-left: 40px;
	}	
	
	.flatpickr-calendar
	{
		width: 100% !important;
		box-sizing: border-box !important;
		position: fixed !important;
		top: 50% !important;
		left: 50% !important;
		transform: translateX(-50%) translateY(-50%) !important;
		max-height: 90vh;
		overflow-y: auto;
		z-index: 9999;
	}

	.flatpickr-innerContainer
	{
		flex-direction: column !important;
	}

	.flatpickr-months
	{
		flex-wrap: wrap !important;
	}
	
	.flatpickr-current-month
	{
		position: static !important;
	}
	
	.flatpickr-months .flatpickr-month
	{
		flex: 0 0 100% !important;
	}

	.flatpickr-weekdays
	{
		flex-wrap: wrap !important;
	}

	.flatpickr-weekdaycontainer
	{
		flex: 0 0 100% !important;
		width: 100% !important;
	}

	.flatpickr-weekdaycontainer + .flatpickr-weekdaycontainer
	{
		display: none !important;
	}

	.flatpickr-days
	{
		width: 100% !important;
		max-width: 100% !important;
		flex-wrap: wrap !important;
	}

	.dayContainer
	{
		width: 100% !important;
		max-width: 100% !important;
		min-width: 100% !important;
	}

	.flatpickr-day
	{
		max-width: none !important;
		flex-basis: 14.2857% !important;
		height: 50px !important;
		line-height: 50px !important;
	}
	
	.flatpickr-months .flatpickr-month ~ .flatpickr-month
	{
		display: none !important;
	}
	
	.booking-apartments
	{
		flex-direction: column;
	}
	.booking-apartments-apartment
	{
		max-width: 100%;
	}
	
	.booking-returningguests
	{
		width: 100%;
		box-sizing: border-box;
		text-align: center;
	}
	
	.checkout-content
	{
		width: 100%;
		box-sizing: border-box;
	}
	
	.general-content
	{
		width: 100%;
		box-sizing: border-box;
	}
		.general-content img
		{
			float: none;
			width: 100%;
			box-sizing: border-box;
			display: block;
			margin: 20px 0;
			max-width: 100%;
		}
		
	.choosedates
	{
		-webkit-tap-highlight-color: transparent;
	}
	
	.booking-guestdetails-row
	{
		flex-direction: column;
		gap: 10px;
	}
		.booking-guestdetails-label
		{
			width: 100%;
			text-align: left;
			box-sizing: border-box;
		}
	
	.booking-apartments:not(.open),
	.booking-guestdetails:not(.open),
	.booking-returningguests-container:not(.open)
	{
			display: none;
	}
}