/**
 * ### Colors
 * red	 		#F33
 * black: 		#000
 * light black 	#2A2A2A
 * gray			#DEDEDE
 * light gray	#F6F6F6
 * white		#FFF
 *
 * ### Break points
 * 1200px	-> 	1160
 * 1000px	->	960
 * 720px	->  680
 * 			-> 	max 500
 */
@font-face {
	font-display: fallback;
    font-family: 'campton';
    src: url('fonts/campton-bold-webfont.woff2') format('woff2'),
         url('fonts/campton-bold-webfont.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}
@font-face {
	font-display: fallback;
    font-family: 'campton';
    src: url('fonts/campton-medium-webfont.woff2') format('woff2'),
         url('fonts/campton-medium-webfont.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}
@font-face {
	font-display: fallback;
    font-family: 'campton';
    src: url('fonts/campton-book-webfont.woff2') format('woff2'),
         url('fonts/campton-book-webfont.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
	font-display: fallback;
    font-family: 'campton';
    src: url('fonts/campton-light-webfont.woff2') format('woff2'),
         url('fonts/campton-light-webfont.woff') format('woff');
    font-weight: 300;
    font-style: normal;

}
@font-face {
	font-display: fallback;
    font-family: 'espa';
    src: url('fonts/espa-webfont.woff2') format('woff2'),
         url('fonts/espa-webfont.woff') format('woff');
    font-weight: normal;
    font-style: italic;
}
@keyframes cutoutin {
  from {
	background: #000;
  }
  to {
	background: #FFF;
  }
}

hr.textonly {
	display: none !important;
}
.hidden {
	display: none;	
}
.lazywrap {
	display: block;
	position: relative;
	background: rgba(0,0,0,0.2);
}
.lazywrap img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

}
.devinfo {
	position: fixed;
	left: 10px;
	bottom: 10px;
	border-radius: 10px;
	background: rgba(0,0,0,0.3);
	color: #FFF;
	padding: 5px 10px;
	z-index: 1000;
}
nav, main, aside, footer, header, figure, figcaption, article, hgroup,
section,p,form,dl,dt,dd, fieldset {
	display: block; margin: 0; padding: 0;
	border: none;
}
em, address {
	font-style: normal;	
}
.struct, .struct li {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.inline > dt, .inline > dd,
.inline > li {
	display: inline-block;	
}
html, body {
	font-family: campton,calibri,helvetica,sans-serif;
	font-size: 16px;
	line-height: 2;
	margin: 0;
	padding: 0;
	color: #444444;
}
h1,h2,h3,h4,h5 {
	font-size: 100%;
	font-weight: normal;
	margin: 0;
	padding: 0;
}
input, textarea {
	font-family: inherit;
	font-size: inherit;	
	background: #FFF;
	border: 1px solid #DEDEDE;
	background: #F6F6F6;
	border-radius: 2px;
	padding: 0 10px;
	box-sizing: border-box;
}
textarea {
	height: 120px;	
}
input {
	background: #FFF;
	border: 1px solid #DEDEDE;
	height: 50px;
	line-height: 48px;
}
.selectbox {
	height: 50px;
	line-height: 48px;
	border: 1px solid #DADADA;
	border-radius: 2px;
	font-size: 100%;
	box-sizing: border-box;
	position: relative;
	display: inline-block;
	vertical-align: bottom;
	cursor: pointer;
	background: #FFF;
}
.selectbox:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 40px;
	display: block;
	background: url("img/caret.svg") center center no-repeat;
	transform: rotate(90deg);
}

.selectbox select:-moz-focusring {
	color:transparent;
	text-shadow:0 0 0 #333; /* your normal text color here */
}
form .selectbox select:-moz-focusring * {
	color: #333; /* your normal text color here */
	text-shadow:none;
}
/** and in other browsers */
form .selectbox select:option {
	outline: none;	
}
/* remove the styling of the normal select box completely */
form .selectbox select {
	display: block;
	font-family: inherit;
	font-size: 100%;
	outline: none;
	position: relative;
	width: 100%;
	height: 100%;
	line-height: 48px;
	border: 0;
	padding: 0 40px 0 20px;
	background: transparent;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
#deventer .siteform.with-required {
	position: relative;	
}
#deventer .siteform.with-required:after,
#deventer .siteform.with-required:before {
	content: "verplicht veld";
	display: block;
	color: #000;
	position: absolute;
	bottom: 1em;
	padding-left: 8px;
}
#deventer .siteform.with-required:after {
	content: "*";
	color: #F33;
	padding-left: 0;
}
#deventer[lang=de] .siteform.with-required:before {
	content: "Pflichtfeld";
}
 #deventer[lang=en] .siteform.with-required:before {
	content: "required field";
}
#deventer .siteform li .required label::after {
	color: #F33;	
}
#deventer .siteform label {
	font-weight: 500;
	font-size: 100%;
	color: #000;
}
#deventer .siteform label.inline {
	font-weight: 400;
	color: #444;
}
#deventer .siteform legend {
	display: none;	
}
#deventer .siteform .legend {
	color: #F33;
	padding: 20px 0 0 0;
	font-weight: 500;
	font-size: 20px;	
}
#deventer .siteform li .required label.radiobox:after {
	content: "";
	display: none;
}


#deventer .siteform {
	background: #F6F6F6;
	padding: 20px 40px;
	position relative;	
}
#deventer .section.gray .siteform {
	background: #FFF;	
}
#deventer .section.gray input,
#deventer .section.gray textarea,
#deventer .section.gray .selectbox {
	background: #F6F6F6;	
}

.formcontext {
	padding: 30px 0;	
}
.formcontext .box {
	position: relative;
	background: #F33;
	color: #FFF;
	height: 100px;
	padding-left: 120px;
	display: block;
}
.formcontext .banner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100px;
	height: 100px;
}
.formcontext .text {
	position: absolute;
	top: 50%;
	left: 120px;
	right: 40px;
	transform: translate(0,-50%);	
}
.formcontext .box:after {
	content: '';
	width: 22px;
	height: 22px;
	position: absolute;
	background: url("img/arrow.svg") center center no-repeat;
	right: 20px;
	top: 50%;
	transform: translate(0,-50%);
	filter: grayscale(1) brightness(5);	
}
.formcontext .box:hover {
	background: #252222;	
}
.formcontext .box:hover:after {
	filter: none;
}

.button {
	font-family: campton,calibri,helvetica,sans-serif;
	display: inline-block;
	height: 50px;
	line-height: 48px;
	font-weight: 400;
	font-size: 16px;
	border: 1px solid transparent;
	border-radius: 1px;
	color: #FFF;
	background: #F33;
	margin: 0;
	padding: 0 20px 0 20px;
	text-align: center;
	vertical-align: top;
	white-space: nowrap;
	box-sizing: border-box;
	cursor: pointer;
	text-decoration: none;
}
.button svg {
	width: 12px;
	height: 10px;	
}
.button:hover {
	background: #252222;
	text-decoration: none !important;
}
.button.cancel {
	opacity: 0.5;	
}
.button.cancel:hover {
	opacity: 1;	
}

.poster {
	font-weight: 500;
	font-size: 60px;
	line-height: 70px;
}
.t1 {
	color: #F33;
	font-weight: 500;
	font-size: 50px;
	line-height: 60px;
}
.cutout {
	mix-blend-mode: screen
}
.cutout span {
	background: #FFF;
	color: #000;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	padding: 0.21em 40px;
	line-height: 1.66;
	font-weight: 500;
	font-size: 60px;
	display: inline;
	box-siziing: border-box;
}
.t2 {
	font-size: 36px;
	line-height: 1;
	font-weight: 500;	
}
.t25 {
	font-size: 26px;
	line-height: 1;
}
	
.t3 {
	font-weight: 300;
	font-size: 18px;
	line-height: 26px;
}
.t4 {
	font-weight: 700;
	font-size: 18px;
	line-height: 26px;
}
.tt {
	font-family: espa, sans-serif;
	font-style: italic;
	font-size: 24px;
	line-height: 30px;
}
.t5,
.lead {
	font-size: 20px;
	font-weight: 300;	
}
@media (max-width: 720px) {
	.t1 {
		font-size: 30px;
		line-height: 1;
	}
}


img {
	vertical-align: top;
}

a {
	text-decoration: none;
	color: #F33;
}
a[href]:hover {
	text-decoration: underline;	
}
.blockbanner a,
a.box {
	color: inherit;	
}
.blockbanner a:hover,
a.box:hover {
	text-decoration: inherit;	
}

.section {
	overflow: hidden;	
}
.section.flow {
	overflow: visible;
}

#contentstart > .section:last-child,
#contentstart > article > .section:last-child {
	padding-bottom: 200px;	
}
.section.gray {
	background: #F6F6F6;
}
.section.light {
	background: #FFF;	
}

.sectwrap {
	width: 1160px;
	margin: 0 auto;
	display: block;
}
.sliderholder .sectwrap {
	position: relative;	
}
.smallwrap {
	width: 760px;
	margin: 0 auto;	
}
@media (max-width: 1200px) {
	.sectwrap {
		width: 960px;
	}
	.cutout span {
		font-size: 50px;
		padding: 0.2em 30px;	
	}
}
@media (max-width: 1000px) {
	.smallwrap,
	.sectwrap {
		width: 680px;
	}
}
@media (max-width: 720px) {
	.section {
		padding: 0 15px;	
	}
	.smallwrap,
	.sectwrap {
		padding: 0 15px;
		max-width: 500px;
		width: auto;
	}
	.section .smallwrap,
	.section .sectwrap {
		padding: 0;	
	}
	
	.cutout span {
		font-size: 40px;
		padding: 0.2em 20px;	
	}
}
@media (max-width: 530px) {
	
}
@media (max-width: 400px) {
	.cutout span {
		font-size: 32px;
		padding: 0.2em 15px;	
	}
}
#contentstart {
	min-height: 400px;
}	

.caret li {
	padding-left: 25px;	
}
.caret li:before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 10px;
	margin-left: -25px;
	width: 25px;
	background: url("img/caret.svg") 0 0 no-repeat;
	background-size: 6px 10px;
	filter: grayscale(1) brightness(5);	
}


figure {
	position: relative;	
}
figure img {
	width: 100%;
	height: auto;
	border-radius: 2px;
}
figure figcaption {
	font-size: 12px;
	position: absolute;
	bottom: 10px;
	left: 15px;
	color: #FFF;
	line-height: 1.2;
	text-shadow: rgba(0,0,0,1) 1px 1px 10px;
}
.markdown figure.smallsquare {
	width: 200px;
	float: left;
	margin: 0 15px 0 0;
}

.markdown .boxslider,
.markdown .bigslider,
.markdown figure.landscape {
	margin: 0 -100px 30px -100px;	
}
.markdown .boxslider .sliderheader,
.markdown .bigslider .sliderheader {
	margin: 0 100px;
	padding-bottom: 10px;	
}
.newsslider .swiper-container,
.articleslider .swiper-container,
.boxslider .swiper-container,
.bigslider .swiper-container {
	overflow: visible;
	padding-bottom: 40px;
}

.dealslist  + .articleslider,
.locationlist + .articleslider {
	padding-top: 80px;	
}

.groupintro.sectwrap {
	padding-top: 40px;
	overflow: hidden;
}
.groupintro .grouplogo {
	float: left;
	margin-right: 20px;
}
@media (max-width: 530px) {
	.groupintro .grouplogo img {
		width: 80px;
		height: auto;
	}
	.markdown figure.smallsquare {
		width: 140px;
	}
	.markdown figure.smallsquare figcaption {
		display: none;	
	}
	.markdown blockquote {
		font-size: 24px;
		padding: 0 30px;	
	}
}

.compactmenu .swiper-container {
	padding-bottom: 40px;
}
.bigslider .swipernav {
	height: 0;	
}
.bigslider li {
	width: 100%;
	max-width: 960px;	
}
.bigslider li img {
	width: 100%;
	height: auto;
	vertical-align: top;
	border-radius: 2px;	
}
#deventer .swiper-scrollbar {
	height: 1px;
	left: 0;
	right: 0;
	width: 100%;
}
#deventer .swiper-scrollbar-drag {
	background: #F33;
	height: 1px;
	top: 0;	
}

.galleryslider img {
	width: 100%;
	height: auto;	
}
@media (max-width: 720px) {
	.quartetslider .swiper-slide,
	.doubleslider .swiper-slide {
		width: 300px;	
	}
}


.subnav {
	padding: 20px 0 30px 0;	
}
.subnav li {
	margin-top: 3px;
	display: inline-block;		
}
.subnav a {
	display: block;
	padding: 0 20px;
	background: #FAFAFA;	
	color: #000;
	line-height: 50px;
}
.subnav .next .active a,
.subnav .active a {
	background: #F33;
	color: #FFF;
}

.subnav .next a {
	line-height: 48px;
	background: transparent;
	color: #F33;
	border: 1px solid #DEDEDE
}
.descmenu a .image,
.compactmenu a .image {
	position: relative;
	padding-top: 100%;
	overflow: hidden;
}
.compactmenu a .image:after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9;
	background: url("img/scratchy.png") center center no-repeat;
	background-size: 100% auto;
	opacity: 0;
	transition: opacity 0.2s ease;
}
.compactmenu a:hover .image:after {
	opacity: 1;
	
}
.compactmenu .tt {
	position: absolute;
	top: 50%;
	left: 50%;
	color: #FFF;
	line-height: 1;
	text-align: center;
	width: 200px;
	font-size: 30px;
	transform: translate(-50%,-50%);
	z-index: 10;
}


.descmenu .body {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;  
	overflow: hidden;
	height: 128px;
	line-height: 32px;
	margin-right: 10px;
	padding-top: 10px;
}
.descmenu .body:after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 6px;
	width: 12px;
	height: 12px;
	background: url("img/arrow.svg") center center no-repeat;
	background-size: 100% auto;
}
.descmenu .body em {	
	font-size: 17px;
	line-height: 32px;
	color: #F33;
	display: inline;
}



