:root {
	--body-color:#fefefe;
	--body-color-darker:#fdfaf4;
	--dark-brown: #17110D;
	--light-brown: #786148;
	--font-color:#17110D;
    --paper-color: #F4F2E9;
    --main-font: "Lato", sans-serif; 
	--title-font: "Cormorant", serif;
}

img.lazy{
	opacity:0;
	transition:all 2s;
}
img.lazy.in-viewport{
	opacity:1;
}

.lazy-content{
	opacity:1;
	transition:all 2s;
}

.lazy-content.outside-viewport{
	opacity:0;
}
.x2column.lazy-content .col.image{
	transform:translateX(0);
	transition:all 1s;

}
.x2column.lazy-content.outside-viewport .col.image{
	transform:translateX(-20%)!important;
}
.x2column.lazy-content.outside-viewport .reverse .col.image{
	transform:translateX(20%)!important;
}

*{
	margin:0;
	padding:0;
	box-sizing: border-box;
}

body{
	font-family: var(--main-font);
	background:var(--dark-brown);
	-webkit-text-size-adjust: 100%;
	font-size:16px;
	etter-spacing: 0.02em;
}

body.no-scroll{
	overflow:hidden;
}

a{
	text-decoration: none;
	color: var(--dark-brown);
	font-weight:600;
}

a:hover {
	text-decoration: none;
	color: var(--font-color);
}
section.horizontal-rule{
	padding:0 5%;
}
hr{
	display: block;
	margin: 25px 0;
	height: 1px;
	background: #eee;
	width: 100%;
	border: none;
}

.container-fluid {
  max-width: calc(1200px + 8rem);
  padding: 0 4rem;
}

@media screen and (max-width: 960px) {
  .container-fluid {
	max-width: calc(1320px + 4rem);
	padding: 0 2rem;
  }
}

@media screen and (max-width: 540px) {
  .container-fluid {
	max-width: calc(1320px + 2rem);
	padding: 0 1rem;
  }
}

.modal {
	backdrop-filter: blur(15px);
	-webkit-backdrop-filter: blur(15px);
	background: rgba(23, 17, 13, 0.8);
}

.modal-dialog-centered {
	justify-content: center;
	align-items: center;
}

#enquiryModal .modal-content {
	padding: 1.5rem;
	background-color: #e7dbc8;
	border-radius: 0;
	max-width: 800px;
}

.modal-header {
	border-bottom: none;
}

.modal-title {
	color: var(--dark-brown);
}


span.nowrap{
	white-space:nowrap;
}

h1{
	font-family: var(--title-font);
	font-weight: 400;
	font-style: normal;
	margin: 30px 0;
	font-size: 2.5em;
	letter-spacing: 0.05em;
	line-height: 1.2em;
	position: relative;
	text-transform: uppercase;
}

h2{
	font-family: var(--title-font);
	font-weight: 400;
	font-style: normal;
	color: var(--dark-brown);
	margin: 0;
	font-size: 2.25rem;
	line-height:1em;
	text-transform: uppercase;
}

h3{	
	font-family: var(--title-font);
	font-weight: 400;
	font-style: normal;
	margin: 15px 0;
	font-size: 1.25em;
	line-height:1em;
	text-transform: uppercase;
}

h4{
	color: var(--font-color);
	font-size: 1.125em;
}

p{
	line-height: 1.75em;
	margin: 15px 0;
	color:  var(--font-color);
	font-size:1em;
}

.ccm-page p {
  font-size: 1rem;
  line-height: 1.75em;
  margin: 1em 0;
}

ul li {
	color:  var(--font-color);
}

p.button{
	margin-top:30px;
}

p strong{
	font-weight:600;
}



blockquote{
	padding: 2rem 2rem;
	position: relative;
	margin: 30px 0;
	border-top: 1px solid #dcd8d3;
	border-bottom: 1px solid #dcd8d3;
	text-align: center;
	max-width: 900px;
}

blockquote p{
	font-weight: 300 !important;
	font-size: 2em !important;
	line-height: 1.3em !important;
	color: var(--font-color);
	margin: 0 0 1rem 0!important;
	font-family: var(--title-font);
	font-style: italic;
}

blockquote footer {
	color: var(--dark-brown);
}


/* HEADER */

header#main-header.nav-up{
	transform:translateY(-100%);
	
}

header#main-header.nav-up nav#main-nav li li a, header#main-header.nav-up nav#main-nav li li{
	height:48px;
}

/* Top Header */

header#main-header{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:800;
	transition:all 0.3s;
}

/* Bottom Header */

header#main-header .bottom-header{
	padding:0 5%;
	background:rgba(245, 241, 231, 0.3);
	position:relative;
	height:auto;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	transition:all 0.3s;
}
header#main-header.transparent-bg .bottom-header{
	background:transparent;
	backdrop-filter: none;
}

