/*
	GLOBAL
*/
.pp-hidden {
	display: none;
}

.pp-show-mobile {
	display: none;
}

.pp__flow-notice {
	margin: 20px 0;
	padding: 16px 20px;
	background-color: #fff8e5;
	border-left: 4px solid #f0a500;
	color: #333;
}

.pp__flow-notice.pp__flow-notice--error {
	background-color: #fdecea;
	border-color: #d93025;
	color: #5f1f1f;
}

.pp-form-control {
	display: block;
	width: 100%;
}

.pp-text-right {
	text-align: right;
}

strong { 
	font-weight: bold;
}

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: 1000px;
}

/*
	Columns
*/
.pp-row {
	margin-right: -10px;
	margin-left: -10px;
}

	.pp-row:before,
	.pp-row:after {
		display: table;
		content: " ";
	}

	.pp-row:after {
		clear: both;
	}

	.pp-no-gutters {
		margin-left: 0;
		margin-right: 0;
	}

		.pp-no-gutters .pp-col-5,
		.pp-no-gutters .pp-col-6,
		.pp-no-gutters .pp-col-7 {
			padding-left: 0;
			padding-right: 0;
		}

.pp-col-1,
.pp-col-2,
.pp-col-3,
.pp-col-4,
.pp-col-5,
.pp-col-6,
.pp-col-7,
.pp-col-8,
.pp-col-9,
.pp-col-10,
.pp-col-11,
.pp-col-12 {
	float: left;
	position: relative;
	min-height: 1px;
	padding-right: 10px;
	padding-left: 10px;
	display: inline-block;
	box-sizing: border-box;
}

.pp-col-1 {
	width: 8.33333333%;
}

.pp-col-2 {
	width: 16.66666667%;
}

.pp-col-3 {
	width: 25%;
}

.pp-col-4 {
	width: 33.33333333%;
}

.pp-col-5 {
	width: 41.6666666667%;
}

.pp-col-6 {
	width: 50%;
}

.pp-col-7 {
	width: 58.33333333%;
}

.pp-col-8 {
	width: 66.66666667%;
}

.pp-col-9 {
	width: 75%;
}

.pp-col-10 {
	width: 83.33333333%;
}

.pp-col-11 {
	width: 91.66666667%;
}

.pp-col-12 {
	width: 100%;
}


/*
	HOMEPAGE FORM
*/
.pp__homepage__widget__container {
	position: relative;
}

.pp__homepage__widget {
	border-radius: 10px;
	box-shadow: 0px 4px 4px 0px #99999980;
	padding: 32px 24px;
	font-size: 16px;
	line-height: 22px;
	color: #FFFFFF;
}

	body.page .pp__homepage__widget {
		padding-top: 20px;
		padding-bottom: 0;
	}

.pp__homepage__widget .pp-form-group {
	margin-bottom: 0;
}

.pp__homepage__widget .pp-row {
	display: flex;
	justify-content: center;
}

.pp__homepage__widget label {
	font-size: 16px;
	margin-bottom: 4px;
	font-weight: 500;
	display: inline-block;
}

.pp__homepage__widget input {
	border-radius: 0 !important;
	border: none !important;
	box-shadow: none !important;
	background-color: #FFF !important;
	cursor: pointer;
	height: 38px;
}
	
	.pp__homepage__widget #startdate,
	.pp__homepage__widget #enddate {
		border-top-left-radius: 5px !important;
		border-bottom-left-radius: 5px !important;
		box-sizing: border-box;
	}

	.pp__bookingform input[type=text]:focus, 
	.pp__homepage__widget input[type=text]:focus,
	.pp__bookingform input[type=email]:focus, 
	.pp__homepage__widget input[type=email]:focus,
	.pp__bookingform input[type=url]:focus, 
	.pp__homepage__widget input[type=url]:focus,
	.pp__bookingform input[type=password]:focus,
	.pp__homepage__widget input[type=password]:focus
	.pp__bookingform input[type=search]:focus, 
	.pp__homepage__widget input[type=search]:focus,
	.pp__bookingform input[type=number]:focus, 
	.pp__homepage__widget input[type=number]:focus,
	.pp__bookingform input[type=tel]:focus, 
	.pp__homepage__widget input[type=tel]:focus,
	.pp__bookingform input[type=date]:focus, 
	.pp__homepage__widget input[type=date]:focus,
	.pp__bookingform input[type=month]:focus, 
	.pp__homepage__widget input[type=month]:focus,
	.pp__bookingform input[type=week]:focus, 
	.pp__homepage__widget input[type=week]:focus,
	.pp__bookingform input[type=time]:focus, 
	.pp__homepage__widget input[type=time]:focus,
	.pp__bookingform input[type=datetime]:focus, 
	.pp__homepage__widget input[type=datetime]:focus,
	.pp__bookingform input[type=datetime-local]:focus, 
	.pp__homepage__widget input[type=datetime-local]:focus,
	.pp__bookingform input[type=color]:focus, 
	.pp__homepage__widget input[type=color]:focus,
	.pp__bookingform textarea:focus,
	.pp__homepage__widget textarea:focus {
		outline: none !important;
	}

.pp__homepage__widget select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: rgb(255, 255, 255);
	border-radius: 0 !important;
	border: none !important;
	box-shadow: none !important;
	cursor: pointer;
	position: relative;
	height: 40px;
}

	.pp__homepage__widget select:after {
		content: " ";
		display: block;
		position: absolute;
		width: 12px;
		height: 12px;
		top: 15px;
		right: 0;
		background-color: black;
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;

		-webkit-mask-image: url('../img/icon-down-new.svg');
		mask-image: url('../img/icon-down-new.svg');
	}

	.pp__bookingform .text-muted {
	   opacity: 60%;
	}

.date__input__wrapper,
.airport__input__wrapper {
	position: relative;
}
	
	.date__input__wrapper input,
	.airport__input__wrapper select {
		padding-left: 25px !important;
		padding-right: 0 !important;
	}

	.airport__input__wrapper select {
		background-position: right 10px top 50% !important;
	}

	.date__input__wrapper:after,
	.airport__input__wrapper:before,
	.airport__input__wrapper:after {
		content: " ";
		display: block;
		position: absolute;
		background-color: black;
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
	}
	
		.date__input__wrapper:after {
			top: 12px;
			left: 7px;
			width: 15px;
			height: 15px;
			-webkit-mask-image: url('../img/icon-calendar-new.svg');
			mask-image: url('../img/icon-calendar-new.svg');
		}

		.airport__input__wrapper:before {
			top: 10px;
			left: 5px;
			width: 16px;
			height: 24px;
			-webkit-mask-image: url('../img/icon-location.svg');
			mask-image: url('../img/icon-location.svg');
			-webkit-mask-size: contain;
			mask-size: contain;
			z-index: 10;
		}

		.airport__input__wrapper:after {
			top: 15px;
			right: 10px;
			width: 12px;
			height: 12px;
			-webkit-mask-image: url('../img/icon-down-new.svg');
			mask-image: url('../img/icon-down-new.svg');
		}

