html {
	--border-gray: rgba(0,0,0,0.2);
	--text: #000;
	--title: #000;
	--button: #e60003;
	--button-text: #FFF;	
}


img {
	transition: opacity 0.6s ease;
}
img.lazy {
	opacity: 0;
}
.lazywrap {
	display: block;
	position: relative;
	background: rgba(0,0,0,0.2);
}
.lazywrap img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}



summary { list-style: none; }
summary::-webkit-details-marker {display: none; }

html, body {
	margin: 0;
	padding: 0;
	background: #ebecec;
	margin: 0;
	padding: 0;
	font-size: 4vw;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	position: relative;
	font-family: myriadp, "Myriad Pro", sans-serif;
	color: #000;
}

@media (min-width: 800px) {
	html, body {
		font-size: 32px;
	}
}

.struct, .struct li, .struct dt,.struct dd {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.inline > dt, .inline > dd,
.inline > li {
	display: inline-block;	
}
nav, main, aside, footer, header, figure, figcaption, article, hgroup,
section,p,form,dl,dt,dd, fieldset {
	display: block; margin: 0; padding: 0;
	border: none;
}
.button[href]:hover,
.button[href],
.button {
	line-height: 2;
	display: block;
	background: var(--button);
	color: var(--button-text);
	font-weight: bold;
	padding: 0.5rem 1rem;
	font-size: 125%;
	border-radius: 0.3rem;
	border: none;
	cursor: pointer;
}
.button.melding:hover,
.button.melding {
	background-image: url("img/meldpunt-logo.png");
	background-repeat: no-repeat;
	background-position: center 1rem;
	background-size: auto 3.5rem;
	padding-top: 5rem;
	text-align: center;	
}

.meld_title {
	text-align: center;
	font-weight: bold;
	margin: 1.5rem 0 0.5rem 0;	
}

a {
	text-decoration: none;	
}
a img {
	border: none;
	outline: none;
	
}
h1,h2,h3,h4,h5 {
	font-size: 100%;
	font-weight: normal;
	margin: 0;
	padding: 0;
}
h2 {
	font-weight: bold;	
}


.title {
	color: var(--title);
	font-weight: bold;
	font-style: italic;
	font-size: 220%;	
}
.main,
main {
	display: block;
	width: 22.5em;
	margin: 1.25em auto;
}


.navbar {
	height: 3.5rem;
	margin-bottom: 0.75rem;
}
.navbar .backb {
	background: #FFF;
	width: 3.5rem;
	height: 3.5rem;
	position: relative;
	display: inline-block;
	border-radius: 0.3rem;
}
.navbar .backb svg {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.8rem;
	height: auto;
	transform: translate(-50%,-50%);		
}

.headblock {
	position: relative;
	background: #AAA;
	--title: #FFF;
	padding-top: 53.8888888889%;
	border-radius: 0.3rem;
	margin-bottom: 0.75rem;
	overflow: hidden;
}
.headblock .title {
	position: absolute;
	bottom: 1rem;
	left: 1rem;	
}

.navbar {
	display: grid;
	grid-gap: 0.25rem;
	grid-template-columns: auto 1fr;	
}
.navbar .inline {
	display: inline-block;
	line-height: 2rem;
	vertical-align: top;
}
.navbar .inline input {
	display: none;	
}
.navbar form.locations {
	position: absolute;
	top: 0;
	left: 4rem;
}
.navbar .locations .inline span {
	cursor: pointer;
	font-size: 85%;
	display: inline-block;
	line-height: 2rem;
	background: #FFF;
	border-radius: 1rem;
	vertical-align: top;
	padding: 0 1rem;
	color: rgba(0,0,0,0.3);
}
.navbar .locations .inline input:checked + span {
	color: #000;
}

.navbar #routecontrol {
	position: relative;
	z-index: 10;
	--color: lime;
}
.navbar #routecontrol .button {
	color: #000;
	background: #FFF;	
}
.navbar #routecontrol .purple { --color: #7a2273; }
.navbar #routecontrol .green { --color: #005f2d; }
.navbar #routecontrol .red { --color: #e60003; }
.navbar #routecontrol .orange { --color: #ec6a05; }
.navbar #routecontrol .blue { --color: #006ec0; }


