/* Booking */

/* BOOKING AND CHECKOUT HEADER AND FOOTER STYLING */
.booking #header {
	height: 90px!important;
	box-sizing: border-box;
	padding: 0px!important;
}
.booking #header .inner-wrapper {
	width: 100%;
}
.booking #header .booking-header-inner {
	position: relative;
}
.booking #header #do-dublin-logo {
	margin: 26px 0px 0px 60px;
}
body.page-concert-express #header #do-dublin-logo {
	margin: 12px 0px 0px 60px;
}
.page-airlink #header #do-dublin-logo img {
	margin-top: 0px;
}

.booking #header #checkout {
	text-transform: uppercase;
	font-size: 28px;
	line-height: 28px;
	font-weight: bold;
	float: left;
	margin: 33px 0px 0px 57px;
}
.page-airlink #header #checkout {
	position: relative;
	left: 22px;
}

.booking #header #booking-header-text {
	margin: 0px;
	padding: 0px;
	float: right;
	margin: 38px 60px 0px 0px;
}
.booking #header #booking-header-text-content,
.booking #header #booking-header-contact,
.booking #header #booking-header-contact a {
	font-size: 16px;
	line-height: 12px;
	width: auto;
	font-weight: 500;
	text-transform: none;
	color: #fff;
}
.booking #header #booking-header-contact a {
	text-decoration: underline;
	padding: 0;
	margin-left: 12px;
	font-weight: 100;
}
.booking #header #booking-header-text-content, .booking #header #booking-header-contact #line, .booking #header #booking-header-contact {
	display: inline-block;
}
.booking #header #booking-header-text-content, .booking #header #booking-header-contact, .booking #header #booking-header-contact a {
	float: none;
}
.booking #header #booking-header-text-content {
	margin-right: 12px;
}
.booking #header #booking-header-text-content p {
	text-transform: uppercase;
}
.booking #header #booking-header-text-content a {
	text-transform: lowercase;
}

.booking #footer {
	height: 290px;
	background-color: #000000;
	position: relative;
	text-align: center;
}
.booking_footer_inner {
	font-size: 12px;
	line-height: 32px;
	color: #fff;
	text-align: center;
	padding: 24px 0;
}
.booking #footer .booking_footer_inner.inner-wrapper .top {
	float: left;
	width: 50%;
	display: flex;
	column-gap: 7px;
	padding-top: 66px;
	padding-top: 6px;
}
.booking #footer #logo-left {
	display: inline-block;
	width: 83px;
	height: 14px;
	margin: 3px 0 0 0;
	margin: 3px 0 -3px 0;
}
#footer .left-inner .copyright-container {
	margin-top: 4px;
}
.booking #footer #copyright {
	display: inline-block;
	font-size: 14px;
	line-height: 19px;
	font-weight: 100;
}
.booking #footer #logo-right {
	width: 158px;
	height: 40px;
	float: right;
	padding-top: 55px;
	padding-top: 48px;
	margin: 0px;
}


#cardholder-fields .ap_input_label.select_input_label.ap_label,
#cardholder-fields .ap_input_label.text_input_label.ap_label,
#customer-fields .ap_input_label.select_input_label.ap_label,
#customer-fields .ap_input_label.text_input_label.ap_label {
	width: 111px;
	font-size: 16px;
	line-height: 35px;
	font-weight: 500;
	float: left;
	padding: 8px 8px 8px 0;
}

#cardholder-fields .ap_input.text_input,
#cardholder-fields .ap_input.select_input,
#customer-fields .ap_input.text_input,
#customer-fields .ap_input.select_input,
#cardholder-fields .ap_input.tel_input,
#customer-fields .ap_input.tel_input {
	font-size: 14px;
	padding: 8px;
	height: 50px;
}
#customer-fields .ap_input_label.text_input_label.ap_label.top {
	display: none;
}
#main-inner-container div + #booking-items {
	margin-top: 5px;
}

.booking-item {
	background: #EEEEEE;
	margin-bottom: 5px;
}

.booking-item .tour-icon {
	margin: 0px;
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: 17px 17px;
	width: auto;
	min-width: 50px;
	height: auto;
	min-height: 50px;
	background-image: var(--brand-icon);
	background-color: var(--brand-dark, #000000);
	display: inline-block;
	margin-right: 5px;
}

.booking-item .name {
	font-family: 'museo_slab';
	font-size: 18px;
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 22px;
	display: flex;
	justify-content: center;
	flex-direction: column;
	flex-grow: 1;
	background-color: var(--brand-light, #000000);
	color: #ffffff;
	padding: 0px 10px;
}

#booking-items-review {
	font-size: 14px;
}

#booking-items-review .booking-item {
	border-bottom: 1px solid #585858;
	padding: 9px 0 3px;
}