.pp__homepage__widget .btn.btn-block.btn-primary,
.pp__products .btn {
	margin-top: 24px !important;
	height: 40px !important;
	border: none;
	border-radius: 5px !important;
	width: 100%;
	font-size: 16px;
	font-weight: bold;
	cursor: pointer;
	-webkit-transition: all 200ms ease-in-out;
	transition: all 200ms ease-in-out;
}

	.pp__products .btn {
		height: auto !important;
		width: auto;
		font-size: 18px;
		padding: 14px 22px;
	}

	.pp__homepage__widget .btn.btn-block.btn-primary.disabled, 
	.pp__homepage__widget .btn.btn-block.btn-primary:disabled,
	.pp__products .btn.disabled, 
	.pp__products .btn:disabled {
		opacity: 0.5;
		cursor: not-allowed;
	}

	.pp__homepage__widget .btn.btn-block.btn-primary:hover,
	.pp__products .btn:hover {
		opacity: 0.75;
		-webkit-transform: translateY(-2px);
		transform: translateY(-2px);
		box-shadow: 0px 2px 2px 0px rgb(0 0 0 / 25%);
	}

.btn.disabled, 
.btn:disabled {
	opacity: .6;
	box-shadow: none;
}

.flatpickr-calendar {
	font-family: "Inter", Sans-serif !important;
	border-radius: 7px;
	padding: 16px 35px 35px 35px;
	-wekbit-box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3), -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgb(0 0 0 / 8%);
	box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3), -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgb(0 0 0 / 8%);
}
	
	.flatpickr-calendar:before {
		border-width: 10px;
		margin: 0 -10px;
	}

	.flatpickr-calendar.arrowTop:before {
		border-bottom-color: #cccbcb;
	}

	.flatpickr-calendar:after {
		border-width: 7px;
		margin: 0px -7px;
	}

	.flatpickr-calendar .dayContainer,
	.flatpickr-weekdaycontainer {
		padding: 0 15px;
	}

	.flatpickr-current-month,
	.flatpickr-day {
		font-weight: 700;
		font-size: 14px;
	}

	.flatpickr-day {
		border-radius: 7px;
	}

	.flatpickr-day.selected.startRange, 
	.flatpickr-day.startRange.startRange, 
	.flatpickr-day.endRange.startRange {
		border-radius: 7px 0 0 7px;
	}

	.flatpickr-day.selected.endRange, 
	.flatpickr-day.startRange.endRange, 
	.flatpickr-day.endRange.endRange {
		border-radius: 0 7px 7px 0;
	}

	.flatpickr-day.today {
		border-color: rgba(0, 0, 0, 0.2);
	}

	.flatpickr-monthDropdown-months,
	.flatpickr-calendar .flatpickr-current-month span.cur-month,
	.flatpickr-current-month input.cur-year {
		font-weight: bold !important;
		font-size: 14px !important;
	}

	.flatpickr-day.hidden {
		display: inline-block;
	}

	.flatpickr-months .flatpickr-prev-month, 
	.flatpickr-months .flatpickr-next-month {
		top: 10px;
	}

	.flatpickr-calendar .btn-calendar-mobile,
	.flatpickr-calendar .calendar-header-mobile {
		display: none !important;
	}

	.flatpickr-calendar .calendar-dates-mobile {
		display: none;
	}

	.flatpickr-calendar.open {
		margin-top: 38px;
	}

.pp__homepage__widget .select2-container--default .select2-selection--single {
	background-color: #fff;
	border: none;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}

.pp__homepage__widget :where(.wp-site-blocks *:focus) {
	outline-width: 0 !important;
}

.select2-container .select2-selection--single {
	height: 38px;
	cursor: pointer;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 1.5;
	height: 26px;
	padding: 7px 0;
}

.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: #000000 !important;
}

.parsley-error .select2-container--default .select2-selection--single .select2-selection__rendered, 
.parsley-error .select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: #ff0f0f !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	position: absolute;
	top: 15px;
	right: 11px;
	width: 12px;
	height: 12px;
	background-color: black;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-image: url('../img/icon-down-new.svg');
	mask-image: url('../img/icon-down-new.svg');
}

	.pp__bookingform__section .select2-container--default .select2-selection--single .select2-selection__arrow {
		top: 22px;
	}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: transparent transparent transparent transparent;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
	border-color: transparent transparent transparent transparent;
}

.select2-container--open .select2-dropdown {
	box-shadow: 0px -1px 10px 1px rgba(0, 0, 0, 0.2);
	border: none;
	border-radius: 7px;
	overflow: hidden;
	width: 109px !important;
	left: 0px !important;
	top: 0px;
}

	body:not(.home) .select2-container--open .select2-dropdown {
		top: 0;
		width: 289px !important;
	}

.select2-search--dropdown {
	padding: 9px 12px 9px 9px;
}

body.home .select2-search--dropdown {
	display: none !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
	border: 1px solid #c1c2c3;
}

.select2-container--default .select2-results>.select2-results__options {
	font-family: inherit;
	font-weight: bold;
	color: #3c3c3c;
	max-height: 456px;
}

	body.home .select2-container--default .select2-results>.select2-results__options {
		text-align: center;
	}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
	background: rgba(0, 0, 0, 0.15) !important;
	color: black !important;
}

.select2-container--default .select2-results__option--disabled {
	cursor: not-allowed;
}

.pp__bookingform__sidebar__bookingdates {
	padding-bottom: 15px;
	border-bottom: 1px solid rgba(67, 67, 67, 0.5);
	margin-bottom: 15px;
}

.pp__bookingform .alert-danger {
	color: red;
	background: #FFEBEE;
	border-radius: 5px;
	padding: 15px;
	margin-bottom: 15px;
}

.pp__homepage__widget__airport__overlay {
	background-color: #FFF;
	border-radius: 7px;
	padding: 20px 26px;
	margin-top: 7px;
	box-shadow: 0px 4px 4px 0px #99999980;
	position: absolute;
	left: 12px;
	right: 470px;
	z-index: 10;
	visibility: hidden;
	opacity: 0;
	-webkit-transform: translate(0, -50%) scale(1, 0.1);
	transform: translate(0, -50%) scale(1, 0.1);
	-webkit-transition: all 300ms ease-in-out;
	transition: all 300ms ease-in-out;
}

	.pp__homepage__widget__airport__overlay.visible {
		visibility: visible;
		opacity: 1;
		-webkit-transform: translate(0, 0) scale(1);
		transform: translate(0, 0) scale(1);
	}

.pp__homepage__widget__inputs__info {
	color: #FFF;
	border-radius: 20px;
	width: 20px;
	height: 20px;
	font-weight: 500;
	font-size: 15px;
	line-height: 20px;
	text-align: center;
	cursor: pointer;
	margin-top: 8px;
	-webkit-transition: all 300ms ease-in-out;
	transition: all 300ms ease-in-out;
}

	.pp__homepage__widget__inputs__info:hover {
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}

.pp__homepage__widget__airport__container {
	list-style: none;
	margin: 0 0 -17px 0;
	padding: 0 0 50px 0;
	max-height: calc(5 * 81px);
	overflow-y: scroll;
	position: relative;
}

	.pp__homepage__widget__airport__container:after {
		display: block;
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		content: "⌄";
		width: 48%;
		height: 90px;
		background: linear-gradient(0deg, white, transparent);
		line-height: 120px;
		text-align: center;
		font-weight: bold;
		color: rgba(0, 0, 0, 0.8);
		pointer-events: none;
		font-size: 30px;
		text-shadow: 0px 0px 2px #9c9c9c;
	}