.listmenu dl {
	margin: 40px 0;
	padding-right: 700px;
	position: relative;
	min-height: 500px;	
}
.listmenu dt {
	border-top: 1px solid #DEDEDE;	
}
.listmenu dt:first-child {
	border: none;	
}
.listmenu dt a {
	display: block;
	position: relative;
	padding: 10px;
	height: 60px;
	fill: #F33;
	color: #000;
}
@media (min-width: 720px) { 
	.listmenu dt.active a,
	.listmenu dt a:hover {
		background: #F33;
		color: #FFF;
		fill: #FFF;
	}
}
.listmenu dt a span {
	position: absolute;
	top: 50%;
	left: 80px;
	right: 42px;
	line-height: 20px;
	transform: translate(0,-50%);
	overflow: hidden;
	text-overflow: ellipsis;
}
.listmenu dt a svg {
	position: absolute;
	top: 50%;
	right: 30px;
	margin-top: -5px;
}



.listmenu dd {
	width: 660px;
	position: absolute;
	top: 0;
	right: 0;
	background: #F6F6F6;
	display: none;
}
.listmenu dt.active + dd,
.listmenu dt:hover + dd{
	display: block;	
}
.gray .listmenu dd { 
	background: #FFF;
}
.listmenu dd a {
	color: #F33;
	fill: #F33;	
}
.listmenu dd h3 {
	padding-bottom: 10px;	
}
.listmenu dd .body {
	padding: 40px 40px 10px 40px;
}
.listmenu dd footer {
	padding: 0 40px 40px 40px;
}

@media (max-width: 1200px) {
	.listmenu dd {
		width: 560px;
	}
	.listmenu dl {
		padding-right: 600px;	
	}
	
}
@media (max-width: 1000px) {
	.listmenu dd {
		width: 330px;
	}
	.listmenu dl {
		padding-right: 350px;	
	}
}
@media (max-width: 720px) {
	.listmenu dl {
		padding-right: 0;
		min-height: 0;	
	}
	#deventer .listmenu dd {
		display: none;
	}
	.listmenu dt a:hover {
		background: #F33;
		color: #FFF;
		fill: #FFF;
	}
}

.section.filtering {
	overflow: visible;		
}
.togglefilter {
	display: none;	
}
.subnav .filterbox {
	float: right;
	white-space: nowrap;
}
.subnav .filterbox .buttons,
.subnav .filterbox fieldset {
	display: inline-block;
	vertical-align: top;
	margin: 0;
	padding: 0;
	position: relative;
}
.subnav .filterbox .label {
	position: absolute;
	font-weight: normal;
	font-size: 12px;
	line-height: 16px;
	top: -16px;
	left: 0;	
}
.subnav .filterbox .date input {
	width: 130px;		
}
@media (max-width: 1000px) {
	.subnav .filterbox {
		float: none;
		padding: 5px 0 10px;	
	}
}
@media (max-width: 720px) {
	.subnav .filterbox {
		padding-top: 20px;
		
	}
}



.instagramslider .swiper-container {
	padding-bottom: 40px;
}
.instagramslider .swiper-slide {
	overflow: hidden;
	position: relative;
}
.instagramslider .swiper-slide a {
	display: block;
	box-sizing: border-box;
	width: 33.333%;
	padding-right: 26px;
	float: left;
}
.instagramslider .swiper-slide a span {
	display: block;
	position: relative;
	padding-top: 100%;
	overflow: hidden;
}	
.instagramslider .swiper-slide a.n1 {
	width: 66.666%;
	padding: 0 0 0 14px;
}
.instagramslider .swiper-slide a.n2 {
	position: absolute;
	bottom: 0;
	left: 0;	
}
.instagramslider .swiper-slide a img {
	width: 100%;
	height: auto;
	position: absolute;
	top: 0;
	left: 0;
}

@media (max-width: 1000px) {
	.instagramslider .swiper-slide a {
		padding: 0 13px 0 0;	
	}
	.instagramslider .swiper-slide a.n1 {
		padding: 0 0 0 7px;	
	}
}

@media (max-width: 720px) {
	.instagramslider .swiper-slide {
		white-space: nowrap;
		
	}
	.instagramslider .swiper-slide a.n0,
	.instagramslider .swiper-slide a.n1,
	.instagramslider .swiper-slide a.n2 {
		position: static;
		display: inline-block;
		padding: 0;
		width: 155px;
		float: none;
		margin-left: 20px;
		vertical-align: bottom;
	}
	.instagramslider .swiper-slide a.n0 {
		margin-left: 0;
	}
}
@media (max-width: 500px) {
	.instagramslider .swiper-slide a.n0,
	.instagramslider .swiper-slide a.n1,
	.instagramslider .swiper-slide a.n2 {
		width: 140px;
	}
}
figure a.play {
	width: 100px;
	height: 100px;
	bottom: 50%;
	left: 50%;
	background: #F33;
	position: absolute;
	transform: translate(-50%,50%);
	border-radius: 50%;
	transition: background 0.4s ease;
}
figure a.play span {
	display: none;	
}
figure a.play:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -7px 0 0 -5px;
	display: inline-block;
	border-left: 10px solid #FFF;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
}
figure a.play:hover {
	background: #000;	
}

.markdown hr {
	border: none;
	margin: 20px 0;
	padding: 0;
	height: 1px;
	clear: both;
	background: #DEDEDE;	
}
.markdown blockquote {
	margin: 40px 0;
	padding: 0 	60px;
	border-left: 1px solid #DEDEDE;
	font-weight: 300;
	color: #F33;
	font-size: 30px;
	line-height: 1.53;
}
.markdown > h3,
.markdown > h2 {
	font-weight: 700;
	font-size: 18px;
	line-height: 26px;
	margin-bottom: 10px;
}
.markdown p {
	margin-bottom: 30px;	
}
@media (max-width: 1000px) {	
	figure a.play {
		width: 80px;
		height: 80px;
	}
	.markdown .boxslider,
	.markdown .bigslider,
	.markdown figure.landscape {
		margin: 0 0 30px 0;	
	}
	.markdown .boxslider .sliderheader,
	.markdown .bigslider .sliderheader {
		margin: 0;	
	}
}
@media (max-width: 720px) {
	figure a.play {
		width: 50px;
		height: 50px;
	}
	figure a.play:after {
		margin: -4px 0 0 -3px;
		border-left: 6px solid #FFF;
		border-top: 4px solid transparent;
		border-bottom: 4px solid transparent;	
	}
}


#deventer .swiper-pagination-bullet {
	background: transparent;
	border: 2px solid #FFF;
	width: 6px;
	height: 6px;
	opacity: 1;
	margin: 0 6px 0 0;
}
#deventer .swiper-pagination-bullet-active {
	background: #000;
	border: 5px solid #FFF;
	width: 3px;
	height: 3px;
}
/**
 * Homepage slider
 */
.homeslider {
	position: relative;
	max-width: 1920px;
	margin: 0 auto;
}
.homeslider img {
	width: 100%;
	height: auto;	
}
.homeslider heading {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -95px;
	transform: translate(-50%,-50%);
}
.homeslider .swiper-slide .cutout span {
	background: #000;
}
.homeslider.noslider .swiper-slide .cutout span,
.homeslider .swiper-slide-active .cutout span {
	animation-delay: 1s;
	animation: cutoutin 3s ease;
	animation-fill-mode: both;

}
.homeslider .pagination {
	position: absolute;
	bottom: 240px;
	right: 50%;
	width: 580px;
	z-index: 10;
}
.homeslider heading h2 {
	max-width: 580px;	
}
.homeslider .text {
	position: absolute;
	height: 190px;
	bottom: 0;
	left: 0;
	width: 50%;
	background: #FFF;
	padding-right: 20px;
}
.homeslider .text svg {
	fill: #F33;
	margin: 0 5px;
	transition: fill 0.4s ease;
}
.homeslider .text a:hover svg {
	fill: #000;	
}
.homeslider .text p {
	float: right;
	width: 460px;
	padding: 31px 120px 31px 0;
}
/**
 * Homepage tip
 */
@media (min-width: 1200px) {
	.homepagetip {
		width: 620px;
		height: 190px;
		position: absolute;
		left: 50%;
		transform: translate(20px, -100%);
		z-index: 100;
		background: #F33;
		color: #FFF;
	}
	.homepagetip .tt {
		position: absolute;
		left: 10px;
		width: 170px;
		top: 50%;
		transform: translate(0,-50%);
		text-align: center;
		text-shadow: 0 0 3px rgba(0,0,0,0.5);	
	}

}
.homepagetip .t4 {
	line-height: 32px;	
}
.homepagetip .image {
	float: left;
	width: 190px;
	height: 190px;
	overflow: hidden;
}
.homepagetip .body {
	padding: 31px 60px 20px 0;
	margin-left: 230px;
}
.homepagetip .body svg {
	fill: #FFF;
	margin-left: 5px;	
}

@media (min-width: 1200px) and (max-width: 1280px) {
	.homepagetip {
		width: 600px;
		height: 190px;
		transform: translate(-20px, -100%);
	}
	.homepagetip .body {
		padding: 31px 40px 20px 0;
	}
}
@media (max-width: 1200px) {
	.homeslider .text p {
		float: right;
		width: 460px;
		padding: 31px 20px 31px 0;
	}
	.homeslider .pagination {
		bottom: 210px;
		right: 50%;
		width: 480px;
	}
	.homepagetip {
		height: 190px;
		background: #F33;
		color: #FFF;
	}
}
@media (max-width: 1000px) {
	.homepagetip  {
		position: relative;
	}
	.homeslider .text {
		right: 50%;
		margin-right: -160px;
		width: auto;
	}
	.homeslider .pagination {
		bottom: 210px;
		width: 340px;
	}
}
@media (max-width: 1000px) and (min-width: 720px) {
	.homepagetip .tt {
		position: absolute;
		left: 10px;
		width: 170px;
		top: 50%;
		transform: translate(0,-50%);
		text-align: center;
		text-shadow: 0 0 3px rgba(0,0,0,0.5);	
	}
}
@media (max-width: 720px) {
	.homeslider heading {
		width: 500px;
		top: 41.667vw;
		margin-top: 0;
	}
	.homeslider .pagination {
		right: 0;
		width: 100%;
		bottom: auto;
		top: 75vw;
		text-align: center;
	}
	#deventer .swiper-pagination-bullet {
		margin: 0 3px;	
	}
	.homeslider .text {
		position: relative;
		height: auto;
		bottom: 0;
		left: 0;
		width: auto;
		margin: 0 auto;
		max-width: 500px;
		padding: 0 15px;
	}
	.homeslider .text p {
		float: none;
		width: auto;
		padding: 20px 0;
	}
	.homeslider .text p a {
		display: block;	
	}
	.homepagetip  {
		margin: 0 -15px;
		padding: 15px;
		height: auto;
	}
	.homepagetip .image {
		width: 95px;
		height: 95px;
		margin: 0 15px 5px 0;	
	}
	.homepagetip .body {
		margin-left: 0;
		padding: 20px 0 0 0;
	}

	.homepagetip p {
		clear: left;	
	}
}
@media (max-width: 530px) {
	.homeslider heading {
		width: auto;
		left: 0;
		right: 0;
		top: 50%;
		margin-top: -95px;
		transform: translate(0,-50%);	
	}
	.homeslider .pagination {
		top: 100vw;
	}
}


.pageheader.plain.gray {
	background: #F6F6F6;	
}
/**
 * Graphic header, type 1
 */
.graphicheader2,
.graphicheader {
	display: block;
	position: relative;
}
.graphicheader2 img,
.graphicheader img {
	width: 100%;
	height: auto;
}	
.graphicheader .sectwrap {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.graphicheader2 h1 {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 80%;
	max-width: 700px;
	transform: translate(-50%,-50%);
	color: #FFF;
	text-shadow: rgba(0,0,0,0.3) 1px 1px 10px;
	font-size: 100px;
	line-height: 1.2;
	text-align: center;
}
.graphicheader2 .crumbnav {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,0);
	
}
@media (max-width: 720px) {
	.graphicheader2 .crumbnav {
		width: 500px;
	}	
	.graphicheader2 h1 {
		font-size: 80px;	
	}
	.graphicheader .sectwrap {
		width: auto;
		position: absolute;
		top: auto;
		bottom: 30px;
		left: 0;
		right: 0;
		transform: translate(-0,0);
	}
}
@media (max-width: 530px) {
	
	.graphicheader2 .crumbnav {
		left: 15px;
		right: 15px;
		width: auto;
		transform: translate(0,0);
	}
	.graphicheader .sectwrap {
		
	}
	.graphicheader2 h1 {
		font-size: 60px;	
	}
}
/**
 * Nav section with home / back buttom
 */
.crumbnav {
	padding: 32px 0;	
}
.crumbnav a {
	display: inline-block;
	width: 	40px;
	height: 40px;
	overflow: hidden;
	background: #F33;
	border-radius: 50%;
}
.crumbnav a:hover {
	background: #252222;
}
.crumbnav a svg {
	margin: 12px 11px;
	width: 18px;
	fill: #FFF;
	vertical-align: baseline;
}
.crumbnav a.back svg {
	width: 12px;
	margin: 15px 14px;
	transform: scaleX(-1);
}


/**
 * Suggestion embed
 */
aside.suggestions {
	border: 1px solid #DEDEDE;
	padding: 12px 12px 7px 12px;
	background: #F6F6F6;
	margin-bottom: 30px;
}
.gray aside.suggestions {
	background: #FFF;
}
aside.suggestions li {
	position: relative;
	border-bottom: 5px solid transparent;
}
aside.suggestions li img {
	position: absolute;
	top: 0;
	left: 0;
}
aside.suggestions li div {
	margin: 0 0 0 75px;
	padding-bottom: 5px;
	border-bottom: 1px solid #DEDEDE;
	height: 60px;
}
aside.suggestions li:last-child div {
	padding-bottom: 0;
	border-bottom: 0;	
}
aside.suggestions li a {
	display: block;
	line-height: 20px;
	position: absolute;
	top: 50%;
	right: 12px;
	padding-right: 20px;
	left: 80px;
	transform: translate(0,-50%);
}
aside.suggestions svg {
	fill: #F33;
	width: 12px;
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -6px;
}
/**
 * Content page / article banner
 */
