/*###########################################################################*/
/*################################### Reset #################################*/
/*###########################################################################*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}
html{ /* Remove 300 ms delay on touchscreens - IE */ 
	-ms-touch-action: manipulation;
    touch-action: manipulation;
    /*scroll-behavior: smooth;*/
	/*scrollbar-width: thin;*/
}
address{
	font-style: normal;
}
body {
	line-height: 1;
	-webkit-text-size-adjust: none; /* avoid automatic text adjustement in safari on mobiles */
	-webkit-tap-highlight-color: rgba(0,0,0,0); /* remove clicked menu hightlight in iphone */
	-webkit-font-smoothing: antialiased; /* Fix Font Flickering With Slideshow, CSS and JS Animations */ 
}
ul{
	padding:0px;
}
ul li{
	list-style-type: none;	
}
a:link, a:visited{
	/* text-decoration:none; */
}
a img{
	border:none;
}
a{
	outline-color: transparent;
	/*outline: 0;*/
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
iframe{
	display:block;
	border-radius:25px;
	width:100%;
	height:700px;
}

.scheduleCT iframe{
	height:900px;
}

/* unify scroll width and appearance on all devices - except firefox on OSX */
/*::-webkit-scrollbar{
  -webkit-appearance: none;
  width: 17px;
}
::-webkit-scrollbar-thumb{
  border-radius: 0px;
  background-color: #d8d8d8;
}*/


::-moz-selection { /* Code for Firefox */
	color: #004182;
	background: #fff200;
}

mark,
::selection {
	color: #004182;
	background: #fff200;
}


/*###########################################################################*/
/*################################## Fonts ##################################*/
/*###########################################################################*/

/*@font-face {
  font-family: 'Betm';
  src:  url('assets/fonts/betm-rounded-extrablack.woff2') format('woff2'),
        url('assets/fonts/betm-rounded-extrablack.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Quicksand';
  src:  url('assets/fonts/quicksand-v9-latin-regular.woff2') format('woff2'),
        url('assets/fonts/quicksand-v9-latin-regular.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Quicksand';
  src:  url('assets/fonts/quicksand-v9-latin-700.woff2') format('woff2'),
        url('assets/fonts/quicksand-v9-latin-700.woff') format('woff');
        font-weight:bold;
  font-display: swap;
}*/

/*###########################################################################*/
/*################################# Sprites #################################*/
/*###########################################################################*/

/*.collapsible div,*/
.inputWrap .label div,
.labelRadio div,
.labelCheck div,
.selectListWrap > a::after,
.spriteIcon,
.inlineIcon,
.extraBigIcon,
.biggerIcon{
	background: url('assets/sprite.png');
	background-size:800px 800px;
	background-repeat: no-repeat;
}

/*.spriteIcon{
	width: 25px; height: 25px;
	background-position: -75px -25px;
}*/

/*###########################################################################*/
/*################################ Preloader ################################*/
/*###########################################################################*/

#preloadingPage{
	width: 250px;
	height: auto;
	position: fixed;
	left: 50%;
	top: 50%;
	animation:loadDisapear 0.4s ease forwards;
	
	
	z-index:99999;
	transform:scale3d(0,0,0) translate3d(-50%,-50%,0);
	/*transform:translate3d(-50%,-50%,0); /* --------------------- */
	
	transform-origin:top left;
	transform-box: fill-box;
	
}
#preloadingPage svg{
	width:100%;
	height:auto;
	display:block;
	fill:white;
}
[data-preloader] #preloadingPage{
	visibility:visible;
	animation:loadAppear 0.4s ease forwards;
	/*display:block;*/
}

/* Special cases */
[data-landing] #preloadingPage,
[data-landing] #preloadingMask{
	/*display:none;*/
	visibility:collapse;
	/*visibility:visible; /* --------------------- */
}


#preloadingPage .logoSun{
	transform: rotate3d(0,0,1,-90deg);
	transform:none; /* Firefox bug */
	transform-box: unset;
}
#preloadingPage .sunGroup{
	transform: translate3d(0,0,0) scale3d(1,1,1);
}
#preloadingPage .face{
	transform: translate3d(0,0,0) scale3d(1,1,1);
}
#preloadingPage .letters-out{
	transform: scale3d(1,1,1);
}
#preloadingPage .letters-in{
	transform: scale3d(1,1,1);
}
#preloadingPage .sunHover{
	transform-origin:center;
	transform-box: fill-box;
	animation: sunRotate2 3s linear 0.2s infinite;
	animation-play-state: paused;
}
[data-preloader] #preloadingPage .sunHover{
	animation-play-state: running; 
}

/*#preloadingPage .sunHover{
	animation-play-state: running; 
}*/

.sl-spinner{ /* lightbox images opening spinner */
    width: 60px;
	height: 60px;
	margin-top:-30px;
	margin-right:-30px;
	position: fixed;
	z-index: 999;
	right: 50%;
	top: 50%;
	animation: bounce 1s cubic-bezier(0.46, 0.03, 0.52, 0.96) infinite;
}
.sl-spinner div{
	width:100%;
	height:100%;
	background-color:white;
	border-radius:50%;
}

@keyframes bounce {
    0% {transform:scale(1);}
    50% {transform:scale(0.5);}
}
@keyframes loadAppear {
	0% { transform:scale3d(0,0,0) translate3d(-50%,-50%,0); }
    100% { transform:scale3d(1,1,1) translate3d(-50%,-50%,0);}
}
@keyframes loadDisapear {
	0% { transform:scale3d(1,1,1) translate3d(-50%,-50%,0); }
    100% { transform:scale3d(0,0,0) translate3d(-50%,-50%,0); }
}

/* Preloader Mask (Transition) */
#preloadingMask{
	position:fixed;
	top:0;
	left:0;
	width:100vw;
	height:100dvh;
	background: radial-gradient(#4c83d5 50%, #005AAA 100%);
	z-index:9999;
	animation:hideTransition 0.5s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

[data-mainmenu] #preloadingMask,
[data-landing] #preloadingMask{    
	animation:hideTransition 0s cubic-bezier(0.22, 0.61, 0.36, 1) forwards; /* 0s is important !*/
}
[data-transition] #preloadingMask{
	animation:showTransition 0.5s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

/*@keyframes showTransition{
    0% {transform:translate(0,-100dvh);}
    100% {transform:translate(0,0);}
}
@keyframes hideTransition{
    0% {transform:translate(0,0);}
    99% {transform:translate(0,100dvh);}
    100% {transform:translate(0,100dvh); visibility:collapse;}
}*/
@keyframes showTransition{
    0% {transform:translate(0,-100vh); opacity:0;}
	1% {transform:translate(0,0); opacity:0;}
    100% {transform:translate(0,0); opacity:1;}
}
@keyframes hideTransition{
    0% {transform:translate(0,0); opacity:1;}
    99% {transform:translate(0,0); opacity:0;}
    100% {transform:translate(0,100vh); opacity:0; visibility:collapse;}
}


/* Content effects */
[data-landing] #contentWrapper{
	animation:none;
}
#contentWrapper{  
	animation:showContent 0.5s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}
[data-mainmenu] #contentWrapper,
[data-transition] #contentWrapper{
    animation:hideContent 0.5s ease-in forwards;
}
/*@keyframes hideContent{
    0% {transform:translate(0,0);}
    100% {transform:translate(0,10dvh);}
}
@keyframes showContent{
    0% {transform:translate(0,-10dvh);}
    98% {transform:translate(0,0);}
    99% {transform:none;}
}*/

@keyframes hideContent{
    0% {transform:translate3d(0,0,0);}
    100% {transform:translate3d(0,0,-1px);}
}
@keyframes showContent{
    0% {transform:translate3d(0,0,-1px);}
    98% {transform:translate3d(0,0,0);}
    99% {transform:none;} /* Bug = ignored if 100%? */
}

html {
   /*overflow: clip;*/
}

body[data-noscroll]{
	
}
footer,
main{    
	transform-style: preserve-3d; /* Transmit the 3d environment generated from scrollWrapper !!! overflow:hidden will cancel the effect. */
}
#perspectiveCt{
	perspective: 6px;
	perspective-origin: top;
}

@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */

}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */

}
@media only screen and (max-width: 719px) { /* Mobile Devices */
#preloadingPage{
	width: 200px;
}
}

/*###########################################################################*/
/*########################### Slices + Grid System ##########################*/
/*###########################################################################*/

body{
	display:flex;
	flex-wrap: wrap;
	/* perspective: 6px; */ /* needs bigger number to take steps back - allows objects with translateZ > 0 (faster) */
}

body > header,
body main,
body > section,
body > footer,
body > aside{
	width:100%;
}
#contentStartAnchor{
	display:block;
	position:absolute;
	width:10px;
	height:0px;
}
#perspectiveCt,
.slice,
header,
aside,
article,
main,
section,
footer{
	width: 100%;
	box-sizing: border-box;
	position: relative;
}
section{
	overflow-x:clip;
}

/* Grid & Templates*/

:root {
	--gu: clamp(12px, calc(100vw / 26 ), 60px); /* --gu = 4.16 rem  80px = 1920 width*/
	font-size: clamp(18px, 1.1vw, 20px); /* defines rem */
}
.frame{
	width:100%;
	max-width: calc(var(--gu) * 26);
	margin:0 auto;
}
.limited{ /* Defines content width restrictions when screens get larger */
	width:100%;
	max-width: calc(var(--gu) * 24);
	margin:0 auto;
}

/* tool (can be removed) */
.gridTemplate{
	display: grid;
	height:100dvh;
	grid-template-columns: repeat(26, var(--gu));
	flex-wrap: nowrap;
	position: fixed;
	left:50%;
	transform: translate3d(-50%,0,0);
	display:none;
}
.gridTemplate > div{
	box-sizing:border-box;
	border-right:solid 1px #ff6600;
	text-align:right;
	color:#656565;
	text-align:center;
	font-size:0.6rem;
}
.gridTemplate > div:first-child{
	border-left:solid 1px #ff6600;
}

@media only screen and (min-width: 1191px) and (max-width: 1740px) { /* Large Screens */

}
@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */

}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */

}
@media only screen and (max-width: 719px) { /* Mobile Devices */
.gridTemplate{
	left:50%; /* Ignore scroll bar */
}
:root{
	--gu: calc(((100vw / 100) * 95) / 26); /* 95% of the width to add padding on the sides */
}
}
@media (hover: none) { /* Any Touch Screen */
	/*not working on samsung? */
}


/*###########################################################################*/
/*################################### Dough #################################*/
/*###########################################################################*/

.doubleDough,
.doubleDoughH1,
.doubleDoughH2,
.singleDough,
.singleDoughBottom,
.singleDoughH2,
.singleDoughH1{
	padding:6rem 0;
}
/*.singleDoughH2,
.doubleDoughH2{
	padding-top:4.5rem;
}
.singleDoughH1,
.doubleDoughH1{
	padding-top:4rem;
}*/
.singleDoughH2,
.singleDoughH1,
.singleDough{
	padding-bottom:0;
}
.singleDoughBottom{
	padding-top:0;
}

@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */
.doubleDough,
.doubleDoughH1,
.doubleDoughH2,
.singleDough,
.singleDoughBottom,
.singleDoughH2,
.singleDoughH1{
	padding:4rem 0;
}
.singleDoughH2,
.singleDoughH1,
.singleDough{
	padding-bottom:0;
}
.singleDoughBottom{
	padding-top:0;
}
}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */
.doubleDough,
.doubleDoughH1,
.doubleDoughH2,
.singleDough,
.singleDoughBottom,
.singleDoughH2,
.singleDoughH1{
	padding:4rem 0;
}
.singleDoughH2,
.singleDoughH1,
.singleDough{
	padding-bottom:0;
}
.singleDoughBottom{
	padding-top:0;
}
}
@media only screen and (max-width: 719px) { /* Mobile Devices */
.doubleDough,
.doubleDoughH1,
.doubleDoughH2,
.singleDough,
.singleDoughBottom,
.singleDoughH2,
.singleDoughH1{
	padding:4rem 0;
}
.singleDoughH2,
.singleDoughH1,
.singleDough{
	padding-bottom:0;
}
.singleDoughBottom{
	padding-top:0;
}
}

/*###########################################################################*/
/*################################ Global Styles ############################*/
/*###########################################################################*/

html{
	min-height:100%;
	font-family: 'Quicksand', sans-serif;
}

body{
	color: #6E6C68;
	/* background-color: #e1e1e1; */
	/* overflow-x:hidden; /* Fix bug in IE */
	position:relative;
	line-height: 1.6;
	font-size:0.9rem;
}

/* --------------------------- typo + paragraphs */
a{
	color: #0073E6;
	/*text-decoration:none;*/
	text-decoration-color:#FFF200;
	text-decoration-thickness: 1px;
	text-underline-position: under;
}
a:hover{
	text-decoration:underline;
	text-decoration-color:#FFF200;
	text-decoration-thickness: 3px;
	/*text-decoration-style: wavy;*/
	text-underline-position: under;
}
.darkBG a{
	color: #FFF200;
	/*text-decoration:none;*/
}
.darkBG.menuCt a{
	text-decoration:none;
}
.darkBG a:hover{
	text-decoration:underline;
	text-decoration-color:#FFF200;
	text-decoration-thickness: 3px;
	/*text-decoration-style: wavy;*/
	text-underline-position: under;
}
p{
	margin-bottom:1rem;
}
h1, h2, h3, h4, .titleH2{
	font-family: 'Betm', sans-serif;
	font-size:3.5rem;
	font-weight:bold;
	line-height:0.8;
	color:#005AAA;
	text-wrap: balance;
}
h2, .titleH2{
	font-size:2.8rem;
}
h3{
	font-size:1.8rem;
}
h4{
	font-size:1.6rem;
}
small{
	font-size:0.7rem;
	display:inline-block;
	line-height:1.6;
}
small.italic{
	font-size:0.7rem;
    font-style:italic;
}
sup{
	font-size: 0.7rem;
	vertical-align: super;
}
sub{
	font-size: 0.7rem;
	vertical-align: sub;
}
span.indent{
	display:inline-block;
	box-sizing:border-box;
	padding:0 0 0 20px;
	border-left:solid 10px #a7a5a1;
}
.inlineImg{
	position:relative;
	left:50%;
	width: clamp(100%, calc( var(--gu) * 14), 900px); /* to customize */
	transform:translate(-50%,0);
	height:auto;
}
.inlineImg img{
	display:block;
	width:100%;
	height:auto;
}
article .inlineImg{
	position:static;
	left:0;
	width:100%;
	transform:none;
	height:auto;
	border-radius:20px 20px 0 0;
}
picture ~ .imgCaption,
picture .imgCaption{
	position:absolute;
	width:100%;
	bottom:0;
	padding:5px 0;
	box-sizing:border-box;
	font-size:0.65rem;
	font-style:italic;
	text-align:center;
	color:#ffffff;
	background-color:#005aaa7d;
}

/* ------ special mobile */

.mobOnly{ /* usage: <br class="mobOnly" > */
	display:none;
}

/* ------ skip link */
.skip-link{
	left: 50%;
	position: absolute;
	transform: translate3d(-50%,-200%,0);
	background: #ececec;
	z-index:9999;
	transition: transform 0.3s ease;
	padding:1rem 2rem 0.7rem 2rem;
	vertical-align:middle;
}
.skip-link:focus-within {
	transform: translate3d(-50%,0,0);
}


@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */
.homeIntro > h1 {
    max-width: calc(var(--gu)* 11);
}
h1{
	font-size:3rem;
	line-height:0.8;
}
h2, .titleH2{
	font-size:2.4rem;
}
}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */
.homeIntro > h1 {
    max-width: calc(var(--gu)* 11);
}
h1{
	font-size:3rem;
	line-height:0.8;
}
h2, .titleH2{
	font-size:2.4rem;
}
.noTab{ /* usage: <br class="noTab" > */
	display:none;
}
}
@media only screen and (max-width: 719px) { /* Mobile Devices */
.homeIntro > h1 {
    max-width: calc(var(--gu)* 11);
}
h1{
	font-size:2.8rem;
	line-height:0.8;
}
h2, .titleH2{
	font-size:2.4rem;
}
.mobOnly{
	display:inline-block;
}
.noMob{ /* usage: <br class="noMob" > */
	display:none;
}
}


/*###########################################################################*/
/*################################## Icons ##################################*/
/*###########################################################################*/

/*
<span class="inlineIcon a1"></span>
<span class="biggerIcon b1"></span>
*/

.inlineIcon{
	display: inline-block;
	vertical-align:middle;
    margin: 0 0 0 0;
    width: 26px;
    height: 26px;
	background-position: -3px -621px;
}
.inlineIcon.b1{ background-position: -35px -621px;}
.inlineIcon.c1{ background-position: -66px -621px;}
.inlineIcon.d1{ background-position: -97px -621px;}
.inlineIcon.e1{ background-position: -128px -621px;}
.inlineIcon.f1{ background-position: -159px -621px;}
.inlineIcon.g1{ background-position: -190px -621px;}
.inlineIcon.h1{ background-position: -221px -621px;}
.inlineIcon.i1{ background-position: -252px -621px;}
.inlineIcon.j1{ background-position: -284px -621px;}
.inlineIcon.k1{ background-position: -315px -621px;}
.inlineIcon.l1{ background-position: -346px -621px;}