.pp__homepage__widget__airport {
	display: flex;
	flex-direction: row;
	margin-bottom: 17px;
	margin-right: 10px;
	cursor: pointer;
	border-radius: 7px;
	background-color: rgba(0, 0, 0, 0);
	-webit-transition: background 200ms ease-in-out;
	transition: background 200ms ease-in-out;	
}

	.pp__homepage__widget__airport:hover {
		background-color: rgba(0, 0, 0, 0.2);
	}

	.pp__homepage__widget__airport__image {
		width: 60px;
		height: 60px;
		overflow: hidden;
		border-radius: 7px;
		background-color: rgba(0, 0, 0, 0.2);
		border: none;
		-webkit-transition: border 200ms ease-in-out;
		transition: border 200ms ease-in-out;
	}

		.pp__homepage__widget__airport__image img {
			width: 100%;
			max-width: 100%;
		}

		.pp__homepage__widget__airport:hover .pp__homepage__widget__airport__image {
			border: 2px solid rgb(204 204 204);
		}

	.pp__homepage__widget__airport__info {
		margin-left: 15px;
		padding-top: 7px;
	}

		.pp__homepage__widget__airport__info h5,
		.pp__homepage__widget__airport__info h6 {
			font-size: 15px;
			line-height: 20px;
			font-weight: normal;
		}
		
		.pp__homepage__widget__airport__info h5 {
			font-weight: bold;
			margin-bottom: 3px;
		}

	.pp__homepage__widget__airports__filter ul {
		list-style: none;
		margin: 0;
		padding: 8px 0 0 0;
	}

		.pp__homepage__widget__airports__filter__option {
			font-weight: bold;
			margin-bottom: 10px;
			cursor: pointer;
			-webkit-transition: color 250ms ease-in-out;
			transition: color 250ms ease-in-out;
		}

	.pp__homepage__widget__column__line:before {
		content: " ";
		display: block;
		position: absolute;
		width: 1px;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.2);
		top: 0;
		left: -12px;
		bottom: 0;
	}

.pp__homepage__widget__locations__filter {
	margin-top: 70px;
	color: #FFFFFF;
}

	.pp__homepage__widget__locations__filter h3 {
		font-weight: bold;
		font-size: 16px;
		margin-top: 7px;
	}

	.pp__homepage__widget__filter__button {
		border: none;
		border-radius: 10px;
		font-weight: bold;
		font-size: 16px;
		height: 34px;
		line-height: 16px;
		padding: 0 40px 0 13px;
		display: inline-block;
		background-image: url('../img/icon-down-white-new.svg') !important;
		background-repeat: no-repeat;
		background-position: right 10px top 50%;
		background-size: 12px;
		cursor: pointer;
		max-width: 49%;
	}

	.pp__bookingform__invoice ::-webkit-input-placeholder {
		opacity: 50%;
	}

	.pp__bookingform__invoice :-moz-placeholder {
	   opacity: 50%;
	}

	.pp__bookingform__invoice ::-moz-placeholder {
	   opacity: 50%;
	}

	.pp__bookingform__invoice :-ms-input-placeholder {
	   opacity: 50%;
	}

	.pp__bookingform__invoice ::-ms-input-placeholder {
	   opacity: 50%;
	}

	.pp__bookingform__invoice ::placeholder {
	   opacity: 50%;
	}
 

.pp__homepage__widget__booking__navigation {
	border-radius: 10px;
	height: 86px;
	padding: 0 14px;
	margin-top: 27px;
	position: relative;
}
	
	.pp__homepage__widget__booking__navigation:before {
		content: " ";
		display: block;
		position: absolute;
		left: 24px;
		right: 24px;
		height: 1px;
		top: 50%;
	}

	.pp__homepage__widget__booking__navigation ul {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: space-between;
	}

	.pp__homepage__widget__booking__navigation li {
		display: inline-block;
		font-weight: bold;
		font-size: 18px;
		line-height: 86px;
		z-index: 1;
		padding-left: 10px;
		padding-right: 10px;
	}

	.pp__homepage__widget__booking__navigation__circle {
		width: 50px;
		height: 50px;
		border-radius: 50px;
		text-align: center;
		font-weight: 800;
		font-size: 20px;
		line-height: 50px;
		display: inline-block;
		margin-right: 10px;
		position: relative;
	}

	.pp__homepage__widget__booking__navigation__circle.done:after {
		content: " ";
		display: block;
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		background: transparent url('../img/icon-check-white.svg') no-repeat center center;
	}

.pp__homepage__widget .parsley-errors-list {
	display: none;
}

.pp__homepage__widget .pp__homepage__widget__airport__input.parsley-error::placeholder,
.pp__homepage__widget input.parsley-error::placeholder,
.pp__homepage__widget select.parsley-error {
	color: #ff0f0f !important;
}

.pp__homepage__widget select {
	min-width: 108px;
}

.pp__homepage__widget .pp-form-group select,
.pp__homepage__widget .pp-form-group option { 
	-webkit-appearance: none;
	background-color: #FFFFFF !important;
}

.pp__homepage__widget .pp-form-group select {
	border-radius: 5px !important;
}

#pp__form-errors-container {
	display: none;
	margin: 15px; 
	padding: 15px; 
	border: 1px solid red; 
	background-color: #fff;
	border-radius: 4px;
}

	#pp__form-error-message {
		color: red; 
		display: block; 
		font-size: 16px;
	}

/*
	PRODUCT SELECTION PAGE
*/
.pp__products {
}

	.pp__products h2 {
		font-weight: bold;
		font-size: 20px;
	}

.pp__products__sorting--reservation-flow {
	max-width: 320px;
}

	.pp__products__sorting--reservation-flow .pp__products__sorting__label--reservation-flow {
		font-weight: 600;
		display: block;
		margin-bottom: 6px;
	}

	.pp__products__sorting--reservation-flow select {
		border: 1px solid rgba(67, 67, 67, 0.3);
		border-radius: 7px;
		box-shadow: none;
		background-color: #FFFFFF;
		font-weight: 600;
		height: 48px;
		line-height: 48px;
		padding: 0 8px;
	}

