nav, main, aside, footer, header, figure, figcaption, article,hgroup,fieldset,
section,h1,h2,h3,h4,p,form,dl,dt,dd {
	display: block; margin: 0; padding: 0;
} 
.struct, .struct li,
html, body {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
body {
	font-family: arial,helvetica,sans-serif;
	line-height: 1.6;
	color: #333;
	font-size: 1.3333333vw;
}
.togglebiatch {
	display: none!important;
}	
#debugpane {
	display: none;	
}
#debugpane:target {
	display: block;	
}
.lazywrap {
	display: block;
	position: relative;
	background: rgba(0,0,0,0.2);
}
.lazywrap img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

}
.hr {
	display: none;	
}
a {
	color: #ff0000;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
th {
	text-align: left;	
}
h1, h2 {
	font-weight: normal;
	margin-bottom: 1em;
	line-height: 1.2;
	font-family: ;
}
h2 {
	margin-bottom: 0.6em;	
}
h3 {
	font-weight: bold;
	font-size: 120%;
	font-family: ;	
}

h2 a, h3 a, h4 a {
	color: inherit;
	text-decoration: none;	
}
h2 a:hover, h3 a:hover, h4 a:hover {
	text-decoration: none;	
}

.multilist dt {
	font-weight: bold;	
}
.maintitle {
	color: #ff0000;
	font-size: 300%;
	margin-bottom: 0.5em;
}
.section-title {
	margin: 1.5em 0 0.5em;	
}
:first-child > .section-title:first-child {
	margin-top: 0;	
}
img {
	vertical-align: top;	
}

.tabbar {
	border-bottom: 1px solid rgba(0,0,0,0.15);
	height: 32px;
	overflow: hidden;
	display: flex;
}
.tabbar h3 {
	flex-shrink: 1;
	padding: 0 14px;
	font-size: 12px;
	font-weight: normal;
	height: 30px;
	line-height: 30px;
	border: 1px solid transparent;
	position: relative;
	bottom: -1px;
	cursor: pointer;
	opacity: 0.7;
}
.compact .tabbar h3 {
	padding: 0 7px;
}
.tabbar h3.current {
	border-color:  rgba(0,0,0,0.15);
	cursor: default;
	opacity: 1;
	flex-shrink: 0;
}
.tab {
	display: none;
}
.tab.current {
	display: block;
}
.sidebar .compact .tabbar h3 {
	width: 32px;
	padding: 0 5px;
	overflow: hidden;
}
.sidebar .tabbar h3:hover {
	color: ;
	background: #FFF;
}
.sidebar .tabbar h3 {
	padding: 0 7px;
	white-space: nowrap;
}
.sidebar .tabbar h3.current {
	width: auto;
	background: #FFF;
}



.openingtimes th {
	font-weight: bold;
	text-align: left;
	padding-right: 10px;	
}
.openingtimes td, .openingtimes th {
	line-height: 1.5;
	vertical-align: top;
}
.openingtimes td span {
	white-space: nowrap;
}

#opening .disclaimer{
	font-style: italic;
	font-size: 16px;
}



.frameholder {
	position: relative;
	overflow: hidden;
}
.frameholder:before {
	content:  " ";
	float: left;
	padding-top: 50%;
}
.frameholder iframe {
	border: 0;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}


p.lead {
	margin: 0 0 1em 0;
}
/**
 * Markdown sections are the rich text fields filled by the user, they are all
 * contained in a div with class .markdown
 */
.markdown h2 {
	margin: 1em 0 0.5em;
}
.markdown h3 {
	margin: 0.5em 0 0 0;	
}
.markdown p {
	margin: 0 0 0.5em 0;	
}

.markdown table {
	border: 1px solid #666;
	border-spacing: 0;
	border-collapse: collapse;
}
.markdown table th {
	font-weight: bold;
	color: #ff0000;
	border: 1px solid #999;
	padding: 4px 10px;
}
.markdown table td {
	border: 1px solid #999;
	padding: 4px 10px;
}


/**
 * Markdown image with caption
 */
figure.markdown a {
	display: none;
}
figure.markdown figcaption {
	font-size: 90%;
	display: block;
	height: 1.15em;
	line-height: 1em;
	margin: 0;
	padding: 0 1em;
	margin-top: -2em;
	color: #FFF;
	color: rgba(255,255,255,0.6);
	text-shadow: 0 0 5px rgba(0,0,0,0.3);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: none;
}
figure.markdown:hover figcaption {
	color: #FFF;
}


/**
 * a.ctwrap is a link put around an element using javacript to make a whole
 * article clickable whithout ruining SEO. Of course this only works when the 
 * search engine doesn't execute javascript
 */ 
a.ctwrap {
	color: inherit;
	text-decoration: none;
	outline: none;
}

/**
 * The formfield named __organisation__ is used as a honeypot to detect 
 * form spammers. It must be hidden using css. We hide it by positioning the
 * field out of the visible so that spammers cannot easily detect it is invisible
 * by checking the opacity, visibility or display stying using javascript.
 */
input[name="__organisation__"] {
	display: block;
	width: 0;
	height: 0;
	border: 0;
	position: absolute;
	top: -5000px;
	left: -5000px;		
}

/**
 * Basic form and form field styling.
 */
fieldset {
	margin: 0;
	padding: 0;
	border: 0;	
}
form .selectbox,
form input:not([type="file"]),
form textarea,
form .filebox {
	font-family: inherit;
	font-size: 100%;
	border: 1px solid rgba(0,0,0,0.15);
	height: 32px;
	box-sizing: border-box;
	width: 100%;
	padding: 2px;
	vertical-align: bottom;
	background: #FFF linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.02) 100%) repeat scroll 0 0;
	display: inline-block;
}
form .selectbox {
	position: relative;
}
form .button {
	height: 32px;
	padding-top: 0;
	padding-bottom: 0;
	line-height: 32px;
	vertical-align: bottom;
}
/**
 * Custom drop down arrow
 */
form .selectbox:before {
	content: "\e803";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 32px;
	line-height: 32px;
	text-align: center;
	color: #ff0000;
	background: rgba(0,0,0,0.05);
	font-family: icomoon;
}
form .filebox {
	position: relative;
	height: 50px;
}
form .filebox label {
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	cursor: pointer;
	margin: 0;
	padding: 0 10px;
	line-height: 50px;
	
}
form .filebox span:empty:before {
	content: "kies bestand";
	font-style: italic;
}
html[lang=en] form .filebox span:empty { content: "choose file" }
html[lang=de] form .filebox span:empty { content: "Datei wählen" }

form .filebox input {
	width: 0;
	opacity: 0;
	margin: 0;
	padding: 0;
	position: absolute;
	left: -10000px;
}
form .filebox span {
	font-weight: normal;
}
form .filebox label:before {
	font-family: icomoon;
	content: "\e618";
	font-weihgt: normal;
}
form .imageinput label:before {
	content: "\e656";
}
/**
 * Hide the dotted focus lines in firefox
 */
form .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: 28px;
	line-height: 28px;
	border: 0;
	padding-right: 32px;
	background: transparent;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

form textarea {
	height: 96px;	
}
form input:focus, form textarea:focus {
	border-color: #ff0000;	
	color: #ff0000;
}
form {
	display: block;
}
form fieldset legend {
	display: none;	
}
form fieldset h2.legend {
	font-size: 110%;
	margin: 1em 0 0.1em;
}

label.togglefieldset {
	display: block;
	float: none;
	width: auto;
	clear: both;
	padding: 1em 0 0 0;
	position: relative;
	cursor: pointer;
}
label.togglefieldset h2:before {
	content: "\e620"; 
	font-family: icomoon;	
}
.fieldset.minimizeable input:checked + label.togglefieldset h2:before {
	content: "\e622"; 
}
.fieldset {
	padding-top: 1px;	
}
.fieldset.minimizeable input ~ .introhtml,
.fieldset.minimizeable input ~ .struct {
	display: none;
}
.fieldset.minimizeable input:checked ~ .introhtml,
.fieldset.minimizeable input:checked ~ .struct {
	display: block;	
}




form li {
	line-height: 40px;
	clear: left;
}

.siteform li{
	position: relative;
}
.siteform li .formhelp {
	overflow: hidden;
	height: 0;
	right: 0;
	top: 10px;
	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: #ff0000;
	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:  #ff0000;
	position: absolute;
	top: 0;
	right: 0;
}
.siteform li .formhelp.visible:before {
	content: "x";
}