.inlineIcon.a2{ background-position: -3px -651px;}
.inlineIcon.b2{ background-position: -34px -651px;}
.inlineIcon.c2{ background-position: -65px -650px;}
.inlineIcon.d2{ background-position: -96px -650px;}
.inlineIcon.e2{ background-position: -128px -650px;}
.inlineIcon.f2{ background-position: -159px -650px;}
.inlineIcon.g2{ background-position: -190px -650px;}
.inlineIcon.h2{ background-position: -221px -650px;}
.inlineIcon.i2{ background-position: -252px -650px;}
.inlineIcon.j2{ background-position: -283px -650px;}
.inlineIcon.k2{ background-position: -314px -650px;}
.inlineIcon.l2{ background-position: -346px -650px;}

.inlineIcon.a3{ background-position: -3px -680px;}
.inlineIcon.b3{ background-position: -34px -680px;}
.inlineIcon.c3{ background-position: -65px -680px;}
.inlineIcon.d3{ background-position: -96px -680px;}
.inlineIcon.e3{ background-position: -128px -680px;}
.inlineIcon.f3{ background-position: -159px -680px;}
.inlineIcon.g3{ background-position: -190px -680px;}
.inlineIcon.h3{ background-position: -221px -680px;}
.inlineIcon.i3{ background-position: -252px -680px;}
.inlineIcon.j3{ background-position: -283px -680px;}
.inlineIcon.k3{ background-position: -314px -680px;}
.inlineIcon.l3{ background-position: -346px -680px;}

.inlineIcon.a4{ background-position: -3px -710px;}
.inlineIcon.b4{ background-position: -35px -710px;}
.inlineIcon.c4{ background-position: -65px -710px;}
.inlineIcon.d4{ background-position: -97px -710px;}
.inlineIcon.e4{ background-position: -128px -710px;}
.inlineIcon.f4{ background-position: -159px -710px;}
.inlineIcon.g4{ background-position: -191px -710px;}
.inlineIcon.h4{ background-position: -222px -710px;}
.inlineIcon.i4{ background-position: -253px -710px;}
.inlineIcon.j4{ background-position: -284px -710px;}
.inlineIcon.k4{ background-position: -315px -710px;}
.inlineIcon.l4{ background-position: -347px -710px;}

.inlineIcon.a5{ background-position: -3px -740px;}
.inlineIcon.b5{ background-position: -35px -740px;}
.inlineIcon.c5{ background-position: -66px -740px;}
.inlineIcon.d5{ background-position: -97px -740px;}
.inlineIcon.e5{ background-position: -128px -740px;}
.inlineIcon.f5{ background-position: -159px -740px;}
.inlineIcon.g5{ background-position: -191px -740px;}
.inlineIcon.h5{ background-position: -222px -740px;}
.inlineIcon.i5{ background-position: -253px -740px;}
.inlineIcon.j5{ background-position: -284px -740px;}
.inlineIcon.k5{ background-position: -315px -740px;}
.inlineIcon.l5{ background-position: -347px -740px;}

.inlineIcon.a6{ background-position: -3px -771px;}
.inlineIcon.b6{ background-position: -35px -771px;}
.inlineIcon.c6{ background-position: -66px -771px;}
.inlineIcon.d6{ background-position: -97px -771px;}
.inlineIcon.e6{ background-position: -128px -771px;}
.inlineIcon.f6{ background-position: -159px -771px;}
.inlineIcon.g6{ background-position: -190px -771px;}
.inlineIcon.h6{ background-position: -222px -771px;}
.inlineIcon.i6{ background-position: -253px -771px;}
.inlineIcon.j6{ background-position: -284px -771px;}
.inlineIcon.k6{ background-position: -315px -771px;}
.inlineIcon.l6{ background-position: -346px -771px;}

.inlineIcon.s1{
	width: 91px;
	height: 19px;
	background-position: -5px -582px;
}
.inlineIcon.s2{ 
	width: 91px;
	height: 19px;
	background-position: -5px -561px;
}
.inlineIcon.s3{ 
	width: 91px;
	height: 19px;
	background-position: -5px -541px;
}
.inlineIcon.s4{ 
	width: 91px;
	height: 19px;
	background-position: -5px -521px;
}
.inlineIcon.s5{ 
	width: 91px;
	height: 19px;
	background-position: -5px -501px;
}
.biggerIcon{
	display:inline-block;
	vertical-align:middle;
	margin:0 0 0 0;
	width: 36px; height: 36px;
	background-position: -425px -603px;
}
.biggerIcon.b1{ background-position: -467px -603px;}
.biggerIcon.c1{ background-position: -509px -603px;}
.biggerIcon.d1{ background-position: -550px -603px;}
.biggerIcon.a2{ background-position: -425px -643px;}
.biggerIcon.a2{ background-position: -425px -643px;}
.biggerIcon.b2{ background-position: -467px -643px;}
.biggerIcon.c2{ background-position: -509px -643px;}
.biggerIcon.d2{ background-position: -550px -643px;}
.biggerIcon.a3{ background-position: -425px -682px;}
.biggerIcon.b3{ background-position: -467px -682px;}
.biggerIcon.c3{ background-position: -509px -682px;}
.biggerIcon.d3{ background-position: -550px -682px;}
.biggerIcon.a4{ background-position: -425px -722px;}
.biggerIcon.b4{ background-position: -467px -722px;}
.biggerIcon.c4{ background-position: -509px -722px;}
.biggerIcon.d4{ background-position: -550px -722px;}
.biggerIcon.a5{ background-position: -425px -761px;}
.biggerIcon.b5{ background-position: -467px -761px;}
.biggerIcon.c5{ background-position: -509px -761px;}
.biggerIcon.d5{ background-position: -550px -761px;}

.extraBigIcon{
	display:inline-block;
	vertical-align:middle;
	margin:0 0 0 0;
	background-position: -610px -631px;
	width: 52px; height: 52px;
}
.extraBigIcon.b1{ background-position: -666px -631px;}
.extraBigIcon.c1{ background-position: -723px -631px;}
.extraBigIcon.a2{ background-position: -610px -687px;}
.extraBigIcon.b2{ background-position: -666px -687px;}
.extraBigIcon.c2{ background-position: -723px -687px;}
.extraBigIcon.a3{ background-position: -611px -743px;}
.extraBigIcon.b3{ background-position: -667px -743px;}
.extraBigIcon.c3{ background-position: -723px -743px;}

.badgeTA{
	width: 101px;
	height: 102px;
	background-position: -98px -498px;
}
.badgeVia{
	width: 100px;
	height: 102px;
	background-position: -213px -498px;
}

/*###########################################################################*/
/*################################ Buttons ##################################*/
/*###########################################################################*/

/*<a href="#" class="inPageButtonsB">About</a>*/

span.inPageButtons,
span.inPageButtonsB,
span.inPageButtonsC,
a.inPageButtons,
a.inPageButtonsB,
a.inPageButtonsC{
	text-decoration:none;
	display:inline-block;
	padding: 6px 20px;
	border-radius: 25px;
	background-color: #fff200;
	color: #004182;
	margin:20px 20px 0 0;
	font-size:0.9rem;
	transform:rotate3d(0,0,1,0deg) scale3d(1,1,1);
	transition:transform 0.2s ease;
	box-shadow:2px 2px 5px hsl(0deg 0% 0% / 10%);
}
.error a.inPageButtons{
	color: #004182;
}
span.inPageButtons:hover,
span.inPageButtonsB:hover,
span.inPageButtonsC:hover,
a.inPageButtons:hover,
a.inPageButtonsB:hover,
a.inPageButtonsC:hover{
	text-decoration: none;
	transform:rotate3d(0,0,1,3deg) scale3d(1.1,1.1,1);
}
span.inPageButtonsB,
a.inPageButtonsB{
	background-color: #dae6f4;
	color: #004182;
}
span.inPageButtonsB:hover,
a.inPageButtonsB:hover{
	transform:rotate3d(0,0,1,-3deg) scale3d(1.1,1.1,1);
}
span.inPageButtonsC,
a.inPageButtonsC{
	background-color: #dae6f4;
	color: #004182;
	padding: 0px 10px;
	font-size:0.7rem;
	margin:0.3rem 1rem 0 0;
}
a.inPageButtonsC span{
	vertical-align:middle;
}
span.inPageButtonsC:hover,
a.inPageButtonsC:hover{
	transform:rotate3d(0,0,1,-3deg) scale3d(1.1,1.1,1);
}
a.inPageButtons.active,
a.inPageButtonsB.active{
	background-color: #005aaa;
	color: #FFFFFF;
}

/* Circular buttons */
.cButton{
	background:#fff200;
	width:40px;
	height:40px;
	border-radius:50%;
	display:block;
	transition:scale 0.2s ease;
	scale:1 1;
	transform-origin:top;
}
.cButton .inlineIcon{
	position:absolute;
	top:50%;
	left:50%;
	translate:-43% -50%;
}
.slider-nav.cButton .inlineIcon{
	transform: rotate3d(0,0,1,180deg);
	translate:-60% -48%;
}
.slider-nav-next.cButton .inlineIcon{
	transform: rotate3d(0,0,0,180deg);
	translate:-43% -50%;
}
.circularButton{
	background:#fff200;
	position:relative;
	width:60px;
	height:60px;
	border-radius:50%;
	display:block;
	transition:scale 0.4s ease;
	transform-origin:center;
	box-shadow:2px 2px 5px hsl(0deg 0% 0% / 10%);
}
.circularButton .inlineIcon{
	position:absolute;
	top:50%;
	left:50%;
	translate:-43% -50%;
}
.circularButton:hover,
.cButton:hover{
	scale:1.2 1.2;
}
.circularButton.smallB{
	width:40px;
	height:40px;
}


/*##############################################################################*/
/*################################ File Links ##################################*/
/*##############################################################################*/

.fileBlock{
	display:inline-block;
}
.fileBlock .inlineIcon{
    margin-top:1rem;
}
.fileBlock .fileItem{
	/*background-color:cadetblue;*/
	display:inline-block;
	vertical-align:top;
	margin-top:1rem;
}
.fileBlock .fileItem span.docSize,
.fileBlock .fileItem span.modified{
    font-size:0.7rem;
    font-style:italic;
    display:block;
    line-height:1.2;
}

/*############################################################################################################################################*/
/*############################################################################################################################################*/
/*############################################################################################################################################*/
/*############################################################################################################################################*/
/*####################################################### Frame + Persistent Elements ########################################################*/
/*############################################################################################################################################*/
/*############################################################################################################################################*/
/*############################################################################################################################################*/
/*############################################################################################################################################*/


/*###########################################################################*/
/*##################################### Logo ################################*/
/*###########################################################################*/

.logoContainer{
    position: absolute;
    top: 30px;
}
.logoContainer > div{
	height:10px;
}

.logo{
	width:200px;
	display:block;
	position:relative;
	will-change: transform; /*Fix rough scroll in Edge*/
}
.logo svg{
	width: 100%;
	height: auto;
	overflow:visible;
}

/* --------------- SVG */

.sun-in{
	fill:#FFF200;
}
.sun-out{
	fill:#004182;
}
.logoSun{
	transform: rotate3d(0,0,1,-90deg);
	transform-origin:center;
	transform-box: fill-box;
}
.sunGroup{
	transform: translate3d(0,15px,0) scale3d(0,0,1);
	transform-origin:center;
	transform-box: fill-box;
}
.face{
	transform: translate3d(0,15px,0) scale3d(0,0,1);
	transform-box: fill-box;
	transform-origin:center;
	fill:#004182;
}
.letters-out{
	fill:#004182;
	transform: scale3d(1,1,1); /* Fix bug chrome rendering pixelated on Safari */
	transform-origin:center;
	transform-box: fill-box;
}
.letters-in{
	fill:#ffffff;
	transform-origin:center;
	transform-box: fill-box;
	transform: scale3d(1,1,1);
}


[data-homePageLanding] #mainLogo{
	
}
[data-transition] #mainLogo{ /* rewind logo animation to run it after transition ? */
	
}

/* ---------------------------------------------------------------------------------------------- Viewport Animation */


.inViewport.logo .logoSun{
	animation: sunRotate 2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s forwards;
}
.smallLogo .logoSun{
	animation: sunRotate2 6s linear infinite;
	
}
.inViewport.smallLogo .logoSun{
	
}
.inViewport.logo .sunGroup{
	animation: sunRise 0.8s cubic-bezier(0.68, -0.55, 0.37, 1.26) 0.1s forwards;
}
.inViewport.logo .face{
	animation: sunRise 0.8s cubic-bezier(0.68, -0.55, 0.27, 1.55) 0.1s forwards;
}
.inViewport.logo .letters-out{
	animation: textGrow 0.5s cubic-bezier(0.18, 0.89, 0.18, 1.19) forwards;
}
.inViewport.logo .letters-in{
	animation: textGrow 0.5s cubic-bezier(0.18, 0.89, 0.26, 1.28) forwards;
}


@keyframes sunRotate{
	0% {transform: rotate3d(0,0,1,-90deg);}
	100% {transform: rotate3d(0,0,0,-90deg);}
}
@keyframes sunRise{
	0% {transform: translate3d(0,15px,0) scale3d(0,0,1)}
	1% {transform: translate3d(0,15px,0) scale3d(0.6,0.6,1)}
	100% {transform: translate3d(0,0,0) scale3d(1,1,1)}
}
@keyframes textGrow{
	0% {transform: scale3d(0,0,1) skew(10deg, 10deg);}
	100% {transform: scale3d(1,1,1) skew(0deg, 0deg);}
}


/* ---------------------------------------------------------------------------------------------- Hover Animation*/

.smallLogo .sunHover,
.logo .sunHover{
	transform-origin:center;
	transform-box: fill-box;
	animation: sunRotate2 3s linear 0.2s infinite;
	animation-play-state: paused;
}


.inViewport.smallLogo:hover .sunHover,
.inViewport.logo:hover .sunHover{
	animation-play-state: running;
}

@keyframes sunRotate2{
	0% {transform: rotate3d(0,0,1,0deg);}
	100% {transform: rotate3d(0,0,1,180deg);}
}


/* special page */
/*.homepage .logo{
	transform: translate(-50%, 0) scale(1.2);
}*/

@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */
.logo{
	width:170px;
}
}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */
.logo{
	width:170px;
}
}
@media only screen and (max-width: 719px) { /* Mobile Devices */
.logo{
	width:170px;
}
}


/*###########################################################################*/
/*################################### Header ################################*/
/*###########################################################################*/

nav.appHeading{
	width:100%;
	position: fixed;
	z-index: 999; /* need a high Z-index to avoid repaint on page change */
	max-width:inherit;
	transition: transform 0.4s ease;
	overflow:visible;
	height: 2px; /* keep it thin to avoid overlaping with logo underneath */
	transform: translate3d(0, 0, 0);
}
nav.appHeading .headerBg{
	transition: transform 0.4s ease;
	height:60px;
	width:100%;
	background-color: #005AAA;
	/*background: linear-gradient(0deg, #005AAA 0%, #346BBC 30%);*/
	position:absolute;
	top:0;
	left:0;
	transform: scale3d(1, 0, 1);
	transform-origin:top;
	box-shadow: 0 0 10px rgb(0 0 0 / 20%);
}

/* Scroll states:  body[scrollingDown], body[scrollingUp], body[scrolled] */

body[data-scrollingUp] nav.appHeading .headerBg{
	transform: scale3d(1, 1, 1);
}

.headingMenu,
.headingLang{
	position:absolute;
	top:0;
	right:0;
	/*background-color:#ff6600;*/
	transform:translate3d(0,50px,0);
	transition:transform 0.4s ease;
}
.headingMenu{
	top:0;
	right:100px;
}
body[data-scrolled] .headingLang,
body[data-scrolled] .headingMenu{
	transform:translate3d(0,-120%,0);
}
body[data-scrollingUp] .headingLang{
	transform:translate3d(0,15px,0);
}
body[data-scrollingUp] .headingMenu{
	transform:translate3d(0,15px,0);
}

a.iconLink,
.headingLang a{
	margin:0 0 0 10px;
	display:inline-block;
	transition:transform 0.2s ease;
}
a.iconLink{
	margin:0 10px 10px 0;
}
a.iconLink:hover,
.headingLang a:hover{
	transform: scale3d(1.2,1.2,1);
}
.headingMenu a{
	display:inline-block;
	text-decoration:none;
	padding:2px 18px;
	border-radius:25px;
	margin:0 0 0 25px;
	font-size:0.9rem;
	transition:transform 0.2s ease;
	color:#005aaa;
}
body[data-scrollingUp] .headingMenu a{
	color:#ffffff;
	
}
body[data-scrollingUp] .headingMenu a:hover{
	color:#004182;
}
.headingMenu a .inlineIcon{
	margin:-3px 5px 0 0;
}
body[data-scrollingUp] .headingMenu a .inlineIcon.g1{
    background-position: -190px -650px;
	margin:-3px 5px 0 0;
}
body[data-scrollingUp] .headingMenu a:hover .inlineIcon.g1{
    background-position: -190px -621px;
	margin:0px 5px 0 0;
}
.headingMenu a:hover{
	background-color:#fff200;
	color:#004182;
	transform: rotate3d(0,0,1,3deg) scale3d(1.1,1.1,1);
	box-shadow:2px 2px 5px hsl(0deg 0% 0% / 10%);
}
.headingMenu a:nth-child(even):hover{
	background-color:#fff200;
	transform: rotate3d(0,0,1,-3deg) scale3d(1.1,1.1,1);
}
.menuContainer{
	position:relative;
	height:100%;
}
.smallLogoCt{
	position:absolute;
	top:0;
	height:80px;
	/*background-color:#ffffff;*/
	overflow:hidden;
	transform:translate3d(0,-110%,0);
	transition:transform 0.4s ease;
}
.smallLogo{
	display:block;
	width:95px;
	transform: scale3d(0.9,0.9,1);
	transition: transform 0.4s ease;
}
.smallLogo:hover{
	transform: scale3d(1,1,1);
}
.filigram .face,
.smallLogo .face,
.inViewport.smallLogo .face{
	transform:none;
}
/*body[scrolled] .smallLogo{
	transform:translate3d(0,-100%,0);
}*/
body[data-scrollingUp] .smallLogoCt{
	transform:translate3d(0,-20px,0);
}
.smallLogo svg{
	width:100%;
	height:auto;
	display:block;
	overflow:visible;
}

