/*
 * Web Fonts from fontspring.com
 *
 * All OpenType features and all extended glyphs have been removed.
 * Fully installable fonts can be purchased at http://www.fontspring.com
 *
 * The fonts included in this stylesheet are subject to the End User License you purchased
 * from Fontspring. The fonts are protected under domestic and international trademark and
 * copyright law. You are prohibited from modifying, reverse engineering, duplicating, or
 * distributing this font software.
 *
 * (c) 2010-2016 Fontspring
 *
 * The fonts included are copyrighted by the vendor listed below.
 *
 * Vendor:	  Mark Simonson Studio
 * License URL: https://www.fontspring.com/licenses/mark-simonson-studio/webfont
 *
 * Vendor:	  exljbris Font Foundry
 * License URL: https://www.fontspring.com/licenses/exljbris/webfont
 */

@font-face {
	font-family: 'museo_slab';
	src: url('/library/fonts/museo-slab-900-webfont.eot');
	src: url('/library/fonts/museo-slab-900-webfont.eot?#iefix') format('embedded-opentype'),
	url('/library/fonts/museo-slab-900-webfont.woff2') format('woff2'),
	url('/library/fonts/museo-slab-900-webfont.woff') format('woff'),
	url('/library/fonts/museo-slab-900-webfont.ttf') format('truetype'),
	url('/library/fonts/museo-slab-900-webfont.svg#museo_slab') format('svg');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'proxima_nova';
	src: url('/library/fonts/proximanova-semibold-webfont.eot');
	src: url('/library/fonts/proximanova-semibold-webfont.eot?#iefix') format('embedded-opentype'),
	url('/library/fonts/proximanova-semibold-webfont.woff2') format('woff2'),
	url('/library/fonts/proximanova-semibold-webfont.woff') format('woff'),
	url('/library/fonts/proximanova-semibold-webfont.ttf') format('truetype'),
	url('/library/fonts/proximanova-semibold-webfont.svg#proxima_nova') format('svg');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'proxima_nova';
	src: url('/library/fonts/proximanova-black-webfont.eot');
	src: url('/library/fonts/proximanova-black-webfont.eot?#iefix') format('embedded-opentype'),
	url('/library/fonts/proximanova-black-webfont.woff2') format('woff2'),
	url('/library/fonts/proximanova-black-webfont.woff') format('woff'),
	url('/library/fonts/proximanova-black-webfont.ttf') format('truetype'),
	url('/library/fonts/proximanova-black-webfont.svg#proxima_nova') format('svg');
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: 'proxima_nova';
	src: url('/library/fonts/proximanova-regular-webfont.eot');
	src: url('/library/fonts/proximanova-regular-webfont.eot?#iefix') format('embedded-opentype'),
	url('/library/fonts/proximanova-regular-webfont.woff2') format('woff2'),
	url('/library/fonts/proximanova-regular-webfont.woff') format('woff'),
	url('/library/fonts/proximanova-regular-webfont.ttf') format('truetype'),
	url('/library/fonts/proximanova-regular-webfont.svg#proxima_nova') format('svg');
	font-weight: normal;
	font-style: normal;
}

html,
body {
	margin: 0px;
	padding: 0px;
	color: #333333;
	background-color: #171717;
	font-family: proxima_nova, sans-serif;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

img {
	border: 0px;
}

.img {
	max-width: 100%;
	height: auto !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
form,
p {
	margin: 0px;
}

a {
	color: #2659D2;
	text-decoration: underline;
}

a:hover {
	text-decoration: none;
}

legend,
fieldset {
	border: 0;
	padding: 0;
	margin: 0;
}

.outer-wrapper {
	text-align: center;
	width: 100%;
}

.inner-wrapper {
	margin: auto;
	text-align: left;
	width: 960px;
}

.clear {
	clear: both;
}

.c_table {
	max-width: 100% !important;
	width: 100%;
	border-collapse: collapse;
}
#footer-inner {
	min-height: 368px;
}
#footer-first-outer .footer-inner {
	background-color: #000;
	color: #fff;
	height: 140px;
	box-sizing: border-box;
	padding: 40px 46px 30px 35px;
	border-radius: 10px;
	margin: 0px 0px 67px 0px;
}
#footer-first-outer .footer-inner select, .signup-page select {
	border: none;
	border-bottom: 1px solid #fff;
}
#footer-first-outer .signup-terms, .signup-page .signup-terms {
	float: right;
	color: #7f7f7f;
	margin-top: 5px;
	margin-right: 25px;
	font-size: 12px;
	line-height: 16px;
}
.signup-page .signup-terms {
	margin-right: 2px;
}
#footer-first-outer .signup-terms a, .signup-page .signup-terms a {
	color: #7f7f7f;
}

#footer-first-outer>.inner-wrapper {
	clear: both;
}


/* Core */

#office-view-map {
	position: absolute;
	right: -5px;
	bottom: 0;
	color: #00AE3B;
	font-size: 11px;
}

#office-view-map span {
	padding: 0;
	color: #00AE3B;
	font-size: 11px;
	padding-bottom: 10px;
	cursor: pointer;
}

#booking-office-address {
	font-weight: normal;
	font-size: 16px;
	text-transform: none;
	padding: 12px 0;
}

#office-opening-hours {
	position: relative;
	font-size: 13px;
	font-weight: normal;
	text-transform: none;
	padding-right: 85px;
}

#office-opening-hours strong {
	text-transform: uppercase;
}

#footer-first-outer, footer {
	background-color: #171717;
}

#newsletter-signup,
.newsletter-signup {
	margin-top: 10px;
}

.page-newsletter-signup .newsletter-signup {
	background: #1F1F1F;
	color: #fff;
	padding: 16px;
}

#footer-inner h2,
#footer-inner h3,
#footer-inner h4,
#footer-inner h5,
#footer-inner h6, #footer-inner a {
	color: #fff;
	font-size: 14px;
	line-height: 23px;
	font-weight: 500;
}

#footer-inner a {
	font-weight: 400;
}

#footer-inner a:hover {
	color: #D3D3D3;
}

#footer-col-wrapper {
	position: relative;
	color: #D3D3D3;
}

#footer-copyright {
	width: 100%;
	font-size: 12px;
	color: #fff;
	float: left;
	margin-top: -55px;
	font-weight: normal;
}

#footer .left-inner {
	float: left;
}
#footer .left-inner .copyright-container {
	margin-top: 18px;
}
#footer .left-inner .copyright-container img {
	margin-right: 10px;
	margin-bottom: -3px;
}

#footer .left-inner .payment-methods img {
	margin: 0px 12px 0px 0px;
	margin: 0px 9px 0px 0px;
	max-width: 59px;
	max-height: 32px;
}
#footer .left-inner .payment-methods img:last-of-type {
	margin: 0;
}

#footer-inner p img {
	vertical-align: middle;
}

#footer-inner {
	line-height: 14px;
}

#footer-inner p {
	padding: 5px 0;
}

.footer-col {
	width: 20%;
	float: left;
}
.footer-col .partner-login {
	margin-top: 33px;
}
.footer-col .partner-login a:after {
	content: "";
	width: 12px;
	height: 14px;
	background-image: url('/images/user-icon.png');
	background-size: 12px 14px;
	background-repeat: no-repeat;
	position: static;
	display: inline-block;
	margin-left: 4px;
}
.footer-col .partner-login a:hover:after, #footer-inner a:hover img {
	opacity: 70%;
}
.footer-col:nth-of-type(5) a {
	text-decoration: none;
}
.footer-col:nth-of-type(5) a:hover {
	text-decoration: underline;
}
.footer-col:nth-of-type(5) img {
	width: 28px;
	height: 28px;
	margin-right: 5px;
}

#failte-ireland-footer-logo, #do-dublin-footer-logo, #do-ireland-footer-logo {
	float: right;
	width: 184px;
	height: 47px;
	background: url('/images/footer-logo.png');
	background-size: 100%;
	background-repeat: no-repeat;
	margin-top: -18px;
	margin-top: 0px;
}

#do-ireland-footer-logo {
	background: url('/images/doireland-logo.png');
	background-repeat: no-repeat;
}

#failte-ireland-footer-logo {
	width: 118px;
	height: 66px;
	background: url('/images/failte-ireland-footer-logo.svg');
	background-repeat: no-repeat;
	margin-top: -25px;
	margin-top: -7px;
	margin-right: 36px;
}

footer,
#footer {
	font-weight: 500;
	font-size: 14px;
}

.error-container {
	border: 2px solid #B30000;
	padding: 15px 23px;
	color: #B30000;
	background: url(/images/basket-error.png) no-repeat 23px 15px;
	margin-bottom: 10px;
	padding-left: 87px;
	line-height: 1.2em;
}

.error-heading {
	font-weight: 500;
	font-size: 20px;
	line-height: 1.2em;
}

.ap_errors,
.ap_messages {
	background: #AB0407;
	color: #fff;
	padding: 26px 23px;
	font-size: 16px;
	margin-top: 10px;
	margin-right: -25px;
	margin-left: -25px;
	line-height: 1.2em;
}

.ap_messages {
	background: #008939;
	color: #fff;
}

.ap_errors ul,
.ap_messages ul {
	margin: 8px;
	padding-left: 18px;
}

footer {
	/* background: url('/images/footer-bg.png') no-repeat 100% 62px;
	background: inherit; */
	padding-bottom: 50px;
}

.footer-col-inner {
	padding-left: 15px;
	padding-right: 15px;
}


#mini-voucher-field {
	background: #F3F3F3;
	margin-top: 1px;
	padding: 5px 12px;
	margin-left: -20px;
	margin-right: -20px;
	font-size: 14px;
}

#code-text {
	float: left;
	width: 26%;
	text-align: right;
}

#code-field {
	float: left;
	width: 53%;
	font-weight: bold;
}

.item-price span {
	color: rgb(170, 170, 170);
	text-decoration: line-through;
	margin-right: 6px;
}

.item-qty-field {
	width: 25px;
}