form .radioinput {
	overflow: hidden;	
}
form .radiobox {
	display: block;
	float: left;
	position: relative;
	margin-left: 1%;
	cursor: pointer;
	width: 24.25%;
	white-space: normal;
	font-size: 90%;
}
form .radiobox input {
	display: none;
}
form .radiobox div {
	border: 1px solid rgba(0,0,0,0.15);
	border-radius: 2px;
	background: #FAFAFA;
}
form .radiobox:first-child {
	margin-left: 0;	
}

form .radiobox img {
	width: 100%;
	height: auto;
	opacity: 0.6;
}
form .radiobox span {
	display: block;
	padding: 0.5em;
	font-weight: normal;
	
	color: #CCC;
}
form .noimage div {
	padding-top: 81.818181818%;
}
form .radiobox input:checked + div {
	border-color: #ff0000;
	background: #FFF;
}
form .radiobox input:checked + div  span {
	color: inherit;
}
form .radiobox input:checked + div figure img {
	opacity: 1;
}

form li label {
	width: 20%;
	float: left;
}
form li.altset,
form .altset li {
	line-height: 1.4;
	padding-top: 0.5em;	
}
form .altset label,
form li .text label {
	float: none;
	width: auto;
	display: block;	
}

form .required label:after {
	content: "*";
	color: #ff0000;
	position: relative;
	top: -2px;
	right: -2px;
}
form.with-required:after {
	display: block;	
}
[lang=nl] form.with-required:after { 
	content: "* verplicht veld";
}
[lang=en] form.with-required:after { 
	content: "* required field";
}


form li label.inline {
	float: none;
	width: auto;
	display: block;
	padding-left: 24px;
	position: relative;
	line-height: 24px;
	cursor: pointer;
}
form li .errors li {
	margin-left: 20%;
	line-height: 1.4;
	color: red;	
}
form .altset .errors li {
	margin-left: 0;	
}
form li .errors li:before {
	content: "! ";	
}
form li p {
	line-height: 1.6;	
}
form li label.inline input {
	display: none;	
}
form li label.inline input:checked + span:before, 
form li label.inline:before {
	content: "\e721";
	display: block;
	position: absolute;
	font-family: icomoon;
	width: 20px;
	height: 20px;
	text-align: center;
	line-height: 20px;
	top: 2px;
	left: 0;
	font-size: 18px;	
}
form li label.inline input:checked + span:before {
	color: #FFF;
	content: "\ea10";
	font-size: 14px;
}
form li .selectbox {
	width: 60%;	
}
form li input:not([type="file"]), form .filebox {
	width: 80%;
}
form li input[type="checkbox"] {
	width: auto;	
}
form li input.small,
form li input[type=color],
form li input[type=number],
form li input.time,
form li input.date {
	width: 20%;	
}
form p.buttons {
	padding-top: 1em;
	text-align: right;
}



/**
 * Frames section for frame properties of location
 */
.videobox,
.framebox {
	position: relative;
	overflow: hidden;	
}
.videobox:before,
.framebox:before {
	content: " ";
	float: left;
	padding-top: 57.5%;	
}
.videobox iframe,
.framebox iframe {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;	
}



/* NO-UI-slider
 * These styles are required for noUiSlider to function. The noUiSlider
 * gives us input sliders... These are used in the sidebar for filtering
 * You don't need to change these rules to apply your design.
 */
.noUi-target,
.noUi-target * {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-ms-touch-action: none;
		touch-action: none;	
	-ms-user-select: none;
	-moz-user-select: none;
	-moz-box-sizing: border-box;
		box-sizing: border-box;
}
.noUi-target {
	position: relative;
	direction: ltr;
}
.noUi-base {
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1; /* Fix 401 */
}
.noUi-origin {
	position: absolute;
	right: 0;
	top: 0;
	left: 0;
	bottom: 0;
}
.noUi-handle {
	position: relative;
	z-index: 1;
}
.noUi-stacking .noUi-handle {
/* This class is applied to the lower origin when
   its values is > 50%. */
	z-index: 10;
}
.noUi-state-tap .noUi-origin {
	-webkit-transition: left 0.3s, top 0.3s;
	transition: left 0.3s, top 0.3s;
}
.noUi-state-drag * {
	cursor: inherit !important;
}

/* Painting and performance;
 * Browsers can paint handles in their own layer.
 */
.noUi-base {
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

/* Slider size and handle placement;
 */
.noUi-horizontal {
	height: 18px;
}
.noUi-horizontal .noUi-handle {
	width: 34px;
	height: 28px;
	left: -17px;
	top: -6px;
}
.noUi-vertical {
	width: 18px;
}
.noUi-vertical .noUi-handle {
	width: 28px;
	height: 34px;
	left: -6px;
	top: -17px;
}
/* Styling;
 */
.noUi-background {
	background: rgba(0,0,0,0.05);
	box-shadow: inset 0 1px 1px #f0f0f0;
}
.noUi-connect {
	background: #ff0000;
	box-shadow: inset 0 0 3px rgba(51,51,51,0.45);
	-webkit-transition: background 450ms;
	transition: background 450ms;
}
.noUi-origin {
	border-radius: 2px;
}
.noUi-target {
	border-radius: 4px;
	border: 1px solid rgba(0,0,0,0.1);
	box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB;
}
.noUi-target.noUi-connect {
	box-shadow: inset 0 0 3px rgba(51,51,51,0.45), 0 3px 6px -5px #BBB;
}
/* Handles and cursors;
 */
.noUi-draggable {
	cursor: w-resize;
}
.noUi-vertical .noUi-draggable {
	cursor: n-resize;
}
.noUi-handle {
	border: 1px solid #D9D9D9;
	border-radius: 3px;
	background: #FFF;
	cursor: default;
	box-shadow: inset 0 0 1px #FFF,
				inset 0 1px 7px #EBEBEB,
				0 3px 6px -3px #BBB;
}
.noUi-active {
	box-shadow: inset 0 0 1px #FFF,
				inset 0 1px 7px #DDD,
				0 3px 6px -3px #BBB;
}
/* Handle stripes;
 */
.noUi-handle:before,
.noUi-handle:after {
	content: "";
	display: block;
	position: absolute;
	height: 14px;
	width: 1px;
	background: #E8E7E6;
	left: 14px;
	top: 6px;
}
.noUi-handle:after {
	left: 17px;
}
.noUi-vertical .noUi-handle:before,
.noUi-vertical .noUi-handle:after {
	width: 14px;
	height: 1px;
	left: 6px;
	top: 14px;
}
.noUi-vertical .noUi-handle:after {
	top: 17px;
}

/* Disabled state;
 */
[disabled].noUi-connect,
[disabled] .noUi-connect {
	background: #B8B8B8;
}
[disabled].noUi-origin,
[disabled] .noUi-handle {
	cursor: not-allowed;
}
/** NOUI-slider */






.button {
	color: #FFF;
	background: #ff0000;
	display: inline-block;
	cursor: pointer;
	text-decoration: none;
	padding: 0 0.25em;
	font-size: inherit;
	line-height: 1.6;
	font-family: inherit;
	border: none;
	transition: background-color 0.25s;
}
.button:hover {
	text-decoration: none;
	background: #ff0000;
}
.button.important {
	background: #ff0000;
}
.button.important:hover {
	background: #ff0000;
}

.innersize {
	max-width: 1200px;
	margin: 0 auto;
}


/**
 * A lot of elements are devided in a main bar and side bar
 */
.columnised:after {
	content: " ";
	display: block;
	clear: both;
	height: 0;
}
.columnised .maintitle {
	margin-left: 3%;
	margin-right: 3%;	
}
.columnised .maintitle + .subtitle {
	margin-left: 3%;
	margin-right: 3%;
	position: relative;
	top: -0.75em;
}
.mainbar {
	width: 66%;
	margin: 0 0 0 3%;
	float: left;	
}
.sidebar {
	width: 25%;
	margin: 0 3% 0 0;
	float: right;
}

/**
 * Basic styling of common side bar elements
 */
.sidebar > nav, .sidebar > aside {
	background: rgba(0,0,0,0.05);
	padding: 1em;
	margin-bottom: 1em;
	font-size: 90%; 	
}
.sidebar > nav:first-child, .sidebar > aside:first-child {
	margin-top: 0;	
}


.sidebar .oostlink {
	position: relative;
	background: none;
	clear: both;
	margin: 0;
	padding-bottom: 0;
}
@media (max-width: 1080px) {
	.sidebar .oostlink {
		padding: 10px 0;	
	}	
}
/**
 * Sidenav  detail blocks are used to show extra information in
 * the sidebar of location, event and deal pages. One can expect
 * an infolist, a location box and a small pointer map
 */
.sidebar .details {
	background: rgba(0,0,0,0.05);
	margin-bottom: 1em;
	line-height: 1.2;
}
.sidebar .details h2 {
	color: #ff0000;
}	
.sidebar .details > .wrap,
.sidebar .details > section {
	padding: 0 1em 1em 1em;
	font-size: 90%;
	background: transparent;
}
.sidebar .details > .wrap:first-child,
.sidebar .details > section:first-child {
	padding: 1em;
}
.sidebar .details #pointermap {
	padding-top: 75%;
}
.sidebar .details .location img {
	float: right;
	margin-top: -2.5em;
	border-radius: 50%;
	width: 25%;
	height: auto;
}
.sidebar .details .location .infolist {
	clear: both;	
}
.sidebar .details .location h4 {
	margin-bottom: 1em;	
}
.sidebar .details .location-list li {
	overflow: hidden;
	margin-bottom: 0.5em;
}