body[data-scrolled] .hamburger{
	transform:translate3d(0,-50%,0);
}


/* hamburger menu */
.hamburger{
	width:41px;
	height:41px;
	position:absolute;
	top:10px;
	right:0;
	transform:translate3d(0,87%,0);
	transition:transform 0.4s ease;
	display:none;
}
body[data-scrolled] .hamburger{
	transform:translate3d(0,-120%,0);
}
body[data-scrollingUp] .hamburger{
	transform:translate3d(0,0,0);
}
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
	background-color: #fff;
}
.hamburger-box {
	width: 100%;
	height: 24px;
	display: block;
	margin-top:8px;
	position: relative;
}
.hamburger-inner {
	top:50%;
	transform:translate(0,-50%);
}
.hamburger-inner,
.hamburger-inner:before,
.hamburger-inner:after {
	display: block;
	width: 41px;
	height: 5px;
	background-color: #005aaa;
	position: absolute;
	transition: transform 0.15s linear, background-color 0.3s linear;
	border-radius: 4px;
}
body[data-scrollingUp] .hamburger-inner, body[data-scrollingUp] .hamburger-inner:before, body[data-scrollingUp] .hamburger-inner:after {
    background-color: #ffffff;
}
.hamburger-inner:before,
.hamburger-inner:after {
	content: "";
}
.hamburger-inner:before {
	top: -14px;
}
.hamburger-inner:after {
	bottom: -14px;
}
/*arrow effect*/
.hamburger:hover .hamburger-inner {
  transform: translateY(-2px) rotate(90deg) scale(0.9);
}
.hamburger:hover .hamburger-inner:before {
  transform: translateY(14px) rotate(90deg); 
}
.hamburger:hover .hamburger-inner:after {
  transform: translateY(-14px) rotate(-90deg); 
}



@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */
.headingMenu a{
	padding:2px 15px;
	margin:0 0 0 12px;
}
.headingMenu{
	top:2px;
}
}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */
.headingMenu a{
	padding:2px 15px;
	margin:0 0 0 12px;
}
.hamburger{
	display:block;
}
.headingMenu{
	top:0;
	right:70px;
}
.headingMenu a.noTab{
	display:none;
}
}
@media only screen and (max-width: 719px) { /* Mobile Devices */
nav.appHeading{
	width:100%;
}
.headingMenu a.noMob{
	display:none;
}
.headingMenu a{
	padding:2px 15px;
	margin:0 0 0 12px;
}
.hamburger{
	display:block;
}
.headingMenu{
	top:0;
	right:70px;
}
.headingMenu a.noTab{
	display:none;
}
.headingLang {
    right: 70px;
    /* background-color: #ff6600; */
    transform: translate3d(0, 50px, 0);
}
a.iconLink,
.headingLang a{
	margin:0 0 0 5px;
}
}

/*###########################################################################*/
/*################################### Footer ################################*/
/*###########################################################################*/

footer{
	background-color:#005AAA;
	background: linear-gradient(180deg, #005AAA 0%, #346BBC 100%);
	font-size:0.9rem;
	color:#ffffff;
}
footer a{
	color:#fff200;
	text-decoration:none;
}
footer a:hover{
	color:#fff200;
	text-decoration: underline;
    text-decoration-color: #FFF200;
    text-decoration-thickness: 3px;
    /* text-decoration-style: wavy; */
    text-underline-position: under;
}
footer h2{
	color:#ffffff;
	font-size:2.5rem;
	margin:0 0 0.5rem 0;
}

/* footer menus */
.footerCols{
	display:grid;
	grid-template-columns: repeat(24, minmax(0, 1fr));
	grid-gap:3rem 0;
}
.footerLogo{
	grid-column: 1 / span 6;
	grid-row:1/ span 2;
}
.realFooter{
	grid-row:3;
	font-size:0.7rem;
	grid-column: 2 / span 5;
}
.footerLang{
	margin:1rem 0 0 0;
}
.awardsF,
.footerMenu{
	grid-column: 8 / span 5;
	grid-row:2 / span 1;
}
.socialFooter,
.footMB{
	grid-column: 13 / span 5;
}
.officeTime,
.contactFooter{
	grid-column: 19 / span 5;
	grid-row:2;
}
.officeTime{
	grid-row:3;
	font-size:0.7rem;
}
.realFooter a{
	
}
.realFooter a:hover{
	
}
.awardsF{
	grid-row:3;
}
.socialFooter{
	grid-row:3;
}
.awardsF a,
.socialFooter a{
	display:inline-block;
}

.address{
	font-size:0.7rem;
	margin:1rem 0 0 var(--gu);
}

/* decorations */ 
.footerDecoration{
	width:250px;
	position:absolute;
	right:0;
	top:3rem;
}
.footerDecoration img{
	display:block;
	width:100%;
	height:auto;
}

/* Logo Litemoon */
a.litemoon{
	position:absolute;
	bottom:0px;
	left:0px;
	display:block;
	width:130px;
	height:80px;
	overflow:hidden;
}
a.litemoon > div{
	position:absolute;
	bottom:30px;
	right:0px;
	width:90px;
	height:auto;
}
a.litemoon svg{
	width:100%;
	height:auto;
	display:block;
	transition:transform 0.4s ease;
	transform:translate(0px,0);
}
a.litemoon:hover svg{
	transform:translate(0,0);
}
a.litemoon .litemoonLogo{
	transition:fill 0.4s ease;
	fill:#4685df;
}
a.litemoon .litemoonText{
	transition:fill 0.4s ease;
	fill:transparent;
}
a.litemoon:hover .litemoonText{
	fill:#ffffff;
}
a.litemoon:hover .litemoonLogo{
	fill:#ffffff;
}

@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */
.footerCols{
	padding: 2rem 0;
}
.footerLogo{
	grid-column: 1 / span 6;
}
.realFooter{
	grid-row:4;
	grid-column: 2 / span 6;
}	
.footerMenu{
	grid-column: 10 / span 6;
	grid-row:2 / span 1;
}
.footMB{
	grid-column: 10 / span 6;
	grid-row:3 / span 2;
}
.officeTime,
.contactFooter{
	grid-column: 18 / span 6;
	grid-row:2;
}
.officeTime{
	grid-row:3;
}
.awardsF{
	grid-column: 2 / span 6;
	grid-row:3;
}
.socialFooter{
	grid-column: 18 / span 5;
	grid-row:4;
}
}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */
.footerCols{
	padding: 2rem 0 6rem 0;
}
.footerLogo{
	grid-column: 1 / span 6;
}
.realFooter{
	grid-row:4;
	grid-column: 2 / span 6;
}	
.footerMenu{
	grid-column: 10 / span 6;
	grid-row:2 / span 1;
}
.footMB{
	grid-column: 10 / span 6;
	grid-row:3 / span 2;
}
.officeTime,
.contactFooter{
	grid-column: 18 / span 7;
	grid-row:2;
}
.officeTime{
	grid-row:3;
}
.awardsF{
	grid-column: 2 / span 6;
	grid-row:3;
}
.socialFooter{
	grid-column: 18 / span 5;
	grid-row:4;
}
}
@media only screen and (max-width: 719px) { /* Mobile Devices */
.footerCols{
	padding: 2rem 0 6rem 0;
}
.footerLogo{
	grid-column: 1 / span 20;
	grid-row: 1 / span 1;
}
.realFooter{
	grid-row:8;
	grid-column: 2 / span 22;
}	
.footerMenu{
	grid-column: 2 / span 22;
	grid-row:2 / span 1;
}
.footMB{
	grid-column: 2 / span 22;
	grid-row:3 / span 1;
}
.officeTime,
.contactFooter{
	grid-column: 2 / span 22;
	grid-row:4;
}
.officeTime{
	grid-row:5;
}
.awardsF{
	grid-column: 2 / span 22;
	grid-row:7;
}
.socialFooter{
	grid-column: 2 / span 22;
	grid-row:6;
}
.footerCols {
    grid-gap: 0 0;
}
.footerCols > div, .footerCols > address{
	padding:4rem 0 0 0;
}
.footerCols > div.realFooter,
.footerCols > div.officeTime{
	padding:1rem 0 0 0;
}
.footerCols > div.awardsF{
	padding:0.5rem 0 0 0;
}
.footerCols > div.footerLogo{
	padding:0;
}
}

/*###########################################################################*/
/*################################# Overlays ################################*/
/*###########################################################################*/

.overlayPage{
	position:fixed;
	height:100%;
	width:100%;
	background-color:#f1edea;
	transform: translate3d(0,0,-1px);
	z-index:999;
	overflow: hidden;
	overflow-y: auto; /*scroll */
	opacity:0;
	animation:closeOverlay 0.5s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
	/*perspective: 2px;*/
	
}
[data-landing] .overlayPage{
	animation:closeOverlay 0s linear forwards;
}
.overlayPage.open{
	animation:openOverlay 0.5s cubic-bezier(0.98, 0.39, 0.36, 1) forwards;
}
@keyframes openOverlay{
    0% {transform:translate3d(0,-120vh,0); opacity:0; }
    1% {transform:translate3d(0,0,0); opacity:0; }
	100% {transform:translate3d(0,0,0); opacity:1;}
}
@keyframes closeOverlay{
    0% {transform:translate3d(0,0,0); opacity:1; }
    99% {transform:translate3d(0,0,0); opacity:0; }
	100% {transform:translate3d(0,-120vh,0); opacity:0; visibility:collapse;} /* hack ios */
}
.overlayPage .fg{
    min-width:100%;
    min-height:100%;
    background: radial-gradient(ellipse at center, rgba(86, 12, 105, 0.48) 0%,rgb(74, 10, 90) 80%);
}
.overlayClose{
	position:absolute;
	top:40px;
	right:40px;
	z-index:1;
}
button.sl-close:hover .closingCross,
.overlayClose:hover .closingCross{
	transform:rotate(225deg);
}
.touchScreen .overlayPage{
	right:0;
}


.closingCross{
	display:block;
	width: 25px;
	height: 25px;
	position:relative;
	transition:transform 0.5s ease;
	transform:rotate(45deg);
	transform-origin:center;
}
.closingCross:after,
.closingCross:before{
	content:'';
	top:50%;
	left:0;
	position:absolute;
	width:100%;
	height:3px;
	border-radius:2px;
	margin-top:-2px;/*To adjust depending on parent size*/
	background-color:#005aaa;
}
.closingCross.clear:after,
.closingCross.clear:before{
	background-color:#ffffff;
}
.simple-lightbox .closingCross:after,
.simple-lightbox .closingCross:before{
	background-color:#ffffff;
}
.closingCross:after{
	transform:rotate(-90deg);
}

/* ------------------------------- Overlay page customizations */

#cookieConscent{
	position:fixed;
	top:auto;
	bottom:0px;
	right: auto;
	left:0;
	height:150px;
	width:400px;
	max-width:100%;
	min-height:auto;
	background-color:#326d36;
	border-radius:0px;
	padding:24px 30px 20px 30px;
	box-sizing:border-box;
	font-size:0.85rem;
	transform: translate(-110%, 110%);
    overflow-y: hidden;
    color:#ffffff;
    font-weight:normal;
	transition:transform 0.4s ease;
	animation:mone;
	opacity:1;
}
#cookieConscent.open{
	transform: translate(0, 0);
}
a[data-cookies]{
	display:block; width:100%;
	background-color:#081e4c;
	color:#ffffff;
	padding:10px 10px;
	box-sizing:border-box;
	position:absolute;
	bottom:0;
	left:0;
	text-align:center;
	text-decoration:none;
}
a[data-cookies]:hover{
	background-color:#04102a;
}
#cookieConscent .biggerIcon{
	height: 31px;
	margin-top:-15px;
}


/* ------------------------------- Main Menu */


#mainmenu{
	position:fixed;
	top:0;
	right:auto;
	left:0;
	height:100dvh;
	width:100vw;
	max-width:100%;
	/*transform: translate3d(0,-120dvh,0);*/
	z-index:999;
	overflow: hidden;
	overflow-y: auto;
	background-color:#005aaa;
	background: radial-gradient(#4c83d5 50%, #005AAA 100%);
	/*animation:closeMenu 0.5s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;*/
}


/* nav */
#mainmenu > nav{
	width:100%;
	/*transform:translate3d(200px,0,0);*/
	transform:scale3d(0.8, 0.8, 1);
	transition:all 0.6s ease-out;
	transition-delay:0.4s;
	box-sizing:border-box;
	transition:transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
	height:100%;
}
#mainmenu.open > nav{
	/*transform:translate3d(0px,0,0);*/
	transform:scale3d(1, 1, 1);
	/*transition:transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);*/
}

.menuCt{
	height:100%;
	/*background-color:#4c4c4c;*/
}
.menuCentering{
	display:flex;
	flex-direction: column;
	justify-content: center;
	height:100%;
}
@media screen and (max-height: 600px) {
.menuCentering{
	display:box;
	height:auto;
}
}
.menuLogoCt{
	padding-top:30px;
}
.menuLang{
	padding:38px var(--gu) 0 0;
}
.menuHead{
	display:flex;
	justify-content: space-between;
	position:absolute;
	width:100%;
	top:0;
}
.menuGridCt{
	display:grid;
	box-sizing:border-box;
	padding:2rem 0 4rem 0;
	grid-template-columns: repeat(24, minmax(0, 1fr));
}
.menuA{
	grid-column: 8 / span 7;
	grid-row: 1;
}
.menuB{
	grid-column: 15 / span 6;
	grid-row: 1;
	position:relative;
	z-index:1;
}
.menuC{
	grid-column: 15 / span 6;
	grid-row: 2;
}
.menuD{
	grid-column: 8 / span 7;
	grid-row: 2;
	align-self: end;
}
.bigMenu{
	/* padding:4rem 0 0 0; */
}
.bigMenu a {
	font-family: 'Betm', sans-serif;
	font-size:3.5rem;
	line-height:1;
	display:inline-block;
	transform: rotate3d(0, 0, 1, 0deg) scale3d(1, 1, 1);
    transition: transform 0.2s ease;
}
.bigMenu a:hover{
	text-decoration:none;
	transform: rotate3d(0, 0, 1, -3deg) scale3d(1.1, 1.1, 1);
}
.contactMenu{
	
}
.socialMenu{
	
}
.darkBG h4{
	color: #ffffff;
    font-size: 2.5rem;
    margin: 0 0 0.5rem 0;
}

@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */
.menuA{
	grid-column: 7 / span 7;
}
.menuD{
	grid-column: 7 / span 7;
}
.menuLang{
	padding:38px calc(var(--gu)*1.5) 0 0;
}
}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */
.menuA{
	grid-column: 3 / span 8;
}
.menuD{
	grid-column: 3 / span 8;
}
.menuB{
	grid-column: 15 / span 8;
	grid-row: 1;
	position:relative;
	z-index:1;
}
.menuC{
	grid-column: 15 / span 8;
	grid-row: 2;
}
.menuLang{
	padding:38px calc(var(--gu)*2) 0 0;
}
}
@media only screen and (max-width: 719px) { /* Mobile Devices */
.menuA{
	grid-column: 2 / span 22;
	grid-row: 1;
}
.menuD{
	grid-column: 2 / span 22;
	grid-row: 4;
	padding:3rem 0 0 0;
}
.menuB{
	grid-column: 2 / span 22;
	grid-row: 2;
	padding:3rem 0 0 0;
}
.menuC{
	padding:3rem 0 0 0;
	grid-column: 2 / span 22;
	grid-row: 3;
}
.menuLang{
	padding:38px calc(var(--gu)*5) 0 0;
}
.menuGridCt{
	padding: 9rem 0 4rem 0;
}
.menuCentering {
    height: auto;
}
}


/* ------------------------------- Notifications */

