/* ===== Primary Styles ========================================================
   Author: Dan Mitchell
   ========================================================================== */

@import url('./reset.css');
@import url('../fonts/lato/stylesheet.css');
@import url('../fonts/open-sans/stylesheet.css');
@import url('../fonts/roboto/stylesheet.css');


/**********************************************************************
 Core
**********************************************************************/

:root {
	
}

* {
	box-sizing: border-box;
}

::selection {
	background: #E8C55B;
	color: #333;
}

html, 
body {
	margin: 0;
	padding: 0;
	color: #333;
	background: #0D75A4;
	font-family: 'Open Sans', sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.4;
/*	overflow-x: hidden;*/
	scroll-behavior: smooth;
}

body {
	overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 800 !important;
}

h1 {
	font-size: 50px;
	margin-top: 0;
}
h2 {
	font-size: 28px;
	line-height: 1.2;
}
h3 {
	font-size: 26px;
}

.wrapper {
	max-width: 1150px;
	width: 90%;
	margin: 0 auto;
	position: relative;
}

.align-center {
	text-align: center;
}

p a {
	color: #0D75A4;
	text-decoration: none;
	font-weight: bold;
}
p a:hover {
	text-decoration: underline;
}

strong, b {
	font-weight: bold;
}

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

p iframe {
	width: 100%;
}

/**********************************************************************
 Buttons
**********************************************************************/

.btn {
	display: inline-flex;
	justify-content: center;
	background: #E8C55B;
	color: #000;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	font-style: normal;
	font-weight: bold;
	border: 1px solid #000;
	border-radius: 5px;
	overflow: hidden;
	padding: 17px 22px;
	letter-spacing: 2px;
	cursor: pointer;
}

.btn[disabled],
.btn--disabled {
	opacity:  0.3;
	cursor: not-allowed;
}


/**********************************************************************
 Icons
**********************************************************************/

.icon {
	background: center center no-repeat;
	background-size: contain;
	width: 18px;
	height: 18px;
	vertical-align: middle;
	display: inline-block;
}

.icon + .icon {
	margin-left: 1em;
}

.icon--fb {
	background-image: url('../images/ui/social-fb.svg');
}

.icon--tw {
	background-image: url('../images/ui/social-twitter.svg');
}

.icon--li {
	background-image: url('../images/ui/social-linkedin.svg');
}

.icon--distance {
	background-image: url('../images/ui/icon-distance.svg');
}

.icon--availability {
	background-image: url('../images/ui/icon-availability.svg');
}



/**********************************************************************
 Header
**********************************************************************/

header {
	position: fixed;
	z-index: 1000;
	left: 0;
	top: 0;
	right: 0;
	background-color: rgba(255,255,255,0.66);
/*	backdrop-filter: saturate(1.8) blur(1.5em);*/
	padding: 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}


header .logo {
	display: block;
	width: 58px;
	height: 70px;
	background: url('../images/ui/lt-logo.svg') center center no-repeat;
	background-size: contain;
	transition: all 300ms ease-out;
}

.stickyheaderbar header .logo {
	width: 38px;
	height: 50px;
}

header .nav {
	display: flex;
	align-items: center;
}

header nav ul {
/*	list-style: none;*/
	margin: 0;
	padding: 0;
	display: flex;
	align-items: stretch;
}
header nav li {
	list-style-image: url('../images/ui/bullet.svg');
	padding: 0;
	margin: 0 0 0 2em;
}
header nav li:first-child {
	list-style: none;
}

header a {
	display: block;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 10px;
	font-weight: bold;
	color: #000;
	padding: 15px 20px;
	letter-spacing: 2px;
}

header a:hover {
	text-decoration: underline;
	color: #333;
}

header .side {
	display: flex;
	align-items: center;
}


/**********************************************************************
 Nav button
**********************************************************************/

.nav-button {
	display: inline-block;
	vertical-align: middle;
	width: 40px;
	height: 40px;
	cursor: pointer;
	position: relative;
	margin-left: 1.5em;
}

.nav-button {
	display: none;
}

.nav-button {
	position: relative;
	z-index: 1000;
}

.nav-button span,
.nav-button span::before,
.nav-button span::after {
	position: absolute;
	top: 50%;
	left: 0%;
	display: block;
	width: 100%;
	height: 2px;
	background: #333;
	border-radius: 2px;
}

.nav-button span::before {
	content: "";
	top: -12px;
	width: 100%;
	left: 0;
	transition-property: top, transform, width;
	transition-duration: 0.3s, 0.3s, 0.3s;
	transition-delay: 0.3s, 0s, 0.3s;
}