.contentbanner {
	margin: 0 auto 50px;
	position: relative;
	width: 960px;	
}
.contentbanner img {
	width: 100%;
	height: auto;
	vertical-align: top;	
}
@media (max-width: 1000px) {
	.contentbanner {
		width: 680px;	
	}
}
@media (max-width: 720px) {
	.contentbanner {
		width: auto;
		max-width: 500px;	
	}
}

/**
 * Maps and icons
 */
#deventer div.leaflet-marker-icon {
	background: #FFF;
	border-radius: 50%;
	border: 10px solid #F33;
	box-sizing: border-box;
}
#deventer .leaflet-marker-icon.active-marker {
	border: 10px solid #000;
}

.leaflet-container {
	counter-reset: poimarker;	
}
#deventer div.leaflet-marker-icon.poi {
	background: #F33;
	color:#FFF;
	border: none solid #F33;
	text-align: center;
}
#deventer div.leaflet-marker-icon.poi:before{
	counter-increment: poimarker; 
	content: counter(poimarker);
	display: block;
	border: 1px solid #FFF;
	border-radius: 50%;
	width: 16px;
	height: 16px;
	line-height: 16px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -9px 0 0 -9px;
	font-size: 10px;
}
#deventer .popover {
	opacity: 0;
	height: 0;
	position: absolute;
	overflow: hidden;
	bottom: 50%;
	left: 50%;
	width: 560px;
	height: 0;
	background: #FFF;
	z-index: 1000;
	transform: translate(-180px,100%);
	box-shadow: 0 0 7px rgba(0,0,0,0.4);
	transition: transform 0.3s ease, opacity 0.3s linear;
}
#deventer .popover.visible {
	height: 220px;
	opacity: 1;
	transform: translate(-180px,0);
}

#deventer .popover-close {
	width: 20px;
	height: 20px;
	position: absolute;
	top: 10px;
	right: 10px;
	color: #DDD;
	font-size: 18px;
	text-align: center;
	line-height: 20px;
	cursor: pointer;
	text-shadow: 0 0 1px rgba(0,0,0,0.4); 
}
#deventer .popover-close:before {
	content: "×";
}

.mapbox {
	position: relative;
	height: 220px;
	background: #FFF;	
}
.mapbox svg {
	transition: fill 0.4s ease;	
}
.mapbox .img {
	width: 160px;
	height: 160px;
	position: absolute;
	top: 0;
	left: 0;
	background: #F6F6F6;	
}
.mapbox .image img {
	width: 100%;
	height: auto;	
}
.mapbox .body {
	display: block;
	position: absolute;
	top: 80px;
	left: 200px;
	padding-right: 20px;
	right: 40px;
	transform: translate(0,-50%);
	
}
.mapbox .body svg {
	position: absolute;
	right: 0;
	top: 50%;
	margin-top: -5px;
	fill: #F33;	
}
.mapbox .body:hover svg {
	fill: #000;	
}
.mapbox h3 {
	font-size: 18px;
	line-height: 30px;
	font-weight: 500;
	color: #F33;	
}
.mapbox .body[href]:hover h3 {
	text-decoration: underline;	
}
.mapbox footer {
	display: flex;
	height: 60px;
	line-height: 60px;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}
.mapbox footer a {
	display: block;
	position: relative;
	padding: 0 20px;
	color: #FFF;
	background: #252222;
	width: 50%;
	flex-grow: 1;
}
.mapbox footer a:first-letter {
	text-transform: uppercase;	
}
.mapbox footer a svg {
	position: absolute;
	right: 40px;
	top: 50%;
	margin-top: -5px;
	fill: #FFF;	
}
.mapbox footer a.transit {
	background: #F33;
}
.mapbox footer a:hover svg {
	fill: #F33;	
}
.mapbox footer a.transit:hover svg {
	fill: #000;
}


.mapfooter {
	height: 50vw;
	min-height: 480px;
	max-height: 860px;
	padding-bottom: 160px;
	position: relative;
}
.mapfooter .map {
	position: absolute;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;	
}


.bw.gmap .gmapholder {
	margin-top: 40px;
	position: relative;
	padding-top: 60%;
}
.bw.gmap .gmapholder .gmap {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;	
}
@media (max-width: 720px) {
	.bw.gmap .gmapholder {
		padding-top: 0;
		height: 60vh;
	}
}
@media (max-width: 530px) {
	.bw.gmap .gmapholder {
		padding-top: 60%;
		height: 80vh;
	}
}


@media (max-width: 1000px) {
	#deventer .popover.visible {
		transform: translate(-220px,0);
	}
}
@media (max-width: 720px) {
	
	.mapfooter {
		height: 100vw;
	}
	
	#deventer .popover.visible {
		transform: translate(-50%,0);
		height: 190px;
	}
	#deventer .popover {
		bottom: 160px;
		left: 50%;
		width: 100%;
		max-width: 530px;
		transform: translate(-50%,0);
	}
	
	.mapbox {
		height: 190px;	
	}
	.mapbox .img {
		width: 90px;
		height: 90px;
		top: 20px;
		left: 20px;
	}
	.mapbox .body {
		top: 65px;
		left: 130px;
		right: 15px;
		line-height: 22px;
	}
	.mapbox h3 {
		line-height: 22px;	
	}
}

@media (max-width: 530px) {
	.mapfooter {
		height: 160vw;
	}
	.mapbox footer a span {
		display: none;
	}
	
}



/**
 * Staticpage
 */
.page .lead {
	margin-bottom: 50px;	
}
.page h1 {
	margin-bottom: 20px;	
}
.graphicheader2 + .page h1 {
	margin-top: 40px;	
}
/**
 * Article page
 */
.blogheader ul {
	overflow: hidden;
	margin: 30px 0;	
}
.blogheader li {
	height: 60px;
	line-height: 60px;
	padding-left: 20px;
	color: rgba(0,0,0,0.6);
}
.blogheader li:first-child {
	padding-left: 0;
}
.blogheader li img {
	margin-right: 5px;
}
.blogheader li svg {
	width: 16px;
	height: auto;
	fill: #F33;
	margin-right: 5px;
	position: relative;
	bottom: -2px;
}
.blogheader li svg.view {
	width: 18px;
}
.blogitem .lead {
	margin-bottom: 40px;	
}
.blogitem .gray {
	padding-top: 40px;	
}
.blogitem .gray.afterbanner {
	margin-top: -350px;
	padding-top: 350px;	
}

.articlefooter {
	background: #252222;
	color: #FFF;	
}
.articlefooter .authorbox {
	background: #F33;	
}
.articlefooter .smallwrap {
	padding: 40px 0;
	overflow: hidden;
}
.articlefooter .authorbox .smallwrap {
	padding: 50px 0; 	
}
.articlefooter .share_friends ul,
.articlefooter .share_friends h3 {
	display: inline-block;
	line-height: 50px;
}
.articlefooter .share_friends h3 {
	padding-right: 30px;
	font-size: 26px;
}
.articlefooter .share_friends li {
	vertical-align: top;
	padding-left: 5px;
}
.articlefooter .share_friends a {
    display: inline-block;
    padding: 11px;
    background: #FFF;
    border-radius: 50%;
    background: #F33;
}
.articlefooter .share_friends svg {
	float: left;
	width: 18px;
	height: 18px;
	fill: #FFF;
	transition: fill 0.4s ease;
}
.articlefooter .share_friends a:hover {
	background: #FFF;
}
.articlefooter .share_friends a:hover svg {
	fill: #F33;
}
.articlefooter .author_image {
	float: left;
	width: 140px;
}
.articlefooter .author_image img {
	width: 100%;
	height: auto;	
}
.articlefooter h4, .articlefooter p {
	margin-left: 200px;	
}
.blogitem aside.section {
	padding-top: 100px;	
}


@media (max-width: 1000px) {
	.blogitem .gray.afterbanner {
		margin-top: -260px;
		padding-top: 260px;	
	}
	.articlefooter .smallwrap {
		width: auto;
		margin: 0 40px;
	}
	.articlefooter h4, .articlefooter p {
		margin-left: 180px;	
	}
}
@media (max-width: 720px) {
	.blogheader li {
		height: auto;
		width: 50%;
		line-height: 30px;
		padding: 0;
		display: block;
		float: left;
	}
	.blogheader li.author {
		line-height: 20px;
		padding: 10px 0;
	}
	.blogheader li.author img {
		float: left;
		margin: -10px 10px -10px 0;
	}
	.blogheader li.author span {
		display: block;	
	}
	.blogitem .gray.afterbanner {
		margin-top: -202px;
		padding-top: 202px;	
	}
	#deventer .articlefooter {
		max-width: 530px;
	}
	.articlefooter .share_friends ul,
	.articlefooter .share_friends h3 {
		display: block;
		text-align: center;
		padding: 0;
	}
	.articlefooter .share_friends {
		padding: 0;	
	}
	.articlefooter .author_image {
		width: 95px;	
	}
	.articlefooter h4, .articlefooter p {
		margin-left: 120px;	
	}
	.articlefooter .authorbox .smallwrap {
		margin: 0;
		padding: 30px 30px; 	
	}
}
@media (max-width: 560px) {
	.blogheader li.author {
		width: 100%;
		margin-bottom: 10px;
	}
	#deventer .articlefooter {
		max-width: 560px;
		width: auto;
		margin: -15px;
	}
}
@media (max-width: 530px) {
	.blogitem .gray.afterbanner {
		margin-top: -38.2vw;
		padding-top: 38.2vw;	
	}
}


.splitcol {
	position: relative;
}

.splitcol #hbg {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	background: #F6F6F6;
	height: 200px;
	
}
.splitcol .sectwrap {
	overflow: hidden;
	position: relative;
	z-index: 4;
}
.splitcol .extras,
.splitcol header {
	width: 500px;
	float: right;
	padding-bottom: 40px;
}
.splitcol .maincol {
	width: 600px;
	padding-bottom: 100px;
	float: left;	
}
.splitcol .lead {
	padding: 40px 0;	
}
.splitcol .image {
	position: relative;	
}
.splitcol .location_gallery img,
.splitcol .image img {
	width: 100%;
	height: auto;	
}
.splitcol .location_gallery .pagination {
	position: absolute;
	bottom: 20px;
	left: 0;
	right: 0;
	z-index: 100;	
}
.splitcol .image .label {
	position: absolute;
	top: 20px;
	right: 20px;
	color: #FFF;
	background: #000;
	z-index: 2;
	font-weight: normal;
	padding: 0 20px;
	line-height: 46px;
	border-radius: 1px;	
}
.splitcol .extras .box {
	margin-top: 40px;
	padding: 30px 40px;
	border: 1px solid #DEDEDE; 	
}
.splitcol .extras .box h3 {
	color: #F33;
	font-size: 20px;
	font-weight: 500;
	padding-bottom: 20px;	
}


.splitcol .extras .prices dl {
	margin-top: -10px;
	overflow:  hidden;	
}

.splitcol .extras .prices dt:first-child, 
.splitcol .extras .prices dt:first-child + dd {
	border-top: none;
}
.splitcol .extras .prices dd,
.splitcol .extras .prices dt {
	border-top: 1px solid #DEDEDE; 
	width: 60%;
	float: left;
	line-height: 46px;
}
.splitcol .extras .prices dt { 
	text-align: left;
	clear: left;	
}
.splitcol .extras .prices dd {
	width: 40%;
	clear: right;
	float: right;
	text-align: right;
}
.splitcol .extras .prices .remark {
	padding-top: 20px;
	border-top: 1px solid #DEDEDE; 
}

@media (max-width: 1200px) {
	.splitcol .maincol,
	.splitcol .extras,
	.splitcol header { 
		width: 460px;	
	}
}

@media (max-width: 1000px) {
	.splitcol .maincol,
	.splitcol .extras,
	.splitcol header { 
		width: auto;
		float: none;
	}
	.splitcol header {
		overflow: hidden;	
	}
	
	.splitcol .maincol {
		padding-bottom: 0;	
	}
}

@media (max-width: 530px) {
	.splitcol .section {
		padding: 0;	
	}
	.splitcol header {
		padding: 0 15px 40px 15px;	
	}
	.splitcol .maincol {
		padding: 0 15px;	
	}
	.splitcol .maincol .location_gallery,
	.splitcol .maincol .image {
		margin: 0 -15px;
	}
	
}


/**
 * Deal page
 */
.dealcol {
	float: right;
	width: 600px;
	padding: 0 60px;	
}
.deal .t1 {
	margin-top: 40px;	
}
.deal .lead {
	margin: 40px 0;	
}
.deal .markdown ul {
	margin: 0 -60px 30px -60px;
	border:  1px solid #DEDEDE;
	padding: 30px 59px;
	background: #FFF;
	list-style-type: none;
}
.deal .markdown ul li {
	line-height: 22px;
	border-top:  1px solid #DEDEDE;
	padding: 10px 0;
}
.deal .markdown ul li:first-child {
	border-top: none;	
}
.deal .markdown ul li:before {
	content: "";
	background: #F33 url("img/checkmark.svg") center center no-repeat;
	display: inline-block;
	border-radius: 50%;
	width: 22px;
	height: 22px;
	vertical-align: top;
	margin: 0 11px 0 -11px;		
}
.deal .section {
	overflow: visible;
	
}
.deal .section .sectwrap {
	position: relative;
	padding: 1px 0;
}
.deal .section .sectwrap:after {
	clear: both;
	content:  "";
	display: block;
	height: 0;
}
.deal .cta {
	z-index: 100;
	float: left;
	position: sticky;
	width: 300px;
	background: #FFF;
	border:  1px solid #DEDEDE;
	border-radius: 2px;
	padding: 30px;
	top: 0;
}
.deal .cta h2 {
	background: #FFF;
	position: absolute;
	bottom: 100%;
	left: 0;
	right: 0;
	border-radius: 2px;
	padding: 30px 30px 0 30px;
	text-align: center;
}
.deal .cta h2 span {
	color: #F33;
	font-weight: 500;
	font-size: 20px;
	display: block;
	border-bottom:  1px solid #DEDEDE;
	padding-bottom: 30px;
}
.deal .ctabuttonbox {
	margin-top: 20px;
	padding-top: 20px;
	border-top:  1px solid #DEDEDE;
	text-align: center;	
}
.deal h2 + .ctabuttonbox {
	margin-top: 0;
	border-top: 0;	
}
#deventer .deal .siteform {
	padding: 0;
	text-align: left;
}
#deventer .deal .siteform li {
	width: 100%;	
}
.deal .ctabuttonbox .button {
	display: block;
	width: 100%;	
}