#notification{
	position:absolute;
	left:1.5rem;
	top:calc(100vh - 1.5rem);
	transform:translate3d(0,0,0); /* override */
	opacity:1; /* override */
	translate:0 -100%;
	height:auto;
	width:auto;
	padding:1rem 3rem 1rem 1rem;
	box-sizing:border-box;
	background-color:#f6f6f6;
	color:inherit;
	transform-origin:bottom left;
	z-index:9999;
	animation:closeNotification 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s 1 normal forwards;
	border-radius:20px;
	box-shadow:2px 2px 10px 0px #0000006b;
}
#notification.open{
	animation:openNotification 0.2s cubic-bezier(0.18, 0.89, 0.44, 0.96) 0s 1 normal forwards;
}
[data-landing] #notification.openDelay,
[data-landing] #notification.openOnce{
	animation-duration:0s;
}
a.notificationMain{
	display:block;
	width:calc(var(--gu) * 7);
	max-width:100%;
	text-decoration:none;
	display:grid;
	grid-template-columns: 1fr 2fr;
}
.notificationCover{
	align-self: start;
}
.notificationCover img{
	display:block;
	width:100%;
	height:auto;
}
.notificationText{
	box-sizing:border-box;
	padding: 0 0 0 1rem;
	align-self: center;
	font-size:0.8rem;
}
.notificationText h2{
	font-size:1.8rem;
	line-height:1;
}
.notificationText .notificationTeaser{
	font-size:0.6rem;
	line-height:1.6;
	display:block;
	color:#6E6C68;
}
#notification .overlayClose{
	top:20px;
	right:20px;
	transform: none;
}

/* recall button */

.popupRecall,
.notificationRecall{ /* left and top to adjust with #notification */
	position:absolute;
	left:0;
	top:100vh;
	translate:0 -100%;
	margin:0;
	z-index:99;
}
.popupRecall .inlineIcon,
.notificationRecall .inlineIcon{
	display:block;
	position:relative;
}
.popupRecall .inlineIcon:after,
.notificationRecall .inlineIcon:after{
	content: "";
	display:block;
	left:0;
	top:0;
	position: absolute;
	height: 100%;
	width: 100%;
	z-index:-2;
	background-color:#005aaa;
	border-radius:0 4px 4px 0;
}
.popupRecall .inlineIcon:after{
	border-radius:0 0 0 4px;
}
.popupRecall span.verticalText,
.notificationRecall span.verticalText{
	font-size:0.7rem;
	padding:1rem 0 0 0.1rem;
	color:#005aaa;
	writing-mode: vertical-rl;
	opacity:0;
	transform:translate3d(0,-10px,0);
	transition:transform 0.4s ease, opacity 0.4s ease;
}
.notificationRecall span.verticalText{
	padding:0 0 0px 3px;
	transform:translate3d(0,10px,0);
}
.popupRecall:hover span.verticalText,
.notificationRecall:hover span.verticalText{
	opacity:1;
	transform:translate3d(0,0,0);
}
.popupRecall:hover .inlineIcon:after,
.notificationRecall:hover .inlineIcon:after{
	background-color:#004182;
}
@keyframes openNotification{
	0%{transform: scale3d(0,0,1);}
	100%{transform: scale3d(1,1,1);}
}
@keyframes closeNotification{
	0%{transform: scale3d(1,1,1);}
	100%{transform: scale3d(0,0,1);}
}

@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */
a.notificationMain{
	width:calc(var(--gu) * 9);
}
}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */
a.notificationMain{
	width:calc(var(--gu) * 13);
}
}
@media only screen and (max-width: 719px) { /* Mobile Devices */
a.notificationMain{
	width:calc(var(--gu) * 13);
}
.notificationText h2 {
    font-size: 1.6rem;
    line-height: 1;
}
a.notificationMain{
	width:calc(var(--gu) * 16);
	grid-template-columns: 1fr;
}
.notificationCover {
   max-width:150px;
}
.notificationText {
    padding: 0.5rem 0 0 0;
}
#notification{
	max-width:calc(var(--gu)*22);
}
.notificationText .notificationTeaser{
	padding: 0.5rem 0 0 0;
}
}

/* ------------------------------- Popup */

#popup{
	position:absolute;
	right:0;
	top:0;
	transform:translate3d(0,0,0); /* override */
	opacity:1; /* override */
	display:block;
	width:auto;
	height:auto;
	max-width:90%;
	padding:0;
	box-sizing:border-box;
	background-color:transparent;
	transform-origin:top right;
	z-index:9999;
	animation:closePopup 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s 1 normal forwards;
}
[data-landing] #popup.openDelay,
[data-landing] #popup.openOnce{
	animation-duration:0s;
}
#popup.open{
	animation:openPopup 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s 1 normal forwards;
}
#popup a{
	text-decoration:none;
}
#popup a.overlayClose{
    top: 30px;
    right: 40px;
}
a.popupMain{
	display:block;
}
.popupCover img{
	display:block;
	width:100%;
	height:auto;
}
@keyframes openPopup{
	0%{transform: scale3d(0,0,1);}
	100%{transform: scale3d(1,1,1);}
}
@keyframes closePopup{
	0%{transform: scale3d(1,1,1);}
	100%{transform: scale3d(0,0,1);}
}
.popupRecall {
    position: absolute;
	left:auto;
    right: 0;
    top: 0;
    translate: 0;
    margin: 0;
}

/* --- overlay mask */
.overlayMask{
	top:0;
	left:0;
	position:fixed;
	height:100%;
	width:100vw;
	background-color:#4c4c4cd6;
	z-index:9999;
	transform-origin:left;
	animation:overlayClose 0.4s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
	display:none;
}
.overlayMask.open{
	display:block;
	animation:overlayOpen 0.4s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}
/* Might need to hide some elements */
body[data-overlayMask] .logoContainer{
	opacity:0.5;
}
@keyframes overlayOpen{
	0%{transform:scale3d(0,0,0);}
	1%{transform:scale3d(0,0,0);}
	100%{transform:scale3d(1,1,1);}
}
@keyframes overlayClose{
	0%{transform:scale3d(1,1,1);display:block;}
	99%{transform:scale3d(0,0,0);display:block;}
	100%{transform:scale3d(0,0,0);display:none;}
}


@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */

}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */

}
@media only screen and (max-width: 719px) { /* Mobile Devices */

}


/*############################################################################################################################################*/
/*############################################################################################################################################*/
/*############################################################################################################################################*/
/*############################################################################################################################################*/
/*############################################################# Pages Styles #################################################################*/
/*############################################################################################################################################*/
/*############################################################################################################################################*/
/*############################################################################################################################################*/
/*############################################################################################################################################*/


/*###########################################################################*/
/*############################## Page Template ##############################*/
/*###########################################################################*/

.page{
	
}
.page > header{
	/*background:#90818f;*/
}
.page > div.coreContainer{
	/*background:#796577;*/
}
.page .core{
	/*background:#a97ec2;*/
}

/* ------------------ header */
.page header > div{
	display:grid;
	grid-template-columns: repeat(24, minmax(0, 1fr));
	/*overflow:visible;
	z-index:1;*/
}
.page header > div .introContainer{
	grid-column: 2 / span 7; /*8*/
	grid-row: 1 / span 1;
	align-self: center;
}
.page header > div .coverImage{
	grid-column: 13 / span 12;
	grid-row: 1 / span 1;
}
/* header left cover */
.page header > div.cover-left .introContainer{
	grid-column: 16 / span 7; /*8*/
}
.page header > div.cover-left .coverImage{
	grid-column: 2 / span 12;
}
.page header > div.cover-left .coverImage > div{
	width:100%;
}
/* header wide cover + no-cover*/
.page header > div.cover-widetop,
.page header > div.cover-wide{
	grid-template-rows: repeat(2, auto);
}
.page .mainCell,
.page header > div.cover-widetop .introContainer,
.page header > div.cover-wide .introContainer,
.page header > div.no-cover .introContainer{
	grid-column: 8 / span 9;
	grid-row: 1 / span 1;
	padding:2rem 0 6rem 0;
}
.page .mainCell{
	padding:0;
}
.page header > div.cover-widetop .introContainer{
	padding:5rem 0 0 0;
}
.page header > div.no-cover .introContainer{
	padding:2rem 0 0 0;
}
.page header > div.cover-widetop .coverImage,
.page header > div.cover-wide .coverImage{
	grid-column: 2 / span 22;
	grid-row: 2 / span 1;
}
.page header > div.cover-widetop .introContainer{
	grid-row: 2 / span 1;
}
.page header > div.cover-widetop .coverImage{
	grid-row: 1 / span 1;
}
.page header > div.cover-widetop .coverImage > div{
	width:100%;
}
/* header overlap cover */
.page header > div.cover-overlap{
	grid-template-rows: repeat(1, auto);
}
.page header > div.cover-overlap .introContainer{
	grid-column: 4 / span 9;
	grid-row: 1 / span 1;
	z-index:1;
	background-color:rgb(51 51 51 / 75%);
	padding:2rem 3rem;
	border-radius:20px;
	box-sizing:border-box;
	position:absolute;
	top:9rem;
}
.page header > div.cover-overlap .coverImage{
	grid-column: 2 / span 22;
	grid-row: 1 / span 1;
}

/* ------------------ core */

.page .coreContainer{ 
	padding-top:8rem;
}
.page .coreContainer > div{
	display:grid;
	grid-template-columns: repeat(24, minmax(0, 1fr));
}
.page .sideCell{
	grid-column: 3 / span 8;
	grid-row: 1 / span 1;
	/* background-color:#ff7fd2; */
	align-self: start;
	position: sticky;
	top:6rem;
}
.page .hasSide .mainCell{
	/*min-height:2000px;
	background-color:aquamarine;*/
	grid-column: 13 / span 7;
	grid-row: 1 / span 1;
	align-self: center;
}
.page .mainCell{
	/*background-color:aquamarine;*/
	padding:0;
}
.page .mainCell h2{
	font-size:2.4rem;
	margin:0 0 0.5rem 0;
}

/*.page .coreContainer:not(.hasSide):not(.hasMain),
.page .coreContainer.header-cover-widetop:not(.hasSide),*/
.page .coreContainer.header-no-cover:not(.hasSide){ 
	padding:0; /* for continuous text */
	padding: 2rem 0 0 0;
}
.page .coreContainer.hasSide{
	
}
.page .coreContainer.hasMain{
	
}

/* images and video management for sideCells */

.page .hasSide .slice.limited .flickity.gallery,
.page .hasSide .inlineImg{
	position:static;
	width: 100%;
	transform:translate(0,0);
	height:auto;
}
.page .hasSide .slice.limited .flickity.gallery.filmstrip {
    width: 100%;
}
.page .hasSide .filmstrip .flickity-slider>a, .filmstrip .flickity-slider>div {
    width: 50%;
}
.page .hasSide .masonry {
    position: relative;
    width: 100%;
    left: 0;
    transform: translate(0,0);
}
.page .hasSide lite-youtube{
    width: 100%;
    left: 0;
    transform: translate(0,0);
}
.page .hasSide lite-vimeo{
    width: 100%;
    left: 0;
    transform: translate(0,0);
}

.introContainer h1{
	margin:0 0 1rem 0;
}


@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */
.page header > div .introContainer{
	grid-column: 2 / span 9;
}
.page header > div.cover-left .introContainer{
	grid-column: 15 / span 10;
}
.page .mainCell,
.page header > div.cover-widetop .introContainer,
.page header > div.cover-wide .introContainer,
.page header > div.no-cover .introContainer{
	grid-column: 6 / span 14;
}
.page header > div.cover-overlap .introContainer{
	grid-column: 4 / span 10;
	top:4rem;
}
.page .sideCell{
	grid-column: 2 / span 10;
}
.page .hasSide .mainCell{
	grid-column: 13 / span 10;
}
}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */
.page header > div .introContainer{
	grid-column: 1 / span 10;
}
.page header > div.cover-left .introContainer{
	grid-column: 15 / span 10;
}
.page .mainCell,
.page header > div.cover-widetop .introContainer,
.page header > div.cover-wide .introContainer,
.page header > div.no-cover .introContainer{
	grid-column: 4 / span 18;
	padding: 2rem 0 2rem 0;
}
.page .mainCell{
	padding:0;
}
.page header > div.cover-wide .introContainer{
	padding: 0 0 4rem 0;
}
.page header > div.cover-overlap .introContainer{
	grid-column: 2 / span 12;
	top:1.5rem;
	padding: 1.5rem 2.5rem;
}
.page .sideCell{
	grid-column: 2 / span 11;
}
.page .hasSide .mainCell{
	grid-column: 15 / span 10;
}
.page header > div.cover-overlap .coverImage,
.page header > div.cover-widetop .coverImage,
.page header > div.cover-wide .coverImage{
	grid-column: 1 / span 24;
}
.page .coreContainer {
    padding-top: 4rem;
}
.page header > div.cover-widetop .introContainer{
	padding:4rem 0 0 0;
}
.page header > div.no-cover .introContainer{
	padding:2rem 0 0 0;
}
}
@media only screen and (max-width: 719px) { /* Mobile Devices */
.page header > div.cover-overlap .introContainer,
.page header > div.cover-widetop .introContainer,
.page header > div.no-cover .introContainer,
.page header > div.cover-wide .introContainer,
.page header > div.cover-left .introContainer,
.page header > div .introContainer{
	grid-column: 2 / span 22;
	grid-row: 2 / span 1;
	padding: 2rem 0 4rem 0;
}
.page header > div.cover-overlap .introContainer {
    background-color: transparent;
    border-radius: 0;
    box-sizing: border-box;
    position: static;
    top: 0;
}
.page header > div.cover-overlap .coverImage,
.page header > div.cover-widetop .coverImage,
.page header > div.cover-wide .coverImage,
.page header > div.cover-left .coverImage,
.page header > div .coverImage {
    grid-column: 1 / span 24;
    grid-row: 1 / span 1;
}
.page .mainCell{
	grid-column: 2 / span 22;
}
.page .sideCell{
	grid-column: 2 / span 22;
	grid-row: 2 / span 1;
	padding:2rem 0 0 0;
}
.page .hasSide .mainCell{
	grid-column: 2 / span 22;
	grid-row: 1 / span 1;
}
.page .coreContainer {
    padding-top: 0;
}
.page header > div.no-cover .introContainer{
	padding:1rem 0 0 0;
}
.page .slice.limited .flickity.gallery,
.page .slice.limited .flickity.gallery.filmstrip,
.page .hasSide .slice.limited .flickity.gallery,
.page .hasSide .slice.limited .flickity.gallery.filmstrip,
.page .hasSide lite-vimeo,
.page .hasSide lite-youtube{
	position:relative;
	width: 100vw;
	left:50%;
	transform:translate3d(-50%,0,0);
}
.page header > div.cover-left .coverImage > div{
	box-sizing:border-box;
}
}


/* ------------------------------------------------------------------------------ General Template */

.page header{
	padding-top:180px; /* Space for the top area */
}

.taxi header,
.transfers header{
	
}
.attractions header,
.taxi-transfers header,
.tours header{
	padding-top:130px; /* Space for the top area */
}

/* ------------------------------------------------------------------------------- Images Effect */
.loadEf{
	display:block;
	clip-path: circle(50px at 50% 50%);
	transition: clip-path 1.6s cubic-bezier(0.22, 0.61, 0.36, 1), scale 1s ease;
	scale:0.8 0.8 0.8;
}
.loadEf.hasLoaded{
	clip-path: circle(100% at 50% 50%);
	scale:1 1 1;
}

/* Hover effect */
.hoverEffect{
	overflow:hidden;
	border-radius:15px;
}
.hoverEffect img{
	scale:1 1 1;
	transition:scale 1s cubic-bezier(0.46, 0.03, 0.52, 0.96);
}
.hoverEffect:hover img{
	scale:1.1 1.1 1.1;
}
.borderRadius{
	display:inline-block;
	border-radius:20px;
	overflow:hidden;
}
.borderRadius img{
	display:block;
	width:100%;
	height:auto;
}


@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */

}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */

}
@media only screen and (max-width: 719px) { /* Mobile Devices */
.attractions header,
.taxi-transfers header,
.tours header{
	padding-top:170px; /* Space for the top area */
}
}


/* ------------------------------------------------------------------------------ Home Page */


#homeLanding{
	display:flex;
	padding-top:160px;
	align-items: center;
}
.homeImages{
	width:calc(var(--gu)*15);
	display:grid;
	grid-template-columns: repeat(15, minmax(0, 1fr));
	grid-gap:1.5rem;
}
.homeImages .borderRadius{
	border-radius:50px;
}
.homeImages > a{
	display:block;
	line-height:0;
	transform: rotate3d(0, 0, 1, 0deg) scale3d(1, 1, 1);
    transition: transform 0.2s ease;
}
.homeImages > a:hover{
	transform: scale3d(1.1, 1.1, 1) rotate3d(0, 0, 1, 1deg);
}
.homeImages > a.imageB:hover{
	transform: scale3d(1.1, 1.1, 1) rotate3d(0, 0, 1, -1deg);
}
.imageA{
	grid-column: 2 / span 5;
	grid-row: 1 / span 2;
	align-self: center;
}
.imageB{
	grid-column: 7 / span 5;
	grid-row: 1 / span 1;
	align-self: end;
}
.imageC{
	grid-column: 7 / span 6;
	grid-row: 2 / span 1;
	align-self: start;
}
.homeIntro{
	width:calc(var(--gu)*9);
}
.homeIntro > span{
	display:inline-block;
	font-size:0.9rem;
	max-width:calc(var(--gu) * 6);
	margin:1rem 0 0.5rem 0;
}
.homeIntro > h1{
	max-width:calc(var(--gu) * 7);
}
.awards{
	margin:4rem 0 0 0;
}
.awards > a{
	display: inline-block;
	flex-direction: column;
	text-decoration:none;
	text-align:center;
	line-height:1;
	transition:transform 0.2s ease;
	transform: scale3d(1,1,1) rotate3d(0,0,0,3deg);
}
.awards > a:first-child{
	margin:0 4rem 0 0;
}
.awards > a .awardText{
	font-size:0.6rem;
	color: #6E6C68;
}
.awards > a:hover{
	transform: scale3d(1.1,1.1,1) rotate3d(0,0,1,3deg);
}
.awards > a:first-child .awardText{
	font-size:0.7rem;
}