.navbar #routecontrol .routelist {
	background: #FFF;
	border-radius: 0.3em;
	margin-top: 0.75em;
	box-shadow: 0 0 0.25rem rgba(0,0,0,.1);
}
#routecontrol .routelist label:first-child {
	border-top: none;	
}
#routecontrol .routelist label {
	padding: 0.5rem 1rem 0.5rem 2rem;
	line-height: 1.2;
	border-top: 1px solid var(--border-gray);
	display: block;
	position: relative;	
	cursor: pointer;
}
#routecontrol .routelist label span::before {
	content: "";
	display: block;
	width: 0.8em;
	height: 0.8em;
	border: 1px solid var(--border-gray);
	border-radius: 50%;
	position: absolute;
	left: 0.75rem;
	top: 50%;
	margin-top: -0.4rem;
}

#routecontrol .routelist label input:checked + span::before {
	background: var(--color);
}

.navbar #routecontrol .routelist .routetoggle {
	border-top: 1px solid var(--border-gray);	
}
.routetoggle .extra {
	padding: 0 1rem 0.25rem 2rem;	
	text-align: right;
}
.routetoggle .extra span {
	color: #8b8b8b;	
	margin-right: 1rem;
	float: left;
}

.routetoggle .extra a.popup {
	color: #FFF;
	display: inline-block;	
	padding: 0.25rem 0.75rem;
	background:  var(--color);
	border-radius: 0.25rem;
	}
.headblock::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	top: 25%;
	background: linear-gradient(0deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 100%); 
}
.fietsen .headblock {
	background: url("img/fietsen.jpg") 0 0 no-repeat;
	background-size: cover;
}
.fietsen .headblock::before {
	background: linear-gradient(0deg, rgba(0,95,45,0.9) 0%, rgba(0,95,45,0) 100%);
}
.wandelen .headblock {
	background: url("img/wandelen.jpg") 0 0 no-repeat;
	background-size: cover;
}
.wandelen .headblock::before {
	background: linear-gradient(0deg, rgba(236,106,5,0.9) 0%, rgba(236,136,5,0) 100%);
}

details.foldout,
a.whitebutton,
.block {
	background: #FFF;
	color: var(--text);
	border-radius: 0.3rem;
	padding: 1rem;
	box-shadow: 0 0 0.25rem rgba(0,0,0,.1);
	margin-bottom: 0.75rem;
	overflow: hidden;
}
a.whitebutton {
	font-size: 125%;
	border-radius: 0.3rem;
	display: block;
	font-weight: bold;
	position: relative;
}
a.whitebutton svg {
	width: 0.8rem;
	height: auto;
	position: absolute;
	top: 50%;
	right: 1rem;
	transform: rotate(180deg) translate(0,50%);
}
body.wandelen .block {
	--title: #ec6a05;
	--button: #ec6a05;
}
body.wandelen .block.dark {
	background: #ec6a05;
	--text: #FFF;
	--title: #FFF;
	--button: #FFF;
	--button-text: #ec6a05;
}
body.fietsen .block {
	--title: #005f2d;
	--button: #005f2d;
}
body.fietsen .block.dark {
	background: #005f2d;
	--text: #FFF;
	--title: #FFF;
	--button: #FFF;
	--button-text: #005f2d;
}

.checklist {
	margin-bottom: 1rem;	
}
.checklist li {
	padding: 0.4rem 0;	
}
.checklist li:before {
	content: "";
	display: inline-block;
	vertical-align: baseline;
	border-style: solid;
	border-width: 0 0.15rem 0.15rem 0;
	width: 0.4rem;
	height: 0.9rem;
	transform: rotate(45deg);
	margin-right: 1em;
}