.dealcol .galleryslider {
	margin: 0 -60px 30px -60px;
}
.dealcol .galleryslider .swiper-container {
	overflow: visible;
	padding-bottom: 30px;	
}
.dealcol .galleryslider a {
	cursor: pointer;	
}
@media (max-width: 1200px) {
	
	.dealcol {
		float: none;
		margin: 0 auto;
		padding: 0;	

	}
	.deal .cta {
		position: relative; 
		float: none;
		margin: 0 auto;
		width: auto;
		max-width: 538px;

	}
	
	.deal .cta h2 {
		position: static;

	}
}	
@media (max-width: 1000px) {
	
	.deal .markdown ul {
		margin: 0 -40px 30px -40px;
		padding: 20px 38px;
	}
	.dealcol .galleryslider {
		margin: 0 -40px 30px -40px;
	}
}

@media (max-width: 720px) {
	.dealcol { 
		width: auto;
	}
	.deal .cta {
		margin: 0 -15px 30px -15px;
	}
	.deal .markdown ul {
		margin: 0 -15px 30px -15px;
		padding: 20px 30px;
	}
	.dealcol .galleryslider {
		margin: 0 -15px 30px -15px;
	}
	
}
@media (max-width: 500px) {
	.deal .cta,
	.deal .markdown ul {
		border-width: 1px 0 1px 0;
	}

}


/**
 * Location page
 */
.quickcontact {
	border-top:  1px solid #DEDEDE;
	padding: 20px 0;
	margin-top: 20px;
}
.quickcontact li {
	float: left;
	padding-right: 50px;	
}
.quickcontact svg {
	fill: #F33;
	margin-right: 4px;	
}

.openingtimes {
	margin-bottom: 40px;		
}
.openingtimes:last-child {
	margin-bottom: 0;
}
.openingtimes th {
	text-align: left;
	font-weight: 500;
	width: 80%;
	color: #000;
}
.openingtimes th,
.openingtimes td {
	white-space: nowrap;
	line-height: 44px;
	border-bottom: 1px solid #DEDEDE; 
}
.openingtimes .closed {
	color: rgba(0,0,0,0.5);
}
.openingtimes h4 {
	font-weight: bold;
}

.contactbox .adddress {
	overflow: hidden;
	border-bottom: 1px solid #DEDEDE; 
	padding-bottom: 30px;
	margin-bottom: 30px;
	
}
.contactbox .adddress img {
	float: left;
	margin: 0 30px 0 0;	
}
.contactbox .links {
	min-height: 50px;
	position: relative;	
}
.contactbox .links .contact svg {
	fill: #F33;
	margin-right: 5px;	
}
.contactbox ul.social {
	position: absolute;
	top: 50%;
	right: 0;
	white-space: nowrap;
	margin-top: -20px;
}
.contactbox .social .tagline {
	display: none;	
}
.contactbox .social a {
	display: inline-block;
	text-align: center;
	width: 40px;
	height: 40px;
	line-height: 29px;
	border-radius: 50%;
	background: #F33;
	transition: background 0.4s ease;
}
.contactbox .social a:hover {
	background: #252222;
}
.contactbox .social a svg {
	fill: #FFF;
	vertical-align: bottom;
}


.tags {
	overflow: hidden;	
}
.tags .col {
	width: 49%;
	float: left;	
}
.tags .col + .col {
	float: right;
}
.tags li {
	font-size: 15px;
	fill: #F33;
	padding-left: 14px;	
}
.tags li svg {
	margin-left: -15px;	
}
.tags h4 {
	color: #000;
	font-weight: 500;
	margin-top: 0.5em;	
}
@media (max-width: 720px) {
	.tags .col, .tags .col + .col {
		float: none;
		width: auto;
	}
}
@media (max-width: 500px) {
	.contactbox ul.social {
		position: static;
		margin-top: 20px;
	}

}
/**
 * Pagination
 */
.paginatebox {
	border-top: 1px solid #DEDEDE;
	padding: 40px 0;
	margin-bottom: 40px;
	text-align: center;
}
.pagination {
	text-align: center;
	line-height: 42px;	
}
.pagination a {
	display: inline-block;
	width: 42px;
	border-radius: 50%;
}
.pagination .current a:hover,
.pagination a:hover {
	text-decoration: none;
	background: #252222;
	color: #FFF;	
}
.pagination a:hover svg {
	fill: #FFF;	
}
.pagination .current a {
	background: #F33;
	color: #FFF;	
}
.pagination svg {
	fill: #F33;	
}
.pagination .prev svg {
	transform: scaleX(-1);	
}
.pagination .disabled:hover {
	background: transparent;
}
.pagination .disabled:hover svg,
.pagination .disabled svg {
	fill: #DEDEDE;	
}
/**
 * Grid listings 
 */
.doublelist > li {
	width: 560px;
	float: left;
	margin-bottom: 40px;
}
.doublelist > li:nth-child(even) {
	float: right;	
}

.triplelist > li {
	width: 360px;
	float: left;
	margin: 0 0 40px 40px;	
}
@media (min-width: 1000px) {
	.triplelist > li:nth-child(3n+1) {
		margin-left: 0;	
	}
}
.triplelist {
	overflow: hidden;
	padding-top: 40px;	
}
@media (max-width: 1200px) {
	.doublelist > li {
		width: 460px;
	}
	.triplelist > li {
		width: 300px;
		margin: 0 0 30px 30px;
	}
}
@media (max-width: 1000px) {
	.doublelist > li {
		width: 330px;
		margin-bottom: 20px;
	}
	.triplelist > li {
		width: 320px;
		margin: 0 0 40px 40px;
	}
	.triplelist > li:nth-child(2n+1) {
		margin-left: 0;	
	}
	
}
@media (max-width: 720px) {
	.doublelist > li:nth-child(even),
	.doublelist > li {
		width: 100%;
		float: none;
	}
	
	.triplelist > li:nth-child(2n+1),
	.triplelist > li {
		width: 100%;
		margin: 0 0 15px 0;
	}
}




.newsoverview .list {
	padding-top: 100px;	
}

.newslist li {
	margin-bottom: 20px;	
}
/**
 * News item box
 */
.newsbox {
	color: #FFF;
	background: #252222;
	overflow: hidden;
}
.newsbox .banner {
	float: left;
	width: 260px;	
}
.newsbox .banner .image {
	width: auto;
	padding-top: 100%;
}
.newsbox .body {
	margin: 0 40px 0 300px;
	max-width: 460px;
	padding: 50px 0;
	overflow: hidden;
}
.newsbox h3 {
	max-width: 360px;
	height: 64px;
	line-height: 32px;
	font-size: 18px;
	overflow: hidden;
	font-weight: 500;	
}
.newsbox .body .dsc {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;  
	overflow: hidden;
	height: 96;
	line-height: 32px;
	opacity: 0.8;
}
.newsslider .swiper-slide {
	width: 860px;	
}
@media (max-width: 1200px) {
	.newsslider .swiper-slide {
		width: 660px;	
	}
}
@media (max-width: 1000px) {
	.newsslider .swiper-slide {
		width: 680px;	
	}
}
@media (max-width: 720px) {
	.newsslider .swiper-slide {
		width: 300px;	
	}
	.newsbox .banner {
		float: none;
		width: auto;	
	}
	.newsbox .body {
		margin: 0 20px;
		max-width: 460px;
		padding: 20px 0;
		overflow: hidden;
	}
	.newsbox h3 {
		height: 87px;
		line-height: 29px;
		font-size: 17px;
		max-width: 200px;
		margin-bottom: 5px;
	}
	.newsbox .body .dsc {
		-webkit-line-clamp: 4;
		height: 128px;
	}
}	

/**
 * Content boxes
 */
.boxslider .swiper-slide {
	width: 360px;	
}
@media (max-width: 1000px) {
	.boxslider .swiper-slide {
		width: 320px;	
	}
}
@media (max-width: 720px) {
	.boxslider .swiper-slide {
		width: 100%;
		max-width: 500px;	
	}
}
.contentbox div.banner {
	position: relative;
}
.contentbox div.banner em,
.contentbox div.banner time {
	position: absolute;
	top: 10px;
	right: 10px;
	color: #FFF;
	background: #F33;
	display: block;
	padding: 0 20px;
	line-height: 40px;
	z-index: 2;
}
.contentbox div.image {
	border-radius: 2px 2px 0 0;	
	z-index: 1;
	padding-top: 72.222222222%;
}

article.eventbox div.image {
	padding-top: 100%;
}
article.eventbox .body {
	border: none;
	padding: 20px 0;
	background: transparent;
}
a.box div.image img {
	width: 100%;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transition: width 0.4s ease;	
	transform: translate(-50%,-50%);	
}
a.box div.image {
	overflow: hidden;
	position: relative;
	transition: width 0.4s ease;	
}
a.box:hover  div.image img {
	width: 110%;
}
.contentbox .body {
	position: relative;
	border: 1px solid #DEDEDE;
	padding: 20px 30px;
	background: #FFF;
}
.section.light .contentbox .body {
	background: #F6F6F6;
}

.contentbox .body .text {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;  
	overflow: hidden;
	height: 132px;
}

.contentbox .body em {
	font-weight: 500px;
	font-size: 17px;
	line-height: 32px;
	color: #F33;
	display: inline;
}
.contentbox .details {
	padding-top: 9px;
	height: 81px;
}
.contentbox .details svg {
	width: 16px;
	margin: 0 4px 0 0;
	position: relative;
	top: 2px;
	fill: #F33;	
}
.contentbox .details .price svg {
	width: 15px;
	margin: 0 5px 0 0;
}

.calendarbox .details {
	height: 105px;
}	
.contentbox .details li span {
	display: none;
}
.contentbox .details li {
	padding: 4px 0;
	color: rgb(128,128,128);
	border-top: 1px solid #DEDEDE;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.contentbox .details li:first-child {
	border: none;	
}

.routebox .details {
	margin-top: 10px;
	padding-top: 15px;
	height: auto;
	border-top: 1px solid #DEDEDE;
}
.routebox .details li {
	display: inline-block;
	border: none;
	margin-left: 10px;
	vertical-align: top;
}
.routebox .details li:first-child {
	
	margin-left: 0;	
}

.blogsearchform {
	float: right;	
}
.blogsearchform .button {
	background: #FAFAFA;
	border: 1px solid #DEDEDE;
	border-left: 0;
	float: right;	
}
.storybox {
	position: relative;	
}
.storybox div.image {
	border-radius: 2px;	
	z-index: 1;
	padding-top: 100%;	
}
.storybox .label {
	position: absolute;
	top: 20px;
	right: 20px;
	color: #FFF;
	background: #F33;
	z-index: 2;
	font-weight: normal;
	padding: 0 20px;
	font-size: 26px;
	line-height: 46px;
	border-radius: 1px;	
}

.storybox .text h3 {
	max-width: 300px;
	position: relative;
	top: -10px;
}
.storybox .text h3 span {
	background: #252222;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	font-size: 36px;
	font-weight: 500;
	color: #FFF;
	padding: 0.17em 20px;
	line-height: 1.4;
}
@media (max-width: 1000px) {
	.blogsearchform {
		float: none;
		padding-bottom: 24px;
		position: relative;
	}
	.blogsearchform input {
		width: calc(100% - 60px);	
	}
	.blogsearchform .button {
		float: right;
		width: 60px;
	}
	
	.storybox .label {
		font-size: 20px;	
	}
	.storybox .text h3 span {
		font-size: 26px;	
	}
}
@media (min-width: 720px) {
	.storybox .text {
		position: absolute;
		bottom: 30px;
		left: 30px;
		right: 30px;
		z-index: 3;
	}
	.storybox .text p span {
		font-size: 18px;
		background: #FFF;
		box-decoration-break: clone;
		-webkit-box-decoration-break: clone;
		padding: 0.2em 20px;
		line-height: 1;
	}
}
@media (max-width: 720px) {
	.storybox .text h3 {
		position: absolute;
		bottom: 100px;
		top: auto;
		left: 20px;
		max-width: 260px;
		z-index: 3;
	}

	.storybox .text {
		height: 70px;
		background: #FFF;
	}
	.storybox .text.nosub {
		height: 0;	
	}
	.storybox .text.nosub h3 {
		bottom: 30px;	
	}
	.storybox .text p {
		font-size: 15px;
		line-height: 25px;
		padding: 10px 20px;
	}
}

@media (max-width: 560px) {
	.storybox .text h3 {
		position: absolute;
		bottom: 100px;
		top: auto;
		left: 20px;
		max-width: 80%;
		right: 20px;
		z-index: 3;
	}
}

.sliderheader .t1 {
	color: inherit;	
}
.sliderheader.centered {
	text-align: center;	
}
.sliderheader.centered {
	text-align: center;	
}
.sliderheader.centered .tt {
	font-size: 60px;
	color: #000;
	line-height: 1.2;
}

