@charset "UTF-8";

/**
Theme Name: astra-child-basic
Author: Park.Aero
Author URI: https://park.aero
Description: Contains basic code for Park.Aero, added to Astra theme
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child-basic
Template: astra
*/

/* Uni Neue Font */

@import url("assets/fonts/uni-neue/style.css");

*:not(i, img, svg, .fa, .fas, .far, .fad, .fa-brands), body .cmpbox *, body .cmpbox>* , body div#et-consent-overlay, body div#et-consent-overlay * {
	font-family: 'Uni Neue';
}

/* .fas = solid, .fas = regular, .fad = duotone */

.fa {
	font-family: "Font Awesome 6 Pro" !important;
}

.fa-brands {
	font-family: "Font Awesome 6 Brands" !important;
}

.fad:after {
	color: inherit;
	opacity: 0.2;
}

.fad.fa-circle-dot:after {
	opacity: 0; /* circle-dot: remove background, standard icon list point */
}


/* Hide Astra Author etc. */

.entry-header.ast-no-title {
	display: none;
}

/* Basic: Images */

img {
    user-drag: none;
    -webkit-user-drag: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

/* Basic: Border-box and Theme basics */

div {
	box-sizing: border-box;
}

#content .ast-container {
	display: flex !important;
}

.ast-container {
	padding: 0px !important;
}

#content {
	width: 100%;
}

#primary {
	margin-top: 0px !important;
	margin-bottom: 0px !important;
	padding-bottom: 0px !important;
	min-height: calc(60vh);
}

#primary.primary-booking-journey {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1200px !important;
}

.hentry {
	margin-bottom: 0px !important;
}

/* Basic: Hide class */
.hide {
	display: none !important;
}

/* Basic: no scroll class */
.noscroll {
	overflow: hidden !important;
}

/* Basic: flex-break */
.flex-break {
	flex-basis: 100%;
	height: 0px;
}

/* Basic: images */
/* Images' Border radius */
body .img-container {
	border-radius: 20px;
	overflow: hidden;
}

/* Calendar Flatpickr */

.flatpickr-day.within-parking-period {
	background: #f3f7fa;
}

.flatpickr-months .flatpickr-prev-month:hover, .flatpickr-months .flatpickr-next-month:hover {
	background: #f3f7fa !important;
}

body span.flatpickr-weekday {
	color: #525252;
}

body .flatpickr-day {
	color: #525252;
}

body .flatpickr-current-month .flatpickr-monthDropdown-months {
	color: #525252;
}

/* Basic: Links, Texts and Headlines */

.secondary-font, .secondary-font * {
	color: #525252 !important;
}

.light-font {
	font-weight: 300;
}

a {
	font-weight: 700;
}

p a, p a:hover {
	text-decoration: underline;
}

body p {
	margin-top: 0px !important ;
	margin-left: 0px !important ;
	margin-right: 0px !important ;
	margin-bottom: 0px !important ;
}

body .entry-content h1, h1, body .entry-content h2, h2, body .entry-content h3, h3, body .entry-content h4, h4, body .entry-content h5, h5, body .entry-content h6, h6 {
	margin-top: 0px;
	margin-bottom: 0px;
	color: #0060a7;
	font-weight: 400;
	display:inline-block;
	position: relative;
}

@media (max-width: 544px) {
	body .entry-content h1, h1, body .entry-content h2, h2, body .entry-content h3, h3, body .entry-content h4, h4, body .entry-content h5, h5, body .entry-content h6, h6 {
		line-height: 1.2 !important;
	}
}

h1.wp-page-title {
	margin-top:	0px !important;
	margin-bottom: 30px !important;
}

.hl-underline  {
	margin-bottom: 30px !important;
}

.hl-underline-desktop {
	margin-bottom: 15px !important;
}


h1.hl-underline:after, .hl-underline h1:after, h2.hl-underline:after, .hl-underline h2:after, h3.hl-underline:after, .hl-underline h3:after, h4.hl-underline:after, .hl-underline h4:after , h5.hl-underline:after, .hl-underline h5:after, h6.hl-underline:after, .hl-underline h6:after, h1.wp-page-title:after {
	display: inline-block;
	position: absolute;
	bottom:-15px;
	left: 0;
	height: 2px;
	width: 20px;
	content: " ";
	background-color: #0060a7;
}

@media (min-width: 921px) {

	h1.hl-underline-desktop:after, .hl-underline-desktop h1:after, h2.hl-underline-desktop:after, .hl-underline-desktop h2:after, h3.hl-underline-desktop:after, .hl-underline-desktop h3:after, h4.hl-underline-desktop:after, .hl-underline-desktop h4:after , h5.hl-underline-desktop:after, .hl-underline-desktop h5:after, h6.hl-underline-desktop:after, .hl-underline-desktop h6:after, h1.wp-page-title:after {
		display: inline-block;
		position: absolute;
		bottom:-15px;
		left: 0;
		height: 2px;
		width: 20px;
		content: " ";
		background-color: #0060a7;

	}

	.hl-underline-desktop {
		margin-bottom: 30px !important;
	}

}

/* Basic: Font-Awesome-Lists */

.fa-ul li:not(:last-child) {
	margin-bottom: 15px;
}

.fa-ul {
	margin-bottom: 0px !important;
	margin-top: 0px !important;
	padding-top: 0px !important;
	padding-bottom: 0px !important;
	padding-right: 20px !important;
	padding-left: 30px !important;
}

.fa-li {
	width: 20px !important;
	left: -30px !important;
}

.fa-ul.fa-ul-with-margin {
	margin-left: 15px;
	margin-top: 20px !important;
	margin-bottom: 20px !important;
}

@media (max-width: 544px) {
	.fa-ul.fa-ul-with-margin {
	margin-left: 5px;
	margin-top: 10px !important;
	margin-bottom: 10px !important;
}
}

/* Basic: Light Background */
.light-background {
	background-color: #f3f7fa;
}

.light-background input:-webkit-autofill, .light-background input:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0 50px #f3f7fa inset;
}

.darker-light-background {
	background-color: #e3edf6;
}

.darker-light-background input:-webkit-autofill, .darker-light-background input:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0 50px #e3edf6 inset;
}

/* Basic: Buttons */

button, input[type="submit"], .wp-block-button a, .cmpboxbtn, :is(.wp-element-button, .wp-block-button__link) {
		padding: 15px 25px; /* analog zu Astra Customize Settings */
}

button, input[type="submit"], .wp-block-button a, .cmpboxbtn, .elementor-button-text, #et-consent-overlay .et-consent-button-container button {
	text-transform: uppercase !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	min-width: 200px;
	text-align: center;
	cursor: pointer;
}

body button.small-button {
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	border-bottom-right-radius: 8px;
	border-bottom-left-radius: 8px;
}

button, input[type="submit"], .wp-block-button a, .cmpboxbtn, .elementor-button-text, #et-consent-overlay .et-consent-button-container button {
	transition: all .1s linear;
}

body .wp-block-button__link {
	display: inline-block;
	width: auto;
}

button i.button-icon-right, input[type="submit"] i.button-icon-right, .wp-block-button i.button-icon-right {
	padding-left: 5px;
	color: inherit !important;
}

button i.button-icon-left, input[type="submit"] i.button-icon-left, .wp-block-button i.button-icon-left {
	padding-right: 5px;
	color: inherit !important;
}

button:not(#map-container button):not(.main-header-menu-toggle):not(#ast-mobile-popup-wrapper *) {
	background-color: #ffcc00;
	color: #0060a7;
}

#et-consent-overlay .et-consent-button-container button {
	background-color: #ffcc00 !important;
	color: #0060a7 !important;
	border: 0px !important;
}

#et-consent-overlay .et-consent-button-container button[data-editor="buttonDeny"] {
	opacity: 0.7 !important;
}

#et-consent-overlay .et-consent-button-container button[data-editor="buttonDetails"], #et-consent-overlay .et-consent-button-container button[data-editor="buttonDetails"]:hover {
	background-color: white !important;
}

button:not(#map-container button):not(.main-header-menu-toggle):not(#ast-mobile-popup-wrapper *):not(.inactive):hover, button:not(.inactive):focus, .wp-block-button:not(.inactive) .wp-block-button__link:hover, .wp-block-button:not(.inactive) .wp-block-button__link:focus {
	background-color: #e5b700;
}

#et-consent-overlay .et-consent-button-container button:hover {
	background-color: #e5b700 !important;
	opacity: 1;
}

button.secondary-button, a.secondary-button, .wp-block-button.secondary-button a, .secondary-button a  {
	color: #0060a7 !important;
	border: 2px solid #0060a7 !important;
	background-color: white !important;
}

button.secondary-button:hover, button.secondary-button:focus, a.secondary-button:hover, a.secondary-button:focus, .wp-block-button.secondary-button .wp-block-button__link:hover, .wp-block-button.secondary-button .wp-block-button__link:focus, .secondary-button a:hover, .secondary-button a:focus {
	color: #0060a7 !important;
	background-color: #f3f7fa !important;
	border: 2px solid #0060a7 !important;


}

button.gray-button, a.gray-button, .wp-block-button.gray-button a,  .gray-button a {
	color: #5e5e5e !important;
	border: 2px solid #5e5e5e !important;
	background-color: #ededed !important;
}

button.gray-button:hover, button.gray-button:focus, a.gray-button:hover, a.gray-button:focus, .wp-block-button.gray-button .wp-block-button__link:hover, .wp-block-button.gray-button .wp-block-button__link:focus, .gray-button a:hover, .gray-button a:focus {
	color: #5e5e5e !important;
	background-color: #d5d5d5 !important;
	border: 2px solid #5e5e5e !important;


}

button.inactive, a.inactive, .wp-block-button.inactive a, .inactive a {
	opacity: 0.5;
	cursor: auto;
}

button.input-info-button {
	position: absolute;
	right: 0px;
	bottom: 0px;
	height: 100%;
	width: 30px;
	padding: 0px;
	background-color: transparent !important;
	min-width: 0px;
}


/* Basic: Input and Choices.JS Selects */
/* Labels */
label {
	display: inline-block;
	color: #0060a7;
	line-height: 1em;
	margin-top: 10px;
	font-size: 0.90rem;
}

label i {
	padding-right: 5px;
}


.label {
	/* = labels like "Airport" and "Entry date" in book-rates search form and in summary cards (book-data and book-completed) */
	font-size: inherit;
}

/* Inputs */

input[type="color"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
input[type="week"],
select:focus,
textarea {
	font-size: 16px;
}

input[type=email], input[type=text], input[type=tel], input[type=email]:focus, input[type=text]:focus, input[type=tel]:focus  {
	background-color: transparent;
	border: none;
	border-radius: 0px;
	border-bottom:  1px solid #4c8cae;
	-webkit-appearance: none;
	color: #0060a7;
	cursor: pointer;
	outline: none;
	font-weight: bold;
}

input:-webkit-autofill, input:-webkit-autofill:focus {
	-webkit-text-fill-color: #0060a7;
	-webkit-box-shadow: 0 0 0 50px white inset;
}

input[type=email]::placeholder, input[type=text]::placeholder, input[type=tel]::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
	color:  #4c8cae;
	opacity: 1; /* Firefox */
	font-weight: normal !important;
}

input[type=text]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, input[type=tel]:-ms-input-placeholder { /* Internet Explorer 10-11, Edge */
	color: #4c8cae;
	font-weight: normal !important;
}

/*.input-validation-error {
	background-color: #FFE0DF !important;
}

.input-validation-error:-webkit-autofill {
	-webkit-box-shadow: inset 0 0 0px 9999px #FFE0DF !important;
}

.input-validation-error:focus {
	background-color: #FFE0DF !important;
}
*/

.input-validation-error, .input-validation-error *, .input-validation-error::placeholder, .input-validation-error * ::placeholder {
	opacity: 1;
}

.input-icon-true {
	color: green;
	display: none;
}

.input-icon-false {
	color: #E54949;
	display: none;
}

