@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Londrina+Outline&display=swap');

@font-face
{
	font-family: 'Dream';
  src: url('../fonts/dream_orphans-webfont.eot');
  src: url('../fonts/dream_orphans-webfont.eot?#iefix') format('embedded-opentype'),
       url('../fonts/dream_orphans-webfont.woff2') format('woff2'),
       url('../fonts/dream_orphans-webfont.woff') format('woff'),
       url('../fonts/dream_orphans-webfont.ttf') format('truetype'),
       url('../fonts/dream_orphans-webfont.svg#dream_orphansregular') format('svg');
  font-weight: normal;
  font-style: normal;
}

@keyframes pulse
{
	from {background-color: #fcfbe9; color: #000;}
	to {background-color: #f63; color: #fff;}
}

.inputvalid
{
	background: #c6ffaf !important;
}
.inputinvalid
{
	background: #901010 !important;
	color: #fff !important;
}

[type="text"]:disabled
{
	background: #aaa;
}

@charset "utf-8";
/* CSS Document */

.cookiebanner-overlay
{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	z-index: 2000;
}
	.cookiebanner
	{
		display: flex;
		width: 100%;
		background: #fff;
		margin-top: auto;
		padding: 20px;
		gap: 20px;
		justify-content: center;
		align-items: center;
		box-shadow: 0 -5px 8px rgba(0,0,0,.3);
	}
		.cookiebanner-buttons
		{
			display: flex;
			gap: 20px;
		}
			.cookiebanner-button
			{
				padding: 10px 20px;
				cursor: pointer;
				border-radius: 5px;
			}
			.cookiebanner-button.acceptall
			{
				background: #093;
				color: #fff;
				font-weight: bold;
			}
			.cookiebanner-button.functionalonly
			{
				background: #06f;
				color: #fff;
			}
			.cookiebanner-button.rejectall
			{
				background: #aaa;
				color: #444;
			}

.clear {clear: both;}

.icon-en {background-image: url(../img/lang_en.png);}
.icon-es {background-image: url(../img/lang_es.png);}
.icon-fr {background-image: url(../img/lang_fr.png);}
.icon-it {background-image: url(../img/lang_it.png);}
.icon-se {background-image: url(../img/lang_se.png);}
.icon-be {background-image: url(../img/lang_be.png);}
.icon-nl {background-image: url(../img/lang_nl.png);}
.icon-de {background-image: url(../img/lang_de.png);}

.icon-wifi {background-image: url(../img/icon-wifi.png);}
.icon-heatedpool {background-image: url(../img/icon-heatedpool.png);}
.icon-jacuzzi {background-image: url(../img/icon-jacuzzi.png);}
.icon-luggage {background-image: url(../img/icon-luggage.png);}
.icon-shower {background-image: url(../img/icon-shower.png);}
.icon-parking {background-image: url(../img/icon-parking.png);}
.icon-excursions {background-image: url(../img/icon-excursions.png);}
.icon-laundry {background-image: url(../img/icon-laundry.png);}

.icon-mountainorseaview {background-image: url(../img/apartmentfeatures/mountainseaview.png);}
.icon-poolsideview {background-image: url(../img/apartmentfeatures/poolsideview.png);}
.icon-airconditioning {background-image: url(../img/apartmentfeatures/airconditioning.png);}
.icon-privatebathroom {background-image: url(../img/apartmentfeatures/privatebathroom.png);}
.icon-freewifi {background-image: url(../img/apartmentfeatures/wifi.png);}
.icon-tv32 {background-image: url(../img/apartmentfeatures/tv32.png);}
.icon-tv55 {background-image: url(../img/apartmentfeatures/tv55.png);}
.icon-freetowelchanges {background-image: url(../img/apartmentfeatures/freetowelchanges.png);}
.icon-fullkitchen {background-image: url(../img/apartmentfeatures/fullkitchen.png);}
.icon-privateterrace {background-image: url(../img/apartmentfeatures/privateterrace.png);}

.feature-kitchen {background-image: url(../img/features/kitchen.png);}
.feature-lounger {background-image: url(../img/features/lounger.png);}
.feature-terrace {background-image: url(../img/features/terrace.png);}
.feature-wifi {background-image: url(../img/features/wifi.png);}
.feature-airco{background-image: url(../img/features/airco.png);}
.feature-washingmachine {background-image: url(../img/features/washingmachine.png);}
.feature-tv {background-image: url(../img/features/tv.png);}
.feature-balinesebed {background-image: url(../img/features/balinesebed.png);}

.icon-safe {background-image: url(../img/apartmentfeatures/safe.png);}
.icon-ac {background-image: url(../img/apartmentfeatures/airco.png);}
.icon-fan {background-image: url(../img/apartmentfeatures/fan.png);}
.icon-extratowelchange {background-image: url(../img/apartmentfeatures/towels.png);}
.icon-latecheckout {background-image: url(../img/apartmentfeatures/checkout.png);}
.icon-cleaning {background-image: url(../img/apartmentfeatures/cleaning.png);}

.icon-lifts {background-image: url(../img/apartmentfeatures/lifts.png);}
.icon-sunbeds {background-image: url(../img/apartmentfeatures/sunbeds.png);}
.icon-watermachine {background-image: url(../img/apartmentfeatures/watermachine.png);}
.icon-swimmingpool {background-image: url(../img/apartmentfeatures/swimmingpool.png);}
.icon-sunshades {background-image: url(../img/apartmentfeatures/sunshades.png);}
.icon-freeparking {background-image: url(../img/apartmentfeatures/freeparking.png);}
.icon-chargingpoint {background-image: url(../img/apartmentfeatures/chargingpoint.png);}
.icon-balinesebed {background-image: url(../img/apartmentfeatures/balinesebed.png);}

.icon-tick {background-image: url(../img/tick.png);}

.icon-bookingdotcom {background-image: url(../img/icon-bookingdotcom.png);}
.icon-tripadvisor {background-image: url(../img/icon-tripadvisor.png);}
.icon-google {background-image: url(../img/icon-google.png);}

.icon-map {background-image: url(../img/icon-map.png);}
.icon-phone {background-image: url(../img/icon-phone.png);}
.icon-email {background-image: url(../img/icon-email.png);}
.icon-map-blue {background-image: url(../img/icon-map-blue.png);}
.icon-phone-blue {background-image: url(../img/icon-phone-blue.png);}
.icon-email-blue {background-image: url(../img/icon-email-blue.png);}

.icon-facebook {background-image: url(../img/icon-facebook.png);}
.icon-instagram {background-image: url(../img/icon-instagram.png);}
.icon-x {background-image: url(../img/icon-x.png);}
.icon-youtube {background-image: url(../img/icon-youtube.png);}
.icon-tiktok {background-image: url(../img/icon-tiktok.png);}

.italic {font-style: italic;}
.center {text-align: center;}
.bold {font-weight: bold;}

.showpassword
{
	width: 32px;
	position: absolute;
	right: 10px;
	top: 0;
	background: url(../img/viewpassword.png) center no-repeat;
	background-size: contain;
	cursor: pointer;
	height: 100%;
}

body
{
	font-size: 14px;
	font-family: 'Roboto', Arial, Helvetica, sans-serif;
	margin: 0;
	padding: 0;
}

.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;
			}

.notification-overlay,
.confirmation-overlay,
.option-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;
}
	.notification,
	.confirmation,
	.option
	{
		overflow: hidden;
		margin: 20px;
		padding: 20px;
		background: #fff;
    border-radius: 5px;
    box-shadow: 0px 3px 3px rgba(0,0,0,.5);
		display: flex;
		flex-direction: column;
	}
		.notification-iconmessage,
		.confirmation-iconmessage,
		.option-iconmessage
		{
			display: flex;
			padding: 20px 20px 40px 20px;
			align-items: center;
		}
			.notification-icon,
			.confirmation-icon,
			.option-icon
			{
				width: 64px;
				height: 64px;
				background-position: center;
				background-repeat: no-repeat;
				background-size: contain;
			}
			.notification-icon
			{
				background-image: url(../img/notification.png);
			}
			.confirmation-icon,
			.option-icon
			{
				background-image: url(../img/confirmation.png);
			}
			.notification-message,
			.confirmation-message,
			.option-message
			{
				display: inline-block;
				vertical-align: middle;
				width: calc(100% - 90px);
				margin: 0 0 0 20px;
				font-size: 13px;
				font-weight: bold;
				color: #6b7084;
				text-align: left;
				color: #000;
			}
		.confirmation-buttons,
		.option-options
		{
			display: flex;
			align-items: center;
			gap: 20px;
		}
		.notification-ok,
		.confirmation-confirm,
		.option-option
		{
			background: #3372c1;
			color: #fff;
			padding: 12px 40px;
			border-radius: 5px;
			font-size: 13px;
			text-align: center;
			cursor: pointer;
			margin: 0 auto;
			font-weight: bold;
		}
		.option-option + .option-option
		{
			background: #d7ad2b;
			border-color: #c19b29;
		}
		.confirmation-cancel
		{
			background: #f9a2a2;
			color: #333;
			padding: 12px 20px;
			border-radius: 5px;
			font-size: 13px;
			text-align: center;
			cursor: pointer;
		}
		.option-cancel
		{
			position: absolute;
			bottom: 10px;
			left: 0;
			right: 0;
			margin: auto;
			width: 100px;
			text-align: center;
			display: inline;
			color: #999;
			cursor: pointer;
			font-size: 12px;
		}
		.option-cancel:hover
		{
			text-decoration: underline;
		}

.popup-basket
{
	position: fixed;
	top: 90px;
	width: 500px;
	right: 35px;
	display: none;
	flex-direction: column;
	background: #f0f0f0;
	z-index: 500;
	box-shadow: 0 7px 7px rgba(0,0,0,.4);
	border-radius: 5px;
}
.popup-basket:after
{
	content: '';
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 0 11px 19.1px 11px;
	border-color: transparent transparent #f0f0f0 transparent;
	transform: rotate(0deg);
	position: absolute;
	top: -19px;
	right: 15px;
}
	.popup-basket-bookings
	{
		transition: all .4s ease-in-out;
		overflow: auto;
		overflow-x: hidden;
		max-height: calc(100vh - 200px);
	}
		.popup-basket-booking
		{
			display: flex;
			padding: 6px 10px 6px 12px;
			font-size: 14px;
			align-items: center;
		}
			.popup-basket-booking-remove
			{
				width: 16px;
				height: 16px;
				background: url(../img/delete.png) center no-repeat;
				background-size: contain;
				cursor: pointer;
			}
			.popup-basket-booking-titledates
			{
				display: flex;
				flex-direction: column;
				margin-left: 10px;
			}
				.popup-basket-booking-title
				{
					color: #039;
				}
			.popup-basket-booking-price
			{
				margin-left: auto;
				text-align: right;
				font-size: 14px;
			}
		.popup-basket-viewdetails-text
		{
			margin: 0 10px 0 0;
			font-size: 14px;
			font-weight: bold;
			color: #666;
		}
		.popup-basket-viewdetails-arrow
		{
			width: 26px;
			height: 14px;
			background: url(../img/viewdetails.png) center no-repeat;
			background-size: contain;
			cursor: pointer;
			margin: 0 0 0 5px;
			transition: all .4s ease-in-out;
		}
	.popup-basket-total
	{
		display: flex;
		margin: 0 10px;
		padding: 10px 0 0 0;
		border-top: 1px solid #ccc;
		font-weight: bold;
		align-items: center;
	}
		.popup-basket-total-rooms
		{
		}
		.popup-basket-total-text
		{
			margin-left: 5px;
		}
		.popup-basket-total-total
		{
			margin-left: auto;
		}
	.popup-basket-checkout
	{
		margin: 10px 10px 10px auto;
		background: #2bb2ae;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    border-radius: 5px;
    padding: 6px 10px;
    text-align: center;
		cursor: pointer;
	}
.popup-availability-overlay
{
	position: fixed;
	z-index: 600;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.6);
	flex-direction: column;
	align-items: center;
	justify-content: center;
	display: none;
}
	.popup-availability
	{
		background: #fff;
		border: 1px solid #333;
		padding: 5px;
		max-height: calc(95vh - 10px);
		max-width: calc(95vw - 10px);
		margin: auto;
		position: relative;
	}
		.popup-availability-close
		{
			width: 24px;
			height: 24px;
			position: absolute;
			top: 5px;
			right: 5px;
			cursor: pointer;
			background: url(../img/close.png) center no-repeat;
			background-size: contain;
		}
		.popup-availability-apartmenttypes
		{
			display: flex;
			flex-direction: column;
			padding: 20px 0;
		}
			.popup-availability-apartmenttype
			{
				padding: 5px;
				display: flex;
				gap: 10px;
				align-items: center;
				flex-shrink: 0;
				cursor: pointer;
			}
				.popup-availability-apartmenttype-image
				{
					border-radius: 18px;
					flex: 1;
					align-self: stretch;
					background-position: center;
					background-repeat: no-repeat;
					background-size: cover;
					min-height: 70px;
					min-width: 100px;
					max-height: 70px;
					max-width: 100px;
				}
				.popup-availability-apartmenttype-text
				{
					color: #1b8f8c;
					font-weight: bold;
				}
				.popup-availability-apartmenttype-arrow
				{
					font-size: 60px;
					line-height: 0;
					transform: scale(0.4,1);
					margin-left: auto;
				}
		

