#buy-tickets-header{ 
	position:relative;
	margin: 127px 0 0;
	height:304px;
	background-image:url('../images/booking-form/buy-tickets-header.jpg');
	background-repeat:no-repeat;
	background-position:center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	text-align:center;
    line-height:336px;
}

input#SimpleSearchTo, input#SimpleSearchFrom {
display: none;
}

@media screen and (max-width: 1040px){
	input#SimpleSearchTo, input#SimpleSearchFrom {
display: block;
}
}

#buy-tickets-header h1{ color:#FFF; font-size:76px; font-family:"dax-condensed-regular"; font-weight:600; display:inline-block; padding:0; margin:0; text-shadow:0 2px 2px #000; }

.question-bubble{ width:25px; height:25px; background:url('../images/booking-form/question-bubble.png') no-repeat left top; position:absolute; cursor:pointer; background-size:25px 25px; }
.question-bubble:hover{ opacity:0.7; }

#booking-form-container{ max-width:1340px; padding:0 20px; margin:20px auto 40px; position:relative; min-height:775px; }
.booking-form-left{ width:855px; float:left; }
.booking-form-right{ width:411px; float:right; }

#booking-form-container input[type=text], #booking-form-container input[type=email], #booking-form-container input[type=number], #booking-form-container input[type=tel]{ background:#FFF; border:1px solid #acacac; font-family:"fsalbert-regular"; color:#2c2a2b; font-size:16px; -moz-appearance:none; -webkit-appearance:none; width:100%; padding:11px 14px; }