.sidebar .details .location-list img {
	width: 25%;
	float: left;
	height: auto;
	border-radius: 50%;
}
.sidebar .details .location-list .body {
	margin-left: 25%;
	padding-left: 0.5em;
}




/**
 * Infolist is a standard way of providing icon "labels" to 
 * a list of properties. 
 */
dl.infolist dt {
	display: none;
}
dl.infolist dd {
	position: relative;
	line-height: 1.4;
	padding: 0 0 0.2em 1.6em;
}
dl.infolist dd a {	
	max-width: 300px;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	display: block;
}
dl.infolist dd a.button {
	display: inline-block;	
}
dl.infolist dd.phone a {
	display: inline;	
}
dl.infolist dd:before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	text-align: center;
	font-family: 'icomoon';
}
dl.infolist .location:before,
dl.infolist .address:before { content: "\e705"; }
dl.infolist .date:before { content: "\e649"; }
dl.infolist .length:before,
dl.infolist .duration:before,
dl.infolist .time:before { content: "\e60b"; }
dl.infolist .website:before { content: "\e9ca"; }
dl.infolist .email:before { content: "\e61c"; }
dl.infolist .phone:before { content: "\e607"; }
dl.infolist .route:before { content: "\e614"; }
dl.infolist .twitter:before { content: "\ea91"; }
dl.infolist .facebook:before { content: "\e610"; }
dl.infolist .linkedin:before { content: "\e62e"; }
dl.infolist .price:before { content: "\e93c"; }
dl.infolist .download:before { content: "\ea3e"; }
dl.infolist .code:before { content: "\e606"; }
dl.infolist .distance:before { content: "\f075"; }
dl.infolist .persons:before {content: "\e616"; }
dl.infolist .whatsapp:before {content: "\ea93"; }

/**
 * Icon only links for social media
 */	
a.icon span {
	display: none;	
}
a.icon {
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	display: inline-block;
	position: relative;
	border: 2px solid rgba(0,0,0,0.1);
	border-radius: 50%;
	color: inherit;
}
a.icon:before {
	font-family: icomoon;
	font-size: 20px;
}
a.tw:before {	content: "\ea91";}
a.fb:before {	content: "\f09a"; }
a.li:before {	content: "\e62e"; }
a.pin:before {	content: "\e613"; }
a.ig:before {	content: "\e611"; }
a.yt:before {	content: "\e61a"; }
a.wa:before {	content: "\ea93"; }
a.emailshare::before {	content: "\e61c"; }
a.icon:hover {
	text-decoration: none;
	color: #FFF;
	background: #ff0000;
}




/**
 * Horizontal date browser for the agenda / calendar. Currently the thing is fixed size in pixels. We might want
 * to size it in vw's.
 */
nav.calendarbar {
	border: 1px solid rgba(0,0,0,0.05);
	position: relative;
	height: 110px;
	font-size: 15px;
	overflow: hidden;
}
nav.calendarbar a.go {
	cursor: pointer;
	position: absolute;
	bottom: 0;
	width: 18px;
	padding: 0 8px;
	height: 62px;
	line-height: 62px;
	background: #FFF;
	left: 0;
	font-size: 80%;
}
nav.calendarbar a.go.next:hover,
nav.calendarbar a.go.prev:hover {
	text-decoration: none;
	
}
nav.calendarbar a.go.prev {
	background: linear-gradient(to right, rgba(255,255,255,1) 0, rgba(255,255,255,1) 60%, rgba(255,255,255,0) 100%) repeat scroll 0 0;	
}
nav.calendarbar a.go.prev:before {
	font-family: "icomoon";
	content: "\ea40";
}
nav.calendarbar a.go.next {
	left: auto;
	text-align: right;
	right: 0;
	background: linear-gradient(to left, rgba(255,255,255,1) 0, rgba(255,255,255,1) 60%, rgba(255,255,255,0) 100%) repeat scroll 0 0;	
}
nav.calendarbar a.go.next:before {
	font-family: "icomoon";
	content: "\ea3c";
}
html nav.calendarbar a.go.month {
	bottom: auto;
	top: 0;
	height: 48px;
	line-height: 48px;
	background: transparent;		
}
.calendarMonth {
	padding: 0 48px;
	line-height: 48px;
	background: rgba(0,0,0,0.05);
	text-align: center;
	
}
nav.calendarbar time {
	display: inline-block;
	text-align: center;
	position: relative;
	padding: 0 2px;
	border-left: 1px solid transparent;
	opacity: 0.8;
	background: rgba(0,0,0,0.03);

}
nav.calendarbar time.curmonth {
	background: transparent;
	opacity: 1;	
}
nav.calendarbar time a {
	display: block;
	margin: 12px 0;
	width: 40px;
	border: 1px solid transparent;
	border-radius: 50%;
	height: 40px;	
}
nav.calendarbar time a:hover {
	border-color: rgba(0,0,0,0.15);
	background: #FFF;
	text-decoration: none;
}
nav.calendarbar .current a {
	background: #f6f6f6;
	border-color: rgba(0,0,0,0.15);
}
nav.calendarbar time span {
	display: block;
	line-height: 14px;
}
nav.calendarbar time span.month {
	display: none;	
}
nav.calendarbar .newmonth {
	border-left: 1px solid rgba(0,0,0,0.15);	
}
nav.calendarbar .newmonth span.month {
	display: block;
	color: #333;
	line-height: 12px;
	font-size: 10px;
	position: absolute;
	top: 0;
	left: 2px;
}
nav.calendarbar .newmonth span.month:before {
	
}
nav.calendarbar time span.no {
	padding-top: 8px;
	
}
nav.calendarbar time span.day {
	font-size: 80%;	
	color: #333;
}
nav.calendarbar .line {
	position: relative;
	overflow: hidden;
	padding-bottom: 24px;
}
nav.calendarbar .line.overflow {
	overflow-x: visible;
	overflow-y: scroll;	
}
nav.calendarbar .box {
	height: 64px;
	white-space: nowrap;
}
/**
 * The calendar is built up in sections for each day
 */
section.agenda.day {
	margin: 2em 0;
}
section.agenda.day  .daytitle {
	background: rgba(0,0,0,0.05);
	margin: 0 0 1em;
	padding: 0.25em 0.5em;
}






/**
 * The default graphic header component
 */
.defaultgraphicheader {
	position: relative;	
}
.defaultgraphicheader img {
	width: 100%;
	height: auto;
}
.defaultgraphicheader h1 {
	position: absolute;
	top: 10%;
	left: 3%;
	width: 40%;
}
.defaultgraphicheader h1 span {
	background: #FFF;
	color: #333;
	padding: 3px 0;
	box-shadow: 5px 0 0 #FFF, -5px 0 0 #FFF;
	box-decoration-break: clone;
}
/**
 *  The default breadcrumbs component
 */
.defaultbreadcrumbs {
	margin-bottom: 1em;	
	
}
.defaultbreadcrumbs ol {
	background: #F6F6F6;
	overflow: hidden;
	font-size: 90%;
	line-height: 2;
	padding: 0.2em 0;
}
.defaultbreadcrumbs li {
	display: block;
	float: left;
	position: relative;
	padding-left: 2em;	
}
.defaultbreadcrumbs li:before {
	content: "\ea3c";
	font-size: 75%;
	line-height: 2.66667;
	font-family: icomoon;
	position: absolute;
	left: 1em;
	top: 0;
}
.defaultbreadcrumbs li:first-child:before {
	display: none;	
}
.defaultbreadcrumbs a {
	color: inherit;
	text-decoration: none;	
}
.defaultbreadcrumbs a:hover {
	text-decoration: underline;	
}
.pagegallery {
	overflow: hidden;
	position: relative;
}
.pagegallery a {
	display: block;
	padding: 1px;
}
.pagegallery img {
	width: 100%;
	height: auto;	
}