.popup-apartmentinfo-overlay
{
	position: fixed;
	z-index: 600;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.6);
	flex-direction: column;
	align-items: center;
	justify-content: center;
	display: none;
}
	.popup-apartmentinfo
	{
		background: #fff;
		border: 1px solid #333;
		padding: 40px;
		max-height: calc(95vh - 80px);
		max-width: calc(95vw - 80px);
		margin: auto;
		position: relative;
	}
		.popup-apartmentinfo-close
		{
			width: 24px;
			height: 24px;
			position: absolute;
			top: 5px;
			right: 5px;
			cursor: pointer;
			background: url(../img/close.png) center no-repeat;
			background-size: contain;
		}
		.popup-apartmentinfo-columns
		{
			display: flex;
			gap: 40px;
		}
			.popup-apartmentinfo-column
			{
				display: grid;
				flex-direction: column;
				gap: 10px;
			}
				.popup-apartmentinfo-title
				{
					color: #545454;
					text-transform: uppercase;
					font-size: 16px;
					font-weight: bold;
					font-style: italic;
					text-align: center;
				}
				.popup-apartmentinfo-feature
				{
					display: flex;
					gap: 5px;
					align-items: center;
				}
					.popup-apartmentinfo-feature-icon
					{
						width: 26px;
						height: 26px;
						background-position: center;
						background-repeat: no-repeat;
						background-size: contain;
					}
					.popup-apartmentinfo-feature-text
					{
						font-size: 14px;
						color: #000;
					}
				.popup-apartmentinfo-disclaimer
				{
					margin-top: 20px;
					font-size: 12px;
				}

.popup-gallery-overlay
{
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(0,0,0,.6);
	z-index: 600;
}
	.popup-gallery
	{
		background: #fff;
		margin: auto;
		width: calc(100% - 40px);
		max-width: 1000px;
		position: relative;
    border: 1px solid #333;
	}
		.popup-gallery-title
		{
			color: #545454;
			text-transform: uppercase;
			font-size: 16px;
			font-weight: bold;
			font-style: italic;
			padding: 10px;
		}
		.popup-gallery-close
		{
			width: 24px;
			height: 24px;
			position: absolute;
			top: 5px;
			right: 5px;
			cursor: pointer;
			background: url(../img/close.png) center no-repeat;
			background-size: contain;
		}
		.popup-gallery-content
		{
			overflow-y: auto;
			max-height: calc(100vh - 100px);
			display: flex;
			flex-direction: column;
		}
			.popup-gallery-gallery
			{
				position: relative;
				display: flex;
				overflow: hidden;				
				width: auto;
				height: calc(100vh - 300px);
				max-height: 700px;
			}
				.popup-gallery-gallery-counter
				{
					font-size: 11px;
					color: #fff;
					font-weight: bold;
					position: absolute;
					bottom: 5px;
					right: 5px;
				}
				.popup-gallery-gallery-left,
				.popup-gallery-gallery-right
				{
					height: 100%;
					width: 50%;
					position: absolute;
					top: 0;
					z-index: 400;
					background-repeat: no-repeat;
					background-size: 48px;
					cursor: pointer;
				}
				.popup-gallery-gallery-left
				{
					background-image: url(../img/slideshow-left.png);
					background-position: center left;
				}
				.popup-gallery-gallery-right
				{
					left: 50%;
					background-image: url(../img/slideshow-right.png);
					background-position: center right;
				}
				.popup-gallery-gallery-image
				{
					background-size: cover;
					background-repeat: no-repeat;
					background-position: center;
					width: 100%;
					min-width: 100%;
					overflow: hidden;
				}
			.popup-gallery-description
			{
				padding: 20px;
				font-size: 13px;
				flex: 0;
				overflow: auto;
			}
				.popup-gallery-description ul
				{
					margin-left: 0 !important;
				}

.popup-virtualtour-overlay
{
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(0,0,0,.6);
	z-index: 600;
}
	.popup-virtualtour
	{
		background: #fff;
		margin: auto;
		width: calc(100% - 40px);
		max-width: 1000px;
		position: relative;
    border: 1px solid #333;
	}
		.popup-virtualtour-title
		{
			color: #545454;
			text-transform: uppercase;
			font-size: 16px;
			font-weight: bold;
			font-style: italic;
			padding: 10px;
		}
		.popup-virtualtour-close
		{
			width: 24px;
			height: 24px;
			position: absolute;
			top: 5px;
			right: 5px;
			cursor: pointer;
			background: url(../img/close.png) center no-repeat;
			background-size: contain;
		}
		.popup-virtualtour-content
		{
			overflow-y: auto;
			display: flex;
			flex-direction: column;
			height: 0;
			padding-top: calc(100% / 16 * 9);
			position: relative;
		}
			.popup-virtualtour-content iframe
			{
				border: 0;
				width: 100%;
				position: absolute;
				top: 0;
				height: 100%;
			}

.popup-booking-overlay
{
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.6);
	flex-direction: column;
	align-items: center;
	justify-content: center;
	display: none;
	z-index: 600;
}
	.popup-booking
	{
		display: flex;
		background: #fffffc;
		border: 2px solid #f2f2f0;
		border-radius: 20px;
		padding: 30px;
		gap: 30px;
		align-items: center;
		margin: auto;
		max-width: calc(100% - 100px);
		max-height: calc(100% - 64px);
		position: relative;
	}
		.popup-booking-close
		{
			width: 32px;
			height: 32px;
			position: absolute;
			top: -16px;
			right: -16px;
			cursor: pointer;
			background: url(../img/close.png) center no-repeat #fff;
			background-size: 20px;
			border-radius: 32px;
			border: 1px solid #333;
		}
		.popup-booking-titlecolumn
		{
			display: flex;
			flex-direction: column;
			flex: 1;
		}
			.popup-booking-titlecolumn-title
			{
				color: #535353;
				font-size: 30px;
				font-weight: bold;
				flex: 0;
				line-height: 42px;
			}
		.popup-booking-image
		{
			border-radius: 18px;
			flex: 1;
			align-self: stretch;
			background-position: center;
			background-repeat: no-repeat;
			background-size: cover;
			min-height: 200px;
			min-width: 200px;
		}
		.popup-booking-info
		{
			display: flex;
			flex-direction: column;
			gap: 10px;
			flex: 1;
			align-self: stretch;
			align-items: center;
		}
			.popup-booking-dates
			{
				font-size: 20px;
				font-weight: bold;
			}
			.popup-booking-guests
			{
				font-size: 16px;
				font-weight: bold;
			}
			.popup-booking-guests.availbilitycalendar
			{
				width: 100%;
				display: flex;
				gap: 10px;
				align-items: center;
				justify-content: flex-end;
			}
				.popup-booking-guests-label
				{
					flex: 1;
					text-align: right;
					font-size: 14px;
				}
				.popup-booking-guests-input
				{
					margin-right: 40%;
				}
					.popup-booking-guests-input select
					{
						padding: 6px 10px;
						border: 1px solid #999;
						border-radius: 5px;
					}
			.popup-booking-nights
			{
				font-size: 16px;
				color: #666;
				font-weight: bold;
			}
			.popup-booking-price
			{
				font-weight: bold;
				color: #0062cb;
				font-size: 32px;
				flex: 1;
			}
			.popup-booking-price:empty
			{
				background: url(../img/checking.gif) center no-repeat;
				background-size: contain;
				position: relative;
			}
			.popup-booking-price:empty:after
			{
				content: "\00A0";
			}
			.popup-booking-includes
			{
				margin-top: auto;
				font-size: 10px;
				font-weight: bold;
			}			
		.popup-booking-buttons
		{
			display: flex;
			flex-direction: column;
			gap: 10px;
		}
			.popup-booking-booknow
			{
				display: flex;
				align-items: center;
				justify-content: center;
				padding: 15px;
				border-radius: 100px;
				color: #fff;
				cursor: pointer;
				background: #2bb2ae;
				font-size: 24px;
				font-weight: bold;
				text-transform: uppercase;
				flex: 1;
				white-space: nowrap;
			}
			.popup-booking-addtobasket
			{
				display: flex;
				align-items: center;
				justify-content: center;
				padding: 13px;
				border-radius: 100px;
				color: #2bb2ae;
				border: 2px solid #2bb2ae;
				cursor: pointer;
				font-size: 24px;
				font-weight: bold;
				flex: 1;
				white-space: nowrap;
			}