#booking-promotions .promotion-saving,
#booking-items-review .ticket-st {
	float: right;
}

#booking-items-review .ticket-row {
	padding: 5px 0;
}

#booking-promotions .promotion-name {
	font-weight: 500;
}

#booking-promotions .booking-item {
	margin: 0;
}

#booking-promotions .promotion-spacing {
	padding: 4px;
}

#booking-promotions .promotion-tag {
	display: block;
	margin-right: 80px;
}

#payment-review {
	float: right;
	width: 330px;
}

#payment-review .sub-total {
	font-size: 18px;
	line-height: 18px;
	font-weight: bold;
	text-align: right;
	padding: 7px 0;
	border-bottom: 2px solid #000;
}

#booking-items-review .line-name {
	font-weight: 500;
}

/* Promo Code Box in Checkout */
.promo_code_holder#promo_code_holder {
	background-color: #DDDDDD;
	padding: 10px;
	border-bottom-right-radius: 5px;
	border-bottom-left-radius: 5px;
}
.promo_code_holder #promo_code_outer {
	background-color: transparent;
	color: #808080;
	padding: 0;
}
.promo_code_holder #promo_code_inner {
	margin: 0;
}
.promo_code_holder #promo_code_input, .promo_code_holder #promo_code_button_holder {
	display: inline-block;
	width: auto;
	float: none;
}
.promo_code_holder #promo_code_input {
	width: calc(100% - 85px);
	height: 30px;
	border-radius: 5px;
}
.promo_code_holder #promo_code_button_holder {
	width: 80px;
	margin-left: 5px;
}
.promo_code_holder #promo_code_button {
	width: 100%;
	padding: 0;
}
.promo_code_holder #promo_code_button_holder .ap_input {
	background-color: #8C8C8C;
	padding: 8px;
	font-size: 14px;
	line-height: 12px;
	font-weight: 500;
	color: #ffffff;
	height: 30px;
	transition: all .4s ease-in-out;
}
.promo_code_holder #promotion {
	font-size: 14px;
}
.promo_code_holder #promotion::placeholder {
	color: #808080;
}
.promo_code_holder #promo_code_button_holder .ap_input:hover {
	color: #000000;
}
.promo_code_holder .promotion_holder, .promo_code_holder .ap_input {
	height: 100%;
	border-radius: 5px;
	vertical-align: middle;
}
.promo_code_holder .ap_input {
	font-weight: 500;
}
/* -------------------------- */

/* rules for procurement compliance dublinsightseeing microsite */
.page-procurement-workshops #header #booking-header-contact {
	display: none;
}
.page-procurement-workshops .promo_code_holder#promo_code_holder {
	display: none;
}
.page-procurement-workshops.booking #footer #logo-right {
	display: none;
}
/* -------------------------- */

#payment-review-inner label.ap_checkbox_label input {
	margin-top: 0px;
}

#payment-review-inner .ap_checkbox_label {
	font-size: 11px;
	font-size: 12px;
	color: #454545;
	line-height: 1em;
	display: block;
	text-align: right;
}

#payment-review-inner {
	background: #EEEEEE;
	width: 330px;
}

/* ----- Reference Name ----- */
#payment-review-inner .booking-note {
	margin-top: 50px;
}

#payment-review-inner .booking-note label {
	font-size: 18px;
    line-height: 25px;
    font-weight: 600;
	letter-spacing: 0.01em;
}
#payment-review-inner .booking-note .reference_note {
	color: #333333;
	font-weight: 400;
	font-size: 14px;
	line-height: 15px;
	margin-bottom: 10px;
}
#payment-review-inner .booking-note input {
	width: 100% !important;
	height: 50px;
	padding: 8px;
	box-sizing: border-box;
}

.booking-section-heading {
	background: #DDDDDD;
	color: #333333;
	font-size: 18px;
	font-weight: bold;
	padding: 9px 15px;
}

.booking-section-inner {
	padding: 0px 15px 15px;
}

#booking-promotions {
	padding: 0px 15px;
}
#booking-promotions .promotions-inner {
	padding-top: 15px;
	font-size: 14px;
	margin: -6px -8px 8px -8px;
	padding: 9px 12px 0px 12px;
}
#booking-promotions .booking-item {
	background-color: transparent;
}
#booking-promotions .border-bottom {
	border-bottom: 2px solid #000;
}