/**
 * The default page gallery view, with specific layouts for galleries of 1 tot 10 images.
 * Galleries with more than 10 images will simple show the images in rows of 4.
 */
.pagegallery li {
	width: 25%;
	float: left;	
}
/* 1 image */
.pagegallery.n1 li {
	width: auto;
	float: none;
}
/* 2 or 4 images, we display them at double (50%) size */
.pagegallery.n2 li, .pagegallery.n4 li {
	width: 50%;	
}
/* 3 images, we start with a big one, accompanied by a column containg the other 3*/
.pagegallery.n3 li {
	width: 33.3333333333333%;	
}
.pagegallery.n3 .li1 {
	width: 66.66666666666667%;	
}
/** 5 images: 1 big one with a block of 4 next to it */
.pagegallery.n5 .li1 {
	width: 50%;	
}
/* 6 images: 2 big ones next to each other (but shifted a bit, to make room for 2 smaller image above and below */
.pagegallery.n6 .li1 {
	width: 50%;	
}
.pagegallery.n6 .li4 {
	width: 50%;
	float: right;	
}
/*7 images: one big one to start, then two rows of three next to it */
.pagegallery.n7 li {
	width: 20%;	
}
.pagegallery.n7 li:first-child {
	width: 40%;	
}
/*9 images: one big one to start, the two rows of three next to it. */
.pagegallery.n9 li {
	width: 20%;	
}
.pagegallery.n9 .li1 {
	width: 40%;	
}
.pagegallery.n9 .li6 {
	width: 40%;
	float: right;
}
/** 10 images. two "fives", with the first mirrored horizontally */
.pagegallery.n10 .li6 {
	width: 50%;	
}
.pagegallery.n10 .li3 {
	width: 50%;
	float: right;	
}


.galleryoverlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 250;
	background: rgba(0,0,0,0.6);
}
.galleryoverlay > a {
	font-size: 6em;
	line-height: 2em;
	position: absolute;
	top: 50%;
	margin-top: -1em;
	color: #FFF;
	cursor: pointer;
	z-index: 1000;
}
.galleryoverlay > a:hover {
	color: #ff0000;
	text-decoration: none;
}
.galleryoverlay > a:before {
	font-family: 'icomoon' !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.galleryoverlay > a.gonext {
	right: 0.2em;
	padding-left: 0.5em;
}
.galleryoverlay > a.gonext:before {
	content: "\e801";
}
.galleryoverlay > a.goprev {
	left: 0.2em;
	padding-right: 0.5em;	
}
.galleryoverlay > a.goprev:before {
	content: "\e802";
}
.galleryoverlay .canvas {
	position: absolute;
	top: 1em;
	left: 6em;
	right: 6em;
	bottom: 1em;
}
.galleryoverlay .canvas figure {
	margin: 0 auto;
	position: absolute;
	box-shadow: 0px 0px 150px 0px rgba(0, 0, 0, 0.75);
}
.galleryoverlay .canvas figure img {
	width: 100%;	
    height: auto;
}





/**
 * The default list item component
 */
.listitem {
	margin-bottom: 1em;
	padding-bottom: 1em;
	overflow: hidden;
	position: relative;
	font-size: 90%;
	border-bottom: 1px solid rgba(0,0,0,0.05);
}
li:last-child .listitem {
	border-bottom: 0;	
}
.listitem header,
.listitem .body {
	width: 72%;
	float: right;	
}
.listitem .image {
	width: 25%;
	background: #F6F6F6;
	float: left;
	overflow: hidden;
}
.listitem .image:after {
	content: " ";
	float: left;
	display: block;
	width: 0;
	padding-top: 100%;
}
.listitem .image img {
	width: 100%;
	float: left;
	height: auto;
	vertical-align: bottom;
}
.listitem .extra {
	font-size: 90%;
	position: relative;
	top: -0.5em;
	font-style: italic;	
}

.listitem footer {
	position: absolute;
	height: 0;
	bottom: 1em;
	overflow: hidden;
	right: 0;
	left: 28%;
	text-align: right;
	transition: height 0.3s;
}	
.listitem:hover footer {
	height: 1.6em;
}

.star em {
	display: none;
}
.star:before {
	font-family: icomoon;
	color: #ff0000;
	content: "\e617";
	font-size: 90%;
	vertical-align: top;	
}






.prev-title-link:before {
	font-family: icomoon;
	content: "\e804";
}
.next-title-link:before {
	font-family: icomoon;
	content: "\e803";
}

/**
 * Pagination buttons
 */
.pagination {
	text-align: center;
	padding: 0.5vw;
	line-height: 2.5vw;
	font-size: 80%;
	background: rgba(0,0,0,0.05);
	border: rgba(0,0,0,0.15);
	margin-bottom: 1em;
	position: relative;
	
}
.pagination span {
	display: inline-block;
}
.pagination a {
	display: block;
	width: 2.5vw;
	max-width: 30px;
	height: 2.5vw;
	max-height: 30px;
	text-align: center;
	background: #FFF;
	text-decoration: none;
	border: 1px solid rgba(0,0,0,0.15);
	border-radius: 50%;	
}
.pagination .current a,
.pagination a:hover {
	background: #ff0000;
	color: #FFF;	
}
.pagination .prev i, .pagination .next i {
	display: none;
}
.pagination .prev,
.pagination .next {
	
	position: absolute;
	top: 0.5vw;
	right: 0.5vw;
}
.pagination .prev {
	right: auto;
	left: 0.5vw;
}
.pagination .prev a:before {
	font-family: icomoon;
	content: "\ea40";
}
.pagination .next a:before {
	font-family: icomoon;
	content: "\ea3c";
}



/**
 * The default slideshow component
 */
 .slideshowheader .slideholder {
 	position: relative;
 	padding-top: 39.1666666666667%;
 	margin-bottom: 2em;
 }
 .slideshowheader .slide {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background: #FFF;
}
.slideshowheader .slide img {
	width: 100%;
	height: auto;	
}
.slideshowheader .slide .text {
	position: absolute;
	line-height: 1.2;
	max-width: 50%;
	font-size: 90%;
	bottom: 2em;
	left: 2em;
	background: #FFF;
	box-shadow: 0 0 1em 1em rgba(0,0,0,0.4);
	padding: 1em;
}
.slideshowheader .slide-title {
	margin: 0;
	padding: 0 0 0.25em 0;	
}
.slideshowheader .slide .text footer {
	padding-top: 0.25em;
	text-align: right;	
}


.homepage > .innersize {
	padding: 1em 3%;	
}

.exttpl .innersize .col {
	margin: 0 auto;
	max-width: 600px;
	padding: 40px 20px;
}
#external-admin-find-form .selectbox {
	width: 80%;	
}
#external-admin-login-form {
	margin-bottom: 2em;	
}
#external-admin-login-form label {
	float: none; 
	line-height: 1.3;
	padding: 1em 0 0 0;
	display: block;	
}
#external-admin-login-form input {
	width: 100%;	
}
/**
 * Header section for the location group listing
 */
.locationgroup-header {
	overflow: hidden;
	border-bottom: 1px solid #f6f6f6;
	margin-bottom: 2em;
}
.locationgroup-header .maptogglenav {
	float: right;
	margin-bottom: 0.5em;
	font-size: 90%;
}
.locationgroup-header .sortnav {
	margin-bottom: 0.5em;
	font-size: 90%;
}
.locationgroup-header .sortnav li {
	display: inline;
	text-transform: lowercase;
	opacity: 0.6;
}
.locationgroup-header .sortnav li:before {
	content: ' | ';	
}
.locationgroup-header .sortnav li:first-child:before {
	content: '';
}
.locationgroup-header .sortnav li:hover {
	opacity: 1;	
}
.locationgroup-header .sortnav li a {
	color: inherit;	
}
.locationgroup-header .sortnav li a:hover {
	text-decoration: none;	
}
.locationgroup-header .sortlink.asc:after {
	content: "\ea3a";
	padding-left: 3px;
	font-size: 70%;
	font-family: icomoon;
}
.locationgroup-header .sortlink.desc:after {
	content: "\ea3e";
	padding-left: 3px;
	font-size: 70%;
	font-family: icomoon;
}
.locationgroup-header .pagination {
	clear: both;
	margin-bottom: -1px;	
}




/**
 * Google maps container. We use a relative outer box with an absolutely positioned 
 * map so we can create maps that scale fluently. 
 */
.gmapholder {
	overflow: hidden;
	position: relative;
}
.gmapholder .gmap {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}

.poimapbox {
	overflow: hidden;
}
.poimapbox .image {
	float: left;
	width: 220px;	
}
.poimapbox .image img {
	width: 100%;
	height: auto;	
}
.poimapbox .body {
	margin-left: 230px;	
}