.container
{
	display: flex;
	flex-direction: column;
	margin: 0 auto;
	padding-top: 106px;
	background: #f4f1ed;
}
.container.home
{
	background: none;
	padding-top: 0;
}
	.header
	{
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		margin: auto;
		display: flex;
		padding: 10px 20px;
		background: rgba(255,255,255,.8);
		z-index: 300;
	}
	.header.home
	{
		background: none;
	}
	.header.scrolled
	{
		background: rgba(255,255,255,.8);
	}
		.header-logo
		{
			width: 105px;
			height: 66px;
			background: url(../img/logo.png) center left no-repeat;
			background-size: contain;
		}
		.header-menu
		{
			display: flex;
			margin: 0 20px;
			align-items: center;
			flex: 1;
			width: calc(100% - 200px);
		}
			
			.header-menu-hamburger
			{
				display: none;
			}
			
			.header-menu-links
			{
				display: flex;
				gap: 20px;
				align-items: center;
				overflow-x: auto;
				overflow-y: hidden;
				flex: 1;
		    justify-content: flex-end;
				padding: 5px 0;
			}
				.header a
				{
					text-decoration: none;
					color: inherit;
				}
				.header-menu-link
				{
					font-size: 14px;
					font-weight: 400;
					color: #000;
					text-transform: uppercase;
					text-align: center;
					position: relative;
				}
				.header-menu-link.selected:after
				{
					content: '';
					display: block;
					height: 3px;
					width: 100%;
					position: absolute;
					bottom: -5px;
					left: 0;
					border-radius: 200px;
					background: #2bb2ae;
				}
				.home .header-menu-link
				{
					color: #fff;
				}
				.scrolled .header-menu-link
				{
					color: #000;
				}
			.header-menu-lang
			{
				margin-left: 20px;
				position: relative;
			}
				.header-menu-lang-options
				{
					display: none;
				}
				.langselectactive .header-menu-lang-options
				{
					display: flex;
					flex-direction: column;
					position: absolute;
					background: #fff;
					top: 40px;
					border: 1px solid #ccc;
					z-index: 1000;
				}
				.header-menu-lang-option
				{
					display: flex;
					align-items: center;
					padding: 10px;
					border-top: 1px solid #ccc;
					gap: 5px;
				}
				.header-menu-lang-options a:first-child .header-menu-lang-option
				{
					border: none !important;
				}
				.header-menu-lang-item
				{
					display: flex;
					padding: 10px;
					gap: 10px;
					cursor: pointer;
				}
					.header-menu-lang-icon
					{
						width: 30px;
						height: 18px;
						background-size: contain;
						background-repeat: no-repeat;
						background-position: center;
					}
					.header-menu-lang-text
					{
						font-size: 18px;
						text-transform: uppercase;
					}
			.header-menu-account
			{
				margin-left: 20px;
			}
				.header-menu-account-login
				{
					width: 45px;
					height: 45px;
					background: url(../img/header-account.png) center no-repeat;
					background-size: contain;
					filter: brightness(0%);
				}
				.home .header-menu-account-login
				{
					filter: brightness(100%);
				}
				.scrolled .header-menu-account-login
				{
					filter: brightness(0%);
				}
				.header-menu-account-initials
				{
					width: 42px;
					height: 43px;
					border: 3px solid #2bb2ae;
					color: #2bb2ae;
					display: flex;
					align-items: center;
					justify-content: center;
					text-align: center;
					font-size: 24px;
					font-weight: bold;
					border-radius: 200px;
				}
		.header-menu-basket
		{
			margin-left: 20px;
			width: 45px;
			height: 45px;
			background: url(../img/header-basket-scrolled.png) center no-repeat;
			background-size: contain;
			position: relative;
			cursor: pointer;
		}
		[data-bookings="0"] .header-menu-basket
		{
			cursor: default;
		}
		.home .header-menu-basket
		{
			background-image: url(../img/header-basket.png);
		}
		.scrolled .header-menu-basket
		{
			background-image: url(../img/header-basket-scrolled.png);
		}
			.header-menu-basket-counter
			{
				border-radius: 100%;
				background: #c00;
				color: #fff;
				position: absolute;
				bottom: -5px;
				right: -8px;
				aspect-ratio: 1 / 1;
				height: 24px;
				display: flex;
				align-items: center;
				justify-content: center;
				font-weight: bold;
			}
			[data-bookings="0"] .header-menu-basket-counter
			{
				display: none;
			}
	
	.home-top
	{
		display: flex;
		flex-direction: column;
		min-height: 130vh;
		background: url(../img/home-top.jpg) center bottom no-repeat;
		background-size: cover;
		background-color: rgba(0,0,0,0.2);
    background-blend-mode: darken;
	}
		
		.home-top-logo
		{
			align-self: center;
			justify-self: center;
			margin: auto;
			color: #fff;
			text-align: center;
		}
			.home-top-logo-logo
			{
				width: 375px;
			}
			.home-top-logo-paloma
			{
				font-family: 'Dream', Arial, sans-serif;
				font-size: 60px;
			}
			.home-top-logo-stars
			{
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 20px;
			}
				.home-top-logo-line
				{
					flex: 1;
					height: 2px;
					background: #fff;
				}
				.home-top-logo-star
				{
					width: 40px;
					height: 40px;
					background-position: center;
					background-repeat: no-repeat;
					background-size: contain;
					background-image: url(../img/logo-star.png);
				}
			.home-top-logo-apartments
			{
				font-size: 46px;
				text-transform: uppercase;
			}
		
		.home-top-features-container
		{
			overflow: hidden;
			margin-top: auto;
		}
			.home-top-features-scroller
			{
				display: none;
			}
			.home-top-features
			{
				margin-top: auto;
				background: rgba(43,178,174,0.83);
				display: flex;
				padding: 20px;
				gap: 20px;
				align-items: center;
			}
				.home-top-feature
				{
					display: flex;
					flex-direction: column;
					flex: 1;
				}
					.home-top-feature-icon
					{
						margin: 20px;
						height: 80px;
						background-size: contain;
						background-position: center;
						background-repeat: no-repeat;
					}
					.home-top-feature-text
					{
						text-align: center;
						color: #fff;
						font-weight: bold;
						font-size: 16px;
						word-spacing: 9999999px;
						text-transform: uppercase;
					}
		.home-top-checkavailability
		{
			display: flex;
			gap: 10px;
			align-items: center;
			justify-content: center;
			cursor: pointer;
			background: #1884e1;
			padding: 6px 30px;
			border-radius: 40px;
			margin-left: auto;
			margin-right: auto;
			margin-bottom: 30px;
			margin-top: -120px;
		}
			.home-top-checkavailability-icon
			{
				min-width: 36px;
				height: 36px;
				background: url(../img/calendar.png) center no-repeat;
				background-size: contain;
			}
			.home-top-checkavailability-text
			{
				font-size: 13px;
				font-weight: bold;
				color: #fff;
				text-align: center;
		    line-height: 22px;
			}
		
				
		.home-top-bookingdetails
		{
			display: flex;
		}
      .home-top-bookingdetails-inner
			{
				display: flex;
				width: 1000px;
				max-width: calc(100% - 80px);
				margin: 0 auto;
				background: #fff;
				border-radius: 10px;
				padding: 10px 20px;
				gap: 30px;
			}
			.home-top-bookingdetails-checkavailability
			{
				display: none;
				gap: 10px;
				align-items: center;
				justify-content: center;
				cursor: pointer;
				background: #1884e1;
				padding: 10px;
				border-radius: 40px;
			}
				.home-top-bookingdetails-checkavailability-icon
				{
					min-width: 36px;
					height: 36px;
					background: url(../img/calendar.png) center no-repeat;
					background-size: contain;
				}
				.home-top-bookingdetails-checkavailability-text
				{
					font-size: 13px;
					font-weight: bold;
					color: #fff;
				}
			
			.home-top-bookingdetails-input,
			.home-top-bookingdetails-search,
      .home-top-bookingdetails-guests
			{
				flex: 1;
			}
      .home-top-bookingdetails-guests
      {
        align-items: center;
        justify-content: center;
        display: flex;
        position: relative;
        cursor: pointer;
				border-right: 1px solid #545454;
      }
        .home-top-bookingdetails-guestspopup-container
        {
          position: absolute;
          top: 60px;
          display: none;
        }
        .home-top-bookingdetails-guestspopup
        {
          display: flex;
          background: #fff;
          padding: 20px 40px;
          flex-direction: column;
          gap: 15px;
          border-radius: 20px;
          width: calc(100% - 80px);
          color: #545454;
          cursor: default;
          user-select: none;
        }
          .home-top-bookingdetails-guestspopup-row
          {
            display: flex;
            gap: 20px;
            align-items: center;
          }
            .home-top-bookingdetails-guestspopup-text
            {
              flex: 1;
              display: flex;
              flex-direction: column;
            }
              .home-top-bookingdetails-guestspopup-text-top
              {
                font-size: 18px;
                font-weight: bold;
                text-transform: capitalize;
              }
              .home-top-bookingdetails-guestspopup-text-bottom
              {
                font-size: 13px;
              }
            .home-top-bookingdetails-guestspopup-selector
            {
              display: flex;
              gap: 10px;
              align-items: center;
            }
              .home-top-bookingdetails-guestspopup-selector-minus,
              .home-top-bookingdetails-guestspopup-selector-plus
              {
                display: flex;
                align-items: center;
                justify-content: center;
                line-height: 1px;
                width: 22px;
                height: 22px;
                border: 2px solid #000;
                border-radius: 200px;
                font-size: 24px;
                font-weight: bold;
                cursor: pointer;
              }
              .home-top-bookingdetails-guestspopup-selector-number
              {
                font-size: 18px;
                font-weight: bold;
              }
            .home-top-bookingdetails-guestspopup-confirm
            {
              text-align: center;
              padding: 12px 0;
              border: 1px solid #000;
              font-size: 17px;
              font-weight: bold;
              cursor: pointer;
              text-transform: uppercase;
            }
              
        .home-top-bookingdetails-guests-text
        {
          font-size: 16px;
					font-weight: bold;
					color: #545454;
          margin-left: 50px;
        }
        .home-top-bookingdetails-guests-icon
        {
          background-image: url(../img/booking-adult.png);
					background-position: center right;
					background-size: contain;
					background-repeat: no-repeat;
          width: 30px;
          height: 30px;
          margin-left: auto;
          margin-right: 50px;
        }
			.home-top-bookingdetails-search,
			.home-top-bookingdetails-input:first-of-type
			{
				border-left: 0;
			}
				.home-top-bookingdetails-input input,
				.home-top-bookingdetails-input select
				{
					border: 0;
					outline: 0;
					width: 100%;
					height: 100%;
					text-align: center;
					font-size: 16px;
					font-weight: bold;
					color: #545454;
					-webkit-appearance: none;
					-moz-appearance: none;
					text-indent: 1px;
					text-overflow: '';
					cursor: pointer;
				}
				.home-top-bookingdetails-input input::placeholder
				{
					color: #545454;
				}
				.home-top-bookingdetails-input input.dates
				{
					background-image: url(../img/booking-date.png);
					background-position: center right;
					background-size: auto 30px;
					background-repeat: no-repeat;
				}
				.home-top-bookingdetails-input select.adults
				{
					background-image: url(../img/booking-adult.png);
					background-position: center right;
					background-size: auto 30px;
					background-repeat: no-repeat;
				}
				.home-top-bookingdetails-input select.infants
				{
					background-image: url(../img/booking-child.png);
					background-position: center right;
					background-size: auto 30px;
					background-repeat: no-repeat;
				}
				.home-top-bookingdetails-input input
				{
					height: calc(100% - 2px);
					width: calc(100% - 4px);
				}
				.home-top-bookingdetails-input select
				{
				}
			.home-top-bookingdetails-search
			{
				background: #545454;
				display: flex;
				text-align: center;
				align-items: center;
				justify-content: center;
				cursor: pointer;
				color: #fff;
				font-size: 16px;
				font-weight: bold;
				text-transform: uppercase;
				padding: 10px; 
			}
			.home-top-bookingdetails-search:hover
			{
				background: #fff;
				color: #545454;
			}
			.home-top-bookingdetails-search.disabled
			{
				cursor: default;
				background: #999;
				color: #fff;
			}
	
	.home-bottom
	{
		display: flex;
		flex-direction: column;
		min-height: 130vh;
		background: url(../img/home-bottom.jpg) center top no-repeat;
		background-size: cover;
		background-color: rgba(0,0,0,0.2);
    background-blend-mode: darken;
		padding-bottom: 280px;
	}
	.popup-basket[style="display: flex;"] ~ .container .home-bottom
	{
		padding-bottom: 480px;
	}
	
		.home-bottom-taglinereviews
		{
			display: flex;
			gap: 40px;
			flex-direction: row-reverse;
			flex: 1;
			padding: 20px;
		}
			.home-bottom-tagline
			{
				color: #fff;
				margin-top: 200px;
				flex: 1;
				display: flex;
				flex-direction: column;
				gap: 30px;
			}
				.home-bottom-tagline-title
				{
					font-size: 36px;
					font-weight: bold;
					font-style: italic;
				}
				.home-bottom-tagline-text
				{
					font-size: 20px;
					text-align: justify;
					line-height: 28px;
				}
			.home-bottom-reviews
			{
				flex: 1;
				margin-top: auto;
				margin-bottom: 200px;
				font-size: 20px;
				color: #fff;
				display: flex;
				flex-direction: column;
				gap: 60px;
			}
				.home-bottom-reviews a
				{
					color: inherit;
					text-decoration: none;
				}
				.home-bottom-review
				{
					display: flex;
					gap: 20px;
					align-items: center;
				}
					.home-bottom-review-icon
					{
						width: 130px;
						height: 130px;
						background-size: contain;
						background-repeat: no-repeat;
						background-position: center;
					}
					.home-bottom-review-text
					{
						text-align: center;
						flex: 1;
					}
		
		.home-bottom-apartments
		{
			display: none;
			flex-direction: column;
			margin: 40px auto;
			width: 1200px;
			max-width: calc(100% - 40px);
			gap: 40px;
		}
			.home-bottom-noavailability
			{
				display: flex;
				flex-direction: column;
				background: #fffffc;
				border: 2px solid #f2f2f0;
				border-radius: 20px;
				padding: 30px;
				align-items: center;
				justify-content: center;
				text-align: center;
				gap: 20px;
			}
				.home-bottom-noavailability-text
				{
					font-size: 18px;
				}
				.home-bottom-noavailability-viewavailabilitycalendar
				{
					background: #093;
					color: #fff;
					font-size: 14px;
					font-weight: bold;
					border-radius: 5px;
					padding: 15px 30px;
					text-align: center;
					margin: 0 auto;
					cursor: pointer;
				}
			.home-bottom-apartment
			{
				display: flex;
				background: #fffffc;
				border: 2px solid #f2f2f0;
				border-radius: 20px;
				padding: 30px;
				gap: 30px;
				align-items: center;
			}
				.home-bottom-apartment-title
				{
					color: #535353;
					font-size: 30px;
					font-weight: bold;
					flex: 0;
					line-height: 42px;
				}
				.home-bottom-apartment-image
				{
					border-radius: 18px;
					flex: 1;
					align-self: stretch;
					background-position: center;
					background-repeat: no-repeat;
					background-size: cover;
					min-height: 200px;
					min-width: 200px;
				}
				.home-bottom-apartment-features
				{
					display: flex;
					flex-direction: column;
					flex: 1;
					gap: 10px;
				}
					.home-bottom-apartment-features-list
					{
						display: grid;
						grid-template-columns: 1fr 1fr;
						gap: 10px;
					}
						.home-bottom-apartment-feature
						{
							display: flex;
							gap: 4px;
						}
							.home-bottom-apartment-feature-icon
							{
								width: 22px;
								height: 22px;
								background-position: center;
								background-repeat: no-repeat;
								background-size: contain;
							}
							.home-bottom-apartment-feature-text
							{
								font-size: 14px;
								color: #000;
								line-height: 18px;
								flex: 1;
							}
					.home-bottom-apartment-features-moreinfo
					{
						font-size: 14px;
						color: #0062cb;
						text-decoration: underline;
						cursor: pointer;
					}
				.home-bottom-apartment-info
				{
					display: flex;
					flex-direction: column;
					gap: 10px;
					flex: 1;
					align-self: stretch;
				}
					.home-bottom-apartment-priceandbook
					{
						display: flex;
						gap: 10px;
						margin: auto 0;
					}
						.home-bottom-apartment-paxprice
						{
							display: flex;
							flex-direction: column;
							gap: 10px;
						}
							.home-bottom-apartment-pax
							{
								display: flex;
								justify-content: center;
								width: 60px;
								flex-wrap: wrap;
								margin: auto;
							}
								.home-bottom-apartment-pax-person
								{
									width: 20px;
									height: 20px;
									background: url(../img/icon-person.png) center no-repeat;
									background-size: contain;
								}
								.home-bottom-apartment-pax-person.occupied
								{
									filter: brightness(0%);
								}
							.home-bottom-apartment-nights
							{
								font-size: 12px;
								text-align: center;
							}
							.home-bottom-apartment-price
							{
								font-weight: bold;
								color: #0062cb;
								font-size: 28px;
								text-align: center;
								flex: 1;
								white-space: nowrap;
							}
							.home-bottom-apartment-price:empty
							{
								background: url(../img/checking.gif) center no-repeat;
								background-size: contain;
								position: relative;
							}
							.home-bottom-apartment-price:empty:after
							{
								content: "\00A0";
							}
							.home-bottom-apartment-price.discounted
							{
								text-decoration: line-through;
								color: #999;
							}
							.home-bottom-apartment-pricediscounted
							{
								font-weight: bold;
								background: #0062cb;
								text-align: center;
								flex: 1;
								white-space: nowrap;
								display: flex;
								gap: 10px;
								padding: 5px;
								color: #fff;
								align-items: center;
							}
								.home-bottom-apartment-pricediscounted-text
								{
									font-size: 14px;
									text-align: center;
								}
								.home-bottom-apartment-pricediscounted-price
								{
									font-size: 28px;
								}
								
						.home-bottom-apartment-booknow
						{
							display: flex;
							align-items: center;
							justify-content: center;
							padding: 15px;
							border-radius: 100px;
							color: #fff;
							cursor: pointer;
							background: #2bb2ae;
							font-size: 24px;
							font-weight: bold;
							text-transform: uppercase;
							flex: 1;
							white-space: nowrap;
							margin: auto;
						}
					.home-bottom-apartment-includes
					{
						margin-top: auto;
						text-align: center;
						font-size: 11px;
					}