.valign-center {
	height: 100%;
	vertical-align: middle;
	display: inline-block;
	*display: none;
}

.valign {
	vertical-align: middle;
	display: inline-block;
}


#breadcrumbs {
	padding: 32px 95px;
}

#main-outer {
	clear: both;
}

.nl-lead-inner {
	font-size: 20px;
	color: #fff;
	letter-spacing: -0.03em;
	font-weight: 500;
}

.nl-lead {
	width: 200px;
	float: left;
	clear: both;
	padding-right: 8px;
	box-sizing: border-box;
}

.nl-fields-text {
	padding: 8px 0;
	font-size: 20px;
	line-height: 22px;
}

.nl-fields {
	float: left;
	font-weight: bold;
	font-size: 20px;
	line-height: 22px;
	padding: 4px 0px;
}
.signup-page .nl-fields {
	padding: 0;
}

.nl-field {
	float: left;
}

.nl-field-name, .nl-field-email, .nl-field-location {
	width: 230px;
	margin-right: 10px;
}
.signup-page .nl-field-name, .signup-page .nl-field-email, .signup-page .nl-field-location, .signup-page .nl-submit {
	width: 100%;
	margin: 5px auto;
}
.signup-page .nl-submit {
	margin-top: 0;
}
.signup-page .nl-submit input[type="submit"] {
	background-position: 57% 50%;
}

.nl-field-outer {
	background: #FFFFFF;
	padding: 8px 5px 8px 0px;
	height: 42px;
	box-sizing: border-box;
}

.nl-field-inner {
	padding: 2px 10px;
	position: relative;
	overflow: hidden;
}
.signup-page .nl-field-inner {
	height: 100%;
}
.placeholder-ele, #newsletter-signup select, .signup-page select {
	font-size: 16px;
	line-height: 1.2em;
	display: block;
}

.nl-field-inner .placeholder-ele, #newsletter-signup select, .signup-page select {
	font-weight: 500;
	color: #333333;
}

#newsletter-signup select, .signup-page select {
	margin-left: -3px;
}

.placeholder-ele {
	position: absolute;
	z-index: 0;
	font-weight: normal;
}

.nl-field input[type=text] {
	width: 100%;
	display: block;
	box-sizing: border-box;
	background: transparent;
	border: 0;
	font-size: 16px;
	color: #333333;
	font-family: museo_slab, serif;
	line-height: 1.2em;
}

.nl-submit-button-outer {
	padding: 5px 0px 0px 0px;
}

.nl-submit input[type="submit"] {
	border: 0;
	background: #444444;
	background-image: url('/images/white-arrow-5-9.png');
	background-repeat: no-repeat;
	background-position: 95px 50%;
	color: #fff;
	font-size: 12px;
	line-height: 0.85em;
	width: 100%;
	height: 40px;
	text-align: center;
	box-sizing: border-box;
	padding: 12px 0px;
	white-space: normal;
	text-transform: uppercase;
	font-weight: bold;
	border-radius: 4px;
	letter-spacing: 0.16em;
	transition: all .4s ease-in-out;
}
.nl-submit input[type="submit"]:hover {
	cursor: pointer;
	background-color: #008939;
}

.nl-submit {
	width: 115px;
	float: left;
}

input,
select,
textarea {
	font-family: proxima_nova;
}

#search-input::-webkit-input-placeholder {
	/* Edge */
	color: #DDDDDD;
}

#search-input::-ms-input-placeholder {
	/* Internet Explorer 10-11 */
	color: #DDDDDD;
}

#search-input::placeholder {
	color: #DDDDDD;
}

#breadcrumbs a {
	color: #fff;
	text-decoration: none;
}


/* Home */
.slider-text {
	position: absolute;
	bottom: 39px;
	left: 96px;
	font-family: museo_slab;
	font-size: 62px;
	letter-spacing: -0.03em;
	line-height: 1em;
	color: #fff;
	width: 583px;
}

.slider-text h1 {
	font-size: 62px !important;
}

.slider-button:hover {
	background-color: #000;
}

.slider-button {
	position: absolute;
	background: no-repeat rgba(0, 0, 0, 0.85) 50% 50%;
	top: 50%;
	margin-top: -34px;
	width: 68px;
	height: 68px;
	cursor: pointer;
	z-index: 100;
}

.slider-right {
	background-image: url('/images/slider-right.png');
	left: auto;
	right: 0;
}

.slider-left {
	left: 0;
	background-image: url('/images/slider-left.png');
}

.brand .inner img {
	width: 100%;
}

.brand .inner {
	background: #1C1C1C;
	color: #fff;
	padding-top: 3.5vw;
	margin-right: 1.2vw;
	padding-bottom: 4vw;
}

.brand {
	float: left;
	width: 33.3333%;
}


/* Main */

.fullsize-bg-outer {
	background-position: 50% 0;
	background-attachment: fixed;
	background-size: cover
}

.bg-tint {
	background: rgba(0, 0, 0, 0.5);
}

.inner-wrapper.main-content-inner {
	width: 950px;
	padding: 190px 0;
}

.main-content-spacing {
	padding-right: 230px;
	background: rgba(0, 0, 0, 0.4);
}

.main-content {
	background: #fff;
	padding: 45px 42px 59px;
	font-size: 17px;
	line-height: 1.6em;
}

.main-content .img {
	height: auto !important;
	max-width: 100%;
}

.main-content p,
.main-content-left p {
	padding: 8px 0;
}

.main-content .h,
.main-content-footer .h,
.main-content h2,
.main-content h5,
.main-content h6,
.main-content-footer h2,
.main-content-footer h3,
.main-content-footer h4,
.main-content-footer h5,
.main-content-footer h6,
.main-content-left .h,
.main-content-left h2,
.main-content-left h5,
.main-content-left h6 {
	color: #00792e;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: 1.2em;
	padding-bottom: 11px;
	padding-top: 31px;
	font-family: museo_slab;
	font-weight: normal;
}

.tour-page h3,
.tour-page h4,
.main-content h3,
.main-content h4,
.main-content-left h3,
.main-content-left h4 {
	color: #333;
	font-size: 18px;
	line-height: 1.2em;
	padding-bottom: 11px;
	padding-top: 31px;
	font-family: museo_slab;
	font-weight: normal;
}

.tour-page h4,
.main-content h4,
.main-content-left h4 {
	font-size: 21px;
	font-weight: 500;
	font-family: proxima_nova, sans-serif;
}

.main-content-footer h2,
.main-content-footer h3,
.main-content-footer h4,
.main-content-footer h5,
.main-content-footer h6,
.main-content-footer .h {
	padding-top: 8px;
}

.main-content h1,
.main-content-left h1 {
	font-size: 60px;
	color: #00792e;
	line-height: 1em;
}

.brand-heading h1 {
	color: #00A33F;
}

/* This bg colour is applied to tour_category, team_member and gallery templates */
.tour-bg {
	background-color: #008939;
	background-color: var(--brand-light);
	transition: all .3s ease-in-out;
}

#footer-first-outer .hoho-banner {
	background-image: url('/images/hop-background-illustration.png');
	background-color: #008939;
	box-sizing: border-box;
	height: 180px;
	padding: 41px 0 39px 0;
	box-shadow: inset 0px 8px 10px 2px rgba(51, 51, 51, 0.5);
	-webkit-appearance: none;
	margin-bottom: 74px;
}
#footer-first-outer .hoho-banner a {
	color: #fff;
	text-decoration: none;
}
.hoho-banner-inner {
	display: inline-flex;
	-moz-box-shadow: 0px 0px 10px 2px rgba(51, 51, 51, 0.6);
	-webkit-box-shadow: 0px 0px 10px 2px rgba(51, 51, 51, 0.6);
	box-shadow: 0px 0px 10px 2px rgba(51, 51, 51, 0.6);
	-webkit-appearance: none;
}
.hoho-box {
	background: #008939;
	color: #fff;
	text-align: left;
	width: 25%;
	max-width: 285px;
	display: block;
	padding: 28px 60px 16px 26px;
	box-sizing: border-box;
	-moz-box-shadow: inset 5px 0px 5px 0px rgba(51, 51, 51, 0.5);
	-webkit-box-shadow: inset 5px 0px 5px 0px rgba(51, 51, 51, 0.5);
	box-shadow: inset 5px 0px 5px 0px rgba(51, 51, 51, 0.5);
	-webkit-appearance: none;
	position: relative;
	font-size: 20px;
	font-weight: 500;
	text-decoration: none;
	float: right;
	background-image: url('/images/2022/tick-white.png');
	background-size: 27px 20px;
	background-repeat: no-repeat;
	background-position: 240px center;
}
.hoho-banner-inner .hoho-box:nth-of-type(2) {
	padding: 28px 111px 16px 26px;
}
.hoho-banner-inner .hoho-box:first-of-type {
	text-transform: uppercase;
	background-color: #004325;
	padding: 33px 29px 29px 70px;
	background-image: url('/images/dodublin-icon-hq.png');
	background-position: 28px center;
	background-size: 37px 38px;
	font-size: 22px;
	line-height: 18px;
	font-weight: 800;
}
.hoho-banner-inner .hoho-box:nth-of-type(1), .hoho-banner-inner .hoho-box:nth-of-type(2) {
	box-shadow: none;
}

.emphasise {
	border: 2px solid #FF0000;
	padding: 5px;
	color: #B30000 !important;
	box-sizing: border-box;
}

.mobile_prefix_title {
	padding-left: 25%;
	width: 100%;
	box-sizing: border-box;
	float: left;
	display: block;
	font-size: 12px;
	padding-bottom: 3px;
}

#tour-outer {
	background: #fff;
	padding-top: 10px;
}

.pb100 {
	padding-bottom: 98px;
}

.font-semi-bold {
	font-weight: 500;
}

.tour-icon-outer {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 114px;
	top: 0;
}

.tour-icon {
	margin: 39px auto;
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: contain;
	width: 36px;
	height: 36px;
	background-image: var(--brand-icon);
}