#payment-review #total,
#payment-review #total_to_pay {
	font-size: 26px;
	color: #000;
	text-align: right;
	font-weight: bold;
	line-height: 1.2em;
	padding: 4px 0 8px 0;
	/* border-top: 2px solid #333333; */
	border-bottom: 2px solid #333333;
	text-transform: uppercase;
}

#booking-promotions .sub-total {
	text-transform: uppercase;
	border-bottom: none;
	border-top: 1px solid #023BCC;
	font-weight: 500;
}

#main-inner-wrapper {
	float: left;
	width: 100%;
	margin-right: -345px;
}

#main-inner-container {
	margin-right: 354px;
}

#booking-information {
	float: left;
	width: 190px;
	min-height: 1px;
}

#booking-details {
	margin-left: 190px;
}

#booking-details-inner {
	position: relative;
	float: left;
	width: 100%;
}

.field-row {
	padding: 2px 0;
}

.booking_item_inner, .modify_details_outer {
	padding: 10px 15px;
}

.booking_item_inner {
	position: relative;
	display: flex;
	flex-direction: row;
	width: 100%;
	box-sizing: border-box;
	padding-bottom: 0;
}

#promotions-list {
	padding-bottom: 8px;
}

.booking_continue {
	font-size: 19px;
	letter-spacing: -0.03em;
	line-height: 22px;
	color: var(--brand-light);
	text-align: center;
	padding: 12px 0 11px;
}

.booking_continue button {
	color: var(--brand-light);
	text-decoration: underline;
	border: 0;
	background: none;
	font-size: 19px;
	cursor: pointer;
	letter-spacing: -0.03em;
	line-height: 22px;
}

.booking-item .quantity-select {
	margin-left: 0;
}

#booking-city-outer {
	float: left;
	width: 50%;
}
#booking-postcode-outer {
	float: right;
	width: 50%;
}
#booking-postcode-outer label {
	float: left;
	width: 45% !important;
	box-sizing: border-box;
	text-align: right;
}

#customer-fields, #cardholder-fields {
	padding: 9px 15px;
}

#cardholder-fields #booking-city-outer input,
#customer-fields #booking-city-outer input {
	float: left;
	width: 50% !important;
	box-sizing: border-box;
}

#cardholder-fields #booking-city-outer label,
#customer-fields #booking-city-outer label {
	float: left;
	width: 50% !important;
	box-sizing: border-box;
}

#cardholder-fields #booking-postcode-outer input,
#customer-fields #booking-postcode-outer input {
	float: left;
	width: 55% !important;
	box-sizing: border-box;
}

#worldpay-form-holder {
	margin-right: 350px;
}

.loader {
	position: relative;
	margin: 0 auto;
	width: 60px;
}

.loader:before {
	content: '';
	display: block;
	padding-top: 100%;
}

.circular {
	animation: rotate 2s linear infinite;
	height: 100%;
	transform-origin: center center;
	width: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

.path {
	stroke-dasharray: 1, 200;
	stroke-dashoffset: 0;
	animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
	stroke-linecap: round;
	stroke: #999;
}

.asterisk {
	/* color:red; */
	color: #B30000;
	font-weight: bold;
	top: -3px;
	position: relative;
}

.asterisk_help {
	float: right;
	color: #B30000;
	font-size: 14px;
	font-weight: normal;
	margin-top: 4px;
}

.booking #booking-outer {
	padding-top: 90px;
	position: relative;
	background: #fff;
}

body.page-airlink.booking #booking-outer .booking_background, body.page-concert-express.booking #booking-outer .booking_background, body.page-ghostbus.booking #booking-outer .booking_background {
	background-color: var(--brand-light)!important;
	background-image: url(/images/branding/light-background-illustration.png)!important;
}
body.page-ghostbus.booking #booking-outer .booking_background {
	background-image: url(/images/branding/ghostbus-background-illustration.png)!important;
}
body.page-airlink.booking #booking-outer .booking_processed, body.page-concert-express.booking #booking-outer .booking_processed, body.page-ghostbus.booking #booking-outer .booking_processed {
	color: var(--brand-light)!important;
}

#booking-outer .inner-wrapper {
	padding-bottom: 51px;
}

#booking-details {
	padding-top: 27px;
}

.details_container {
	position: relative;
	cursor: pointer;
}

.details_container .image {
	float: left;
	width: 151px;
	height: 64px;
	overflow: hidden;
	margin-right: 10px;
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
}


.details_container .description {
	position: relative;
	font-size: 14px;
	line-height: 22px;
}

.details_container:not(.full_description) .description {
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	width: calc(100% - 161px);
}