@media (max-width: 800px) {
	
	.poimapbox .image {
		width: 110px;
	}
	.poimapbox .body {
		margin-left: 130px;	
	}
}




/**
 * Map view of a location group
 */
.location-map {
	overflow: hidden;
	position: fixed;
	width: 100%;
	height: 100%;
}
.location-map-header {
	position: absolute;
	top: 1em;
	left: 1em;
	background: #FFF;
	z-index: 1000;
	padding: 1em;
}
.location-map-header .maintitle {
	padding: 0;
	margin: 0;	
}
.location-map .sidebar {
	position: relative;
	top: 1em;
	right: 1em;
	max-width: 300px;
	padding: 1em;
	margin: 0;
	background: #FFF;
	z-index: 1000;
	border: 1px solid rgba(0,0,0,0.1);
	max-height: 80%;
	max-height: calc(100% - 4em);
	overflow-y: auto;
}
.location-map .gmapholder {
	position: absolute;
	width: 100%;
	height: 100%;
}

.locationbox {
	position: relative;	
}
.locationbox .img {
	display: block;
	overflow: hidden;
	float: left;
	width: 100px;
	height: 100px;
	background: #FAFAFA;
	border: 3px solid #FFF;
	border-radius: 50%;
}
.locationbox .img:hover {
	border-color: #ff0000;
}
.locationbox .body {
	min-height: 76px;
	margin-left: 110px;
	padding-bottom: 24px;	
}
.locationbox footer {
	position: absolute;
	bottom: 0;
	right: 0;
}



/**
 * The route detail page
 */
#mapcontainer {
	position: relative;
	padding-top: 100%;
	overflow: hidden;	
}
#mapcontainer .gmapholder {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}




.graphicmenu {
	margin: 1em 3%;	
}
.graphicmenu li {	
	display: inline-block;
}
.graphicmenu li img {
	height: 100%;
	width: auto;
}
.graphicmenu li a {
	display: block;	
	height: 75px;
	border: 2px solid #FFF;
}
.graphicmenu li a:hover,
.graphicmenu .active a {
	border-color: #ff0000;	
} 

#routelist {
	overflow: hidden;	
}
.route .innersize {
	position: relative;
	overflow: hidden;
}
.route .downloads {
	position: absolute;
	top: 0;
	right: 3%;	
}
.route #map {
	width: 50%;
	position: absolute;
	left: 50%;
	margin: 0;
}
.route #map.fixed {
	position: fixed;
	left: 50%;
	top: 0;
	height: 100%;
	float: none;
	margin-left: 0;
}
.route #map.fixed #routemap,
.route #map.fixed #mapcontainer {
	height: 100%;
	padding: 0;	
} 
.route #map.botfixed {
	bottom: 0;
}
.route .infocolumn {
	width: 44%;
	margin-left: 3%;	
}

.route .maintitle {
	margin: 0.5em 3%;
}	
.route .propertylist {
	margin: 1em 0;
	line-height: 1.2;
	overflow: hidden;
	background: #eee;
	color: #ff0000;
}
.route .propertylist ul {
	margin: 20px 30px;
	line-height: 18px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.route .propertylist ul li {
	padding: 10px 0;
	width: 33%;
}

.route .propertylist ul li h4{
	font-weight: bold;
}

.route .propertylist ul li span{
	font-size: 18px;
}

.route.downloads {
	margin: 1em 0;
}
.route.downloads li:before {
	font-family: icomoon;
	content: "\e801";	
}

.route footer {
	padding: 1em 3%;	
}


#poilist article {
	position: relative;
	padding: 0.5em 0 1.5em 1.5em;
	margin-left: 1em;
	border-left: 2px solid #CCC;
}
#poilist article .icon {
	width: 1em;
	height: 1em;
	line-height: 1em;
	position: absolute;
	top: 0;
	left: -1em;
	margin-left: -2px;
	padding: 0.5em;
	border: 2px solid #CCC;
	background: #FFF;
	border-radius: 50%;
}
#poilist article.CYCLING_JUNCTION .icon img {
	width: 1.5em;	
}
#poilist article .icon img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1em;
	height: auto;
	transform: translate(-50%,-50%);	
}
#poilist img {
	width: 100%;
	height: auto;	
}
#poilist .body h2 {
	color: #ff0000;
	font-weight: bold;
	font-size: 110%;
	margin: 1em 0;
}
#poilist footer {
	margin: 0;
	padding: 0;
	position: relative;
}
#poilist:after {
	content: " ";
	width: 2em;
	display: block;
	border-bottom: 4px solid #CCC;	
}



/**
 * Filter sections, filtering is used on the dailyagenda and on standard location pages
 */
#filterbar {
	font-size: 90%;
}
#filterbar fieldset {
	border: 1px solid rgba(0,0,0,0.015);
	margin-bottom: 0;
}
#filterbar p.buttons {
	margin-top: 1em;	
}	

#filterbar form {
	width: auto;	
}

#filterbar label {
	display: block;
	width: auto;
	float: none;
	cursor: pointer;
	padding: 0 10px;
}
#filterbar h4 label {
	line-height: 47px;
	background: rgba(0,0,0,0.05);
}
#filterbar h4 label:after {
	font-family: icomoon;
	content: "\e803";
	float: right;
}
#filterbar h4:hover label:after {
	color: #ff0000;;
}
#filterbar input:checked + h4 label:after {
	content: "\e804";
}
#filterbar form li {
	padding: 0;	
}
#filterbar .accordion li label {
	padding-left: 34px;
	height: 0;
	line-height: 30px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	position: relative;	
	-webkit-transition: height 0.2s;
	transition: height 0.2s;
}
#filterbar .accordion li label a {
	display: none;	
}
#filterbar .piravailability li {
	height: 0;
	-webkit-transition: height 0.2s;
	transition: height 0.2s;
	overflow: hidden;
}
#filterbar .piravailability li label {
	width: 80px;
	float: left;
	display: block;
	font-weight: bold;	
}
#filterbar .piravailability li input[type=date] {
	width: 170px;	
}
#filterbar .piravailability input:checked ~ ul li {
	height: 40px;
}
#filterbar .piravailability input:checked ~ ul {
	padding-bottom: 5px;	
}
#filterbar .accordion li input:checked + label,
#filterbar .accordion input:checked ~ ul li label {
	height: 30px;
}

#filterbar .accordion li input:checked + label:after,
#filterbar .accordion li label:before {
	content: "\e721";
	display: block;
	position: absolute;
	font-family: icomoon;
	width: 20px;
	height: 20px;
	text-align: center;
	line-height: 20px;
	top: 5px;
	left: 10px;
	font-size: 18px;
}
#filterbar .accordion li input:checked + label:after {
	color: #FFF;
	content: "\ea10";
	font-size: 14px;
}

#filterbar .range > div.fields {
	display: none;
	padding: 5px 10px 5px 10px;
	text-align: center;
	overflow: hidden;
	min-height 32px;
	line-height: 32px;
}
#filterbar .range input:checked ~ div.fields {
	display: block;	
}
#filterbar .range .sliderholder {
	margin: 10px 16px
}
#filterbar .range div.fields input {
	width: 40%;
	float: right;
}
#filterbar .range div.fields input:first-child {
	float: left;	
}



/**
 * Newsitem page
 */
.authorbox .img {
	float: left;
	margin: 0 10px 10px 0;
}
.authorbox .img + .text {
	margin-left: 85px;
}
.authorbox,
.authorbox h3 {
	line-height: 1.2;
}	
	
.blogitem .pubdate,
.newsitem .pubdate {
	font-style: italic;
	font-size: 80%;
	position: relative;
	left: 3%;
	top: -2em;	
}
.newsitem footer {
	margin-top: 2em;
	padding: 0.5em;
	background: rgba(0,0,0,0.1);
	font-size: 90%;	
}
.newsitem footer a {
	display: block;
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.newsitem footer a:before {
	color: #ff0000;
}
.newsitem footer a:hover span {
	color: #ff0000;
}


/**
 * Search result list
 */
.searchresults .maintitle {
	margin-left: 3%;
	margin-right: 3%;
}	
.search-form-bar {
	position: relative;
	top: -2em;
	padding: 0.5em;
	margin: 0 3%;
	background: rgba(0,0,0,0.05);
}


/**
 * The location page
 */
footer.source {
	opacity: 0.7;
	padding: 0 3%;
	font-size: 80%;
	clear: both;	
}
footer.source:hover {
	opacity: 1;	
}


/**
 * Newsletter subscribe and unsubscribe pages
 */
.newsletterpage .unsubscribe,
.newsletterpage .subscribe {
	margin: 1em 0;
	width: 50%;	
}
.newsletterpage .unsubscribe input,
.newsletterpage .subscribe input {
	width: 60%;
}


/**
 * Event widget creation page
 */
 
#createwidget .innersize {
	overflow: hidden;
}
#createwidget form {
	width: 49%;
	float: left;	
}
#createwidget #widgetsection {
	width: 49%;
	float: right;	
}
#createwidget form label {
	float: none;
	width: 100%;
	display: block;
	line-height: 1.1;
	padding-top: 8px;
}