.submit_button {
	background: #2F63CF;
	color: #fff;
	text-transform: uppercase;
	padding: 15px;
	font-size: 20px;
	letter-spacing: 0.12em;
	border: 0;
	font-weight: bold;
}

.form-section {
	font-size: 22px;
	line-height: 1.6em;
	color: #1F1F1F;
	background: #F6F6F6;
	padding: 14px 40px;
	margin-bottom: 20px;
}

.form-section .ap_checkbox_label:nth-child(odd) {
	clear: both;
}

.form-section .ap_checkbox_label {
	float: left;
	width: 50%!important;
	font-family: museo_slab;
	font-size: 14px;
	letter-spacing: 0.06em;
	color: #00792e;
	margin-bottom: 20px;
	line-height: 0.9em;
	text-transform: uppercase;
}

label.ap_checkbox_label input {
	float: left;
	margin-right: 6px;
}

.form-section .ap_input_label {
	display: block;
	font-family: museo_slab;
	font-size: 14px;
	letter-spacing: 0.06em;
	color: #00792e;
}

.form-section .ap_input.text_input,
.form-section .ap_input.password_input {
	width: 100% !important;
	border: 1px solid #666666;
	background: #fff;
	box-sizing: border-box;
	font-size: 15px;
	padding: 7px;
	margin-bottom: 15px;
}

.form-section .textarea_input {
	width: 100% !important;
	border: 1px solid #666666;
	background: #fff;
	box-sizing: border-box;
	font-size: 15px;
	padding: 7px;
	height: 64px;
}

.main-remove-spacing {
	margin-left: -40px;
	margin-right: -40px;
	padding-top: 20px;
}

.input_error.has_error {
	display: none;
}

.input_has_error .ap_input.text_input {
	border: 1px solid #AB0407;
}

.input_has_error .ap_input_label,
.input_has_error .ap_checkbox_label {
	color: #AB0407;
}

.illustration-bg {
	background-image: url('/images/default-faded-grey-background-ill.png');
}

#contact-details {
	float: left;
	width: 50%;
}

#contact-details p {
	padding: 0;
}

#contact-map {
	float: left;
	width: 50%;
	padding-top: 32px;
}

#contact-details strong {
	font-weight: 500;
}

.ap_map>div {
	top: 0;
}

#enquiry-contact,
#general-enquiry {
	float: left;
	width: 50%;
}

#enquiry-contact a,
#general-enquiry a {
	font-weight: 500;
}

.main-content-footer {
	background: #F6F6F6;
	padding: 30px 40px;
}


.table,
.table div {
	border: 1px solid #333;
	margin: 1px;
}

.intro-text {
	font-size: 16px;
	color: #333333;
	line-height: 20px;
}

.small-text b,
.small-text strong {
	font-weight: 500;
}

.small-text {
	font-size: 12px;
	line-height: 14px;
	margin-bottom: 12px;
	color: #5C5C5C;
}

.noselect {
	-webkit-touch-callout: none;
	/* iOS Safari */
	-webkit-user-select: none;
	/* Chrome/Safari/Opera */
	-khtml-user-select: none;
	/* Konqueror */
	-moz-user-select: none;
	/* Firefox */
	-ms-user-select: none;
	/* Internet Explorer/Edge */
	user-select: none;
	/* Non-prefixed version, currently
								  not supported by any browser */
}

@media screen and (max-width:978px) {
	/* #main-inner-wrapper {
		margin-right: 0;
		float: none;
		width: auto;
	}
	#main-inner-container {
		margin: 0;
	}
	#booking-information {
		float: none;
		width: auto;
		text-align: center;
	}
	#booking-details {
		margin-left: 0;
	}
	#booking-details-inner {
		float: none;
		width: auto;
	} */
}

.help_icon {
	position: relative;
	margin-left: 10px;
	margin-left: 0;
	display: inline-block;
	background-color: #CCCCCC;
	cursor: help;
	border-radius: 100%;
	width: 14px;
	height: 14px;
	text-align: center;
	font-size: 12px;
	font-weight: 500;
	line-height: 14px;
	color: #333333;
	vertical-align: text-top;
}

/* Core styling to be included in ap files (functionality and basic styling) */
[data-tooltip],
.help_icon {
	position: relative;
	cursor: help;
	overflow: hidden;
	overflow: visible;
}
[data-tooltip]:before,
.help_icon span {
	position: absolute;
	top: 130%;
	left: 50%;
	margin-bottom: 5px;
	transform: translate(-50%, 0);
	padding: 10px 20px;
	width: 200px;
	box-sizing: border-box;
	max-width: 50vw;
	min-width: 100px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	background-color: white;
	color: black;
	content: attr(data-tooltip);
	text-align: center;
	font-size: 12px;
	line-height: 1.2;
	z-index: 10;
	box-shadow: 0px 0px 7px 3px rgb(173, 173, 173);
}

[data-tooltip]:hover,
.help_icon:hover {
	background-color: #4D4D4D;
	color: white;
}

[data-tooltip]:after,
.help_icon:after { /* Triangle hack to make tooltip look like a speech bubble */
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	width: 0;
	border-bottom: 5px solid #000;
	border-bottom: 5px solid white;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	content: " ";
	font-size: 0;
	line-height: 0;
	z-index: 11;
}

[data-tooltip]:before,
[data-tooltip]:after,
.help_icon span,
.help_icon:after {
	cursor: help;
	visibility: hidden;
	opacity: 0;
}
[data-tooltip]:hover:before, /* Hover to show tooltip */
[data-tooltip]:hover:after,
.help_icon:hover span,
.help_icon:hover:after {
  visibility: visible;
  opacity: 1;
}
/* JS classes to prevent window overflow - align to left or right depending on proximity to an edge */
/* If no javascript enabled, tooltip still shows center aligned, but can potentially overflow screen if near an edge */
[data-tooltip].tooltip-align-left:before,
.help_icon.tooltip-align-left span {
	left: 0;
	right: auto;
	transform: none;
}
[data-tooltip].tooltip-align-right:before,
.help_icon.tooltip-align-right span {
	left: auto;
	right: 0;
	transform: none;
}

.input-changer {
	font-size: 18px;
	cursor: pointer;
	position: absolute;
	left: 0;
	top: 11px;
	height: 14px;
	width: 14px;
	font-weight: bold;
	text-align: center;
	margin-top: 3px;
	line-height: 6px;
	border: 2px solid #008939;
	border: 2px solid var(--brand-light);
	color: #008939;
	color: var(--brand-light);
	border-radius: 20%;
	font-size: 17px;
	box-sizing: border-box;
	text-indent: -1px;
}
.booking-item .input-changer {
	top: 4px;
}
.quantity-select .input-changer:first-of-type:before, .input-changer:nth-of-type(2):after {
	display: block;
	width: 11px;
	height: 10px;
}
.quantity-select .input-changer:first-of-type:before {
	content: "-";
	font-size: 19px;
	width: 10.5px;
}
.quantity-select .input-changer:nth-of-type(2):after {
	content: "+";
	font-size: 16px;
}
.quantity-select {
	position: relative;
	width: 60px;
	box-sizing: border-box;
	padding: 0 16px;
	margin-left: 4px;
}
.passenger-select {
	text-align: right;
	width: 100%;
	font-size: 14px;
	line-height: 45px;
	max-height: 45px;
}
.booking-item .passenger-select {
	line-height: 16px;
}
.ticket_qty {
	width: 100%;
	padding: 1px 0;
	display: inline-block;
	box-sizing: border-box;
	font-size: 20px;
	font-weight: 500;
	border: 2px solid transparent;
	background: transparent;
	text-align: center;
	margin-top: -1px;
	-moz-appearance: textfield;
	-webkit-appearance: textfield;
}

.ticket_qty:hover, .ticket_qty:active, .ticket_qty:focus {
	border-color: #EEEEEE;
	background-color: #FFFFFF;
	border-radius: 20%;
}

.ticket_qty::-webkit-inner-spin-button,
.ticket_qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* ------------------------------------ */

#ap_popup {
	max-width: 1140px;
	font-size: 17px;
	color: #fff;
	line-height: 1.2em;
	text-align: center;
	background-color: #fff;
	width: 640px;
	height: 884px;
	padding: 0px;
}

.ap_popup_inner {
	overflow: hidden;
	height: 800px;
	max-height: 100%;
}
.ap_popup_inner iframe {
	max-width: 100%;
	height: 100%;
}
#booking .ap_popup_inner {
	overflow-y: auto;
}


/* Faded Out Background */

#fade_bg {
	position: absolute;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #333;
	z-index: 300;
	opacity: 0;
	transition: opacity 1s ease-in-out;
	-moz-transition: opacity 1s ease-in-out;
	-webkit-transition: opacity 1s ease-in-out;
}

#fade_bg.fade_bg_open {
	opacity: 0.8;
}

#fade_bg.fade_bg_open:hover {
	opacity: 0.6;
}

.fade_bg_close {
	transition: opacity 0.7s ease-in-out !important;
	-moz-transition: opacity 0.7s ease-in-out !important;
	-webkit-transition: opacity 0.7s ease-in-out !important;
	opacity: 0.6;
}

#fade_bg.fade_bg_close:hover {
	opacity: 0 !important;
}

.faded_bg {
	margin-right: 20px;
}

.faded_bg body {
	height: 100%;
	overflow-y: hidden;
}

.ap_popup_holder {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 350;
}

.ap_popup_box {
	position: absolute;
	margin: auto;
	display: none;
	box-sizing: border-box;
	padding: 10px;
	background: #fefefe;
	z-index: 350;
	text-align: left;
	opacity: 0;
	max-width: 1000px;
	transition: opacity 1s ease-in-out, width 1s ease-in-out, height 1s ease-in-out;
	-moz-transition: opacity 1s ease-in-out, width 1s ease-in-out, height 1s ease-in-out;
	-webkit-transition: opacity 1s ease-in-out, width 1s ease-in-out, height 1s ease-in-out;
}

.ap_popup_box_fixed {
	position: fixed;
}