.content
{
	display: flex;
	flex-direction: column;
	align-items: center;
	width: calc(100% - 40px);
	max-width: 1000px;
	margin: 0 20px;
	align-self: center;
}

	.checkout
	{
		display: flex;
		flex-direction: column;
		margin: 15px 20px;		
	}
		.checkout-agreesplit
		{
			margin: 20px 0 0 0;
			border: 1px solid #e0bae5;
			background: #fae9fc;
			padding: 0 10px 10px 0;
		}
			.checkout-agreesplit-checkbox
			{
				float: left;
				margin: 10px 0 0 10px;
			}
				.checkout-agreesplit-checkbox [type="checkbox"]
				{
					width: 20px;
					height: 20px;
				}
			.checkout-agreesplit-text
			{
				float: left;
				margin: 14px 0 0 10px;
			}
		
		.checkout-agreesplit.accepted
		{
			background: #a1f1a8;
			border-color: #52bf5d;
		}
		
		.checkout-agreesplit.pulse
		{
			animation: pulse .5s alternate;
			animation-iteration-count: 4;
		}
			
		.checkout-button
		{
			background: #2bb2ae;
			color: #fff;
			font-size: 16px;
			font-weight: bold;
			border-radius: 200px;
			padding: 15px 20px;
			text-align: center;
			margin: 40px auto 0 auto;
			text-transform: uppercase;
			cursor: pointer;
		}
		.checkout-usecredit
		{
			text-align: center;
			float: right;
			background: #09f;
			padding: 15px 40px;
			color: #fff;
			text-transform: uppercase;
			font-size: 24px;
			line-height: 30px;
			margin: 20px 0 0 0;
			cursor: pointer;
		}
		.checkout-button.disabled,
		.checkout-usecredit.disabled
		{
			background: #ccc;
			color: #999;
			cursor: default;
		}
		.checkout-surcharge
		{
			font-size: 14px;
			margin: 20px 0 0 0;
			line-height: 22px;
		}
			.checkout-surcharge a
			{
				color: #335b8c;
			}
		.checkout-terms
		{
			font-size: 14px;
			margin: 20px 0 0 0;
			padding: 20px 0 0 0;
			border-top: 1px solid #ccc;
			line-height: 22px;
		}
			.checkout-terms a
			{
				color: #335b8c;
			}
		.checkout-summary
		{
			font-size: 18px;
			font-weight: 400;
			color: #222;
			margin: 15px 0 0 0;
			color: #ad894b;
		}
		.checkout-sep
		{
			border-top: 1px solid #ccc;
			height: 0;
			margin-top: 15px;
		}
		.checkout-line
		{
			margin: 10px 0 0 0;
			display: flex;
			gap: 10px;
		}
		.checkout-line.discount
		{
			color: #093;
			font-weight: bold;
			border-top: 1px solid #093;
			border-bottom: 1px solid #093;
			padding: 7px 0 5px 0;
		}
		.checkout-line.credit
		{
			color: #09f;
			font-weight: bold;
			border-top: 1px solid #09f;
			border-bottom: 1px solid #09f;
			padding: 7px 0 5px 0;
		}
		.upgradecheckout .checkout-line
		{
			border-top: 1px solid #ccc;
			margin-top: 20px;
		}
		.checkout-line.pending
		{
			color: #3ca8e6;
			position: relative;
		}
		.checkout-line.cancelled > div
		{
			text-decoration: line-through;
		}
		.checkout-line.cancelled > div.checkout-line-value
		{
			text-decoration: none;
		}
		.checkout-line-extra
		{
			padding: 3px 0 2px 20px;
			margin-left: 20px;
			color: #666;
			border-left: 1px dashed #999;
			display: flex;
		}
		.checkout-line-extra.pending
		{
			color: #3ca8e6;
			border-left: 1px dashed #3ca8e6;
			position: relative;
		}
		.checkout-line-extra.pending:hover,
		.checkout-line.pending:hover
		{
			background: #f8fbd6;
		}
		.checkout-line-extra:nth-child(4)
		{
			margin-top: 5px;
		}
			.checkout-line-text
			{
				float: left;
			}
			.upgradecheckout .checkout-line-text
			{
				margin-top: 20px;
				font-weight: bold;
			}
				.checkout-line-dates
				{
					font-size: 13px;
				}
			.checkout-line-value
			{
				margin-left: auto;
				white-space: nowrap;
			}
			.checkout-line-remove
			{
				opacity: 0;
				border-left: 5px solid #fff;
				background: url(../img/extra-delete.png) center no-repeat;
				background-size: cover;
				width: 20px;
				height: 20px;
				cursor: pointer;
				position: absolute;
				right: -25px;
				top: 0;
				bottom: 0;
				margin: auto;
			}
			.checkout-line-extra .checkout-line-remove
			
			{
				top: 1px;
			}
			.checkout-line-extra.pending:hover > .checkout-line-remove,
			.checkout-line.pending:hover > .checkout-line-remove
			{
				opacity: .6;
			}
			.checkout-line-remove:hover
			{
				opacity: 1 !important;
			}
		.checkout-discountmessage
		{
			text-align: center;
			margin: 10px auto 0 auto;
			background: #fbfabe;
			border: 1px solid #d3d3aa;
			padding: 5px;
		}
		.checkout-vouchersandtotals
		{
			display: flex;
			flex-direction: column;
		}
			.checkout-voucher
			{
				display: flex;
				flex-direction: column;
				margin: 20px 0 0 0;
				border: 1px solid #ccc;
				padding: 10px;
				border-radius: 5px;
			}
				.checkout-voucher-inputandbutton
				{
					display: flex;
					margin-top: 5px;
					gap: 10px;
					align-items: center;
				}
				.checkout-voucher-input
				{
					flex: 1;
				}
					.checkout-voucher-input input
					{
						padding: 10px;
						border: 1px solid #000;
						border-radius: 200px;
						font-weight: bold;
						width: calc(100% - 22px);
						font-family: 'Roboto', Arial, sans-serif;
						background: #fff;
						font-size: 12px;
					}
				.checkout-voucher-redeem,
				.checkout-promocode-redeem
				{
					background: #2bb2ae;
					color: #fff;
					font-size: 14px;
					font-weight: bold;
					border-radius: 200px;
					padding: 5px 10px;
					text-align: center;
					cursor: pointer;
				}
				.checkout-voucher-redeem.disabled,
				.checkout-promocode-redeem.disabled
				{
					background: #ccc;
					color: #999;
				}
			.checkout-totals
			{
				display: flex;
				flex-direction: column;
			}
		.checkout-total
		{
			line-height: 28px;
			font-weight: bold;
			margin: 20px 0 0 0;
			font-size: 16px;
		}
		.checkout-discount
		{
			line-height: 28px;
			font-weight: bold;
			margin: 5px 0 0 0;
			font-size: 16px;
			height: 28px;
		}
		.checkout-balanceleft
		{
			line-height: 28px;
			font-weight: bold;
			font-size: 16px;
			margin: 20px 0 0 0;
		}
			.checkout-total-text,
			.checkout-total-deposittext,
			.checkout-discount-text
			{
				float: right;
				margin: 0 40px 0 0;
			}
			.checkout-total-value,
			.checkout-deposit-value,
			.checkout-discount-value
			{
				float: right;
			}
			.checkout-discount-value
			{
				color: #335b8c;
				display: none;
			}
			.checkout-total-value.linethrough
			{
				position: relative;
			}
			.checkout-total-value.linethrough:after
			{
				content: '';
				position: absolute;
				left: 0;
				top: 0;
				bottom: 0;
				margin: auto;
				height: 2px;
				width: 110%;
				background: #c00;
				transform: rotate(-10deg);
			}
		.checkout-options
		{
			position: relative;
		}
		.mybookings-credit + .checkout-options
		{
			margin-top: 30px;
		}
			.checkout-option
			{
				margin: 5px 0 0 0;
			}
				.checkout-option input
				{
					float: left;
					margin: 4px 3px 0 3px;
				}
				.checkout-option-text
				{
					float: left;
					margin: 0 0 0 10px;
				}
				.checkout-option-text.discount
				{
					color: #335b8c;
					font-weight: bold;
				}
		.checkout-title
		{
			font-size: 18px;
			margin: 30px 0 0 0;
			text-align: center;
		}
		.checkout-title:first-child
		{
			margin-top: 0;
		}
		.checkout-bookings
		{
			margin: 20px 0 0 0;
			padding: 0 5px;
			display: flex;
			flex-direction: column;
			gap: 20px;
		}
			.checkout-booking
			{
				padding: 10px 40px 10px 20px;
				border: 1px solid #333;
				font-size: 14px;
				display: flex;
				align-items: center;
				border-radius: 200px;
				gap: 10px;
			}
			.checkout-booking.novacancy
			{
				flex-direction: column;
				align-items: flex-start;
			}
				.checkout-booking-removeanddetails
				{
					display: flex;
					align-items: center;
				}
				.checkout-booking-novacancymessage
				{
					text-align: center;
					padding: 5px;
					color: #c00;
					border: 1px solid #c00;
					margin-top: 7px;
			    margin: 7px 20px 20px 20px;
					position: relative;
					left: -10px;
					border-radius: 4px;
					font-size: 12px;
					width: calc(100% - 12px);
				}
				.checkout-booking-remove
				{
					width: 30px;
					height: 30px;
					background: url(../img/delete.png) center no-repeat;
					background-size: contain;
					cursor: pointer;
				}
				.checkout-booking-details
				{
					display: flex;
					flex-direction: column;
					gap: 8px;
				}
					.checkout-booking-title
					{
						color: #2bb2ae
					}
					.checkout-booking-pax
					{
						color: #2bb2ae;
					}
				.checkout-booking-datesprice
				{
					display: flex;
					gap: 30px;
				}
					.checkout-booking-price
					{
						text-align: right;
						margin-left: auto;
						font-size: 16px;
						font-weight: bold;
					}
		.checkout-total
		{
			display: flex;
			font-weight: bold;
			margin-top: 15px;
			justify-content: end;
		}
		.checkout-total.lefttopay
		{
			margin-top: 8px;
		}
			.lefttopay .checkout-total-text
			{
				padding-top: 7px;
			}
			.checkout-total-amount
			{
				width: 90px;
				margin-left: 10px;
				margin-right: 46px;
				text-align: right;
			}
			.lefttopay .checkout-total-amount
			{
				padding-top: 6px;
				border-top: 1px solid #999;
			}
		
		.checkout-guestdetails-verifactuerror
		{
			padding: 20px;
			max-width: 500px;
			margin: 20px auto;
			background: #faffbd;
			border: 1px solid #fc3;
		}
		
		.checkout-verifactu,
		.checkout-guestdetails-existinginfo-text
		{
			margin: 20px 0 0 0;
			padding: 20px 0 0 0;
			border-top: 1px solid #ccc;
		}
			.checkout-verifactu-text
			{
				padding: 5px 0 15px 0;
			}
			.checkout-verifactu-nopassport-text
			{
				padding: 5px 0 15px 0;
				display: none;
				font-weight: bold;
			}
			.checkout-verifactu-nopassport
			{
				display: flex;
				flex-direction: row;
				gap: 20px;
				align-items: center;
				padding-top: 10px;
				text-align: right;
				color: #999;
				font-style: italic;
				margin-left: auto;
				cursor: pointer;
				text-decoration: underline;
			}
				.checkout-verifactu-nopassport label
				{
					margin-left: auto;
					cursor: pointer;
				}
				.checkout-verifactu-nopassport [type="checkbox"]
				{
					display: none;
					width: 20px;
				  height: 20px;
				}
				