#createwidget #embedsection {
	clear: both;	
}
#embedsection pre {
	border: 1px solid rgba(0,0,0,0.15);
	background: #FFF;
	overflow: auto;
	width: 100%;
	height: auto;
}


/**
 * Rating form
 */
#ratingform input {
	display: none;
}
#ratingform {
	border: 1px solid rgba(0,0,0,0.15);
	padding: 1em;
	margin: 1em 0;
}
#ratingform li {
	display: inline-block;
	font-size: 125%;
}
#ratingform li label {
	color: #CCC;
	cursor: pointer;
}
#ratingform label {
	display: block;
	width: 1.1em;
	height: 1.1em;
	opacity: 0.6;
	filter: grayscale(100%);
}

#ratingform label:after{
	display: block;
	content: "";
	width: 1.1em;
	height: 1.1em;
	background-size: cover;
}

#ratingform .v10:after {
	background-image: url("img/ico_sad.svg");
}
#ratingform .v20:after {
	background-image: url("img/ico_confused.svg");
}
#ratingform .v30:after {
	background-image: url("img/ico_happy.svg");
}
#ratingform .v40:after {
	background-image: url("img/ico_very_happy.svg");
}
#ratingform .v50:after {
	background-image: url("img/ico_in-love.svg");
}
#ratingform .active label {
	filter: grayscale(0);
	opacity: 1;
}




/**
 * Event submission
 */
.tabbedwizard {
	padding: 0;

}
.tabbedwizard .header {
	background: #FAFAFA;
	line-height: 30px;
	border: 1px solid rgba(0,0,0,0.15);
	border-radius: 3px;
	position: relative;
	padding-right: 110px;
	margin: 0 0 10px 0;
}
.tabbedwizard .progress {
	overflow: hidden;
}
.tabbedwizard .progress li {
	float: left;
	padding: 0 10px; 	
}
.tabbedwizard .progress li.cur {
	font-weight: bold;	
}
.tabbedwizard .progress li.todo {
	color: #AAA;	
}
.tabbedwizard .progressbox {
	border: 1px solid 1px solid rgba(0,0,0,0,15);
	background: #FFF;
	position: absolute;
	right: 10px;
	top: 5px;
	height: 18px;
	width: 88px;
}
.tabbedwizard .progressbox span {
	display: block;
	height: 18px;
	background: #ff0000;
}
#submission_form li {
	position: relative;	
}

#submission_form input {
	max-width: 65%;	
}

#submission_form fieldset {
	background: #FAFAFA;
	padding: 10px;
	margin-bottom: 1em;	
}

#submission_form textarea {
	max-width: 85%;
	vertical-align: top;
}
#submission_form .selectbox {
	max-width: 45%;
}
#submission_form .infobutton {
	color: #FFF;
	font-weight: bold;
	background: #ff0000;
	border-radius: 50%;
	padding: 5px;
	display: inline-block;
	width: 10px;
	height: 10px;
	line-height: 10px;
	text-align: center;
	cursor: pointer;
	position: relative;
	z-index: 50;
}


#submission_form .infowindow {
	background: #FAFAFA;
	color: #ff0000;
	border: 1px solid rgba(0,0,0,0.15);
	display: block;
	line-height: 1.5;
	width: 300px;
	position: absolute;
	top: 5px;
	right: 5px;
	padding: 20px;
	text-align: left;
	font-weight: normal;	
	z-index: 55;
}
#submission_form .infobutton.visible,
#submission_form .infobutton.visible .infowindow {
	z-index: 500;
}


#submission_form .actlist h2 {
	margin: 1em 0 0 0;	
}
#submission_form div.price,
#submission_form div.act {
 	background: #FFF;
 	padding: 10px;
 	border: 1px solid rgba(0,0,0,0.15);
 	position: relative;
 	margin-bottom: 1em;
 	line-height: inherit;
}
#submission_form div.act p {
	margin: 0;
}	
#submission_form div.price {
	line-height: 32px;
}

div.act form {
	width: auto;
	float: right; 	
}

div.ready {
	text-align: right;	
}
  
#imglist {
	overflow: hidden;
}
#imglist form {
	width: auto;
	padding: 4px;
}
#imglist div {
	float: left;
	background: #FFF;
	padding: 3px;
	border: 1px solid rgba(0,0,0,0.15);
	border-radius: 3px;
	position: relative;
	margin-right: 5px;
	text-align: center;
}
 
.evexample {
	background: #FFF;
	padding: 5px;
	border: 1px solid rgba(0,0,0,0.15);
}
 
.evexample .longdesc {
	border-top: 1px solid rgba(0,0,0,0.15);
	padding-top: 10px;
	margin-top: 10px;	
}




@media (min-width: 1200px) {
	body {
		font-size: 16px;
	}
	.pagination {
		padding: 6px;
		line-height: 30px;
	}
	.pagination .prev {
		top: 6px;
		left: 6px;
	}
	.pagination .next {
		top: 6px;
		right: 6px;
	}
}
@media all and (max-width: 1023px) {
	body {
		font-size: 14px;	
	}
}
@media (max-width: 900px) {
	
	.mainbar, .sidebar {
		float: none;
		width: auto;
		margin: 3%;
	}
	
	/**
	 * Pagination buttons
	 */
	.pagination {
		line-height: 22px;
	}
	.pagination a {
		display: block;
		width: 22px;
		height: 22px;
	}
	
	
	.route #map {
		width: 100%;
		position: static;
		left: 0;
		margin: 0;
	}
	.route .infocolumn {
		float: none;
		width: auto;
		margin: 0 3%;	
	}
	.route .maintitle {
		padding-top: 24px;	
	}
	.route.downloads {
		left: 3%;	
	}
	.route.downloads li {
		display: inline-block;
	}
	.route .propertylist ul li {
		display: block;
		border: none;
		padding: 0.2em 0.5em;
	}
	.route .propertylist h4 {
		line-height: inherit;
		display: inline-block;
		width: 150px;	
	}
}

@media (max-width: 700px) {
	
	
	form .radiobox {
		float: none;
		position: relative;
		width: auto;
		margin: 0 0 0.5em 0;
	}
	form .radiobox figure {
		width: 100px;
		float: left;
		margin-right: 0.5em;
		display: block;
	}
	form .radiobox div {
		border: 1px solid rgba(0,0,0,0.15);
		border-radius: 2px;
		overflow: hidden;
		position: relative;
	}
	form .radiobox input:checked div {
		background: #FFF;	
	}
	form .radiobox.noimage div {
		padding: 0 0 0 100px;	
	}
	form .radiobox.image span {
		position: absolute;
		top: 50%;
		left: 100px;
		right: 0;
		transform: translate(0,-50%);	
	}
}

/**
 * content rating form
 */

#ratingform {
	border: none;
	padding: 0 0 30px 0;
}
#ratingform h3 {
	color: #6c0043;
	margin: 0;
	padding: 0;
}
#ratingform label {
	font-size: 150%;
}

#ratingform .feedbackmailform {
	overflow: hidden;
	margin-top: 30px;
	display: none;
}

#ratingform .feedbackmailform input{
	display: block;
}

#ratingform .feedbackmailform .emailfield{
	width: calc(100% - 70px);
	float: left;
}

#ratingform .feedbackmailform .submit {
	width: 50px;
	padding-left: 0;
	padding-right: 0;
	float: right;
	position: relative;
}
#ratingform .feedbackmailform .submit span {
	display: none;
}
#ratingform .feedbackmailform .submit:after {
	background: url('img/icon_sendplane.svg') center center no-repeat;
	background-size: 30px auto;
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
#ratingform .feedbackmailform textarea{
	height: 200px;
	margin-bottom: 20px;
}

.ratelocation .feedbackmailform{
	display: none;
}
.ratelocation .feedbackmailform textarea{
	margin-bottom: 10px;
	width: 100%;
	height: 200px;
	box-sizing: border-box;
	border: 1px solid rgba(0,0,0,0.15);
}

.ratelocation .feedbackmailform .submitrow{
	display: flex;
	width: 100%;
}