.pp__products__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pp__products__location {
	margin-right: 15px;
	margin-bottom: 15px;
	display: flex;
	border-radius: 10px;
	background: #f3f3f3;
	overflow: hidden;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: space-between;
	-webkit-transition: all 300ms ease-in-out;
	transition: all 300ms ease-in-out;
}

	.pp__products__location--selected {
		box-shadow: 0px 0px 20px 5px rgb(0 0 0 / 29%);
		position: relative;
		border: 2px solid #7fbb00;
	}

		.pp__products__location--selected::after {
			content: "✓";
			display: block;
			position: absolute;
			bottom: -2px;
			right: -2px;
			color: white;
			font-size: 50px;
			font-weight: 900;
			line-height: 60px;
			border-radius: 100px;
			width: 70px;
			height: 70px;
			text-align: center;
		}

		.pp__products__location .pp__option__remove {
			display: none;
		}

		.pp__products__location--selected .pp__option__remove {
			display: block;
		}

		.pp__products__location--selected .pp__option__add {
			display: none;
		}

	.pp__products__location--disabled {
		position: relative;
		opacity: 0.4;
		pointer-events: none;
	}

	.pp__products__location .pp__option__add,
	.pp__products__location .pp__option__remove {
		padding: 0 10px;
	}

	.pp__option__checkbox {
		display: none;
	}

	.pp__products .pp__products__location h3 { 
		word-break: break-word;
	}

	.pp__products__location__top { 
		position: relative;
		padding-bottom: 10px;
	}

	.pp__filters {
		margin-bottom: 20px;
	}

	.pp__products__location__top p {
		padding-left: 20px;
		padding-right: 20px;
	}

	.pp__products__location__top h4,
	.pp__products__location__top h3 {
		padding-left: 20px;
		padding-right: 20px;
	}

		.pp__products__location__top__image {
			border: 0;
			color: #FFF;
			background: repeating-linear-gradient(
			  45deg,
			  #eee,
			  #eee 15px,
			  #ddd 15px,
			  #ddd 30px
			);
			margin-top: 0;
			margin-bottom: 10px;
			position: relative;
			min-height: 1px;
			padding-bottom: 66%;
			background-size: cover;
			background-position: center;
			background-repeat: no-repeat;
			overflow: hidden;
			border-radius: 8px;
		}

		.pp__location-slider__track {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
		}

		.pp__location-slider__slide {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-size: cover;
			background-position: center;
			background-repeat: no-repeat;
			opacity: 0;
			transition: opacity 250ms ease-in-out;
		}

		.pp__location-slider__slide.is-active {
			opacity: 1;
		}

		.pp__location-slider__nav {
			position: absolute;
			top: 50%;
			width: 38px;
			height: 38px;
			margin-top: -19px;
			border: none;
			border-radius: 999px;
			background: rgba(0, 0, 0, 0.45);
			color: #fff;
			cursor: pointer;
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 0;
			z-index: 2;
			opacity: 0;
			visibility: hidden;
			pointer-events: none;
			transition: opacity 200ms ease-in-out;
			background-clip: padding-box;
		}

		.pp__location-slider__nav span {
			position: absolute;
			width: 1px;
			height: 1px;
			padding: 0;
			margin: -1px;
			overflow: hidden;
			clip: rect(0, 0, 0, 0);
			white-space: nowrap;
			border: 0;
		}

		.pp__location-slider__nav::after {
			content: '';
			position: absolute;
			top: 50%;
			left: 55%;
			width: 14px;
			height: 14px;
			margin-left: -7px;
			margin-top: -7px;
			border-top: 2px solid #fff;
			border-right: 2px solid #fff;
			transform: rotate(45deg);
		}

		.pp__location-slider__nav--next::after {
			left: 40%;
		}

		.pp__location-slider__nav--prev {
			left: 12px;
		}

		.pp__location-slider__nav--next {
			right: 12px;
		}

		.pp__location-slider__nav--prev::after {
			transform: rotate(225deg);
		}

		.pp__location-slider__nav--next::after {
			transform: rotate(45deg);
		}

		.pp__products__location__top__image:hover .pp__location-slider__nav,
		.pp__location-slider__nav:focus,
		.pp__location-slider__nav:focus-visible {
			opacity: 1;
			visibility: visible;
			pointer-events: auto;
		}

		.pp__products__location__top__usps {
			list-style: none !important;
			list-style-type: none !important;
			margin: 0;
			padding: 0 20px 20px 20px;
		}

		.pp__products__location__top__usps li {
			padding-left: 36px;
			margin-bottom: 10px;
			font-weight: bold;
			font-size: 14px;
			position: relative;
			list-style: none !important;
			list-style-type: none !important;
		}

		.pp__products__location__top__usps .shuttle:before,
		.pp__products__location__top__usps .valet:before,
		.pp__products__location__top__usps .oneway:before {
			content: " ";
			width: 22px;
			height: 22px;
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			background-color: black;
			-webkit-mask-repeat: no-repeat;
			mask-repeat: no-repeat;
		}

		.pp__products__location__top__usps .shuttle:before {
			-webkit-mask-image: url('../img/icon-shuttle.svg');
			mask-image: url('../img/icon-shuttle.svg');
			top: 4px;
		}

		.pp__products__location__top__usps .valet:before {
			-webkit-mask-image: url('../img/icon-valet2.svg');
			mask-image: url('../img/icon-valet2.svg');
		}

		.pp__products__location__top__usps .oneway:before {
			-webkit-mask-image: url('../img/icon-valet-time.svg');
			mask-image: url('../img/icon-valet-time.svg');
		}

		.pp__products__location__top__highlight {
			position: absolute;
			top: 0;
			right: 0;
			color: white;
			background: black;
			padding: 2px 6px;
			border-bottom-left-radius: 10px;
			font-weight: bold;
			font-size: 11px;
			text-transform: uppercase;
		}

	.pp__products__location__bottom {
		position: relative;
		color: #FFF;
		padding: 20px;
		text-align: center;
		display: flex;
		flex-direction: column;
	}

		.pp__products__location__bottom__label {
			position: absolute;
			top: -11px;
			right: 20px;
			max-width: calc(100% - 40px);
			font-weight: bold;
			font-size: 14px;
			border-radius: 7px;
			padding: 0 10px;
			height: 22px;
			line-height: 20px;
			white-space: nowrap;
			overflow: hidden;
			text-overflow: ellipsis;
		}

		.pp__products__location__bottom__price {
			text-align: center;
		}

			.pp__products__location__bottom__price__value {
				font-weight: 900;
				font-size: 26px;
			}

		.pp__products__location__bottom__select__btn {
			max-width: 100% !important;
			display: inline-block !important;
			border-radius: 7px;
			text-transform: uppercase;
			font-weight: bold !important;
			text-align: center;
			font-size: 15px;
			margin-top: 10px;
			padding: 8px 12px !important;
			line-height: 20px;
			cursor: pointer;
			border: 0;
			border-color: inherit !important;
			color: white !important;
			-webkit-transition: all 200ms ease-in-out;
			transition: all 200ms ease-in-out;
		}

		.pp__products__location__bottom__select__btn:hover {
			-webkit-transform: translateY(-3px);
			transform: translateY(-3px);
			box-shadow: 0px 4px 4px 0px rgb(0 0 0 / 55%);
		}

		.pp__products__location__bottom__more-info {
			display: block;
			padding: 6px 14px;
			margin-top: 10px;
			color: #fff;
			text-transform: uppercase;
			font-weight: 600;
			font-size: 13px;
			text-decoration: none;
			transition: all 200ms ease-in-out;
			box-sizing: border-box;
		}

		.pp__products__location__bottom__more-info:hover,
		.pp__products__location__bottom__more-info:focus,
		.pp__products__location__bottom__more-info:focus-visible {
			border-color: #fff;
			background-color: rgba(255, 255, 255, 0.1);
			outline: none;
		}

	.pp__products__location--unavailable .pp__products__location__bottom,
	.pp__products__location--unavailable .pp__products__location__top__image {
		background: #9BA6B0 !important;
	}

	.pp__products__location--unavailable .pp__products__location__top__image {
		border-color: #9BA6B0 !important;
	}

	.pp__products__location--unavailable .pp__products__location__bottom__price {
		justify-content: center;
	}