.swipernav footer svg {
	fill: #F33;
	margin-right: 4px;
	transition: all 0.4s ease;
}
.swipernav footer a:hover svg {
	fill: #252222;	
}
@media (min-width: 720px) {
	.swipernav {
		position: relative;
		height: 50px;
	}
	.swipernav footer {
		line-height: 50px;
		position: absolute;
		right: 130px;
		top: -65px;	
	}
	.swipernav .buttons {
		position: absolute;
		right: 0;
		top: -65px;	
	}
	.swipernav .buttons a {
		background: #F33;
		width: 48px;
		height: 48px;
		line-height: 44px;
		text-align: center;
		display: inline-block;
		border-radius: 50%;
		cursor: pointer;
		border: 1px solid transparent;
		transition: all 0.4s ease;
		position: relative;
	}
	.swipernav .buttons .swiper-button-disabled:hover,
	.swipernav .buttons .swiper-button-disabled {
		background: #FFF;
		border-color: #DEDEDE;
		cursor: not-allowed;
	}
	.swipernav .buttons .swiper-button-disabled svg {
		fill: #DEDEDE;	
	}
	.swipernav .buttons a:hover {
		background: #252222;
	}
	.swipernav .buttons a svg {
		width: 10px;
		height: 8px;
		margin: -4px 0 0 -5px;
		position: absolute;
		top: 50%;
		left: 50%;
		fill: #FFF;	
	}
	.swipernav .buttons a.prev svg {
		transform: scaleX(-1);	
	}
}
@media (max-width: 1000px) {
	.sliderheader.centered .tt {
		font-size: 50px;
		padding-bottom: 9px;
	}
	.swipernav footer {
		position: absolute;
		top: -20px;
		left: 0;
		right: 0;
		text-align: right;
		z-index: 10;
			
	}
	
}
@media (max-width: 720px) {

	.swipernav {
		position: static;
		height: 20px;
	}
	.swipernav .buttons {
		display: none;
	}
	.swipernav footer {
		line-height: 50px;
		position: absolute;
		right: 0;
		text-align: center;
		top: auto;
		bottom: -50px;	
	}
	
	.sliderheader.centered .tt {
		font-size: 40px;
		padding-bottom: 9px;
	}
}
/**
 * Block widgets
 */
.pt_home .widgets {
	padding-top: 100px;	
}
.section.insta,
.widgets > .section {
	padding-top: 100px;
	padding-bottom: 100px;
}
.widgets > .section:last-child {
	padding-bottom: 200px	
}
.widgets > .section + .wt8 {
	padding-top: 0;	
}
@media (max-width: 720px) {
	.pt_home .widgets {
		padding-top: 0;	
	}
	.section.insta,
	.widgets > .section {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.section.insta:last-child,
	.widgets > .section:last-child {
		padding-bottom: 160px	
	}
	.widgets > .section .sliderholder {
		padding-bottom: 50px;	
	}
}





.blockbanner {
	color: #FFF;
	background: #252222;
	position: relative;
	padding-right: 200px;
	height: 260px;
	overflow: hidden;
}
.blockbanner a {
	display: block;
	height: 260px;
}
.blockbanner .image {
	float: left;
	width: 260px;
	height: 260px;
	position: relative;
	overflow: hidden;
}
.blockbanner .image img {
	width: 100%;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	transition: width 0.4s ease;
}
.blockbanner a:hover .image img {
	width: 110%;	
}
.blockbanner .body {
	left: 60px;
	right: 200px;
	top: 50%;
	transform: translate(0,-50%);
	position: absolute;
	color: rgba(255,255,255,0.8);
}
.blockbanner .body .title {
	color: #FFF;	
}
.blockbanner .image + .body {
	left: 320px;	
}
.blockbanner .image em {
	position: absolute;
	top: 50%;
	left: 10px;
	right: 10px;
	transform: translate(0,-50%);
	text-shadow: rgba(0,0,0,1) 1px 1px 10px;
	color: #FFF;
	text-align: center;
}
.blockbanner footer {
	position: absolute;
	top: 50%;
	right: 60px;
	width: 80px;
	transform: translate(0,-50%);
	text-align: center;
	fill: #F33;
}
.blockbanner footer svg {
	margin: 0 5px;
	transition: all 0.3s ease;
	vertical-align: middle;	
}
.blockbanner a:hover footer svg{
	margin-left: 11px;	
}
@media (max-width: 1200px) {
	.blockbanner .image + .body {
		left: 300px;	
	}
	.blockbanner .body {
		right: 160px;
	}
	.blockbanner footer {
		right: 40px;
	}
}

@media (max-width: 1000px) {
	.blockbanner a,
	.blockbanner {
		height: auto;
	}
	.blockbanner {
		padding: 0;	
	}
	
	.blockbanner .image {
		float: none;
		width: auto;
		height: auto;
		padding-top: 38.235294118%;
	}
	.blockbanner .body {
		padding: 20px 40px;
		position: static;
		transform: none;	
	}
	.blockbanner footer {
		position: static;
		width: auto;	
		transform: none;
		text-align: left;
		padding: 0 40px 20px 40px;
	}
	.blockbanner footer svg {
		position: relative;
		top: -4px;	
	}
}
@media (max-width: 720px) {
	.blockbanner .image {
		padding-top: 80%;
	}
	.blockbanner .body {
		padding: 20px 15px;
	}
	.blockbanner footer {
		padding: 0 15px 20px 15px;
	}
}
@media (max-width: 400px) {
	.blockbanner .image {
		padding-top: 100%;
	}
}

/**
 * The text widget combination
 */
.section.textwidget {
	padding: 0;
}
.textwidget .textblock.n1,
.textwidget .textblock.n2 {
	background: #F33;
	color: #FFF;
}
.textwidget .textblock.n1:last-child {
	padding-bottom: 120px;	
}
.textwidget .sectwrap:after {
	content: "";
	clear: both;
	display: block;
	height: 0;
}
.textwidget .textbody {
	padding: 80px 60px 130px 60px;
	width: 440px;
	float: right;	
}
.textwidget .banner {
	width: 560px;
	float: left;	
}
.textwidget .layover {
	position: absolute;
	top: 50%;
	left: 40px;
	right: 40px;
	text-align: center;
	transform: translate(0,-50%);
}
.textwidget .layover .play {
	position: relative;
	display: inline-block;
	transform: none;
	top: 0;
	left: 0;	
}
.textwidget .layover .play + figcaption {
	margin-top: 0.5em;	
}
.textwidget .layover figcaption {
	position: static;
	font-size: 40px;
}
.textwidget .textblock:nth-child(even) .textbody {
	float: left;	
}
.textwidget  .textblock:nth-child(even) .banner {
	float: right;	
}
.textwidget .title {
	font-weight: bold;
	font-size: 60px;
	line-height: 1;
	padding-bottom: 20px;
}
.textwidget .t4 {
	padding-bottom: 0.5em;	
}
.textwidget .n1 {
	padding-top: 120px;	
}
.textwidget .n2 .textbody {
	padding-bottom: 210px;
}
.textwidget .banner {
	transform: translate(0,-90px);
	margin-bottom: -90px;
}
.textwidget .n1 .banner {
	transform: translate(0,0);
	margin-bottom: 0;
}
.textwidget .n2 .banner {
	margin-bottom: 0;	
}
.textwidget .n3 .banner {
	transform: translate(0,-180px);
	margin-bottom: -180px;	
}
.textwidget .markdown p:last-child {
	margin-bottom: 0;	
}
.textwidget aside svg {
	fill: #F33;
	transition: fill 0.4s ease;
	margin-right: 4px;
}
.textwidget .n1 aside a,
.textwidget .n2 aside a {
	color: #FFF;
}
.textwidget .n1 aside svg,
.textwidget .n2 aside svg {
	fill: #FFF;
}
.textwidget aside a:hover svg {
	fill: #000;	
}
@media (max-width: 1200px) {
	.textwidget .textbody {
		padding: 30px 0 110px 0;
		width: 460px;
	}
	.textwidget .banner {
		width: 460px;
	}
	.textwidget .layover figcaption {
		position: static;
		font-size: 36px;
	}
}

@media (max-width: 1000px) {
	#deventer .textwidget .textblock {
		padding-bottom: 40px;	
	}
	#deventer .textwidget .textblock.n3 {
		padding-top: 40px;	
	}
	#deventer .textwidget .textbody {
		padding: 0 0 0 0;
		width: 440px;
	}
	#deventer .textwidget .banner {
		width: 220px;
		transform: translate(0,0);
		margin-bottom: 0;
	}
	.textwidget .title {
		font-size: 50px;
	}
	.textwidget .layover {
		left: 10px;
		right: 10px;
	}
	.textwidget .layover a.play {
		width: 50px;
		height: 50px;
	}
	.textwidget .layover figcaption {
		position: static;
		font-size: 24px;
	}
	.textwidget .layover .play + figcaption {
		margin-top: 0;
	}
}

@media (max-width: 720px) {
	.textwidget .n1 {
		padding-top: 40px;	
	}
	.textwidget .title {
		font-size: 40px;
	}
	#deventer .textwidget .textbody {
		width: auto;
		padding: 0 15px;
		float: none;
	}
	#deventer .textwidget .banner {
		width: auto;
		float: none;
		margin-bottom: 40px;
	}
	#deventer .textwidget .textblock.n3 {
		padding-top: 0;	
	}
}
@media (max-width: 500px) {
	.textwidget .n1 {
		padding-top: 0;	
	}
}


/**
 * Video widget
 */
.videobanner figcaption + .play {
	transform: translate(-50%,0);
}
.videobanner figcaption {
	position: absolute;
	top: 50%;
	left: 2em;
	right: 2em;
	text-align: center;
	padding-top: 1em;
	font-size: 40px;
}
@media (max-width: 1000px) {
	.videobanner figcaption {
		font-size: 36px;	
	}
}
@media (max-width: 720px) {
	.videobanner figcaption {
		font-size: 30px;	
	}
}

/**
 * The overview text box
 */
.ovvtextbox {
	background: #F6F6F6;	
}
.ovvtextbox img {
	width: 560px;
	height: auto;	
}
.ovvtextbox .titles {
	padding-top: 100px;
	background: #FFF;	
}
.ovvtextbox .titles img {
	float: left;
	margin-bottom: 60px;
}
.ovvtextbox .titles header {
	margin-left: 50%;
	padding: 40px 0 60px 100px;
}
.ovvtextbox .titles .tt {
	display: block;
	padding: 20px 30px;	
}
.ovvtextbox .titles span {
    background: #F33;
    color: #FFF;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    font-size: 60px;
    font-weight: 700;
    color: #FFF;
    padding: 0 30px;
    line-height: 1.2;
}
.ovvtextbox .content img {
	float: right;
	margin-top: 60px;
}
.ovvtextbox .markdown {
	margin-right: 50%;
	padding: 0 80px 60px 60px;
}

@media (max-width: 1200px) {
	.ovvtextbox img {
		width: 460px;
	}
	.ovvtextbox .titles header {
		padding-left: 60px;	
	}
	.ovvtextbox .titles span {
		 font-size: 50px;
	}
	.ovvtextbox .markdown {
		padding: 0 40px 40px 40px;
	}
}
@media (max-width: 1000px) {
	.ovvtextbox img {
		width: 330px;
	}
	.ovvtextbox .titles img {
		margin-bottom: 20px;
	}
	.ovvtextbox .content img  {
		margin-top: 20px;	
	}
	.ovvtextbox .titles header {
		padding: 10px 0 20px 10px;
	}
	
	.ovvtextbox .titles span {
		 font-size: 40px;
		 padding: 0 20px; 
	}
	.ovvtextbox .titles .tt {
		padding: 20px;
	}
	
	.ovvtextbox .markdown {
		padding: 0 10px 40px 0;
	}
}
@media (max-width: 720px) {
	.ovvtextbox {
		padding-left: 0;
		padding-right: 0;	
	}
	.ovvtextbox .titles {
		padding-top: 50px;	
	}
	.ovvtextbox .titles img {
		display: none;
	}
	
	.ovvtextbox .titles header {
		margin-left: 0;
		padding-left: 0;
	}
	.ovvtextbox .titles header h2 {
		max-width: 300px;	
	}
	.ovvtextbox .markdown {
		margin: 0;
		padding: 20px 0;	
	}
}
@media (min-width: 530px) and (max-width: 720px) {
	.ovvtextbox .content {
		position: relative;
		padding-top: 58.33vw;	
	}
	.ovvtextbox .content img {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		margin: 0;
	}	
}
@media (max-width: 530px) {
	.ovvtextbox .titles {
		padding: 50px 15px 0 15px;	
	}
	
	
	.ovvtextbox .content img {
		width: 100%;
		height: auto;
		margin: 0 0 20px 0;	
	}
	.ovvtextbox .markdown {
		margin: 0;
		padding: 20px 15px;	
	}
}

/**
 * The page header, top section
 */
#pageheader .topbar {
	height: 70px;
	background: #FFF;
	position: relative;
}
#pageheader .logos {
	float: left;
	height: 30px;
	padding: 20px 0;
	background: ;
}
#pageheader .logos svg {
	width: 30px;
}
#pageheader .logos li {
	height: 30px;
	display: inline-block;
	padding: 0 20px;
	border-left: 1px solid #D8D8D8;
}
#pageheader .logos li:first-child {
	padding-left: 0;
	border-left: 0;
}
#pageheader .logos li:first-child svg {
	width: 220px;	
}