.blockbanner {
	display: block;
	color: #FFF;
	background: #ec6a05;
	font-weight: bold;
	border-radius: 0.3rem;
	margin-top: 0.75rem;
	padding: 9.5rem 1rem 1rem 1rem;
	text-align: center;
	font-size: 125%;
	
}
.blockbanner.wandelen {
	background: #ec6a05 url("img/Wandelnetwerk.svg") center 2rem no-repeat;
	background-size: 8.5rem auto;
}
.blockbanner.fietsen {
	background: #005f2d url("img/Fietsnetwerk.svg") 6.5rem 2rem no-repeat;
	background-size: 9.5rem auto;
}

.bureau .banner {
	text-align: center;	
}
.bureau .banner img {
	width: 75%;
	height: auto;
	margin-bottom: 0.75rem;
}

.proplist {
	padding: 0.75rem 0;
	display: grid;
	grid-template-columns: 2rem 1fr;
}
.proplist svg {
	width: 0.75rem;
	height: auto;	
}


#odw .bureau.lichtgroen {
	--title: #b5c800;
	--button: #b5c800;
}
#odw .bureau.oranje {
	--title: #005f2d;
	--button: #005f2d;
}
#odw .bureau.paars {
	--title: #7a2273;
	--button: #7a2273;
}
#odw .bureau.donkergroen {
	--title: #005f2d;
	--button: #005f2d;
}
#odw .bureau.rood {
	--title: #dd231b;
	--button: #dd231b;
}


details.foldout summary {
	font-weight: bold;
	font-size: 125%;
	cursor: pointer;
	position: relative;

}
#routecontrol summary::before,
#routecontrol summary::after,
details.foldout summary::before,
details.foldout summary::after {
	content: "";
	display: block;
	width: 0.75em;
	height: 0.1em;
	border-radius: 0.07em;
	background: #000;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(0,-50%) rotate(0deg);
	transition: transform 0.3s ease;
}
#routecontrol summary::before,
#routecontrol summary::after {
	top: 1.75rem;
	right: 0.75rem;	
}
#routecontrol summary::before,
details.foldout summary::before {
	transform: translate(0,-50%) rotate(90deg);
}
#routecontrol[open] summary::before,
details[open].foldout summary::before {
	transform: translate(0,-50%) rotate(45deg);
}
#routecontrol[open] summary::after,
details[open].foldout summary::after {
	transform: translate(0,-50%) rotate(-405deg);
}
details[open].foldout summary {
	color: var(--button-text);
	background: var(--button);
	margin: -1rem -1rem 1rem -1rem;
	padding: 1rem;
}
details[open].foldout summary::before,
details[open].foldout summary::after {
	background: var(--button-text);
	right: 1rem;
}
details.foldout footer {
	border-top: 1px solid #ebecec;
	padding-top: 0.75rem;	
}
details.foldout footer a {
	font-weight: bold;
	position: relative;
	display: block;
	cursor: pointer;
}
details.foldout footer a svg {
	width: 0.8rem;
	height: auto;
	position: absolute;
	top: 50%;
	right: 0;
	transform: rotate(180deg) translate(0,50%);
}

details[open].popup {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #ebecec;
	overflow: auto;	
}
details[open].popup summary,
details[open].popup .overlay {
	display: block;
	width: 20.5rem;
	margin: 1.25rem auto;
}
details[open].popup .overlay {
	background: #FFF;
	border-radius: 0.3rem;	
	padding: 1rem;
	box-shadow: 0 0 0.25rem rgba(0,0,0,.1);
	margin-bottom: 0.75rem;

}
details[open].popup summary {
	position: relative;	
}
details[open].popup summary svg {
	display: none;
}
details[open].popup summary::before,
details[open].popup summary::after {
	content: "";
	display: block;
	width: 1.2em;
	height: 0.1em;	
	background: #FFF;
	position: absolute;
	right: 1em;
	top: 50%;
	transform: translate(0,-50%) rotate(45deg);
}
details[open].popup summary::before {
	transform: translate(0,-50%) rotate(-45deg);
}