.nav-button span::after {
	content: "";
	top: 12px;
	width: 100%;
	right: 0%;
	left: auto;
	transition-property: top, transform, left, width;
	transition-duration: 0.3s, 0.3s, 0.3s, 0.3s;
	transition-delay: 0.3s, 0s, 0s, 0.3s;
}

.nav-button:hover span::after,
.nav-button:hover span::before {
	width: 100%;
}

.nav__open .nav-button span {
	background-color: transparent !important;
}

.nav__open .nav-button span::before {
	top: 0;
	transform: rotate(45deg);
	transition-delay: 0s, 0.3s;
	width: 100%;
}

.nav__open .nav-button span::after {
	top: 0;
	transform: rotate(-45deg);
	transition-delay: 0s, 0.3s;
	left: 0;
	width: 100%;
}


/**********************************************************************
 Footer
**********************************************************************/

footer {
	background: #0D75A4;
	color: #fff;
	padding: 30px 0;
}

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

footer li a:hover {
	text-decoration: underline;
}

footer .grid {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

footer .grid.upper:first-child {
	font-weight: 300;
}

footer .grid.upper > div {
	flex: 1 1 auto;
	margin-left: 50px;
}
footer .grid.upper > div:first-child {
	flex: 1 1 auto;
	margin-left: 0;
	padding-right: 20%;
}

footer .legals {
	font-size: 10px;
	opacity: 0.5;
	margin-top: 50px;
}

footer .legals a:hover {
	text-decoration: underline;
}

footer ul {
	font-size: 13px;
	list-style: none;
	margin: 0;
	padding: 0;
}

footer li {
	padding: 0;
	margin: 5px 0;
	letter-spacing: 1.5px;
}

footer h6 {
	font-size: 12px;
	font-weight: bolder;
	text-transform: uppercase;
	letter-spacing: 3px;
	margin: 0 0 10px 0;
}

footer .logo {
	width: 38px;
	height: 50px;
	background: url('../images/ui/lt-logo.svg') center center no-repeat;
	background-size: contain;
}

footer .social {
	margin: 1em 0;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}


/**********************************************************************
 Main
**********************************************************************/

.main {
	background: #fff;
	display: flex;
	flex-direction: column;
}


/**********************************************************************
 Hero
**********************************************************************/

.hero {
	background: center center no-repeat;
	background-size: cover;
	background-image: url('../images/ui/hero.jpg');
	min-height: 550px;
	height: 45vh;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	position: relative;
}

.hero::before {
/*
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.5);
*/
}

.hero__small {
/*	height: 300px;*/
	min-height: 25vw;
	background-position: center center;
}

.hero__text {
	color: #fff;
	font-size: 20px;
	font-style: italic;
	margin-top: 60px;
	margin-bottom: 20px;
/*	transform: translateY(4em);*/
}

.hero__text h1 {
	font-size: 50px;
	font-style: normal;
	margin: 0;
}

.hero__text p {
	margin: 0;
}

.hero__text .btn {
	font-weight: bold;
	font-size: 13px;
	margin-top: 4em;
}

.hero__spacer {
	height: 90px;
	background: #fff;
}


/**********************************************************************
 Intro
**********************************************************************/

.intro {
	text-align: center;
	padding: 50px 0;
}

.intro .wrapper {
	max-width: 930px;
}

.intro h2 {
	margin: 0;
	font-size: 50px;
}


/**********************************************************************
 Stats
**********************************************************************/

.stats {
	text-align: center;
	padding: 50px 0;
	background-color: rgba(0,0,0,0.03);
	font-size: 25px;
	font-weight: bolder;
}

.stats .wrapper {
	display: flex;
	justify-content: space-between;
}

.stats .wrapper > div {
	position: relative;
}

.stats .wrapper > div:first-child::after {
	content: "";
	position: absolute;
	left: 120%;
	bottom: 30%;
	width: 113px;
	height: 55px;
	background: url('../images/ui/stat-line-1.svg') center center no-repeat;
	background-size: contain;
}

.stats .wrapper > div:last-child::after {
	content: "";
	position: absolute;
	right: 112%;
	bottom: -10%;
	width: 105px;
	height: 23px;
	background: url('../images/ui/stat-line-2.svg') center center no-repeat;
	background-size: contain;
}


/**********************************************************************
 Routes grid
**********************************************************************/

.routesgrid__container {
	padding: 50px 0;
}

.routesgrid {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	margin: -20px;
}

.routesgrid .tile {
	flex: 0 0 21%;
/*	min-width: 25%;*/
	padding: 20px;
	background: #d4d4d4;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	border: 1px solid #979797;
	color: #fff;
	border-radius: 5px;
	overflow: hidden;
	margin: 20px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 230px;
	position: relative;
}

.routesgrid .tile::before {
	content: "";
	position: absolute;
	z-index: 0;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.2);
}