@media (max-width: 1000px) {
	#pageheader #searchform,
	#pageheader #langselect,
	#pageheader .topmenu,
	#pageheader .menubar {
		display: none;	
	}
	#pageheader {
		position: sticky;
		top: 0;
		z-index: 501;
		padding-top: 0;
	}
	#pageheader .topbar {
		height: 60px;	
	}
	#pageheader .logos {
		height: 24px;
		padding: 18px 0;	
	}
	#pageheader .logos li {
		height: 24px;
		padding: 0 16px;
	}
	#pageheader .logos svg {
		width: 24px;
	}
	#pageheader .logos li:first-child svg {
	    width: 156px;
	}
	
	#menutoggle {
		position: absolute;
		right: 0;
		top: 0;
		width: 60px;
		height: 60px;
		background: #F33;
		z-index:  502;
		cursor: pointer;
	}
	#menutoggle::before, #menutoggle::after {
		content: "";
		display: block;
		width: 26px;
		height: 2px;
		border-radius: 1px;
		background: #FFF;
		position: absolute;
		top: 50%;
		left: 50%;
		transition: transform 0.4s ease;
		transform: translate(-50%,-5px);
	}
	#menutoggle::after {
		transform: translate(-50%,5px);
	}
	#togglemenu:checked ~ #pageheader .topbar {
		background: #F33;	
	}
	#togglemenu:checked ~ #pageheader .logos svg {
		filter: grayscale(1) contrast(4) invert(1);
	}
	#togglemenu:checked ~ #pageheader .logos li + li {
		display: none;	
	}
	#togglemenu:checked ~ #pageheader #menutoggle {
		background: #252222;
	}
	#togglemenu:checked ~ #pageheader #menutoggle::after {
		transform: translate(-50%,0) rotate(-45deg);
	}
	#togglemenu:checked ~ #pageheader #menutoggle::before {
		transform: translate(-50%,0) rotate(45deg);
	}

	#mobilefoldout,
	#mobilemenu {
		position: fixed;
		z-index: 500;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background: #FFF;
		height: auto;
		margin: 0;
		padding: 60px 0 0 0;
		overflow: auto;
		color: #FFF;
	}


	#mobilemenu .sectwrap {
		position: relative;
		margin: 0 auto;
	}
	#togglemenu:checked ~ #mobilefoldout,
	#togglemenu:checked ~ #mobilemenu {
		display: block;
	}
	#togglemenu:checked ~ footer,
	#togglemenu:checked ~ #contentstart {
		display: none;
	}
	
	#mobilemenu .mainmenu {
		background: #F33;
		padding: 60px 0 20px 0;
	}
	#mobilemenu li {
		border-top: 1px solid rgba(0,0,0,0.2);
		position: relative;
		line-height: 50px;
		padding: 0 40px 0 0;
	}
	#mobilemenu .caret li:before {
		float: right;
		margin: 20px -56px 0 0;	
	}
	#mobilemenu li:first-child {
		border: none;	
	}

	#mobilemenu a {
		cursor: pointer;
		display: block;
		color: #FFF;
	}
	#mobilemenu .planvisit {
		background: #252222;
		padding: 5px 0;
	}
	#mobilemenu .planvisit a {
		line-height: 50px;
		display: block;
		padding-right: 40px;
		margin: 0 auto;
	}
	#mobilemenu .langselect a.foldout:before,
	#mobilemenu .planvisit a:before {
		content: "";
		display: inline-block;
		width: 6px;
		height: 10px;
		float: right;
		margin: 20px -56px 0 0;	
		width: 25px;
		background: url("img/caret.svg") 0 0 no-repeat;
		background-size: 6px 10px;
		filter: grayscale(1) brightness(5);	
	}
	#mobilemenu .langselect a.foldout:before {
		filter: grayscale(1) brightness(0);;
	}
	#mobilemenu div.topmenu {
		background: #FFF;
		padding: 40px 0 30px;
	}
	#mobilemenu .topmenu ul {
		overflow: hidden;
		border-bottom: 1px solid #DEDEDE;
		padding: 0;
	}
	#mobilemenu .topmenu li {
		width: 50%;
		margin: 0;
		padding: 0;
		float: left;
		border: none;
		margin-bottom: 40px;
	}
	#mobilemenu .topmenu li:nth-child(odd) a {
		border-right: 1px solid #DEDEDE	
	}
	#mobilemenu .topmenu a {
		display: block;
		text-align: center;
		color: #000;	
	}
	#mobilemenu .langselect {
		background: #FFF;
		color: #000;	
	}
	#mobilemenu .langselect a {
		color: #000;
		display: block;
		padding-right: 40px;
	}
	#mobilemenu .langselect a:hover {
		color: #F33;
		text-decoration: none;
	}
	#mobilemenu .langselect svg {
		width: 18px;
		height: 12px;
		margin-right: 7px;
	}
	
	#mobilefoldout {
		transition: transform 0.4s ease;
		transform: translate(100%,0);
		background: #F33;
		color: #FFF;
	}
	#mobilefoldout.visible {
		transform: translate(0,0);	
	}
	
	#mobilefoldout.dark {
		background: #252222;	
	}
	
	#mobilefoldout.light {
		background: #FFF;
		color: #444;
	}
	
	#mobilefoldout .planmenu {
		background: url("img/planb.png") right bottom no-repeat;
		background-size: 60% auto;
		padding: 20px 0;
	}
	#mobilefoldout .planmenu .t4 {
		padding-bottom: 20px;	
	}
	#mobilefoldout .planmenu .desc {
		opacity: 0.6;
		padding-bottom: 20px;
	}
	#mobilefoldout .planmenu a {
		color: #FFF;
	}
	#mobilefoldout .planmenu .caret li:before {
		filter: none;
	}
	
	#mobilefoldout .langselect {
		padding: 20px 0;	
	}
	#mobilefoldout .langselect li {
		height: 40px;
		line-height: 40px;
		border-bottom: 1px solid rgba(0,0,0,0.2);	
	}
	#mobilefoldout .langselect a {
		color: #444;	
	}
	#mobilefoldout .langselect svg {
		width: 18px;
		height: 12px;
		margin-right: 7px;
	}
	#mobilefoldout .langselect a:hover {
		color: #F33;
		text-decoration: none;
	}
	#mobilefoldout .subsub {
		padding: 20px 0 10px 0;
	}
	#mobilefoldout .subsub .t4 {
		padding-bottom: 20px;
		
	}
	#mobilefoldout .subsub a {
		color: #FFF;
	}
	
	.closefoldout {
		height: 60px;
		line-height: 60px;		
		font-size: 15px;
		background: #F33;
	}

	#mobilefoldoutclose {
		display: block;
		cursor: pointer;
		color: #FFF;
	}
	#mobilefoldoutclose:before {
		content: "";
		display: inline-block;
		width: 25px;
		height: 10px;
		background: url("img/caret.svg") right center no-repeat;
		background-size: 6px 10px;
		filter: grayscale(1) brightness(5);
		transform: scaleX(-1);
	}
}

@media (max-width: 560px) { 
	#mobilefoldout .planmenu {
		background-image: none;		
	}
	
}

#pageheader #searchform input:focus {
	outline: none;	
}
#pageheader #searchform input:focus + button {
	fill: #F33;	
	opacity: 1;
}
@media (min-width: 1000px) {
	
	#pageheader .topmenu {
		padding: 20px 0;
		line-height: 30px;
		float: right;
	}
	#pageheader .topmenu li {
		margin-right: 35px;	
	}
	#pageheader .topmenu a {
		color: #000;	
	}
	#pageheader #langselect {
		height: 70px;
		float: right;
		position: relative;
		margin-right: 390px;
		z-index: 10;
	}
	#pageheader #langselect .curlang {
		display: block;
		height: 30px;
		line-height: 30px;
		padding: 20px 50px 20px 0;		
	}
	#pageheader #langselect .curlang:after {
		content: "";
		display: inline-block;
		width: 6px;
		height: 10px;
		margin-left: 10px;
		background: url("img/caret.svg") 0 0 no-repeat;
		background-size: 6px 10px;
		filter: grayscale(1) brightness(0);
		transform: rotate(90deg);
		transition: transform 0.3s ease;
	}
	#pageheader #langselect:hover .curlang:after {
		transform: rotate(270deg);
	}
	#pageheader #langselect .curlang:before {
		content: "";
		background:	#FFF;
		display: block;
		position: absolute;
		top: 64px;
		left: 23px;
		right: 70px;
		height: 2px;
		transition: background 0.3s ease;
	}
	#pageheader #langselect:hover .curlang:before {
		background: #F33;
	}
	#pageheader #langselect ul {
		display: none;
		position: absolute;
		top: 70px;
		right: 0;
		min-width: 100%;
		background: #FFF;
		padding: 20px 0 20px 35px;
		white-space: nowrap;
	}
	#pageheader #langselect:hover ul {
		display: block;	
	}
	#pageheader #langselect svg {
		width: 12px;
		height: 9px;
		margin-right: 7px;
	}
	#pageheader #searchform {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		left: 50%;
		z-index: 10;
		margin-left: 190px;
		background: #F6F6F6;	
	}
	#pageheader #searchform form {
		display: block;
		margin: 0 80px 0 50px;
		height: 70px;
	}
	#pageheader #searchform input {
		width: 100%;
		line-height: 70px;
		height: 70px;
		box-sizing: border-box;
		padding: 0;
		border: none;
		font-family: campton, calibri, helvetica, sans-serif;
		font-size: 16px;
		background: transparent;
		caret-color: #F33;
	}
	#pageheader #searchform button {
		position: absolute;
		top: 0;
		right: 0;
		width: 80px;
		height: 70px;
		background: transparent;
		border: none;
		cursor: pointer;
		text-align: left;
		padding: 0 0 0 14px;
		fill: #AAA;
		
	}
	#pageheader #searchform button svg {
		
		width: 16px;
		height: 16px; 
	}
	#searchform #suggestionlist:empty {
		display: none;	
	}
	#searchform #suggestionlist {
		background: #FFF;
		padding: 20px;
	}
	#searchform #suggestionlist li {
		border-top:1px solid #DEDEDE;
	}
	#searchform #suggestionlist li:first-child {
		border: none;	
	}
	#searchform #suggestionlist a {
		display: block;
		line-height: 55px;
		height: 55px;
		padding: 10px 50px 10px 75px;
		position: relative;	
	}
	#searchform #suggestionlist a:after {
		content: "";
		display: block;
		position: absolute;
		right: 20px;
		top: 31px;
		width: 12px;
		height: 12px;
		background: url("img/arrow.svg") center center no-repeat;
		background-size: 100% auto;

	}
	#searchform #suggestionlist a:hover:after {
		filter: grayscale(1) brightness(5);
		
	}
	#searchform #suggestionlist a.viewall {
		padding-left: 32px;	
	}
	#searchform #suggestionlist a.viewall:after {
		left: 10px;	
	}
	#searchform #suggestionlist a:hover {
		color: #FFF;
		background: #F33;
		text-decoration: none;
	}	
	
	#searchform #suggestionlist a img {
		position: absolute;
		top: 10px;
		left: 10px;
	}
	#searchform #suggestionlist a span {
		overflow: hidden;
		white-space: nowrap;
		display: block;
	}
	/**
	 * The page header, menu section
	 */

	#pageheader .menubar {
		position: relative;
		height: 80px;
		background: #F33;
		background: linear-gradient(90deg, #F33 0%, #F33 50%, #252222 50%, #252222 100%);
		color: #FFF;
	}
	#pageheader .menubar a {
		color: #FFF;	
	}
	
	#pageheader #mainmenu {
		width: 770px;
		height: 80px;
		background: #F33;
	}
	#pageheader #mainmenu ul {
		display: flex;
		justify-content: space-between;
	}
	#pageheader #mainmenu li {
		padding-right: 38px;	
	}
	#pageheader #mainmenu li a {
		display: block;
		height: 64px;
		padding: 8px 0 6px;
	}
	#pageheader #mainmenu li a:hover {
		text-decoration: none;	
	}
	#pageheader #mainmenu li a span {
		display: inline-block;
		position: relative;
		line-height: 64px;
		border-bottom: 2px solid transparent;
		border-color: transparent;
		transition: border-color 0.3s ease;
	}
	#pageheader #mainmenu li.active span {
		border-color: #FFF;
	}
	#pageheader #planvisit a:after,
	#pageheader #mainmenu li.withsub a:after {
		content: "";
		display: inline-block;
		width: 6px;
		height: 10px;
		margin-left: 10px;
		background: url("img/caret.svg") 0 0 no-repeat;
		background-size: 6px 10px;
		filter: grayscale(1) brightness(5);
		transform: rotate(90deg);
		transition: transform 0.4s ease;
	}
	#pageheader #planvisit a.hovering:after,
	#pageheader #mainmenu li.withsub a.hovering:after {
		transform: rotate(270deg);
	}
	#pageheader #planvisit {
		position: absolute;
		top: 0;
		left: 50%;
		margin-left: 190px;
		padding-left: 50px;
		line-height: 80px;
	}
	#pageheader #planvisit a:hover {
		text-decoration: none;	
	}
	
	/**
	 * Menu foldouts
	 */
	#pageheader #foldout.visible {
		position: absolute;
		z-index: 99;
		left: 0;
		right: 0;
		background: #F33;
		color: #FFF;
		border-top: 1px solid rgba(0,0,0,0.2);
		padding: 60px 0;
	}
	#pageheader #foldout.visible.dark {
		background: #252222;
	}
	#foldoutcontent:after {
		content: "";
		display: block;
		clear: both;
	}
	#pageheader #foldout .t4 {
		padding-bottom: 20px;	
	}
	#pageheader #foldout a {
		color: #FFF;	
	}
	#pageheader #foldout .subsub {
		width: 25%;
		float: left;	
	}
	#pageheader #foldout .planmenu {
		min-height: 303px;
		padding-right: 50%;
		background: url("img/planb.png") right bottom no-repeat;
	}
	#pageheader #foldout .planmenu .desc {
		width: 480px;
		opacity: 0.6;	
	}
	#pageheader #foldout .planmenu ul {
		padding: 20px 0;
		overflow: hidden;
	}
	#pageheader #foldout .planmenu .caret li:before {
		filter: none;	
	}
	#pageheader #foldout .planmenu .split li {
		width: 50%;
		float: left;
		box-sizing: border-box;	
	}
}
@media (min-width: 1000px) and (max-width: 1200px) {
	#pageheader #planvisit,
	#pageheader #searchform {
		margin-left: 290px;
	}
	#pageheader #searchform form {
	    margin: 0 0 0 50px;
	}
	#pageheader #searchform button {
		right: auto;
		left: 0;
		width: 50px;
		padding-left: 18px;	
	}

	#pageheader #langselect {
		margin-right: 190px;
	}
	
	#searchform #suggestionlist {
		position: absolute;
		right: 0;
		width: 360px;	
	}
	
}