.details_container .view_more {
	width: 150px;
	height: 18px;
	background: #eeeeee;
	background: linear-gradient(to right, rgba(238,238,238,0), rgba(238,238,238,1), rgba(238,238,238,1));
	position: absolute;
	bottom: 2px;
	right: 2px;
}
.details_container .view_more a {
	float: right;
}
.details_container .view_more a, .remove_tour {
	font-weight: 500;
	color: var(--brand-light);
	font-size: 12px;
	text-decoration: underline;
}
.remove_tour_bg {
	background: #fff;
	border: 2px solid #EEEEEE;
	padding: 10px 15px;
}
.modify-details-wrapper {
	transition: max-height 0.3s ease;
}
.modify_details_outer {
	background: #EEEEEE;
}
.modify_details_inner {
	border-top: 1px solid #BBBBBB;
	padding-top: 10px;
	margin-top: 10px;
}
.modify_details_inner .subheading {
	font-size:18px;
	font-weight: 500;
	margin-bottom: 10px;
}
.travellers-container {
	display: inline-grid;
	width: 100%;
	grid-column-gap: 10px;
	row-gap: 10px;
	padding-bottom: 11px;
}
.travellers-container .travellers .traveller-type {
	font-size: 14px;
	font-weight: 500;
	line-height: 22px;
}
#booking-details .booking_help {
	background-color: #EEEEEE;
	margin-top: -7px;
	margin-bottom: 16px;
	padding: 15px 14px;
}
.modify_details_inner .date-time-container .subheading {
	margin-bottom: 0px;
}

.booking-item .select-outer {
	display: block;
	background: var(--brand-light);
	width: 100%;
	padding: 4px 0px;
	box-sizing: border-box;
	min-height: 40px;
}
.booking-item .date-time-outer {
	border-top: 2px solid #BBBBBB;
	padding-top: 12px;
}
.departure-date-select, .departure-time-select {
	float: left;
}
.departure-time-select {
	width: 25%;
	margin-left: 15px;
}
.booking-item.tour-concert-express .departure-time-select {
	width: 35%;
	width: 45%;
}
.booking-item .calendar-only .select-outer {
	width: 50%;
}
.booking-item .calendar-only .departure-date-select,
.booking-item .calendar-only .tour-calendar {
	width: 99%;
	box-sizing: border-box;
}

.booking-item .tour-calendar .calendar_input,
.booking-item .tour-calendar input.calendar_input:not([readonly]):not([disabled]) {
	font-size: 16px;
}