.route {
	overflow: hidden;
	position: relative;
	display: grid;
	align-items: center;
	grid-template-columns: 1fr 2fr;	
}
.route .banner {
	margin: -1rem 0 -1rem -1rem;
}
.route h2 {
	margin: 0 0 0.5rem 0;	
}
.route svg {
	height: 1em;
	margin: 0 0.5rem;
	width: auto;	
}
.route .body {
	margin-left: 1rem;	
}
.route .body .dst {
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	display: block;
	background: #FFF;
	padding: 0.2rem 0.6rem;
	opacity: 0.8;
	font-size: 0.9rem;
	line-height: 1rem;
	border-radius: 0.7rem;
	
}
.route .body .dst svg {
	height: 0.7em;
	margin: 0 0 0 0;	
}
#horeca footer a {
	font-style: italic;	
	color: #8b8b8b;
	font-weight: normal;
}
.nearbylist li {
	border-top: 1px solid #ebecec;
	
}
.nearbylist li:first-child {
	border-top: none;
}
.nearbylist li a {
	cursor: pointer;
	display: grid;
	color: inherit;
	grid-template-columns: 1fr 4em 1em;
	align-items: center;
	padding: 0.75rem 0;
}
.nearbylist li a span {
	color: #8b8b8b;
}
.nearbylist li a span svg {
	fill: #8b8b8b;
	height: 1em;
	width: auto;
}	
.nearbylist li a > svg {
	width: 0.8rem;
	justify-self: right;
	transform: rotate(180deg);
}


#mapholder {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
}
#mapoverlay {
	position: fixed;
	top: 1.25rem;
	left: 50%;
	width: 22.5em;
	bottom: auto;
	z-index: 100;
	transform: translate(-50%,0);
}

.popover {
	position: fixed;
	bottom: 0;
	left: 50%;
	width: 20.5em;
	top: auto;
	z-index: 100;
	transform: translate(-50%,120%);
	transition: translate 0.4s ease;
}
.popover.visible {
	bottom: 10px;
	transform: translate(-50%,0);
}
.popover-close {
	width: 1rem;
	height: 1rem;
	position: absolute;
	top: 0.25rem;
	right: 0.25rem;;
	color: #000;
	text-align: center;
	line-height: 0.75rem;
	cursor: pointer;
	text-shadow: 0 0 1px rgba(0,0,0,0.4); 
}
.popover-close:before {
	content: "×";
}

@keyframes bounce {
  from {border-width: 1px;}
  to {border-width: 5px}
}

.leaflet-marker-icon.me {
	box-sizing: border-box;
	background: #dd231b;
	border: 2px solid #FFF;
	border-radius: 50%;
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
	/*
	animation-name: bounce;
	animation-duration: 0.2s;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	*/
}

.leaflet-marker-icon.horeca {
	box-sizing: border-box;
	background: #7a2273 url("img/horeca.svg") center center no-repeat;
	background-size: 70% auto;
	border: 2px solid #FFF;
	padding: 2px;
	border-radius: 4px;
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
}
.leaflet-marker-icon.horeca.selectedMarker {
	background-color: #000;	
}
		
.locpopop {
	display: grid;
	grid-template-columns: 4.5rem 1fr;
	grid-gap: 0.75rem;
}
.locpopop .banner img {
	width: 100%;
	height: auto;
	border-radius: 0.3rem;
}



#odw .leaflet-marker-icon.keuzepunt {
	border: 2px solid #ec6a05;
	color: #000;
	font-size: 11px;
	font-weight: bold;
	line-height: 24px;
	background: #FFF;
	text-align: center;
	font-weight: bold;
	border-radius: 50%;
	
}
#odw .leaflet-marker-icon.keuzepunt p {
	position: absolute;
	margin: 0;
	padding: 0;
	left: 8px;
	bottom: 0;	
	text-shadow:
    1px 1px 0 #FFF,
    -1px 1px 0 #FFF,
    -1px -1px 0 #FFF,
    1px -1px 0 #FFF;
}