.routesgrid .tile h4 {
	font-size: 30px;
	margin: 0 0 1em 0;
	position: relative;
	z-index: 1;
	line-height: 1.2;
}

.routesgrid .tile .btn {
	font-size: 10px;
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: center;
	justify-content: center;
	font-weight: bold;
	position: relative;
	z-index: 1;
}

.routesgrid .tile.big {
	flex: 0 0 46%;
	min-height: 330px;
}

.routesgrid .tile.big h4 {
	font-size: 35px;
}

.routesgrid .tile.big .btn {
	width: 200px;
}


/**********************************************************************
 How it works
**********************************************************************/

.howitworks {
	text-align: center;
	padding: 50px 0;
	background-color: rgba(0,0,0,0.03);
}

.howitworks--accommodation {
	margin: 30px 0 0 0;
	padding-top: 20px;
	border-radius: 20px;
}

.howitworks--booking {
	margin: 0px 0 30px 0;
	padding-top: 20px;
	border-radius: 20px;
}

.howitworks.hidden {
	height: 0;
	overflow: hidden;
	opacity: 0;
	margin: 0;
	padding: 0;
	transition: all 200ms ease-out;
}

.howitworks h3 {
	margin: 0;
	font-size: 50px;
}

.howitworks__hide__btn {
	position: absolute;
	right: -2.25em;
	top: 0;
	display: block;
	cursor: pointer;
	padding: 5px 10px;
	border-radius: 5px;
}
.howitworks__hide__btn:hover {
	background: #2385BE;
	color: #fff;
}

.steps {
	display: flex;
	justify-content: space-between;
	align-content: stretch;
	margin-top: 6em;
}

.step {
	flex: 1;
	text-align: left;
	margin-right: 50px;
	position: relative;
}

.step:last-child {
	margin-right: 0;
}

.step .btn {
	font-size: 10px;
	padding-top: 10px;
	padding-bottom: 10px;
}

.step .step__head {
	font-size: 20px;
	font-weight: bolder;
	display: flex;
	align-items: flex-end;
	line-height: 1.1;
}
.step .step__head strong {
	flex: 0 0 auto;
	font-weight: bolder;
	font-size: 50px;
	margin-right: 10px;
	line-height: 1;
}
.step .step__body {
	font-weight: 300;
	font-style:  italic;
	font-size: 15px;
}

.step--1::after {
	content: "";
	position: absolute;
	left: 72%;
	bottom: 80%;
	width: 117px;
	height: 72px;
	background: url('../images/ui/works-line-1.svg') center center no-repeat;
	background-size: contain;
}

.step--2::after {
	content: "";
	position: absolute;
	left: 80%;
	bottom: 24%;
	width: 85px;
	height: 138px;
	background: url('../images/ui/works-line-2.svg') center center no-repeat;
	background-size: contain;
}

.step--3::after {
	content: "";
	position: absolute;
	left: 65%;
	bottom: 90%;
	width: 131px;
	height: 55px;
	background: url('../images/ui/works-line-3.svg') center center no-repeat;
	background-size: contain;
}


/**********************************************************************
 Reviews
**********************************************************************/

.reviews {
	text-align: center;
	padding: 50px 0;
}

.reviews h3 {
	margin: 0 0 0.5em 0;
	font-size: 50px;
}


/**********************************************************************
 Why us
**********************************************************************/

.whyus {
	padding: 50px 0;
	background-color: rgba(0,0,0,0.03);
}

.whyus h3 {
	text-align: center;
	font-size: 40px;
	margin: 0 0 0.75em 0;
}


/**********************************************************************
 Intro
**********************************************************************/

.trustedby {
	text-align: center;
	padding: 50px 0;
}

.trustedby h5 {
	font-size: 50px;
	margin: 0 0 0.5em 0;
}

.logos {
	display: flex;
	justify-content: center;
	align-items: stretch;
}

.logos .swiper-container {
/*	padding-bottom: 50px;*/
}
.logos .swiper-slide {
	height: 100px !important;
	background: center center no-repeat;
	background-size: contain;
}
.logos .swiper-button-prev,
.logos .swiper-button-next {
	color: #333 !important;
}
.logos .swiper-button-prev {
	left: -15px;
}
.logos .swiper-button-next {
	right: -15px;
}



/**********************************************************************
 Crumbs
**********************************************************************/

.crumbs {
	font-size: 14px;
	font-family: 'Lato', sans-serif;
	padding: 20px 0;
	position: relative;
	background: #fff;
}