/**
 * The page footer section
 * 
 */
#pagefooter {
	background: #F33;
	color: #FFF;
	padding: 50px 0;
	z-index: 501;
	position: relative;
}

.newsletter_subscribe {
	position: relative;
	top: -50px;
	background: #252222;
	margin-top: -160px;
	margin-bottom: 30px;
}
.newsletter_subscribe .tt {
	font-size: 60px;
	line-height: 1;
	padding-bottom: 10px;
}
.newsletter_subscribe article {
	padding: 60px 100px;
	overflow: hidden;
	position: relative;
}
.newsletter_subscribe article:after {
	position: absolute;
	content: "";
	top: 60px;
	left: 50%;
	bottom: 60px;
	width: 1px;
	background: #FFF;
	opacity: 0.2;
}
.newsletter_subscribe .text {
	width: 360px;
	float: left;	
}
.newsletter_subscribe form {
	width: 360px;
	float: right;	
}
.newsletter_subscribe label {
	display: none;	
}
.newsletter_subscribe li {
	padding-top: 20px;	
}
.newsletter_subscribe input {
	width: 100%;
	height: 50px;
	line-height: 50px;
	padding: 0;
	background: transparent;
	border: none;
	border-bottom: 1px solid rgba(255,255,255,0.2);
	color: #FFF;
}
.newsletter_subscribe input::placeholder {
	color: 	#DEDEDE;
	opacity: 1;
}
.newsletter_subscribe .button {
	display: block;
	width: 100%;
	background: transparent;
	border: 1px solid #F33;
	height: 50px;
	line-height: 50px;
}
.newsletter_subscribe .button svg {
	fill: #F33;
	margin-right: 5px;
}
.newsletter_subscribe .button:hover {
	background: #F33;	
}
.newsletter_subscribe .button:hover svg {
	fill: #FFF;	
}
#pagefooter a {
	color: #FFF;
	text-decoration: none;
}
#pagefooter a:hover {
	text-decoration: underline;	
}
#pagefooter .t4 {
	padding-bottom: 20px;	
}
#pagefooter nav li svg {
	width: 6px;
	height: 10px;
	fill: #FFF;
	margin-right: 16px;	
}	
#pagefooter nav {
	float: left;
	width: 260px;
	margin-right: 40px;
	line-height: 1.5;
}
#pagefooter nav li {
	padding-bottom: 0.5em;
}
#pagefooter .address {
	width: 260px;
	float: right;
}
#pagefooter .address .postal {
	border-bottom: 1px solid rgba(0,0,0,0.2);
	padding-bottom: 15px;
	margin-bottom: 16px;
}
#pagefooter .address svg {
	width: 16px;
	height: 16px;
	fill: #FFF;
	margin-right: 14px;
	position: relative;
	bottom: -2px;
}
#pagefooter hr {
	clear: both;
	height: 0;
	display: block;
	border: 1px solid rgba(0,0,0,0.2);
	border-width: 0 0 1px 0;
	padding: 50px 0 0 0;
	margin-bottom: 50px;
}
#pagefooter .logo {
	width: 300px;
	float: left;	
}

#pagefooter .logo svg {
	width: 150px;
	height: auto;
	filter: grayscale(1) brightness(0) invert(100%);	
}
#pagefooter .logo span,
#pagefooter .social span {
	display: none;	
}
#pagefooter .social {
	width: 270px;
	float: left;	
}
#pagefooter .social ul {
	display: flex;
}
#pagefooter .social li {
	margin-right: 8px;	
}
#pagefooter .social a {
	display: inline-block;
	padding: 11px;
	background: #FFF;
	border-radius: 50%;	
}
#pagefooter .social a svg {
	vertical-align: top;
	float: left;
	width: 18px;
	height: 18px;
	fill: #F33;
	transition: fill 0.3s ease;
}
#pagefooter .social a:hover {
	background: #000;	
}
#pagefooter .social a:hover svg {
	fill: #FFF;	
}

#pagefooter .footermenu li {
	margin-left: 30px;
	font-size: 14px;
}

@media (max-width: 1200px) { /* 960px */
	.newsletter_subscribe article {
		padding: 60px;	
	}
	#pagefooter .address,
	#pagefooter nav {
		width: 210px;
	}
	#pagefooter .logo {
		width: 250px;	
	}
	#pagefooter .social {
		width: 220px;	
	}
}
@media (max-width: 1000px) { /* 680px */

	.newsletter_subscribe article:after {
		display: none;	
	}
	.newsletter_subscribe .tt {
		font-size: 50px;		
	}
	.newsletter_subscribe form,
	.newsletter_subscribe .text {
		float: none;
		width: auto;
	}

	#pagefooter .address,
	#pagefooter nav {
		width: 320px;
		margin: 0 0 25px 0;
	}
	#pagefooter .logo {
		width: 360px;
	}
	#pagefooter nav:nth-child(2) {
		float: right;	
	}
	#pagefooter nav:nth-child(3) {
		clear: left;
	}
	#pagefooter .t4 {
		padding-bottom: 12px;	
	}
	#pagefooter hr {
		padding: 0;
		margin-bottom: 40px;

	}
	#pagefooter .footermenu {
		clear: both;
	}
	#pagefooter .footermenu li:first-child {
		margin-left: 0;	
	}
	
}
@media (max-width: 720px) { /* <500px */
	#pagefooter nav:nth-child(2),
	#pagefooter .address,
	#pagefooter nav,
	#pagefooter .social,
	#pagefooter .logo {
		width: auto;
		float: none;
	}
	#pagefooter .footermenu,
	#pagefooter .logo {
		text-align: center;	
	}
	#pagefooter .social ul {
		justify-content: center;
		margin: 40px 0 20px;
	}
	#pagefooter .social li {
		margin: 0 4px;	
	}
	.newsletter_subscribe article {
		padding: 40px;	
	}
	.newsletter_subscribe .tt {
		font-size: 40px;
		max-width: 260px	
	}
}
@media (max-width: 530px) {
	.newsletter_subscribe article {
		padding: 40px 0;	
	}

}



.searchheader .sform input {
	width: calc(100% - 60px);
}
.searchheader .sform button {
	float: right;
	width: 50px;
	padding: 0;
	text-align: center;
}
.searchheader .sform button svg {
	width: 16px;
	fill: #FFF;
	height: 16px;
	position: relative;
	top: 2px;
}
.searchheader .titles {
	padding: 40px 0;	
}


.searchlist li {
	margin: 30px 0;
}
.searchlist article .t2 {
	font-size: 26px;
	padding-bottom: 10px;	
}
.searchlist article a {
	background: #FFF;
	border: 1px solid #DEDEDE;
	padding: 20px;
	display: block;
	overflow: hidden;
}
.searchlist article .banner {
	float: left;
	margin-right: 30px;
}

@media (max-width: 560px) {
	.searchlist article .banner {
		float: none;
		margin: 0 -20px;
	}
	.searchlist article .banner img {
		width: 100%;
		height: auto;	
	}
}


#page404 .headerlogo {
	padding-top: 20px;	
}
#page404 .headerlogo svg {
	width: 200px;
	height: auto;
	filter: grayscale(1) brightness(0) invert(100%);
}
#page404 .content {
	background-size: cover;
}
#page404 .t1 { 
	color: #FFF;
	padding: 10px 0;
}

#page404 .content .wrap {
	margin: 0 auto;
	text-align: center;
	max-width: 960px;
	padding: 150px 40px;
	color: #FFF;
	text-shadow: rgba(0,0,0,0.2) 1px 1px 10px;	
}
#page404 .content .tagline {
	padding-bottom: 10px;
	display: block;
}
#page404 .content .text {
	max-width: 760px;
	margin: 0 auto;
}
#page404 .content nav {
	padding: 40px 0;	
}
#page404 .content a {
	color: #FFF;
	display: inline-block;
	fill: #F33;
}
#page404 .content a svg {
	position: relative;
	left: 3px;
	transition: all 0.3s;
}
#page404 .content a:hover svg {
	left: 7px;
}
@media (max-width: 1000px) {
	#page404 .content .wrap {
		padding: 100px 20px;
	}
}



.routewrap {
	position: relative;	
}
.routepage .crumbnav {
	padding: 0 0 10px 0;	
}
.routepage .map {
    overflow: hidden;
    width: calc(100% - 500px);
    top: 0;
    right: 0;
    float: right;
    position: sticky;
}
.routepage #maptarget {
    height: 100vh;
}
.routewrap .intro {
	width: 440px;
	float: left;
	padding: 30px;		
}
.routewrap .intro .overview {
	display: flex;
	border-top: 1px solid #DEDEDE;
	border-bottom: 1px solid #DEDEDE;
	padding: 20px 0;
	margin: 20px 0;
}
.routewrap .intro p {
	
	border-bottom: 1px solid #DEDEDE;
	padding-bottom: 20px;
}
.routewrap .intro .overview li {
	margin-left: 20px;		
}
.routewrap .intro .overview svg {
	fill: #F33;	
}
.routewrap .intro .overview li:first-child {
	margin-left: 0;	
}
.routewrap .contents {
	width: 440px;
	padding: 30px;	
}






#poilist {
	border-left: 1px solid #DEDEDE;
	padding-left: 20px;counter-reset: poimarker;
	margin-bottom: 150px;
}
#poilist .head {
	background: #FFF;
	border: 1px solid #DEDEDE;
	margin: 20px 0 20px -40px;
	outline: 10px solid #FFF;
	padding: 16px 10px 16px 40px;
	position: relative;
	line-height: 1.6;
}
#poilist .head .pin {
	background: #FFF;
	border-radius: 50%;
	border: 10px solid #F33;
	width: 6px;
	height: 6px;
	position: absolute;
	left: 20px;
	top: 50%;
	transform: translate(-50%,-50%);
}

#poilist .head .title {
	color: #F33;
	line-height: 1.6;

}
#poilist .head .pin.poi {
	background: #F33;
	color:#FFF;
	border: none solid #F33;
	text-align: center;
}
#poilist .head .pin.poi:before{
	counter-increment: poimarker; 
	content: counter(poimarker);
	display: block;
	border: 1px solid #FFF;
	border-radius: 50%;
	width: 16px;
	height: 16px;
	line-height: 16px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -9px 0 0 -9px;
	font-size: 10px;
}
#poilist .body {
	font-size: 15px;
	color: rgba(42,42,42,0.5);
	
}

@media (max-width: 1000px) {
	.routepage .map {
		top: 60px;	
		width: calc(100% - 440px);
	}
	.routepage #maptarget {
	    height: calc(100vh - 60px);
	}
	.routewrap .contents,
	.routewrap .intro {
		width: 400px;
		padding: 30px 20px;		
	}
}

@media (max-width: 840px) {
	.routewrap {
		padding: 0 40px;
	}
	.routewrap .contents,
	.routewrap .intro {
		float: none;
		margin: 0 auto;
		width: auto;
		padding-left: 0;
		padding-right: 0;
	}
	.routepage .map {
	    overflow: hidden;
	    width: auto;
	    top: 0;
	    right: 0;
	    float: none;
	    position: relative;
	    padding-top: 56%;
	}
	.routepage #maptarget {
	    height: 100%;
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	}
}
@media (max-width: 500px) {
	.routewrap {
		padding: 0 20px;
	}
	#poilist .head {
		margin-left: -20px;	
	}
}
@media (max-width: 400px) {
	.routewrap {
		padding: 0 10px;
	}
}
input[name=__organisation__] {
	display: none;
}




.siteform ul {
	display: flex;
	flex-wrap: wrap;
	flex-shrink: 1;
	justify-content: space-between;
}
.siteform li {
	padding-top: 20px;
	width: 48%;
	flex-shrink: 1;
	position: relative;
}
.siteform li.altset {
	width: 100%;	
}
.siteform li label {
	display: block;
	font-weight: bold;
	font-size: 100%;
}
.siteform li .formhelp {
	overflow: hidden;
	height: 0;
	right: 0;
	top: 20px;
	padding-top: 22px;
	position: absolute;
	z-index: 12;
	width: 22px;
}
.siteform li .formhelp.visible,
.siteform li .formhelp:hover {
	height: auto;
	color: #FFF;
	padding: 11px 22px;
	background: #F33;
	width: 300px;
}
.siteform li .formhelp:before {
	width: 22px;
	height: 22px;
	line-height: 22px;
	display: block;
	text-align: center;
	border-radius: 50%;
	content: "?";
	color: #FFF;
	background: #F33;
	position: absolute;
	top: 0;
	right: 0;
}
.siteform li .formhelp.visible:before {
	content: "x";
}

.siteform li label.inline input {
	display: none;	
}
.siteform li label.inline span {
	display: block;
	padding-left: 30px;
	position: relative;
}
.siteform li label.inline span:before  {
	content: "";
	display: inline-block;
	position: absolute;
	width: 18px;
	height: 18px;
	border: 1px solid #000;
	background: transparent;
	top: 6px;
	left: 0;
}
.siteform li label.inline input:checked + span:before  {
	background: #F33 url("img/checkmark.svg") center center no-repeat;
	border-color: #F33;
}


.siteform li .required label:after {
	content: "*";
	color: #41999A;
	font-size: 14px;
}
.siteform li .selectbox,
.siteform li input,
.siteform li textarea {
	width: 100%;
}	
.siteform .errors li {
	float: none;
	width: auto;
	margin: 0;
	color: #C0081F;
	line-height: 1.2;
	padding: 5px 0 0 10px;
}
.siteform .errors li:before {
	content: "-";
	margin-left: -10px;
	width: 10px;
	display: inline-block;
}
.siteform .witherror input {
	border-color: #C0081F;	
}