.ap_popup_box_tall .ap_popup_inner {
	height: 100%;
	/* overflow-y: auto; */
}

.ap_popup_box .ap_close {
	display: none;
}

.ap_popup_box_tall .ap_popup_inner body.popup {
	overflow: hidden;
}

.fast-transition {
	transition: all 1s ease-in-out;
	-moz-transition: all 1s ease-in-out;
	-webkit-transition: all 1s ease-in-out;
}

.transition {
	transition: all 2s ease-in-out;
	-moz-transition: all 2s ease-in-out;
	-webkit-transition: all 2s ease-in-out;
}

.slow-transition {
	transition: all 3s ease-in;
	-moz-transition: all 3s ease-in;
	-webkit-transition: all 3s ease-in;
}

.add-to-basket-button, .pay_online {
	font-family: 'proxima_nova';
	color: #fff;
	font-size: 20px;
	line-height: 36px;
	line-height: 24px;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	text-align: center;
	text-decoration: underline;
	text-decoration-thickness: from-font;
	border: 0;
	border-radius: 5px;
	display: block;
	width: 100%;
	height: 56px;
	padding: 10px 0;
	margin-top: 10px;
	background-color: #004325;
	background-color: var(--brand-dark);
	box-shadow: 0px 5px 5px rgb(0 0 0 / 80%);
	transition: all .4s ease-in-out;
	cursor: pointer;
	box-sizing: border-box;
}
.add-to-basket-button {
	height: auto;
	min-height: 56px;
}
.pay_online {
	font-size: 22px;
	line-height: 36px;
}
.add-to-basket-button:after, .pay_online::after {
	content: "";
	display: inline-block;
	width: 33px;
	height: 24px;
	vertical-align: middle;
	background: url('/images/add-to-basket-icon-white.png') no-repeat transparent 85% 50%;
	background-size: 30px 26px;
}
.pay_online::after {
	background: url('/images/2022/pay-online-icon.png') no-repeat transparent 85% 50%;	
}
.pay_online_link::after {
	background: url('/images/checkout-send-email-icon.png') transparent no-repeat 98% 50%;
	background-size: 40px 24px;
	width: 40px;
	height: 24px;
}
.pay_online_noicon::after {
	display: none;
}

.price-type-row#free-children-offer, #booking-promotions .promotions-inner {
	background-color: rgba(38, 89, 210, 0.1);
	color: #2659D2;
}

.page-product_page .add-to-basket-button:hover, .pay_online:hover {
	background-color: #008939;
	background-color: var(--brand-light);
	text-decoration: none;
	box-shadow: none;
}

.tour-calendar .calendar_input {
	float: left;
	width: 80%;
	font-size: 14px;
	border: 0;
	padding: 5px 0 4px;
	text-indent: 5px;
}

.tour-calendar .calendar_input,
.tour-calendar input.calendar_input:not([readonly]):not([disabled]),
.tour-calendar input::placeholder {
	background-color: transparent;
	color: #fff;
	cursor: pointer;
}
.tour-calendar input.calendar_input[readonly]+.cds,
.tour-calendar input.calendar_input[disabled]+.cds {
	display: block;
}

.tour-calendar .calendar_input_holder {
	display: flex;
	flex-direction: row-reverse;
	justify-content: start;
}
.tour-calendar input.ap_input.calendar_input {
	margin-right: 0 !important;
	flex-grow: 1;
}
.tour-calendar .calendar_input_holder .cds {
	background-image: url('/images/2022/calendar-icon.png')!important;
	background-size: 23px 24px;
	background-position: 50% 48%!important;
	background-color: #008939;
	background-color: var(--brand-light);
	width: 35px;
	height: 25px;
	margin: 0;
	border: 0;
}
.tour-calendar #ap_calendar {
	font-size: 12px;
	margin-top: 4px;
	border: 3px solid #008939;
	border: 3px solid var(--brand-light);
	z-index: 298;
	left: 50px!important;
}
#ap_calendar .day {
	background: #B2DBC4;
	color: #00883D;
}
#ap_calendar .month em.disabled_day {
	background: #bfbfbf;
	color: #666;
}
#ap_calendar .month em.special-offer {
	background: #993399;
	color: #FFDAFF;
}
#ap_calendar .month em.day:hover {
	background: #fff;
	border: 1px solid #194AC5;
	color: #194AC5;
}
.tour-calendar #ap_calendar .month em.selected_day {
	background: #194AC5!important;
	color: #fff!important;
	font-weight: bold;
}

.buy-first-select {
	padding: 0px;
	color: #333333;
	position: relative;
	margin-bottom: 2px;
	float: left;
	width: 66.6666%;
}
.buy-second-select {
	color: #333333;
	position: relative;
	margin-bottom: 2px;
	float: right;
	width: 33.3333%;
}


/* For 1280+ */

@media screen and (min-width:1168px) {
	.inner-wrapper {
		width: 1140px;
	}
	#footer-inner {
		min-height: 368px;
	}
	#do-dublin-footer-logo, #do-ireland-footer-logo {
		right: 95px;
	}
}


/* Less 1336 - Should only be used for a footer BG position fix */

@media screen and (max-width:1320px) {
	#footer-inner {
		margin-right: 0;
		background: none;
		padding-right: 0;
	}
}

@media (min-resolution:192dpi),
(-webkit-min-device-pixel-ratio:1.5),
(min--moz-device-pixel-ratio:1.5),
(-o-min-device-pixel-ratio:1.5/1),
(min-device-pixel-ratio:1.5),
(min-resolution:1.5dppx) {
	body:not(.page-ghostbus):not(.page-airlink) #do-dublin-logo {
		/* background-image: url('/images/dodublin-logo-hq.png'); */
		background-size: cover;
		height: 35px;
		/* margin-top: 31px; */
	}
	.booking #do-dublin-logo {
		margin-top: 8px;
		margin-bottom: 9px;
	}
	#do-ireland-logo {
		background-image: url('/images/doireland-logo-hq.png');
		background-size: cover;
	}
	body:not(.page-ghostbus):not(.page-airlink) #do-dublin-logo img,
	body:not(.page-ghostbus):not(.page-airlink) #do-ireland-logo img {
		/* display: none; */
	}
	#do-dublin-footer-logo {
		background-image: url('/images/footer-logo-hq.png');
		background-size: 100%;
	}
	#do-ireland-footer-logo {
		background: url('/images/doireland-logo-hq.png');
		background-size: 100%;
	}
}


/* <1024  iPad portrait etc. */

@media screen and (max-width:978px) {
	#alert_bar_wrapper+* .slider-button {
		top: auto;
		bottom: 10%;
	}
	#top_nav_doireland li.level1 ,
	#top_nav li.level1 {
		display: none;
	}
	#top_nav_doireland li.level1:first-of-type,
	#top_nav li.level1:first-of-type,
	#top_nav_doireland li.level1.has_sub ,
	#top_nav li.level1.has_sub {
		display: block;
	}
	#footer {
		font-size: 12px;
		line-height: 1em;
	}
	#footer-inner h2,
	#footer-inner h3,
	#footer-inner h4,
	#footer-inner h5,
	#footer-inner h6 {
		font-size: 14px;
		line-height: 1.2em;
		padding-bottom: 2px;
	}
	.nl-fields-text {
		font-size: 14px;
		line-height: 1.2em;
	}
	#breadcrumbs {
		padding: 15px 25px;
	}
	#footer-inner {
		line-height: 1em;
	}
	
	.inner-wrapper.main-content-inner {
		width: 550px;
		padding: 145px 0 26px;
	}
	.main-content-spacing {
		padding-right: 0;
		padding-bottom: 174px;
	}
	.main-content {
		font-size: 14px;
		line-height: 20px;
	}
	.main-content h1 {
		padding-bottom: 16px;
		font-size: 39px;
	}
	#tour-outer {
		padding-bottom: 20px;
	}
	.form-section {
		margin-bottom: 10px;
		font-size: 14px;
		padding: 9px 40px 0;
	}
	.main-remove-spacing {
		padding-top: 3px;
		margin-left: -32px;
		margin-right: -32px
	}
	.form-section .ap_checkbox_label,
	.form-section .ap_input_label {
		font-size: 12px;
		line-height: 1em;
		padding-bottom: 4px;
		padding-top: 4px;
	}
	.form-section .ap_input.text_input {
		margin-bottom: 9px;
	}
	.form-section .ap_input.text_input {
		padding: 4px;
	}
}


/* Small tablets. This is a 20pixel fix, so that we only go to mobile at 720 and dont have scrollbars on small tablets */

@media screen and (max-width:740px) {
	.inner-wrapper {
		width: 700px;
	}
}