.pp__products__filters {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	width: 100%;
	grid-gap: 10px;
	float: none;
}

	.pp__products__filter__option {
		border-radius: 5px;
		border: 1px solid black;
		padding: 10px;
		font-size: 18px;
		text-align: center;
		font-weight: bold;
		cursor: pointer;
		text-transform: uppercase;
		-webkit-transition: all 300ms ease-in-out;
		transition: all 300ms ease-in-out;
	}

		.pp__products__filter__option:hover {
			background: white;
		}

		.pp__products__filter__option--active.pp-text-primary {
			color: white !important;
		}

/*
	BOOKING FORM
*/
.pp__bookingform h2,
.pp__thankyou h2 {
	font-weight: 700;
	font-size: 20px;
}

.pp__wrapper .pp-form-group {
	margin-bottom: 20px;
}

.pp__bookingform label {
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 6px;
}

	.pp__bookingform label a {
		text-decoration: underline;
	}

.pp__bookingform input,
.pp__bookingform textarea {
	border: 1px solid rgba(67, 67, 67, 0.3) !important;
	border-radius: 7px !important;
	box-shadow: none !important;
	background-color: #FFFFFF !important;
	font-weight: 800;
	height: 48px;
	line-height: 48px;
	padding-left: 8px !important;
	box-sizing: border-box;
}

	.pp__bookingform textarea {
		height: 96px;
		line-height: 24px;
	}

	.pp__bookingform .radio input {
		height: 14px;
		line-height: 14px;
	}

	.pp__bookingform .radio label {
		background: white;
		padding: 0 12px;
		border: 1px solid rgba(67, 67, 67, 0.3) !important;
		border-radius: 7px;
		height: 48px;
		line-height: 48px;
	}

	.pp__bookingform .radio label.active {
		font-weight: bold;
		border-color: black !important;

	}

.pp__bookingform select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #FFFFFF url('../img/icon-select.svg') no-repeat right 10px top 70% !important;
	background-color: rgb(255, 255, 255);
	border: 1px solid rgba(67, 67, 67, 0.3) !important;
	border-radius: 7px !important;
	box-shadow: none !important;
	font-weight: 800;
	cursor: pointer;
	height: 48px;
	line-height: 48px;
	padding-left: 8px;
}

	.pp__bookingform input.parsley-error,
	.pp__bookingform select.parsley-error {
		border-color: #ff0f0f !important;
	}

	.pp__bookingform .parsley-error {
		color: #ff0f0f !important;
	}

.pp__bookingform__section {
	background: #F8F9FA;
	border-radius: 7px;
	padding: 24px;
	margin-bottom: 15px;
}

.pp__bookingform__option {
	font-size: 17px;
	font-weight: 400px;
	width: 150px;
	display: inline-block;
	margin-right: 24px;
	text-align: center;
}

	.pp__bookingform__option.active {
		background: transparent url('../img/icon-check-green.svg') no-repeat top 10% right;
	}

.pp__bookingform__option__name {
	font-size: 16px;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: baseline;
	justify-content: center;
}

.pp__bookingform__option__info {
	color: #FFF;
	border-radius: 20px;
	width: 20px;
	height: 20px;
	font-weight: 500;
	font-size: 15px;
	line-height: 20px;
	text-align: center;
	cursor: pointer;
	margin-top: 8px;
	margin-left: 5px;
	-webkit-transition: all 300ms ease-in-out;
	transition: all 300ms ease-in-out;
}

	.pp__bookingform__option__info:hover {
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}

.pp__bookingform__option__image {
	color: #FFFFFF;
	text-transform: uppercase;
	width: 100px;
	height: 100px;
	border-radius: 100px;
	text-align: center;
	font-weight: bold;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	margin: 12px auto;
}

.pp__bookingform__option__amount {
	margin-bottom: 12px;
}

.pp__bookingform__option__button {
	border-radius: 7px;
	font-weight: bold;
	width: 100%;
	height: 48px;
	line-height: 48px;
	text-align: center;
	cursor: pointer;
	-webkit-transition: all 200ms ease-in-out !important;
	transition: all 200ms ease-in-out !important;
}

	.pp__bookingform__option__button:hover {
		opacity: 0.75 !important;
		-webkit-transform: translateY(-2px) !important;
		transform: translateY(-2px) !important;
		box-shadow: 0px 2px 2px 0px rgb(0 0 0 / 45%) !important;
	}

.pp__bookingform__submit {
	width: 100%;
	font-weight: bold !important;
	font-size: 20px !important;
	padding: 1rem 1.5rem;
	text-align: center;
	cursor: pointer;
	border-radius: 6px;
	border: none;
	-webkit-transition: all 300ms ease-in-out !important;
	transition: all 300ms ease-in-out !important;
}

	.pp__bookingform__submit:hover {
		-webkit-transform: translateY(-3px) scale(1.02) !important;
		transform: translateY(-3px) scale(1.02) !important;
		box-shadow: 0px 4px 4px 0px rgb(30 30 30 / 45%) !important;
		text-shadow: 1px 1px 3px rgb(30 30 30 / 45%) !important;
	}

.pp__bookingform__section label {
	cursor: pointer;
	display: block;
}

.pp__bookingform input[type=checkbox] {
  	font: inherit;
	color: currentColor;
	height: auto;
}

	.pp__bookingform__section label:hover input[type=checkbox] {
		border-color: rgba(0, 0, 0, 0.25) !important;
	}

	.pp__bookingform .pp__optiongroups__list input[type="checkbox"]:checked::after {
		content: " ";
		display: block;
		background: transparent url(../img/icon-check-green.svg) no-repeat center center;
		border: 0;
		top: 0px;
		left: -1px;
		width: 20px;
		height: 20px;
		transform: none;
		background-size: cover;
	}

.pp__bookingform__sidebar__location h4 {
	font-size: 16px;
	font-weight: bold;
	margin-top: 24px;
}

.pp__bookingform__sidebar__location__image {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	height: 100%;
}

	.pp__bookingform__sidebar__location__image img {
		background-color: #f3f3f3;
		width: 100%;
		max-width: 100%;
		border-radius: 7px !important;
		overflow: hidden;
	}

.pp__bookingform__pricing {
	font-weight: 400;
}

	.pp__bookingform__pricing__row {
		font-size: 14px;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: baseline;
	}

		.pp__bookingform__pricing__row.total {
			font-weight: bold;
			font-size: 16px;
		}

	.pp__bookingform__pricing__line {
		width: 100%;
		height: 1px;
		background: #FFFFFF;
		margin: 12px 0;
	}

.parsley-errors-list {
	list-style: none;
	color: #ff0f0f;
	margin: 0;
	padding: 0;
}

#DiscountCode.invalid {
	color: #ff0f0f !important;
	border-color: #ff0f0f !important;
}

#DiscountCode.valid {
	background: transparent url('../img/icon-check-green.svg') no-repeat right center;
}

#DiscountCode.loading {
	background: transparent no-repeat 95% center;
	background-size: 20px 20px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 50 50'%3E%3Cpath fill='%23999' d='M25,5A20.14,20.14,0,0,1,45,22.88a2.51,2.51,0,0,0,2.49,2.26h0A2.52,2.52,0,0,0,50,22.33a25.14,25.14,0,0,0-50,0,2.52,2.52,0,0,0,2.5,2.81h0A2.51,2.51,0,0,0,5,22.88,20.14,20.14,0,0,1,25,5Z'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 25 25' to='360 25 25' dur='0.6s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E");
	padding-right: 30px;
}