.crumbs .wrapper {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.crumbs .wrapper::before {
	content: "";
	width: 41px;
	height: 5px;
	background: url('../images/ui/crumb-line.svg') center center no-repeat;
	background-size: contain;
	margin-right: 1em;
}

.crumbs a {
	color: #0D75A4;
	text-decoration: none;
	font-weight: bold;
}

.crumbs a:hover {
	text-decoration: underline;
}


/**********************************************************************
 Article
**********************************************************************/

.article {
	padding: 1em 0 4em 0;
}

.article h1 {
	margin: 0;
	font-size: 40px;
}
.article .meta {
	font-size: 10px;
	font-weight: normal;
}


/**********************************************************************
 Content
**********************************************************************/

.content {
	padding: 50px 0;
}


.decor {
	margin-top: 5em;
}


/**********************************************************************
 FAQs
**********************************************************************/

.faqs {
	padding-bottom: 5em;
}

.faq {
	border-bottom: 2px dotted #e6e6e6;
	margin: 1em 0 2em 0;
	padding: 2em 0;
}

.faq h3 {
	font-size: 25px;
	font-weight: bold;
	font-style: italic;
	margin: 0 0 0.5em 0;
}

.faq .backtotop {
	text-transform: uppercase;
	position: relative;
	color: #0D75A4;
	text-decoration: none;
	font-size: 10px;
	font-weight: bold;
	display: inline-flex;
	padding-right: 15px;
	align-items: center;
	letter-spacing: 1px;
}
.faq .backtotop::after {
	content: "";
	width: 7px;
	height: 5px;
	background: url('../images/ui/triangle.svg') center center no-repeat;
	background-size: contain;
	margin-left: 1em;
}
.faq .backtotop:hover {
	text-decoration: underline;
}

.faqs-index {
	margin: 0 0 4em 0;
}

.faqs-index ul {
/*	list-style: none;*/
	margin: 0 0 0 1.5em;
	padding: 0;
}

.faqs-index li {
	list-style-image: url('../images/ui/bullet.svg');
	padding-left: 1em;
	margin: 0 0 1em 0;
}
.faqs-index li:last-child {
	margin-bottom: 0;
}

.faqs-index li a {
	font-weight: bold;
	font-size: 20px;
	font-style: italic;
	text-decoration: none;
	color: #333;
}

.faqs-index li a:hover {
	text-decoration: underline;
}



/**********************************************************************
 Route detail page
**********************************************************************/

.route__titlesummary {
	max-width: 800px;
	margin: 0 auto;
}

.route__description {
	max-width: 800px;
	margin: 0 auto;
}

.route__data {
	width: 685px;
	margin: 0 auto;
	margin-bottom: 50px;
	font-size: 20px;
}

.route__data .icon {
	margin-right: 0.5em;
	width: 25px;
	height: 25px;
}

.route__data__startfinish {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	margin-bottom: 30px;
}

.route__data__startfinish > div {
	align-items: center;
}

.route__data__startfinish__middle {
	flex: 1;
	background: url('../images/ui/lines/Line_6.svg') center center no-repeat;
	background-size: 100% 100%;
	height: 2em;
}

.route__data__distance {
	margin: 10px 0;
}

.route__data__actions {
	margin-top: 30px;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	font-size: 13px;
}

.route__data__actions .btn {
	display: flex;
	flex: 1 0 auto;
	margin-left: 20px;
}
.route__data__actions .btn:first-child {
	margin-left: 0;
}

.route__map {
	overflow: hidden;
	border: 1px solid #979797;
	display: flex;
	align-items: stretch;
}
.route__map iframe {
	width: 100%;
	height: 475px;
	border: none;
	margin-top: -55px;
}

.route__itinerarytitle {
	text-align: center;
	margin-bottom: 2em;
}

.route__itineraries {
	max-width: 80%;
	margin: 0 auto;
	margin-bottom: 50px;
}

.route__itinerary {
	margin-bottom: 30px;
}
.route__itinerary__header {
/*	font-weight: bold;*/
}
.route__itinerary__header span {
/*	font-weight: normal;*/
	font-size: 12px;
	color: #333;
	
}
.route__itinerary__summary {
	font-style: italic;
}


/**********************************************************************
 Articles
**********************************************************************/

.articlesheader {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.articlesheader h1 {
	margin: 0;
}

.articlesheader__cats {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-left: 2em;
}

.articlesheader__cats a {
	color: #333;
	background: rgba(0,0,0,0.03);
	text-decoration: none;
	display: block;
	padding: 5px 10px;
	text-align: center;
	font-style: italic;
	font-weight: bold;
	margin-right: 1em;
	border-radius: 5px;
	overflow: hidden;
}
.articlesheader__cats a:hover {
	background: rgba(0,0,0,0.1);
}
.articlesheader__cats a.selected {
	background: #E8C55B;
}

.articles {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: 0 -20px;
	margin-bottom: 60px;
}

.articletile {
	width: 21%;
	margin: 20px;
	cursor: pointer;
	margin-bottom: 2em;
}

.articletile__image {
	display: block;
	height: 200px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-color: #f0f0f0;
	border-radius: 5px;
	overflow: hidden;
	margin-bottom: 10px;
}

.articletile h2 {
	margin: 0;
	font-size: 20px;
}

.articletile h2 a {
	text-decoration: none;
	color: inherit;
}

.articletile__meta {
	display: block;
	margin-top: 10px;
	font-size: 12px;
}

.articletile__excerpt {
	display: block;
	font-size: 13px;
	margin-top: 10px;
	font-style: italic;
}

.articletile__continuereading {
	display: block;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: bold;
	color: #0D75A4;
	margin-top: 20px;
}

.noarticles {
	padding: 5em 0;
	text-align: center;
	flex: 1 0 100%;
}

.articletile--featured {
	flex: 0 0 47%;
}
.articletile--featured .articletile__image {
	height: 450px;
}

.articles__topline {
/*	width: 100%;*/
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: 0;
}

.articles__topline__articles {
	width: 48%;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: 0;
}

.articles__topline__articles .articletile {
	width: 42%;
	margin-bottom: 1em;
}


/**********************************************************************
 Contact page
**********************************************************************/

.contactgrid {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 60px;
}
.contactgrid > div {
	width: 48%;
}
.contactgrid .l {
	width: 40%;
}


/**********************************************************************
 Accommodation filters
**********************************************************************/

.filters {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	margin: 30px 0 0 0;
}

.filter__item {
	flex: 1;
	display: flex;
	flex-direction: column;
	margin: 0 1em;
}

.filter__item:first-child {
	margin-left: 0;
}

.filter__item:last-child {
	margin-right: 0;
}

.filter__item label {
	display: none;
}

.filter__item select {
	border: 1px solid rgba(0,0,0,0.1);
	padding: 10px;
	outline: none;
	border-radius: 10px;
	font-size: 14px;
}

hr {
	border: none;
	overflow: hidden;
	width: 100%;
	border-top: 2px dotted rgba(0,0,0,0.1);
	height: 2px;
	margin: 2em 0;
}

.classifieds__list {
	padding: 0;
}

.noresults {
	padding: 50px 0 100px 0;
	text-align: center;
}

.classified {
	border: 1px solid rgba(0,0,0,0.1);
	padding: 20px;
	border-radius: 10px;
	overflow: hidden;
	display: flex;
	justify-content: space-between;
	align-content: flex-start;
	margin: 1em 0;
	transition: all 200ms ease-out;
}

.classified:hover {
	transform: scale(1.01);
	background: rgba(35,133,190,0.11);
}

.classified__main {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.classified__side {
	flex: 0 0 200px;
	margin-left: 50px;
}

.classified__name {
	font-size: 25px;
	font-weight: bolder;
	margin: 0 20px 0 0;
	display: inline-block;
}

.classified__place {
	text-transform: uppercase;
	font-weight: bolder;
	font-size: 12px;
}

.classified__address {
	font-size: 12px;
	display: inline-block;
	margin: 0 10px 0 0;
}

.classified__maplink {
	font-size: 11px;
	font-weight: bolder;
	text-decoration: none;
	color: inherit;
}

.classified__maplink em {
	display: inline-block;
	vertical-align: middle;
	width: 9px;
	height: 14px;
	background: url('../images/ui/map.svg') center center no-repeat;
	background-size: contain;
	margin: 0 5px 0 0;
}

.classified__maplink:hover {
	color: #2385BE;
}

.classified__summary {
	font-style: italic;
	font-weight: 300;
	font-size: 14px;
	margin: 10px 0 0 0;
}

.classified__enquirebtn,
.classified__phone,
.classified_websitebtn {
	display: block;
	text-decoration: none;
	color: #fff;
	border-radius: 5px;
	background: #2385BE;
	text-align: center;
	padding: 10px 15px;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: bolder;
	letter-spacing: 2px;
}

.classified__phone {
	color: #2385BE;
	background: #fff;
	border: 1px solid rgba(0,0,0,0.1);
}

.classified__phone em {
	display: inline-block;
	vertical-align: middle;
	width: 14px;
	height: 14px;
	background: url('../images/ui/phone.svg') center center no-repeat;
	background-size: contain;
	margin: 0 10px 0 0;
}

.classified__enquirebtn + .classified__phone {
	margin-top: 10px;
}


.classified--premium {
	flex-direction: column;
	padding: 0;
}

.classified__upperrow {
	display: flex;
	align-items: stretch;
}

.classified__lowerrow {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	/* background: rgba(0,0,0,0.1); */
	/* background: #fff; */
	padding: 20px;
}

.classified__awardlogos {
	flex: 0 0 245px;
	margin-right: 20px;
	display: flex;
	align-items: center;
}

.classified__awardlogos img {
    /* width: auto; */
    /* height: 80px; */
    margin: 0 20px 0 0;
	height: 80px;
    /* padding: 10px; */
    /* border-radius: 10px; */
/*    overflow: hidden;*/
/*    flex: 0 0 70px;*/
/*	max-height: 80px;*/
}

.classified__lowerside {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
}

.classified__lowerside a {
	margin: 0 0 0 20px;
}

.classified__image {
	flex: 0 0 400px;
	width: 400px;
	margin-right: 20px;
	height: 300px;
	overflow: hidden;
	display: flex;
	align-items: stretch;
}

.swiper-container {
	width: 100%;
}
.swiper-slide {
	position: relative;
	background-color: #f0f0f0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.swiper-slide-item {
	width: 100%;
	height: 100%;
	background-color: #f0f0f0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}

.swiper-pagination-bullet {
	border: 1px solid #fff;
}
.swiper-pagination-bullet-active {
	background: #2385BE !important;
}

.classified__awardstext {
	font-size: 14px;
}

.classified--premium .classified__main {
	padding: 20px;
}

.classified--premium .classified__name {
	display: block;
}

.classified--premium .classified__summary {
	margin-top: 20px;
}

.classified--premium .classified__summary + .classified__awardstext {
	margin-top: 20px;
}

.classified__features {
	margin: 20px 0 0 0;
}

.classified__features ul {
	list-style: none;
	margin: 0;
	padding: 0;
	column-count: 3;
	column-gap: 20px;
}

.classified__features li {
	margin: 0;
	padding: 0;
	font-size: 13px;
	font-weight: 600;
	color: #c0c0c0;
}

.classified__features li::before {
	content: "";
	width: 12px;
	height: 12px;
	background: url('../images/ui/check-grey.svg') center center no-repeat;
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
	margin: 0 10px 0 0;
}

.classified__features li.selected {
	color: #000;
}

.classified__features li.selected::before {
	background-image: url('../images/ui/check.svg');
}

.classifieds__pagination {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.classifieds__pagination--bottom {
	margin: 20px 0 50px 0;
}

.classifieds__pagination__summary span {
	font-weight: bold;
}

.classifieds__pagination__links {
	display: flex;
	justify-content: flex-end;
	align-items: stretch;
	font-size: 14px;
}

.pagination__link {
	text-decoration: none;
	color: #333;
	margin: 0 5px;
	background: #fff;
    border: 1px solid rgba(0,0,0,0.1);
	border-radius: 5px;
	padding: 7px 14px;
}
.pagination__link:hover {
	background: #2385BE;
	color: #fff;
	border-color: #2385BE;
}

.pagination__select {
	font-weight: normal;
	padding: 5px 14px;
	margin: 0 5px;
	border: 1px solid #2385BE;
	border-radius: 5px;
}

.classifieds__advert {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1em 0;
}

.classifieds__advert a {
	color: #000;
	text-decoration: underline;
}


/**********************************************************************
 Booking form
**********************************************************************/

.bookingarea {
	margin: 0 0 2px 0;
	position: relative;
	-webkit-user-select: none;
	user-select: none;
}

.bookingarea input[type=text],
.bookingarea input[type=email],
.contactarea select,
.bookingarea textarea {
	width: 100%;
	border: 1px solid #e6e6e6;
	border-radius: 5px;
	outline: none;
	padding: 10px;
	background: #fff;
	color: #333;
	margin: 5px 0;
	font-weight: 300;
	font-size: 15px;
}

.bookingarea input:focus,
.bookingarea textarea:focus {
	border-color: #0D75A4;
}

.bookingarea textarea {
	resize: none;
	height: 140px;
}

.bookingarea input.form-control {
	visibility: hidden !important;
	height: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute;
}

.table {
	width: 100%;
	display: flex;
	flex-direction: column;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid #e6e6e6;
}

.table__head {
	font-size: 20px;
	font-weight: bold;
	background-color: rgba(0,0,0,0.03);
}

.table__body {
	display: flex;
	flex-direction: column;
}

.table__row {
	flex: 1;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.table__cell {
	flex: 1;
	padding: 15px 15px;
}

.table__cell__date {
	flex: 1 1 20%;
	max-width: 20%;
}

.table__cell--textbox {
	flex: 1 0 100%;
	display: none;
}
.table__cell--textbox.visible {
	display: block !important;
}

.table__cell--rowremovetitle,
.table__cell--rowremove {
	max-width: 30px;
	padding-left: 0;
	padding-right: 0;
}

.table__cell--rowremove {
	color: red;
}

.table__cell small {
	font-size: 12px;
}

.bookingbar {
	position: sticky;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 20px;
	margin: 70px 0 0 0;
	color: #fff;
	background: #0D75A4;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 15px;
	font-weight: bold;
}
.bookingbar::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	background-color: inherit;
	width: 1000%;
	transform: translateX(-50%);
}

.bookingbar > div {
	display: flex;
	align-items: center;
	z-index: 1;
}

.bar__total {
	font-size: 30px;
	font-weight: bold;
	margin: 0 20px 0 0;
}

.btn--addtransfer {
	display: flex;
	text-align: center;
	justify-content: center;
	font-weight: bold;
	padding: 15px;
	border: 2px dotted #e6e6e6;
	border-radius: 5px;
	color: #0D75A4;
	cursor: pointer;
	margin: 50px 0;
	transition: all 100ms ease-out;
}

.btn--addtransfer:hover {
	border-color: #0D75A4;
	background-color: #0D75A4;
	color: #fff;
}

.row--label {
	color: #333;
	font-size: 23px;
	font-weight: bold;
	line-height: 1.1;
	cursor: pointer;
}

.row--label small {
	display: block;
	font-size: 12px;
	font-style: italic;
	font-weight: 300;
	color: #a9a9a9;
	margin: 10px 0 0 0;
}

.row--label:hover {
	color: #0D75A4;
}

.row--cost {
	font-size: 30px;
	font-weight: bold;
}

.booking__row + .booking__row {
	border-top: 2px dotted #e6e6e6;
}

.checkoutarea {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}

.checkoutarea > div {
	flex: 0 0 48%;
	display: flex;
}

.termsarea {
/*	text-align: center;*/
	margin: 35px 0 20px 0;
}

.termsarea a {
	color: #0D75A4;
	text-decoration: none;
}

.termsarea input {
	width: 24px;
	height: 24px;
	vertical-align: middle;
	margin-right: 10px;
	cursor: pointer;
}

.typetogglearea {
	text-align: center;
	margin: 0px 0 50px 0;
}

.typetogglearea input {
	width: 24px;
	height: 24px;
	vertical-align: middle;
	margin-right: 10px;
	cursor: pointer;
}

.row--bags .row--label {
	cursor: default;
}

.bag--remove,
.bag--add {
	background: #E8C55B;
    color: #000;
	display: inline-block;
	text-align: center;
	width: 26px;
	line-height: 26px;
	border: 1px solid #000;
	border-radius: 5px;
	font-size: 20px;
	vertical-align: middle;
	cursor: pointer;
}

.bag--remove {
	margin-right: 15px;
}

.bag--add {
	margin-left: 15px;
}

.contactarea {
	display: flex;
	flex-direction: column;
}

.contactarea__upper {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}

.contactarea__upper > div {
	flex: 0 0 48%;
}



.contactarea__note {
	font-size: 14px;
	margin-top: 10px;
}

.contactarea__lower {
	margin-top: 30px;
	padding: 15px;
	padding-bottom: 0;
	border-top: 2px dotted #e6e6e6;
}

.contactarea__lower input {
	width: 18px;
	height: 18px;
	vertical-align: middle;
	margin: 0 10px 0 0;
	cursor: pointer;
}

.row--date {
	display: block;
}
.row--date .form-control {
	border: none;
	height: 0;
	padding: 0;
	overflow: hidden;
	visibility: hidden;
}

.pickupdropoff__selector__veil {
	opacity: 0;
	visibility: hidden;
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 9998;
}
.pickupdropoff__selector__veil.visible {
	visibility: visible;
	opacity: 1;
/*	cursor: not-allowed;*/
}

.pickupdropoff__selector__panel {
	opacity: 0;
	visibility: hidden;
	position: absolute;
	z-index: 9999;
	border: 1px solid #e5e5e5;
	background: #f7f7f7;
	padding: 30px;
	display: flex;
	flex-direction: column;
	border-radius: 10px;
	margin-top: 20px;
	transform: translateX(-33%);
	box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0,0,0,0.08);
}

.pickupdropoff__selector__panel.visible {
	visibility: visible;
	opacity: 1;
}

.pickupdropoff__selector__panel select,
.pickupdropoff__selector__panel label {
	margin: 0 0 10px 0;
}

.pickupdropoff__selector__panel select {
	border: 1px solid rgba(0,0,0,0.1);
    padding: 10px;
    outline: none;
    border-radius: 10px;
    font-size: 14px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 370px;
	max-width: 370px;
	font-weight: 600;
}

.pickupdropoff__selector__panel select:focus {
	border-color: #0D75A4;
}

.pickupdropoff__selector__panel select option {
	font-weight: 600;
}

.pickupdropoff__selector__panel label {
	color: #0D75A4;
	cursor: pointer;
}

.pickupdropoff__selector__panel label input {
	margin-right: 5px;
}

.pickupdropoff__selector__panel .field__checkboxes {
	margin-top: 10px;
	display: flex;
	flex-direction: column;
	padding: 0 10px;
}

.pickupdropoff__selector__panel .btn {
	width: 75%;
	margin-top: 20px;
	margin-left: auto;
	margin-right: auto;
}

.field__address {
	display: block;
	font-size: 15px;
	line-height: 1.2;
	margin-top: 5px;
}


.bookingbar {
	visibility: hidden;
	display: none;
}

.bookingbar--booking {
	visibility: visible;
	display: flex;
}

.bookingbar--enquiry {
	justify-content: center;
}

.table--enquiryinfo {
	display: none;
}

.bookingarea.booking__enquiry__mode .termsarea {
	display: none;
}

.bookingarea.booking__enquiry__mode .bookingbar--booking {
	visibility: hidden;
	display: none;
}
.bookingarea.booking__enquiry__mode .bookingbar--enquiry {
	visibility: visible;
	display: flex;
}

.bookingarea.booking__enquiry__mode .checkoutarea > div {
/*	flex: 0 0 100%;*/
}
.bookingarea.booking__enquiry__mode .checkoutarea > div:nth-child(2) {
/*	display: none;*/
}

.bookingarea.booking__enquiry__mode .table--paymentdetails {
	display: none;
}

.bookingarea.booking__enquiry__mode .table--enquiryinfo {
	display: block;
}

.field__textbox {
	height: 90px !important;
}

.field__textbox__label {
	font-weight: bold;
}

.cardcontainer {
	border: 1px solid #e6e6e6;
	padding: 1em;
	border-radius: 10px;
	overflow: hidden;
}

.paymentarea h5 {
	margin: 0 0 10px 0;
	font-size: 17px;
}

.paymentarea h6 {
	margin: 0 0 10px 0;
	font-size: 14px;
}

.payments__logo {
	margin: 20px 0;
	display: flex;
	justify-content: flex-end;
}

.paymentmethodblock_selector {
	margin: 20px 0 10px 0;
	font-weight: bold;
}

.paymentmethodblock_inner {
	margin-left: 18px;
	display: none;
}

.paymentmethodblock.visible .paymentmethodblock_inner {
	display: block;
}

.discountarea {
	margin: 0 0 20px 0;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.discountarea input {
	flex: 2;
	max-width: 60%;
}

.discountarea .btn {
	flex: 0 0 auto;
	padding: 5px 10px;
	margin-left: 10px;
	letter-spacing: 1px;
}

.discount__ok,
.discount__error {
	margin: -20px 0 30px 0;
}

.discount__ok {
	color: #0d75a4;
	font-weight: bold;
	margin-top: -10px;
}

.discount__error {
	color: red;
	font-weight: bold;
}

.swcpadonationarea {
	margin: 0 0 20px 0;
}
.swcpadonationarea p {
	font-size: 15px;
}
.swcpadonationarea select {
	font-weight: 300;
}

#card-errors {
	color: red;
	margin: 10px 0 0 0;
	font-size: 15px;
}
#card-errors.hidden {
	display: none;
}

.placebuttons {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 50px 0;
}
.placebuttons a {
	margin: 0 10px;
	opacity: 0.5;
}
.placebuttons a.active {
	opacity: 1;
}

.row--remove {
	cursor: pointer;
	color: red;
	font-weight: bold;
}
.row--remove.hidden {
	display: none;
}


.bar__discount {
	margin-right: 20px;
}

.bar__discount__linethrough {
	text-decoration: line-through !important;
}


.accommodation_notes_trigger {
	color: #ff0000 !important;
	cursor: pointer;
	font-style: normal !important;
	font-weight: bold !important;
}
.accommodation_notes_trigger.hidden {
	display: none !important;
}

.swal2-container {
	z-index: 9999 !important;
}
.swal2-content {
	font-weight: 300 !important;
	font-size: 14px !important;
}

.swal2-styled.swal2-confirm {
    background-color: #E8C55B !important;
	color: #000 !important;
}