header#main-header .bottom-header .wrapper{
	display:flex;
	justify-content: flex-end;
	margin: 0 auto;
	position:relative;
	height:130px;
	max-width:1440px;
	align-items: flex-end;
	padding: 1rem 0;
}

header#main-header .cta {
	position: absolute;
	right: 0;
	top: 0;
	display: flex;
	align-items: center;
	padding: 0 0.25rem;
}

header#main-header .cta .btn-primary {
	padding: 0.75rem 1.25rem;
	font-weight: 300;
	font-size: 0.875rem;
	letter-spacing: 0.05rem;
	color: var(--body-color);
	background: var(--dark-brown);
	 backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	transition: all 0.3s;
	line-height: unset;
	  height: fit-content;
	
}

header#main-header .cta .site-phone i {
	margin:0 0.5rem 0 0;
}

header#main-header .cta .site-phone a {
	background: var(--dark-brown);
	padding: 0.75rem 1.25rem;
	color: var(--body-color);
	font-weight: 300;
	font-size: 0.875rem;
	letter-spacing: 0.05rem;
	border-radius:0;
	margin: 0 1rem 0 0;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	display: inline-block;
	transition: all 0.3s;
}

header#main-header .cta .site-phone a:hover,
header#main-header .cta .btn-primary:hover {
	background: var(--light-brown);
	transition: all 0.3s;
}


@media screen and (max-width: 685px) {

	header#main-header .cta {
	  display: none;
	}
}

header#main-header.nav-up div.logo a {
	padding: 7px 0 0;
}

header#main-header div.logo{
	width:120px;
	margin-right:20px;
	transition:all 0.3s;
	display: flex;
	align-items: center;
	position: absolute;
	bottom: 2rem;
	left:0;
}

header#main-header div.logo path,header#main-header div.logo rect {
	fill:var(--dark-brown)!important;
}

header#main-header div.logo a{
	display:block;
	height:auto;
	width:100%;
	transition:all 0.3s;
}
header#main-header div.logo a svg, header#main-header div.logo a img{
	display: block;
	width: 100%;
	height: auto;
	position: relative;
	transition:all 0.3s;
}

#mobile-burger{
	display:none;
}

nav.mobile-nav {
	display: none;
}

.desktop-nav {
	position: relative;
	bottom: 0.25rem;
}

.desktop-nav a {
	font-weight: 400;
	padding: 0.5rem 0.75rem;
	  font-size: 1em;
	display: inline-block;
	border-radius: 2rem;
	text-transform: uppercase;
	  letter-spacing: 0.05rem;
	transition:all 0.3s;	
}

.desktop-nav a:hover {
	background:rgba(240, 234, 227, 0.7);
	backdrop-filter: blur(15px);
	transition:all 0.3s; 
}


/* MOBILE VIEW */

@media screen and (max-width:769px){
	
	header#main-header .cta {
		display: none;
	}

	#mobile-burger{
		display: flex;
		height: 46px;
		width: 55px;
		background: transparent;
		border: none;
		flex-direction: column;
		gap: 8px;
		justify-content: center;
		bottom: 2rem;
		position: absolute;
		right: 0;
	}
	
	#mobile-burger span {
		width: 100%;
		background: var(--dark-brown);
		height: 4px;
		border-radius: 10px;
		transition: all 0.3s;
	}
	
	#mobile-burger:hover span {
		background: var(--body-color);
		transition: all 0.3s;
	}
	
	.desktop-nav {
		display: none;
	}
	
	nav.mobile-nav {
	  display: flex;
	  position: fixed;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100vh;
	  background: var(--dark-brown);
	  z-index: 1000;
	  justify-content: center;
	  align-items: center;
	  transform: translateY(-100%);
	  transition: all 0.3s;
	  opacity: 0;
	  visibility: hidden;
	}
	
	nav.mobile-nav.opened {
		transform: translateY(0);
		transition: all 0.3s;
		opacity: 1;
		visibility: visible;
	}
	
	nav.mobile-nav .nav {
		display: flex;
		flex-direction: column;
		text-align: center;
	}
	
	nav.mobile-nav .nav a {
	color: var(--paper-color);
	  font-weight: 300;
	  font-size: 1.75rem;
	  margin: 0.5rem 0 ;
	  text-transform: uppercase;
	  letter-spacing: 0.05rem;
	  transition: all 0.3s;
	}
	
	nav.mobile-nav .nav a:hover {
		color: var(--light-brown);
		transition: all 0.3s;
	}
	
	#close-nav {
		position: absolute;
		right: 2rem;
		top: 2rem;
		color: var(--body-color);
		font-size: 2.5rem;
		cursor: pointer;
		transition: all 0.3s;
	}
	
	#close-nav:hover {
		color: var(--light-brown);
		transition: all 0.3s;
	}
	
	.mobile-cta {
		position: absolute;
		  bottom: 0;
		  padding: 1em;
		  display: flex;
		  justify-content: center;
		  align-items: center;
		  gap: 2rem;
		  width: 100%;
		  background:rgba(120, 97, 72, 0.17);
	}
	
	.mobile-cta a i {
		margin: 0 0.25rem 0 0 ;
	}
	
	.mobile-cta .site-phone a {
	 color: var(--paper-color);
	 font-size: 1.125em;
	 font-weight: 400;
	 letter-spacing: 0.05rem;
	 transition: all 0.3s;
	 height: 48px;
	 line-height: 45px;
	 border-radius: 0;
	 display: inline-block;
	 border: none;
	 text-transform: uppercase;
  }
  
  .mobile-cta .site-phone span {
	  color: var(--light-brown);
	  margin: 0 0 0 0.5rem;
  }
  
  .mobile-cta .site-phone:hover span {
		color: var(--body-color);
		transition: all 0.3s;
	}

}