#phone__parent .select2 {
	width: 100px !important;
}

	#phone__parent ul.parsley-errors-list {
		display: block;
		width: 100%;
	}

.pp__bookingform .pp-input-group {
	position: relative;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-align: stretch;
	align-items: stretch;
	width: 100%;
}

	.pp__bookingform .pp-input-group>.pp-form-control {
		position: relative;
		-ms-flex: 1 1 auto;
		flex: 1 1 auto;
		width: 1%;
		min-width: 0;
		margin-bottom: 0;
	}

	.pp__bookingform .pp-input-group input.pp-form-control {
		border-left: none !important;
		border-top-left-radius: 0 !important;
		border-bottom-left-radius: 0 !important;
		border-color: #c1c2c3 !important;
	}

	.pp__bookingform .pp-input-group select.pp-form-control {
		border-top-right-radius: 0 !important;
		border-bottom-right-radius: 0 !important;
	}

		.pp__bookingform .parsley-error .pp-input-group .pp-form-control,
		.pp__bookingform .parsley-error .select2-container--default .select2-selection--single {
			border-color: #ff0f0f !important;
		}

.pp__bookingform .select2-container {
	margin-left: 2px;
}

	.pp__bookingform .select2-container--default .select2-selection--single,
	.pp__bookingform .select2-container--default .select2-selection--single .select2-selection__rendered,
	.pp__bookingform .select2-container--default .select2-selection--single .select2-selection__arrow {
		height: 48px;
	}

	.pp__bookingform .select2-container--default .select2-selection--single {
		background-color: #fff; 
		border: 1px solid #c1c2c3 !important; 
		border-radius: 7px;
		border-right: none !important;
		margin-right: -10px;
	}

	.pp__bookingform .select2-container--default .select2-selection--single .select2-selection__rendered {
		color: #2F2F2F !important;
		font-weight: 800;
		padding: 9px;
	}

/*
	PROGRESS BAR
*/
.pp__progressbar__widget {
	background: #f3f3f3;
	color: #8c8c8c;
	padding: 0 20px;
	margin-bottom: 20px;
}

	.pp__progressbar__widget .pp-col-1 {
		display: none;
	}

	.pp__progressbar__widget .pp-col-2 {
		flex: 0 0 20%;
		max-width: 20%;
		width: 20%;
	}

	.pp__progressbar__widget .pp-col-2 {
		padding-top: 18px;
		padding-bottom: 18px;
	}

	.pp__progressbar__widget .pp-col-2.active {
		border-bottom: 4px solid black;
	}

	.pp__progressbar__widget h4 {
		font-size: 15px !important;
		text-transform: uppercase !important;
		letter-spacing: 1px !important;
		line-height: 18px !important;
		margin: 0 0 6px 0 !important;
		color: #8c8c8c;
	}

	.pp__progressbar__widget h5 {
		font-weight: bold;
		font-size: 18px !important;
		line-height: 22px !important;
		margin: 0 !important;
		height: 22px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		color: #8c8c8c;
	}

/*
	THANK YOU
*/
.pp__thankyou {
	margin-top: 15px;
}

	.pp__thankyou__header {
		margin-bottom: 25px;
		display: inline-block;
		position: relative;
	}

	.pp__thankyou__header:after {
		content: " ";
		display: block;
		position: absolute;
		top: 0;
		right: -45px;
		width: 40px;
		height: 40px;
		background: transparent url('../img/icon-check-green.svg') no-repeat center center;
	}

.pp__thankyou h3 {
	font-weight: 700;
	font-size: 18px;
	margin-bottom: 20px;
}

.pp__thankyou h4 {
	font-weight: 700;
	font-size: 16px;
	margin: 20px 0;
}

.pp__thankyou__costs {
	position: relative;
}
	
	.pp__thankyou__costs:before {
		content: " ";
		display: block;
		position: absolute;
		width: 1px;
		top: 0;
		bottom: 0;
		left: -40px;
		background: rgba(67, 67, 67, 0.25);
	}

	.pp__thankyou__costs__row {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: baseline;
	}

	.pp__thankyou__costs__row.last {
		padding: 15px 0;
	}

.pp__bookingform__phone,
.pp__bookingform__mail {
	margin-top: 30px;
	height: 40px;
	font-weight: bold;
	position: relative;
}

	.pp__bookingform__mail {
		line-height: 40px;
	}

	.pp__bookingform__phone:before,
	.pp__bookingform__mail:before {
		content: " ";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 40px;
		height: 40px;
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;

		-webkit-mask-image: url('../img/icon-phone.svg');
		mask-image: url('../img/icon-phone.svg');
	}

	.pp__bookingform__mail:before {
		-webkit-mask-image: url('../img/icon-mail.svg');
		mask-image: url('../img/icon-mail.svg');
		width: 60px;
	}

@media screen and (max-width: 1140px) {

	.pp__homepage__widget__airport__overlay {
		right: 270px;
	}

	.pp__homepage__widget select {
		min-width: auto;
	}

	.pp__homepage__widget {
		margin-left: 15px;
		margin-right: 15px;
	}

}

@media screen and (max-width: 1024px) {

	.pp__homepage__widget {
		margin-left: 0;
		margin-right: 0;
	}

	.pp__progressbar__widget .pp-col-1 {
		display: none;
	}

	.pp__progressbar__widget .pp-col-2 {
		width: 20%;
	}

	.pp__progressbar__widget h5 {
		font-size: 16px !important;
		min-height: 44px;
		white-space: normal;
	}

	.pp__products__location__top__image {
		min-height: 16vw;
	}

	.pp__location-slider__nav {
		margin-top: -18px;
	}

	.pp__products__list {
		grid-gap: 16px;
		margin-right: 32px;
	}

	.pp__products__location {
		margin-right: 0;
		margin-bottom: 0;
	}

}