/* Featured tours  */
.featuredTours{
	padding-left:var(--gu);
}
.featuredTours h2{
	margin:0 0 3rem 0;
	
}
.articles{
	display:flex;
	flex-wrap: wrap;
}
article{
	background-color:#ffffff;
	width:calc(var(--gu)*6);
	box-sizing:border-box;
	border-radius:20px;
	margin-right:calc(var(--gu)*1);
	position:relative;
	display:flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: space-between;
	box-shadow: 0 0 20px rgb(0 0 0 / 10%);
	transform: rotate3d(0,0,0,2deg) scale3d(1,1,1);
	transition:transform 0.2s ease;
}
article:hover{
	transform: rotate3d(0,0,1,-1deg) scale3d(1.07,1.07,1);
}
.featuredTours article h2{
	font-size:2rem;
	margin:0 0 0.5rem 0;
}
.featuredTours article h2 a{
	text-decoration:none;
	color:#005aaa;
}
article .tease{
	display:block;
	flex-grow:1;
	font-size:0.8rem;
	padding:0;
}
article .pricing{
	display:block;
	font-size:0.7rem;
}
article .pricing strong{
	font-size:1rem;
}
article .teaser{
	position:relative;
	box-sizing:border-box;
	padding:1.5rem;
	flex-grow:1;
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	flex-wrap: wrap;
}
article .circularButton{
	position:absolute;
	bottom:1.3rem;
	right:1.5rem;
}
.articles > .circularButton{
	align-self: center;
}

/* Cruiseship passenger block */
.cruiseshipContainer{
	
}
.cruiseshipLayer{
	/*display:grid;
	grid-template-columns: repeat(24, minmax(0, 1fr));*/
	margin:9rem auto 9rem auto;
	display:flex;
	align-items: flex-end;
}
.cruiseshipBlock{
	/*grid-column: 2 / span 12;*/
	position:relative;
	background-color:#005AAA;
	/*background: linear-gradient(180deg, #005AAA 0%, #346BBC 100%);*/
	border-radius:30px;
	box-sizing:border-box;
	padding:2rem 4rem 8rem 3rem;
	color:#ffffff;
	/*left:calc(var(--gu)*6);*/
	margin-left:calc(var(--gu)*1);
	width:calc(var(--gu)*12);
	box-shadow: 0 0 20px rgb(0 0 0 / 10%);
	transform: rotate3d(0,0,0,2deg) scale3d(1,1,1);
	transition:transform 0.2s ease;
}
/*.cruiseshipBlock:hover{
	transform: rotate3d(0,0,1,1deg) scale3d(1.05,1.05,1);
}*/
.cruiseshipBlock h2{
	color:#ffffff;
	margin:0 0 0.5rem 0;
}

.cruiseshipBlock > div{
	font-size:0.8rem;
	display:inline-block;
	margin:1rem 0.5rem 1rem 3rem;
	position:relative;
	z-index:1;
}
.cruiseshipBlock > div small{
	display:inline;
	font-size:0.6rem;
	font-style:italic;
}
.friendlyMascot{
	width:200px;
	position:absolute;
	top:0;
	right:0;
	transform:translate3d(30%, -20%, 0);
}
.tourTemplate .friendlyMascot{
	width:170px;
}

.friendlyMascot .sunShape{
	transform: scale3d(1.5,1.5,1);
	transform-origin: center;
    transform-box: fill-box;
	animation: sunRotate2 6s linear infinite;
}
.cruiseIllustration{
	width:270px;
	position:absolute;
	bottom:2rem;
	left:2rem;
}
.cruiseIllustration img,
.cruiseIllustration svg,
.friendlyMascot svg{
	display:block;
	width:100%;
	height:auto;
}
.cruiseshipBlock .circularButton{
	position: absolute;
    bottom: 1.3rem;
    right: 1.5rem;
}

.buttonLabel{
	position:absolute;
	display:block;
	font-size:0.7rem;
	left:0;
	top:50%;
	transform:translate3d(-100%,-50%,0);
	min-width:125px;
}
.planningBlock{
	margin-left:calc(var(--gu)*3);
	width:calc(var(--gu)*6);
}


/* More services blocks */

.moreServiceCt{
	background-color:#f7f3ec;
	background: linear-gradient(180deg, #f7f3ec 0%, #ffffff 100%);
}
.moreServiceLayer{
	padding:5rem 0 6rem var(--gu);
	
}
.moreServiceLayer > h2{
	/*max-width:400px;*/
	margin:0 0 3rem 0;
	color:#6E6C68;
}
.servicesBlocks{
	display:flex;
	align-items: flex-end;
	position:relative;
	z-index:1;
}
.servicesBlocks > a{
	display:block;
	position:relative;
	background-color:#ffffff;
	border-radius:25px;
	box-sizing:border-box;
	padding:1.5rem;
	width:calc(var(--gu)*10);
	box-shadow: 0 0 20px rgb(0 0 0 / 10%);
	text-decoration:none;
	color:inherit;
	transform: rotate3d(0,0,0,2deg) scale3d(1,1,1);
	transition:transform 0.2s ease;
}
.titleH2{
	display:block;
	margin:0 0 0.5rem 0;
}
.servicesBlocks > a:hover{
	transform: rotate3d(0,0,1,-1deg) scale3d(1.05,1.05,1);
}
.servicesBlocks > .blockServiceA{

}
.servicesBlocks > .blockServiceB{
	width:calc(var(--gu)*8);
	margin-left:calc(var(--gu)*2);
	
}
.blockCols{
	display:flex;
	margin:1rem 0 0 0;
	align-items: flex-start;
}
.blockCols > span{
	display:block;
	font-size:0.8rem;
	max-width:250px;
}
.iconLeft{
	min-width:2rem;
}
.moreServiceCt .iconLeft{
	min-width:3.5rem;
	margin:0 0 1rem 0;
}
.moreServiceCt .blockCols{
	margin:0;
}
.servicesBlocks .circularButton{
	position:absolute;
	bottom:1.3rem;
	right:1.5rem;
}

/* Attractions and tour schedule blocks */
.attractionCt{
	overflow-x:clip;
}
.attractionsLayer{
	box-sizing:border-box;
	padding: 2rem 0 5rem 0;
	display:flex;
}
.blockAttraction{
	width:calc(var(--gu)*10);
	padding:0 0 0 calc(var(--gu)*1);
	box-sizing:border-box;
}
.blockPartners{
	width:calc(var(--gu)*22);
	padding:0 0 0 calc(var(--gu)*2);
	box-sizing:border-box;
	text-align:center;
}
.filigram{
	width:200px;
	position:absolute;
	right:0;
	top:0;
	transform:translate3d(30%,-70%,0) rotate3d(0,1,0,180deg);
}
.filigram svg{
	display:block;
	width:100%;
	height:auto;
}
.filigram .logoSun{
	animation: sunRotate2 10s linear 0.2s infinite;
}

/* Partners */
.blockPartners .partners{
	display:flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.partners > a{
	display:block;
	width:180px;
	float:left;
	margin:1rem;
	transition: transform 0.2s ease;
    transform: scale3d(1, 1, 1) rotate3d(0, 0, 0, 3deg);
}
.partners > a:hover{
	transform: scale3d(1.1, 1.1, 1) rotate3d(0, 0, 1, 3deg);
}
.partners > a.Square{
	width:140px;
}
.partners > a img{
	display:block;
	width:100%;
	height:auto;
}

@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */
.homeIntro{
	width:calc(var(--gu)*10);
}
.homeImages{
	width:calc(var(--gu)*14);
	grid-template-columns: repeat(14, minmax(0, 1fr));
}
.homeIntro > h1{
	max-width:calc(var(--gu) * 9);
}
.homeIntro > span {
    max-width: calc(var(--gu)* 8);
}
.awards{
	margin:2rem 0 0 0;
}
.awards > a:first-child {
    margin: 0 2rem 0 0;
}
article{
	width:calc(var(--gu)*8);
	margin-right:calc(var(--gu)*1);
}
article:nth-child(3){
	display:none;
}
.cruiseshipBlock{
	padding:3rem 4rem 10rem 0rem;
	width:calc(var(--gu)*12);
}
.planningBlock {
    margin-left: calc(var(--gu)* 2);
    width: calc(var(--gu)* 6);
}
.stayoverPart,
.cruisePart{
	max-width:400px;
}
.mainCell .stayoverPart,
.mainCell .cruisePart{
	margin: 1rem 0 1rem 2rem;
}
.cruiseshipLayer{
	margin:9rem auto 6rem auto;
}
.attractionsLayer{
	padding: 0rem 0 4rem 0;
}
.moreServiceLayer{
	padding:3rem 0 6rem var(--gu);
}
.servicesBlocks > .blockServiceB {
    width: calc(var(--gu)* 9);
}
.servicesBlocks > a {
    padding: 1.5rem 3rem 1.5rem 1.5rem;
}
.partners > a{
	width:160px;
}
.partners > a.Square{
	width:110px;
}
}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */
#homeLanding {
    flex-wrap: wrap;
}
.homeIntro{
	position:relative;
	width:calc(var(--gu)*22);
	left:calc(var(--gu)*1);
	margin-top:2rem;
}
.homeImages{
	width:calc(var(--gu)*24);
	grid-template-columns: repeat(24, minmax(0, 1fr));
}
.imageA{
	grid-column: 2 / span 5;
	grid-row: 1 / span 1;
	align-self: center;
}
.imageB{
	grid-column: 7 / span 8;
	grid-row: 1 / span 1;
	align-self: end;
}
.imageC{
	grid-column: 15 / span 9;
	grid-row: 1 / span 1;
	align-self: center;
}	
.homeIntro > h1{
	max-width:calc(var(--gu) * 12);
}
.homeIntro > span {
    max-width: calc(var(--gu)* 12);
}
.awards{
	margin:2rem 0 0 0;
}
.awards > a:first-child {
    margin: 0 2rem 0 0;
}
article{
	width:calc(var(--gu)*9);
	margin-right:calc(var(--gu)*1);
}
article:nth-child(3){
	display:none;
}
.cruiseshipBlock{
	padding:3rem 4rem 10rem 0rem;
	width:calc(var(--gu)*20);
}
.planningBlock {
    margin: 6rem 0 0 calc(var(--gu)* 3);
    width: calc(var(--gu)* 12);
}
.stayoverPart,
.cruisePart{
	max-width:400px;
}
.cruiseshipLayer{
	margin:6rem auto 2rem auto;
	flex-wrap: wrap;
}
.attractionsLayer{
	padding: 0rem 0 4rem 0;
}
.moreServiceLayer{
	padding:3rem 0 6rem var(--gu);
}
.servicesBlocks > .blockServiceB {
    width: calc(var(--gu)* 9);
}
.servicesBlocks > a {
    padding: 1.5rem 1.5rem 3.5rem 1.5rem;
}
.partners > a{
	width:160px;
}
.partners > a.Square{
	width:110px;
}
.cruiseshipBlock > div{
	margin:1rem 0 1rem calc(var(--gu)*2);
}
.blockCols{
	flex-wrap: wrap;
}
.blockPartners{
	width:calc(var(--gu)*24);
	padding:0 0 0 calc(var(--gu)*0);
	box-sizing:border-box;
	text-align:center;
}
.featuredTours article h2{
	font-size:1.8rem;
}
.tourTemplate .cruiseIllustration{
	width:200px;
	bottom:3.5rem;
	left:1.5rem;
}
article:hover{
	transform: rotate3d(0,0,0,2deg) scale3d(1,1,1);
}
.servicesBlocks > a:hover{
	transform: rotate3d(0,0,0,2deg) scale3d(1,1,1);
}
}
@media only screen and (max-width: 719px) { /* Mobile Devices */
#homeLanding {
    flex-wrap: wrap;
}
.homeIntro{
	position:relative;
	width:calc(var(--gu)*22);
	left:calc(var(--gu)*1);
	margin-top:2rem;
}
.homeImages{
	width:calc(var(--gu)*24);
	grid-template-columns: repeat(24, minmax(0, 1fr));
	grid-gap:calc(var(--gu)*1) 0;
}
.imageA{
	grid-column: 1 / span 10;
	grid-row: 1 / span 2;
	align-self: center;
}
.imageB{
	grid-column: 12 / span 11;
	grid-row: 1 / span 1;
	align-self: end;
}
.imageC{
	grid-column: 12 / span 14;
	grid-row: 2 / span 1;
	align-self: center;
}
.homeImages .borderRadius {
    border-radius: 30px;
}
.homeIntro > h1{
	max-width:100%;
}
.homeIntro > span {
    max-width: calc(var(--gu)* 20);
}
.awards{
	margin:2rem 0 0 0;
}
.awards > a:first-child {
    margin: 0 2rem 0 0;
}
article{
	width:calc(var(--gu)*22);
	margin:0 0 2rem 0;
}
article:nth-child(3){
	
}
.cruiseIllustration {
    width: 200px;
    position: absolute;
    bottom: 3.5rem;
    left: 1.5rem;
}
.cruiseshipBlock{
	padding:3rem 1rem 10rem 0rem;
	width:calc(var(--gu)*22);
}
.planningBlock {
    margin: 4rem 0 0 calc(var(--gu)* 3);
    width: calc(var(--gu)* 18);
}
.stayoverPart,
.cruisePart{
	max-width:400px;
}
.cruiseshipLayer{
	margin:4rem auto 2rem auto;
	flex-wrap: wrap;
}
.attractionsLayer{
	padding: 0rem 0 4rem 0;
}
.moreServiceLayer{
	padding:3rem 0 6rem calc(var(--gu)*1);
}
.servicesBlocks > .blockServiceB {
    width: calc(var(--gu)* 22);
	margin: 3rem 0 0 0;
}
.servicesBlocks > a {
    padding: 1.5rem 1.5rem 3.5rem 1.5rem;
}
.partners > a{
	width:calc(var(--gu)*9);
	/*margin: 1rem 0;*/
}
.partners > a.Square {
	width:calc(var(--gu)*7);
}
.cruiseshipBlock > div{
	margin:1rem 0 1rem calc(var(--gu)*2);
}
.servicesBlocks .blockCols{
	flex-wrap: wrap;
}
.blockPartners{
	width:calc(var(--gu)*24);
	padding:0 0 0 calc(var(--gu)*0);
	box-sizing:border-box;
	text-align:center;
}
.featuredTours article h2{
	font-size:1.8rem;
}
.tourTemplate .cruiseIllustration{
	width:200px;
	bottom:3.5rem;
	left:1.5rem;
}
.featuredTours h2{
	margin:0 0 2rem 0;
}
.friendlyMascot {
    width: 140px;
    transform: translate3d(10%, -30%, 0);
}
.servicesBlocks {
    flex-wrap: wrap;
}
.servicesBlocks > a {
    width: calc(var(--gu)* 22);
}
.planningBlock .blockCols > span {
    padding:0 0 0 0.5rem;
}
article:hover{
	transform: rotate3d(0,0,0,2deg) scale3d(1,1,1);
}
.servicesBlocks > a:hover{
	transform: rotate3d(0,0,0,2deg) scale3d(1,1,1);
}
.tourTemplate .friendlyMascot {
    width: 140px;
}
}


/* ------------------------------------------------------------------------------ Dividers */