.booking-item .tour-calendar {
	background: #fff;
	padding: 1px;
	border: 1px solid #B7B7B7;
	width: 98%;
	border-radius: 0;
}
.booking-item .tour-calendar .cds {
	height: 28px;
}
.booking-item .tour-calendar,
.booking-item .tour-select select {
	border: none;
	border-radius: 0%;
	appearance: none;
	background: url('/images/sub-nav.png') var(--brand-light, #2659D2) no-repeat right;
	background-position: 97% 55%;
	font-size: 16px;
	min-height: 30px;
}
.booking-item .tour-select select {
	color: #fff;
	padding: 4px;
	min-height: 32px;
}
.booking-item .tour-select option {
	color: #fff;
	background-color: var(--brand-light, #2659D2);
}

.booking-item .tour-calendar .calendar_input_holder .calendar_input[disabled] {
    background-color: var(--brand-light);
    color: #c1c1c1;
    cursor: initial;
}

/* Additional Options - For 3rd Party Products */
.extra_options_group {
	border-top: 2px solid #BBBBBB;
	padding-top:12px;
}
.extra_options_heading {
	font-size: 18px;
	font-weight: 500;
	padding-bottom: 12px;
}
.extra_options_group .ap_group h4 {
	float: left;
	min-width: 90px;
	padding: 8px 8px 8px 0;
	font-weight: normal;
	box-sizing: border-box;
	font-weight: 500;
	font-size: 14px;
}
.extra_options_group .ap_group .field_holder {
	margin-left: 90px;
	margin-right: 10px;
	padding: 5px 0;
}
.extra_options_group .ap_group {
	border-bottom: 1px solid #BBBBBB;
}
.extra_options_group .ap_group:last-of-type {
	border-bottom: 0px;
}
.extra_options_group .ap_group label {
	padding-bottom: 4px;
	display: inline-block;
	font-size: 14px;
}
.extra_options_group.ap_group label {
	width: 90px;
	display: inline-block;
	font-weight: 500;
}
.extra_options_group select, .extra_options_group input.text_input {
	width: 100%;
	padding: 4px;
	box-sizing: border-box;
	font-size: 14px;
	padding: 8px;
}
.extra_options_group label.ap_checkbox_label input {
	height: 18px;
	width: 18px;
	margin-left: 0;
}
.extra_options_group label.ap_checkbox_label {
	display: block;
}
.extra_options_group label.ap_checkbox_label + br {
	display: none;
}
.extra_options_group input.text_input {
	width: calc(100% - 90px)!important;
}



/* ----- DESKTOP ----- */
/*@media screen and (min-width: 1500px) {
	.booking #header .inner-wrapper {
		width: 1450px;
	}
}

@media screen and (min-width: 1000px) and (max-width: 1499px) {
	.booking #header .inner-wrapper {
		margin-left: 60px;
	}

}*/


/* ----- TABLET ----- */
@media screen and (max-width: 1167px) {
	.modify_details_inner .travellers-container {
		grid-template-columns: repeat(3, 1fr)!important;
		column-gap: 5px;
		row-gap: 5px;
	}
	.modify_details_inner .travellers {
		min-width: 100%;
	}
	.modify_details_inner .help_icon {
		margin-left: 4px;
	}
	
	#booking-information {
		float: none;
		width: 100%;
	}
	#booking-details {
		padding-top: 0px;
		margin-top: 0px;
		margin-left: 0px;
	}
	#booking-details-inner {
		padding-top: 20px;
	}
}
@media screen and (max-width: 999px) {
	/* BOOKING AND CHECKOUT HEADER AND FOOTER STYLING */
	.booking #header .inner-wrapper {
		width: 700px;
	}
	.booking #header #do-dublin-logo {
		margin: 26px 0px 0px 0px;
	}
	body.page-concert-express #header #do-dublin-logo {
		margin: 12px 0px 0px 0px;
	}
	.booking #header #checkout {
		font-size: 38px;
		line-height: 50px;
		margin: 23px 0px 0px 30px;
	}
	.booking #header #booking-header-text {
		margin: 32px 0px 0px 0px;
		margin: 42px 0px 0px 0px;
		text-align: right;
	}
	.booking #header #booking-header-text-content {
		font-size: 14px;
		line-height: 14px;
		margin: 0px;
	}
	.booking #header #booking-header-text-content a {
		display: inline-block;
	}
	.booking #header #booking-header-contact {
		display: none;
	}
	
	.booking #footer .booking_footer_inner.inner-wrapper .top {
		width: 70%;
	}
	.booking_footer_inner img {
		margin: 0px 10px;
	}
	/* ------------------------------------ */
	
	.modify_details_inner .travellers-container {
		grid-template-columns: repeat(2, 1fr)!important;
	}
	.booking .details_container .image {
		width: 121px;
		margin-right: 5px;
	}
	.booking .details_container .description {
		width: calc(100% - 126px);
	}
	.booking .asterisk_help {
		float: none;
	}
	#cardholder-fields .ap_input_label.select_input_label.ap_label, #cardholder-fields .ap_input_label.text_input_label.ap_label, #customer-fields .ap_input_label.select_input_label.ap_label, #customer-fields .ap_input_label.text_input_label.ap_label {
		width: 36%!important;
		font-size: 16px;
	}
	#cardholder-fields .ap_input.text_input, #cardholder-fields .ap_input.select_input, #customer-fields .ap_input.text_input, #customer-fields .ap_input.select_input {
		width: 64%!important;
	}
	#booking-city-outer, #booking-postcode-outer {
		float: none;
		width: 100%;
	}
	#cardholder-fields #booking-city-outer label, #customer-fields #booking-city-outer label, #customer-fields #booking-postcode-outer .ap_input_label.text_input_label.ap_label {
		width: 36%!important;
	}
	#cardholder-fields #booking-city-outer input, #customer-fields #booking-city-outer input, #cardholder-fields #booking-postcode-outer input, #customer-fields #booking-postcode-outer input {
		width: 64%!important;
	}
	#booking-postcode-outer label {
		text-align: left;
	}
	#booking-postcode-outer {
		padding-top: 8px;
	}
	.mobile_prefix_title {
		padding-left: 36%;
	}
	#customer-fields .mobile_prefix_holder .ap_input_label.text_input_label.ap_label {
		width: 66%!important;
	}
	#customer-fields .mobile_prefix_holder .ap_input.text_input {
		width: 31%!important;
	}
	.mobile_prefix_holder {
		width: 55% !important;
	}
	.mobile_holder {
		width: 45%!important;
	}
	#customer-fields .mobile_holder .ap_input.text_input {
		width: 100%!important;
	}
	
	.booking-item .tour-icon {
		margin-right: 1px;
	}
	.booking-item .name {
		padding: 0 5px;
	}
	#main-inner-container {
		margin-right: 340px;
	}
	.booking_item_inner, .modify_details_outer {
		padding: 14px;
	}
	.booking_item_inner {
		padding-bottom: 0;
	}
	
	.booking-item .calendar-only .select-outer {
		width: 100%;
	}
	
	.departure-time-select {
		width: 28%;
		margin-left: 5px;
	}
	
	.booking-item.tour-concert-express .departure-date-select, .booking-item.tour-concert-express .departure-time-select {
		float: none;
		width: 100%;
	}
	.booking-item.tour-concert-express .departure-time-select {
		width: 97%;
	}
	
	/* #cardholder-fields #booking-city-outer label,
	#customer-fields #booking-city-outer label, #cardholder-fields #booking-postcode-outer label,
	#customer-fields #booking-postcode-outer label {
		width: 20% !important;
		text-align: left;
	}
	#cardholder-fields #booking-city-outer input,
	#customer-fields #booking-city-outer input, #cardholder-fields #booking-postcode-outer input,
	#customer-fields #booking-postcode-outer input {
		width: 80% !important;
	} */
}