/* TABLET  */
@media screen and (max-width: 991px) {
	
	/*
		HOMEPAGE FORM
	*/
	.pp__homepage__widget__container,
	.pp__products,
	.pp__bookingform,
	.pp__thankyou,
	.pp__homepage__widget label {
		font-size: 13px !important;
	}

	.pp__homepage__widget .btn-primary,
	.pp__homepage__widget input,
	.pp__homepage__widget select {
		font-size: 16px !important;
	}

	body.page .pp__homepage__widget {
		padding: 20px 25px;
	}

	.pp__homepage__widget .pp-col-3,
	.pp__homepage__widget .pp-col-7,
	.pp__homepage__widget .pp-col-2,
	.pp__homepage__widget .pp-col-6,
	.pp__homepage__widget .pp-col-5 {
		padding-left: 0;
		padding-right: 0;
	}

	.pp__homepage__widget__inputs__underlined .pp-col-1 {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: flex-end;
		align-items: flex-start;
	}

	.pp__homepage__widget > .pp-row {
		padding-left: 10px;
		padding-right: 10px;
	}

	.pp__homepage__widget .btn.btn-block.btn-primary,
	.pp__products .btn.btn-block.btn-primary {
		padding-left: 10px;
		padding-right: 10px;
		width: 100%;
	}

	.pp__homepage__widget__inputs__underlined:after {
		left: 0;
		right: 0;
	}

	.pp__homepage__widget__inputs__underlined.pp-no-gutters:after {
		left: 0;
		right: 0;
	}

	.airport__input__wrapper select {
		background-position: right 5px top 50% !important;
	}

	.date__input__wrapper input {
		background-position: right 0 top 50% !important;
	}

	.flatpickr-calendar.open {
		margin-top: 0;
	}

	.pp__homepage__widget__airport__overlay {
		right: 12px;
	}

	/*
		PRODUCT SELECTION PAGE
	*/
	.pp__products h2 {
		font-size: 16px;
	}

	.pp__homepage__widget__locations__filter h3,
	.pp__homepage__widget__filter__button {
		font-size: 13px !important;
	}

	.pp__homepage__widget__filter__button {
		height: 24px;
		padding: 0 30px 0 10px;
	}


	.pp__products__location__top__image h4,
	.pp__products__location__top__usps li,
	.pp__products__location__bottom__price__value,
	.pp__products__location__bottom__select__btn {
		font-size: 14px;
	}

	.pp__products__location__top h4, 
	.pp__products__location__top h3 {
		padding: 10px 10px 0 10px;
	}

	.pp__products__location__top p {
		padding: 0 10px;
		line-height: 17px;
	}
	

	/*
		BOOKING FORM
	*/

	.pp__homepage__widget__booking__navigation li {
		font-size: 14px;
	}

	.pp__homepage__widget__booking__navigation {
		height: auto;
		padding: 15px;
	}

	.pp__homepage__widget__booking__navigation__circle {
		margin-left: 5px;
		margin-right: 5px;
	}

	.pp__homepage__widget__booking__navigation li {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-content: center;
		justify-content: center;
		align-items: center;
		padding-left: 5px;
		padding-right: 5px;
		line-height: 1.7;
	}

	.pp__bookingform h2, 
	.pp__thankyou h2,
	.pp__bookingform label,
	.pp__bookingform input,
	.pp__bookingform select,
	.pp__bookingform textarea,
	.pp__bookingform__option__button,
	.pp__bookingform__option__name,
	.pp__bookingform__option__amount {
		font-size: 13px !important;
	}

	.pp__bookingform label {
		margin-bottom: 2px;
	}

	.pp__bookingform__sidebar__bookingdates,
	.pp__bookingform__sidebar__bookingdates h4,
	.pp__bookingform__sidebar__location h4 {
		font-size: 12px !important;
	}

	.pp__bookingform input,
	.pp__bookingform select {
		height: 38px;
		line-height: 38px;
	}

	.pp__bookingform__discount__column {
		margin-top: 0;
	}

	.pp__bookingform .select2-container--default .select2-selection--single,
	.pp__bookingform .select2-container--default .select2-selection--single .select2-selection__rendered,
	.pp__bookingform .select2-container--default .select2-selection--single .select2-selection__arrow {
		height: 38px;
		line-height: 16px;
	}

	.pp__bookingform__sidebar__location__image {
		justify-content: flex-start;
		align-items: flex-end;
	}

		.pp__bookingform__sidebar__location__image img {
			max-width: 250px !important;
		}

	.pp__bookingform__section .select2-container--default .select2-selection--single .select2-selection__arrow {
		top: 15px;
	}

	/*
		THANK YOU
	*/
	.pp__thankyou h2 {
		font-size: 15px !important;
	}

	.pp__thankyou h3,
	.pp__thankyou h4 {
		font-size: 13px !important;
	}

	.pp__homepage__widget > .pp-row > .pp-col-3, 
	.pp__homepage__widget > .pp-row > .pp-col-7, 
	.pp__homepage__widget > .pp-row > .pp-col-2 {
		width: 100%;
	}

	.pp__homepage__widget > .pp-row {
		padding-left: 15px;
		padding-right: 15px;
	}

	.pp__homepage__widget label {
		font-size: 15px !important;
	}

	.pp__homepage__widget > .pp-row > .pp-col-7 > .pp-row {
		margin-left: 0;
		margin-right: 0;
	}

	#starttime__parent {
		margin-right: 10px;
	}

	.pp__progressbar__widget .pp-col-1 {
		display: none;
	}

	.pp__progressbar__widget .pp-col-2 {
		width: 20%;
	}
}