/* FOOTER */

footer#footer .row {
  padding: 30px 0;
	padding-bottom: 30px;
  display: flex;
  flex-wrap: wrap;
}

footer#footer .row .map {
	padding: 0;
	border-radius: 1em;
	overflow: hidden;
}

footer#footer .row .content {
	position: relative;
	margin: 0 0 6rem 0;
	display: flex;
	flex-direction: column;
	padding: 0 1rem;
}

footer#footer .row .content h2 {
	color: var(--paper-color);
	font-size: 4rem;
}
footer#footer .row .content a:hover {
	color: var(--light-brown);
}


footer#footer .row .content p {
	color: var(--paper-color);
	font-weight: 300;
	max-width: 450px;
	width: 100%;
}

footer#footer .footer-contact h3 {
	text-transform: none;
}

footer#footer .footer-contact p {
	color: var(--paper-color);
	font-weight: 300;
}

footer#footer p.contacts {
	color: var(--paper-color);
	font-weight: 300;
}

footer#footer p.contacts  a {
	color: var(--paper-color);
	font-weight: 300;
}

footer#footer .footer-contact i {
	color: var(--light-brown);
	margin: 0 0.5rem 0 0;
}

footer#footer .footer-contact span.pipe {
	color: var(--light-brown);
	margin: 0 1rem 0 1rem;
}


footer#footer .row .col {
	max-width: 220px;
}

footer#footer .affiliation.abta {
  width: 140px;
  margin-right: 0;
}

footer#footer .affiliation.atol {
  width: 80px;
}

footer#footer .affiliation img {
  width: 100%;
}

footer#footer{
	padding:4rem 0 3rem 0;
	background: var(--dark-brown);
	color:var(--body-color);
}



footer#footer .logo{
	width: 150px;
	margin: 0 auto 20px;
}

footer#footer .logo a{
	display:block;
}

footer#footer .logo a svg, footer#footer .logo a img{
	display:block;
	width:100%;
	height:auto;
}

footer#footer h4{
	margin: 0 0 1rem 0;
	  font-size: 1.125rem;
	  font-family: var(--title-font);
	  color: var(--dark-brown);
	  text-transform: uppercase;
	  letter-spacing: 0.05rem;
}

footer#footer ul {
	padding-left: 0;
}

footer#footer ul li {
	
}

footer#footer .footer-socials {
	display: flex;
	max-width: 100px;
	justify-content: flex-start;
	gap: 1em;
}

footer#footer .footer-socials li {
	display: flex;
	background: RGBA(244, 242, 233, 0.25);
	border-radius: 0;
	text-align: center;
	width: 40px;
	  height: 40px;
	  justify-content: center;
	  align-items: center;
	  transition: all 0.3s;
}

footer#footer .footer-socials li:hover {
	background: var(--light-brown);
	transition: all 0.3s;
}

footer#footer .footer-socials li a {
	padding:0.5rem;
	display: flex;
	  align-items: center;
}
footer#footer .footer-socials li a i {
	color: var(--paper-color);
	margin: 0;
	font-size: 1.125rem;

}

footer#footer ul li a {
	font-weight: 300;
	font-size: 0.875rem;
}

footer#footer p.contact{
	font-size: 1em;
	color: darken(@font-color, 10%);
	font-weight:500;
}

footer#footer p.contact a{
	margin:0 10px;
	
}
footer#footer .address p{
	color: var(--body-color);
	margin:0;
	font-size: 0.875em;
}
footer#footer p.copyright, footer#footer p.terms{
	font-size: 0.875em;
	color: #949bb8;
}