.siteform .buttons {
	text-align: right;
	padding: 20px 0;	
}


input, textarea {
	font-family: inherit;
	font-size: inherit;	
	background: #FFF;
	border: 1px solid #DEDEDE;
	background: #F6F6F6;
	border-radius: 2px;
	padding: 0 10px;
	box-sizing: border-box;
}
textarea {
	height: 120px;	
}
input {
	background: #FFF;
	border: 1px solid #DEDEDE;
	height: 50px;
	line-height: 48px;
}
.selectbox {
	height: 50px;
	line-height: 48px;
	border: 1px solid #DADADA;
	border-radius: 2px;
	font-size: 100%;
	box-sizing: border-box;
	position: relative;
	display: inline-block;
	vertical-align: bottom;
	cursor: pointer;
	background: #FFF;
}
.selectbox:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 40px;
	display: block;
	background: url("img/caret.svg") center center no-repeat;
	transform: rotate(90deg);
}

.selectbox select:-moz-focusring {
	color:transparent;
	text-shadow:0 0 0 #333; /* your normal text color here */
}
form .selectbox select:-moz-focusring * {
	color: #333; /* your normal text color here */
	text-shadow:none;
}
/** and in other browsers */
form .selectbox select:option {
	outline: none;	
}
/* remove the styling of the normal select box completely */
form .selectbox select {
	display: block;
	font-family: inherit;
	font-size: 100%;
	outline: none;
	position: relative;
	width: 100%;
	height: 100%;
	line-height: 48px;
	border: 0;
	padding: 0 40px 0 20px;
	background: transparent;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}


.formcontext {
	padding: 30px 0;	
}
.formcontext .box {
	position: relative;
	background: #F33;
	color: #FFF;
	height: 100px;
	padding-left: 120px;
	display: block;
}
.formcontext .banner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100px;
	height: 100px;
}
.formcontext .text {
	position: absolute;
	top: 50%;
	left: 120px;
	right: 40px;
	transform: translate(0,-50%);	
}
.formcontext .box:after {
	content: '';
	width: 22px;
	height: 22px;
	position: absolute;
	background: url("img/arrow.svg") center center no-repeat;
	right: 20px;
	top: 50%;
	transform: translate(0,-50%);
	filter: grayscale(1) brightness(5);	
}
.formcontext .box:hover {
	background: #252222;	
}
.formcontext .box:hover:after {
	filter: none;
}





form .radiobox input {
	display: none;
}


.siteform .radioinput.withimg .radio-options {
	display: flex; 	
}
.siteform .withimg {
	overflow: visible;	
}
.siteform .withimg .radiobox {
	flex-grow: 1;
	white-space: normal;
	margin: 20px 0 0 40px;
	overflow: visible;
}


.siteform .withimg .radiobox:first-child {
	margin-left: 0;
}	
.siteform .withimg .radiobox div {
	border: none;
	background: transparent;
}
.siteform .withimg .radiobox div img {
	opacity: 1;	
}
.siteform .withimg .radiobox figure {
	display: block;
	position: relative;
	width: 100%;
}
.siteform .withimg .radiobox figure:before,
.siteform .withimg .radiobox figure:after {
	content: "";
	display: block;
	width: 21%;
	height: 21%;
	position: absolute;
	bottom: 0;
	right: 0;
	transition: all 0.4s ease;
	background: #000;
	z-index: 2;
}
.siteform .withimg .radiobox figure:after {
	background: url("img/checkmark.svg") center center no-repeat;
}
.siteform .withimg .radiobox input:checked + div figure:before {
	width: 35%;
	height: 35%;
	bottom: -15px;
	right: -15px;
	background: #F33;
	mix-blend-mode: multiply;
	z-index: 1;
}
.siteform .withimg .radiobox input:checked + div figure:after {
	width: 35%;
	height: 35%;
	bottom: -15px;
	right: -15px;
	z-index: 10;
	background: url("img/checkmark.svg") center center no-repeat;
}
.siteform .withimg .radiobox span {
	display: block;
	position: static;
	font-family: campton,calibri,helvetica,sans-serif;
	padding: 10px 0 10px 0;
	font-weight: 500;
	color:	#444;
	transform: translate(0,0);
}
.siteform .withimg .radiobox input:checked + div span {
	color: #e60003;	
}

.siteform .withimg .descbox {
	border: 1px solid #888;
	font-size: 100%;
	color: #444;
	padding: 20px 40px;
	margin: 0;
	text-align: left;
	border-radius: 3px;
}
@media ( min-width: 700px) {
	.siteform .withimg label .descbox {
		display: none;
	}
}
@media ( max-width: 700px) {
	.siteform .withimg .descbox {
		overflow: visible;
		padding: 20px;
		font-weight: normal;
	}
	.siteform .radioinput.withimg .radio-options {
		display: block;
		margin: 0 auto;
		max-width: 500px;	
	}
	form .radiobox figure {
		float: none;
	}
	
	.siteform .withimg .radiobox	{
		margin: 20px 0;	
	}

	.siteform .withimg > .descbox {
		display: none;
	}
	form .radiobox div {
		overflow: visible;
	}
	form .radiobox input:checked + div:after {
		display: none;
	}

	.siteform .withimg .radiobox input:checked + div figure:before,
	.siteform .withimg .radiobox input:checked + div figure:after {
		width: 30%;
		height: 30%;
		
	}
}
	body.modal_visible {
	overflow: hidden;	
}
.eowd_modal {
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,0.8);	
}
.eowd_modal_canvas {
	position: absolute;
	top: 4vw;
	left: 4vw;
	right: 4vw;
	bottom: 4vw;
}


#modalgallery {
	width: 100%;
	height: 100%;	
}
#modalgallery img {
	width: auto;
	height: auto;
	max-width: 100%;
	transform: translate(-50%, -50%);
	position: absolute;
	left: 50%;
	top: 50%;
	border-radius: 4px;
}
#modalgallery figcaption {
	position: absolute;
	display: block;
	left: 50%;
	top: 0;
	transform: translate(-50%,0);
	padding: 5px 20px;
	background: rgba(0,0,0,0.5);
	border-radius: 6px;
		
}
#modalgallery .swiper-slide {
	opacity: 0.5;
	filter: grayscale(100%)
}
#modalgallery .swiper-slide-active {
	opacity: 1;
	filter: none;	
}



@media (max-aspect-ratio: 16/9) {
	.eowd_modal_canvas.video {
		position: absolute;
		width: 96vw;
		height: 54vw;
		top: 50%;
		left: 2vw;
		right: 2vw;
		bottom: auto;
		transform: translate(0,-50%);
	}
}
@media (min-aspect-ratio: 16/9) {
	.eowd_modal_canvas.video {
		position: absolute;
		width: 170.66vh;
		height: 96vh;
		left: 50%;
		top: 2vh;
		bottom: 2vh;
		right: auto;
		transform: translate(-50%,0);
	}
	
}
.eowd_modal_canvas iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 9998;
	top: 0;
	left: 0;
	border: 0;
	box-shadow: 0 0 15px rgba(255,255,255,0.1);	
}

.eowd_modal_close {
	width: 24px;
	height: 24px;
	line-height: 24px;
	position: absolute;
	top: 13px;
	right: 13px;
	color: #CCC;
	cursor: pointer;
	border: 1px solid #AAA;
	text-align: center;
	font-size: 18px;
	font-family: arial, helvetica, sans-serif;
	z-index: 9999;
	
}
.eowd_modal_close:hover {
	color: #FFF;
	border: 1px solid #FFF;
}	/**
 * Swiper 5.3.0
 * Copyright 2014-2020 Vladimir Kharlampidi
 * Released under the MIT License
 */
@font-face{font-family:'swiper-icons';src:url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{transform:translate3d(0,0,0)}.swiper-container-multirow>.swiper-wrapper{flex-wrap:wrap}.swiper-container-multirow-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-container-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-container-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-container-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-container-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-container-horizontal.swiper-container-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-container-vertical.swiper-container-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}:root{--swiper-navigation-size:44px}.swiper-button-prev,.swiper-button-next{position:absolute;top:50%;width:calc(var(--swiper-navigation-size) / 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(-1 * var(--swiper-navigation-size) / 2);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev:after,.swiper-button-next:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;text-transform:none;font-variant:initial}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-container-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-container-rtl .swiper-button-prev:after{content:'next'}.swiper-button-prev.swiper-button-white,.swiper-button-next.swiper-button-white{--swiper-navigation-color:#fff}.swiper-button-prev.swiper-button-black,.swiper-button-next.swiper-button-black{--swiper-navigation-color:#000}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:300ms opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-container-horizontal>.swiper-pagination-bullets{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:200ms transform,200ms top}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:200ms transform,200ms left}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:200ms transform,200ms right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progressbar,.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:4px;height:100%;left:0;top:0}.swiper-pagination-white{--swiper-pagination-color:#fff}.swiper-pagination-black{--swiper-pagination-color:#000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>img,.swiper-zoom-container>svg,.swiper-zoom-container>canvas{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}
#hanze .leaflet-popup-content-wrapper {
	border-radius: 0;
	box-shadow: none;
	font-family: droid,arial,sans-serif;
	font-size: 16px;
	line-height: 23px;
	margin: 0 0 -5px 0;
	padding: 0;
	color: #444;
}
#hanze .leaflet-container a.leaflet-popup-close-button {
	z-index: 1000;
	color: #FFF;
	font-size: 20px;
	text-shadow: rgba(0,0,0,1) 1px 1px 10px;	
}
#hanze .leaflet-popup-tip {
	box-shadow: none;
}
#hanze .leaflet-popup-content-wrapper a {
	color: inherit;
	
}
#hanze .leaflet-popup-content {
	margin: 0 0 0 0;
	overflow: hidden;	
}


#hanze .leaflet-popup-content-wrapper {
	background: transparent;
}

#hanze .poimapbox {
	width: 500px;
	position: relative;
	border-radius: 3px;
	overflow: hidden;
}
#hanze .poimapbox .body {
	position: absolute;
	top: 50%;
	transform: translate(0,-50%);
	left: 190px;
	right: 20px;
}
#hanze .poimapbox h4 {
	font-weight: bold;
	padding-bottom: 5px;
}
#hanze .poimapbox p {
	margin: 0;
	line-height: 20px;
}
@media (max-width: 560px) {
	#hanze .poimapbox {
		width: 300px;	
	}
	#hanze .poimapbox .body {
		left: 116px;	
	}
}


/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg,
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	}

.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 500;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-tile {
	will-change: opacity;
	}
.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
.leaflet-zoom-anim .leaflet-zoom-animated {
	will-change: transform;
	}
.leaflet-zoom-anim .leaflet-zoom-animated {
	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline: 0;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-container a.leaflet-active {
	outline: 2px solid orange;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a,
.leaflet-bar a:hover {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url(images/layers.png);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(images/layers-2x.png);
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path {
	background-image: url(images/marker-icon.png);
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.7);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover {
	text-decoration: underline;
	}
.leaflet-container .leaflet-control-attribution,
.leaflet-container .leaflet-control-scale {
	font-size: 11px;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	font-size: 11px;
	white-space: nowrap;
	overflow: hidden;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;

	background: #fff;
	background: rgba(255, 255, 255, 0.5);
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 19px;
	line-height: 1.4;
	}
.leaflet-popup-content p {
	margin: 18px 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;

	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	padding: 4px 4px 0 0;
	border: none;
	text-align: center;
	width: 18px;
	height: 14px;
	font: 16px/14px Tahoma, Verdana, sans-serif;
	color: #c3c3c3;
	text-decoration: none;
	font-weight: bold;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover {
	color: #999;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	border-bottom: 1px solid #ddd;
	border-top: 1px solid #ddd;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}
.leaflet-oldie .leaflet-popup-tip-container {
	margin-top: -1px;
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-clickable {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}
.vanilla-datepicker {
    background:#FFF;
    border: solid 1px #7FC1C2;
    border-radius: 0 4px 4px 4px;
    font-size: 15px;
    position: absolute;
    z-index: 10;
    width:300px;
    transform: translate(0,-1px);
}
.vanilla-datepicker > .title-nav {
    align-items:center;
    background:#FFF;
    border:solid 1px transparent;
    height: 40px;
    line-height: 40px;
    border-bottom: solid 1px #7FC1C2;
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    width:auto;
}
.vanilla-datepicker > .title-nav > .month-navigate {
	align-items:center;
    cursor:pointer;
    display:flex;
    flex:0 15px;
    height: 30px;
    width: 30px;
    justify-content:center;
    margin:1px;
    padding:2px;
    text-align: center;
    color: transparent;
    background: url("img/triangle_right_green.svg") center center no-repeat;
}
.month-navigate.previous {
	transform: scaleX(-1);	
}

.vanilla-datepicker > .title-nav > .month-navigate:hover,
.vanilla-datepicker > .title-nav > .year-navigate:hover {
    background-image: url("img/triangle_right_red.svg") 
}
.vanilla-datepicker > .week-header {
    font-weight: normal;
}
.vanilla-datepicker > .week-header,
.vanilla-datepicker > .week {
    display:flex;
    flex-direction:row;
    justify-content:space-between;
}
.vanilla-datepicker > .week-header > div {
    align-items:flex-start;
    display:flex;
    flex:1;
    justify-content:center;
}
.vanilla-datepicker > .week > div {
    align-items:flex-end;
    border:solid 1px transparent;
    cursor:pointer;
    display:flex;
    flex:1;
    justify-content:center;
    width: 34px;
    height: 30px;
    padding: 2px 2px 4px 2px;
    margin: 1px;
    text-align: center;
    border-radius: 50%;
}
.vanilla-datepicker > .week > div.no-select {
    cursor:auto;
    color:#AAA;
}
.vanilla-datepicker > .week > div.selected {
    background-color:#7FC1C2;
    color: #FFF;
	border-radius: 50%;
}
.vanilla-datepicker > .week > div:not(.no-select):hover {
    background:#ECF5F6;
}