.booking-form-box{ background:#ededed; }
.form-section-title{ background:#0058a0; color:#FFF; text-transform:uppercase; font-size:16px; font-family:"fsalbert-semibold"; padding:6px 11px; }
.form-section-content{ padding:30px; }

.booking-form-left select{ background:#FFF url('../images/booking-form/dropdown-arrow.png') no-repeat 98% 17px; cursor:pointer; background-size:20px 12px; }
.spacer{ height:27px; }
.spacer-alt{ height:12px; }

/* BOOKING POPUP ON MAIN BOOKING FORM PAGE */

.page-template-template-booking-form #booking-form-container .dropdown-content{ right:inherit; left:0; top:74px; width:555px; }
.page-template-template-booking-form #booking-form-container .dropdown-content .form-banner{ display:none; visibility:hidden; }
.page-template-template-booking-form #booking-form-container .dropdown-content .search-results{ padding-left:0; width:100%; }
.page-template-template-booking-form #booking-form-container .dropdown-content ul li{ float:left; width:50%; }

.page-template-template-booking-form #booking-form-container .dropdown-content.airport-only{ height:auto; width:100%; }
.page-template-template-booking-form #booking-form-container .dropdown-content.airport-only .airport-only-hide{ display:none; }
.page-template-template-booking-form #booking-form-container .dropdown-content.airport-only .all-stations-heading{ margin-top:0 !important; }
.page-template-template-booking-form #booking-form-container .dropdown-content.airport-only .search-results{ height:auto; overflow-y:hidden; }
.page-template-template-booking-form #booking-form-container .dropdown-content.airport-only ul li{ float:none; width:100%; }
.page-template-template-booking-form #booking-form-container .dropdown-content.airport-only .alpha_letter{ display:none; visibility:hidden; }
.page-template-template-booking-form #booking-form-container .dropdown-content.airport-only .station-names{ display:none; visibility:hidden; }
.page-template-template-booking-form #booking-form-container .dropdown-content.airport-only .search-results .station-names:first-of-type{ display:block !important; visibility:visible; margin-bottom:1px; }
.page-template-template-booking-form #booking-form-container .dropdown-content.airport-only .search-results .station-names:first-of-type li:nth-child(1), .page-template-template-booking-form #booking-form-container .dropdown-content.airport-only .search-results .station-names:first-of-type li:nth-child(2){ display:block !important; visibility:visible; }

@media screen and (max-width: 720px){
	.page-template-template-booking-form #booking-form-container .dropdown-content.airport-only{ height:auto !important; }
}

/* TRAVEL TYPE */
.booking-form-label{ font-size:16px; color:#2c2a2b; font-family:"fsalbert-semibold"; text-transform:uppercase; margin:-5px 0 5px; }
.booking-form-label span{ color:#757575; }

.travel-type-selections{ margin-bottom:20px; }
/*.travel-type-selections-item{ width:32.66%; float:left; margin-right:1%; position:relative; cursor:pointer;}*/
.travel-type-selections-item{ width:49.5%; float:left; margin-right:1%; position:relative; cursor:pointer;}
.travel-type-selections-item a{ background:#a5a5a5; display:block; text-align:center; color:#FFF !important; }
.travel-type-selections-item a:hover{ opacity:0.8; color:#FFF !important; }
.travel-type-selections-item a.selected{ background-color:#1cb7e9; }
.travel-type-selections-item a span{ display:inline-block; padding:10px 0 10px 32px; background-repeat:no-repeat; background-position:0 8px; }
.travel-type-selections-item a .train{ background-image:url('../images/booking-form/train-icon.png'); }
.travel-type-selections-item a .airtrain-connect{ background-image:url('../images/booking-form/airtrain-connect-icon.png'); }
.travel-type-selections-item a .train-and-tram{ background-image:url('../images/booking-form/train-and-tram-icon.png'); }
.travel-type-selections-item .question-bubble{ top:-28px; right:0; }

.booking-form-full{ position:relative; display: block; clear: both; }
.booking-form-half{ width:49%; position:relative; }
.booking-form-half-left{ float:left; }
.booking-form-half-right{ float:right; position:relative; }

@media screen and (max-width: 800px){
	.page-id-159 .travel-type-selections-item a span{ background-size:19px auto; padding:10px 0 10px 24px; background-position:0 11px; }
}

/* TICKET INFO */
.ticket-journey-type-radio-container{ margin-bottom:20px; }
.ticket-journey-type-radio{ float:left; margin-right:20px; }
.ticket-journey-type-radio input{ display:none; }
.ticket-journey-type-radio label{ font-size:16px; color:#2c2a2b; font-family:"fsalbert-semibold"; text-transform:uppercase; cursor:pointer; }
.ticket-journey-type-radio label span{ display:inline-block; height:35px; line-height:35px; float:left; margin-left:6px; }
.ticket-journey-type-radio input[type="radio"]+label div{ background:url('../images/booking-form/radio-unchecked.png'); display:inline-block; width:35px; height:35px; float:left; background-size:100% 100%; }
.ticket-journey-type-radio input[type="radio"]:checked+label div{ background:url('../images/booking-form/radio-checked.png'); background-size:100% auto; }

.ticket-info-section .booking-form-half input{ background:#FFF url('../images/booking-form/calendar-icon.png') no-repeat 98% 8px !important; background-size:26px 26px !important; }

/* PASSENGERS SECTION */
.passengers-section{ padding-bottom:0; }
.booking-form-select-holder{ background:#FFF; border:1px solid #acacac; font-family:"fsalbert-regular"; color:#2c2a2b; font-size:16px; width:100%; padding:0; }
.booking-form-select-holder select{ border:none; padding:11px 14px; width:100%; -moz-appearance:none; -webkit-appearance:none; }
.booking-form-select-holder select:focus{ outline:none; }
.passengers-section .question-bubble{ bottom:-30px; left:0; width:100%; text-transform:uppercase; font-size:13px; padding:4px 0 0 30px; color:#8e8e8e; font-family:"fsalbert-semibold"; }
.passengers-section .passenger-spacer{ height:50px; }
.passengers-section #email-address-question-bubble{ right:0; left:inherit; top:-9px; bottom:inherit; width:25px; padding:0; }

/* FARE CALCULATOR */

.fare-calculator-book-button{ background:#1ab5e7; color:#FFF; text-transform:uppercase; padding:10px 26px; display:inline-block; font-family:"fsalbert-semibold"; font-size: 24px; -webkit-border-radius:999px; border-radius:999px; margin-top:15px; cursor:pointer; }
.fare-calculator-book-button:hover{ background:#0058a0; color:#FFF !important; text-decoration:none !important; }

/* PAYMENT INFO */

.booking-form-half-within-half{ width:49%; }
.booking-form-half-within-half-left{ float:left; }
.booking-form-half-within-half-right{ float:right; }

.payment-method-radio{ width:25%; height:100px; }
.payment-method-radio label{ background-repeat:no-repeat; background-position:center 20px; position:relative; cursor:pointer; background-size:152px 38px; }
.payment-method-radio input{ display:none; }
.payment-method-cc{ float:left; }
.payment-method-cc label{ background-image:url('../images/booking-form/credit-card-logos.png'); }
.payment-method-pp{ float:left; }
.payment-method-pp label{ background-image:url('../images/booking-form/paypal-logo.png'); }
.payment-method-applepay{ float:left; display:none; }
.payment-method-applepay label{ background-image:url('../images/booking-form/logo-payment-apple.png'); }
.payment-method-googlepay{ float:left; display:none; }
.payment-method-googlepay label{ background-image:url('../images/booking-form/gpay-logo.png'); }
apple-pay-button {
  --apple-pay-button-width: 300px;
  --apple-pay-button-height: 45px;
  --apple-pay-button-border-radius: 5px;
  --apple-pay-button-padding: 5px 0px;
}
.payment-method-radio label{ display:block; width:100%; height:100%; background-color:#FFF; border:1px solid #acacac; }
.payment-method-radio input[type="radio"]:checked+label{ background-color:#fff3d8; border:3px solid #fdb913; }
.payment-method-radio label span{ display:block; position:absolute; bottom:10px; left:0; width:100%; text-align:center; font-weight:600; text-transform:uppercase; font-size:13px; }

body .passengers-section .booking-form-number-prefix{ float:left; width:39% !important; padding:10px 0 11px 0; }
body .passengers-section .booking-form-number-prefix select{ background-position:94% 6px; padding:0 36px 0 14px; }
body .passengers-section .booking-form-number{ float:right; width:59%; }

.promo-code-link{ font-size:16px; color:#00aee6; text-transform:uppercase; font-family:"fsalbert-semibold"; margin-top:14px; display:inline-block; }
.promo-code-link:hover{ color:#0058a0; }

.booking-form-left .booking-form-half-within-half select{ background-position:96% 17px; }
.ccv .question-bubble{ top:-8px; right:0; }
.email .question-bubble{ top:-8px; right:0; }

.terms-checkbox input{ display:none; }
.terms-checkbox label{ display:block; background:url('../images/booking-form/checkbox-unticked.png') no-repeat 0 0; padding:7px 0 14px 40px; margin:2px 0; cursor:pointer; background-size:31px 31px; }
.terms-checkbox input[type="checkbox"]:checked+label{ background:url('../images/booking-form/checkbox-ticked.png') no-repeat 0 0; background-size:31px 31px; }

body .booking-form-submit-btn{ border:none; background:#1ab5e7; color:#FFF; font-family:"fsalbert-semibold"; text-transform:uppercase; font-size:24px; -webkit-border-radius:999px; border-radius:999px; cursor:pointer; padding:12px 10px; text-align:center; -webkit-appearance: none; width: auto; }
body .booking-form-submit-btn:hover{ background:#0058a0; }

body #paypal-button{ max-width:300px; height:45px; overflow:hidden; }

/* TICKET/BOOKING SUMMARY */

#booking-form-default-sidebar-message{ text-align:center; padding:22px 55px 40px; text-transform:uppercase; }
#booking-form-default-sidebar-message img.mobile{ display:none; visibility:hidden; }

@media screen and (max-width: 1024px){
	#booking-form-default-sidebar-message img.mobile{ display:inline-block; visibility:visible; margin-bottom:20px; max-width:100px; }
	#booking-form-default-sidebar-message img.desktop{ display:none; visibility:hidden; }
}

@media screen and (min-width: 1335px){
	#ticket-summary.sticky{ position:fixed; top:107px; width:411px; }
	#ticket-summary.sticky2{ position: relative; top: 806px; width: 411px; }	
}

@media screen and (max-width: 600px){
	#booking-form-default-sidebar-message{ padding:22px 35px 40px; }
}

.booking-form-sidebar-header{ height:109px; background:url('../images/booking-form/booking-form-sidebar-header.png') no-repeat left top; }
.booking-form-sidebar-header h3{ margin:0; padding:22px 0 0; color:#2c2a2b; text-transform:uppercase; font-size:26px; font-weight:600; text-align:center; font-family:"fsalbert-semibold"; display:block; }
.booking-form-sidebar-middle{ background:url('../images/booking-form/booking-form-sidebar-middle.png') repeat-y left top; padding:0 32px 14px; }
.booking-form-refund-notice {
	display: none;
    background: #F05D5E;
    border: 14px solid #00aee6;
    border-bottom: none;
    color: #FFF;
    padding: 10px 13px;
    font-family: fsalbert-bold;
    line-height: 1.1em;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
}
.booking-form-auto-price-notice {
    background: #008ab7;
    border: 14px solid #00aee6;
    border-bottom: none;
    color: #FFF;
    padding: 10px 13px;
    font-family: fsalbert-bold;
    line-height: 1.1em;
    font-size: 18px;
    font-weight: 400;
    text-align: center;
}
.one-way-upgrade-note {
	background: #FDB913;
	padding: 10px 15px;
	margin-top: 20px;
}
.one-way-upgrade-note span{
	font-weight: 600;
}
.one-way-upgrade-note a{
	color: #000;
}
.booking-form-sidebar-bottom{ background:#008ab7; border:14px solid #00aee6; }
.booking-form-sidebar-bottom p{ color:#FFF; font-family:"fsalbert-regular"; font-size:16px; padding:12px 16px 1px; }

.booking-summary-label{ color:#a7a7a7; font-size:14px; text-transform:uppercase; font-family:"fsalbert-regular"; }
.booking-summary-output{ color:#666666; font-size:20px; font-family:"fsalbert-regular"; margin:-5px 0 13px; }
.booking-summary-output span{ color:#0058a0; font-family:"fsalbert-semibold"; }
.booking-summary-50-50{ overflow:hidden; }
.booking-summary-50-50-1{ float:left; }
.booking-summary-50-50-2{ float:left; margin-left:25px; }
.booking-summary-separator{ border-top:1px solid #acacac; margin:20px 0 20px; }

.booking-summary-figures{ color:#0058a0; font-family:"fsalbert-semibold"; font-size:20px; overflow:hidden; }
.booking-summary-figures-label{ float:left; }
.booking-summary-figures-amount{ float:right; }
.booking-summary-final-total{ margin-top:15px; }
.booking-summary-final-total .booking-summary-figures{ font-size:26px; }

.payment-info-box{ margin-top:20px; }

body .booking-form-submit-btn-sidebar{ border:none; background:#fdb913; color:#2c2a2b; font-family:"fsalbert-semibold"; text-transform:uppercase; font-size:24px; -webkit-border-radius:999px; border-radius:999px; cursor:pointer; padding:12px 24px; margin:18px auto 9px; display:block; }
body .booking-form-submit-btn-sidebar:hover{ background:#2c2a2b; color:#FFF; }

#try-again{ cursor:pointer; }
div#floating-price-box{ display:none; }

/* RESPONSIVENESS */

@media screen and (max-width: 1336px){
	.booking-form-left{ width: 66%; }
	.booking-form-right{ width: 31.6%; }
	
	#interterminal-form .not-jp form#confirm_booking {
		float: none;
		width: 100%;
	}

	#interterminal-form .not-jp form#confirm_booking .booking-form-left {
		float: left;
		width: 66%;
	}
	
	.booking-form-sidebar-header{ 
		background: #fdb913;
		border-bottom: 2px solid #ffffff;
		height: auto;
	}
	.booking-form-sidebar-middle{ 		
		background-size: contain;
		border-top: 15px solid #00aee6;
		padding: 15px 29px 14px;
	}
	
	.booking-form-sidebar-header h3 {
		padding: 15px 0;
	}
	
	#booking-form-default-sidebar-message {
		padding: 40px 0 40px;
		max-width: 230px;
		margin: 0 auto;
	}
	
	.page-template-template-booking-form-php .booking-form-sidebar-bottom p:first-of-type{ margin-bottom:0; }
	
	.fare-calculator-book-button{ margin:15px auto 0 !important; display:block; max-width:200px; text-align:center; }
}

@media screen and (max-width: 1080px){
	#buy-tickets-header {
		margin: 158px 0 0;
	}
}

@media screen and (max-width: 1024px){
	.booking-form-left{ width: 100%; float: none; }
	.booking-form-right{ width: 100%; float: none; margin-top: 20px; }
	
	.booking-form-sidebar-middle {
		background: #FFF;
		border-left: 15px solid #00aee6;
		border-right: 15px solid #00aee6;
		padding: 15px 16px 14px;
	}
	
	#buy-tickets-header{ margin:144px 0 0; }
	
	#interterminal-form .not-jp form#confirm_booking .booking-form-left {
		float: none;
		width: 100%;
	}
	
	/* FLOATING PRICE ------------------------------------------------- */
	
	div#floating-price-box {
		position: fixed;
		bottom: 0;
		z-index: 9999;
		width: 100%;
		background: #fdb913;
		left: 0;
		padding: 9px 8px;
		display: block;
		border-top: 2px solid #FFF;
		display: block;
		text-align: center;
		color: #000;
	}
	
	/* END FLOATING PRICE ------------------------------------------------- */
}

@media screen and (max-width: 780px){
	.form-section-content{ padding:18px 30px; }
	#booking-form-container .spacer{ height:0; }
	.booking-form-half{ width:100%; float:none; margin:16px 0; }
	.booking-form-submit-btn{ margin:20px auto 0; display:block; }
	
	.passengers-section{ padding:14px 30px 14px; }
	.passengers-section .question-bubble{ left:inherit; right:0; width:auto; z-index:1; }
	.passengers-section .adults{ margin-bottom:36px; }
	.passengers-section .passenger-spacer{ height:0; }
	.passengers-section #email-address-question-bubble{ top:-1px; }
	
	.ccv .question-bubble{ top:-1px; }
	.terms-checkbox label{ margin:6px 0; font-size:15px; }
}

@media screen and (max-width: 645px){
	#buy-tickets-header{ height:180px; line-height:200px; }
	#buy-tickets-header h1{ font-size:44px; }
	
	.travel-type-selections-item{ width:100%; margin-top:2px; float:none; }
	#booking-form-container input[type=text], #booking-form-container input[type=email], #booking-form-container input[type=number], #booking-form-container input[type=tel]{ font-size:14px; }
	.booking-form-select-holder{ font-size:14px; }
	.payment-method-radio{ float:none; width:100%; margin:3px 0; }
	
	.booking-summary-output{ font-size:18px; }
	body .booking-form-submit-btn, body .booking-form-submit-btn-sidebar{ font-size:18px; }
	
	body #paypal-button{ margin-top:15px; }
}

@media screen and (max-width: 490px){
	.ticket-journey-type-radio{ margin-right:12px; }
	#buy-tickets-header{ margin:130px 0 0; }
	
	body .passengers-section .booking-form-number-prefix{ width:49% !important; float:left; margin-right:5px; }
	body .passengers-section .booking-form-number-prefix select{ background-position:98% 5px; padding:0 34px 0 14px; }
	body .passengers-section .booking-form-number{ width:49%; float:left; }
	
	.form-section-content {
		padding: 18px 0px;
		background: #fff !important;
   		border: 0px !important;
	}
	
	.booking-form-sidebar-middle {
		background: #FFF;
		border-left: 15px solid #00aee6;
		border-right: 15px solid #00aee6;
	}

	.passengers-section .adults {
		margin-top: 0;
		margin-bottom: 0;
	}

	.form-section-content:nth-child(2), .form-section-content:nth-child(4), .form-section-content:nth-child(6) {
		padding: 18px 0px;
		background: #fff !important;
    	border: 0px !important;

	}

	#payment-info-box .form-section-content:nth-child(2) {
		padding: 5px 18px 18px;
	}
	
	.ui-datepicker-calendar	td {
		padding: 15px 0px;
	}
	
	
	/* FLOATING PRICE ------------------------------------------------- */
	
	div#floating-price-box {
		font-size: 14px;
		padding: 6px 8px;
	}
	
	/* END FLOATING PRICE ------------------------------------------------- */
}

/* AIRTRAIN CONNECT FORM */

.airtrain-connect-tiles .travel-type-selections-item a span{ padding:95px 10px 10px; background-position:center 12px; }
.airtrain-connect-tiles .travel-type-selections-item a .gc-accomm{ background-image:url('../images/booking-form/hotel.png'); }
.airtrain-connect-tiles .travel-type-selections-item a .gc-private-accomm{ background-image:url('../images/booking-form/house.png'); }
.airtrain-connect-tiles .travel-type-selections-item a .gc-airport{ background-image:url('../images/booking-form/plane.png'); }
.airtrain-connect-tiles .travel-type-selections-item.unclickable a{ cursor:default; opacity:0.4; }

@media screen and (max-width: 490px){
	.airtrain-connect-tiles .travel-type-selections-item a span{ background-size:50px auto; padding:65px 10px 10px; }
}

.airtrain-connect-checkbox{ margin-top:10px; }
.airtrain-connect-checkbox input{ display:none; visibility:hidden; }
.airtrain-connect-checkbox input[type="checkbox"]+label div{ width:19px; height:19px; overflow:hidden; display:inline-block; float:left; background-image:url('../images/booking-form/small-checkbox-unticked.png'); margin-top:3px; cursor:pointer; }
.airtrain-connect-checkbox input[type="checkbox"]:checked+label div{ background-image:url('../images/booking-form/small-checkbox-ticked.png'); }
.airtrain-connect-checkbox span{ font-size:14px; padding:3px 0 0 25px; display:block; }

#booking-form-box .calendar input{ background:#FFF url('../images/booking-form/calendar-icon.png') no-repeat 98% 8px; background-size:26px 26px !important; }

.flight-info .spacer{ height:15px; }
.flight-time{ overflow:hidden; }
.flight-time .booking-form-select-holder{ float:left; width:32%; margin-right:2%; }
.flight-time .booking-form-select-holder:last-of-type{ margin-right:0; }
.flight-time .booking-form-select-holder select{ background-position:93% 17px; }

.luggage-selection-container{ overflow:hidden; }
.luggage-item{ background:#e2e2e2; padding:1.1%; width:32.66%; float:left; margin:1% 1% 1% 0; text-align:center; }
.luggage-item-last{ margin-right:0; }
.luggage-item h5{ margin:0; padding:0; font-size:18px; color:#0058a0; font-weight:600; }
.luggage-item-image{ margin:6px 0; }
.luggage-item-image img{ width:auto; height:50px; }
.luggage-item-size{ font-size:14px; margin:0 0 10px; }
.luggage-item .booking-form-select-holder{ width:60%; margin:0 auto; }
.luggage-item .booking-form-select-holder select{ background-position:90% 17px; }

.booking-form-third{ width:32.6%; float:left; margin-right:1%; position:relative; }
.booking-form-third-last{ margin-right:0; }
.booking-form-third .booking-form-select-holder select{ background-position:96% 17px; }

.specify-children{ margin-top:30px; }
.specify-children h4{ text-transform:uppercase; font-size:18px; color:#0058a0; margin:0; padding:0; font-weight:600; }
.specify-children p{ margin:13px 0 22px; padding:0; font-size:14px; }

.accom_results{ margin:0; padding:0; position:absolute; top:73px; left:0; width:100%; height:auto; max-height:203px; overflow-y:scroll; display:none; background:#FFF; -webkit-box-shadow:0 0 8px -2px #6E6E6E; box-shadow:0 0 8px -2px #6E6E6E; z-index:2; }
.accom_results li{ margin:0; padding:0; list-style:none; float:none; }
.accom_results li a{ display:block; padding:5px 8px; border-bottom:1px solid #e2e2e2; color:#3c3c3c; cursor:pointer; }
.accom_results li a:hover{ background:#1cb7e9; color:#FFF !important; border-bottom:1px solid #1cb7e9; text-decoration: none !important; }

#trackwork_warning{ background:#fff0f0; border:2px solid #eb1313; margin-bottom:28px; padding:10px 15px; }
#stopsell_warning{ background:#fff0f0; border:2px solid #eb1313; margin-bottom:28px; padding:10px 15px; }
.flight_time_warning{ background:#fff0f0; border:2px solid #eb1313; margin:12px 0 10px; font-size:15px; line-height:1.2em; padding:10px 15px; }

/*
@media screen and (max-width: 800px){
	.travel-type-selections-item{ width:100%; margin:2px 0 !important; }
	.travel-type-selections-item .question-bubble{ top:9px; right:-33px; }
}
*/

@media screen and (max-width: 780px){
	.oversized-items{ margin-top:20px; }
	
	.booking-form-third{ width:31.9%; margin:10 2px !important; float:left; }
	.passengers-section .booking-form-select-holder{ width:100% !important; }
	.passengers-section .booking-form-label{ display:block !important; }
}

@media screen and (max-width: 660px){
	.luggage-item{ 
		width:32%; 
		margin:2px 2px !important; 
		padding:10px; 
	}
	
	.luggage-item h5{
		font-size: 14px;
	}
	
	.passengers-section .question-bubble{ position:relative; left:inherit; right:inherit; display:block; bottom:inherit; margin:5px 0 0; }
	.passengers-section #email-address-question-bubble{ position:absolute !important; top:-7px; }
	
	#trackwork_warning, #stopsell_warning, .flight_time_warning{ font-size:14px; }
}

@media screen and (min-width: 950px){
	.oversized-items .luggage-item{ width:15.669%; }
	.oversized-items .luggage-item-last{ margin:1% 1% 1% 0; }
	.oversized-items .luggage-item-very-last{ margin-right:0; }
}

/* INTER TERMINAL FORM */

.page-id-291 .passengers-section{ padding-bottom:16px; }

/* TOOLTIPS */

.ui-tooltip{ font-size:14px; padding:8px !important; font-family:"fsalbert-regular"; }

/* FORM ERRORS */

#validation-warnings-box{ margin-bottom:20px; width:100%; }
#validation-warnings-box .form-section-content{ padding:23px 30px; }
#validation-warnings-box .form-section-title{ background:#eb1313; }
#validation-warnings-box .booking-form-box{ background:#fff0f0; }
#validation-warnings-box ul{ margin:0; padding:0; overflow:hidden; }
#validation-warnings-box li{ margin:4px 0; padding:0 0 0 25px; float:none; display:block; list-style:none; background:url('../images/error-icon.png') no-repeat 0 2px; }

/* PAYMENT SUCCESS/ERROR */
.payment-result-message{ text-align:center; }
.payment-result-message img{ display:block; margin:12px auto 30px; }
.payment-result-message-line-1, .payment-result-message-line-2, .payment-result-message-line-3{ display:block; text-align:center; }
.payment-result-message-line-1{ font-size:26px; font-family:"fsalbert-bold"; }
.payment-result-message-line-2{ font-size:22px; font-family:"fsalbert-regular"; }
.payment-result-message-line-3{ font-size:16px; font-family:"fsalbert-regular"; margin-top:40px; }

@media screen and (max-width: 768px){
	.payment-result-message img{ height:33px; }
	.payment-result-message-line-1{ font-size:20px; line-height:1.2em; }
	.payment-result-message-line-2{ font-size:18px; line-height:1.2em; margin:12px 0 0; }
	.payment-result-message-line-3{ font-size:14px; line-height:1.2em; }
}

/* HIDE HEADERS ON ALL BOOKING FORMS */

@media screen and (max-width: 768px){
	.page-id-159 #buy-tickets-header,
	.page-id-182 #buy-tickets-header,
	.page-id-291 #buy-tickets-header,
	.page-id-522 #buy-tickets-header,
	.page-id-919 #buy-tickets-header{
		background:none;
		height:auto;
		padding:17px 15px 0;
		line-height:1.2em;
	}
	
	.page-id-159 #buy-tickets-header h1,
	.page-id-182 #buy-tickets-header h1,
	.page-id-291 #buy-tickets-header h1,
	.page-id-522 #buy-tickets-header h1,
	.page-id-919 #buy-tickets-header h1{
		color:#0058a0;
		text-shadow:none;
		font-size:34px;
	}
	
	.page-id-159 #homepageBadge,
	.page-id-182 #homepageBadge,
	.page-id-291 #homepageBadge,
	.page-id-522 #homepageBadge,
	.page-id-919 #homepageBadge
	{ display:none; visibility:hidden; }
}

/* AIRTAIN CONNECT CTA */

#atc-cta{ height:133px; width:100%; position:relative; background:#00afe5 url('../images/booking-form/atc-cta-img.jpg') no-repeat left top; margin-top:30px; display:none; }
#atc-cta h4{ position:absolute; color:#FFF; font-size:19px; width:233px; left:400px; top:23px; font-family:"fsalbert-semibold"; }
#atc-cta span{ position:absolute; color:#9ddff5; font-size:14px; left:397px; top:86px; }
#atc-cta .btn-primary{ position:absolute; background:#fdb913; color:#000; font-size:16px; text-transform:uppercase; right:17px; top:23px; -webkit-border-radius:999px; border-radius:999px; font-size:22px; font-family:"fsalbert-bold"; padding:5px 16px; -webkit-box-shadow:0 1px 2px 0px #292929; box-shadow:0 1px 2px 0px #292929; border:none; width:74px; text-align:center; }
#atc-cta .btn-primary:hover{ background:#000; color:#FFF; text-decoration:none !important; }
#atc-cta .btn-secondary{ position:absolute; background:#0081aa; color:#c4ebf7; font-size:16px; text-transform:uppercase; right:17px; top:69px; -webkit-border-radius:999px; border-radius:999px; font-size:22px; font-family:"fsalbert-bold"; padding:5px 16px; -webkit-box-shadow:none; box-shadow:none; border:none; width:74px; text-align:center; }
#atc-cta .btn-secondary:hover{ background:#006586; color:#FFF; text-decoration:none !important; }

@media screen and (max-width: 850px){
	#atc-cta{ background-image:none !important; text-align:center; height:auto; padding:3px 15px 15px; margin-top:24px; margin-bottom:10px; }
	#atc-cta h4, #atc-cta span{ display:block; position:relative; text-align:center; top:inherit; left:inherit; right:inherit; max-width:274px; width:100%; margin:13px auto; }
	#atc-cta .btn-primary, #atc-cta .btn-secondary{ display:inline-block; position:relative; top:inherit; left:inherit; right:inherit; }
}

@media screen and (max-width: 600px){
	#atc-cta h4{ font-size:16px; }
	#atc-cta .btn-primary, #atc-cta .btn-secondary{ font-size:16px; }
}

/* FARE CALCULATOR */

.page-id-919 #booking-form-container{ max-width:724px; }
#fare-calculator-station-input #SearchInputFrom{ font-size:18px; }

/* VALIDATION */

#booking-form-container .validation-error, #booking-form-container .validation_error_from, #booking-form-container .validation_error_to {
    background: #dc1034;
    margin: 6px 0 0;
    color: #FFF;
    font-size: 14px;
    padding: 5px 9px;
}

/* NEW UPDATED TO BOOKING FORM, AUGUST 2019 */

body .booking-summary-payment .booking-form-submit-btn {
    background: #fdb913;
    padding: 12px 20px;
    color: #2c2a2b;
	font-size: 20px;
}

body .booking-summary-payment {
    text-align: center;
    margin: 17px 0 8px;
}

body .booking-summary-payment .booking-form-submit-btn:hover {
    background: #ffcc50;
}

@media screen and (max-width: 500px){
	body .booking-summary-payment .booking-form-submit-btn {
		font-size: 16px;
		font-family: "fsalbert-bold";
		padding: 12px 12px;
	}
}

/* NEW BOOKING FORM CHANGES - HIDING ELEMENTS ETC. */

.page-id-159 #default-page-container{ overflow:visible; }

#booking-form-container{ height: auto; min-height: auto; }

.booking-form-box {
    background: #FFF;
}

.form-section-title {
    position: relative;
	margin: 4px 0 0;
	background: #737373;
}

body .form-section-title.step-open {
    background: #0058a0;
}

body .form-section-content {
    background: #f7f7f7;
    border-left: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    border-right: 1px solid #CCC;
	overflow: visible !important;
}

div#step1-title {
    margin-top: 0;
}

#step2-content {
	display: none;	
}

#step3-content {
	display: none;
}

#step4-content {
	display: none;
}

.step-edit {
	float: right;
	cursor: pointer;
}

body .form-section-title.step-ok {
	background-color: #048e59;
	padding-left: 34px;
}
body .form-section-title.step-error {
	background-color: #dc1034;
	padding-left: 34px;
}

body .step-ok::before {
    content: '\f058';
    font-family: fontawesome;
    position: absolute;
    left: 7px;
    font-size: 23px;
}

body .step-error::before {
    content: '\f06a';
    font-family: fontawesome;
    position: absolute;
    top: 1px;
    left: 7px;
    font-size: 23px;
}

.step-edit.step-open::before {
    content: '\f062';
    font-family: fontawesome;
    font-size: 18px;
	cursor:pointer;
}

.step-edit::before {
    content: '\f063';
    font-family: fontawesome;
    font-size: 18px;
	cursor:pointer;
}

.step-edit {
    font-size: 0;	
}

body .booking-form-submit-btn {
    margin: 25px 0 0;
    padding: 12px 20px;
    font-size: 22px;
}

div#step4-title::before { content: '\f09d'; font-family: fontawesome; display: inline-block; margin-right: 8px; }

body #payment-info-box .booking-form-submit-btn {
    margin-top: 0;
}

div#step4-title.step-open {
    background: #0058a0;
}

@media screen and (max-width: 600px){
	body .booking-form-submit-btn {
		font-size: 18px;
		margin: 0 auto 12px;
	}

	body #payment-info-box .booking-form-submit-btn {
		margin: 12px auto 4px;
	}
}

@media screen and (max-width: 600px){
	body .booking-form-submit-btn{ width:100%; }
}

/* NEW PROMO CODE AREA */

.final-mobile-price {
    font-size: 30px;
    text-align: center;
    font-family: "fsalbert-bold";
    margin: 13px 0 17px;
    color: #0058a0;
}

.final-mobile-price-promo-box input#booking_promo {
    width: 73%;
    float: left;
    padding: 0 9px;
    height: 37px;
    line-height: 37px;
}

.final-mobile-price-promo-box input#promo-btn {
    width: 25%;
    float: right;
    background: #1ab5e7;
    border: none;
    color: #FFF;
    text-transform: uppercase;
    font-size: 14px;
    font-family: "fsalbert-semibold";
    height: 37px;
    line-height: 37px;
	text-align: center;
	cursor:pointer;
}

.final-mobile-price-promo-box input#promo-btn:hover {
    background: #0058a0;
}

.final-mobile-price-promo-box div#promo_code_box {
    overflow: hidden;
}

.final-mobile-price-promo-box {
    margin: 0 0 24px;
}

div#validation_ok_promo {
    background: #048e59;
    margin: 6px 0 0;
    color: #FFF;
    font-size: 14px;
    padding: 5px 9px;
}

@media screen and (min-width: 700px){
	.final-mobile-price {
		text-align: left;
		margin: 0;
	}

	.final-mobile-price-promo-box input#booking_promo {
		width: 36%;
		height: 46px;
		line-height: 46px;
	}

	.final-mobile-price-promo-box input#promo-btn {
		float: left;
		margin: 0 0 0 3px;
		width: 100px;
		height: 46px;
		line-height: 46px;
		font-size: 18px;
	}
}

/* MOBILE QUICK SUMMARY */

@media screen and (min-width: 1024px){
	.booking-form-full.quick-summary { display:none; }
}

.booking-form-full.quick-summary {
    margin: 0 0 31px;
    background: #FFF;
    padding: 10px 10px 6px;
    box-shadow: 0px 1px 4px #00000057;
	font-size: 16px;
}

.booking-form-full.quick-summary h4 {
    background: #fdb913;
    color: #000;
    display: block;
    text-transform: uppercase;	
	font-weight: 600;
    padding: 9px 11px;
    margin: 0 0 9px;
    line-height: 1;
}

@media screen and (max-width: 780px){
	.booking-form-full.quick-summary {
		margin: 11px 0 31px;
	}
}

@media screen and (max-width: 490px){
	.booking-form-full.quick-summary span {
		display: inline;
		clear: both;
		width: 100%;
	}

	.booking-form-full.quick-summary {
		font-size: 14px;
	}

	.booking-form-full.quick-summary br {
		display: none;
	}

	.booking-form-full.quick-summary strong {
		display: block;
		margin: 5px 0 0;
	}
}

span#payment-reference-box {
    background: #00a552;
    color: #FFF;
    padding: 10px;
    margin: 0 0 15px 0;
}

span.booking-ref-text {
    font-family: "fsalbert-semibold";
    font-weight: normal;
}

/* OVERRIDES */

.not-jp #confirm_booking #payment-result-box .form-section-title {
    margin-top: 0;
}

.not-jp span#payment-reference-box {
    margin: 38px 0 0;
}

.not-jp span#booking-ref-no {
    display: block;
    font-size:34px;
    line-height:1.3em;
}

@media screen and (max-width: 1336px){
    .not-jp form#confirm_booking {
        float: left;
        width: 66%;
    }

    .not-jp .booking-form-left {
        width: 100%;
    }
}

@media screen and (max-width: 1024px){
    .not-jp form#confirm_booking {
        float: none;
        width: 100%;
    }
}

@media screen and (max-width: 780px){
	.not-jp div#payment-result-box .form-section-content {
		padding: 15px;
	}
}

.form-section-title:first-of-type {
    margin-top: 0;
}

div#ticket-summary-discount-notice {
    background: #bde8d8;
    text-align: center;
    padding: 6px;
    font-weight: 600;
    color: #096b45;
    border: 1px solid #048e59;
    margin: 18px 0 6px;
}

/* COVID */

div#buy-tickets-heading-container {
    height: 100%;
    max-width: 1300px;
    margin: 0 auto;
    position: relative;
}

div#buy-tickets-heading-container:after {
    content: '';
    display: block;
    position: absolute;
    bottom: 20px;
    right: 0;
    width: 200px;
    background-image: url(/wp-content/uploads/2020/06/covid-clean.png);
    z-index: 1;
    height: 88px;
    background-repeat: no-repeat;
    background-size: 200px auto;
}

@media(max-width: 1340px){
    div#buy-tickets-heading-container:after{
        bottom: 10px;
        right: 10px;
        background-size: 140px auto;
        height: 63px;
        width: 140px;
    }
}

@media(max-width: 768px){
    div#buy-tickets-heading-container:after{
        position: relative;
        margin: 18px auto 0;
        bottom: inherit;
        right: inherit;
    }
}

@media(max-width: 490px){
    div#buy-tickets-heading-container:after{
        background-size: 120px auto;
        height: 54px;
        width: 120px;
    }
}

/* HIDE FOOTER ELEMENTS ON MOBILE */

@media(max-width: 490px){
	
	body footer .footer-widget-one {
    display: none;
	}
}

/* ticket summary changes for mobile */
@media(max-width: 490px){
	#ticket-summary-midway {
		display:inherit;
	}
}
	
/* HIDE HEADER ELEMENTS ON MOBILE */
@media(max-width: 490px){
	div#language-bar { display: none; }
	div#tw-notice-bar {	display: none; }
	div#buy-tickets-heading-container:after { display: none; }
	body header { height: 72px!important; }
	#buy-tickets-header { margin: 72px 0 0; }
	body #click-menu { top: 20px; }
}

.applewalletimg {
	width: 25%;
	height: 100%!important;
}

@media(max-width: 490px){
	.applewalletimg {
		width: 50%!important;
}

.sponsor-logo {
	display: flex;
    align-items: center;
    flex-direction: column;
}

}

.sponsor-logo {
	padding: 20px 0;
}