footer#footer p.credit{
	font-size: 0.875em;
	color: #866d5c;
}

footer#footer p.credit a {
	font-weight: 400;
    color: #866d5c;
}


footer#footer .row .content a:hover,
footer#footer p.contacts a:hover {
	color: var(--light-brown);
}

footer#footer p.credit a:hover {
	color: var(--paper-color);
}

footer#footer .pipe {
	margin: 0 0.5rem;
	color: var(--dark-brown);
}
	
footer#footer a{
	transition:all 0.3s;
	color:#fff;
}

#opening-hours {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	justify-content: center;
	align-items: center;
	backdrop-filter: blur(15px);
	  -webkit-backdrop-filter: blur(15px);
	  background: rgba(23, 17, 13, 0.8);
	  z-index: 1000;
}

#opening-hours.visible {
	display: flex;
}

#opening-hours .wrapper {
	position: relative;
	padding: 3.5rem;
	  background-color: rgb(253, 243, 227);
	  border-radius: 0;
	  width: fit-content;
	  text-align: center;
}

#opening-hours .wrapper .close-open {
	position: absolute;
	right: 0.5em;
	top: 0.5em;
	font-size: 1.5rem;
	cursor: pointer;
	transition: all 0.2s;
}

#opening-hours .wrapper .close-open:hover {
	color: var(--light-brown);
	transition: all 0.2s;
}

#opening-hours .wrapper p {
	margin-bottom: 0;
}

@media screen and (max-width: 1240px){
	footer#footer .row .content h2 {
	  font-size: 5vw;
	}
}


@media screen and (max-width: 900px) {
  footer#footer {
	text-align: center;
  }
 
  
 footer#footer .row {
	  flex-direction: column;
	  align-items: center;
	}
	
	footer#footer .row .col-md-6 {
		width: 100%;
	}
	
	footer#footer .row .content {
	display: flex;
	  flex-direction: column;
	  align-items: flex-start;
		  text-align: left;
		
	}
	
	footer#footer .row .col-md-6 .aurora-map {
		height: 350px!important;
	}
	
footer#footer .row .col {
		margin: 1em 0;
	}
	
	
	.footer-contact {
		margin: 3rem 0 0 0;
		text-align: left;
	}
	
	footer#footer .row .content h2 {
	  font-size: 6vw;
	}
	
	footer#footer .row .content h3 {
	  font-size: 4vw;
	}
}



@media screen and (max-width: 680px){
	footer#footer .row .content h2 {
	  font-size: 5.5vw;
	}
}

@media screen and (max-width: 500px){
	footer#footer .row .content h2 {
	  font-size: 6vw;
	}
	
	footer#footer .row .content h3 {
	  font-size: 4.5vw;
  }
}

@media screen and (max-width: 380px){
	footer#footer .row .content h2 {
	  font-size: 7vw;
	}
	

}



/* YOUTUBE VIDEO */

section.single-video{
	margin:45px 0;
	padding:45px 5%;
	background-color: lighten(--body-color, 10%);
	background-image: @large-diagonals;
	image-rendering: -moz-crisp-edges;
	image-rendering: pixelated;
	border-top:1px solid lighten(--body-color, 20%);
	border-bottom:1px solid lighten(--body-color, 20%);
}

section.single-video .container-fluid{
	max-width:@max-width;
	margin:0 auto;
	filter: saturate(0.2);
}


/* LIST FILTER */

div.list-filter{
	margin-bottom:20px;
}

div.list-filter .inline-wrapper{
	display: flex;
	align-items: flex-end;
	justify-content:center;
}

.list-filter select{
	min-width:200px;
	
}


/* YOUTUBE VIDEO */

section.youtube-video{
	margin:75px 0;
	padding:0 5%;
}
section.youtube-video iframe{
	border:none;
}

/* partners */

section.partners{
	padding:30px 0;
	background:var(--dark-brown);
	text-align:center;
}

section.partners ul{
	list-style:none;
	font-size:0;
	margin: 0;
}
section.partners li{
	width:140px;
	display:inline-block;
	margin:0 1%;
}
section.partners li img{
	display:block;
	width:100%;
	height:auto;
	filter: grayscale(100%) brightness(100);
	-webkit-filter:grayscale(100%) brightness(100);
	opacity:0.8;
	padding:5%;
}

/* gallery block */

.gallery-block {
	padding: 5rem 0;
	width: 100%;
	position: relative;
}

.gallery-images {
	display: flex;
	gap: 0.5rem;
	  flex-wrap: wrap;
}

.gallery-images .col-md-6 {
flex: 0 0 auto;
width: calc(33% - 0.25rem);
}