/* TABLET small  */
@media screen and (max-width: 767px) {

	.pp__location-slider__nav {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.pp__progressbar__widget h4 {
		font-size: 13px !important;
		line-height: 15px !important;
		margin-bottom: 0 !important;
		text-align: center;
	}

	.pp__progressbar__widget h5 {
		font-size: 15px !important;
		line-height: 17px !important;
		overflow: visible;
		white-space: normal;
		text-align: center;
		height: auto;
	}

	.pp__bookingform .pp-col-3 {
		width: 50%;
	}
}

/* MOBILE  */
@media screen and (max-width: 576px) {
	
	.pp-show-mobile {
		display: block;
	}

	/*
		HOMEPAGE FORM
	*/
	body.page .pp__homepage__widget {
		padding: 10px 35px 25px 35px;
	}

	.pp__homepage__widget > .pp-row {
		padding-left: 0;
		padding-right: 0;
	}

	.pp-col-6 {
		width: 100%;
	}

	.pp__homepage__widget label {
		margin-top: 15px;
	}

	.pp__homepage__widget__inputs__underlined {
		margin-bottom: 10px;
	}

		.pp__homepage__widget__inputs__underlined > .pp-col-2 {
			display: flex;
			flex-direction: row;
			flex-wrap: nowrap;
			justify-content: flex-end;
		}

		.pp__homepage__widget__inputs__underlined:after {
			left: 15px;
			right: 15px;
		}

		.pp-no-gutters.pp__homepage__widget__inputs__underlined:after {
			left: 2px;
			right: 0px;
		}

		.pp__homepage__widget > .pp-row > .pp__homepage__widget__inputs__underlined:after {
			left: 0;
			right: 0;
		}

		.pp__homepage__widget .flatpickr-current-month .numInputWrapper {
			display: none;
		}

	#starttime__parent {
		margin-right: 0;
	}

	.pp__homepage__widget label {
		font-size: 16px !important;
	}

	.pp__homepage__widget .btn.btn-block.btn-primary,
	.pp__products .btn.btn-block.btn-primary {
		height: 40px;
		line-height: 24px;
		font-weight: bold;
		margin-top: 12px !important;
	}

	.pp__homepage__widget .pp-form-group {
		margin-bottom: 12px;
	}

	.pp__homepage__widget__airports__close {
		display: block !important;
		background: transparent url('../img/icon-close.svg') no-repeat center left !important;
		font-size: 16px;
		padding-left: 30px;
		margin-bottom: 15px;
	}

	.pp__homepage__widget__airport__overlay {
		position: fixed;
		top: 64px;
		left: 0;
		right: 0;
		bottom: 0;
	}

		body.admin-bar .pp__homepage__widget__airport__overlay {
			top: 110px;
		}

	.pp__homepage__widget__airport__overlay .pp-row {
		display: flex;
		flex-flow: column;
		flex-direction: column-reverse;
	}

		.pp__homepage__widget__airports__filter__option {
			display: inline-block;
		}

	.flatpickr-calendar {
		padding: 60px 15px 35px 15px;
	}

	.flatpickr-calendar.open {
		left: 0 !important;
		right: 0 !important;
		top: 75px !important;
		bottom: 0 !important;
		width: 100vw !important;
		height: 100vh !important;
		border-radius: 0;
		max-height: none !important;
		position: fixed;
	}

		body.admin-bar .flatpickr-calendar.open {
			top: 120px !important;
		}

		.flatpickr-months .flatpickr-prev-month, 
		.flatpickr-months .flatpickr-next-month {
			top: 55px;
		}

		.flatpickr-calendar.arrowTop:before,
		.flatpickr-calendar.arrowTop:after {
			display: none !important;
		}

		.flatpickr-calendar .flatpickr-days,
		.flatpickr-calendar .dayContainer {
			width: calc(100vw - 15px - 15px) !important;
			min-width: calc(100vw - 15px - 15px) !important;
			max-width: calc(100vw - 15px - 15px) !important;
		}

		.flatpickr-calendar .dayContainer, 
		.flatpickr-weekdaycontainer {
	 		padding: 0; 
		}

		.flatpickr-calendar .flatpickr-day {
			max-width: 14.2857143vw !important;
			width: 14.2857143vw !important;
			height: 12vw !important;
			line-height: 12vw !important;
		}

		.flatpickr-calendar .btn-calendar-mobile {
			color: white !important;
			border: none;
			font-weight: bold;
			width: 70%;
			display: inline-block;
			height: 48px;
			margin-top: 0;
			display: inline-block !important;
		}

		.flatpickr-calendar .calendar-header-mobile {
			background: transparent url('../img/icon-close.svg') no-repeat 10px 12px !important;
			height: 48px;
			color: black;
			display: inline-block !important;
			width: 100%;
			position: absolute;
			left: 0;
			right: 0;
			top: 0;
			line-height: 48px;
			text-align: left;
			padding-left: 40px;
			font-size: 16px;
		}

		.flatpickr-calendar .calendar-dates-mobile { 
			display: block;
			text-align: left;
			padding: 15px;
			margin-top: 15px;
			border-top: 1px solid rgba(0, 0, 0, 0.2);
			margin-left: -15px;
			margin-right: -15px;
		}

			.flatpickr-calendar .calendar-dates-mobile .pp-col-1.bordered {
				border-left: 1px solid rgba(0, 0, 0, 0.2);
			}

		.flatpickr-monthDropdown-months, 
		.flatpickr-calendar .flatpickr-current-month span.cur-month, 
		.flatpickr-current-month input.cur-year {
			font-weight: bold !important;
			font-size: 16px !important;
		}

		.flatpickr-months .flatpickr-next-month,
		.flatpickr-months .flatpickr-prev-month {
			width: 50px;
			height: 50px;
		}

		.flatpickr-months .flatpickr-prev-month:hover svg, .flatpickr-months .flatpickr-next-month:hover svg {
			fill: black;
		}

	.pp__homepage__widget__airport__overlay {
		border-radius: 0;
	}

	.pp__homepage__widget__airport__container {
		overflow-y: scroll;
		max-height: calc(100vh - 280px);
	}

		.pp__homepage__widget__airport {
			margin-right: 0;
			margin-bottom: 0;
			padding-bottom: 10px;
		}

		.pp__homepage__widget__airport__image {
			width: 50px;
			height: 50px;
		}

		.pp__homepage__widget__airport__info h5 {
			margin-bottom: 0;
		}

		.pp__homepage__widget__airport__info {
			padding-top: 4px;
		}

		.pp__homepage__widget__airports__filter__option {
			font-size: 16px;
			padding-right: 10px;
			padding-bottom: 10px;
		}

	/*
		PRODUCT SELECTION PAGE
	*/
	.pp__products__description__mobile {
		display: block;
		font-size: 12px;
	}

	.pp__products h2 {
		font-size: 20px !important;
	}

	.pp__products__list {
		margin-top: 22px;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-gap: 10px;
		margin-right: 0;
		margin-bottom: 20px;
	}

	.pp__products__filters {
		grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
	}

	.pp__products__location__top__image {
		min-height: 118px;
	}

	.pp__products__location__top h3 {
		font-size: 20px !important;
	}

	.pp__products__location__top__image h4 {
		font-size: 20px;
	}

	.pp__products__location__top__usps li {
		font-size: 14px;
	}

	.pp__products__location__bottom {
		padding: 10px;
	}

	.pp__products__location__bottom__price__value {
		font-size: 26px;
	}

	.pp__products__location__bottom__select__btn {
		font-size: 15px;
	}

	.pp__homepage__widget__filter__button {
		width: 100%;
		min-width: 100%;
		margin-top: 15px;
		font-size: 15px !important;
	}

	.pp__products__location--selected::after {
		bottom: 88px;
	}
	
	.pp__homepage__widget__booking__navigation {
		display: none;
	}

	.hide-mobile {
		display: none;
	}

	.mobile-custom-order {
		display: flex;
		flex-flow: column;
	}

		.mobile-order-1 {
			order: 1;
		}

		.mobile-order-2 {
			order: 2;
		}

	.pp__products__filter__option {
		margin-right: 10px;
		padding: 8px;
		line-height: 16px;
	}

	/*
		BOOKING FORM
	*/
	.pp__bookingform__section {
		padding: 12px 12px 1px 12px;
	}

	.pp__bookingform h2 {
		font-size: 16px !important;
	}

	.pp__bookingform__sidebar__bookingdates,
	.pp__bookingform__sidebar__bookingdates h4,
	.pp__bookingform__sidebar__location h4 {
		font-size: 14px !important;
	}

	.pp__bookingform__pricing__row.total {
		margin-bottom: 20px;
	}

	.pp__bookingform__submit {
		font-size: 16px !important;
	}

	#phone__parent .select2 {
		max-width: 95px !important;
		white-space: normal;
	}

	.pp__bookingform__overview {
		display:flex;
		flex-flow: column;
	}

		.pp__bookingform__overview .mobile-order-first {
			order: 1;
		}

		.pp__bookingform__overview .mobile-order-last {
			order: 2;
		}

	.pp__bookingform__overview .pp-col-sm-12 {
		width: 100%;
	}

	.select2-results__option--selectable {
		font-size: 14px;
	}

	body:not(.home) .select2-container--open .select2-dropdown{
		width: 220px !important;
	}

	.pp__bookingform__sidebar__location {
		margin-bottom: 15px;
	}

	.pp__bookingform__sidebar__location__image img {
		width: 100% !important;
		max-width: 100% !important;
	}
	
	/*
		THANK YOU
	*/
	.pp__thankyou h2 {
		font-size: 16px !important;
	}

	.pp__thankyou h3, 
	.pp__thankyou h4 {
		font-size: 14px !important;
	}

	.pp__bookingform__phone, 
	.pp__bookingform__mail {
		background-size: 24px;
		background-position: 13% 50%;
	}

	/*
		PROGRESS BAR
	*/
	.pp__progressbar__widget {
		padding-left: 10px;
		padding-right: 10px;
	}

	.pp__progressbar__widget .pp-col-2 {
		padding: 10px;
		width: 25%;
		max-width: 25%;
	}

	.pp__progressbar__widget h4 {
		font-size: 11px !important;
		text-align: center;
	}

	.pp__progressbar__widget h5 {
		font-size: 10px !important;
		line-height: 12px !important;
	}

}

/* iPhone only CSS  */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (max-device-width:1024px) {
	select,
	textarea,
	input,
	select:focus,
  	textarea:focus,
  	input:focus {
		font-size: 16px !important;
	}
}