.input-icon-right {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 10px;
}

.input-icon-left {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 10px;
}

/* Choices.JS selects */

.choices, .choices * {
	font-size: 16px !important;
}

.choices {
	border: none;
	-webkit-appearance: none;
	filter: none;
	color: #0060a7;
	border-radius: 0px;
	border-bottom:  1px solid #4c8cae;
	font-weight: bold;
	cursor: pointer;
}

.choices__inner {
	font-size: inherit !important;
	-webkit-appearance: none;
	filter: none;
	border: none;
	border-radius: 0px;
	background-color: transparent;
	padding-top: 0px !important;
	padding-right: 0px !important;
	padding-bottom: 0px !important;
	padding-left: 7px !important;
	min-height: 38px !important;

}

.choices__placeholder {
	opacity: 1;
	color: #4c8cae;
	font-weight: normal !important;
}

.choices__list--dropdown {
	border: none !important;
	display: none;
	border-bottom-right-radius: 5px !important;
	border-bottom-left-radius: 5px !important;
}

.is-active.choices__list--dropdown {
	box-shadow: 5px 5px 15px rgba(0,0,0,0.25);
	display: block;
}

.choices[data-type*=select-one]::after {
	border-color: #0060a7 transparent transparent;
}

.choices[data-type*=select-one].is-open::after {
	border-color: transparent transparent #0060a7;
}

.choices__list--dropdown .choices__list, .choices__list[aria-expanded] .choices__list {
	max-height: 180px !important;
	font-weight: normal !important;
	overscroll-behavior: contain;
	overflow: auto !important;
}

.choices__list div {
	padding-right: 0px !important;
}

.choices__list--dropdown .choices__item--selectable.is-selected, .choices__list[aria-expanded] .choices__item--selectable.is-selected {
	background-color: #f3f7fa;
}

.choices__list--dropdown .choices__item--selectable.is-highlighted, .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
	background-color: #f3f7fa;
}

.choices__list .choices__heading {
	color: inherit;
}

/* Basic: card */

body .card {
	border-radius: 20px;
	background-color: white;
	box-shadow: rgba(14,30,37,.12)0 2px 4px,rgba(14,30,37,.32)0 2px 16px;
	
}

/* Basic: Airport Logos Shortcode*/
.airport-logos {
	width: 100%;
	text-align: center;
}

.airport-logos > ul {
	padding: 0;
	margin: 0;
}

.airport-logos li {
	display: inline-block;
	list-style-type: none; /* Remove bullets */
	padding: 0; /* Remove padding */
	margin: 0; /* Remove margins */
	width: 125px;
	position:relative;
	line-height: 80px;
	margin-left: 50px;
	margin-right: 50px;
}

@media (max-width: 544px) {
	.airport-logos li {
		line-height: 70px;
		margin-left: 15px;
		margin-right: 15px;
	}
}

/* Basic: Overlays - Elements set as child of body by JS */

#popup-overlay {
	position: fixed;
	height: 100%;
	min-width: 100%;
	width: 100%;
	background: rgba(255,255,255,.9);
	top: 0;
	left: 0;
	z-index: 100;
}

/* Basic: Pop Up */
#info-popup-container {
	width: 80%;
	max-width: 450px;
	font-family: inherit;
	position: fixed;
	top: 50%!important;
	left: 50%!important;
	transform: translateX(-50%)translateY(-50%)!important;
	z-index: 9999;
	padding: 35px;
}


#info-popup-container .popup-headline {
	width: 100%;
	text-align: left;
	margin-bottom: 35px !important;
}

#info-popup-container button {
	margin-right: auto;
	margin-left: auto;
	display: block;
	margin-top: 30px;
}

#info-popup-container .info-notification {
	overflow: auto;
	overscroll-behavior: contain;
	max-height: 60vh;
}

@media (max-width:921px) {
	#info-popup-container {
		padding: 30px;
}
}

@media (max-width:544px) {
	#info-popup-container {
	width: calc(100% - 40px);
		padding: 25px;
}
}

/* Basic: Book now fixed button */

#jump-to-booking-container {
	position: fixed;
	bottom: 20px;
	left: 50%;
	transform: translatex(-50%);
	z-index: 99;
	display: none;
	white-space: nowrap;

}

#jump-to-booking-container a {
	display: inline-block;
	width: 100%;
	text-align: center;
	box-shadow: rgba(14,30,37,.12)0 2px 4px,rgba(14,30,37,.32)0 2px 16px;
}

@media (max-width: 544px) {
	#jump-to-booking-container {
		bottom: 10px;
	}
}


/* Basic: Elementor */

body .elementor-column-gap-default>.elementor-column>.elementor-element-populated {
	padding: 0px !important;
}

body .border-radius-container {
	border-radius: 20px;
}

body .accordion-outer-container {
	border-radius: 20px;
	overflow: hidden;
}

body .accordion-outer-container .accordion-headline {
}

body .accordion-inner-container {
	overflow: hidden;
}

body .elementor-tab-title {
	display: flex;
	gap: 10px;
	align-items: center;
}

body .elementor-accordion .elementor-tab-title a {
	text-decoration: none;
	line-height: 1.5;
}

body .elementor-accordion .elementor-accordion-item:first-of-type {
display: none;
}

@media only screen and (max-width: 375px) {
}

@media only screen and (max-width: 375px) {
	body .seo-summary-card {
        padding: 10px !important; /* Reduce padding of seo summary content card on very-low-width-devices */ 
    }
}

#miles-and-more-faq {
	display: none; /* M&M FAQs shall only be shown on M&M Subdomain */
}

/* There are 2 different SEO icons on the airport pages: mobile and desktop+tablet 544px is their breakpoint to hide / show */

body .mobile-seo-icon {
    transform: translateY(-15px); /* Set to 0px if hl-underline is not used / has no margin-bottom */
}

body .mobile-seo-icon.card {
	border-radius: 15px;
}

@media screen and (min-width: 544px) {
    body .mobile-seo-icon {
        display: none;
    }
}

@media screen and (max-width: 544px) {
    body .desktop-seo-icon {
        display: none;
    }
}

/* Basic Google Maps */

 #google-map {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	border-radius: inherit;
}

#google-map .cookie-notice-container {
	display: inline-block !important;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
}

#google-map .cookie-map-button  {
	margin-bottom: 20px;
}

#google-map .cookie-notice {
	color: #5e5e5e;
	min-width: 250px;
	max-width: 300px;
	
}

#google-map .gm-marker-label-stop-icon {
	width: 24px;
	height: 24px;
	background-color: transparent;
	text-align: center;
	font-size: 16px;
	display: inline-block;
	background-color: white;
	color: #0060a7;
	line-height: 24px;
	text-align: center;
	border-radius: 6px;
	box-shadow: rgba(14,30,37,.12)0 2px 4px,rgba(14,30,37,.32)0 2px 16px;
} 

#google-map .gm-marker-label-stop-image {
	width: 24px;
	height: 24px;
	background-color: transparent;
	text-align: center;
} 

#google-map .gm-marker-label-stop-image img {
	height: 100%;
	width: 100%;
	background-color: transparent;
}

#google-map h6 {
	font-weight: 700;
}

#google-map .map-stop-label h6 {
	font-size: 14px;
	color: #666;
	font-weight: normal;
}

#google-map button {
	min-width: 0px;
}

a[href^="http://maps.google.com/maps"]{display:none !important}
a[href^="https://maps.google.com/maps"]{display:none !important}

.gmnoprint a, .gmnoprint span, .gm-style-cc {
	display:none;
}

.gm-bundled-control {
	bottom: 91px !important;
	right: 50px !important;
}

.gm-bundled-control > .gmnoprint {
	border-radius: 10px;
	overflow: hidden;
	box-shadow: rgba(14,30,37,.12)0 2px 4px,rgba(14,30,37,.32)0 2px 16px;
}

.gm-style-iw {
	text-align: center;
	padding: 15px !important;
	margin: 0px !important;
	border-radius: 10px !important;
}

.gm-style-iw .gm-style-iw-chr {
	display: none;
}

.gm-style-iw-d {
	overflow: hidden !important;
}

.gm-ui-hover-effect {
	display: none !important;
}

.gm-style iframe + div { border:none!important; }

/* Basic */
/* Scroll to top */

#ast-scroll-top {
	font-size: 0.90rem;
	bottom: 28px;
	right: 20px;
	width: 28px;
	height: 28px;
	color: #0060a7;
	background-color: white;
	border: 2px solid #0060a7;
	box-shadow: 0 0 5px 0 rgba(0,0,0,.25);
}

#ast-scroll-top .ast-icon {
	height: 100%;
	display: flex;
  align-items: center;
  flex-direction: column;
}

#ast-scroll-top .ast-icon svg {
	width: 12px !important;
	height: 100%;
	transform: translate(0,-52%) rotate(180deg) !important;
	position: absolute;
	top: 50%;
}

@media (max-width: 544px) {
	#ast-scroll-top {
		bottom: 18px;
		right: 10px;
	}
}

/* Basic */
/* Notifications */

/* Default language notification */

.info-notification, .problem-notification {
	display: flex;
	width: 100%;
	padding: 20px 20px 20px 15px;
	border-radius: 10px;
}

.info-notification {
	background-color: #f3f7fa;
	color:  #0060a7;
	border: 1px solid #0060a7;
}

.problem-notification {
	background-color: #FFE0DF;
	color:  #E54949;
	border: 1px solid #E54949;
}

.info-notification p, .problem-notification p {
	display: flex;
	text-align: left;
}

.info-notification i, .problem-notification i {
padding-right: 10px;
line-height: inherit;
}

.problem-notification a {
	color:  #E54949;
}

.notification-centered p {
	justify-content: center;
}

/* Basic: Overflow element above */

body .overflow-above {
	transform: translateY(-70px);
	padding-bottom: 0px;
}

body .overflowed-by-element-below{
	padding-bottom: 120px;
	margin-bottom: 0px;
}

@media (max-width:921px) {
	body .overflow-above {
		transform: translateY(-50px);
		padding-bottom: 0px;
	}

	body .overflowed-by-element-below{
		padding-bottom: 90px;
		margin-bottom: 0px;
	}
}

@media (max-width:544px) {
	body .overflow-above {
		transform: translateY(-40px);
		padding-bottom: 0px;
	}

	body .overflowed-by-element-below{
		padding-bottom: 80px;
		margin-bottom: 0px;
	}
}


/* Basic: Icons */
body .icon-container {
	display: flex;
	justify-content:center;
}

body .icon-container img {
	max-height: 60px;
}

/* Header */
/* Transparent Header is set in Astra in FRONT OF CONTENT. Add background element behind it*/
#content::before {
	width: 100%;
	height: 120px;
	display: block;
	background-color: #0060a7;
	content: " ";
}

@media (max-width:921px) {
	#content::before {
		height: 80px;
	}
}

@media (max-width:544px) {
	#content::before {
		height: 60px;
	}
}

#ast-desktop-header .ast-container{
	max-width: 1200px;
}

.ast-builder-grid-row {
	grid-column-gap: 0px !important;
}

#ast-desktop-header .main-navigation > ul > .menu-item > a {
	font-weight: 400 !important;
}

#ast-desktop-header .current-menu-item .menu-text {
	position: relative;
	color: #4c8cae;
	z-index: 100;
}

#ast-desktop-header .wpml-ls-current-language{
	position: relative;
	margin-left: 12px;
	margin-right: 12px;
}

#ast-desktop-header .wpml-ls-current-language::after{
	content: ' ';
	position: absolute;
	top: 50%;
	right: -10px;;
	height: 40px;
	transform: translate(0, -50%);
	width: 100px;
	border: 1px solid white;
	border-radius: 40px;
}

#ast-desktop-header .wpml-ls-current-language:hover::after {
	content: none !important;
}

#ast-desktop-header * {
	color: white;
}

#ast-desktop-header .menu-text {
	position: relative;
}