.divider{
	width:100%;
	
}
.divider svg{
	display:block;
	width: 100%;
    height: 100px;
}
.dividerShape{
	fill:#ffffff;
	height: 93px;
}
.greyWave .dividerShape{
	fill:#f7f3ec;
}
.divider.footerD{
	transform:translate3d(0,2px,0); /* fix gap bug */
}
.footerD .dividerShape{
	fill:#005aaa;
}
.reverseD{
	transform: rotate3d(0,1,0,180deg);
}
.reverseD svg{
	height: 200px;
}
.toursContainer > .divider,
.divider.dividerTop{
	position:absolute;
	top:600px;
	left:0;
	width: 100%;
}
.toursContainer .dividerFiller,
.fillerTop{
	position:absolute;
	width: 100%;
	height:600px;
	left:0;
	background-color:#f7f3ec;
	background: linear-gradient(180deg, #ffffff 0%, #f7f3ec 100%);
}
.divider.dividerTop .dividerShape{
	fill:#f7f3ec;
}
.toursContainer{
	
}
.toursContainer > .divider{
	top:300px;
	left:0;
	transform: rotate3d(0,1,0,180deg);
}
.toursContainer .dividerFiller{
	top:393px;
	background: linear-gradient(180deg, #f7f3ec 0%, #ffffff 100%);
}

.dividerFiller,
.fillerTop{
	position:absolute;
	width: 100%;
	height:600px;
	left:0;
	background-color:#f7f3ec;
	background: linear-gradient(180deg, #ffffff 0%, #f7f3ec 100%);
	/* opacity:0.5; */
}
.divider.dividerTop .dividerShape{
	fill:#f7f3ec;
}


/* ------------------------------------------------------------------------------ Tours Page */

.page.tours .categoryButtons{
	display:none;
}

/* ------------------------------------------------------------------------------ Schedule Page */
.scheduleCT{
	max-width:1000px;
	width:calc(var(--gu)*22);
	padding:3rem 0;
}

/* ------------------------------------------------------------------------------ Tour Template Page */

.tourTemplate{
	position:relative;
}
.tourTemplate.page header > div.cover-left .introContainer{
    grid-column: 15 / span 8;
	font-size:0.8rem;
}
.tourTemplate.page header > div.cover-left .coverImage {
    grid-column: 2 / span 11;
}
.roundGalCt{
	border-radius:20px;
	overflow:clip;
}
.page .coverImage .flickity.gallery {
    left: 0;
    transform: translate(0, 0);
    width:100%;
}
.page .fillerTop{
    height: 670px;
}
.page .divider.dividerTop {
    top: 670px;
}
.page.team .dividerTop{
	 top: 500px;
}
.page.team .fillerTop{
	height: 500px;
}
.page.taxi-transfers .dividerTop,
.page.tours .dividerTop,
.page.attractions .dividerTop{
	 top: 450px;
}
.page.taxi-transfers .fillerTop,
.page.tours .fillerTop,
.page.attractions .fillerTop{
	height: 450px;
}
.tourTemplate h1{
	
}
a.tourLabel{
	display:inline-block;
	background-color:#dae6f4;
	padding:2px 15px 2px 5px;
	border-radius:25px;
	font-size:0.7rem;
	text-decoration:none;
	transform: rotate3d(0, 0, 1, 0deg) scale3d(1, 1, 1);
    transition: transform 0.2s ease;
}
a.tourLabel span:nth-child(2){
	vertical-align:middle;
	margin:0 0 0 0.2rem;
	color:#004182;
}
/*article a.tourLabel:hover{
	transform: rotate3d(0, 0, 1, 3deg) scale3d(1.1, 1.1, 1);
}*/
a.tourLabel:hover{
	transform: rotate3d(0, 0, 1, -3deg) scale3d(1.1, 1.1, 1);
}
.tourTemplate .introduction{
	margin:1rem 0 0 0;
}
.tourTemplate .pricing{
	font-size:0.7rem;
}
.tourTemplate .pricing a.inPageButtons{
	font-size:0.7rem;
	margin-top:0;
}
.tourTemplate .pricing strong{
	font-size:1.2rem;
}
.tourTemplate .pricing span strong{
	font-size:1rem;
}
.pointDuration,
.durationInfo{
	margin:1rem 0 0 0;
	background-color:#777571;
	color:#ffffff;
	display:inline-block;
	padding:4px 10px;
	border-radius:25px;
	font-size:0.6rem;
}
.tourBox .durationInfo{
	margin:0 0 0.2rem 0;
	
}
.pointDuration{
	margin:0.4rem 0 0.2rem 0;
}

.tourTemplate.page .sideCell {
    grid-column: 15 / span 8;
    grid-row: 1 / span 1;
    background-color: #005aaa;
    align-self: start;
    position: sticky;
    top: 1rem;
	box-sizing:border-box;
	padding:1.2rem 2rem;
	border-radius:25px;
}
.tourTemplate.page .sideCell h2{
	color:#ffffff;
	margin:0 0 0.8rem 0;
}
.tourTemplate.page .mainCell{
    grid-column: 3 / span 10;
    grid-row: 1 / span 1;
    padding: 0rem 0 6rem 0;
}

.tourMainCt{
	margin: 3rem 0 0 0;
}

.infoBlocks{
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin: 3rem 0 0 0;
	justify-items: start;
}
.infoBlocks > div{
	font-size:0.7rem;
	background-color:#f7f3ec;
	border-radius:20px;
	width:calc(var(--gu)*8);
	box-sizing:border-box;
	padding:1.5rem;
	/*margin:0 calc(var(--gu)*0.5) calc(var(--gu)*0.5) 0;*/
	margin:0 0 2rem 0;
}
.infoBlocks > div h3{
	margin:0 0 0.3rem 0;
}
.infoBlocks > div ul{
	
}
.infoBlocks > div li{
	/*display:inline-block;*/
}
.tourTemplate .cruiseshipLayer {
    margin: 2rem 0 0 0;
}
.tourTemplate .cruiseshipBlock {
    padding: 1.5rem 2rem 8rem 2rem;
    margin-left: 0;
    width: calc(var(--gu)*10);
}
.tourTemplate .cruiseshipBlock h2 {
    font-size:2.2rem;
}

/* ------------------------------------------------------------------------------ Attraction Template Page */

.attraction-page{
	position:relative;
}

/*.attraction-page.page header > div.cover-left .coverImage {
    grid-column: 2 / span 11;
}*/
.tourTemplate .labelContainer,
.attraction-page .labelContainer{
	text-align:left;
	display:block;
	margin:0 0 0.3rem 0;
}
.attraction-page .labelContainer a.tourLabel {
    margin: 0 0.3rem 0.5rem 0;
}
.tourTemplate .labelContainer a.tourLabel{
	margin: 0 0.8rem 0.5rem 0;
}
@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */

.page .fillerTop{
    height: 560px;
}
.page .divider.dividerTop {
    top: 560px;
}
.page.team .dividerTop{
	 top: 500px;
}
.page.team .fillerTop{
	height: 500px;
}
.page.taxi-transfers .dividerTop,
.page.tours .dividerTop,
.page.attractions .dividerTop{
	 top: 450px;
}
.page.taxi-transfers .fillerTop,
.page.tours .fillerTop,
.page.attractions .fillerTop{
	height: 450px;
}
.tourTemplate.page .mainCell{
    grid-column: 2 / span 10;
}
.tourTemplate.page .sideCell {
    grid-column: 15 / span 9;
}
.tourTemplate .cruiseshipBlock {
    padding: 1.5rem 2rem 10rem 2rem;
}
}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */

.page .fillerTop{
    height: 560px;
}
.page .divider.dividerTop {
    top: 560px;
}
.page.team .dividerTop{
	 top: 500px;
}
.page.team .fillerTop{
	height: 500px;
}
.page.taxi-transfers .dividerTop,
.page.tours .dividerTop,
.page.attractions .dividerTop{
	 top: 450px;
}
.page.taxi-transfers .fillerTop,
.page.tours .fillerTop,
.page.attractions .fillerTop{
	height: 450px;
}
.divider svg{
    height: 70px;
}
.tourTemplate.page .mainCell {
    grid-column: 2 / span 10;
}
.tourTemplate.page .sideCell {
    grid-column: 14 / span 11;
    padding: 1.2rem 1.5rem;
}
.infoBlocks > div {
    width: calc(var(--gu)* 10);
}
.tourTemplate .cruiseshipBlock {
    padding: 1.5rem 1.5rem 11rem 1.5rem;
}
.tourTemplate .cruiseshipBlock > div {
	margin: 3rem 0 0rem 0;
}
}
@media only screen and (max-width: 719px) { /* Mobile Devices */
.page .fillerTop{
    height: 560px;
}
.page .divider.dividerTop {
    top: 560px;
}
.page.team .dividerTop{
	 top: 500px;
}
.page.team .fillerTop{
	height: 500px;
}
.page.taxi-transfers .dividerTop,
.page.tours .dividerTop,
.page.attractions .dividerTop{
	 top: 450px;
}
.page.taxi-transfers .fillerTop,
.page.tours .fillerTop,
.page.attractions .fillerTop{
	height: 450px;
}
.divider svg{
    height: 30px;
}
.tourTemplate.page .sideCell {
    grid-column: 14 / span 11;
    padding: 1.2rem 1.5rem;
}
.infoBlocks > div {
    width: calc(var(--gu)* 22);
}
.tourTemplate .cruiseshipBlock {
    padding: 1.5rem 1.5rem 11rem 1.5rem;
}
.tourTemplate .cruiseshipBlock > div {
	margin: 3rem 0 0rem 0;
}
.divider.dividerTop{
	top:550px;
}
.toursContainer > .divider{
	top:363px;
}
.toursContainer .dividerFiller,
.fillerTop{
	height:550px;
}
.tourTemplate.page header > div.cover-left .coverImage {
    grid-column: 1 / span 24;
}
.tourTemplate.page header > div.cover-left .introContainer{
    grid-column: 2 / span 22;
}
.tourTemplate .pricing > span{
    display:inline-block;
	max-width:calc(var(--gu)*10);
	vertical-align:middle;
	line-height:1.4;
}
.tourTemplate.page .coreContainer > div {
	grid-template-columns: repeat(24, minmax(0, 1fr));
}
.tourTemplate.page .sideCell.loadRezdy {
	grid-column: 2 / span 22;
	grid-row:2 / span 1;
}
.tourTemplate.page .mainCell {
	grid-column: 2 / span 22;
	grid-row:1 / span 1;
}
.tourTemplate .cruiseshipBlock {
    padding: 1.5rem 2rem 11rem 2rem;
    margin-left: 0;
    width: calc(var(--gu)* 22);
}
.scheduleCT{
	width:100%;
	padding:1rem 0;
	margin:2rem 0 0 0;
}
.scheduleCT iframe {
    border-radius: 0px;
}
}

/* ------------------------------------------------------------------------------ Dispatcher */

.dispatcher{
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding:3rem 0 0 var(--gu);
}
.cardItem{
	width: calc(var(--gu)*7);
	background-color: #ffffff;
    border-radius: 20px;
	overflow:hidden;
    box-shadow: 0 0 20px rgb(0 0 0 / 10%);
	display:flex;
	flex-direction: column;
	justify-content: space-between;
    transform: rotate3d(0, 0, 0, 2deg) scale3d(1, 1, 1);
    transition: transform 0.2s ease;
}
.cardItem:hover{
	transform: rotate3d(0, 0, 1, -1deg) scale3d(1.07, 1.07, 1);
}
.cardHeading{
	
}
.cardIllustration{
	display:block;
	
}
.cardIllustration img{
	display:block;
	width:100%;
	height:auto;
}
.cardContent{
	padding:1.5rem 1.5rem 0 1.5rem;
	box-sizing:border-box;
	display:flex;
	flex-direction: column;
	justify-content: space-between;
}
.cardContent h2{
	font-size:2rem;
	margin:0 0 0.5rem 0;
}
.cardContent h2 a{
	text-decoration:none;
	color:#005aaa;
}
.cardColumns{
	display:flex;
}
.cardIcon{
	min-width:3.5rem;
}
.cardTeaser{
	font-size:0.7rem;
}
.cardFooter{
	text-align:right;
	box-sizing:border-box;
	padding: 0 1.5rem 1.5rem 1.5rem;
}
.cardAction{
	
}


@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */
.dispatcher{
	justify-content: center;
}
.cardItem{
	width: calc(var(--gu)*9);
	margin:0 var(--gu) var(--gu) 0;
}
}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */
.dispatcher{
	justify-content: center;
}
.cardItem{
	width: calc(var(--gu)*10);
	margin:0 var(--gu) var(--gu) 0;
}
.cardFooter .inPageButtons{
	margin-right:0;
}
.cardColumns{
	flex-wrap: wrap;
}
.cardIcon{
	margin-bottom:1rem;
}
.cardItem:hover{
	transform: rotate3d(0, 0, 0, 2deg) scale3d(1, 1, 1);
}
}
@media only screen and (max-width: 719px) { /* Mobile Devices */
.dispatcher{
	justify-content: center;
	padding: 2rem 0 0 0;
}
.cardItem{
	width: calc(var(--gu)*22);
	margin:0 0 2rem 0;
}
.cardFooter .inPageButtons{
	margin-right:0;
}
.cardColumns{
	flex-wrap: wrap;
}
.cardIcon{
	margin-bottom:1rem;
}
.cardItem:hover{
	transform: rotate3d(0, 0, 0, 2deg) scale3d(1, 1, 1);
}
}


/* ------------------------------------------------------------------------------ Taxi Form Page */

.formGrid {
    display: grid;
    grid-template-columns: repeat(24, minmax(0, 1fr));
    grid-gap: 1.5rem 0;
}
#transferForm .formGrid{
	
}
#transferForm .formGrid>div.additionalInfo{
    grid-row: 1 / span 3;
}
.formGrid>div {
	grid-column: 8 / span 11;
}
.formGrid>div.shortField {
    grid-column-end: span 5;
}
.formGrid>div.shortField.rightField {
    grid-column: 13 / span 4;
}
.formGrid>div.mediumField {
    grid-column-end: span 5;
}
.formGrid>div.mediumField.rightField {
    grid-column: 14 / span 5;
}

.formGrid input[type=submit] {
    display: inline-block;
    height: auto;
    border-radius: 20px;
    width: auto;
    font-size: 0.9rem;
}

.formGrid input[type=submit].hide {
    display: none;
}

.formGrid input[type=submit]:hover {
    border-radius: 20px;
}

.formGrid h2 {
    margin: 0;
	font-size:2.4rem;
}

.formGrid .sectionDescription {
    padding: 4rem 0 0 0;
}

.formGrid>div.additionalInfo {
    grid-column: 2 / span 4;
    grid-row: 1 / span 13;
    background-color: #005aaa;
    align-self: start;
    color:#ffffff;
    position: sticky;
    top: 6rem;
    box-shadow: 0 0 0 1.5rem #005aaa;
    border-radius: 6px;
    font-size:0.8rem;
}



@media only screen and (min-width: 980px) and (max-width:1190px) {

#transferForm .formGrid>div.additionalInfo{
    grid-row: 2 / span 3;

}
.formGrid>div.additionalInfo {
	grid-column: 2 / span 5;
	top: 6rem;
	grid-row: 2 / span 12;
}
.formGrid>div {
	grid-column: 9 / span 13;
}
.formGrid>div.shortField {
    grid-column-end: span 6;
}
.formGrid>div.shortField.rightField {
    grid-column: 14 / span 4;
}
.formGrid>div.mediumField {
    grid-column-end: span 6;
}
.formGrid>div.mediumField.rightField {
    grid-column: 16 / span 6;
}
}

@media only screen and (min-width: 720px) and (max-width:979px) {

.formGrid>div {
	grid-column: 4 / span 14;
}
.formGrid>div.shortField.mediumMobTab{
	grid-column: 4 / span 10;
}
.formGrid>div.mediumField,
.formGrid>div.shortField {
	grid-column-end: span 6;
}
.formGrid>div.mediumField.rightField,
.formGrid>div.shortField.rightField {
	grid-column: 12 / span 6;
}
.formGrid>div.additionalInfo,
#transferForm .formGrid>div.additionalInfo{
    grid-row: auto / span 1;
	grid-column: 5 / span 10;
	margin: 2rem 0 0 0;
}
}

@media only screen and (max-width: 719px) {
    
.formGrid>div {
	grid-column: 2 / span 22;
}
.formGrid>div.shortField.mediumMobTab{
	grid-column: 2 / span 18;
}
.formGrid .sectionDescription {
    padding: 3rem 0 0 0;
}
.formGrid>div.mediumField,
.formGrid>div.shortField {
	grid-column: 2 / span 18;
}
.formGrid>div.mediumField.rightField,
.formGrid>div.shortField.rightField {
	grid-column: 2 / span 18;
}
.formGrid>div.additionalInfo,
#transferForm .formGrid>div.additionalInfo{
    grid-row: auto / span 1;
	grid-column: 4 / span 18;
	margin: 2rem 0 0 0;
}
}

/* ------------------------------------------------------------------------------ Transfer Page */

.zoneBlock{
	grid-column: 8 / span 10;
	background-color:#005aaa;
	box-shadow: 0 0 20px rgb(0 0 0 / 10%);
	transform: rotate3d(0, 0, 0, 2deg) scale3d(1, 1, 1);
    transition: transform 0.2s ease;
	border-radius:20px;
	padding:2rem 1.5rem 1.5rem 1.5rem;
	position:relative;
	overflow:hidden;
	text-decoration:none;
	color:#ffffff;
	display:none;
}
.formGrid>div.inlineImage{
	grid-column: 8 / span 8;
}
.zoneBlock:hover {
    transform: rotate3d(0, 0, 1, -1deg) scale3d(1.07, 1.07, 1);
	text-decoration:none;
}
.zoneBlock .zone{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	background-color:#024d90;
	color:#ffffff;
	text-align:center;
	padding:3px 0;
}
.zoneDetails{
	font-size:0.8rem;
}
.zoneDetails .bigPrice,
.zoneDetails .smallPrice{
	display:inline-block;
	width:100%;
}
.zoneDetails strong{
	font-size:1.1rem;
}
.zoneDetails .bigPrice{
	margin:1rem 0 0 0;
}
.zoneDetails .bigPrice strong{
	font-size:1.6rem;
	line-height:1;
}
.zoneFooter{
	display:inline-block;
	width:100%;
	text-align: right;
}
.zoneFooter .inPageButtons{
	margin:0;
}

@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */
.formGrid>div.inlineImage {
    grid-column: 9 / span 8;
}
.zoneBlock {
    grid-column: 9 / span 10;
}
}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */
.formGrid>div.inlineImage {
    grid-column: 4 / span 12;
}
.zoneBlock {
    grid-column: 4 / span 14;
}
.formGrid>div.inlineImage {
    grid-column: 4 / span 22;
}
.zoneBlock:hover {
    transform: rotate3d(0, 0, 0, 2deg) scale3d(1, 1, 1);
}
}
@media only screen and (max-width: 719px) { /* Mobile Devices */
.formGrid>div.inlineImage {
    grid-column: 2 / span 22;
}
.zoneBlock {
    grid-column: 2 / span 22;
}
.zoneBlock:hover {
    transform: rotate3d(0, 0, 0, 2deg) scale3d(1, 1, 1);
}
}