@media only screen and (max-width: 1167px) {
	.departure-time-select {
		width: 36%;
	}
	
	#footer-first-outer .hoho-banner {
		padding: 49px 0 51px 0;
		margin-bottom: 50px;
	}
	.hoho-box {
		padding: 23px 45px 20px 20px;
		font-size: 15px;
		background-position: 220px center;
	}
	.hoho-banner-inner .hoho-box:first-of-type {
		padding: 15px 50px 11px 64px;
		background-position: 20px center;
		font-size: 20px;
	}
	.hoho-banner-inner .hoho-box:nth-of-type(2) {
		padding: 23px 111px 20px 20px;
	}
	#footer-first-outer .footer-inner {
		padding: 45px 10px;
	}
	#footer-first-outer .signup-terms {
		margin-right: 10px;
	}
	.nl-lead {
		width: 190px;
	}
	.nl-field-name, .nl-field-email, .nl-field-location {
		width: 200px;
	}
}
@media only screen and (max-width: 1167px) {
	.hoho-box {
		background-position: 200px center;
	}
}
@media only screen and (max-width: 999px) {
	.inner-wrapper {
		width: 700px;
	}

	#main-outer {
		position: static;
	}
	#footer-first-outer .hoho-banner {
		margin-bottom: 64px;
	}
	#footer-first-outer .footer-inner {
		height: 100px;
		margin-left: auto;
		padding: 27px 20px 20px 20px;
		margin: 0px 0px 64px 0px;
	}
	#footer-first-outer .signup-terms {
		font-size: 11px;
		margin-right: 15px;
	}
	.signup-page .signup-terms {
		font-size: 11px;
	}
	
	#footer-first-outer .inner-wrapper {
		width: 736px;
	}
	
	.hoho-banner-inner .hoho-box {
		padding: 26px 34px 17px 11px;
		font-size: 13px;
		line-height: 14px;
		background-position: 142px center;
	}
	.hoho-banner-inner .hoho-box:first-of-type {
		padding: 21px 30px 21px 67px;
		font-size: 14px;
		line-height: 12px;
	}
	.hoho-banner-inner .hoho-box:nth-of-type(2) {
		padding: 26px 68px 17px 11px;
	}
	.nl-fields {
		padding: 4px;
	}
	.nl-lead {
		padding-right: 4px;
		width: 120px;
	}
	.nl-lead-inner {
		font-size: 13px;
		line-height: 14px;
		width: 120px;
		margin-top: 2px;
	}
	.signup-page .nl-fields {
		float: none;
	}
	.nl-field-name, .nl-field-email, .nl-field-location {
		width: 156px;
		margin: 0px 2px;
	}
	.nl-field-outer {
		height: 26px;
		padding: 4px 0;
	}
	.placeholder-ele,
	.nl-field input[type=text], #newsletter-signup select {
		font-size: 10px;
		line-height: 1.4em;
	}
	.nl-submit {
		width: 74px;
		padding: 4px 0;
	}
	.nl-submit input[type="submit"] {
		font-size: 10px;
		line-height: 12px;
		height: 26px;
		padding: 0 6px 0 0;
		background-position: 62px 50%;
		border-radius: 5px;
	}
	.signup-page .placeholder-ele, .signup-page select, .signup-page .nl-submit input[type="submit"] {
		font-size: 12px;
		line-height: 33px;
	}
	.signup-page .newsletter_signup_location_holder {
		padding-top: 8px;
	}
	.signup-page .nl-field-outer, .signup-page .nl-submit input[type="submit"] {
		height: 46px;
	}
	.nl-submit-button-outer {
		padding: 0px;
		margin-left: 4px;
	}
	#footer-copyright {
		height: 50px;
	}
	#footer-inner {
		min-height: 330px;
	}
	#footer-inner a {
		line-height: 18px;
	}
	#do-dublin-footer-logo, #do-ireland-footer-logo {
		width: 114px;
		height: 30px;
		margin-top: -10px;
	}
	#failte-ireland-footer-logo {
		width: 91px;
		height: 51px;
		margin-top: -15px;
		margin-right: 20px;
	}
	footer,
	#footer {
		font-weight: normal;
	}
}

/*----------------------------------------------------------------------*/

/* Mobile */

@media screen and (max-width:760px) {
	#footer-first-outer .inner-wrapper {
		width:700px;
	}
	#footer-first-outer .hoho-banner {
		padding: 44px 0;
		height: auto;
	}
	.hoho-banner-inner .hoho-box {
		padding: 20px 34px 17px 11px;
	}
	.hoho-banner-inner .hoho-box:first-of-type {
		padding: 16px 20px 16px 67px;
	}
	.hoho-banner-inner .hoho-box:nth-of-type(2) {
		padding: 20px 68px 17px 11px;
	}
	#footer-first-outer .footer-inner {
		padding: 27px 10px 20px 10px;
	}
	#footer-first-outer .signup-terms, .signup-page .signup-terms {
		margin-right: 5px;
	}
	.nl-fields {
		padding: 4px 2px;
	}
}
@media screen and (max-width:720px) {
	.inner-wrapper {
		width: auto;
	}
	.slider_0 {
		display: block;
	}
	.outer-wrapper {
		width: auto;
	}
	footer {
		background-image: none;
	}
	#footer-inner {
		line-height: 11px;
		margin-bottom: 100px;
	}
	#footer-inner h2,
	#footer-inner h3,
	#footer-inner h4,
	#footer-inner h5,
	#footer-inner h6 {
		padding-bottom: 1px;
	}
	.ap_messages,
	.ap_errors {
		margin: 0;
		font-size: 14px;
		padding: 8px;
	}
	
	#main-inner-wrapper {
		float: none;
		width: 100%;
		margin: 0;
	}
	
	#footer-first-outer .inner-wrapper {
		width: auto;
	}
	#footer-first-outer .hoho-banner {
		height: auto;
		background-size: cover;
		padding: 44px 0 57px 0;
		margin-bottom: 52px;
	}
	.hoho-banner-inner {
		display: block;
		box-shadow: none;
	}
	.hoho-banner-inner .hoho-box {
		width: 300px;
		max-width: unset;
		height: 75px;
		float: none;
		margin: 0 auto;
		background-position: 252px center;
		font-size: 16px;
		line-height: 18px;
	}
	.hoho-banner-inner .hoho-box:nth-of-type(1) {
		padding: 23px 65px 10px 54px;
		font-size: 17px;
		line-height: 15px;
		background-position: 20px center;
		background-size: 26px 27px;
	}
	.hoho-banner-inner .hoho-box, .hoho-banner-inner .hoho-box:nth-of-type(2) {
		box-shadow: inset 0px 4px 9px 0px rgb(51 51 51 / 30%);
		padding: 20px 120px 20px 20px;
	}
	.hoho-banner-inner .hoho-box:nth-of-type(2) {
		padding: 20px 165px 20px 20px;
	}
	#footer-copyright {
		height: 100px;
		height: auto;
		padding-top: 8px;
		margin-top: -68px;
		font-size: 10px;
		line-height: 1em;
		text-align: center;
		float: none;
	}
	#footer .left-inner {
		float: none;
	}
	#footer .left-inner .payment-methods img {
		margin: 0px 8px 0px 0px;
	}
	#footer .left-inner .copyright-container {
		margin: 40px 0 10px 0;
	}
	#footer-copyright img {
		float: none;
		max-width: 94px;
		height: auto !important;
	}
	#footer #footer-copyright .footer-logos {
		display: flex;
		flex-direction: row-reverse;
		justify-content: center;
	}
	#failte-ireland-footer-logo, #do-dublin-footer-logo, #do-ireland-footer-logo {
		float: none;
		width: 158px;
		height: 40px;
		margin: 0;
		margin-top: 15px;
		position: static;
		background-size: 100%;
	}
	#failte-ireland-footer-logo {
		width: 118px;
		height: 66px;
		margin-right: 30px;
	}
	
	footer,
	#footer {
		font-weight: normal;
	}

	.nl-lead,
	.nl-fields,
	.nl-submit {
		float: none;
		display: block;
		width: auto !important;
	}
	.nl-lead {
		padding-bottom: 16px;
		padding-right: 0px;
	}
	.nl-fields {
		padding: 4px 0px;
	}
	.nl-field-name, .nl-field-email, .nl-field-location {
		float: none !important;
		width: 240px;
		margin: 0 auto;
	}
	#footer-first-outer .footer-inner {
		height: auto;
		width: 300px;
		padding: 23px 30px 31px 30px;
		margin: 0 auto;
		margin-bottom: 36px;
	}
	#footer-first-outer .signup-terms, .signup-page .signup-terms {
		float: none;
		text-align: center;
		margin-right: 0;
		margin-top: 10px;
	}
	.nl-lead-inner {
		width: auto;
		float: none;
		text-align: center;
		padding: 0;
		margin: 0 auto;
		font-size: 16px;
		line-height: 18px;
		width: 77%;
	}
	.nl-lead-inner .ellipsis {
		display: none;
	}
	.nl-fields-text {
		font-size: 14px;
		line-height: 1.2em;
		text-align: center;
		max-width: 400px;
		font-weight: normal;
		padding: 8px 0 32px;
		margin: 0 auto;
	}
	.nl-field-outer {
		height: 42px;
		padding: 5px;
		margin: 0;
		margin-bottom: 10px;
	}
	.nl-field-inner {
		margin: 0;
		border: 0;
		padding: 6px 8px 8px 2px;
	}
	.placeholder-ele,
	.nl-field input[type=text], #newsletter-signup select {
		text-align: left;
		font-size: 16px;
		line-height: 16px;
		width: 100%;
	}
	.nl-submit-button-outer {
		padding: 0;
		margin: 0;
	}
	.nl-submit input[type="submit"] {
		font-size: 16px;
		padding: 13px 2px 14px;
		height: 42px;
		width: 100%;
		padding-left: 0;
		padding-right: 0;
		text-align: center;
		letter-spacing: 0;
		display: block;
		float: none;
		max-width: 100%;
		margin-top: 8px;
		background-position: 160px 50%;
	}
	.signup-page .placeholder-ele, .signup-page select, .signup-page .nl-submit input[type="submit"] {
		font-size: 16px;
		line-height: 16px;
	}
	.signup-page .nl-submit input[type="submit"] {
		margin-top: 0;
	}
	.signup-page .newsletter_signup_location_holder {
		padding-top: 0;
	}
	.footer-col:nth-of-type(5) .icons {
		display: inline-flex;
		margin-top: 6px;
	}
	.footer-col:nth-of-type(5) .icons a .social-platform {
		display: none;
	}

	#breadcrumbs {
		padding: 24px 25px;
	}

	.footer-col:nth-child(odd) {
		clear: both;
	}
	.footer-col {
		width: 100%;
		text-align: center;
		padding-bottom: 32px;
	}
	.footer-col:nth-of-type(5) {
		padding-bottom: 10px;
	}
	.footer-col:nth-of-type(5) img {
		width: 48px;
		height: 48px;
		margin: 0px 8px;
	}
	#do-dublin-logo, #do-ireland-logo {
		margin-left: 16px;
		/*margin: 31px 20px 0px 27px;*/
	}
	.null-card {
		display: none;
	}
	
	.brand .inner img {
		max-width: 100%;
		width: auto;
	}
	.brand {
		float: none;
		width: auto;
		max-width: 216px;
		margin: 5px auto;
	}
	.brand .inner {
		text-align: center;
		padding: 34px 0;
		margin: 0;
	}

	.inner-wrapper.main-content-inner {
		width: auto;
		padding: 0;
	}
	.main-content-spacing {
		padding-right: 0;
		padding-bottom: 0;
	}
	.main-content {
		padding: 8px;
		font-size: 14px;
		padding-bottom: 24px;
	}
	.fullsize-bg-outer {
		background: none;
	}
	.main-content h1 {
		font-size: 26px;
		padding: 16px 0;
	}
	#tour-outer {
		padding: 0 20px 0 20px;
	}
	.tour-icon-outer {
		width: 50px;
	}

	.tour-icon {
		width: 17px;
		height: 17px;
	}

	.main-remove-spacing {
		margin-left: 0px;
		margin-right: 0px;
	}
	.form-section {
		padding: 8px;
	}
	.form-section .ap_checkbox_label {
		float: none;
		width: auto !important;
		display: block;
	}
	.submit_button {
		font-size: 12px;
	}
	#contact-map,
	#contact-details {
		float: none;
		width: auto;
	}
	#contact-map {
		padding-top: 24px;
	}
	#enquiry-contact,
	#general-enquiry {
		float: none;
		width: auto;
		padding-top: 16px;
	}
	.main-content-footer {
		padding: 0 8px 44px;
	}
	.main-content-footer h2,
	.main-content-footer h3,
	.main-content-footer h4,
	.main-content-footer h5,
	.main-content-footer h6 {
		padding: 4px 0;
	}
}

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