#ast-desktop-header *:not(.ast-disable-link .menu-text):hover  {
	color: #4c8cae !important;
}

#ast-desktop-header .main-header-menu > .menu-item > .menu-link , #ast-mobile-popup .main-header-menu > .menu-item > .menu-link, #ast-mobile-popup .menu-item-has-children > .menu-link {
	text-transform: uppercase !important;
	letter-spacing: 1px;
}

@media (max-width:1000px) {
	#ast-desktop-header .main-header-menu > .menu-item > .menu-link {
		letter-spacing: 0;
	}
}

#ast-desktop-header .current-menu-item .menu-text::after {
	display: inline-block;
	position: absolute;
	bottom: 40px;
	left: 0px;
	height: 2px;
	width: 20px;
	content: " ";
	background-color: #4c8cae;
}

#ast-desktop-header .main-header-menu > .menu-item-has-children > .menu-link {
	padding-right: 25px !important;
	padding-left: 25px !important;
}

#ast-desktop-header .main-header-menu > .menu-item-has-children > .menu-link::after {
	content: " ";
	position: absolute;
	right: 8px;
	  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid white;
}

#ast-desktop-header .main-header-menu > .menu-item-has-children:hover > .menu-link::after {
	content: none !important;
}

#ast-desktop-header .main-header-menu > .menu-item-has-children:hover  {
	color: #4c8cae;
}

#ast-desktop-header .main-header-menu > .menu-item-has-children:hover > .menu-link * {
	color: #4c8cae;
}

#ast-desktop-header .main-header-menu > .menu-item-has-children:hover  > .menu-link .menu-text::after {
	/*Three stripes below header li with sub-menu */
	position: absolute;
	bottom: 45px;
	left: 50%;
	transform: translatex(-50%);
	height: 0;
	width: 20px;
	content: " ";
	box-shadow: 0 10px 0 1px #4c8cae,0 17px 0 1px #4c8cae,0 24px 0 1px #4c8cae;
}

/* Sub Menus */

#ast-desktop-header .sub-menu {
	width: auto;
	min-width: 100px;
	background-color: white;
	box-shadow: rgba(14,30,37,.12)0 2px 4px,rgba(14,30,37,.32)0 2px 16px;
	border-radius: 20px;
}

#ast-desktop-header .wpml-ls-current-language .sub-menu {
	text-align: center;
}

#ast-desktop-header .wpml-ls-current-language .sub-menu a {
	padding-left: 0px !important;
	padding-right: 0px !important;
}

#ast-desktop-header .sub-menu.astra-megamenu .sub-menu {
	box-shadow: none !important;
	background-color: transparent !important;
	border: none !important;
	text-align: left !important;
	
}

#ast-desktop-header .main-header-menu .sub-menu * {
	color: #0060a7;
}

#ast-desktop-header .main-header-menu .sub-menu > .menu-item-has-children > .menu-link {
	letter-spacing: 1px;
	text-transform: uppercase;
}

/* Mega Menu Airports */

#ast-desktop-header .main-header-menu .astra-megamenu-li .sub-menu .menu-link {
	padding: .5rem 1rem;
}

.ast-desktop .main-header-menu .astra-megamenu-li .sub-menu .menu-item-heading .menu-text, #ast-mobile-popup .astra-mm-icon-label, #ast-mobile-popup .menu-text, #ast-mobile-popup .menu-link {
	vertical-align: middle !important;
}

.astra-megamenu .astra-mm-icon-label , #ast-mobile-popup .astra-mm-icon-label {
	margin-right: 10px !important;
}

.astra-megamenu .astra-mm-icon-label img, #ast-mobile-popup .astra-mm-icon-label img {
	border-radius: 20px;
}

.menu-item .ast-icon.icon-arrow:first-of-type {
	display: none !important;
}

#ast-desktop-header .astra-megamenu-li .sub-menu .menu-text::after {
	bottom: -7px !important;
}

/*Bugfix */
.ast-primary-header-bar {
	border: none !important;
}

/* Mobile Header */

#ast-mobile-header button {
	padding-right: 0px !important;
}


#ast-mobile-popup * {
	color: #0060a7;
}

#ast-mobile-popup .main-navigation .menu-item > .menu-link {
	font-weight: 400;
}

/* #ast-mobile-popup .menu-item-has-children > a > .menu-text {
	font-weight: 700;
} */

#ast-mobile-popup button {
	border: none;outline: none;
}

.ast-builder-menu-mobile .main-navigation .menu-item:hover > .menu-link, .ast-builder-menu-mobile .main-navigation .inline-on-mobile .menu-item:hover > .ast-menu-toggle, .ast-builder-menu-mobile .main-navigation .menu-item.current-menu-ancestor > .menu-link {
	background-color: #f3f7fa;
}

button.ast-menu-toggle:hover {
	background-color: inherit !important;
}

#ast-mobile-popup .ast-mobile-popup-header {
	min-height: 80px;
}

button.menu-toggle, #menu-toggle-close, button.ast-menu-toggle {
	min-width: 0px;
}

#menu-toggle-close {
	align-items: center;
}

#menu-toggle-close svg {
	width: 26px;
	height: 24px;
}

/* Footer */

.site-footer {
	background-color: #0060a7;
}

.site-footer * {
	transition: none;
}

.site-footer p:empty {
	display: none;
}

.site-primary-footer-wrap {
	padding: 0px !important;
}

.ast-builder-footer-grid-columns {
	grid-column-gap: 50px;
}

.site-primary-footer-inner-wrap, .site-below-footer-wrap {
	padding-top: 30px !important;
	padding-bottom: 30px;
	margin-right: auto;
	margin-left: auto;
}

.site-footer-section {
	margin: 0px !important;
	min-width: 200px;
}

.footer-container {
	padding: 20px 20px 20px 0px;
	display: inline-block;
}

.footer-container h2 {
	color: white;
	position: relative;
	text-transform: uppercase;
	font-size: 16px;
	margin-bottom: 35px;
	display: inline-block;
	letter-spacing: 1px;
}

.footer-container h2::after {
	display: inline-block;
	position: absolute;
	bottom:-10px;
	left: 0;
	height: 2px;
	width: 20px;
	content: " ";
	background-color: white;
}

.footer-help ul, .footer-help a, .footer-help li, .footer-links ul, .footer-links a, .footer-links li, .footer-partner ul, .footer-partner a, .footer-partner li {
	color: white;
	padding-bottom: 7px;
	font-weight: normal !important;
}

.footer-help a:hover, .footer-links a:hover, .footer-partner a:hover {
	color: #4c8cae;
}

.footer-payment-methods {
	max-width: 250px;
}

.footer-payment-methods div {
	width: 100%;
	text-align: left;
}

.footer-payment-methods div i {
	font-size: 28px;
	line-height: 40px;
	color: white;
	padding-right: 10px;
}

.footer-payment-methods div span {
	max-width: 200px;
	display: inline-block;
	font-size: 12px;
	color: white;
	line-height: 1.6em;
	margin-top: 10px;
}

.footer-payment-methods div i:last-of-type {
	padding-right: 0px !important;
}

.site-below-footer-wrap {
	max-width: 1200px;
}

.footer-logo{
		margin-bottom: 5px;
	}

.ast-footer-copyright, .ast-footer-copyright * {
	color: white !important;
	font-weight: normal !important;
	margin-right: 20px;
}

@media (max-width:1200px) {
	.site-primary-footer-inner-wrap, .site-below-footer-wrap {
	padding: 40px !important;
	}
	
		.site-primary-footer-inner-wrap {
		grid-template-columns: repeat( 2,1fr ) !important;
	}
}

@media (max-width:1050px) {
	.ast-builder-footer-grid-columns {
		grid-column-gap: 30px  !important;
	}

	.site-footer-section {
		min-width: 200px;
	}

	.footer-container h2 {
		font-size: 16px;
	}

	.footer-payment-methods div i {
		font-size: 28px;
	}
	

}

@media (max-width:768px) {
	.site-primary-footer-inner-wrap {
		grid-template-columns: 1fr !important;
	}
	
	.footer-container {
		padding: 0px 20px 20px 0px;
	}
}

@media (max-width:544px) {
	
	.site-footer-section * {
		text-align: left;
	}
	
	.site-primary-footer-inner-wrap {
		padding: 40px 30px 20px 40px !important;
	}
	
	.site-below-footer-wrap {
		padding: 20px 40px 40px 40px!important;
	}
	
	.site-below-footer-wrap .footer-logo{
		width: 75px;
		height: auto;
		margin-bottom: 20px;
	}
}

/* Advantages Widget */
body .card-widget-background {
	border-radius: 20px;
	left: 50% !important;
	transform: translateX(-50%);
	width: 70%;
	min-width: 600px;
}

.card-widget-container h3 {
	font-size: 1.5rem;
	
}

.card-widget-container h3.headline-with-linebreak, .card-widget-container .headline-with-linebreak h3 {
	word-spacing: 500px; /* Forces linebreak after every word */
}

@media (max-width:600px) {
	body .card-widget-background {
		width: 100%;
		min-width: 0px;
	}
}

/* Booking & Parking Process Widget */
.process-container {
	font-size: inherit;
}

.process-container .process-steps-mobile {
	display: none;
}

.process-container .process-step {
	border-radius: 20px;
	position: relative;
	max-width: 350px !important;
}

.process-container .process-step-number {
	color: #0060a7;
	position: absolute;
	left: 30px;
	top: 0px;
	transform:translateY(-50%);
	
}

.process-container .process-step-number * {
	font-size: 3rem;
}

@media (max-width: 704px) {

	.process-container .process-steps-desktop {
		display: none;
	}
	
	.process-container .process-steps-mobile {
		display: block;
	}
	
}

@media (max-width:544px) {
	.process-container .process-step-number * {
		font-size: 2.6rem;
	}
}

/* Search Form*/

.search-container-full-width {
	max-width: none !important;
}

/* Car and airplane-shadow background */

#content .search-container {
	position: relative !important;
}

#content .search-container .car {
	position: absolute;
	top: calc(0px + 450px);
	left: calc(50% + 107px);
	transform: rotate(-35.0deg) translateX(-50%);
	width: 220px;
}

#content .search-container .car-animated {
	animation: car 1.5s forwards;
	animation-timing-function:  cubic-bezier( 0.42, 0.82, 0.48, 0.95 );
}

@keyframes car {
  from {top: calc(0px + 450px); left: calc(50% + 107px); transform: rotate(-35.0deg) translateX(-50%);}
  to {top: 50px; left: calc(50% - 50px); transform: rotate(-22.5deg) translateX(-50%);}
}

#content .search-container .airplane {
	top: calc(-1600px);
	left: calc(40% - 600px);
	transform: rotate(-22.5deg) translateX(-50%);
	width: 1200px;
	z-index: 10;
}

#content .search-container .airplane-animated {
	animation: airplane 1.5s forwards;
	animation-delay: 1.0s;
	animation-timing-function: linear;
}

@keyframes airplane {
  from {top: calc(-1600px); left: calc(50% - 500px);}
  to {top: -800px; left: calc(40% - 250px);}
}

#content .home-headline-container {
	z-index: 20 !important;
}

@media (max-width: 921px) {
	
	#content .search-container .car {
	top: 600px;
	right: calc(5% - 150px);
	transform: rotate(-35.0deg);
	width: 150px;
	left: auto;
	}
	
	@keyframes car {
	  from {top: calc(0px + 600px); right: calc(5% - 150px); transform: rotate(-35.0deg);}
	  to {top: 150px; right: calc(5%); transform: rotate(-22.5deg);}
	}
	
	#content .search-container .airplane {
		top: -705px;
		left: auto;
		right: 362px;
		transform: rotate(-22.5deg);
		width: 600px;
	}

	@keyframes airplane {
	  from {top: -705px; right: 362px;}
	  to {top: -20px; right: 70px;}
	}	
	
}

@media (max-width: 820px) {
	#content .search-container .airplane {
		width: 500px;
	}
}