.ratelocation .feedbackmailform input{
	width: 100%;
	border: 1px solid rgba(0,0,0,0.15);
}
.ratelocation .feedbackmailform .submit{
	flex: 0 0 50px;
	padding-left: 0;
	padding-right: 0;
	float: right;
	position: relative;
	margin-left: 10px;
	margin-right: 0;
}

.ratelocation .feedbackmailform .submit:after {
	background: url('img/icon_sendplane.svg') center center no-repeat;
	background-size: 30px auto;
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}


.locationgroup .feedbackmailform{
	display: none;
}
.locationgroup .feedbackmailform textarea{
	margin-bottom: 10px;
	width: 100%;
	height: 200px;
	box-sizing: border-box;
	border: 1px solid rgba(0,0,0,0.15);
}

.locationgroup .feedbackmailform .submitrow{
	display: flex;
	width: 100%;
}

.locationgroup .feedbackmailform input{
	width: 100%;
	border: 1px solid rgba(0,0,0,0.15);
}
.locationgroup .feedbackmailform .submit {
	flex: 0 0 50px;
	padding-left: 0;
	padding-right: 0;
	float: right;
	position: relative;
	margin-left: 10px;
	margin-right: 0;
}
.locationgroup .feedbackmailform .submit span {
	display: none;
}
.locationgroup .feedbackmailform .submit:after {
	background: url('img/icon_sendplane.svg') center center no-repeat;
	background-size: 30px auto;
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}


/* end */
#wrapper .routembed.full dd,
#wrapper .routembed.full dl dt.active {
	background: #ff0000;	
	color: #FFF;
}
#wrapper .routembed.full dd .more {
	border-color: rgba(255,255,255,0.15);
}
#wrapper .routembed.full dd .more a,
#wrapper .routembed.full dd h3,
#wrapper .routembed.full dl dt.active h3 {
	color: #FFF;	
}
#wrapper .routembed.full dd .more a:hover {
	color: #ff0000;	
}
#wrapper .routembed.full dd h4,
#wrapper .routembed.full dl dt.active h4 {
	color: #FFF;
	opacity: 0.7;
}

.hook_explanation {
	background: #FFF;
	margin: 0 auto;
	padding: 2em 2em 1em 2em;
	max-width: 1000px;
	font-family: monospace;
}
.hook_explanation div {
	margin: 1em 0;	
}

/** webshop **/

article#webshop{
	overflow: hidden;
}

article#webshop .mainbar,
article#webshop .sidebar{
	margin: 0;
}

article#webshop .mainbar h3.cat_title{
	color: #ff0000;
	font-size: 16px;
}
article#webshop .mainbar h1.webshop_list_title{
	float: left;
}
article#webshop .mainbar h2.cat_subtitle{
	color: #ff0000;
	font-size: 24px;
	font-family: ;
	float: right;
	margin-top: 25px;
}

article#webshop .mainbar .productlist{
	width: 100%;
	clear: both;
}

article#webshop .mainbar .productlist ul li{
	margin-bottom: 15px;
}

article#webshop .mainbar .productlist ul li article{
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	border: 1px solid #eee;
	border-radius: 3px;
	padding: 20px;
}

article#webshop .mainbar .productlist ul li article .imageholder {
	border: 1px solid #eee;
	padding: 30px;
	border-radius: 3px;
	margin-right: 30px;

}

article#webshop .mainbar .productlist ul li article .imageholder img{
	width: 100%;
}


article#webshop .mainbar .productlist ul li article > div{
	flex: 1 0;
}

article#webshop .mainbar .productlist ul li article .text h2{
	color: #ff0000;
}
article#webshop .mainbar .productlist ul li article .text{
	flex: 5 0;
}

article#webshop .mainbar .productlist ul li article .price{
	text-align: right;
	color: #ff0000;
}

article#webshop .mainbar .productlist ul li article .price .more:after{
	font-family: icomoon;
	color: #FFF;
	content: "\e622";
}
article#webshop .mainbar .productlist ul li article .price .more{
	position: absolute;
	bottom: 20px;
	right: 20px;
}


article#webshop .mainbar .catoverview  {
	margin: 20px 0 20px -40px;
	overflow: hidden;

}
article#webshop .mainbar .catoverview li {
	width: 360px;
	float: left;
	margin: 0 0 20px 40px;
}

article#webshop .mainbar .catoverview li .gsm_item {
	display: block;
	height: 70px;
	position: relative;
	overflow: hidden;
	background: #FFF;
	border: 1px solid #eee;
	color: var(--link-color);
}

article#webshop .mainbar .catoverview li .gsm_item:hover{
	color: black;
	font-weight: bold;
}

article#webshop .mainbar .catoverview li .gsm_item .img {
	width: 70px;
	float: left;
}

article#webshop .mainbar .catoverview li .gsm_item .body, article#webshop .mainbar .catoverview li .gsm_item .title {
	position: absolute;
	text-decoration: none;
	font-size: 18px;
	line-height: 18px;
	left: 90px;
	right: 32px;
	top: 50%;
	transform: translate(0,-50%);
	max-height: 54px;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
article .sidebar .submenu .subtitle{
	color: #ff0000;

}
article .sidebar .submenu{
	background: none;
	border: 1px solid #eee;
	border-radius: 3px;
}
article .sidebar .submenu ul li{
	 border-bottom: 1px solid #eee;
	padding: 5px 0;
 }

article .sidebar .submenu ul li:last-child{
	border-bottom: none;
}

article .sidebar .submenu ul li:before{
	font-family: icomoon;
	content: "\e622";
	color: #ff0000;
	vertical-align: middle;
}
article .sidebar .cartbox .prod{
	font-size: 16px;
}

article .sidebar .cartbox h3{
	color: #fff;
}
article .sidebar .cartbox .cartbtn{
	margin-top: 20px;
	text-align: center;
	display: block;
}
article .sidebar .cartbox .totalprice{
	float: right;
	text-align: right;
	font-size: 16px;
}
article .sidebar .cartbox{
	background: #ff0000;
	color: white;
	border-radius: 3px;
	padding: 20px;
	margin-bottom: 15px;
}

article .sidebar .cartbox ul li{
	font-size: 16px;
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	border-bottom: 1px solid rgba(255,255,255, .1);
	padding:10px 5px;
}
article .sidebar .cartbox ul li div{

}
article .sidebar .cartbox ul li .productname{
	flex: 5 0;
}
article .sidebar .cartbox ul li .price{
	flex: 2 0;
	text-align: right;
}
article .sidebar .cartbox ul li .amount{
	flex: 1 0;
	font-weight: bold;
}

article#webshop-product .mainbar{
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	margin: 0;
}
article#webshop-product .mainbar h3.product_cat{
	font-size: 16px;
}
article#webshop-product .mainbar h3{
	color: #ff0000;
}
article#webshop-product .mainbar h1{
	margin-bottom: 10px;
	padding: 0;
}


article#webshop-product{
	overflow: hidden;
}
article#webshop-product .sidebar{
	margin: 0;

}

article#webshop-product .mainbar .productinfo #extrashare{
	margin: 40px 0;

}
article#webshop-product .mainbar .imgbar h3.product_subtitle{
	text-align: center;
	margin-top: 20px;
}
article#webshop-product .mainbar .imgbar{
	margin-right: 30px;
	flex: 3 0;
}
article#webshop-product .mainbar .productinfo{
	flex: 5 0;
}

article#webshop-product .mainbar .productinfo hr{
	border:1px solid #eee;
}

article#webshop-product .mainbar .img{
	border: 1px solid #eee;
	padding: 30px;
	border-radius: 3px;
}

article#webshop-product .mainbar .img img{
	width: 100%;
	height: auto;
}


article#webshop-product .mainbar #ws_orderform .order-box{
	border: 1px solid #eee;
	padding: 15px;
	margin: 20px 0;
	border-radius: 3px;
	height: 50px;
}

article#webshop-product .mainbar #ws_orderform input{
	width: 100px;
}

article#webshop-product .mainbar #ws_orderform label{
	vertical-align: text-bottom;
}

article#webshop-product .mainbar #ws_orderform .pricebox{
	font-size: 24px;
	color: #ff0000;
	border-right: 1px solid #eee;
	padding-right: 20px;
}
article#webshop-product .mainbar #ws_orderform .order{
	float: right;
}

article#webshop-product .mainbar #ws_orderform .order input,
article#webshop-product .mainbar #ws_orderform .order button{
	height: 50px;
}

article#webshop-product .mainbar #ws_orderform .order #amount{
	margin-left: 10px;
}

article#webshop .cart-wrapper {
	font-size: 1em;
}
article#webshop table.cartoverview{
	width: 100%;

}