@keyframes dash {
	0% {
		stroke-dasharray: 1, 200;
		stroke-dashoffset: 0;
	}
	50% {
		stroke-dasharray: 89, 200;
		stroke-dashoffset: -35px;
	}
	100% {
		stroke-dasharray: 89, 200;
		stroke-dashoffset: -124px;
	}
}

.mobile_prefix_holder {
	float: left;
	width: 46% !important;
}

.mobile_prefix_holder label {
	width: 55% !important;
}

#booking_customer_mobile_code {
	width: 42% !important;
}

.mobile_holder {
	float: left;
	width: 54% !important;
}

@media screen and (max-width:1370px) {
	#top_nav_doireland li.level1.tablet_hide ,
	#top_nav li.level1.tablet_hide {
		display: none;
	}
	#top_nav_doireland li.level1:first-of-type,
	#top_nav li.level1:first-of-type,
	#top_nav_doireland li.level1.has_sub ,
	#top_nav li.level1.has_sub {
		display: block;
	}
}

@media screen and (max-width:1167px) {
	#top_nav_doireland li.level1:first-of-type,
	#top_nav li.level1:first-of-type,
	#top_nav_doireland li.level1.has_sub,
	#top_nav li.level1.has_sub {
		display: block;
	}
}

@media screen and (max-width:999px) {
	#top_nav_doireland li.level1:first-of-type,
	#top_nav li.level1:first-of-type,
	#top_nav_doireland li.level1.mobile_hide,
	#top_nav li.level1.mobile_hide {
		display: none;
	}
}

@media screen and (max-width:720px) {
	.tour-calendar .calendar_input_holder .cds {
		background-size: 19px 18px;
		width: 26px;
	}
	.tour-calendar #ap_calendar {
		left: 44px!important;
	}
	#ap_popup {
		width: 80%;
	}
}

@media screen and (max-width:500px) {
	.tour-calendar #ap_calendar {
		left: 35px!important;
	}
}

.noselect {
	-webkit-touch-callout: none;
	/* iOS Safari */
	-webkit-user-select: none;
	/* Safari*/
	-khtml-user-select: none;
	/* Konqueror */
	-moz-user-select: none;
	/* Firefox */
	-ms-user-select: none;
	/* Internet Explorer/Edge */
	user-select: none;
	/* Non-prefixed version, currently
								  supported by Chrome and Opera */
}

@media screen and (max-width:720px) {
	.faded_bg body {
		height: auto;
		overflow: auto;
	}
	.faded_bg {
		margin: 0;
	}
}

div.cover {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	white-space: nowrap;
	text-align: center;
	margin: 0;
	overflow: hidden;
}

.gallery-card {
	cursor: pointer;
}

.gallery-card.crew-image {
	display: block;
	position: relative;
	padding-top: 100%;
	overflow: hidden;
}

.gallery-card:hover .card-overlay {
	background: none;
}

div.cover img {
	vertical-align: middle;
}

.card-overlay {
	background: rgba(34, 34, 34, 0.5);
}

.default-content .heading-outer {
	padding-left: 40px;
	padding-top: 40px;
	padding-bottom: 30px;
	background: #fff;
}

.default-content h1 {
	font-size: 60px;
	color: #333333;
	line-height: 0.85em;
	letter-spacing: -0.02em;
}

.image-text {
	position: absolute;
	color: #fff;
	bottom: 0;
	height: 80px;
	left: 0;
	right: 0;
	background: rgba(51, 51, 51, 0.6);
	display: table;
	width: 100%;
}

#gallery-show {
	margin-right: -230px;
	background: #333333;
	position: relative;
	min-height: 240px;
}

.gallery-show-details {
	float: right;
	width: 210px;
}

.gallery-show-details-inner {
	padding-right: 48px;
	padding-left: 5px;
	padding-top: 32px;
	color: #fff;
	padding-bottom: 32px;
}

.gallery-details-line1 {
	font-size: 24px;
	font-weight: bold;
	line-height: 0.9em;
	text-transform: uppercase;
}

.gallery-details-line2 {
	font-size: 24px;
	font-weight: 500;
	text-transform: uppercase;
	line-height: 0.9em;
}

.default-content {
	font-size: 14px;
	line-height: 1.2em;
	padding-top: 6px;
}

.gallery-show-image {
	float: left;
	width: 735px;
	min-height: 240px;
	position: relative;
}

.gallery-show-image img {
	width: 100%;
	height: auto;
	display: block;
}

.previous-arrow {
	cursor: pointer;
	position: absolute;
	left: 0;
	width: 25%;
	top: 0;
	bottom: 0;
	background: url('/images/gallery-previous.png') no-repeat 2% 50%;
	opacity: 0.8;
	min-height: 240px;
}

.next-arrow {
	cursor: pointer;
	min-height: 240px;
	position: absolute;
	width: 75%;
	top: 0;
	bottom: 0;
	right: 0;
	background: url('/images/gallery-next.png') no-repeat 98% 50%;
	opacity: 0.8;
}

.next-arrow:hover,
.previous-arrow:hover {
	opacity: 1;
}

.nonext .next-arrow {
	display: none;
}

.noprev .previous-arrow {
	display: none;
}

.close-gallery {
	position: absolute;
	bottom: 11px;
	right: 16px;
	width: 33px;
	cursor: pointer;
	height: 33px;
	z-index: 100;
	background: url('/images/close-gallery.png') no-repeat 50% 50%;
}

.inline-icon {
	float: left;
	display: block;
	margin: 0;
	width: 29px;
	height: 29px;
	margin-right: 6px;
}

.gallery-tour-link {
	padding: 16px 10px;
	display: block;
	color: #fff;
	filter: saturate(0);
	-webkit-filter: saturate(0);
	letter-spacing: -0.03em;
	line-height: 1.6em;
	font-size: 18px;
	text-decoration: none;
	font-family: museo_slab;
	transition: filter 0.3s ease;
}

.gallery-tour-link:hover {
	filter: saturate(100%);
	-webkit-filter: saturate(100%);
}

.view-this-on {
	font-size: 24px;
	letter-spacing: -0.03em;
	line-height: 0.8em;
	font-weight: bold;
	text-transform: uppercase;
	padding: 10px;
	color: #fff;
}

.team-link {
	font-weight: bold;
	font-size: 24px;
	line-height: 0.8em;
	letter-spacing: -0.03em;
	text-decoration: none;
	color: #fff;
	text-transform: uppercase;
	text-align: left;
	padding: 0 12px;
}

@media screen and (max-width:978px) {
	.default-content h1 {
		font-size: 39px;
	}
	.default-content .heading-outer {
		padding: 51px 31px 21px;
	}
	.gallery-show-details {
		float: none;
		width: auto;
	}
	.gallery-show-image {
		float: none;
		width: auto;
	}
	#gallery-show {
		margin-right: 0;
	}
	.gallery-show-details-inner {
		padding: 15px 30px;
	}
	.image-text {
		font-size: 14px;
		color: rgba(255, 255, 255, 0.8);
		bottom: 0;
		height: 61px;
	}
	.gallery-details-line1,
	.gallery-details-line2 {
		font-size: 16px;
	}
	.default-content {
		font-size: 16px;
	}
	.view-this-on {
		font-size: 16px;
		padding: 10px 30px;
	}
	.gallery-tour-link {
		padding: 13px 10px;
	}
	.team-link {
		font-size: 16px;
		line-height: 0.8em;
	}
}

@media screen and (max-width:720px) {
	.default-content h1 {
		font-size: 26px;
	}
	.default-content .heading-outer {
		padding: 25px 8px;
	}
	.default-content {
		font-size: 14px;
	}
	.view-this-on {
		font-size: 20px;
	}
	.gallery-details-line1,
	.gallery-details-line2 {
		font-size: 21px;
	}
	.image-text {
		display: none;
	}
}

.default-content .h {
	color: #333333;
	font-size: 24px;
	line-height: 0.8em;
	text-transform: uppercase;
	letter-spacing: -0.03em;
	font-weight: bold;
	padding: 8px 0;
}

.main-content-left {
	float: left;
	width: 720px;
	background: #fff;
}
.no-sidebar .main-content-left {
	float: none;
	margin: 0 auto;
}

.main-content-sidebar {
	float: right;
	width: 230px;
	padding-bottom: 16px;
}

.team-social {
	float: left;
	width: 25%;
	display: block;
	filter: saturate(0);
	-webkit-filter: saturate(0);
}