#odw .leaflet-marker-icon.startpunt {
	border: 2px solid #FFF;
	border-radius: 5px;
	background: #ec6a05 url("img/wandelicon.svg") 1px center no-repeat;
	background-size: 23px auto;
}


#odw .leaflet-marker-icon.startpunt p {
	display: none;
}






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: 0;
	left: 0;
	right: 0;
	bottom: 0;
	
}
.eowd_modal_canvas .main {
	background: #FFF;
	border-radius: 0.3rem;
	padding: 2rem 0;
}
.eowd_modal_canvas .main article {
	margin: 0 1rem;	
}

.eowd_modal_close {
	width: 2rem;
	height: 2rem;
	line-height: 2rem;
	position: absolute;
	top: 1.25rem;
	right: 1.25rem;
	color: #000;
	cursor: pointer;
	background: #FFF;
	border-radius: 0.3rem;
	text-align: center;
	font-size: 1rem;
	font-family: arial, helvetica, sans-serif;
	z-index: 9999;
	
}
.eowd_modal_close:hover {
	color: #FFF;
	background: #e60003;
}
.popover a[href],
.eowd_modal a[href] {
	color: #8b8b8b;	
}
.popover a[href]:hover,
.eowd_modal  a[href]:hover {
	color: #e60003;	
}
.eowd_modal .button[href],
.eowd_modal .button[href]:hover,
.popover .button[href],
.popover .button[href]:hover {
	color: #FFF;	
}
.popover .contact {
	margin: 0.5em 0;
	display: grid;
	grid-gap: 0.5rem;
	grid-template-columns: auto 1fr;
}
.popover .button:hover,
.popover .button {
	white-space: nowrap;
	font-size: 100%;
	padding: 0.4rem 0.8rem;
	text-align: center;
}
.popover .button:hover {
	background: #e60003;	
}
.popover .button svg {
	fill: #FFF;
	position: relative;
	left: -0.2rem;
}


.routepopup .banner {
	margin: -1rem 0 1rem 0;
}
.routepopup h2 {
	margin: 0.75rem 0;	
}
.routepopup svg {
	height: 1em;
	margin: 0 0.5rem;
	width: auto;	
}
.routepopup .details {
	margin: 0.5rem 0;	
}
.routepopup .buttons {
	margin: 1rem 0 -1rem 0;	
}



.locationpopup .banner {
	margin: -1rem 0 1rem 0;
}
.locationpopup h2 {
	margin: 0.75rem 0;	
}
.locationpopup .contact svg {
	height: 1em;
	width: auto;
	position: absolute;
	left: 0;
}

.locationpopup .contact {
	margin: 0.5rem 0;	
}
.locationpopup .contact li {
	padding: 0.25rem 0 0.25rem 1.75rem;
	position: relative;
}	
.locationpopup .open {
	font-weight: bold;
}


.pagination {
	display: flex;
	justify-content: center;	
}
.pagination .filler {
	background: none;
	width: auto;	
}
.pagination a {
	display: block;
	width: 1.7em;
	height: 1.7em;
	line-height: 1.7em;
	margin: 0 0.1em;
	background: #FFF;
	border-radius: 50%;
	text-align: center;
	color: #000;
}
.pagination a.active {
	color: #FFF;
	background: blue;
}

.pagination.wandelen a.active {
	background: #ec6a05
}
.pagination.fietsen a.active {
	background: #005f2d;
}
.pagination svg {
	width: 0.7em;
	height: auto;
	vertical-align: middle;	
}
.pagination .next {
	transform: scaleX(-1);	
}


.fietsknooppunt {
	border: 2px solid #005f2d;
	color: #005f2d;
	font-size: 9px;
	font-weight: bold;
	line-height: 16px;
	background: #FFF;
	text-align: center;
	font-weight: bold;
	border-radius: 50%;

}

.startpunt, .keuzepunt {
	border: 2px solid #ec6a05;
	color: #ec6a05;
	font-size: 9px;
	font-weight: bold;
	line-height: 24px;
	background: #FFF;
	text-align: center;
	font-weight: bold;
	border-radius: 50%;

}