/* ------------------------------------------------------------------------------ Team Page */

.slice.people{
	display: flex;
	flex-wrap: wrap;
	width:calc(var(--gu)*21);
}
a.teamMember{
	display:block;
	width: calc(var(--gu)*7);
	box-sizing:border-box;
	padding: calc(var(--gu)*1);
	text-align:center;
}
.portrait{
	display:block;
	border-radius:50%;
	overflow:hidden;
	background-color:#f7f3ec;
	background: radial-gradient( #ffffff 0%, #f7f3ec 100%);
	border:20px solid #e7e2da;
}
.portrait img{
	display:block;
	width:100%;
	height:auto;
	transform:scale3d(1,1,1) rotate3d(0,0,0, -2deg);
	transition:transform 0.4s ease;
}
a.teamMember:hover .portrait img{
	transform:scale3d(1.1,1.1,1) rotate3d(0,0,1, 2deg);
}
.function{
	
}
.bigName{
    font-family: 'Betm', sans-serif;
    font-size: 2.8rem;
    line-height: 1;
    display: inline-block;
	margin:1rem 0 0 0;
    transform: rotate3d(0, 0, 1, 0deg) scale3d(1, 1, 1);
    transition: transform 0.2s ease;
}
a.teamMember:hover .bigName{
	transform: rotate3d(0, 0, 1, 3deg) scale3d(1.1, 1.1, 1);
}
a.teamMember:nth-child(even):hover .bigName{
	transform: rotate3d(0, 0, 1, -3deg) scale3d(1.1, 1.1, 1);
}

/* ------------------------------------------------------------------------------ Profile Page */

.profile-page{
	
}
.page.profile-page header > div.cover-left .coverImage {
    grid-column: 4 / span 6;
}
.page.profile-page header > div.cover-left .introContainer {
    grid-column: 12 / span 8;
}
.profile-page .borderRadius {
    border-radius: 50%;
	background-color:#f7f3ec;
	background: radial-gradient( #ffffff 0%, #f7f3ec 100%);
	border:20px solid #e7e2da;
}
.page.profile-page .coreContainer {
    padding-top: 3rem;
}


/* ------------------------------------------------------------------------------ Fleet Page */

section.fleet{
	padding-bottom:0;
}
section.fleet .coverImage{
	
}
.vehiclesCt{
	
}
.vehicles{
	width: calc(var(--gu) * 17);
	padding:9rem 0 0rem 0;
	box-sizing:border-box;
}
.vehicle{
	display:grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin:0 0 7rem 0;
}
.vehicleImage{
	max-width:644px;
	transform: scale3d(0,0,1);
	transition:transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.vehicleImage.hasLoaded{
	max-width:644px;
	transform: scale3d(1,1,1);
}
.vehicleImage img{
	display:block;
	width:100%;
	height:auto;
}
.vehicleInfo{
	align-self: center;
}
.vehicleInfo h2{
	
}
.passLuggage{
	margin:0.5rem 0 0 0;
	font-size: 0.8rem;
}
.passLuggage span{
	vertical-align:middle;
}
.vehicleDescription{
	line-height:1.6;
	font-size:0.8rem;
}

@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */
.vehicle{
	margin:0 0 7rem 0;
}
.vehicles {
    padding: 12rem 0 1rem calc(var(--gu)*1);
}
.portrait{
	border:15px solid #e7e2da;
}
.bigName {
    font-size: 2.5rem;
}
}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */
section.fleet .introContainer{
	padding:1rem 0 4rem 0;
}
.vehicle{
	margin:0 0 6rem 0;
}
.vehicles {
    padding: 4rem 0 1rem 0;
	width: calc(var(--gu) * 20);
}
.portrait{
	border:15px solid #e7e2da;
}
.bigName {
    font-size: 2.5rem;
}
a.teamMember{
	width: calc(var(--gu)*10);
}
.profile-page .borderRadius {
	border:15px solid #e7e2da;
}
.vehicleInfo{
	padding:0 0 0 var(--gu);
}
}
@media only screen and (max-width: 719px) { /* Mobile Devices */
section.fleet .introContainer{
	padding:1rem 0 4rem 0;
}
.vehicle{
	margin:0 0 3rem 0;
}
.vehicles {
    padding: 0rem 0 1rem 0;
	width: calc(var(--gu) * 22);
}
.vehicle{
	grid-template-columns: 1fr;
}
.portrait{
	border:15px solid #e7e2da;
}
.bigName {
    font-size: 2.5rem;
	margin: 0rem 0 0 0;
}
a.teamMember{
	width: calc(var(--gu)*20);
}
.profile-page .borderRadius {
	border:15px solid #e7e2da;
}
.vehicleInfo{
	padding:0 0 0 var(--gu);
}
.slice.people {
   padding:2rem 0 0 0;
   width: calc(var(--gu)* 20);
}
.page.profile-page header > div.cover-left .coverImage {
    grid-column: 4 / span 18;
}
.page.profile-page header > div.cover-left .introContainer {
    grid-column: 2 / span 22;
}
.page.profile-page .coreContainer {
    padding-top: 0;
}
}

/* ------------------------------------------------------------------------------ About Page */
.page.about{
	
}
.masonry > a:nth-child(4){
	margin-top:0rem;
}
/* ------------------------------------------------------------------------------ FAQ Page */

.faqs > div{
	margin:3rem 0 0 0;
	position:relative;
	width:calc(var(--gu)*10);
	left:calc(var(--gu)*7);
}

/* ------------------------------------------------------------------------------ Partner Page */
.page.partners{
	
}
.modPartner .partners{
	display:flex;
	margin:2rem 0;
	position:relative;
	left: calc(var(--gu)*2);
	width: calc(var(--gu)*20);
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.modPartner .partners > a{
	
}

/* ------------------------------------------------------------------------------ WA Button */

.waContainer{
	position:fixed;
	z-index:9999;
	bottom:3rem;
	right:3rem;
	border-radius:50%;
	/*background-color:#dae6f4;*/
	background-color:#fff200;
	padding:5px;
	transform: scale3d(1,1,1);
	transition:transform 0.4s ease, background 0.4s ease;
}
.waContainer:hover{
	transform: scale3d(1.2,1.2,1);
	background-color:#fff200;
}
.waContainer svg{
	display:block;
	width:100px;
	height:auto;
}
.waBG{
	fill:transparent;
}
.waLetters,
.waLogo{
	fill:#004182;
}
.waLetters{
	animation:waRotate 20s linear infinite;
	transform-origin:center;
}
.waLetterGroup{
	animation:waRotate 10s linear infinite;
	transform-origin:center;
	animation-play-state: paused;
}
.waContainer:hover .waLetterGroup{
	animation-play-state: running;
}

@keyframes waRotate{
	0%{transform: rotate3d(0,0,1,0deg)}
	100%{transform: rotate3d(0,0,1,360deg)}
}

/* ------------------------------------------------------------------------------ Article Template */

.slice.limited .flickity.gallery{
	position:relative;
	left:50%;
	transform:translate(-50%,0);
	width:clamp(100%, calc( var(--gu) * 12), 100vw); 
}
.slice.limited .coverImage .flickity.gallery{
	width:100%; 
}
.slice.limited .flickity.gallery.filmstrip{
	width:clamp(100%, 100vw, 100vw);
}
.galleryContainer{
    max-width: 800px;
    margin: 0 auto;
}
.filmstripContainer{
	
}
.thumbnailsContainer{
    max-width: 1200px;
    margin: 0 auto;
}


/*###########################################################################*/
/*######################## Listings Customization ###########################*/
/*###########################################################################*/

.listingsContainer{
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: stretch;
	align-content: flex-start;
}
.listingItem{
	width: 25%;
	box-sizing: border-box;
	position:relative;
	overflow:hidden;
	background-color:rgba(164, 176, 213, 0.4);
}
/* item content */
.listingItem .subContainer{
	box-sizing: border-box;
	padding:30px;
	background-color:rgba(126, 199, 126, 0.66);
	width:100%;
}
.listingItem .illustration img{
	width:100%;
	display:block;
	height:auto;
}
.listingItem h2{
	font-size:2em;
	line-height:1.2;
}
.listingItem .date{
	font-size:0.8em;
}
.listingItem .shortDescription{
	
}

@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */
.waContainer{
	bottom:2rem;
	right:2rem;
}
.listingItem{
	width: 33.3%;
}
.faqs > div{
	width:calc(var(--gu)*14);
	left:calc(var(--gu)*5);
}
}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */
.waContainer:hover,
.waContainer{
	transform: scale3d(0.9,0.9,1);
}
.waContainer{
	bottom:1rem;
	right:1rem;
}
.listingItem{
	width: 50%;
}
.faqs > div{
	width:calc(var(--gu)*16);
	left:calc(var(--gu)*3);
}
.modPartner .partners {
    left: calc(var(--gu)* 1);
    width: calc(var(--gu)* 22);
	margin: 2rem 0 0 0;
}
}
@media only screen and (max-width: 719px) { /* Mobile Devices */

.listingItem{
	width: 50%;
}
.faqs > div{
	width:calc(var(--gu)*22);
	left:calc(var(--gu)*1);
	margin: 2rem 0 0 0;
}
.modPartner .partners {
    left: calc(var(--gu)* 0);
    width: calc(var(--gu)* 24);
	margin: 2rem 0 0 0;
}
.waContainer:hover,
.waContainer{
	transform: scale3d(0.8,0.8,1);
}
.waContainer{
	bottom:0.5rem;
	right:0.5rem;
}
}

/*###########################################################################*/
/*#################### (Infinite) Flex Item Directory #######################*/
/*###########################################################################*/

.flexItems{
	box-sizing:border-box;
	/* background-color:#f642b5; */
	display:flex;
	flex-wrap: wrap;
	/*justify-content: space-between;*/
	
	box-sizing:border-box;
	padding:0 var(--gu);
}
/* -------- Elements */

.flexItems .flexItem{
	width: calc(var(--gu) * 6.66);
	margin: 0 var(--gu) var(--gu) 0;
	box-sizing: border-box;
	/* keep footer down */
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	
	/* cosmetics + animation */
	opacity:0;
    transform: translate3d(0, 100px, 0);
	overflow:visible;
}
.flexItems .flexItem:nth-child(3n) { /* 3 elements per row -> smaller use "space between"*/
	margin: 0 0 var(--gu) 0;
}
.flexItems .flexItem.showItem:hover,
.flexItems .flexItem.showItem:nth-child(even):hover{
	
}
.flexItems .flexItem .attractionBox,
.flexItems .flexItem .tourBox{
	background-color: #ffffff;
	border-radius:20px;
	overflow:hidden;
	box-shadow: 0 0 20px rgb(0 0 0 / 10%);
    transform: rotate3d(0, 0, 0, 2deg) scale3d(1, 1, 1);
    transition: transform 0.2s ease;
	
}
.flexItems .flexItem .attractionBox:hover,
.flexItems .flexItem .tourBox:hover{
	transform: rotate3d(0,0,1,-1deg) scale3d(1.07,1.07,1);
}
.flexItems .flexItem img{
	width:100%;
	display:block;
	height:auto;
}

/* Infinite Items Cosmetics */
.flexItems .flexItem.showItem{
	animation: appear 0.6s cubic-bezier(0.45, 0.05, 0.55, 0.95) forwards;
}
.flexItems .flexItem.showItem:nth-child(even){
	animation: appear 0.6s cubic-bezier(0.45, 0.05, 0.55, 0.95) 0.3s forwards;
}
@keyframes appear{
  from { opacity:0; transform: translate3d(0,100px,0);}
  to { opacity:1; transform: translate3d(0,0,0);}
}

.itemImage{
	
}
.itemMain{
	
}
.tourBox .labelContainer,
article .labelContainer,
.attractionBox .labelContainer{
	position:absolute;
	top:1rem;
	right:1rem;
}
.itemBody{
	padding:0 1.5rem;
}
.itemFooter{
	/*background-color:#dddddd;*/
	padding:1.5rem;
	display:flex;
	justify-content: space-between;
	align-items: flex-end;
}
.itemFooter .itemInfos{
	font-size:0.8rem;
	box-sizing:border-box;
	padding:0;
}
.sidePrice{
	font-size:0.7rem;
}
.sidePrice strong{
	font-size:1rem;
}
.itemFooter .itemReadon{
	text-align:right;
	min-width:100px;
}
.itemFooter .itemReadon > a{
	display:inline-block;
	vertical-align:bottom;
}
.itemBody h2{
	padding:1.5rem 0 0 0;
	font-size:2rem;
	margin:0 0 0.5rem 0;
}
.itemBody h2 a{
	text-decoration: none;
    color: #005aaa;
}
.itemBody .shortDescription{
	font-size:0.8rem;
}
.labelContainer{
	text-align:right;
}
.labelContainer a.tourLabel{
	margin:0 0 0.5rem 0.3rem;
}

.pathway{
	padding:0 0 2.5rem 0;
}
.pathway > div{
	padding:1rem 0 0 var(--gu);
	width: calc(var(--gu)*12);
	margin-left: calc(var(--gu)*6);
}
.pathway .path{
	font-size:0.7rem;
	margin:0 0 1rem 0;
	display:inline-block;
	background-color:#dae6f4;
	padding:3px 35px 3px 15px;
	border-radius:20px;
	color:#004182;
	text-decoration:none;
	transform:rotate3d(0,0,1,0deg) scale3d(1,1,1);
	transition:transform 0.2s ease;
}
.pathway .path:hover{
	transform: rotate3d(0, 0, 1, -3deg) scale3d(1.1, 1.1, 1);
}
.closePath{
	display:inline-block;
	width: 15;
	height: 15px;
	position:relative;
}
.closePath:before, .closePath:after {
	position:absolute;
	top:3px;
	left:15px;
	content:' ';
	height:15px;
	width:2px;
	background-color: #004182;
}
.closePath:before {
	transform: rotate(45deg);
}
.closePath:after {
	transform: rotate(-45deg);
}

.pathway a.inPageButtons{
	padding: 3px 15px;
	font-size:0.8rem;
	margin: 10px 10px 0 0;
}
.pagination{
	display:none;
}

@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */
.flexItems {
    justify-content: space-between;
	justify-content: space-around;
	justify-content: center;
}
.flexItems .flexItem{
	width: calc(var(--gu) * 9);
	margin: 0 var(--gu) var(--gu) 0;
}
.flexItems .flexItem:nth-child(3n) {
    margin: 0 var(--gu) var(--gu) 0;
}
.pathway > div {
    width: calc(var(--gu)* 14);
    margin-left: calc(var(--gu)* 5);
	padding: 1rem 0 0 0;
}
}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */
.flexItems {
    justify-content: space-between;
	justify-content: space-around;
	justify-content: center;
}
.flexItems .flexItem{
	width: calc(var(--gu) * 10);
	margin: 0 var(--gu) var(--gu) 0;
}
.flexItems .flexItem:nth-child(3n) {
    margin: 0 var(--gu) var(--gu) 0;
}
.pathway > div {
    width: calc(var(--gu)* 14);
    margin-left: calc(var(--gu)* 3);
	padding: 1rem 0 0 0;
}
.itemFooter .itemReadon{
	min-width:80px;
}
.flexItems .flexItem .attractionBox:hover,
.flexItems .flexItem .tourBox:hover{
	transform: rotate3d(0, 0, 0, 2deg) scale3d(1, 1, 1);
}
.pathway {
    padding: 0 0 1rem 0;
}
}
@media only screen and (max-width: 719px) { /* Mobile Devices */
.flexItems {
    justify-content: space-between;
	justify-content: space-around;
	justify-content: center;
}
.flexItems .flexItem{
	width: calc(var(--gu) * 24);
	margin: 0 0 1.5rem 0;
}
.flexItems .flexItem:nth-child(3n) {
   margin: 0 0 1.5rem 0;
}
.pathway > div {
    width: calc(var(--gu)* 22);
    margin-left: calc(var(--gu)* 1);
	padding: 1rem 0 0 0;
}
.itemFooter .itemReadon{
	min-width:80px;
}
.flexItems .flexItem .attractionBox:hover,
.flexItems .flexItem .tourBox:hover{
	transform: rotate3d(0, 0, 0, 2deg) scale3d(1, 1, 1);
}
.pathway{
	padding:0 0 1rem 0;
}
}


/*###########################################################################*/
/*########################### Masonry Directory #############################*/
/*###########################################################################*/

.masonry {
	columns: 2 auto;
	column-gap: 1.4rem;
	/* background-color:#000000; */
	position:relative;
	width: clamp(100%, calc(var(--gu) * 12), 100vw);
	left:50%;
	transform:translate(-50%,0);
	direction: rtl;
}
.masonry > a,
.masonry > div{
	padding: 0 0 1rem 0;
	display: inline-block;
	box-sizing:border-box;
	width: 100%;
	text-decoration:none;
	position:relative;
}
.tbCaption{
	display:none;
}
.masonry .tbCaption{
	display:block;
}
.masonry .tbCaption,
.masonry .refCaption{
	box-sizing:border-box;
	padding:0 8px;
	display:block;
	line-height:1.3;
}
.masonry .tbCaption:first-of-type,
.masonry .refCaption:first-of-type{
	/* padding-top:4px; */
}
.masonry .refCaption{
	display:flex;
	justify-content: space-between;
	flex-wrap: nowrap;
}
.masonry .tbCaption,
.masonry .refC,
.masonry .copyR{
	font-size:0.6rem;
	color: #6E6C68;
	font-style:italic;
	background-color:#f7f3ec;
	border-radius:8px;
	box-sizing:border-box;
	padding: 4px 10px 6px 10px;
	position:absolute;
	bottom:0;
	max-width:90%;
	/*transform:translate3d(0,-50%,0);*/
	right:0;
}
.masonry .refC,
.masonry .copyR{
	display:inline-block;
}