.team-social span {
	display: block;
	padding-top: 100%;
}

.team-social:hover {
	filter: saturate(100%);
	-webkit-filter: saturate(100%);
}

.social-instagram {
	background: url('/images/team-instagram.png') no-repeat #A92BB5 50% 50%;
}

.social-twitter {
	background: url('/images/team-twitter.png') no-repeat #55ACEE 50% 50%;
}

.social-youtube {
	background: url('/images/team-youtube.png') no-repeat #D82108 50% 50%;
}

.social-facebook {
	background: url('/images/team-facebook.png') no-repeat #3C5998 50% 50%;
}

.main-content-left-inner {
	padding: 0 40px 40px;
	font-size: 16px;
	line-height: 1.6em;
}

.main-content-left-text {
	padding: 32px 0 72px;
}

.main-content-left-inner .c_img {
	max-width: 100%;
}

.main-content-sidebar-inner {
	padding: 0 15px 0 15px;
	line-height: 1.6em;
}

.team-page .gallery-tour-link {
	line-height: 1.6em;
}

.gallery-tour-link:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.team-page .gallery-tour-link.tour-beyond-barricades,
.team-page .gallery-tour-link.tour-coast-and-castle,
.team-page .gallery-tour-link.tour-glendalough-powerscourt {
	line-height: 0.9em;
}

.sidebar-transparency {
	background: rgba(255, 255, 255, 0.75);
}

.team-member-picture img {
	max-width: 100%;
	height: auto;
}

.search_bar_outer {
	background: #434343;
	padding: 15px 23px;
}

.search_bar_inner {
	border: 2px solid #A1A1A1;
	padding: 5px;
}

#search_input {
	padding: 4px;
	padding-left: 42px;
	background: url('/images/search-icon-main.png') no-repeat transparent 10px 50%;
	border: 0;
	color: #fff;
	width: 80%;
	box-sizing: border-box;
	font-size: 22px;
	font-weight: bold;
	font-family: proxima_nova, sans-serif;
}

#refresh_search {
	float: right;
	background: url('/images/search-refresh.gif') no-repeat 50% 50%;
	padding: 17px;
	border: 0;
	cursor: pointer;
	width: 18px;
	height: 18px;
}

.search-type-heading {
	font-size: 14px;
	color: #333333;
	font-family: museo_slab;
	padding: 25px 0;
	border-bottom: 1px solid #DDDDDD;
}

.search-type {
	float: left;
	width: 75%;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.search-count {
	float: right;
	text-align: right;
	width: 25%;
}

.search-snippet {
	font-size: 17px;
	/*color:#999999;*/
	color: #555555;
	line-height: 1.1em;
	padding: 8px 0;
}

.search-link {
	font-size: 22px;
	color: #007531;
	text-decoration: underline;
	font-weight: 500;
	line-height: 24px;
}

.search-item-outer {
	border-bottom: 1px solid #DDDDDD;
	padding: 15px 0;
}

.search-no-results {
	font-size: 17px;
	color: #999999;
	line-height: 1.1em;
	padding: 8px 0;
	text-align: center;
}

.hover-text {
	display: none;
}

.crew-image .image-text {
	background: rgb(51, 51, 51, 0.4)
}

.crew-image:hover p {
	padding: 0;
}

.crew-image:hover .hover-text {
	padding: 12px;
	display: block;
	font-size: 14px;
	line-height: 1.2em;
	padding-top: 0;
}

.crew-image:hover .team-link {
	font-size: 24px;
	display: block;
	padding: 12px;
}

.crew-image:hover .image-text {
	height: 100%;
	top: 0;
	display: block;
	background: rgba(51, 51, 51, 0.9);
}

.view-more-details {
	font-weight: 500;
	color: #008839;
	text-decoration: underline;
	display: none;
}

.crew-image:hover .view-more-details {
	position: absolute;
	bottom: 12px;
	left: 12px;
	display: block;
	font-size: 16px;
	text-transform: lowercase;
}

.crew-member-card {
	float: left;
	width: 33.3333%;
}

.crew-image .team-link-outer {
	display: table-cell;
	white-space: normal;
	vertical-align: middle;
	text-align: left;
}

@media screen and (max-width:978px) {
	.main-content-sidebar,
	.main-content-left,
	.no-sidebar .main-content-left {
		float: none;
		width: auto;
	}
	.team-member-picture {
		margin-left: -32px;
		margin-right: -32px;
	}
	.team-social {
		width: 54px;
	}
	.sidebar-heading.h,
	.content-side .h {
		font-size: 16px;
		width: 170px;
		padding: 12px 32px;
	}
	.main-content-sidebar-inner {
		padding: 24px;
	}
	.team-social-wrapper {
		padding-left: 32px;
	}
	.sidebar-transparency {
		background: rgba(255, 255, 255, 0.7);
	}
	.main-content-sidebar {
		padding-bottom: 0;
	}
	.team-page .gallery-tour-link {
		line-height: 1.2em !important;
	}
	.default-content .heading-outer {
		width: auto;
	}
	.main-content-left-inner {
		padding: 0 32px 40px;
	}
	.crew-info {
		float: right;
		width: 50%;
	}
	.crew-image:hover .hover-text {
		font-size: 11px;
	}
	.crew-image:hover .view-more-details {
		font-size: 14px;
	}
	.crew-image:hover .team-link {
		font-size: 16px;
	}
}

@media screen and (max-width:720px) {
	.main-content-left-inner {
		padding: 8px;
	}
	.team-member-picture {
		margin-left: -8px;
		margin-right: -8px;
	}
	.main-content-left-text {
		padding: 12px 25px;
	}
	.sidebar-heading.h,
	.content-side .h {
		font-size: 20px;
		width: 170px;
		padding: 12px 25px;
	}
	.team-social-wrapper {
		padding-left: 25px;
	}
	.search-results-section {
		padding: 4px 25px;
	}
	.search-type-heading {
		margin: 0 25px;
	}
	.search-link {
		font-size: 16px;
		line-height: 24px;
	}
	.search-snippet {
		font-size: 14px;
		line-height: 19px;
		padding: 0;
	}
	.search-item-outer {
		padding: 4px 0 14px;
	}
	.crew-info {
		float: none;
		width: auto;
		margin-left: -24px;
		margin-right: -24px;
	}
	.gallery-tour-link {
		filter: saturate(100%);
		-webkit-filter: saturate(100%);
	}
	.crew-info a.gallery-tour-link {
		margin-left: 0px;
	}
	.crew-image .image-text {
		display: block;
		height: auto;
	}
	.crew-image .team-link {
		display: block;
		padding: 15px 8px;
	}
	.crew-image:hover .hover-text {
		display: none;
	}
	.crew-member-card {
		float: left;
		width: 50%;
	}
	.crew-image .team-link-outer {
		display: block;
	}
}


/* Proclaim / Alert Bars */

#alert_bar_wrapper {
	position: fixed;
	top: 90px;
	z-index: 149;
	width: 100%;
}

.page-tour_category #alert_bar_wrapper {
	position: relative;
	margin-bottom: -69px;
}

.alert_bar {
	position: relative;
	width: 100%;
	min-height: 68px;
	box-sizing: border-box;
	padding-left: 8%;
	padding-right: 8px;
	text-align: left;
	color: #FFFFFF;
	font-family: proxima_nova;
	font-weight: 500;
	font-size: 16px;
}

.alert_bar .alert_icon {
	display: inline-block;
	position: absolute;
	height: 52px;
	width: 52px;
	top: 8px;
	left: 0;
	margin-right: 2px;
}

.alert_bar .alert_icon img {
	position: absolute;
	width: auto;
	max-width: 52px;
	height: auto;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.alert_inner {
	vertical-align: top;
	width: 100%;
	max-width: 1140px;
	height: 100%;
	min-height: 69px;
	border-bottom: 1px solid #5C5C5C;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
	margin: auto;
	padding-left: 52px;
	padding-right: 25px;
	padding-bottom: 15px;
}

.alert_bar .alert_inner .alert_text {
	padding-top: 15px;
	vertical-align: top;
	display: inline-block;
}

.alert_bar .alert_inner .alert_link {
	display: inline-block;
	vertical-align: top;
	padding-top: 3px;
	font-size: 13px;
	color: #FFFFFF;
	color: rgba(255, 255, 255, 0.8);
}

.alert_bar .close_alert {
	display: inline-block;
	position: absolute;
	top: 8px;
	right: 10px;
	width: 20px;
	height: 20px;
	cursor: pointer;
	font-size: 11px;
	line-height: 20px;
	text-align: center;
	border: 1px solid #FFFFFF;
}

.alert_bar .close_alert img {
	position: absolute;
	top: 6px;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 8px;
}

.alert_bar:last-of-type .alert_inner {
	border-bottom: 0;
}

.alert_bar.grey {
	background-color: #3A3B3D;
	background-color: rgba(58, 59, 61, 0.8);
}

.alert_bar.red {
	background-color: #FA1413;
	background-color: rgba(250, 20, 19, 0.8);
}

.alert_bar.blue {
	background-color: #345FC3;
	background-color: rgba(52, 95, 195, 0.8);
}

.alert_bar.yellow {
	background-color: #FBDB14;
	background-color: rgba(251, 219, 20, 0.8);
	color: #3A3B3D;
}

.alert_bar.yellow .alert_link {
	color: rgba(58, 59, 61, 0.8);
}

@media screen and (max-width: 720px) {
	#alert_bar_wrapper {
		position: static!important;
		margin-bottom: 0px!important;
	}
	.alert_bar {
		padding-left: 8px;
	}
}

@media screen and (max-width: 650px) {
	.signup-page .nl-submit input[type="submit"] {
		background-position: 64% 50%;
	}
}
@media screen and (max-width:500px) {
	.alert_bar {
		font-size: 14px;
	}
	.alert_inner {
		padding-right: 45px;
	}
}


/* Booking timer */

#countdown_holder {
	text-align: center;
	font-size: 0px;
	width: 175px;
	position: relative;
	margin-top: -10px;
}