/* ----- MOBILE ----- */
@media screen and (max-width: 720px) {
	.booking #booking-outer {
		padding-top: 65px;
	}
	.booking #booking-details-inner {
		padding-top: 5px;
	}
	
	#worldpay-form-holder {
		width: 100%;
		margin: 0;
		margin-top: 20px;
	}
	#main-inner-wrapper, #payment-review, #payment-review-inner {
		float: none;
		width: 100%;
	}
	.temp_holder.contained_sticky_box {
		display: none!important;
	}
	#payment-review {
		margin-top: 16px;
		position: unset!important;
	}
	#payment-review-inner {
		position: unset!important;
	}
	.booking-item {
		margin-bottom: 11px;
	}
	.departure-date-select {
		float: none;
		width: 70%;
		padding: 2px 0;
	}
	.booking-item.tour-concert-express .departure-date-select {
		width: 75%;
	}
	.booking-item.tour-concert-express .departure-time-select {
		width: 100%;
	}
	.departure-time-select .tour-select {
		margin-left: 0;
	}
	.departure-time-select {
		float: none;
		padding: 2px 0;
		margin-left: 0px;
		margin-right: 5px;
		width: 30%;
	}
	.booking-item .tour-select select {
		padding: 0;
	}
	#customer-fields, #cardholder-fields {
		padding: 4px;
	}
	.booking #booking-outer {
		padding-top: 0px;
	}
	#booking-outer .inner-wrapper {
		padding: 8px;
	}
	#booking-city-outer {
		float: none;
		width: auto;
	}
	#booking-postcode-outer {
		float: none;
		width: auto;
		padding-top: 16px;
	}
	.booking-item .name {
		font-size: 15px;
		line-height: 15px;
		padding: 0 7px;
	}
	.booking .details_container .image {
		width: 102px;
	}
	#main-inner-container {
		margin: 0;
	}
	.booking-item .select-outer {
		display: flex;
		width: 100%;
	}
	
	/* Promo Code Box in Checkout */
	.promo_code_holder #promo_code_inner {
		text-align: right;
	}
	.promo_code_holder #promo_code_input {
		width: calc(60% - 130px);
		min-width: 235px;
		text-align: right;
	}
	.promo_code_holder #promo_code_input, .promo_code_holder #promo_code_button_holder .ap_input {
		height: 35px;
	}
	.promo_code_holder #promo_code_button_holder {
		width: 120px;
		margin-left: 10px;
	}
	.promo_code_holder #promo_code_button_holder .ap_input {
		font-size: 15px;
		line-height: 15px;
	}
	/* -------------------------- */
	
	#payment-review-inner .ap_checkbox_label {
		font-size: 14px;
		line-height: 16px;
	}
	
	/* BOOKING AND CHECKOUT HEADER AND FOOTER STYLING */
	.booking #header .inner-wrapper {
		width: auto;
		padding: 0 24px;
	}
	.booking #header #do-dublin-logo {
		margin: 26px 0px 0px 0px;
	}
	body.page-concert-express #header #do-dublin-logo {
		margin: 12px 0px 0px 0px;
	}
	.booking #header #checkout {
		font-size: 28px;
		line-height: 41px;
		margin: 28px 0px 0px 30px;
		margin: 28px 0px 0px 20px;
	}
	.booking #header #booking-header-text {
		margin: 36px 0px 0px 0px;
	}
	.booking #header #booking-header-text-content {
		font-size: 10px;
		line-height: 11px;
		top: 2px;
	}
	.booking #footer .booking_footer_inner.inner-wrapper .top {
		padding: 0px;
		justify-content: center;
		width: 100%;
	}
	.booking #footer .booking_footer_inner.inner-wrapper .top, .booking #footer #logo-right {
		float: none;
	}
	.booking #footer #logo-right {
		padding-top: 55px;
	}
	#footer .left-inner .copyright-container {
		margin-top: 15px;
	}
	.booking #footer .left-inner .copyright-container {
		margin-top: 55px;
	}
	.booking #footer #logo-left, .booking #footer #copyright {
		display: block;
		margin: 0 auto;
	}
	.booking #footer #logo-left {
		margin-bottom: 10px;
	}
	/* ------------------------------------ */
	
	#customer-fields, #cardholder-fields {
		padding: 9px 15px;
	}
	#cardholder-fields .ap_input_label.select_input_label.ap_label, #cardholder-fields .ap_input_label.text_input_label.ap_label, #customer-fields .ap_input_label.select_input_label.ap_label, #customer-fields .ap_input_label.text_input_label.ap_label {
		width: 30%!important;
	}
	#cardholder-fields .ap_input.text_input, #cardholder-fields .ap_input.select_input, #customer-fields .ap_input.text_input, #customer-fields .ap_input.select_input {
		width: 70%!important;
	}
	#cardholder-fields #booking-city-outer label, #customer-fields #booking-city-outer label, #customer-fields #booking-postcode-outer .ap_input_label.text_input_label.ap_label {
		width: 30%!important;
	}
	#cardholder-fields #booking-city-outer input, #customer-fields #booking-city-outer input, #cardholder-fields #booking-postcode-outer input, #customer-fields #booking-postcode-outer input {
		width: 70%!important;
	}
	.mobile_prefix_title {
		padding-left: 30%;
	}
	.mobile_prefix_holder {
		width: 45%!important;
	}
	.mobile_holder {
		width: 55%!important;
	}
	#customer-fields .mobile_prefix_holder .ap_input_label.text_input_label.ap_label {
		width: 67%!important;
	}
	#customer-fields .mobile_prefix_holder .ap_input.text_input {
		width: 30%!important;
	}
	
	.extra_options_group .ap_group .field_holder .ap_help {
		display: inline-block;
		width: auto!important;
	}
}