@media (max-width: 750px) {
	#content .search-container .airplane {
		width: 400px;
	}
}

@media (max-width: 544px) {
	
	#content .search-container .car {
	position: absolute;
	top: 280px;
	right: calc(5% - 120px);
	transform: rotate(-35.0deg);
	width: 70px;
	}
	
	@keyframes car {
	  from {top: calc(0px + 280px); right: calc(5% - 120px); transform: rotate(-35.0deg);}
	  to {top: 20px; right: calc(5%); transform: rotate(-22.5deg);}
	}
	
#content .search-container .airplane {
	position: absolute;
	top: calc(-420px);
	left: auto;
	right: calc(200px);
	transform: rotate(-22.5deg);
	width: 350px;
}

@keyframes airplane {
	from {top: calc(-420px); right: calc(200px);}
	to {top: -75px; right: calc(30px);}
}	
	
	#content .home-headline-container {
		max-width: 190px;
	}
	
}

@media (max-width: 490px) {
	#content .search-container .airplane {
		width: 300px;
	}
}

@media (max-width: 430px) {
	#content .search-container .airplane {
		width: 250px;
	}
}

@media (max-width: 370px) {
	#content .search-container .airplane {
		width: 200px;
	}
}

/* Optional: Set full width background-images */

/*

.car, .car-animated, .airplane, .airplane-animated {
	display: none !important;
}

.search-container-full-width {
	background-image: url("https://testsub.park.aero/wp-content/uploads/2023/05/background.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

*/

/* Search Widgets */

#home-search-container, #airport-search-container {
	max-width: 100%;
	position: relative;
}

#home-search-form, #airport-search-form {
	width: 360px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 20;
}

#home-search-form {
	padding-top: 35px;
}

#airport-search-form-logo-row {
	text-align: center;
	margin-bottom: 30px !important;
	padding: 40px 25px 30px 25px;
	background-color: white;
	border-top-left-radius: inherit;
	border-top-right-radius: inherit;
	border-bottom: 1px dashed #5252524D; 
}
#airport-search-form-logo-row img {
	display: inline;
	width: 180px;
}

#home-search-form .row, #airport-search-form .row {
	margin-bottom: 30px;
	margin-left: 35px;
	margin-right: 35px;
} 

#home-search-form .last-row, #airport-search-form .last-row {
	text-align: center;
	padding-bottom: 35px;
	padding-left: 35px;
	padding-right: 35px;
}

#home-search-form input, #airport-search-form input, #cancellation-search-form input{
	border-bottom: 1px solid #5252524D;
	color: #525252;
}

#home-search-form input, #airport-search-form input, #cancellation-search-form input{
	width: 100%;

}

#home-search-form input:focus::-webkit-textfield-decoration-container, #airport-search-form input:focus::-webkit-textfield-decoration-container {
  visibility: hidden;
  display: none !important;
  pointer-events: none;
  position: absolute;
  right: 0;
}

#home-search-form-airport-row label {
	margin-top: 0px;
}

#home-search-form .date-time button, #airport-search-form .date-time button, #home-search-form .business-traveller-text button, #airport-search-form .business-traveller-text button  {
	background-color: transparent !important;
	color: inherit !important;
	padding: 0px !important;
	float: right;
	width: 34px;
	height: 100%;
	line-height: inherit;
	min-width: 0px;
}

#home-search-form .date-time button i, #airport-search-form .date-time button i, #home-search-form .business-traveller-text button i, #airport-search-form business-traveller-text button i {
	padding: 0px;
}

#home-search-form .entry-icon, #home-search-form .exit-icon, #airport-search-form .entry-icon, #airport-search-form .exit-icon {
	float: left; 
	width: 10%; 
	height: 50px; 
	display: flex; 
	justify-content: end; 
	align-items: center;
}

#home-search-form .entry-icon i, #home-search-form .exit-icon i, #airport-search-form  .entry-icon i, #airport-search-form  .exit-icon i  {
	color: #52525280;
}

#home-search-form .date-time .entry-row, #airport-search-form .date-time .entry-row {
	margin-bottom: 10px;
	border-bottom: 1px solid #5252524D !important;
}

#home-search-form .date-time .exit-row, #airport-search-form .date-time .exit-row {
	border-bottom: 1px solid #5252524D !important;
}

#home-search-form .date-time input, #airport-search-form .date-time input {
	width: 52%;
	float: left;
	padding-left: 20px;
}

#home-search-form .date-time .choices, #airport-search-form .date-time .choices {
	width: 38%;
	float: left;
	margin-bottom: 0px !important;
}

#home-search-form .choices__list--single, #airport-search-form .choices__list--single,  #cancellation-search-form .choices__list--single {
	padding-top: 12px !important;
	padding-bottom: 12px !important;
}

#home-search-form input::placeholder, #airport-search-form input::placeholder, #cancellation-search-form input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
	color:  #52525280;
	opacity: 1; /* Firefox */
	font-weight: normal !important;
}

#home-search-form input:-ms-input-placeholder, #airport-search-form input:-ms-input-placeholder, #cancellation-search-form input:-ms-input-placeholder { /* Internet Explorer 10-11, Edge */
	color: #52525280;
	font-weight: normal !important;
}

#home-search-form label, #airport-search-form label, #cancellation-search-form label {
	margin-bottom: 15px;
	display: block;
	font-size: 1rem;
}

#home-search-form label i, #airport-search-form label i, #cancellation-search-form label i {
	padding-right: 8px;
}

#home-search-form .choices, #airport-search-form .choices, #cancellation-search-form .choices {
	border-bottom: 1px solid #5252524D;
}

#home-search-form .date-time input, #home-search-form .date-time .choices, #airport-search-form .date-time input, #airport-search-form .date-time .choices  {
	border-bottom: none !important;
}

#home-search-form .choices * ,  #airport-search-form .choices *, #cancellation-search-form .choices * {
	color: #525252;
}

#home-search-form .choices[data-type*=select-one]::after, #airport-search-form .choices[data-type*=select-one]::after, #cancellation-search-form .choices[data-type*=select-one]::after {
	border-color: #525252 transparent transparent;
}

#home-search-form .choices[data-type*=select-one].is-open::after, #airport-search-form .choices[data-type*=select-one].is-open::after, #cancellation-search-form .choices[data-type*=select-one].is-open::after {
	border-color: transparent transparent #525252;
}

#home-search-form .choices__placeholder, #airport-search-form .choices__placeholder, #cancellation-search-form .choices__placeholder  {
	opacity: 1;
	color: #52525280;
	font-weight: normal !important;
}

#home-search-form .choices-airport {
	margin-bottom: 0px;
}

#home-search-form .choices-terminal {
	margin-top: 10px;
}

#airport-search-form .choices-terminal {
	margin-top: 0px;
}

#cancellation-search-form .row input:nth-of-type(2) {
	margin-top: 10px;
}

#home-search-form button, #airport-search-form button  {
	width: 100%;
}

#home-search-form .problem-notification, #airport-search-form .problem-notification {
	padding: 5px 10px;
	display: none;
	font-size: 0.95rem;
}

#home-search-form .problem-notification.row, #airport-search-form .problem-notification.row {
	width: auto;
}

#home-search-form #airport-mandatory-notification {
	margin-top: 25px;
}

#home-search-form input[type="checkbox"], #airport-search-form input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	margin: 0;
	font: inherit;
	color: #525252;
	width: 20px;
	height: 20px;
	border: 2px solid #525252 !important;
	border-radius: 2px;
	display: grid;
	place-content: center;
	cursor: pointer;
	float:left;
	margin-right: 10px;
	margin-top: 3px;
	position: relative;

}

#home-search-form input[type="checkbox"]::before, #airport-search-form input[type="checkbox"]::before {
	content: "";
	width: 0.65em;
	height: 0.65em;
	transform: scale(0);
	transition: 120ms transform ease-in-out;
	box-shadow: inset 1em 1em #525252;
	transform-origin: bottom left;
	clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

#home-search-form input[type="checkbox"]:checked::before, #airport-search-form input[type="checkbox"]:checked::before {
	transform: scale(1);
}

#home-search-form input[type="checkbox"]:checked, #airport-search-form input[type="checkbox"]:hover:checked {
	background-color: white !important;
	border: 0.15em solid #525252;
}

#home-search-form .business-traveller-text, #airport-search-form .business-traveller-text {
	font-weight: bold;
	color: #525252;
}

@media (max-width: 921px) {
	
	#home-search-form .row, #airport-search-form .row {
		margin-left: 30px;
		margin-right: 30px;
	}
	
	#home-search-form .last-row, #airport-search-form .last-row {
		text-align: center;
		padding-bottom: 30px;
		padding-left: 30px;
		padding-right: 30px;
	}
	
	#home-search-form  {
		padding-top: 30px;
	}
	
}

@media (max-width: 544px) {
	#home-search-form, #airport-search-form {
		width: 100% !important;
	}
	
	#home-search-form .row, #airport-search-form .row {
		margin-left: 25px;
		margin-right: 25px;
	}
	
}

/* Cancellation forms */
#cancellation-search-form {
	padding: 25px 40px 35px 40px;
	display: flex;
	width: 720px;
	margin-left: auto;
	margin-right: auto;
	column-gap: 40px;
	row-gap: 30px;
	flex-wrap: wrap;
}

#cancel-single-booking-form {
	flex-direction: column;
	justify-content:space-between;
	padding: 35px 40px 35px 40px;
	display: flex;
	width: 720px;
	margin-left: auto;
	margin-right: auto;
	column-gap: 40px;
	row-gap: 30px;
	flex-wrap: wrap;
}

body #cancel-single-booking-form h4 {
	margin-bottom: 20px !important;
}

#cancel-single-booking-form .cancel-single-booking-summary-container {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 45px;
}

#cancel-single-booking-form button {
	align-self: center;
}

#cancel-single-booking-form .wp-block-button {
	text-align: center;
}


#cancellation-search-form .row {
	width: 300px;
}

#cancellation-search-form .choices {
	margin-bottom: 12px;
}

#choose-airport-for-cancellation-info * {
	font-size: 14px;
	line-height: 1.4;
	padding-left: 11px;
	padding-top: 5px;
}

#choose-airport-for-cancellation-info a {
	display: none;
}

#cancellation-search-form-additional-buttons-row {
	text-align: center;
	display: flex;
	flex-direction: column;
}

#cancellation-search-form-additional-buttons-row button {
	margin-top: 38px;
}

#cancellation-search-form-data-input-submit{
	display: none;
}

#cancellation-search-form-data-input-submit input {
	margin-bottom: 12px;
}

#cancellation-search-form-submit-row {
	text-align: center;
	margin-top: 20px;
}

#cancellation-search-form .problem-notification {
margin-top: 5px;
margin-bottom: 15px;
	padding: 5px 10px;
	display: none;
	font-size: 0.95rem;
}

#cancellation-search-form #booking-not-found-notification {
	display: block !important;
}

@media (max-width: 921px) {
	#cancellation-search-form, #cancel-single-booking-form {
		flex-direction: column;
		width: 360px;
		row-gap: 20px;
	}
	
	#cancel-single-booking-form .cancel-single-booking-summary-container {
		gap: 15px;
	}
	
	#cancellation-search-form .row {
		width: 100%;
	}
	
	#cancellation-search-form-additional-buttons-row button {
		margin-top: 10px;
	}
	
	#choose-airport-for-cancellation-info * {
		text-align: center;
		padding-left: 0px;
	}
	
}

@media (max-width: 544px) {
	#cancellation-search-form, #cancel-single-booking-form {
		width: auto;
		padding: 25px 25px 35px 25px;
	}
}

/* Book Stepper Fortschrittsanzeige */

@media (min-width: 1200px) {
	.book-stepper-container {
		margin-left: calc((100vw - 1200px)/-2);
		width: 100vw;
	}
}

.book-stepper-container {
	padding-top: 30px;
	padding-bottom: 25px;
	margin-bottom: 50px;
	height:120px;
}