#countdown {
	font-family: "proxima_nova";
	font-weight: 500;
	overflow: visible;
	width: 175px;
	height: 64px;
}

.rotor_group {
	position: relative;
	float: left;
	padding-right: 15px;
}

.rotor_group:last-child {
	padding-right: 0
}

.rotor_group:nth-child(1):before,
.rotor_group:nth-child(1):after {
	content: '';
	position: absolute;
	width: 5px;
	height: 5px;
	left: 85px;
	background-color: #DEDEDE;
	bottom: 20px;
}

.rotor_group:nth-child(1):after {
	bottom: 37px;
}

.rotor,
.rotor_leaf,
.rotor_top,
.rotor_bottom,
.rotor::after,
.rotor_leaf_flipped,
.rotor_leaf_front,
.rotor_leaf_rear {
	width: 39px !important;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.rotor {
	position: relative;
	float: left;
	width: 50px;
	height: 62px;
	margin: 0 2px 0 0;
	border-radius: 4px;
	font-size: 56px;
	text-align: center;
	perspective: 200px;
}

.rotor:after {
	content: '';
	z-index: 2;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 50px;
	height: 31px;
	border-radius: 0 0 4px 4px;
	display: none;
}

.rotor:last-child {
	margin-right: 0
}

.rotor_top,
.rotor_leaf_front {
	line-height: 62px;
	border-radius: 4px 4px 0 0;
	color: #0D42C9;
	background-color: #EFEFEF;
}

.rotor_bottom,
.rotor_leaf_rear {
	color: #0D42C9;
	background-color: #DEDEDE;
	border-radius: 0 0 4px 4px;
}

.rotor_top,
.rotor_bottom {
	overflow: hidden;
	position: absolute;
	width: 50px;
	height: 31px;
}

.rotor_leaf {
	z-index: 1;
	position: absolute;
	width: 50px;
	height: 62px;
	transform-style: preserve-3d;
	transition: transform 0s;
}

.rotor_leaf.flipped {
	transform: rotateX(-180deg);
	transition: all .5s ease-in-out
}

.rotor_leaf_front,
.rotor_leaf_rear {
	overflow: hidden;
	position: absolute;
	width: 50px;
	height: 31px;
	margin: 0;
	transform: rotateX(0);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.rotor_leaf_rear {
	line-height: 0;
	transform: rotateX(-180deg);
}

.rotor_bottom {
	bottom: 0;
	line-height: 0;
}

.last_minute .rotor,
.last_minute .rotor_top,
.last_minute .rotor_leaf_front,
.last_minute .rotor_bottom,
.last_minute .rotor_leaf_rear {
	color: #fff !important;
	background-color: #0D42C9 !important
}

.last_minute .rotor:after {
	border-top: solid 1px #fff;
}

.last_minute #seconds {
	color: #0D42C9;
}

.countdown_labels {
	font-size: 16px;
	margin-top: 1px;
}

.countdown_labels span {
	width: 77px;
	text-align: center;
	display: inline-block;
}

.countdown_labels .minutes {
	margin-right: 15px;
	margin-bottom: 31px;
}

#minutes_hider {
	display: none;
	position: absolute;
	width: 80px;
	height: 100px;
	background: #fff;
	top: 0px;
}

.last_minute #minutes_hider {
	display: block;
}

.expired {
	position: relative;
}

.expired::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	border-radius: 10px;
	content: '';
	padding: 70px;
	color: #fff;
	box-sizing: border-box;
	text-align: center;
	font-size: 30px;
}

#expiry_message {
	text-align: ce978pxnter;
	display: none;
	font-size: 25px;
	color: #fff;
	position: absolute;
	left: calc(50% + 97px);
	bottom: 250px;
	z-index: 1;
	transform: translateX(-50%);
}

#expiry_message span {
	font-size: 30px;
}

#expiry_message a {
	text-decoration: none;
}

@media screen and (max-width:978px) {
	#expiry_message {
		left: calc(50% + 1px);
		bottom: 289px;
	}
	#countdown {
		display: inline-block;
	}
}


/* Cookie Box */

.red_active {
	background-color: #A12B2B !important;
}

#cookiebox #cookiebox_accept {
	background-color: #02ad4c  !important;
}

#cookiebox #cookiebox_settings {
	background-color: #d3420d  !important;
}

#cookiebox #cookiebox_close {
	background-color: rgb(80, 80, 80) !important;
}

#cookiebox {
	bottom: 0!important;
	left:0!important;
	width: 100%!important;
	max-width: 100%!important;
	background: rgba(34, 34, 34, 0.95)!important;
	padding-top: 22px!important;
	min-height: 85px!important;
	z-index: 250!important;
}
#cookiebox_inner {
	max-width: 1400px;
	margin: auto;
	text-align: center;
}
#cookiebox_close,
#cookiebox_moreinfo {
	display: none!important;
}
#cookiebox_accept,
#cookiebox_settings {
	display: inline-block!important;
	position: relative!important;
	height: 40px!important;
	width: 100%!important;
	max-width: 200px;
	margin-left: 10px;
	right: 10px;
	padding-top: 12px!important;
	box-sizing: border-box;
	text-align: center;
	text-decoration: none;
}
#cookiebox_settings,
#cookiebox_accept {
	font-family: proxima_nova, sans-serif!important;
	-webkit-font-smoothing: antialiased!important;
	font-size: 16px!important;
	text-align: center!important;
	font-weight: 500!important;
	text-transform: uppercase;
	text-decoration: none;
}
#cookiebox_heading,
#cookiebox_details {
	display: inline-block;
	font-family: proxima_nova, sans-serif!important;
	-webkit-font-smoothing: antialiased!important;
	font-size: 16px!important;
	font-weight: 500!important;
	color: #fff;
	letter-spacing: 1px!important;
	padding-right: 5px!important;
}
#cookiebox_details a {
	color: #00ae53;
}
#_cookie_control {
	top: -150px!important;
}
@media screen and (max-width: 1400px) {
	#cookiebox_inner {
		max-width: 1000px;
	}
}
@media screen and (max-width: 951px) {
	#cookiebox_heading,
	#cookiebox_details {
		display: block!important;
	}
	#cookiebox_settings {
		margin-top: 10px;
	}
}

/* competition page */

.competition_form {
	border: 10px solid #00a33f;
	background-color: #f2f2f2;
	padding: 5px 42px 20px;
	font-size: 16px;
	color: #000000;
	line-height: 24px;
}
.competition_form .question img {
	display: inline-block;
	width: 75px;
	height: auto;
	margin-right: 10px;
	vertical-align: middle;
}
.competition_form .question {
	border-top: 1px solid #00a33f;
	margin-top: 13px;
	padding-top: 2px;
	padding-bottom: 8px;
	letter-spacing: -1px;
	border-bottom: 1px solid #00a33f;
	margin-bottom: 5px;
}
.competition_form .question span {
	font-size: 31px;
	line-height: 33px;
	font-weight: 500;
	color: #00AE53;
	display: inline-block;
	vertical-align: middle;
	width: calc(100% - 90px);
}
.competition_form .submit {
	font-size: 24px;
	background-color: #2050c0;
	color: #ffffff;
	font-weight: 800;
	border: none;
	border-radius: 5px;
	width: 100%;
	padding: 18px;
	text-transform: uppercase;
	margin-top: 10px;
	letter-spacing: 1.5px;
	cursor: pointer;
}
.competition_form .privacy_link {
	font-size: 12px;
	color: #808080;
	text-align: center;
	margin-top: 7px;
}
.competition_form .privacy_link a {
	font-size: 12px;
	color: #808080;
}
.competition_form .questions {
	display: flex;
	flex-wrap: wrap;
	margin-top: 4px;
}
.competition_form .questions label {
	flex: 1 1 auto;
	min-width: 120px;
}
.competition_form .questions label input {
	height: 20px;
	   width: 20px;
	vertical-align: middle;
	margin: 0;
}
.competition_form .questions label span {
	vertical-align: middle;
}
.competition_form .input_holder {
	width: 50%;
	float: left;
	padding-right: 10px;
	box-sizing: border-box;
	margin-top: 15px;
}
.competition_form .input_holder + .input_holder {
	padding-left: 10px;
	padding-right: 0;
}
.competition_form .input_holder label {
	display: block;
}
.competition_form .input_holder input {
	width: 100%;
	height: 45px;
	border: 1px solid #a8a8a8;
	border-radius: 0;
	box-sizing: border-box;
	margin-top: 3px;
	font-family: proxima_nova, sans-serif;
	font-size: 16px;
	padding: 0 5px;
}
.competition_form hr {
	width: 100%;
	border: none;
	border-top: 1px solid #00a33f;
	margin-top: 16px;
	margin-bottom: 8px;
}
.competition_form .sign_up_checkbox {
	display: inline-block;
	width: 100%;
	vertical-align: middle;
	font-size: 12px;
	margin: 0;
	padding: 0;
}
.competition_form .sign_up_text {
	font-size: 12px;
	display: inline-block;
	width: calc(100% - 32px);
	line-height: 12px;
	vertical-align: middle;
}
.main-content-sidebar-inner.competition {
	color: #595959;
}
.main-content-sidebar-inner.competition strong {
	font-weight: 500;
}
.main-content-sidebar-inner.competition ul {
	padding-left: 7px;
	list-style: none;
}
.main-content-sidebar-inner.competition ul li {
	margin-bottom: 10px;
	color: #808080;
	position: relative;
}
.main-content-sidebar-inner.competition ul li:before {
	content: ".";
	position: absolute;
	top: 0;
	left: -8px;
	border-radius: 0px;
	font-size: 25px;
	line-height: 10px;
}

@media screen and (max-width: 500px) {
	.competition_form .question img {
		display: block;
		text-align: center;
		margin: auto;
	}
	.competition_form .question span {
		width: 100%;
		margin-top: 5px;
	}
	.competition_form .input_holder {
		width: 100%;
		padding: 0!important;
	}
}