@media screen and (max-width: 650px) {
	.booking #header #booking-header-text-content strong {
		display: block;
	}
	.booking #header #booking-header-text-content {
		position: unset;
	}
	
	/* #cardholder-fields .ap_input_label.select_input_label.ap_label, #cardholder-fields .ap_input_label.text_input_label.ap_label, #customer-fields .ap_input_label.select_input_label.ap_label, #customer-fields .ap_input_label.text_input_label.ap_label {
		float: none!important;
		display: block;
	}
	#cardholder-fields .ap_input.text_input, #cardholder-fields .ap_input.select_input, #customer-fields .ap_input.text_input, #customer-fiel, #customer-fields #booking-city-outer input, #customer-fields #booking-postcode-outer input, #customer-fields .ap_input.select_input {
		width: 100%!important;
	}
	#customer-fields .ap_input.text_input#booking_customer_mobile_code {
		width: 47%!important;
		float: right!important;
	}
	.mobile_holder {
		width: 61%!important;
	}
	#customer-fields .ap_input_label.text_input_label.ap_label, #customer-fields .ap_input.text_input#booking_customer_mobile_code {
		display: inline-block;
	}
	.mobile_prefix_holder label {
		width: 52%!important;
	}
	.mobile_prefix_holder {
		width: 39%!important;
	} */
}

@media screen and (max-width: 615px) {
	.mobile_prefix_holder {
		width: 45% !important;
	}
	.mobile_prefix_holder label {
		width: 61% !important;
	}
	#booking_customer_mobile_code, #customer-fields .mobile_prefix_holder .ap_input.text_input {
		width: 30% !important;
	}
	.mobile_holder {
		width: 55% !important;
	}
}

/* For Airlink Checkout Page Only */
@media screen and (max-width: 530px) {
	.page-airlink #header .inner-wrapper {
		padding: 0 5px;
	}
	.page-airlink #header #do-dublin-logo img {
		display: none;
	}
	.page-airlink #header #do-dublin-logo {
		background-image: var(--brand-icon);
		background-size: contain;
		background-repeat: no-repeat;
		height: 29px;
		width: 29px;
	}
	.page-airlink #header #checkout {
		margin: 20px 0px 0px 8px;
		position: relative;
		left: 0px;
	}
	.page-airlink #header #booking-header-text {
		margin-top: 29px;
	}
}