.book-stepper-wrapper {
	margin-top: auto;
	display: flex;
	justify-content: space-between;
	max-width: 1200px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.stepper-item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	flex: 1;
}

.stepper-item .step-name {
	font-size: 0.95rem;
}

.stepper-item::before {
	position: absolute;
	content: "";
	border-bottom: 2px solid #d0dfe9;
	width: 100%;
	top: 17px;
	left: -50%;
	z-index: 2;
}

.stepper-item::after {
	position: absolute;
	content: "";
	border-bottom: 2px solid #d0dfe9;
	width: 100%;
	top: 17px;
	left: 50%;
	z-index: 2;
}

.stepper-item .step-counter {
	position: relative;
	z-index: 5;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #d0dfe9;
	margin-bottom: 6px;
	color: #4c8cae;
}

.stepper-item .step-counter {
	font-weight: bold;
}

.stepper-item.active .step-counter {
	background-color: #0060a7;
	color: white;
}

.stepper-item.active {
	position: relative;
}

.stepper-item.active::before {
	display: inline-block;
	position: absolute;
	top: 90px;
	width: 17px;
	content: " ";
	z-index: 10;
	border-left: 17px solid transparent;
	border-right: 17px solid transparent;
	border-top: 17px solid #f3f7fa;
	border-bottom: 0px;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
}

.stepper-item.completed .step-counter {
	background-color: white;
	color: #0060a7;
	border: 2px solid #0060a7;
}

.stepper-item.completed::after {
	position: absolute;
	content: "";
	border-bottom: 2px solid #0060a7;
	width: 100%;
	top: 17px;
	left: 50%;
	z-index: 3;
}

.stepper-item.completed a {
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	text-indent: -999px;
	z-index: 999;
}

.stepper-item:first-child::before {
	content: none;
}
.stepper-item:last-child::after {
	content: none;
}

@media (max-width: 921px) {

	.book-stepper-container {
		height: 90px;
	}

	.stepper-item .step-name {
		display: none;
	}

	.stepper-item::after, .stepper-item::before{
		top: 15px !important;
	}

	.stepper-item.active::before {
		top: 60px !important;
	}

	.stepper-item .step-counter {
		width: 30px;
		height: 30px;
	}
}

@media (max-width: 544px) {

	.book-stepper-container {
		margin-bottom: 40px;
	}
	
}

/* Summary cards */

.booking-summary-container {
	padding: 35px;
	color: #0060a7;
}

.booking-summary-container .booking-summary {
	width: 100%;
}

.booking-summary-container .booking-summary i {
	width: 30px;
	text-align: center;
	margin-right: 5px;
	line-height: inherit;
}

.booking-summary-container .booking-summary .airport, .booking-summary-container .booking-summary .entry, .booking-summary-container .booking-summary .exit, .booking-summary-container .booking-summary .product, .booking-summary-container .booking-summary .mail, .booking-summary-container .booking-summary .cancellation-info {
	width: 100%;
	padding-bottom: 10px;
	border-bottom: 1px dashed #5252524D; 
	margin-bottom: 10px;
}

.booking-summary-container .booking-summary .entry, .booking-summary-container .booking-summary .exit {
	display: flex;
}

.booking-summary-container .booking-summary .entry div, .booking-summary-container .booking-summary .exit div {
	flex: 0 0 50%;
}

.booking-summary-container .booking-summary .product, .booking-summary-container .booking-summary .cancellation-info, .booking-summary-container .booking-summary .mail {
	display: flex;
	align-items: center;
	gap: 10px;
}

.booking-summary-container .booking-summary .product i, .booking-summary-container .booking-summary .cancellation-info i, .booking-summary-container .booking-summary .mail i {
	flex: 0 0 30px;
	text-align: center;
}


.booking-summary-container .booking-summary .cancellation-info p {
	padding-right: 10px;
}

.booking-summary-container .booking-summary .price {
	width: 100%;
	text-align: center;
	margin-top: 20px;
}

.booking-summary-container .booking-summary .price, .booking-summary-container .booking-summary .price * {
	font-weight: 700 !important;
}

.booking-summary-container .ids {
	width: 100%;
	text-align: center;
	margin-top: 20px;
	color: #4c8cae;
}

.booking-summary-container .wallet-buttons-container {
	width: 100%;
	text-align: center;
	margin-top: 20px;
	display: flex;
	flex-direction: row;
	gap: 20px;
}

.booking-summary-container .wallet-buttons-container div {
flex-basis: 50%;
flex-grow: 1;
}

#apple-wallet-button-container {
}

#google-wallet-button-container {
}

.booking-summary-container .wallet-buttons-container div a {
display: inline-block;
}

.booking-summary-container .wallet-buttons-container div a img {
	height: 40px;
	cursor: pointer;
}

.fade-in {
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.fade-in.show {
  opacity: 1;
  transform: scale(1);
}

.booking-summary-container .rate-productName:after {
	content: '\A';
	white-space: pre-line;
}

.booking-summary-container button {
	display: block;
	margin-top: 20px;
	margin-left: auto;
	margin-right: auto;
}

.booking-summary-container .payment-methods {
	width: 100%;
	text-align: center;
	margin-top: 27px;
}

.booking-summary-container .payment-methods p {
	line-height: 40px;
	padding-left: 15px;
	padding-right: 15px;
	font-size: 28px;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: center;
}

.booking-summary-container .payment-methods #b2b-payment-methods {
	line-height: 1;
}

@media (max-width: 768px) {
	.booking-summary-container {
		padding: 30px;
	}
}

@media (max-width: 544px) {
	.booking-summary-container {
		padding: 25px;
	}
	
	.booking-summary-container .wallet-buttons-container {
		flex-direction: column;
	}
	
}

/* Book / rates */
/* Book selection summary */

.summary-selection {
	width: 100%;
	padding-left: 30px;
	padding-right: 30px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	margin-bottom: 50px;
}

.summary-selection .mobile-summary {
	display: none;
	margin-top: 20px;
 	justify-content: space-between;
	flex-wrap: wrap;
}

.summary-selection .mobile-summary .mobile-summary-entry, .summary-selection .mobile-summary .mobile-summary-exit {
	margin-bottom: 10px !important;
	flex: 50%;
}

.summary-selection .mobile-summary .mobile-summary-entry p {
	float: right;
	padding-right: 20px;
	text-align: right;
}

.summary-selection .mobile-summary .mobile-summary-exit p {
	float: left;
	padding-left: 20px;
	text-align: left;
}

.summary-selection .mobile-summary .mobile-summary-button {
	flex: 100%;
	line-height: 40px;
}

.summary-selection .airport-and-form-container {
	display: flex;
	float:left;
}


.summary-selection .airport-logo {
	display: block;
	float: left;
	padding-right: 20px;
	margin-right: 20px;
	border-right: 1px solid #4c8cae;
}

.summary-selection .airport-logo img {
	height: 50px;
	display: block
}

.summary-selection .airport, .summary-selection .entry-date, .summary-selection .entry-time, .summary-selection .exit-date, .summary-selection .exit-time, .summary-selection .change-period-button {
	display: block;
	text-align: left;
	float: left;
}

.summary-selection .airport p, .summary-selection .entry-date p, .summary-selection .entry-time p, .summary-selection .exit-date p, .summary-selection .exit-time p {
	line-height: 25px;
	height: 25px;
}

.summary-selection .airport {
	padding-right: 20px;
	margin-right: 20px;
	border-right: 1px solid #4c8cae;
}

.summary-selection .airport p:nth-of-type(2){
	font-weight: bold;
}

.summary-selection .entry-date, .summary-selection .entry-time, .summary-selection .exit-date, .summary-selection .exit-time {
	margin-right: 20px;
}

.summary-selection .change-period-button {
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.summary-selection .choices {
	width: 90px;
}

.summary-selection .choices__inner {
	min-height: 25px !important;
	padding-left: 0px !important;
}

.summary-selection .choices__list--single {
	padding: 0px 30px 0px 3px !important;
}


.summary-selection input {
	background-color: transparent !important;
	font-weight: bold !important;
	text-align: left !important;
	padding: 0px 3px 0px 3px !important;
	width: 90px;
}

.summary-selection #book-rates-change-period-button, .summary-selection .mobile-summary button {
	padding: 6px 10px 6px 10px;
	font-size: 12px;
	min-width: 100px;
}

/* Airport System Message */

.airport-system-message {
	width: auto;
	text-align: center;
	position: relative;
	margin-bottom: 50px;
	margin-left: 50px;
	margin-right: 50px;
	background-color: #f3f7fa;
	color: #0060a7;
	border: 1px solid #0060a7;
	padding: 20px 20px 20px 15px;
	border-radius: 10px;
}

.airport-system-message p {
display: flex;
text-align: left;
}

.airport-system-message i {
padding-right: 10px;
line-height: inherit;
}




/* Sort By */

#sort-by-container {
	float: right;
	height: 50px;
	display: flex;
	align-items: center;
}

#sort-by-container > i {
	margin-right: 10px;
	float: left;
}

#sort-by-container button {
	padding: 6px 10px 6px 10px;
	margin-left: 5px;
	font-size: 12px;
	min-width: 100px;
}

#sort-by-container button:nth-of-type(1) {
	margin-left: 0px;
}

#sort-by-container button.sort-active {
	background-color: #0060a7 !important;
	color: #fff !important;
	cursor: default;
}

@media (max-width: 1200px) {
	

	
	.summary-selection {
		margin-bottom: 0px;
	}

	.summary-selection .airport-and-form-container {
		justify-content: center;
		float: none;
	}

	.airport-system-message {
		margin-bottom: 0px;
	}

	#sort-by-container {
		clear:both;
		float: none;
		height: 100px;
		justify-content: center;
	}

	#sort-by-container > i {
		float: none;
		margin-top: 0px;
	}

}

@media (max-width: 961px) {
	
	.summary-selection .airport-logo img {
		height: 60px;
	}
	
	
	.summary-selection .mobile-summary {
	display: flex;
	}

	.summary-selection .airport-and-form-container {
		display: block;
	}

	.summary-selection .airport {
		display: none;
	}

	.summary-selection .airport-logo img {
		margin-left: auto;
		margin-right: auto;
	}


	#book-rates-search-form {
		display: none;
		flex-direction: row;
		justify-content: space-between;
		flex-wrap: wrap;
		padding: 20px;
		margin-top: 30px;
		border-radius: 20px;
		row-gap: 15px;
		background-color: #f3f7fa;
	}

	.summary-selection .airport-logo, .summary-selection .airport, .summary-selection .entry-date, .summary-selection .entry-time, .summary-selection .exit-date, .summary-selection .exit-time, .summary-selection .change-period-button {
		float: none;
		padding: 0px;
		margin: 0px;
		border: none !important;
	}

	.summary-selection .entry-date, .summary-selection .entry-time, .summary-selection .exit-date, .summary-selection .exit-time {
		flex: 50%;
	}
	
	.summary-selection .entry-date > div, .summary-selection .exit-date > div {
		float: right;
		text-align: right;
		padding-right: 20px;
	}
	
	.summary-selection .entry-time > div, .summary-selection .exit-time > div {
		float: left;
		padding-left: 20px;
		text-align: left;
	}

	.summary-selection .entry-date input , .summary-selection .exit-date input {
		text-align: right !important;
		padding: 0 3px 0 0 !important;
	}
	
	.summary-selection .change-period-button {
		line-height: 40px;
		flex: 100%;
		text-align: center;
	}

}

@media (max-width: 544px) {
	
	.summary-selection{
		width: 100%;
		padding-left: 30px;
		padding-right: 30px;
	}

	.airport-system-message {
		margin-left: 30px;
		margin-right: 30px;
	}

}

/* Pre-loading animation*/