.masonry img{
	display:block;
	width:100%;
	height:auto;
	border-radius:8px;
}


@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */

}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */

}
@media only screen and (max-width: 719px) { /* Mobile Devices */

}


/* ------------------------------------------------------------------------------ Specific Directory Page */


/*###########################################################################*/
/*####################### Youtube Video Embedding ###########################*/
/*###########################################################################*/

.videoWrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
}
.videoWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*###########################################################################*/
/*############################### CSS3 Column System ########################*/
/*###########################################################################*/

#cssColumnLayout{
	text-align:left;
}
.cssCol{
    column-gap: 60px;
	column-rule: 1px solid lightblue;
	text-align:left;
}
.cssCol.twoCol{
	column-count: 2;
}
.cssCol.threeCol{
	column-count: 3;
}
.cssCol > h2 { /* Not supported in Firefox */
    column-span: all;
}

@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */

}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */
.cssCol.twoCol,
.cssCol.threeCol{
	column-count: 2;
}
}
@media only screen and (max-width: 719px) { /* Mobile Devices */
.cssCol.twoCol,
.cssCol.threeCol{
	column-count: 1;
}
}


/*###########################################################################*/
/*################################## Tables #################################*/
/*###########################################################################*/

.horizontalScrollContainer{
	width:100%;
}

table{
	width:100%;
	border-left-style:solid;
	border-left-color: #CDCFD6;
	border-left-width: 1px;
	border-top-style:solid;
	border-top-color: #CDCFD6;
	border-top-width: 1px;
	font-size:0.9em;
}
table td{
	text-align:left;
	padding:30px;
	border-right-style:solid;
	border-right-color: #CDCFD6;
	border-right-width: 1px;
	border-bottom-style:solid;
	border-bottom-color: #CDCFD6;
	border-bottom-width: 1px;
	text-align:center;
}
table tr:first-child td{
	background-color: #c6c6c6;
	font-size: 1.2em;
	text-align: center;
}
table tr td:first-child{
	background-color: #b4b4b4;
}
table tr td:nth-child(2) {
	
}

@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */

}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */
.horizontalScrollContainer{
	overflow-x: scroll;
}
}
@media only screen and (max-width: 719px) { /* Mobile Devices */
.horizontalScrollContainer{
	overflow-x: scroll;
}
}

/*###########################################################################*/
/*################################## Tabs ###################################*/
/*###########################################################################*/

.tabContainer{
	float:left;
	position:relative;
	width:100%;
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
	overflow:hidden;
	height:0;
	margin:0;
}
.menuTabs, .ctTabs{
	position:absolute;
	/*top:100px;*/
	left:0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	opacity:0;
	/*transition: all 0.4s ease;*/
	width:100%;
	z-index:-1;
}
.displaying{
	opacity:1;
	top:0px;
	z-index:1;
}



/*###########################################################################*/
/*########################## Collapsible Elements ###########################*/
/*###########################################################################*/


/* replace type="radio" by type="checkbox" for independent behavior */

.collapsible input {
    display: none;
}
.collapsible label{
    padding: 5px 0 0 35px;
    position: relative;
    z-index: 20;
    display: block;
    height: auto;
    cursor: pointer;
	color: #0073E6;
    text-decoration:underline;
    text-decoration-color: #FFF200;
    text-decoration-thickness: 1px;
    text-underline-position: under;
}
.collapsible label:hover{
	text-decoration-thickness: 3px;
}
.collapsible input:checked + label,
.collapsible input:checked + label:hover{
	
}
.collapsible .reply{
    overflow: hidden;
    height: auto;
    max-height: 0px;
    position: relative;
    z-index: 10;
    transition: max-height 0.3s ease-in-out;
}
.collapsible .reply div{
    padding:20px 35px;
	margin:10px 0 30px 0px;
	font-size:0.8rem;
	background-color:#f7f3ec;
	border-radius:10px;
}
.collapsible input:checked + label + .reply{
	transition: max-height 0.5s ease-in-out;
}
.collapsible input:checked + label + .reply{
    max-height: 600px; /* any value larger to the highest content */
}


/* FAQ */

.faqArrow{
	vertical-align:middle;
	margin:0 0.5em 0 0;
	transition:transform 0.5s ease;
	transform:rotate(0deg);
	transform-origin:center;
	position:absolute;
	left:0;
}
.collapsible input:checked + label .faqArrow{ 
	transform:rotate(90deg);
}

@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */

}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */

}
@media only screen and (max-width: 719px) { /* Mobile Devices */
#services{
	text-align:left;
}
.tree > div:nth-child(1),
.tree > div:nth-child(2){
	padding: 10px 0 0 30px;
	border-right:none;
	border-left:solid 10px #FFFFFF;
	text-align:left;
}
.tree > div:nth-child(2){
	padding: 0px 0 10px 30px;
}
.tree > div:nth-child(1) label,
.tree > div:nth-child(1) article{
	text-align:left;
}
.collapsible .reply div{
    padding:20px 20px;
}
}

/*###########################################################################*/
/*############################ Viewport Effects #############################*/
/*###########################################################################*/

[data-viewportevent="zoomOut"]{
	transform:scale(0.8);
	transition: all 0.4s ease;
}
[data-viewportevent="zoomOut"].inViewport{
	transform:scale(1);
}


/*###########################################################################*/
/*#################################### Swiffy ###############################*/
/*###########################################################################*/

.swiffy-slider {
    position: relative;
    display: block;
    width: 100%;
    --swiffy-slider-snap-align: center;
    --swiffy-slider-item-width: 100%;
    --swiffy-slider-item-gap: calc(var(--gu)*2);
    --swiffy-slider-item-reveal: 0rem;
    --swiffy-slider-item-ratio: 2/1;
    --swiffy-slider-item-count: 1;
    --swiffy-slider-nav-light: #fff;
    --swiffy-slider-nav-dark: #333;
    --swiffy-slider-nav-zoom: 1;
    --swiffy-slider-track-opacity: 0.1;
    --swiffy-slider-track-height: 0;
    --swiffy-slider-indicator-outside-size: 1.5rem;
    --swiffy-slider-animation-duration: .75s;
    --swiffy-slider-animation-delay: 0s;
    --swiffy-slider-animation-timing: ease-in-out;
}

.swiffy-slider,
.swiffy-slider::after,
.swiffy-slider::before {
    box-sizing: border-box;
}

.swiffy-slider ::-webkit-scrollbar {
    height: var(--swiffy-slider-track-height);
}

.swiffy-slider ::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, var(--swiffy-slider-track-opacity));
}

.swiffy-slider ::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.4);
    border-radius: 1rem;
}

.swiffy-slider ::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.6);
}

.slider-container {
    --swiffy-slider-item-gap-totalwidth: calc(var(--swiffy-slider-item-gap) * (var(--swiffy-slider-item-count) - 1));
    --swiffy-slider-item-width: calc((100% - var(--swiffy-slider-item-reveal) - var(--swiffy-slider-item-gap-totalwidth)) / var(--swiffy-slider-item-count));
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    display: grid;
    align-items: center;
    height: 100%;
    grid: auto / auto-flow max-content;
    grid-auto-rows: 100%;
    grid-auto-columns: var(--swiffy-slider-item-width);
    grid-auto-flow: column;
    grid-gap: var(--swiffy-slider-item-gap);
    list-style: none;
    margin: 0;
    padding: 0;
    scrollbar-width: none;
    scrollbar-color: rgba(0, 0, 0, 0.4) rgba(0, 0, 0, var(--swiffy-slider-track-opacity));
    background-clip: padding-box;
}

.slider-container>* {
    /*The slides*/
    scroll-snap-align: var(--swiffy-slider-snap-align);
    position: relative;
    width: 100%;
    height: 100%;
}

/*.slider-item-helper .slider-container>* {
    background-size: cover;
    background-color: #e1e1e1;
    background-position: 50% 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}*/

.slider-item-helper:not(.slider-item-ratio) .slider-container>* {
    min-height: 20rem;
}

.slider-item-ratio .slider-container>*>* {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slider-item-ratio-contain .slider-container>*>* {
    object-fit: contain;
}

.slider-item-ratio .slider-container>*::after {
    display: block;
    padding-top: calc( 100% / (var(--swiffy-slider-item-ratio)));
    content: "";
}

.slider-nav-scrollbar .slider-container {
    scrollbar-width: thin;
}

.slider-nav-nodelay .slider-container {
    scroll-behavior: auto;
}

.slider-nav {
    position: absolute;
    top: 50%;
    left: 0;
    bottom: 0;
    border: 0;
    cursor: pointer;
    padding: 0;
    visibility: hidden;
    /* opacity: 0.8; */
    /* transition: visibility 0.1s, opacity 0.2s linear; */
    margin-bottom: var(--swiffy-slider-track-height);
    display: flex;
    transform: translate3d(0,-50%,0);
}
.slider-nav.cButton{
	background:#e7f2fe;
	border-radius: 0 50% 50% 0;
}
.slider-nav.slider-nav-next.cButton{
    border-radius: 50% 0 0 50%;
}

.swiffy-slider:hover .slider-nav {
    visibility: visible;
}

.swiffy-slider.slider-nav-autohide.slider-item-first-visible .slider-nav:not(.slider-nav-next) {
    visibility: hidden;
}

.swiffy-slider.slider-nav-autohide.slider-item-last-visible .slider-nav.slider-nav-next {
    visibility: hidden;
}

.slider-nav-outside .slider-container {
    /*margin: 0 calc(var(--gu)*1) 0 calc(var(--gu)*2);*/
	max-width: calc(var(--gu) * 22);
	margin:0 auto;
}

.slider-nav-outside .slider-nav {
    padding: 0;
}

.swiffy-slider .slider-nav:hover {
    opacity: 1;
}

.slider-nav-square .slider-nav {
    padding: 0;
}

.slider-nav.slider-nav-next {
    right: 0;
    left: unset;
}

.slider-nav-visible .slider-nav {
    visibility: visible;
}

.slider-nav-dark .slider-nav {
    opacity: 0.6;
}


.slider-item-snapstart {
    --swiffy-slider-snap-align: start;
}

.slider-item-nosnap {
    --swiffy-slider-snap-align: unset;
}

.slider-item-nogap {
    --swiffy-slider-item-gap: 0rem;
}

.slider-item-reveal {
    --swiffy-slider-item-reveal: 8rem;
}

.slider-item-snapstart.slider-item-reveal {
    --swiffy-slider-item-reveal: 4rem;
}

.slider-item-show2 {
    --swiffy-slider-item-count: 2;
}

.slider-item-show3 {
    --swiffy-slider-item-count: 3;
}

.slider-item-show4 {
    --swiffy-slider-item-count: 4;
}

.slider-item-show5 {
    --swiffy-slider-item-count: 5;
}

.slider-item-show6 {
    --swiffy-slider-item-count: 6;
}

.slider-nav-mousedrag .slider-container {
    cursor: grab;
}

.slider-nav-mousedrag.dragging .slider-container {
    scroll-snap-type: unset;
    scroll-behavior: unset;
    user-select: none;
}

.slider-nav-mousedrag.dragging .slider-nav {
    visibility: hidden;
}



@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */
	
}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */
/*.slider-item-show3 {
    --swiffy-slider-item-count: 2;
}*/
.swiffy-slider.slider-nav-touch .slider-nav {
	visibility: visible;
}
.slider-item-nosnap-touch {
	--swiffy-slider-snap-align: unset;
}
.slider-nav.cButton {
	display:none;
}
}

@media only screen and (max-width: 719px) { /* Mobile Devices */
.slider-item-show3 {
	--swiffy-slider-item-count: 1;
}
.swiffy-slider.slider-nav-touch .slider-nav {
	visibility: visible;
}
.slider-item-nosnap-touch {
	--swiffy-slider-snap-align: unset;
}
.slider-nav.cButton {
	display:none;
}
}

@media (hover: hover) {
    .slider-nav-mousedrag .slider-container::after {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
    }
}

@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */

}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */

}
@media only screen and (max-width: 719px) { /* Mobile Devices */

}



/*###########################################################################*/
/*################################### Reviews ###############################*/
/*###########################################################################*/
.reviewCt{
	overflow-x:clip;
}
.review{
	display: flex;
	align-items: center;
	transform:scale3d(0.8,0.8,1);
	transition:transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
	transform-origin:left;
	/* background-color:chartreuse; */
	/*background-color:#f7f3ec;
	box-sizing:border-box;
	padding:0 1rem;
	border-radius:40px;*/
}
.review.slide-visible{
	transform:scale3d(1,1,1) rotate3d(0,0,0,0deg);
}
.avatarCover{
	width:20%;
	border-radius:50%;
	overflow:hidden;
	box-sizing:border-box;
}
.avatarCover img{
	display:block;
	width:100%;
	height:auto;
}
.reviewText{
	width:80%;
	box-sizing:border-box;
	padding:0 0 0 1rem;
}
.review h2{
	font-family: 'Quicksand', sans-serif;
	font-size:0.9rem;
	line-height:1.4;
	color:#6E6C68;
}
a.reviewMain{
	text-decoration:none;
}
.ratingGroup{
	
}
.reviewAuthor{
	font-size:0.6rem;
	color: #6E6C68;
}
.fullReview{
	font-size:0.6rem;
	display:inline-block;
	margin:0 0 0 2rem;
	text-decoration:none;
	background-color:#e7f2fe;
	color:#005aaa;
	border-radius:6px;
	padding:0 10px;
	transition: transform 0.2s ease;
	transform: rotate3d(0, 0, 0, -3deg) scale3d(1, 1, 1);
}
a.fullReview:hover{
	text-decoration:none;
	transform: rotate3d(0, 0, 1, -3deg) scale3d(1.1, 1.1, 1);
}

@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */
.review h2{
	font-size:0.8rem;
}
}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */
.review h2{
	font-size:0.8rem;
}
.review{
	flex-wrap: wrap;
	align-content: flex-start;
}
.avatarCover{
	width:30%;
}
.reviewText{
	width:100%;
	padding: 0;
}
.fullReview {
	margin:0;
}
.reviewMain {
    display:block;
}
.review{
	transform:none;
}
.review.slide-visible{
	transform:none;
}
}
@media only screen and (max-width: 719px) { /* Mobile Devices */
.review h2{
	font-size:0.8rem;
}
.review{
	align-content: flex-start;
}
.avatarCover{
	width:40%;
}
.reviewText{
	width:100%;
	padding: 0 0 0 1rem;
}
.fullReview {
	margin:0;
}
.reviewMain {
    display:block;
}
.review{
	transform:none;
}
.review.slide-visible{
	transform:none;
}
}


/*###########################################################################*/
/*################################## Timeline ###############################*/
/*###########################################################################*/

.timeline{
	border-left:12px solid #005aaa;
	margin:0 0 4rem 0;
}
.pointEvent{
	position:relative;
	box-sizing:border-box;
	padding:2rem 2rem 0rem 1.5rem;
	border-radius:20px;
	margin:0 0 2rem 0;
	font-size:0.8rem;
}
.pointEvent.important{
	padding:2rem 2rem 2rem 1.5rem;
	background-color:#f7f3ec;
}
.pointEvent.high h3.pointTitle,
.pointEvent.important h3.pointTitle{
	font-size:2.8rem;
}
.pointEvent::after{
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:20px;
	height:20px;
	border:8px solid #005aaa;
	border-radius:50%;
	background-color:#fff200;
	transform: translate3d(calc(-50% - 7.5px), calc(2rem - 15%), 0); /* 7.5 = timeline border width/2 */
}
.pointEvent.medium::after{
	
}
.pointEvent.low::after{
	
}
.pointEvent.high::after,
.pointEvent.important::after{
	background-color:#fff200;
	width:30px;
	height:30px;
	border:10px solid #005aaa;
}
.pointEvent:first-child span.timelineMask,
.pointEvent:last-child span.timelineMask{
	background-color:#ffffff;
	width:15px;
	height:calc(100% - 2.1rem);
	display:block;
	position:absolute;
	left:-15px;
	bottom:0;
}
.pointEvent:first-child span.timelineMask{
	height:2.1rem;
	bottom:auto;
	top:0;
}
h3.pointTitle{
	font-size:2rem;
}
.pointEvent a.imgPreview {
	display:block;
	width:200px;
	margin:0.5rem 0 0.3rem 0;
}
.pointEvent .imgPreview img{
	display:block;
	width:100%;
	height:auto;
}
.pointTeaser{
	font-size:0.8rem;
}
a.attractionLink{
	
}

@media only screen and (min-width: 980px) and (max-width: 1190px) { /* Normal Screens */

}
@media only screen and (min-width: 720px) and (max-width: 979px) { /* Tablet Devices */
.pointEvent.high h3.pointTitle,
.pointEvent.important h3.pointTitle{
	font-size:2rem;
}
}
@media only screen and (max-width: 719px) { /* Mobile Devices */
.pointEvent.high h3.pointTitle,
.pointEvent.important h3.pointTitle{
	font-size:2rem;
}
}


/******************************************* End Of CSS ********************************************/