@media screen and (max-width: 500px) {
	.booking #header .inner-wrapper {
		padding: 0 10px;
	}
	#do-dublin-logo img, #do-ireland-logo img {
		display: none;
	}
	#do-dublin-logo, .booking #header #do-dublin-logo {
		background-image: url(/images/dodublin-icon-40.png);
		background-image: var(--brand-icon);
		background-size: contain;
		background-repeat: no-repeat;
		height: 29px;
		width: 29px;
	}
	body.page-concert-express #header #do-dublin-logo {
		margin: 26px 0px 0px 0px;
	}
	.booking #header #checkout, .booking #header #airlink-checkout {
		margin: 20px 0px 0px 8px;
	}
	.booking #header #booking-header-text {
		width: auto;
		margin: 29px 0px 0px 0px;
	}
	
	.booking-item.tour-concert-express .select-outer {
		display: inline-block;
	}
	.booking-item.tour-concert-express .departure-date-select, .booking-item.tour-concert-express .departure-time-select {
		width: 100%;
	}
	.booking-item.tour-concert-express .departure-time-select {
		width: 97%;
		margin: 0px 0px 0px 7px;
	}
	
	/* Promo Code Box in Checkout */
	.promo_code_holder #promo_code_input {
		width: calc(100% - 130px);
		width: calc(100% - 90px);
		min-width: unset;
	}
	.promo_code_holder #promo_code_button_holder {
		width: 80px;
	}
	/* -------------------------- */
	
	#payment-review-inner .ap_checkbox_label {
		font-size: 15px;
		line-height: 17px;
	}
	
	.modify_details_inner .travellers-container {
		grid-template-columns: repeat(2, 1fr)!important;
	}
	[data-tooltip]:before, .help_icon span {
		left: -70%;
		transform: translate(-50%, 0);
		width: 112px;
		padding: 10px 5px;
	}
	
	#cardholder-fields .ap_input_label.select_input_label.ap_label, #cardholder-fields .ap_input_label.text_input_label.ap_label, #customer-fields .ap_input_label.select_input_label.ap_label, #customer-fields .ap_input_label.text_input_label.ap_label, #cardholder-fields .ap_input.text_input, #cardholder-fields .ap_input.select_input, #customer-fields .ap_input.text_input, #customer-fields .ap_input.select_input {
		width: 100%!important;
		float: none!important;
		display: block;
		padding: 2px 2px 8px 0;
		line-height: 21px;
	}
	#cardholder-fields .ap_input.text_input, #cardholder-fields .ap_input.select_input, #customer-fields .ap_input.text_input, #customer-fields .ap_input.select_input {
		padding: 4px;
	}
	#cardholder-fields #booking-city-outer label, #customer-fields #booking-city-outer label, #customer-fields #booking-postcode-outer .ap_input_label.text_input_label.ap_label {
		width: 100%!important;
	}
	#cardholder-fields #booking-city-outer input, #customer-fields #booking-city-outer input, #cardholder-fields #booking-postcode-outer input, #customer-fields #booking-postcode-outer input {
		width: 100%!important;
	}
	#customer-fields .mobile_prefix_holder .ap_input_label.text_input_label.ap_label {
		display: none;
	}
	#customer-fields .ap_input_label.text_input_label.ap_label.top {
		display: block;
	}
	.mobile_prefix_title {
		padding-left: 0%;
	}
	.mobile_prefix_holder {
		width: 22%!important;
		padding-right: 8px;
	}
	.mobile_holder {
		width: 75%!important;
	}
	#customer-fields .mobile_prefix_holder .ap_input.text_input {
		width: 95%!important;
	}
	
	.mobile_prefix_holder label {
		width: 47% !important;
	}
	#booking_customer_mobile_code {
		width: 53% !important;
	}
	
	.booking_footer_inner.inner-wrapper span {
		display: block;
		margin-left: 10px;
	}
	.booking #footer .booking_footer_inner.inner-wrapper .top, .booking #footer #logo-left, .booking #footer #copyright {
		display: block;
		float: none;
		margin: 0 auto;
	}
	.booking #footer #copyright {
		margin-top: 10px;
	}
}

@media screen and (max-width: 375px) {
	.booking #header #booking-header-text {
		float: none;
		clear: left;
	}
}