.spinner {
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 1.5rem;
	height: 1.5rem;
	border-top-color: #0060a7;
	border-left-color: #0060a7;
	animation: spinner 400ms linear infinite;
	border-bottom-color: transparent;
	border-right-color: transparent;
	border-style: solid;
	border-width: 2px;
	border-radius: 50%;  
	box-sizing: border-box;
	display: inline-block;
	vertical-align: middle;
}

@keyframes spinner {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

.spinner-slow {
	animation: spinner 1s linear infinite;
}

.wait-for-rates-text {
	width: 80%;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 400px !important;
	display: block;
}

.inner-button-spinner {
	display: inline-block;
	width: 1em;
	height: 1em;
	border: 2px solid currentcolor;
	border-top: 2px solid transparent;
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
	vertical-align: middle;
	padding: 0 !important;
}

@keyframes spin {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

/* Error container */
.book-rates-error-container {
	margin-top: 50px;
	flex: 0 0 80%;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 400px !important;
	display: block;
}

.book-rates-error-container h2 {
	margin-bottom: 20px !important;
}

.book-rates-error-container button {
	margin-top: 30px;
	margin-bottom: 30px;
}

/* Rate container */

#available-rates-container {
	text-align: center;
	display: flex;
	column-gap: 50px;
	row-gap: 50px;
	flex-wrap: wrap;
	padding-left: 10px;
	padding-right: 10px;
}

/* Map view */

#map-container {
	position: fixed !important;
	min-width: 80vw;
	background-color: #ededed;
	z-index: 999;
	left: 10vw;
	right: 10vw;
	top: 50%;
	transform: translateY(-50%);
	padding-left: 30px;
	padding-top: 30px;
	padding-bottom: 30px;
	min-height: 90vh;
	max-height: 90vh;
	display: none;
	text-align:left;
}

#map-container .rate-card {
	flex: none;
	width: 360px;
}

#map-container .details-list {
	display: block !important;
	overflow: auto;
	overscroll-behavior: contain;
	max-height: 40vh;
}

#map-container .details-list.has-scrollable-content-bottom {
	-webkit-mask-image: -webkit-gradient(linear,left 70%,left bottom,from(black),to(rgba(0,0,0,0)));
}

@media (max-height: 1000px) {
	#map-container .details-list {
		max-height: 30vh;
	}
}

@media (max-height: 800px) {
	#map-container .details-list {
		max-height: 20vh;
	}
	#map-container .rate-card .highlights-list, #map-container .rate-card .details-list, #map-container .rate-card .rate-price {
		margin-top: 15px !important;
		padding-top: 15px !important;
	}

}

@media (max-height: 680px) {
	#map-container .details-list {
		max-height: 15vh;
	}
}

#map-container .cookie-notice-container {
	transform: translate(-50%, -50%) !important;
	left: 65% !important;
}


#map-container .close-map {
	display: inline-block !important;
	position: absolute;
	top: 20px;
	right: 20px;
	width: 40px;
	height: 40px;
	text-align: center;
	border-radius: 10px;
	border: none;
	background-color: white;
	box-shadow: rgba(14,30,37,.12)0 2px 4px,rgba(14,30,37,.32)0 2px 16px;
	color: #666666;
	font-size: 22px;
	padding: 0px;
	min-width: 0px;
}

#map-container .close-map:hover {
	color: black;
}

#map-container .gm-marker-label-terminal {
	width: 32px;
	height: 32px;
	font-size: 1rem;
	display: inline-block;
	background-color: #EA4335;
	color: white;
	font-weight: bold;
	line-height: 32px;
	text-align: center;
	border-radius: 10px;
	box-shadow: rgba(14,30,37,.12)0 2px 4px,rgba(14,30,37,.32)0 2px 16px;
}

#map-container .gm-marker-label-terminal:hover {
	cursor: default !important;
}

#map-container .gm-marker-label-unselected-rate,
#map-container .gm-marker-label-selected-rate {
    min-height: 26px;
	padding: 3px 10px;
	
    display: inline-flex;
    align-items: center;
    justify-content: center;

    white-space: nowrap;

    font-size: 0.90rem;

    border-radius: 10px;

    box-shadow:
        0 2px 4px rgba(14,30,37,.12),
        0 2px 16px rgba(14,30,37,.32);
}

#map-container .gm-marker-label-unselected-rate {
    background: #0060a7;
    color: #fff;
}

#map-container .gm-marker-label-selected-rate {
    background: #ffcc00;
    color: #0060a7;
}

#map-container .map-rate-preview-header {
	display: flex;
	flex-direction: row;
}

#map-container .map-rate-preview-header-parking-p {
	background-color: #0060a7 !important;
	color: white !important;
	border-radius: 5px;
	font-size: 20px;
	padding-left: 8px;
	padding-right: 8px;
	height: 28px;
	line-height: 30px;
	font-weight: 700 !important;

}


#map-container .map-rate-preview-header-title {
    font-size: 20px;
	padding-bottom: 15px;
	font-weight: normal;
	display: flex;
	flex-direction: row;
	align-items: center;
	width: 100%;
	gap: 15px;
}

#map-container .map-rate-preview-header-title .map-rate-preview-header-travelling-type {
	margin-left: auto;
	margin-right: 5px;
}

#map-container .map-rate-preview-separator-header {
	background-color: #5252524D;
	margin: 0px !important;
}

#map-container .map-rate-preview-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    padding: 12px 0;
}

/*#map-container .map-rate-preview-item:first-child {
    padding-top: 0;
}*/

#map-container .map-rate-preview-item:last-child {
    padding-bottom: 5px;
}

#map-container .map-rate-preview-separator {
    margin: 0px !important;
	border-top: 1px dashed #5252524D;
	background-color: transparent;
}


#map-container .map-rate-preview-item-details {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 0;
	text-align: left;
}


#map-container .map-rate-preview-name {
    font-size: 16px;
    font-weight: normal;
	text-align:left;
	white-space: normal;
	word-break: break-word;
}

#map-container .map-rate-preview-details-eletric-charging {
	color: green;
	padding-left: 5px;
}


#map-container .map-rate-preview-details-divider {
    padding: 0 8px;
    opacity: .5;
}


#map-container .map-rate-preview-price {
    font-size: 16px;
    font-weight: normal;
    white-space: nowrap;
}

#map-container .map-rate-preview .secondary-button {
    flex-shrink: 0;
}

#map-container .map-rate-preview button{
	display: inline-block;
	padding: 6px 10px 6px 10px;
	font-size: 12px;
	white-space:nowrap;
}


/* Rate Cards */

.rate-card {
	flex: 0 0 360px;
	margin: 0px !important;
	text-align: left;
	position: relative;
	padding: 30px 35px 35px 35px;
}

.rate-card .rate-name {
	word-wrap: break-word;
	display: flex;
	align-items: center;
}

.rate-card .rate-name .rate-name-text {
	margin-left: 20px;
	display: block;
}

.rate-card .rate-name .rate-name-parking-p {
	background-color: #0060a7 !important; 
	color: white !important;
	border-radius: 10px;
	font-size: 28px;
	padding-left: 12px;
	padding-right: 12px;
	height: 40px;
	line-height: 40px;
	font-weight: 700 !important;
}

.rate-card .rate-name .rate-productName:after {
	content: '\A';
	white-space: pre-line;
	/*content: ' ';
	white-space: normal;*/
}

.rate-card .highlights-list {
	border-top: 1px dashed #5252524D; 
	margin-top: 20px;
	padding-top: 20px;
	font-size: 0.95em;
}

.rate-card .highlights-list ul {
	list-style: none;
	padding-left: 0px;
	padding-top: 0px;
	padding-bottom: 0px;
	padding-right: 0px;
	margin: 0px;
}

.rate-card .highlights-list .highlight-row {
	display: flex;
	align-items: center;
	margin-bottom: 15px;
	column-gap: 10px;
}

.rate-card .highlights-list ul:last-child {
	margin-bottom: 0px !important;
}

.rate-card .highlights-list .highlight-row i {
	flex: 0 0 40px;
	text-align: center;
}

.rate-card .details-list {
	border-top: 1px dashed #5252524D; 
	margin-top: 20px;
	padding-top: 20px;
	font-size: 0.95em;
}

.rate-card .details-list ul {
	margin: 0px;
	padding-left: 35px;
	padding-right: 20px;
}

.rate-card .details-list ul li {
	padding-bottom: 5px;
}

.rate-card .mobile-hide-infos-button {
	margin-left: auto;
	margin-right: auto;
	margin-top: 15px;
}

.rate-card .map-and-more-infos-container {
	display: flex;
	flex-wrap: wrap;
	height: auto;
	margin-top: 20px;
	padding-top: 20px;
	text-align: center;
	border-top: 1px dashed #5252524D; 
	justify-content: center;
	gap: 20px;

}

.rate-card .map-and-more-infos-container .map-button, .rate-card .map-and-more-infos-container .mobile-more-infos-button, .rate-card .mobile-hide-infos-button {
	padding: 6px 10px 6px 10px;
	font-size: 12px;
	min-width: 60px;
}

.rate-card .map-and-more-infos-container .mobile-map-button, .rate-card .map-and-more-infos-container .mobile-more-infos-button, .rate-card .mobile-hide-infos-button {
	display: none;
}

#map-container .rate-card .map-and-more-infos-container {
	display: none;
}

.rate-price {
	border-top: 1px dashed #5252524D; 
	width: 100%;
	float: none !important;
	margin-top: 20px;
	text-align: center;
	padding-top: 20px;
}

.rate-price, .rate-price h3 {
	font-weight: 700 !important;
}

.rate-card .wp-block-button {	
	position: static !important;
	bottom: auto !important;
	right: auto !important;
	margin-left: auto;
	margin-right: auto;
	margin-top: 15px;
	text-align: center;
	
}

.rate-card .wp-block-button a {
}

.rate-amount-before-rebate {
	text-decoration: line-through;
	margin-bottom: 0px !important;
}

.pre-selected-label {
	position: absolute;
	top: -15px;
	left: 50%;
	transform: translateX(-50%);
	height: 30px;
	background-color: #0060a7;
	border-radius: 20px;
	padding-left:15px;
	padding-right:15px;
	padding-top: 0px;
	padding-bottom: 0px;
}

.pre-selected-label > p {
	color: white;
	line-height: 30px;
	font-weight: bold;
	text-transform: uppercase;
	font-size: 12px;
}

.electric-charging-label {
	position: absolute;
	top: -20px;
	right: 20px;
	height: 45px;
	width: 45px;
	background-color: #e9f2e8;
	border: 3px solid green;
	border-radius: 40px;
}

.electric-charging-label > p {
	font-size: 22px;
	color: green;
	text-align: center;
	line-height: 39px;
}

.electric-charging-label > p > i {
	padding-left: 5px;
}

.pre-selected-after-spacer {
	height: 80px;
	display: flex;
	align-items: center;
	position: relative;
	text-align: center;
	margin-top: 5px;
	margin-bottom: 5px;
}

/*

.pre-selected-after-spacer > hr {
	position: absolute;
	width: 90%;
	margin-left: 5%;
	margin-right: 5%;
	margin-bottom: 0px;
}

.pre-selected-after-spacer > p {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	background-color: white;
	padding: 20px;
	min-width: 200px;
}
*/

@media (max-width: 1600px) {
	#map-container {
		min-width: 90vw;
		left: 5vw;
		right:5vw;
	}
	
}

@media (max-width: 1200px) {
	#available-rates-container {
		padding-left: 20px;
		padding-right: 20px;
		width: 810px;
	}
}

@media (max-width: 921px) {	
		
	.rate-card {
		padding: 25px 30px 30px 30px;
	}
	
	.rate-card .map-and-more-infos-container .desktop-map-button {
		display: none;
	}
	
	.rate-card .map-and-more-infos-container .mobile-map-button, .rate-card .map-and-more-infos-container .mobile-more-infos-button, .rate-card .mobile-hide-infos-button {
		display: block;
	}

	#map-container .rate-card {
		display: none;
	}

	#map-container {
		width: calc(100% - 60px);
		top: 30px;
		left: 30px;
		right: 30px;
		bottom: 30px;
		max-height: none;
		transform: none;
	}

	#map-container .cookie-notice-container {
		transform: translate(-50%, -50%) !important;
		left: 50% !important;
	}

}