.niedni-checking
{
	display: none;
	width: 35px;
	height: 35px;
	background: url(../img/loading.gif) center no-repeat;
	background-size: contain;
}
.niedni-verified
{
	display: none;
	width: 35px;
	height: 35px;
	align-items: center;
	justify-content: center;
	color: #093;
	font-weight: bold;
	font-size: 32px;
	cursor: default;
}
		
		.checkout-guestdetails
		{
			display: flex;
			flex-direction: column;
			font-size: 13px;
			max-width: 900px;
			margin: 10px auto 0 auto;
			width: 100%;
		}
			.checkout-guestdetails-existingguest
			{
			}
				.checkout-guestdetails-existingguest-option
				{
					margin: 15px 0;
					text-align: center;
					color: #039;
					cursor: pointer;
				}
				.checkout-guestdetails-existingguest-option.nologin
				{
					color: #666
				}
				.checkout-guestdetails-code-text
				{
					text-align: center;
					flex: 1;
					font-weight: bold;
					margin-top: 15px;
				}
				.checkout-guestdetails-code-boxes
				{
					display: flex;
					justify-content: center;
					width: 100%;
				}
					.checkout-guestdetails-code-boxes input
					{
						padding: 10px;
						border: 1px solid #000;
						border-radius: 200px;
						font-weight: bold;
						width: calc(100% - 22px);
						width: 40px;
						font-family: 'Roboto', Arial, sans-serif;
						background: #fff;
						font-size: 12px;
						text-align: center;
						margin: 5px;
						width: 50%;
					}
				.checkout-guestdetails-code-button
				{
					background: #2bb2ae;
					color: #fff;
					font-size: 13px;
					font-weight: bold;
					border-radius: 200px;
					padding: 8px 15px;
					text-align: center;
					margin: 0 auto;
				}
				.checkout-guestdetails-code-sendnewcode
				{
					margin-top: 10px;
					text-align: center;
					color: #999;
					cursor: pointer;
					margin-left: auto;
					margin-right: auto;
				}
			.checkout-guestdetails-login
			{
				background: #2bb2ae;
				color: #fff;
				font-size: 13px;
				font-weight: bold;
				border-radius: 200px;
				padding: 10px 15px;
				text-align: center;
				margin-left: auto;
				cursor: pointer;
			}
			.checkout-guestdetails-row
			{
				display: flex;
				flex-direction: row;
				margin-top: 8px;
				align-items: center;
			}
				.checkout-guestdetails-label
				{
					width: 80px;
					text-align: right;
				}
				.checkout-guestdetails-input
				{
					margin-left: 10px;
					flex: 1;
					position: relative;
					display: flex;
					gap: 5px;
				}
					.checkout-guestdetails-input input,
					.checkout-guestdetails-input select
					{
						padding: 10px;
						border: 1px solid #000;
						border-radius: 200px;
						font-weight: bold;
						width: calc(100% - 22px);
						font-family: 'Roboto', Arial, sans-serif;
						background: #f4f1ed;
						font-size: 12px;
					}
					.checkout-guestdetails-input select
					{
						width: auto;
						min-width: auto;
					}
				.checkout-guestdetails-checkemail
				{
					width: 20px;
					height: 26px;
					background: url(../img/checkemail.png) center no-repeat;
					background-size: contain;
					margin-left: 5px;
					cursor: pointer;
				}
				.checkout-guestdetails-checkemail.checking
				{
					background-image: url(../img/checking.gif);
				}
				.checkout-guestdetails-edit
				{
					display: none;
					width: 20px;
					height: 26px;
					background: url(../img/edit.png) center no-repeat;
					background-size: contain;
					margin-left: 5px;
					cursor: pointer;
				}
		
		.checkout-paymentoptions
		{
			display: flex;
			flex-direction: column;
			gap: 10px;
			margin-top: 30px;
			font-size: 14px;
		}
			.checkout-paymentoption
			{
				display: flex;
				gap: 10px;
				align-items: center;
				margin-right: 30px;
			}
				.checkout-paymentoption input
				{
					margin: 0;
				}
				
		.checkout-agreeterms
		{
			margin: 40px auto 0 auto;
			display: flex;
			flex-direction: column;
		}
			.checkout-agreeterms-row
			{
				display: flex;
				align-items: center;
			}
			.checkout-agreeterms-row.promotionscheckbox
			{
				margin-top: 10px;
			}
				.checkout-agreeterms-checkbox
				{
				}
					.checkout-agreeterms-checkbox [type="checkbox"]
					{
						width: 20px;
						height: 20px;
					}
				.checkout-agreeterms-text
				{
					margin: 0 0 0 10px;
					font-size: 13px;
				}
					.checkout-agreeterms-text a,
					.checkout-agreeterms-text span
					{
						color: #335b8c;
						cursor: pointer;
						text-decoration: underline;
					}
					.checkout-agreeterms-text i
					{
						font-size: 12px;
					}
			
			.checkout-agreeterms.accepted
			{
				background: #52bf5d;
				border-color: #329f3d;
			}
			
			.checkout-agreeterms.pulse
			{
				animation: pulse .5s alternate;
				animation-iteration-count: 4;
			}
				.checkout-agreeterms.pulse .checkout-agreeterms-text a
				{
					color: inherit;
				}
				
		.checkout-continue
		{
			background: #2bb2ae;
			color: #fff;
			font-size: 16px;
			font-weight: bold;
			border-radius: 200px;
			padding: 15px 20px;
			text-align: center;
			margin: 40px auto 0 auto;
			text-transform: uppercase;
			cursor: pointer;
		}
		.checkout-continue.disabled
		{
			background: #ccc;
			color: #999;
		}
		.checkout-loggedin
		{
			border: 1px solid #ccc;
			border-radius: 5px;
			margin: 10px 0 0 0;
			padding: 5px;
		}
			.checkout-loggedin-icontext
			{
				display: flex;
				align-items: center;
				justify-content: center;
			}
				.checkout-loggedin-icon
				{
					width: 48px;
					height: 48px;
					background: url(../img/loggedin.png) center no-repeat;
					background-size: contain;
				}
				.checkout-loggedin-text
				{
					margin-left: 10px;
					font-size: 14px;
					font-weight: bold;
					color: #666;
				}
			.checkout-loggedin-logout
			{
				text-align: center;
				margin-top: 10px;
				border-top: 1px solid #ccc;
				padding-top: 5px;
				font-size: 12px;
			}
	
	.splash
	{
		width: 100%;
		height: 400px;
		display: flex;
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center;
	}
	.splash.loscristianos {background-image: url(../img/loscristianossplash.png);}
	.splash.palomabeach {background-image: url(../img/palomabeachsplash.png);}
	.splash.tenerife {background-image: url(../img/tenerifesplash.png);}
	.splash.apartments {background-image: url(../img/apartmentssplash.png);}
	.splash.holidays {background-image: url(../img/holidayssplash.png);}
	
		.splash-text
		{
			font-family: "Times New Roman", Times, serif;
			color: #fff;
			align-self: end;
			font-size: 90px;
			text-indent: 20px;
			cursor: default;
		}
	
	.box
	{
		display: flex;
		margin: 25px auto;
		gap: 30px;
		flex-direction: column;
		width: 100%;
	}
		.box-section
		{
			display: flex;
			gap: 50px;
			align-items: center;
			width: 100%;
		}
		.box:nth-of-type(odd) .box-section
		{
			flex-direction: row-reverse;
		}
			.box-imagecolumn
			{
				display: flex;
				flex-direction: column;
				gap: 40px;
				flex: 1;
			}
				.box-imagecolumn .box-title
				{
					font-size: 32px;
					font-family: "Times New Roman", Times, serif;
					position: relative;
					z-index: 0;
					align-self: center;
				}
					.box-imagecolumn .box-title:after
					{
						content: '';
						display: block;
						position: absolute;
						left: 0;
						right: 0;
						bottom: -15px;
						height: 3px;
						background: #2bb2ae;
						margin: auto;
						width: 50%;
					}
				.box-image
				{
				}
					.box-image img
					{
						width: 100%;
						border-radius: 30px;
					}
				.box-iframe
				{
				}
				.box-iframe.video
				{
					height: 0;
					padding-top: calc(100% / 16 * 9);
					position: relative;
				}
					.box-iframe iframe
					{
						border: 0;
						width: 100%;
						height: 500px;
					}
					.box-iframe video
					{
						border: 0;
						width: 100%;
						height: 100%;
						position: absolute;
						top: 0;
						left: 0;
					}	
			.box-details
			{
				display: flex;
				flex-direction: column;
				gap: 20px;
				flex: 1;
				width: 100%;
			}
				.box-details .box-title
				{
					font-size: 20px;
					font-weight: bold;
					color: #2bb2ae;
				}
				.box-text
				{
					font-size: 18px;
					line-height: 24px;
					font-family: "Times New Roman", Times, serif;
					opacity: .8;
				}
				.box a
				{
					color: inherit;
					text-decoration: none;
					margin: 0 auto;
					font-weight: bold;
				}
					.box-text a,
					.box-subtitle a
					{
						color: #2bb2ae;
						text-decoration: none;
					}
				.box-table
				{
				}
					.box-table table
					{
						border: 0;
						width: 100%;
						font-size: 15px;
						border-collapse: collapse;
					}
						.box-table table th,
						.box-table table td
						{
							padding: 10px;
							border: 1px solid #efefef;
						}
						.box-table table th
						{
							font-weight: normal;
							text-align: center;
							background: #e6c293;
						}
						.box-table table td
						{
							text-align: center;
							font-family: "Times New Roman", Times, serif;
						}
						.box-table td:nth-child(odd)
						{
							background: #e1ebf7;
						}
				.box-button
				{
					background: #2bb2ae;
					color: #fff;
					font-size: 16px;
					font-weight: bold;
					border-radius: 200px;
					padding: 15px 30px;
					text-align: center;
					margin: 20px auto 0 auto;
					text-transform: uppercase;
				}
				.box-features
				{
					display: flex;
					padding: 15px;
					gap: 15px;
					border-radius: 30px;
					background: #fff;
					flex-wrap: wrap;
					justify-content: start;
				}
					.box-feature
					{
						display: flex;
						align-items: center;
						gap: 8px;width: calc(33% - 10px)
					}
						.box-feature-icon
						{
							width: 50px;
							height: 50px;
							background-size: contain;
							background-repeat: no-repeat;
							background-position: center;
						}
						.box-feature-text
						{
							color: #2bb2ae;
							font-weight: bold;
							font-size: 11px;
						}
				.box-expandablelist-title
				{
					cursor: pointer;
					font-size: 15px;
					font-weight: bold;
					text-transform: uppercase;
					margin: 15px 0 0 0;
					color: #ad894b;
				}
				.box-expandablelist-text
				{
					height: 0;
					overflow: hidden;
					margin-top: 5px;
					font-size: 13px;
					line-height: 18px;
				}
					.box-expandablelist-text > div
					{
						border-top: 1px solid #fff;
					}
					
	.apartments
	{
		display: flex;
		flex-direction: column;
		margin-bottom: 20px;
		gap: 20px;
	}
		.apartment-disclaimer
		{
			text-align: center;
			font-weight: bold;
			font-size: 12px;
			color: #545454;
		}
		.apartment
		{
			display: flex;
		}
		.apartment:nth-child(even)
		{
			flex-direction: row-reverse;
		}
			.apartment-image
			{
				flex: 1.3;
				background-size: cover;
				background-position: center;
				background-repeat: no-repeat;
				position: relative;
				cursor: pointer;
			}
				.apartment-image-virtualtour
				{
					width: 120px;
					height: 80px;
					position: absolute;
					bottom: 10px;
					right: 10px;
					cursor: pointer;
					background: url(../img/virtualtour.png) center no-repeat;
					background-size: contain;
				}
			.apartment-details
			{
				display: flex;
				flex: 1;
				flex-direction: column;
				gap: 40px;
				align-items: center;
				justify-content: center;
				padding: 30px;
				color: #545454;
				text-align: center;
			}
				.apartment-title
				{
					font-size: 26px;
					font-weight: bold;
				}
				.apartment-description
				{
					
				}
				.apartment-features
				{
					display: flex;
					flex-direction: column;
					flex: 1;
					gap: 30px;
				}
					.apartment-features-list
					{
						display: flex;
						gap: 10px;
						justify-content: center;
					}
						.apartment-feature
						{
							display: flex;
							gap: 4px;
						}
							.apartment-feature-icon
							{
								width: 32px;
								height: 32px;
								background-position: center;
								background-repeat: no-repeat;
								background-size: contain;
							}
							.apartment-feature-text
							{
								font-size: 14px;
								line-height: 18px;
								flex: 1;
								text-align: left;
							}
					.apartment-features-sleeps
					{
						display: flex;
						gap: 5px;
						justify-content: center;
						align-items: center;
					}
						.apartment-features-sleeps-text
						{
							font-size: 12px;
							color: #000;
						}
						.apartment-features-sleeps-beds
						{
							width: 24px;
							height: 24px;
							background: url(../img/sleeps_bed.png) center no-repeat;
							background-size: contain;
							margin-left: 5px;
						}
					.apartment-features-area
					{
						display: flex;
						gap: 5px;
						justify-content: center;
						align-items: center;
					}
						.apartment-features-area-text
						{
							font-size: 12px;
							color: #000;
						}
						.apartment-features-area-area
						{
							width: 24px;
							height: 24px;
							background: url(../img/area.png) center no-repeat;
							background-size: contain;
							margin-left: 5px;
						}
					.apartment-features-beds
					{
						display: flex;
						gap: 5px;
						justify-content: center;
						align-items: center;
					}
						.apartment-features-beds-text
						{
							font-size: 12px;
							color: #000;
						}
						.apartment-features-beds-beds
						{
							width: 24px;
							height: 24px;
							background: url(../img/bed.png) center no-repeat;
							background-size: contain;
							margin-left: 5px;
						}
					.apartment-features-moreinfo
					{
						font-size: 14px;
						color: #0062cb;
						text-decoration: underline;
						cursor: pointer;
						text-align: center;
					}
				.apartment-booknow
				{
					background: #dc9e1e;
					color: #fff;
					font-weight: bold;
					cursor: pointer;
					text-transform: uppercase;
					padding: 10px 20px;
					font-size: 16px;
				}
	
	.contact-map
	{
		height: 600px;
		background: url(../img/contact.png) center no-repeat;
		background-size: cover;
		padding: 50px;
		display: flex;
		width: calc(100% - 100px);
		position: relative;
	}
		.contact-map iframe
		{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			z-index: 0;
		}
		.contact-map-textbox
		{
			background: #a28260;
			color: #fff;
			padding: 20px;
			align-self: end;
			flex: 0.33;
			position: relative;
			z-index: 1;
		}
			.contact-map-textbox-title
			{
				text-align: center;
				font-size: 26px;
				text-transform: uppercase;
				white-space: nowrap;
				font-family: 'Dream', Arial, sans-serif;				
			}
			.contact-map-textbox-text
			{
				margin-top: 20px;
			}
	.contact-info
	{
		width: 100%;
		margin: 40px 0;
	}
		.contact-info-title
		{
			font-size: 26px;
			text-transform: uppercase;
			white-space: nowrap;
			font-family: 'Dream', Arial, sans-serif;
			color: #2bb2ae;
		}
		.contact-info-columns
		{
			display: flex;
			gap: 100px;
			margin-top: 30px;
			justify-content: space-between;
		}
			.contact-info-column
			{
				display: flex;
				flex-direction: column;
				gap: 30px;
			}
				.contact-info-details
				{
					display: flex;
					flex-direction: column;
					gap: 10px;
				}
					.contact-info-detail
					{
						display: flex;
						gap: 20px;
						align-items: center;
					}
						.contact-info-detail-icon
						{
							width: 35px;
							height: 35px;
							background-size: contain;
							background-repeat: no-repeat;
							background-position: center;
						}
						.contact-info-detail-text
						{
							font-size: 14px;
							font-family: "Times New Roman", Times, serif;
							opacity: .8;
						}
				.contact-info-social
				{
				}
					.contact-info-social-title
					{
						font-weight: bold;
						text-align: center;
						font-size: 13px;
					}
					.contact-info-social-icons
					{
						display: flex;
						gap: 10px;
						justify-content: center;
						margin-top: 20px;
					}
						.contact-info-social-icon
						{
							width: 32px;
							height: 32px;
							background-position: center;
							background-repeat: no-repeat;
							background-size: contain;
						}
				.contact-info-details
				{
					display: flex;
					flex-direction: column;
					gap: 20px;
					font-family: "Times New Roman", Times, serif;
					font-size: 14px;
				}
					.contact-info-details-title
					{
						text-align: center;
						color: #2bb2ae;
					}
					.contact-info-details-text
					{
						
					}
						.contact-info-details-text a
						{
							color: #2bb2ae;
						}
					.contact-info-details-text.center
					{
						text-align: center;
					}
					.contact-info-details-link
					{
						text-align: center;
						color: #2bb2ae;
						cursor: pointer;
					}
	
	.loyalty
	{
		min-height: 700px;
		background: url(../img/loyaltybg.png) center no-repeat;
		background-size: cover;
		display: flex;
		width: 100%;
		margin-bottom: 20px;
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
		.loyalty-15
		{
			position: absolute;
			top: 0;
			left: 0;
			width: 298px;
			height: 166px;
			background: url(../img/loyalty15.png) center no-repeat;
			background-size: contain;
		}
		.loyalty-title
		{
			align-self: center;
			justify-self: center;
			text-align: center;
			margin: 0 auto;
			color: #fff;
			font-size: 80px;
		}
			.loyalty-title-join
			{
				font-family: "Dancing Script", cursive;
			}
			.loyalty-title-loyalty
			{
				font-family: "Londrina Outline", sans-serif;
				font-weight: bold;
			}
		.loyalty-disclaimer
		{
			position: absolute;
			width: 95%;
			text-align: center;
			color: #fff;
			bottom: 10px;
			right: 0;
			left: 0;
			font-weight: bold;
			font-size: 11px;
			margin: auto;
		}
	
	.gallery
	{
		width: 100%;
		display: grid;
		grid-template-columns: auto auto auto;
		margin: 20px 20px 50px 20px;
		border-collapse: collapse;
	}
		.gallery-image
		{
			background-size: cover;
			background-repeat: no-repeat;
			background-position: center;
			height: 0;
			padding-top: 75%;
			border: 1px solid #fff;
			border-collapse: collapse;
			transition: all .2s ease-in-out;
		}
		.gallery-image:hover
		{
			transform: scale(1.05,1.05);
			cursor: pointer;
		}
	
	.login-passwordsent,
	.login-error
	{
		margin: 20px;
		padding: 10px;
		border: 1px solid #ccc;
		border-radius: 5px;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}
	
	.login-form
	{
		display: flex;
		flex-direction: column;
		margin: 30px 20px;
	}
		.login-form-row
		{
			display: flex;
			flex-direction: column;
			font-size: 14px;
			margin: 20px 0 0 0;
		}
		.login-form-row:first-child
		{
			margin-top: 0;
		}
			.login-form-label
			{
				font-weight: bold;
			}
			.login-form-input
			{
				margin-top: 5px;
				display: flex;
				position: relative;
			}
				.login-form-input [type="text"],
				.login-form-input [type="password"]
				{
					padding: 10px;
					border: 1px solid #000;
					border-radius: 200px;
					font-size: 16px;
					font-weight: bold;
					width: calc(100% - 20px);
					font-family: 'Roboto', Arial, sans-serif;
					background: #fff;
				}
		.login-form-button
		{
			background: #2bb2ae;
			color: #fff;
			font-size: 16px;
			font-weight: bold;
			border-radius: 200px;
			padding: 15px 30px;
			text-align: center;
			margin: 20px auto 0 auto;
			text-transform: uppercase;
			cursor: pointer;
		}
		.login-forgottenpassword
		{
			margin: 20px 0;
			text-align: center;
		}
			.login-forgottenpassword a
			{
				color: #256abe;
			}
	
	.mydetails
	{
		margin: 20px;
		display: flex;
		flex-direction: column;
	}
		.mydetails > a
		{
			color: inherit;
			text-decoration: none;
		}
		.mydetails-title
		{
			color: #3372c1;
			font-size: 17px;
			font-weight: bolder;
			margin-top: 20px;
		}
		.mydetails-text
		{
			margin: 10px 0 0 0;
			font-size: 14px;
		}
			.mydetails-text a
			{
				color: #335b8c;
			}
		.mydetails-form
		{
			font-size: 14px;
		}
			.mydetails-form-row
			{
				display: flex;
				flex-direction: column;
				gap: 5px;
				margin: 15px 0 0 0;
			}
				.mydetails-form-label
				{
					font-weight: bold;
				}
					.mydetails-form-input input,
					.mydetails-form-input select
					{
						padding: 10px;
						border: 1px solid #000;
						border-radius: 5px;
						font-size: 16px;
						font-weight: bold;
						width: calc(100% - 20px);
						font-family: 'Roboto', Arial, sans-serif;
						background: #fff;
					}
					.mydetails-form-input select
					{
						width: 100%;
					}
		.mydetails-save
		{
			background: #3372c1;
			color: #fff;
			font-size: 14px;
			font-weight: bold;
			border-radius: 5px;
			padding: 15px 0;
			text-align: center;
			margin: 20px 0;
		}
	
	.mybookings
	{
		display: flex;
		flex-direction: column;
		margin: 20px 20px 0 20px;
	}
		.mybookings > a
		{
			margin-right: auto;
			color: inherit;
			text-decoration: none;
		}
		.mybookings-link
		{
			float: left;
			padding: 5px;
			font-size: 13px;
			border: 1px solid #000;
		}
		.mybookings-nobookings
		{
			border: 1px solid #999;
			border-radius: 5px;
			text-align: center;
			padding: 10px;
			font-size: 14px;
		}
		.mybookings-title
		{
			color: #3372c1;
			font-size: 17px;
			font-weight: bolder;
			margin-top: 30px;
		}
		.mybookings-title:first-child
		{
			margin-top: 0;
		}
		.mybookings-loggedin
		{
			margin: 10px 0 0 0;
			font-size: 14px;
		}
			.mybookings-loggedin a
			{
				color: #335b8c;
			}
		.mybookings-subtitle
		{
			font-size: 18px;
			font-weight: 400;
			color: #222;
			margin: 15px 0 0 0;
			color: #ad894b;
		}
		.mybookings-credit
		{
			background: #e8fdfb;
			font-family: 'Segoe UI', 'Roboto', sans-serif;
			display: flex;
			padding: 10px 20px;
			margin-top: 20px;
		}
		.mybookings-credit a
		{
			text-decoration: none;
		}
			.mybookings-credit-amount
			{
				border-radius: 50%;
				background: #508ab3;
				text-align: center;
				color: #fff;
				font-size: 20px;
				white-space: nowrap;
				font-weight: bold;
				text-shadow: 1px 2px 2px rgba(0,0,0,.3);
				box-shadow: 2px 2px 2px rgba(0,0,0,.5);
				display: flex;
				align-items: center;
				padding: 10px;
				margin: auto;
			}
			.mybookings-credit-textarea
			{
				margin-left: 20px;
				display: flex;
				flex-direction: column;
			}
				.mybookings-credit-textarea-title
				{
					font-size: 22px;
					color: #508ab3;
					font-weight: bold;
				}
				.mybookings-credit-textarea-text
				{
					margin: 10px 0 0 0;
					font-size: 14px;
				}
				.mybookings-credit-textarea-booknow
				{
					text-align: center;
					background: #43a91f;
					padding: 8px 25px;
					color: #fff;
					text-transform: uppercase;
					font-size: 16px;
					font-weight: bold;
					margin: 15px 0 0 0;
					cursor: pointer;
					text-decoration: none;
				}
	
	.bookings-group
	{
		margin: 25px 0 0 0;
		padding: 10px;
		background: #3372c1;
		border-radius: 6px;
	}
	.bookings-group.unconfirmed
	{
		background: #999;
	}
	.bookings-group.pastbooking
	{
		opacity: .7;
	}
		.bookings-group a
		{
			text-decoration: none;
		}
		.bookings-group-text
		{
			font-size: 14px;
			line-height: 19px;
			color: #444;
			margin: 15px 20px 0 20px;
		}
		.unconfirmed-bookings
		{
			height: 0;
			overflow: hidden;
		}
		.bookings-group-title
		{
			font-size: 18px;
			border-bottom: 1px solid #fff;
			font-weight: 400;
			color: #fff;
		}
			.bookings-group-bookedon
			{
				text-align: right;
				font-size: 12px;
				margin-top: 8px;
				color: #fff;
			}
		.bookings-group-booking
		{
			margin: 12px 0 0 0;
			padding: 10px 15px;
			border: 1px solid #ddd;
			display: flex;
			flex-direction: column;
			border-radius: 5px;
			background: #fff;
		}
			.bookings-group-booking-typeref
			{
				display: flex;
				align-items: baseline;
			}
				.bookings-group-booking-type
				{
					font-size: 16px;
					font-weight: bold;
				}
				.bookings-group-booking-ref
				{
					color: #656565;
					margin-left: auto;
					font-size: 12px;
				}
			.bookings-group-booking-dates
			{
				margin: 10px 0 0 0;
				font-size: 14px;
			}
			.bookings-group-booking-pax
			{
				margin: 6px 0 0 0;
				font-size: 14px;
			}
			.bookings-group-booking-extra
			{
				margin: 6px 0 0 30px;
				color: #656565;
				font-size: 14px;
			}
			.bookings-group-booking-price
			{
				font-size: 24px;
				margin: 15px 0 0 0;
			}
			.bookings-group-booking-addextras
			{
				font-size: 16px;
				font-weight: bold;
				margin: 20px 0 0 0;
			}
				.bookings-group-booking-addextras a
				{
					color: #6d542c;
					text-decoration: none;
				}
			.bookings-group-booking-upgrade
			{
				font-size: 16px;
				font-weight: bold;
				margin: 6px 0 0 0;
			}
				.bookings-group-booking-upgrade a
				{
					color: #58bfb9;
					text-decoration: none;
				}
		.bookings-group-payment
		{
			margin: 10px 0 0 0;
			font-size: 14px;
			color: #faffbd;
			display: flex;
			flex-direction: row;
		}
		.bookings-group-pending-title
		{
			margin-top: 20px;
			color: #3ca8e6;
			font-size: 16px;
			font-weight: bold;
		}
		.bookings-group-payment.pending
		{
			color: #3ca8e6;
			position: relative;
		}
		.bookings-group-payment.first
		{
			margin: 15px 0 0 0;
			font-size: 16px;
			color: #fff;
			font-weight: bold;
		}
			.bookings-group-payment-text
			{
			}
			.bookings-group-payment-amount
			{
				margin-left: auto;
			}
			.bookings-group-payment-remove
			{
				opacity: 0;
				padding-left: 5px;
				background: url(../img/extra-delete.png) center right no-repeat;
				background-size: contain;
				width: 20px;
				height: 20px;
				cursor: pointer;
				position: absolute;
				right: -25px;
				top: 0;
				bottom: 0;
				margin: auto;
			}
			.bookings-group-payment.pending:hover .bookings-group-payment-remove
			{
				opacity: 1;
			}
	
		.bookings-group-balance
		{
			margin: 15px 0 0 0;
			font-size: 16px;
			font-weight: bold;
			display: flex;
			color: #fff;
		}
			.bookings-group-balance-text
			{
			}
			.bookings-group-balance-amount
			{
				margin-left: auto;
			}
	.bookings-group-button
	{
		background: #43a91f;
		color: #fff;
		font-size: 14px;
		font-weight: bold;
		border-radius: 5px;
		padding: 15px 0;
		text-align: center;
		margin: 20px 60px 0 60px;
	}
	.bookings-cancel
	{
		margin: 15px 0 0 0;
		cursor: pointer;
		font-size: 13px;
		text-align: center;
		color: #c00;
	}
	.bookings-notconfirmed
	{
		margin: 15px 0 0 0;
		text-align: center;
		color: #ff6;
		font-size: 13px;
	}
	
	.tbl-required-item
	{
		float: left;
		padding: 15px 0 0 0;
		border-top: 1px solid #ccc;
		margin: 25px 0 0 0;
		list-style: inside circle;
		display: list-item;
		font-size: 16px;
		white-space: nowrap;
	}
	.tbl-required-upload
	{
		float: left;
		margin: 15px 0 0 20px;
		padding: 5px 10px;
		background: #e90;
		color: #fff;
		cursor: pointer;
	}
	.tbl-required-upload.disabled
	{
		cursor: default;
		background: #096;
	}
	.tbl-upload-hidden
	{
		display: none;
	}
	.tbl-upload-progress
	{
		display: none;
		width: 180px;
		height: 15px;
		margin: 15px auto 0 auto;
		position: relative;
		background: url(../img/image-uploading.gif) center no-repeat;
		background-size: 100% 100%;
	}
		.tbl-upload-progress-bar
		{
			height: 13px;
			width: 0px;
			position: absolute;
			left: 0;
			top: 1px;
			background: #3c9;
			border-radius: 3px;
		}
	.tbl-upload-cancel
	{
		display: none;
		width: 180px;
		font-size: 11px;
		margin: 12px 0 0 20px;
		color: #c00;
		cursor: pointer;
		text-align: center;
	}
	.tbl-upload-cancel:hover
	{
		text-decoration: underline;
	}
	.tbl-hasescritura
	{
		margin: 10px 0 0 20px;
		max-width: 700px;
		font-size: 14px;
		color: #1147c9;
	}
	.tbl-remember
	{
		margin: 10px 0 0 20px;
		font-size: 14px;
		color: #666;
	}
	.tbl-accountantmsg
	{
		margin: 20px 0 0 0;
		padding: 20px 0 0 0;
		color: #666;
		border-top: 1px solid #ccc;
	}
	
	.ratings-container
	{
		margin: 0 auto;
	}
	.ratings-subtitle
	{
		font-size: 24px;
		font-weight: 400;
		float: left;
		margin: 22px 0 0 0;
		color: #ad894b;
		width: 250px;
	}
	.stars-container
	{
		float: left;
		margin: 20px 0 0 0;
	}
		.star
		{
			width: 42px;
			height: 42px;
			float: left;
			background: url(../img/star-rating.png) center no-repeat;
			background-size: contain;
			opacity: .3;
			border-left: 10px solid #fff;
			border-right: 10px solid #fff;
		}
		.star:first-child
		{
			border-left: 0;
		}
		.star.selected
		{
			opacity: 1;
		}
		.ratingstext
		{
			color: #fff;
			font-size: 16px;
			font-weight: bold;
			padding: 0 16px 0 8px;
			height: 30px;
			line-height: 30px;
			background: #ff8d18;
			float: left;
			margin: 10px 0 0 30px;
			position: relative;
		}
		.ratingstext:after
		{
			content: '';
			display: block;
			position: absolute;
			left: -20px;
			top: 0;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 15px 20px 15px 0;
			border-color: transparent #ff8c18 transparent transparent;
		}
		.ratingstextcolor0,
		.ratingstextcolorfixed0 {background: #db2122;}
		.ratingstextcolor1,
		.ratingstextcolorfixed1 {background: #b84327;}
		.ratingstextcolor2,
		.ratingstextcolorfixed2 {background: #81762f;}
		.ratingstextcolor3,
		.ratingstextcolorfixed3 {background: #4ea737;}
		.ratingstextcolor4,
		.ratingstextcolorfixed4 {background: #2ac93c;}
		.ratingstextcolor0:after,
		.ratingstextcolorfixed0:after {border-right-color: #db2122;}
		.ratingstextcolor1:after,
		.ratingstextcolorfixed1:after {border-right-color: #b84327;}
		.ratingstextcolor2:after,
		.ratingstextcolorfixed2:after {border-right-color: #81762f;}
		.ratingstextcolor3:after,
		.ratingstextcolorfixed3:after {border-right-color: #4ea737;}
		.ratingstextcolor4:after,
		.ratingstextcolorfixed4:after {border-right-color: #2ac93c;}
		
	.ratings-textarea
	{
		margin: 10px 0 0 0;
	}
		.ratings-textarea textarea
		{
			border: 1px solid #ad894b;
			font-family: Arial, Helvetica, sans-serif;
			font-size: 14px;
			color: #555;
			padding: 10px;
			width: calc(100% - 24px);
		}
	
	.transparency
	{
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		margin: 20px auto;
		width: 100%;
	}
		.transparency-accordion
		{
			width: 100%;
		}
			.transparency-accordion a
			{
				color: inherit;
				text-decoration: none;
			}
	
		.transparency-accordion .expandable
		{
			position: relative;
			padding-left: 8px;
		}
			.transparency-accordion .expandable:before
			{
				content: '';
				display: inline-block;
				vertical-align: middle;
				position: relative;
				top: -2px;
				width: 22px;
				height: 22px;
				background: url('../img/expandarrow.png') center no-repeat;
				background-size: 14px;
				margin-right: 4px;
			}
			.transparency-accordion .expanded:before
			{
				background-image: url('../img/expandedarrow.png');
			}
		.transparency-accordion-item
		{
			line-height: 40px;
			background: #fff;
			color: #000;
			font-size: 16px;
			border-top: 1px solid #ccc;
			cursor: pointer;
			padding-left: 40px;
		}
		.transparency-accordion-item > div
		{
			display: none;
		}
		.transparency-accordion-item > .transparency-accordion-item
		{
			margin-left:  22px;
		}
		.transparency-accordion-subsidies-documents
		{
			border-top: 1px solid #bbb;
			border-bottom: 1px solid #bbb;
			margin: 0 10px;
			padding: 10px 0;
			cursor: default;
		}
			.transparency-accordion-subsidies-document-icon
			{
				display: inline-block;
				width: 24px;
				height: 24px;
				background-size: contain;
				background-repeat: no-repeat;
				background-position: center center;
				vertical-align: middle;
			}
				.transparency-accordion-subsidies-document-icon.icon-excel
				{
					background-image: url('../img/excel.svg');
				}
				.transparency-accordion-subsidies-document-icon.icon-word
				{
					background-image: url('../img/word.svg');
				}
				.transparency-accordion-subsidies-document-icon.icon-pdf
				{
					background-image: url('../img/pdf.svg');
				}
			.transparency-accordion-subsidies-document-label
			{
				display: inline-block;
				vertical-align: middle;
				margin: 0 20px 0 10px;
			}
		.transparency-accordion-accounts-text,
		.transparency-accordion-subsidies-text,
		.transparency-accordion-structure-text
		{
			font-size: 12px;
			line-height: 15px;
			text-align: justify;
			padding: 10px;
			cursor: default;
		}
		.transparency-accordion-subsidies-title
		{
			margin: 10px 10px 0 10px;
			font-weight: bold;
		}
		.transparency-accordion-subsidies-table
		{
			margin: 5px 10px 0 10px;
			font-size: 12px;
			line-height: 14px;
			max-width: 100%;
		}
			.transparency-accordion-subsidies-table th,
			.transparency-accordion-subsidies-table td
			{
				padding: 10px;
				text-align: left;
			}
			.transparency-accordion-subsidies-table td:nth-child(3) a
			{
				word-break: break-all;
			}
		.transparency-accordion-accounts-list
		{
			border-top: 1px solid #bbb;
			border-bottom: 1px solid #bbb;
			margin: 0 10px;
			padding: 10px 0;
			cursor: default;
		}
			.transparency-accordion-accounts-list-item
			{
				display: list-item !important;
				list-style-type: disc;
				list-style-position: inside;
				margin-left: 10px;
				text-align: left;
				font-size: 13px;
				line-height: 17px;
			}
				.transparency-pdf
				{
					display: inline-block;
					vertical-align: middle;
					width: 12px;
					height: 12px;
					background: url('../img/pdf.svg') center no-repeat;
					background-size: contain;
					cursor: pointer;
					margin: 0 0 0 3px;
				}
				.transparency-xlsx
				{
					display: inline-block;
					vertical-align: middle;
					width: 12px;
					height: 12px;
					background: url('../img/excel.svg') center no-repeat;
					background-size: contain;
					cursor: pointer;
					margin: 0 0 0 3px;
				}

	.extras
	{
		max-width: 800px;
		align-self: center;
		margin: 20px;
	}
		.extras-title
		{
			font-size: 15px;
			font-weight: bold;
			text-transform: uppercase;
			margin: 10px 0 0 0;
		}
		.extras-title:first
		{
			margin-top: 0;
		}
		.extras-text
		{
			margin-top: 5px;
			font-size: 13px;
			line-height: 18px;
		}
		
		.extra
		{
			display: flex;
			flex-direction: column;
		}
			.extra-title
			{
				font-size: 16px;
				font-weight: 400;
				color: #222;
				margin: 20px 0 0 0;
				color: #ad894b;
			}
			.extra-subtitle
			{
				margin: 30px 0 0 0;
				font-size: 16px;
				font-weight: bold;
				color: #333;
			}
			.extra-description
			{
				font-size: 14px;
				margin: 10px 0 0 0;
				line-height: 18px;
				padding-bottom: 10px;
				border-bottom: 1px solid #dfdfdf;
			}
			.extra-description-noborder
			{
				font-size: 14px;
				margin: 10px 0 0 0;
				line-height: 18px;
			}
				.extra-description a {color: #4488d3; text-decoration: underline;}
			.extra-note
			{
				font-size: 14px;
				margin: 10px 0 0 0;
				line-height: 18px;
				padding-top: 10px;
				border-top: 1px solid #dfdfdf;
				color: #666;
			}
			.extra-description-safe
			{
				font-size: 14px;
				line-height: 18px;
				margin: 10px 0 0 0;
			}
			.extra-cleaning
			{
				display: flex;
				flex-wrap: wrap;
				gap: 20px;
				margin-top: 10px;
			}
			.extra-cleaning-box
			{
				width: 200px; 
				height: 110px; 
				border-radius: 4px; 
				border: 1px solid #dedede;
			}
			.extra-cleaning-box:first-child
			{
				margin-left: 0;
			}
	.extra-continue
	{
		background: #3372c1;
		color: #fff;
		font-size: 14px;
		font-weight: bold;
		border-radius: 5px;
		padding: 15px 0;
		text-align: center;
		margin-top: 20px;
		cursor: pointer;
	}
	.extra input[type=radio]
	{
		margin: 4px 0 0 10px;
		position: relative;
		top: 2px;
	}
	.extra input:nth-of-type(1)
	{
		margin-top: 12px;
	}
	.extra label
	{
		margin: 0 0 0 3px;
		font-size: 14px;
		vertical-align: middle;
	}
	
	.taxipopup-overlay
	{
		background: #000;
		opacity: .3; 
		width: 100%; 
		height: 100%; 
		position: fixed; 
		top: 0; 
		left: 0; 
		z-index: 10;
	}
	.taxipopup
	{
		width: 300px; 
		background: #fff; 
		position: fixed; 
		top: 0; 
		left: 0; 
		right: 0; 
		bottom: 0; 
		margin: auto; 
		z-index: 10; 
		box-shadow: 2px 2px 1px rgba(0,0,0,.3);
	}
		.taxipopup-title
		{
			margin: 20px 0 0 20px; 
			color: #123a66; 
			font-size: 18px;
			float: left;
		}
		.taxipopup-close
		{
			width: 16px;
			height: 16px;
			float: right;
			margin: 5px 5px 0 0;
			cursor: pointer;
			background: url(../img/popup-close.png) center no-repeat;
		}
		.taxipopup-label
		{
			float: left;
			margin: 24px 0 0 20px;
			width: 50px;
			text-align: right;
			font-size: 13px;
		}
		.taxipopup-select
		{
			float: left;
			margin: 20px 0 0 10px;
		}
		.taxipopup-price
		{
			float: left;
			margin: 24px 0 0 10px;
			font-size: 13px;
			color: #123a66;
		}
		.taxipopup-total
		{
			float: right;
			margin: 18px 20px 0 0;
			color: #123a66;
			font-size: 18px;
		}
		.taxipopup-button
		{
			margin: 18px 0 0 20px; 
			float: left; 
			background: #7e92a8; 
			color: #fff; 
			padding: 4px 9px; 
			border-radius: 2px; 
			font-size: 13px; 
			border: 1px solid #7e92a8; 
			cursor: pointer;
		}
	
	
	.availabilitycalendar-explanation
	{
		margin: 10px 0 0 0;
	}
	
	.availabilitycalendar-apttypes
	{
		margin: 10px 0 0 0;
	}
		.availabilitycalendar-apttypes-title
		{
			font-size: 18px;
		}
		.availabilitycalendar-apttypes-options
		{
			display: flex;
			flex-direction: column;
			gap: 10px;
			margin-top: 10px;
		}
	
	.availabilitycalendar
	{
		margin: 10px 0 0 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	
	/*
	.ui-datepicker-unselectable
	{
		opacity: .5;
		cursor: default;
	}
		.ui-datepicker-unselectable a
		{
			cursor: default;
		}
	
	.ui-datepicker-inline
	{
		display: flex !important;
		width: auto !important;
		flex-wrap: wrap;
	}
		.ui-datepicker-group
		{
			flex: 1;
			width: auto !important;
		}
		.ui-datepicker-row-break
		{
			width: 0;
		}
	.available,
	.available .ui-state-default 
	{
		background: #bcf4bd;
		color: #000;
		cursor: default;
	}
	.fullybooked,
	.fullybooked .ui-state-default 
	{
		background: #f5e1ea;
		color: #000;
		cursor: default;
	}
	.selected,
	.selected .ui-state-default 
	{
		background: #333;
		color: #fff;
	}
	.arrival a,
	.departure a,
	.available a
	{
		cursor: pointer !important;
	}
	.departure
	{
		float: none;
		margin: 0;
		background: linear-gradient(145deg, #f5e1ea 0%,#f5e1ea 50%,#bcf4bd 50%,#bcf4bd 100%) !important;
	}
	.arrival
	{
		float: none;
		margin: 0;
		background: linear-gradient(145deg, #bcf4bd 0%,#bcf4bd 50%,#f5e1ea 50%,#f5e1ea 100%) !important;
	}
		.departure a,
		.arrival a,
		.departure .ui-state-default,
		.arrival .ui-state-default
		{
			background: none !important;
		}
	*/
	.footer
	{
		background: rgba(43,178,174,0.83);
		padding: 20px;
		align-items: center;
		display: flex;
		gap: 60px;
		justify-content: space-evenly;
		color: #fff;
	}
	.footer.home
	{
		bottom: 0;
		width: calc(100% - 40px);
		z-index: 100;
		position: relative;
		margin-top: -280px;
		height: 240px;
	}
	.popup-basket[style="display: flex;"] ~ .container .footer
	{
		padding-bottom: 200px;
	}
		.footer-column
		{
			display: flex;
			flex-direction: column;
			gap: 20px;
		}
			.footer-address
			{
				display: flex;
				gap: 20px;
				align-items: center;
			}
				.footer-address-icon
				{
					width: 30px;
					height: 30px;
					background-size: contain;
					background-repeat: no-repeat;
					background-position: center right;
				}
				.footer-address-text
				{
					line-height: 20px;
					font-size: 14px;
				}
		.footer-social
		{
			display: flex;
			flex-direction: column;
			gap: 20px;
		}
			.footer-social-title
			{
				font-size: 16px;
				font-weight: bold;
				text-align: center
			}
			.footer-social-links
			{
				display: flex;
				gap: 10px;
				justify-content: center;
			}
				.footer-social-link
				{
					width: 48px;
					height: 48px;
					background-position: center;
					background-repeat: no-repeat;
					background-size: contain;
				}
		.footer-links
		{
			display: flex;
			gap: 20px;
		}
			.footer-links-column
			{
				font-size: 16px;
				line-height: 22px;
				text-align: center;
			}
				.footer a
				{
					color: inherit;
					text-decoration: none;
				}
				.footer a:hover
				{
					text-decoration: underline;
				}
		.footer-certificates
		{
			display: flex;
			flex-direction: column;
			gap: 20px;
		}
			.footer-certificates-title
			{
				text-transform: uppercase;
				font-size: 16px;
				font-weight: bold;
			}
			.footer-certificates-certificates
			{
				display: flex;
				gap: 10px;
			}
				.footer-certificate-bookingdotcom
				{
					width: 160px;
					height: 160px;
					background: url(../img/certificate-bookingdotcom.png) center no-repeat;
					background-size: contain;
				}
				.footer-certificate-tripadvisor
				{
					width: 160px;
					height: 160px;
					background: url(../img/certificate-tripadvisor.png) center no-repeat;
					background-size: contain;
				}

@media screen and (max-width: 1400px)
{
	.home-top-logo-logo
	{
		width: 250px;
	}
	.home-top-logo-paloma
	{
		font-size: 46px;
	}
	.home-top-logo-apartments
	{
		font-size: 32px;
	}
}

@media screen and (max-width: 1200px)
{
	.footer
	{
		flex-wrap: wrap;
		height: auto;
		margin-top: 0;
	}
}

@media screen and (max-width: 1100px)
{
	.cookiebanner
	{
		flex-direction: column;
	}
	
	.header
	{
		padding: 5px;
	}
	
	.home-top-features-container
	{
		position: relative;
	}
		.home-top-features-scroller
		{
			display: flex;
			position: absolute;
			bottom: 10px;
			height: 30px;
			width: 100%;
			gap: 20px;
			justify-content: center;
		}
			.home-top-features-scroller-dot
			{
				width: 18px;
				height: 18px;
				border-radius: 30px;
				cursor: pointer;
				background: #fff;
			}
			.home-top-features-scroller-dot.selected
			{
				width: 12px;
				height: 12px;
				border: 3px solid #fff;
				background: none;
			}
		.home-top-features
		{
			width: calc(100% * 8 - 40px);
			padding-bottom: 60px;
			position: relative;
		}
				.home-top-feature-text
				{
					word-spacing: normal;
				}
	
	.footer.home
	{
		width: auto;
		height: auto;
		margin-top: 0;
	}
}

@media screen and (max-width: 1000px)
{
	.home-top-bookingdetails-inner
	{
		display: grid;
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
	}
		.home-top-bookingdetails-input
		{
			border-left: 0;
		}
		.home-top-bookingdetails-guests
		{
			border-right: 0;
		}
		.home-top-bookingdetails-search
		{
			grid-column: span 2;
		}
	
	.home-bottom-apartment
	{
		flex-direction: column;
	}
		.home-bottom-apartment-features
		{
			width: 100%;
		}
			.home-bottom-apartment-features-list
			{
				display: flex;
				justify-content: space-evenly;
				gap: 30px;
			}
				.home-bottom-apartment-feature
				{
					flex: 1;
				}
					.home-bottom-apartment-feature-icon
					{
						width: 100%;
						height: 0;
						padding-top: 75%;
					}
					.home-bottom-apartment-feature-text
					{
						display: none;
					}
			.home-bottom-apartment-priceandbook
			{
				flex-direction: column;
			}
				.home-bottom-apartment-pricediscounted
				{
					justify-content: center;
				}
				.home-bottom-apartment-pax
				{
					width: auto;
				}
					.home-bottom-apartment-person
					{
						width: 30px;
						height: 30px;
					}
				.home-bottom-apartment-booknow
				{
					margin: 0;
				}
				
	.popup-booking
	{
		flex-direction: column;
		gap: 15px;
	}
		.popup-booking-buttons
		{
			flex-direction: row;
			width: 100%;
		}
			.popup-booking-booknow,
			.popup-booking-addtobasket
			{
				flex: 1;
				white-space: normal;
				text-align: center;
			}
}

@media screen and (max-width: 800px)
{
  [role="tooltip"]
  {
    display: block !important;
  }
	
	.home-top-checkavailability
	{
		display: none;
	}
	
	.home-top-bookingdetails-checkavailability
	{
		display: flex;
	}

	.content
	{
		margin-bottom: 30px;
	}
	
	.apartment
	{
		flex-direction: column !important;
	}
		.apartment-image
		{
			height: 400px !important;
			flex: auto;
		}
	
	.contact-info-columns
	{
		flex-direction: column;
	}
		.contact-info-column
		{
			align-content: center;
			justify-content: center;
		}
			.contact-info-title
			{
				text-align: center;
			}
			.contact-info-details
			{
				align-self: center;
			}
	
	.home-bottom-tagline-text
	{
		text-align: left;
	}
	
	.header.home:not(.scrolled) .header-menu-hamburger,
	.header.home:not(.scrolled) .header-menu-account-initials,
	.header.home:not(.scrolled) .header-menu-lang-item.selected .header-menu-lang-text
	{
		filter: brightness(1000%);
		color: #fff;
	}
	
	.header
	{
		z-index: 550;
	}
	
	.header-menu
	{
		position: relative;
	}
		.selected .header-menu-lang-text
		{
			display: none;
		}
	.header-menu-hamburger
	{
		display: block;
		width: 45px;
		height: 45px;
		background: url(../img/hamburger.png) center no-repeat;
		background-size: contain;
		cursor: pointer;
		margin-left: 20px;
	}
		.header-menu-links
		{
			display: none;
			position: fixed;
			top: 76px;
			width: calc(100vw);
			padding: 30px 0;
			height: calc(100vh - 126px);
			left: 0;
			flex-direction: column;
			gap: 25px;
			flex: 0;
			background: #fff;
			justify-content: flex-start;
		}
			.header-menu-links a,
			.header-menu-link
			{
				color: #000 !important;
			}
			.header-menu-link
			{
				margin: 0;
			}
		.header-menu-account
		{
			margin-left: 0;
		}
		.header-menu-lang
		{
			margin-left: auto;
		}
	
	.popup-basket
	{
		width: 100%;
		right: 0;
		left: 0;
	}
	.popup-basket:after
	{
		right: 100px;
	}
	
	.popup-gallery-gallery
	{
		width: calc(100vw - 40px);
		height: calc((100vw - 40px) / 3 * 2);
		max-height: none;
	}
	
	.home-top
	{
		min-height: 100vh;
	}
	
	.home-top-logo
	{
		transform: scale(.7, .7);
		margin: 60px auto;
	}
		.home-top-logo-logo
		{
			display: none;
		}
		
		.home-top-logo-paloma
		{
			font-size: 60px;
		}
		.home-top-logo-apartments
		{
			font-size: 46px;
		}
	
	.home-top-features-container
	{
		margin-top: 80px;
	}
	.home-top-features-scroller
	{
		gap: 15px;
	}
	
	.home-top-bookingdetails
	{
		background: #fff;
	}
		.home-top-bookingdetails-inner
		{
			display: flex;
			flex-direction: column;
			padding: 30px;
			gap: 20px;
		}
			.home-top-bookingdetails-input,
      .home-top-bookingdetails-guests
			{
				border-radius: 40px;
				border: 2px solid #666;
				background: #fff;
				padding: 10px;
			}
      .home-top-bookingdetails-guests
      {
        overflow: visible;
      }
				.home-top-bookingdetails-guests-text
				{
					text-align: center;
					margin-left: 0;
					margin-right: 0;
					flex: 1;
					height: 32px;
					line-height: 32px;
				}
				.home-top-bookingdetails-guests-icon
				{
					position: absolute;
					right: 20px;
					top: 0;
					bottom: 0;
					margin: auto;
				}
        .home-top-bookingdetails-guestspopup-container
        {
          position: fixed;
          z-index: 1000;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background: rgba(0,0,0,.3);
          align-items: center;
          justify-content: center;
        }
				.home-top-bookingdetails-input input,
				.home-top-bookingdetails-input select
				{
					background: #fff;
					background-size: contain !important;
					height: 30px;
					line-height: 30px;
					background-position: center right 10px !important;
				}
				.home-top-bookingdetails-input select:has(option:checked:not([value=""]))
				{
					background: #fff;
				}
			.home-top-bookingdetails-search
			{
				border-radius: 40px;
				border: 2px solid #666;
			}
	
	.popup-booking-buttons
	{
		flex-direction: column;
	}
	.popup-booking-booknow,
	.popup-booking-addtobasket
	{
		border-radius: 50px;
		font-size: 18px;
	}
	
	.home-bottom
	{
		padding-bottom: 0 !important;
		min-height: auto;
	}
		.home-bottom-tagline
		{
			margin-top: 50px;
		}
		.home-bottom-tagline
		{
			margin-top: 130px;
		}
		.home-bottom-reviews
		{
			margin-bottom: 50px;
		}
			.home-bottom-taglinereviews
			{
				flex-direction: column;
			}
				.home-bottom-review-icon
				{
					width: 40px;
					height: 40px;
				}
	
	.home-bottom-apartment
	{
		padding: 10px 15px;
		gap: 10px;
	}
		.home-bottom-apartment-title
		{
			font-size: 18px;
		}
		.home-bottom-apartment-image
		{
			margin: 0 15px;
			min-height: 175px;
		}
		.home-bottom-apartment-features
		{
			margin: 5px 0;
		}
			.home-bottom-apartment-features-list
			{
				flex-wrap: wrap;
				justify-content: center;
			}
			.home-bottom-apartment-feature
			{
				width: calc(20% - 25px);
				flex: none;
			}
			.home-bottom-apartment-features-moreinfo
			{
				text-align: center;
			}
			
			.home-bottom-apartment-paxprice
			{
				flex-direction: column;
				align-items: center;
			}
				.home-bottom-apartment-pax
				{
					display: none;
				}
				.home-bottom-apartment-nights
				{
					flex: 1;
					font-size: 20px;
					color: #444;
				}
				.home-bottom-apartment-price
				{
					flex: 1;
					font-size: 28px;
				}
	
	.checkout
	{
		margin-left: 0;
		margin-right: 0;
	}
		.checkout-bookings
		{
			display: flex;
			flex-direction: column;
			gap: 20px;
		}
	
	.checkout-guestdetails-input input
	{
		width: calc(100% - 22px);
	}
	
	.splash-text
	{
		font-size: 60px;
		text-indent: 0;
		margin-left: 10px;
		overflow-wrap: break-word;
		width: 100%;
	}
	
	.box-section,
	.box:nth-of-type(odd) .box-section
	{
		flex-direction: column !important;
	}
	
	.ratingstext
	{
		display: none;
	}
	
	.footer
	{
		gap: 20px;
	}
		.footer-links
		{
			flex-direction: column;
			gap: 0;
		}
		.footer-certificates-title
		{
			text-align: center;
		}
}

@media screen and (max-width: 600px)
{
	.cookiebanner-buttons
	{
		flex-direction: column;
	}
		.cookiebanner-button
		{
			text-align: center;
		}
}

@media screen and (max-width: 500px)
{
	.header > a
	{
		flex: 1;
	}
	.header-logo
	{
		flex: 1;
		width: auto;
	}
	.header-menu
	{
		width: auto;
	}
}

@media screen and (max-width: 350px)
{
	.home-top-logo
	{
		margin-top: 40px;
	}
}