article#webshop table.cartoverview tr td{
	border-bottom: 1px solid #eee;
	padding: 20px 0;
}


article#webshop table.cartoverview .amount-col{
	width: 100px;
}
article#webshop table.cartoverview .price{
	width: 100px;
	text-align: right;
}

article#webshop table.cartoverview .name{
	color: #ff0000;
}


article#webshop table.cartoverview .del_column{
	width: 30px;
}

article#webshop .cart-wrapper{
	border: 1px solid #eee;
	padding:20px;
}

article#webshop .cart-wrapper .total-wrapper{
	background: #f7f7f7;
	padding:20px;
	margin-top: 20px;
	text-align: right;
}

article#webshop .cart-wrapper .total-wrapper table{
	text-align: right;
	width: 100%;
}

article#webshop .cart-wrapper .total-wrapper table th{
	text-align: right;
}

article#webshop .cart-wrapper .total-wrapper table .price{
	width: 100px;
}
article#webshop .cart-wrapper .total-wrapper table tr.total.sum td,
article#webshop .cart-wrapper .total-wrapper table tr.total.sum th{
	border-top: 1px solid #e0e0e0;
	padding: 10px 0;
}


article#webshop table.cartoverview .amount input{
	width: 100px;
	margin-right: 20px;
}

article#webshop table.cartoverview .del_btn{
	fill: #cacaca;
	background: none;
	border: none;
}

article#webshop table.cartoverview .del_btn:hover{
	fill: #ff0000;
}

article#webshop table.cartoverview th{
	color: #ff0000;
}


article#webshop .mainbar.mainbar-center{
	margin: auto;
	float: none;
}

article#webshop .mainbar.mainbar-center .cartoverview{
	margin-bottom: 40px;
}

article#webshop .mainbar.mainbar-center .cartoverview tr{
	padding: 100px 0;
}


article#webshop .mainbar.mainbar-center .titles{
	text-align: center;
}

article#webshop .mainbar-center .cartoverview .price,
article#webshop .mainbar-center .cartoverview .amount{
	color: #ff0000;
}

article#webshop .mainbar-center .cartoverview .amount{
	margin-right: 20px;
}


article#webshop .mainbar-center .cartoverview img{
	padding: 10px;
	border: 1px solid #eee;
}
article#webshop .mainbar.mainbar-center table.dataovv{
	width: 100%;
	border-bottom: 1px solid #eee;
	margin-bottom: 30px;
	padding-bottom: 15px ;
}

article#webshop .mainbar.mainbar-center table.dataovv th{
	width: 25%;
	color: #ff0000;
}

article#webshop .mainbar.mainbar-center table.dataovv caption,
article#webshop .mainbar.mainbar-center table.cartoverview caption{
	text-align: left;
	color: #ff0000;
	font-weight: bold;
}
article#webshop .mainbar.mainbar-center .thankyou_message{
	max-width: 500px;
	text-align: center;
	margin: auto;
}

article#webshop .mainbar.mainbar-center .thankyou_message .btn{
	margin-top: 20px;
}


article#webshop h1{
	margin-bottom: 20px;
}

article#webshop h2{
	color: #ff0000;
}
article#webshop h2.legend{
	color: #ff0000;
}
article#webshop .fieldset label{
	color: #ff0000;
}

article#webshop .fieldset li.field_dlv_not_inv{
	width: 100%;
	background: #f7f7f7;
	padding: 10px 20px;
	margin-top: 20px;
}

article#webshop .fieldset li.field_dlv_not_inv label{
	font-weight: normal;
}


article#webshop .no-product{
	clear: both;
}

article#webshop .webshop_orderform .struct:last-child{
	overflow: hidden;

}
article#webshop .confirm_help{
	float: left;
	color: #ff0000;
}


@media (max-width: 1250px){
	article#webshop .mainbar .catoverview li {
		width: 280px;
	}
}

@media (max-width: 1080px) {
	article#webshop-product .mainbar{
		width: 100%;
	}
}
@media (max-width: 768px) {
	article#webshop .mainbar .productlist ul li article {
		display: block;
	}

	article#webshop .mainbar .catoverview li {
		float: none;
		width: auto;
		margin: 0 0 10px 0;
	}

	article#webshop .mainbar .productlist ul li article .imageholder {
		margin: 0;
		padding: 0;
		border: none;
	}
	article#webshop .mainbar h3.cat_title, article#webshop-product .mainbar h3.product_cat{
		display: none;
	}


	article#webshop .mainbar .productlist ul li article .price {
		text-align: left;
	}

	article#webshop .mainbar .productlist ul li article .text {
		margin-top: 20px;
	}

	article#webshop-product .mainbar {
		display: block;
	}
	article#webshop-product .mainbar .imgbar {
		margin:0;
	}

}
@media (max-width: 512px) {
	article#webshop-product .mainbar #ws_orderform .order-box {
		height: auto;
		overflow: hidden;
	}

	article#webshop-product .mainbar #ws_orderform .order {
		width: 100%;
		float: none;
		display: block;
	}
	article#webshop-product .mainbar #ws_orderform .pricebox {
		border-right: none;
		display: block;
		margin-bottom: 10px;
	}
}

/** STORY_SELLING **/

#story_selling {
	left: -480px;
	top: 40px;
	padding: 25px;
	position: absolute;
	background: #ff0000;
	width: 250px;
	color: white;
	margin-left: 20px;
	z-index: 100;
	border-radius: 3px;
	margin-top: 50px;
	font-size: 90%;
}

#story_selling h3 {
	color: white;
	padding-bottom: 10px;
}

#story_selling ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

#story_selling ul li{
	display: flex;
	border-top: 1px solid #ffffff70;
	padding: 15px 0;
	align-items: center;
}

#story_selling ul li svg {
	fill: #fff;
	flex: 0 0 20px;
	margin-right: 20px;
}
#story_selling ul li p {
	line-height: 30px;
}
#story_selling a.ctalink{
	color: white;
	border: 1px solid #fff;
	display: block;
	text-align: center;
	padding: 10px;
}

@media (max-width: 1670px) {
	.singlecol .mainimage.with_story_selling, .singlecol figure.markdown.widecrop {
		margin: 0;

	}
	#story_selling{
		left: -380px;
	}
}

@media (max-width: 1420px) {
	#story_selling{
		left: auto;
		top: auto;
		margin-left: 0;
		margin-right: 0;
		margin-top: 20px;
		position: relative;
		width: 100%;
		box-sizing: border-box;
		margin-bottom: 20px;
	}
	#story_selling ul li{
		padding: 10px 0;
	}

}

#wrapper .leisurekingbooking .siteform li button:disabled {
	background: #b4b4b4;
	cursor: not-allowed;
}
#wrapper .leisurekingbooking .siteform li button:disabled:hover {
	background: #b4b4b4;
}
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%;
	overflow: visible;
}
#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;
	filter: grayscale(100%);
	transition: opacity 0.2s ease, filter 1s ease;
}
#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;
}	.eowd_modal .pointermap {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}

.booking_error{
	color: red;
}


aside.popup {
	position: fixed;
	bottom: 20px;
	left: 20px;
	width: 260px;
	padding: 20px;
	background: #CCC;
	color: #FFF;
	font-size: 90%;
	border-radius: 3px;
	z-index: 1000;
}
aside.popup .title {
	color: #ff0000;	
}
aside.popup p {
	padding-bottom: 10px;
	line-height: 1.3;
}
aside.popup p.form-error {
	color: #FF0;
	font-size: 80%:
}
aside.popup p.form-error:before {
	content: '!! ';
	font-weight: bold;	
}
aside.popup .popup-close {
	position: absolute;
	top: 0;
	right: 0;
	width: 40px;
	height: 40px;
	text-align: center;
	line-height: 40px;
	cursor: pointer;	
}
aside.popup .go:after {
	content: "";
	display: inline-block;
	width: 0;
	margin-left: 10px;
	transform: translate(0,-3px);
	border-left: 5.6px solid #FFF;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
}
aside.popup input {
	width: 200px;
	
}

aside.popup .button span {
	display: none;
}
aside.popup form {
	display: flex;
	justify-content: space-between;	
}
aside.popup form .button {
	padding: 0;
	width: 50px;	
}
aside.popup form .button.go::after {
	margin-left: 0;	
}


/** Download Component **/
.markdown .embeddownload{
	border: 1px solid #eee;
	padding: 20px 30px;
	margin: 20px 0;
}

.markdown .embeddownload .button{
	padding: 10px 20px;
}


.markdown .embeddownload p{
	margin-bottom:20px!important;
}

.markdown .embeddownload ul{
	margin:0;
	padding:0;
	list-style: none;
}