@media (max-width: 810px) {
	#available-rates-container {
		width: 100%;
		max-width: 500px;
		justify-content: center;
	}
}

@media (max-width: 544px) {
	#available-rates-container {
		row-gap: 40px;
	}
	
	.rate-card {
		display: block !important;
		width: 100% !important;
		flex: none !important;
		max-width: 360px;
		margin-left: auto;
		margin-right: auto;
		padding: 23px 25px 25px 25px;
	}
	
	.rate-card .rate-name .rate-name-parking-p {
		height: 34px;
		line-height: 34px;
		font-size: 24px;
		padding-left: 10px;
		padding-right: 10px;
	}
	
	.rate-card .rate-name .rate-name-text {
		margin-left: 15px;
	}
	
	.rate-card .highlights-list .highlight-row i {
		flex: 0 0 30px;
	}
	
	.rate-card .details-list ul {
		padding-left: 30px;
	}

	#map-container {
		width: 100%;
		height: 100%;
		top: 0px;
		left: 0px;
		right: 0px;
		bottom: 0px;
		border-radius: 0px;
	}

	#map-container .rate-card {
		display: none !important;
	}

}


/* Book / Data */
/* Data check error container */
.book-data-error-container {
	margin-top: 50px;
	width: 80%;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 400px !important;
	display: block;
}

.book-data-error-container h2 {
	margin-bottom: 20px;
}

.book-data-error-container .wp-block-button {
	margin-top: 30px;
	margin-bottom: 30px;
}

/* Book data payment cancelled */
#payment-cancelled-notification {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	display: none;
}

/* Book data form container */

#book-data-form {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	position: relative;

}

/* Book Data - Summary Card */

#book-data-form .booking-summary-container {
	width: 33%;
	position: sticky;
	top: 0px;
	float:right;
}

/* General: Checkbox Input */
#book-data-form input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	margin: 0;
	font: inherit;
	color: black;
	width: 20px;
	height: 20px;
	border: 2px solid black !important;
	border-radius: 2px;
	display: grid;
	place-content: center;
	cursor: pointer;
	float:left;
	margin-right: 20px;
	margin-top: 3px;
	position: relative;

}

#book-data-form input[type="checkbox"]::before {
	content: "";
	width: 0.65em;
	height: 0.65em;
	transform: scale(0);
	transition: 120ms transform ease-in-out;
	box-shadow: inset 1em 1em black;
	transform-origin: bottom left;
	clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

#book-data-form input[type="checkbox"]:checked::before {
	transform: scale(1);
}

#book-data-form input[type="checkbox"]:checked, #book-data-form input[type="checkbox"]:hover:checked {
	background-color: white !important;
	border: 0.15em solid black;
}

#book-data-form .checkbox-text-container {
	padding-right: 30px;
}

/* Personal Data */

#b2b-checkout-container h4 img {
	height: 27px;
	float:right;
}

#b2b-checkout-container button {
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
}

#b2b-checkout-container h4 #b2b-checkout-active-icon {
	float: right;
	line-height: 100%;
	padding-right: 10px;
	color: green;
	font-size: 26px !important;
}

#b2b-checkout-container ul {
	margin-top: 12px;
	margin-bottom: 0px;
	margin-left: 35px;
}

#b2b-checkout-container p a {
	text-decoration: none;
}

.book-data-container {
	width: 63%;
	border-radius: 20px;
	padding: 20px;
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
}

.book-data-container h4, .book-data-container-membership-number h4, .book-data-container-vrm h4 {
	flex: 0 0 100%;
	margin-bottom: 27px !important;
	position: relative;
	width: 100%;
}

.book-data-container-details, .book-data-container-address {
	flex-basis: 100%;
	padding: 15px;
	display: flex;
	flex-direction: row;
	column-gap: 6%;
	flex-wrap: wrap;
}

.book-data-input-container {
	flex: 0 0 47%;
}

.book-data-input-container-full-width {
	flex: 0 0 100%;
}	

.book-data-container input, .book-data-container-membership-number input, .book-data-container-vrm input {
	display: block;
	margin-bottom: 20px;
	padding: 5px 7px 7px 7px !important;
	width: 100%;
}

#book-data-form .hide-label-initially {
	opacity: 0;
	transition: 0.5s;
}

#book-data-form .choices {
	margin-bottom: 20px;
	width: 100%;
}

#book-data-form .choices .choices__list--single{
	padding: 5px 16px 7px 0px;
}

#book-data-form .problem-notification, #book-data-form .info-notification {
	margin-top: 20px;
	margin-bottom: 10px;
	padding: 5px 10px;
	display: none;
	font-size: 0.95rem;
}

#book-data-form .info-notification {
	background-color: white;
}

/* VRM and Membership No */

.book-data-container-membership-number, .book-data-container-vrm {
	width: 63%;
	border-radius: 20px;
	padding: 35px;
	margin-top: 40px;
	display: flex;
	flex-direction: row;
	column-gap: 6%;
	flex-wrap: wrap;
}

#vrm-format-example {
	white-space: nowrap;
	display: block;
	background-color: white;
	padding: 2px 6px;
	border-radius: 7px;
	border: 1px solid black;
	margin-top: 15px;
	margin-bottom: 15px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	width: 120px;
}

.book-data-container-vrm #special-vrm-format-container {
	display: flex;
}

.book-data-container-membership-number #book-data-membership-headline {
	flex-basis: 100%;
}

.book-data-container-membership-number .membership-number-additional-html-container {
	width: 100%;
}

/* Terms & Privacy */

.book-data-terms-container, .book-data-data-privacy-container  {
	width: 63%;
	border-radius: 20px;
	padding: 35px;
	margin-top: 40px;
}

.book-data-terms-container h3, .book-data-data-privacy-container h3 {
	margin-bottom: 27px !important;
}

.book-data-terms-container .book-data-input-container-full-width {
	display: flex;
}

.book-data-data-privacy-container .data-privacy-text-container {
	padding-right: 30px;
}

.book-data-terms-container .problem-notification {
	margin-top: 20px;
	margin-bottom: 20px;
	padding: 5px 10px;
	display: none;
	font-size: 0.95rem;
}

/* Book Data - Buttons */

.book-data-buttons {
	margin-top: 50px;
	margin-bottom: 50px;
	width: calc(100% - 40px);
	margin-left: auto;
	margin-right: auto;
}

.book-data-buttons:after {
	clear: both;
	content: "";
	display: table;
}

.book-data-buttons button {
	float: right;
	transition: all .2s linear;
}

.book-data-buttons .wp-block-button {
	float: left;
}

@media (max-width: 921px) {
	
	.book-data-container-details, .book-data-container-address {
		padding: 10px !important;
	}
	
	.book-data-container {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}
	
	
	#book-data-form input, #book-data-form .choices {
		margin-bottom: 10px;
	}
	
	.book-data-terms-container,.book-data-data-privacy-container, .book-data-container-membership-number, .book-data-container-vrm {
		padding: 30px;
	}
	
	#book-data-form .booking-summary-container , .book-data-container, .book-data-terms-container,.book-data-data-privacy-container, .book-data-container-membership-number, .book-data-container-vrm {
		position:relative;
		width: 100%;
	}
	
	.book-data-container-details, .book-data-container-address  {
		flex-basis: 100%;
	}

	#book-data-form .booking-summary-container {
		margin-top: 40px;
		margin-bottom: 50px;
	}

	.book-data-input-container {
		flex: 0 0 100%;
	}
	
	.book-data-container-membership-number .membership-number-additional-html-container {
		margin-top: 20px;
	}

	.book-data-buttons {
		text-align: center;
	}

	.book-data-buttons button {
		float: none;
		width: 80% !important;
		margin-left: auto;
		margin-right: auto;
		display: block;
		margin-bottom: 50px;
	}

	.book-data-buttons .wp-block-button {
		display: block;
		float: none;
	}
}

@media (max-width: 544px) {
	
	#b2b-checkout-container h4 img {
		height: 20px;
	}
	
	#b2b-checkout-container h4 #b2b-checkout-active-icon {
		font-size: 20px !important;
	}
	
	#book-data-form {
		width: auto;
		margin-left: 20px;
		margin-right: 20px;
	}
	
	.book-data-container {
		padding: 15px;
	}

	.book-data-terms-container,.book-data-data-privacy-container, .book-data-container-membership-number, .book-data-container-vrm {
		padding: 25px;
	}

	/* Only full-width container with input before -> needs margin top */
	.book-data-container-vrm #special-vrm-format-container {
		margin-top: 15px;
	}

	#book-data-form .checkbox-text-container, .book-data-data-privacy-container .data-privacy-text-container  {
		padding-right: 20px !important;
		hyphens: auto;
	}

}


/* Book completed */
/* Error container */
.book-completed-error-container {
	margin-top: 50px;
	margin-bottom: 50px;
	width: 80%;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 400px !important;
	display: block;
}

.book-completed-error-container h2 {
	margin-bottom: 20px;
}

.book-completed-error-container .wp-block-button {
	margin-top: 30px;
	margin-bottom: 30px;
}

/* Confirmation */
/* Confirmation container */
.book-confirmation-container {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 50px;
	display: flex;
	gap: 50px;
}

.book-confirmation-container .confirmation-text-container {
	border-radius: 20px;
	padding: 35px;
}

.book-confirmation-container .booking-summary-container {
	flex: 0 0 360px;
	padding-bottom: 30px;
}

.book-confirmation-container .confirmation-text-container .confirmation-mail-address {
	line-height: 1;
	font-size: 18px;
	font-weight: 700;
}

.book-confirmation-container .confirmation-text-container .confirmation-payment-method-container {
	width: 100%;
	margin-top: 50px;
	display: flex;
	padding: 25px 30px;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 25px;
}

.book-confirmation-container .confirmation-text-container .confirmation-payment-method-container .onecp-logo {
	height: 33px;
	padding-right: 5px;
}

.book-confirmation-container .confirmation-text-container .confirmation-payment-method-text {
	line-height: 1;
	font-size: 22px;
	font-weight: 700;
	white-space: nowrap;
	display: flex;
	  flex-direction: row;
	  align-items: center;
}

.book-confirmation-container .confirmation-text-container .confirmation-payment-method-text i {
	padding-right: 5px;
}

.at-dep-airport-container {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 50px;
	display: flex;
	flex-direction: row-reverse;
}

.at-dep-airport-container .at-dep-airport-image {
	flex: 0 0 50%;
	border-top-right-radius: inherit;
	border-bottom-right-radius: inherit;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	
}

.at-dep-airport-container .at-dep-airport-text {
	flex: 0 0 50%;
	padding: 35px;
	
}

.at-dep-airport-container .at-dep-airport-text img {
	display: block;
	margin-bottom: 30px;
	width: 150px;
}

.layover-advertising-container {
	margin-top: 60px;
	margin-bottom: 50px;
	text-align: center;
}

.layover-advertising-container h4 {
	margin-bottom: 30px;
}

.layover-advertising-container p {
	margin-bottom: 20px !important;
	width: 85%;
	color: #525252;
	margin-left: auto !important;
	margin-right: auto !important;
		
}

@media (max-width: 921px) {
	
	.book-confirmation-container .confirmation-text-container , .book-confirmation-container .booking-summary-container, .at-dep-airport-container .at-dep-airport-text {
		padding: 30px;
	}
	
	.book-confirmation-container .booking-summary-container {
		flex: 0 0 300px;
	}
	
	.at-dep-airport-container .at-dep-airport-image {
		flex: 0 0 30%;
	}
	
	.at-dep-airport-container .at-dep-airport-text {
		flex: 0 0 70%;
	}
}

@media (max-width: 768px) {
	.book-confirmation-container {
		flex-direction: column;
	}
	
	.at-dep-airport-container .at-dep-airport-text img {
		height: 40px;
		width: auto;
		margin-bottom: 0px;
		transform: translateY(-7px);
		float: right;
	}
	
}

@media (max-width: 680px) {
	
	.at-dep-airport-container {
		flex-direction: column;
	}
	
	.at-dep-airport-container .at-dep-airport-image {
		min-height: 150px;
		border-bottom-right-radius: 0px;
		border-top-left-radius: inherit;
	}
	
	.at-dep-airport-container .at-dep-airport-text .wp-block-button {
		text-align: center;
	}
	
}

@media (max-width: 544px) {
	
	.book-confirmation-container {
		gap: 40px;
		margin-bottom: 40px;
	}
	
	.book-confirmation-container .confirmation-text-container .confirmation-payment-method-container {
		flex-direction:column;
	}
	
	/*.book-confirmation-container .confirmation-text-container .confirmation-payment-method-text {
		padding-left: 0px;
		display: inline-block;
		width: 100%;
		padding-top: 10px;
	}*/
	
	.book-confirmation-container .confirmation-text-container, .book-confirmation-container .booking-summary-container, .at-dep-airport-container .at-dep-airport-text {
		padding: 25px;
	}
	
	.book-confirmation-container, .at-dep-airport-container {
		width: auto;
		margin-left: 20px;
		margin-right: 20px;
	}
	
}

@media (max-width: 400px) {
	
	.at-dep-airport-container .at-dep-airport-text img {
		height: 40px;
		width: auto;
		margin-bottom: 20px;
		float: none;
	}
	
}

/* Success animation */
.success-animation { margin:150px auto;}

.success-animation-wrapper{height:40px; width: 40px; margin-bottom: 20px; display:flex;justify-content:center;align-items:center;}
.checkmark__circle{stroke-dasharray: 166;stroke-dashoffset: 166;stroke-width: 2;stroke-miterlimit: 10;stroke: #0060a7;fill: none;animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards}
.checkmark{width: 40px;height: 40px;border-radius: 50%;display: block;stroke-width: 2;stroke: #fff;stroke-miterlimit: 10;margin: 10% auto;box-shadow: inset 0px 0px 0px #0060a7;animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both}
.checkmark__check{transform-origin: 50% 50%;stroke-dasharray: 48;stroke-dashoffset: 48;animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards}@keyframes stroke{100%{stroke-dashoffset: 0}}
@keyframes scale{0%, 100%{transform: none}50%{transform: scale3d(1.1, 1.1, 1)}}
@keyframes fill{100%{box-shadow: inset 0px 0px 0px 30px  #0060a7}}

/* Airport Pages */

/* Language Notification if redirected to en */
.airport-page-language-notification {
}

/* Map */

#airport-map-container {
	width: 100%;
	z-index: 50;
	height: 450px;
	background-color: #ededed;
	position: relative;
	border-radius: 20px;
}

.gm-marker-label-carpark h6 span:nth-of-type(1) {
	padding-left: 5px; 
	padding-right: 5px;
	background-color: #0060a7; 
	border-radius: 5px;
	display: inline-block;
	color: white;
}

.gm-marker-label-carpark h6 span:nth-of-type(2) {
	padding-left: 5px;
}

@media (max-width: 544px) {
	#airport-map-container {
		height: 400px;
	}
}

/* Contact page */

.contact-cards-container {
	text-align: center;
	display: flex;
	column-gap: 50px;
	row-gap: 50px;
	flex-wrap: wrap;
	max-width: 1060px;
}

.contact-cards-container .contact-card {
	flex: 0 0 320px;
	margin: 0px;
	padding: 0px 0px 25px 0px;
	width: 320px;
}

.contact-cards-container .contact-card-logo-row {
	text-align: center;
	margin: 25px 35px;
	padding-bottom: 22px;
	background-color: white;
	border-top-left-radius: inherit;
	border-top-right-radius: inherit;
	border-bottom: 1px dashed #5252524D; 

}

.contact-cards-container .contact-card-logo-row img {
	display: inline;
	width: 180px;
}

.contact-cards-container p {
	margin-bottom: 0px;
}

.contact-cards-container .contact-card-headline-row {
	padding-left: 35px;
	padding-right: 35px;
	width: 100%;
}

.contact-cards-container .contact-card-headline-row h2 {
	width: 100%;
	font-size: 1.25rem;
	text-align: left;
}

.contact-cards-container .contact-card-headline-row h3 {
	width: 100%;
	font-size: 1rem;
	text-align: left;
	margin-bottom: 5px;
	font-weight: 700;
}

.contact-cards-container .contact-card-address-row {
	padding-bottom: 15px;
	padding-left: 35px;
	padding-right: 35px;
	width: 100%;
}

.contact-cards-container .contact-card-address-row p {
	text-align: left;
}

.contact-cards-container .contact-card-contact-row {
	display: flex;
	align-items: center;
	padding-bottom: 3px;
	padding-left: 35px;
	padding-right: 35px;
	width: 100%;
}

.contact-cards-container .contact-card-contact-row > i {
	flex: 0 0 24px;
	margin-right: 10px;
	text-align: center;
}

.contact-cards-container .contact-card-contact-row a {
	font-weight: normal;
	text-decoration: none;
	text-align: left;
}

.contact-cards-container .contact-card-contact-row a i {
	padding-left: 5px;
}

@media (max-width: 1200px) {
	.contact-cards-container {
		justify-content: center;
	}
}

@media (max-width: 544px) {
	.contact-cards-container .contact-card {
		flex: 0 0 100%;
		width: 100%;
		max-width: 320px;
	}
	
	.contact-cards-container {
		row-gap: 40px;
	}
}

/* Cancellation page */

.airport-cancellation-info-container {
	display: none;
}

.airport-cancellation-info {
	border-radius: 20px;
	padding: 45px;
	margin-bottom: 50px;
}

.airport-cancellation-info .cancellation-language-info {
	margin-bottom: 15px;
}

.airport-cancellation-info .cancellation-language-info i {
	padding-left: 1px;
	padding-right: 5px;
}

.airport-cancellation-info p:not(:last-child) {
	margin-bottom: 15px !important;
}

@media (max-width: 921px) {
	.airport-cancellation-info {
		padding: 35px;
	}
}


@media (max-width: 544px) {
	.airport-cancellation-info {
		padding: 25px;
	}
}

/* Your advantages page */

.advantage-widget-container .advantage-widget-image, .cancellation-widget-container .cancellation-widget-image {
	transform: translateY(23px);
}

@media (max-width: 921px) {
	.advantage-widget-container .advantage-widget-image, .cancellation-widget-container .cancellation-widget-image {
		transform: translateY(0px);
	}
}

/* Consentmanager.net overwrite custom CSS */

.cmplazypreviewiframe {
display: none !important;
}

.cmpboxtxt, .cmpboxtxt *, .cmpmore *, .cmpprpsdescr, .cmpprpsdescr * {
vertical-align: middle !important;
}

*.cmpboxBG {
	background: rgba(255, 255, 255, 0.9) !important;
	opacity: 1 !important;
}

.cmpbox, .cmpbox * {
	transition: all .1s linear !important;
}

.cmpbox * {
    color: #0060a7 !important;
}

.cmpbox {
    border-top: 0px !important;
    border-bottom:0px !important;
	border-radius: 20px;
	box-shadow: rgba(0,0,0,.35)0 5px 15px;
}

.cmpboxhl {
    color: #0060a7 !important;
    font-size: 18px !important;
position:relative;
padding-bottom: 0px !important;
margin-bottom: 25px;
font-weight: normal !important;
}

.cmpboxhl:after {
display: inline-block;
position: absolute;
bottom: -10px;
left: 0;
height: 2px;
width: 20px;
content: " ";
background-color: #0060a7;
}

.cmpboxtxt {
    line-height: 1.54 !important;
text-align: left !important;
}

.cmplogo2 {
	display: none !important;
}

.cmpboxbtn {
    margin-bottom: 10px !important;
text-transform: uppercase;
font-weight: 700;
padding-top: 8px !important;
padding-right: 20px !important;
padding-bottom: 10px !important;
padding-left: 20px !important;
min-width: 220px !important;
box-shadow: none !important;
border-radius: 15px !important;
}

.cmpboxbtn, .cmpboxbtn * {
font-size: 0.9rem !important;
}

.cmpboxbtnno, .cmpboxbtncustom {
	border: 2px solid #0060a7!important;
	background-color: white !important;
}

.cmpboxbtnno:hover, .cmpboxbtncustom:hover {
	background-color: #f2f7fa !important;
}

.cmpboxbtnno, .cmpboxbtncustom, .cmpboxbtnno *, .cmpboxbtncustom * {
    color: #0060a7 !important;
}

.cmpboxbtnyes {
	background-color: #ffcc00 !important;
	box-shadow: none !important;
}

.cmpboxbtnyes:hover {
	background-color: #e5b700 !important;
}

.cmpboxbtnyes, .cmpboxbtnyes * {
    color: #0060a7 !important;
}

.cmpmore {
	margin-top: 10px;
}

.cmpmore * {
font-weight: normal !important;
}

.cmpboxrecall {
z-index: 99 !important;
background-color: white !important;
bottom: 28px !important;
left: 20px !important;
padding: 2px !important;
border: 2px solid #0060a7 !important;
}

.cmpboxrecalllink {
display: flex !important;
align-items: center;
flex-direction: row;
}
@media (max-width: 544px) {
	.cmpboxrecall {
		bottom: 18px !important;
left: 10px !important;
	}
}

.cmpboxrecalltxt {
    padding-left: 10px !important;
    color: #666 !important;
}

#cmpboxrecall img {
height: 16px !important;
filter: brightness(0) saturate(100%) invert(22%) sepia(97%) saturate(1525%) hue-rotate(186deg) brightness(99%) contrast(102%) !important;
}

.cmpboxnaviitemactive {
    background-color: #f2f7fa !important;
}

TD.cmpallvend, TH.cmpallvend, TD.cmpallprps, TH.cmpallprps {
    background-color: #ffffff !important;
}

.cmplanguage {
left: 15px !important;
bottom: 10px !important;
}

.cmpvendoricon {
margin-right: 10px;
}

@media (max-width: 570px) {
.cmpboxnavi {
margin-bottom: 30px;
}
}


@media (max-height:926px) and (max-width:480px) and (orientation:portrait) {

.cmpbox.cmpboxWelcomeGDPR {
    width: 90% !important;
    max-width: 90% !important;
    min-width: 90% !important;
min-height: 550px !important;
height: 550px !important;
padding: 25px !important;
    }

.cmpboxinner {
row-gap: 20px;
}

.cmpboxcontent {
flex-grow: 0 !important;
}

.cmpboxtxt {
padding-bottom: 0px !important;
}

}

/* E-Tracker Consent */

#et-consent-overlay .et-consent-button-container, #et-consent-overlay .et-consent-button-container>div:first-child {
	display: flex !important;
	column-gap: 15px !important;
	row-gap: 10px !important;
}

#et-consent-overlay button {
	margin: 0px !important;
}

div#et-consent-overlay.consent-border-round button {
	border-radius: 15px;
}

div#et-consent-overlay button span {
	margin: 0px;
}

#et-consent-overlay .et-consent-title {
	color: #0060a7 !important
}

div#et-consent-overlay, div#et-consent-overlay div {
	color: #666 !important;
}

#et-consent-overlay .et-consent-links {
	padding-top: 0px !important;
	padding-bottom: 0px !important;
}

div#et-consent-overlay .et-consent-lang-container svg {
	padding-top: 5px;
}

@media (max-width:776px) {
	#et-consent-overlay {
		margin: 20px !important;
	}
}

@media (max-width:580px) {
	#et-consent-overlay .et-consent-button-container {
		height: 159px !important;
	}

	#et-consent-overlay .et-consent-button-container>div:first-child {
		flex-direction: column !important;
	}
}
