/* inter-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url('userfonts/inter-v18-latin-regular.eot'); /* IE9 Compat Modes */
  src: url('userfonts/inter-v18-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('userfonts/inter-v18-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('userfonts/inter-v18-latin-regular.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('userfonts/inter-v18-latin-regular.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('userfonts/inter-v18-latin-regular.svg#Inter') format('svg'); /* Legacy iOS */
}
/* ibm-plex-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  src: url('userfonts/ibm-plex-sans-v21-latin-regular.eot'); /* IE9 Compat Modes */
  src: url('userfonts/ibm-plex-sans-v21-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('userfonts/ibm-plex-sans-v21-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('userfonts/ibm-plex-sans-v21-latin-regular.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('userfonts/ibm-plex-sans-v21-latin-regular.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('userfonts/ibm-plex-sans-v21-latin-regular.svg#IBMPlexSans') format('svg'); /* Legacy iOS */
}





* {
	box-sizing: border-box;
}

html {
	overflow-y: scroll;
	font-size: 1rem;
	height: 100%;
}

body {
	margin: 0;
	padding: 0;
	font-size: 1.125rem;
	font-family: 'Inter', sans-serif, arial;
	text-align: center;
	background-color: #333;
	color: #444;
	height: 100%;
}


img { border: 0; }
a, .rot { color: #8BB238; text-decoration: none; }
a:hover { color: #BECF68; }
a[href^=tel] { cursor: default; pointer-events: none; }
p { margin: 0 0 16px 0; margin: 0 0 1rem 0; }


h1 {
	color: #8BB238;
	font-family: 'IBM Plex Sans';
	font-size: 3rem;
	font-weight: normal;
	margin: 0 0 16px 0;
	margin: 0 0 1rem 0;
}

h1 b, h1 strong,
h2 b, h2 strong,
h3 b, h3 strong,
.handwriting {
	font-weight: 800;
}

h2 {
	font-family: 'IBM Plex Sans', sans-serif, arial;
	font-size: 2rem;
	font-weight: bold;
	margin: 12px 0 32px 0;
	margin: .75rem 0 2rem 0;
	color: #8BB238;
	/* text-transform: uppercase; */
}
	
h3 {
	font-family: 'IBM Plex Sans', sans-serif, arial;
	font-size: 1.5rem;
	font-weight: normal;
	margin: 32px 0 24px 0;
	margin: 2rem 0 1.5rem 0;
	color: #8BB238;
	position: relative;
	display: inline-block;
	padding-bottom: 12px;
	padding-bottom: .75rem;
}
	h3:before {
		display: block;
		content: ' ';
		width: 70%;
		height: 3px;
		background-color: #8BB238;
		position: absolute;
		bottom: 0;
		left: -6px;
		transition: all .7s;
	}

	
h4 {
	font-family: 'IBM Plex Sans', sans-serif, arial;
	font-size: 1.25rem;
	font-weight: normal;
	margin: 0 0 16px 0;
	margin: 0 0 1rem 0;
	color: #8BB238;
}
	h4 .klein {
		font-size: 1rem;
		color: #888;
	}



header, main, footer {
	text-align: left;
}

main ul li {
	margin-bottom: .75rem;
}
main ul li::last-child {
	margin-bottom: 0;
}


.wrapper,
.list_subcat {
	margin: 0 auto;
	width: 1400px;
}


#header {
	height: 40%;
	position: relative;
}
#header.header_cat_-1 {
	height: 70%;
}


#header_top_cont {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	background-color: rgba(238, 107, 26, .6);
	padding: 8px 0;
	padding: .5rem 0;
	z-index: 80;		
}
	#header_top_cont .wrapper {
		position: relative;
	}
	
		#banner {
			position: absolute;
			left: 130px;
			bottom: 88px;
		}
	
	
		#header_top a {
			display: inline-block;
			margin-right: 2rem;
			padding: 14px;
			text-transform: uppercase;
			color: #eee;
		}
		#header_top a::after {
			content: '';
			width: 0px;
			height: 2px;
			display: block;
			background-color: #eee;
			transition: 300ms;
		}
		
		#header_top a:hover,
		#header_top a.header_top_akt {
			background-color: rgba(238, 107, 26, 1);
			color: #fff;
		}
		#header_top a:hover::after,
		#header_top a.header_top_akt::after {
			width: 100%;
		}
		
		#header_top a .header_top_icon {
			display: inline-block;
			width: 60px;
			height: 60px;
			margin-right: 14px;
			background-repeat: no-repeat;
			background-position: center;
			background-size: 100%;
			vertical-align: middle;
			filter: invert(96%) sepia(9%) saturate(1%) hue-rotate(248deg) brightness(111%) contrast(73%);
		}
		#header_top a .header_top_icon.iconset_1 { background-image: url(../images/icon_manual.svg); background-size: 80%; }
		#header_top a .header_top_icon.iconset_4 { background-image: url(../images/icon_office-space.svg); }
		#header_top a .header_top_icon.iconset_5 { background-image: url(../images/icon_support.svg); }
		#header_top a .header_top_icon.iconset_7 { background-image: url(../images/icon_question.svg); background-size: 80%; }
		
		#header_top a:hover .header_top_icon,
		#header_top a.header_top_akt .header_top_icon {
			filter: invert(89%) sepia(30%) saturate(42%) hue-rotate(100deg) brightness(110%) contrast(105%);
		}
	

#header_topnavi {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 1000;
	padding: 16px 0;
	padding: 1rem 0;
	background-color: #fff;
	font-size: 12px;
	font-size: .75rem;
	text-align: right;
	border-bottom: 1px #BECF68 solid;
}
	
	#header_topnavi .wrapper {
		position: relative;
	}

		#header_topnavi #minilogo_wrapper {
			position: absolute;
			top: -1rem;
			left: 0;
			width: 20%;
			min-width: 180px;
			/*
		    visibility: hidden;
		    opacity: 0;
  			transition: visibility 0s, opacity 1.5s linear;
  			*/
			padding: 2rem 1rem 1rem 1rem;
			background-color: #5C7722;
			box-shadow: 2px 1px 6px rgba(0,0,0,.8);
			border-radius: 0 0 1rem 1rem;
		}
		
			#header_topnavi #minilogo_wrapper a {
				padding: 0;
				margin: 0;
			}
			
			#header_topnavi #minilogo_wrapper #header_minilogo {
				width: 100%;
			}
		
		
		
		
		#header_topnavi a {
			display: inline-block;
			color: #777;
			padding: 4px 0;
			padding: .25rem 0;
			margin-left: 16px;
			margin-left: 1rem;
			vertical-align: middle;
		}
			#header_topnavi span[class^=icon-] {
				color: #8BB238;
				padding: 3px;
			}
			
		#header_topnavi a:hover {
			color: #444;
		}
			#header_topnavi a:hover span[class^=icon-] {
				color: #315a30;
			}
	

#header_menu_cont {
	position: fixed;
	z-index: 99;
	top: 0;
	width: 100%;
	background: #fff;
	box-shadow: 0 3px 6px rgba(0,0,0,.3);
	padding-top: 3rem;
}	

	#header_menu {
		list-style-type: none;
		margin: 0 0 0 25%;
		padding: 0;
	}
		#header_menu li {
			display: inline-block;
		}
			#header_menu li a {
				display: block;
				font-size: .75rem;
				padding: 1.75rem .35rem .75rem .35rem;
				color: #666;
				text-transform: uppercase;
				position: relative;
				
  				transition: all .5s linear;
			}
			#header_menu li a:before {
				display: block;
				content: ' ';
				width: 80%;
				height: 10px;
				background-color: transparent;
				position: absolute;
				bottom: -10px;
				left: 0;
				transition: all .7s;
			}
			#header_menu li a.header_menu_akt {
				color: #6D7759;
				background-color: #eeffc8;
			}
			#header_menu li a:hover:before,
			#header_menu li a.header_menu_akt:before {
				color: #8BB238;
				background-color: #8BB238;
				width: 100%;
			}



#header_fullsize {
	/* opacity: 0.65; */
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 100%;
	box-shadow: 0 3px 6px rgba(0,0,0,.3);
	position: relative;
}

	#header_fullsize .wrapper {
		height: 100%;
	}
	
	
#header_fullsize_mask {
	position: relative;
	width: 100%;
	height: 100%;
}
	#header_fullsize_mask::before {
		display: block;
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(200,200,255,.3);	
	}
		#logo_wrapper_cont .wrapper {
			position: relative;
		}
			#logo_wrapper {
				position: absolute;
				z-index: 95;
				top: 0;
				left: 0;
				padding: 176px 32px 16px 32px;
				padding: 11rem 2rem 1rem 2rem;
				/* background-color: rgba(35, 127, 82, .3); */
				background-color: rgba(255,255,255,.8);
				box-shadow: 3px 3px 7px #888;
			}
			
		#header_intro_cont {
			position: absolute;
			z-index: 94;
			bottom: 0;
			right: 15%;
			padding: 32px 32px 32px 32px;
			padding: 2rem 2rem 2rem 2rem;
			background-color: rgba(104,136,160,.75);
		}
			
		#textlogo_wrapper {
			display: none;
			position: absolute;
			z-index: 98;
			top: 22%;
			right: 10%;
			padding: 16px;
			padding: 1rem;
			background-color: rgba(59,73,158,.4);
		}
			
		#minilogo_wrapper {
			float: right;
			font-size: 12px;
			font-size: .75rem;
			
			/*
		    visibility: hidden;
		    opacity: 0;
  			transition: visibility 0s, opacity 1s linear;
  			*/
		}
			#minilogo_wrapper,
			#minilogo_wrapper a {
				color: #999;
			}
			

#header_teaser_cont {
	position: absolute;
	left: 50%;
	top: 40%;
	transform: translate(-50%, -10%);
	text-shadow: 5px 4px 8px rgba(0,0,0,.5);
}

	#header_teaser_cont #header_teaser {
		font-family: 'Inter';
		color: #fff;
		font-size: 1.75rem;
	}
		#header_teaser_cont #header_teaser span {
			font-family: 'IBM Plex Sans', sans-serif, arial;
			font-size: 3rem;
			font-weight: bold;
			line-height: 3.5rem;
		}


/* --- SCROLLDOWN --- */


#header.scrolldown #header_topnavi #minilogo_wrapper {
	visibility: visible;
	opacity: 1;
}

#header.scrolldown #header_fullsize #header_menu li a {
	padding-top: 1.25rem;
	color: #999;
}
		

/* --- FACTS SIDEBAR --- */
			

#facts {
	float: right;
	padding: 1rem;
	background-color: #ecf7d5;
	border-radius: 1rem 0 0 1rem;
	font-size: 1rem;
	color: #666;
	margin: 0 0 2rem 3rem;
}
	#facts h3 {
		font-size: 1.2rem;
		margin: 1rem 0 .5rem 0;
		color: #8BB238;
	}
	#facts h3:first-child {
		margin-top: 0;
	}
	#facts p {
		margin-bottom: .25rem;
		clear: right;
	}
		#facts p strong {
			float: right;
			margin-left: 1rem;
		}
	

/* --- PAGE --- */	


#page {
	/* padding: 40px 0 0 0; */
	background-color: #FFFFFB;
	overflow: auto;
	box-shadow: 0 3px 6px rgba(0,0,0,.3);
	position: relative;
}
	#page p {
		line-height: 150%;
	}


/* --- PATHFINDER --- */

#pathfinder_cont {
	padding: 1rem 0;
	background-color: #BECF68;
}

#pathfinder {
	text-align: left;
	font-size: 12px;
	font-size: 0.75rem;
}
	#pathfinder_prefix {
		display: inline-block;
		margin-right: 8px;
		margin-right: .5rem;
	}
	#pathfinder,
	#pathfinder a {
		color: #666;
	}
	#pathfinder a:hover {
		color: #8BB238;
	}


/* --- GRID-ELEMENTE --- */


.dk_grid-01_text:nth-child(even),
.dk_grid-02_teaser-left:nth-child(even),
.dk_grid-03_teaser-right:nth-child(even) {
	background-color: #f4f4f4;
}
.dk_grid-01_text:nth-child(odd),
.dk_grid-02_teaser-left:nth-child(odd),
.dk_grid-03_teaser-right:nth-child(odd) {
	background-color: #fff;
}




.dk_grid-01_text,
.dk_grid-04_galerie {
	padding: 32px 0;
	padding: 2rem 0;
}


.dk_grid-01_text .dk_grid-01_text_content {
	overflow: auto;
}

.dk_grid-02_teaser-left_cont {
	padding: 32px 32px 32px 0;
	padding: 2rem 2rem 2rem 0;
}
.dk_grid-03_teaser-right_cont {
	padding: 32px 0 32px 32px;
	padding: 2rem 0 2rem 2rem;
	
}


.dk_grid-02_teaser-left_image,
.dk_grid-03_teaser-right_image {
	overflow: hidden;
	position: relative;
}
.dk_grid-02_teaser-left_image img,
.dk_grid-03_teaser-right_image img {
	width: auto;
	height: auto;
	min-width: 100%;
	min-height: 100%;
	vertical-align: middle;
}


.dk_grid-05_image-fixed {
	position: relative;
	height: 450px;
	overflow: hidden;
}
	.dk_grid-05_image-fixed_image {
		width: 100%;
		height: 100%;
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		background-attachment: fixed;
	}
		.dk_grid-05_image-fixed_image::before {
			content: ' ';
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			opacity: .3;
			background: #000;
		}
		
	.dk_grid-05_image-fixed_cont {
		position: absolute;
		top: 20%;
		transform: translate(-50%);
		left: 50%;
		width: 40% !important;
		background-color: rgba(255,255,255,.8);
		color: #444;
		padding: 0 16px;
		padding: 0 1rem;
	}


.dk_grid-06_header_room {
	padding: 0 0 32px 0;
	padding: 0 0 2rem 0;
}
.dk_grid-06_header_room .wrapper {
	margin-bottom: 32px;
	margin-bottom: 2rem;
	border-bottom: 1px #bbb solid;
}
	.dk_grid-06_header_room .dk_grid-06_header_room_title,
	.dk_grid-06_header_room .dk_grid-06_header_room_content {
		display: inline-block;
		margin: 0;
	}
	
	.dk_grid-06_header_room .dk_grid-06_header_room_content p {
		display: inline-block;
		margin: 0 0 0 32px;
		margin: 0 0 0 2rem;
		color: #444;
	}
	
		.dk_grid-06_header_room .dk_grid-06_header_room_content p .icon_qm::before {
			display: inline-block;
			width: 20px;
			height: 20px;
			content: url(../images/icon_qm.png);
		}
		.dk_grid-06_header_room .dk_grid-06_header_room_content p .icon_persons::before {
			display: inline-block;
			width: 20px;
			height: 20px;
			content: url(../images/icon_persons.png);
		}



/* --- Footer --- */



#footer_navi {
	background-color: #5C7722;
	line-height: 160%;
}
	#footer_navi .wrapper {
		padding: 48px 0 24px 0;
		padding: 3rem 0 1.5rem 0;	
		min-height: 200px;
	}
		
	.footer_box {
		display: inline-block;
		margin: 0 80px 24px 0;
		margin: 0 5rem 1.5rem 0;
		color: #eee;
		vertical-align: top; 
		text-align: left;
	}
	.footer-box:last-child {
		margin-right: 0;
	}
	
		.footer_box hr {
			margin: 32px 0;
			margin: 2rem 0;
		}
	
		.footer_box a {
			color: #ddd;
		}	
		.footer_box a:hover {
			color: #fff;
		}
		
		.footer_box b {
			display: inline-block;
			color: #fff;
			margin-bottom: 5px;
		}
	
		.footer_box span[class^=icon-] {
			font-size: 24px;
			font-size: 1.5rem;
			vertical-align: middle;
			margin-right: 7px;
		}
		.footer_box a:hover span[class^=icon-] {
			text-shadow: 2px 3px 4px rgba(0,0,0,.6);
		}
		
		
		
	#footer_logo_cont {
		margin-bottom: 80px;
		margin-bottom: 5rem;
	}
		
		#footer_mainlogo {
			width: 350px;
			max-width: 80%;
		}
		
	#footer_linklist {
		list-style-type: none;
		padding: 0;
		margin: 0;
		column-count: 2;
	}

#footer_copyright {
	font-size: 0.75rem;
	padding: 16px 0;
	padding: 1rem 0;
	margin-bottom: 50px;
	background-color: #333;
	text-align: right;
}
	#footer_copyright,
	#footer_copyright a {
		color: #888;
	}
	#footer_copyright a:hover {
		color: #fff;
	}


/* --- ALLGEMEIN --- */



.center { text-align: center; }
.right { text-align: right; }
.hidden, .tpl_catbez { display: none; }

.messagebox {
	margin: 0 0 10px 0;
	padding: 10px;
	border-left: 6px #a00 solid;
	background-color: #fcc;
	color: #333;
}
	.messagebox_g {
		border-color: #0a0;
		background-color: #cfc;
	}
	.messagebox_y {
		border-color: #ff8000;
		background-color: #ffa;
	}


.minipic, .minipic_zoom {
	margin: 10px 10px 10px 0;
	max-width: 500px;
}

.galerie .minipic,
.galerie .minipic_zoom {
	margin: 16px 0 0 0;
}

.minipic_r, .minipic_r_zoom {
	float: right;
	margin: 0 0 10px 50px;
	
	box-sizing: content-box;
	margin-right: -60px;
	padding-right: 60px;
	background-color: rgba(145,155,196,.2);
}
.minipic_l, .minipic_l_zoom {
	float: left;
	margin: 0 50px 10px 0;
}


.minipic, .minipic_r, .minipic_l,
.minipic_zoom, .minipic_r_zoom, .minipic_l_zoom {
	max-width: 400px;
}

/*
.galerie .minipic {
	margin: 0 5px 20px 0;
}
*/




.galerie {
	margin-top: 50px;
}
	.galerie .minipic_zoom {
		/*
		box-shadow: none;
		width: 45%;
		margin: 0 4% 4% 0;
		object-fit: cover;
		height: 200px;
		margin: 0;
		*/
	}

	.galerie .galerie_coverimg {
		float: left;
		width: 18%;
		margin: 0 2% 2% 0;
		/* overflow: hidden; */
		background-position: center;
		background-size: cover;
		box-shadow: 1px 2px 3px #888;
		height: 200px;
	}
		.galerie .galerie_coverimg a {
			display: block;
			width: 100%;
			height: 100%;
			position: relative;
			color: #666;
		}
			.galerie .galerie_coverimg a span {
				position: absolute;
				left: 0;
				bottom: 0;
				display: block;
				padding: 4px 6px;
				background-color: rgba(104,136,160,.75);		
				color: #fff;
				
				overflow: hidden;
				text-overflow: ellipsis;
				display: -webkit-box;
				-webkit-line-clamp: 2; /* number of lines to show */
				-webkit-box-orient: vertical;
			}
			.galerie .galerie_coverimg a:hover span {
				background-color: #8BB238;
			}
			
	div.dk_grid-04_galerie .wrapper {
		overflow: auto;
	}
	
	
	
	div.dk_grid-04_galerie {
	background-color: #eee;
	}
		div.dk_grid-04_galerie .wrapper {
			overflow: auto;
		}



.list_subcat {
	padding: 0 0 48px 0;
	padding: 0 0 3rem 0;
}

	.list_subcat_item {
		margin: 32px 0 0 0;
		margin: 2rem 0 0 0;
		padding: 16px;
		padding: 1rem;
		background-color: #f4f4f4;
	}
		.list_subcat_item a {
			color: #8BB238;
		}
		.list_subcat_item a:hover {
			color: #333;
		}
	
			.list_subcat_item h2 {
				background: none;
				margin: 0 0 10px 0 !important;
			}
				
			.list_subcat_item_pic {
				float: left;
				width: 150px;
				height: 100px;
				overflow: hidden;
			}
				.list_subcat_item_pic img {
					max-width: 100%;
				}
				
			.list_subcat_item_cont {
				/*	
				line-height: 14px;
				font-size: 11px;
				font-size: 0.688rem;
				*/
				color: #666;
				padding: 0 10px 0 200px;
			}
			.list_subcat .clearer {
				display: none;
			}



.klein {
	font-size: 11px;
	font-size: 0.688rem;	
}
.blass {
	color: #888;
}



table {
	width: 100%;
}
table.zebra tr:nth-child(even) {
	background-color: #f1f1f1;
}
	th {
		background-color: #8BB238;
		color: #fff;
		font-weight: bold;
	}



.fullsize {
	width: 99%;
}
.float_r {
	float: right;
	margin: 0 0 10px 20px;
}
.clearer {
	clear: both;
}

#content_fotomaterial {
	display: none;
}




.wrapper,
.list_subcat {
	max-width: 96%;
}

#mobilebar_cont {
	background-color: #8BB238;
	display: none;
	padding: 10px 0;
	font-size: 16px;
	font-size: 1rem;
	text-align: left;
	position: relative;
	box-shadow: 0 1px 4px rgba(0,0,0,0.5);	
}
	#mobilebar_cont #mobilebar_akt {
		padding: 8px 14px;
		padding: .5rem 0.875rem;
		color: #fff;
	}
	#mobilebar_cont #mobilebar_icon {
		float: right;
		cursor: pointer;
	}
	#mobilebar {
		list-style-type: none;
		padding: 0;
		margin: 0;
		display: none;
	}
		#mobilebar li {
			border-top: 1px #aaa solid;
		}
			#mobilebar li a {
				display: block;
				padding: 6px 25px;
				color: #555;
			}
			#mobilebar li a.mobilebar_akt {
				background-color: #444 !important;
				color: #fff;
			}
			#mobilebar li a:hover {
				background-color: #777 !important;
				color: #fff;
			}
			
			#mobilebar li.depth0 a,
			#mobilebar li.depth1 a {
				padding-left: 30px;
				font-size: 16px;
				font-size: 1rem;
				color: #fff;
			}
			#mobilebar li.depth2 {
				background-color: rgba(255, 255, 255, .2);
			}
				#mobilebar li.depth2 a {
					padding-left: 45px;
					font-size: 14px;
					font-size: 0.875rem;
					color: #eee;
				}
				
			#mobilebar li.depth3 {
				background-color: rgba(255, 255, 255, .4);
			}
				#mobilebar li.depth3 a {
					padding-left: 60px;
					font-size: 13px;
					font-size: 0.813rem;	
				}
	


.col-row {
	display: flex;
	flex-wrap: wrap;
}
.col-1 { width: 8.3333%; }
.col-2 { width: 16.6667%; }
.col-3 { width: 25%; }
.col-4 { width: 33.3333%; }
.col-5 { width: 41.6667%; }
.col-6 { width: 50%; }
.col-7 { width: 58.3333%; }
.col-8 { width: 66.6667%; }
.col-9 { width: 75%; }
.col-10 { width: 83.3333%; }
.col-11 { width: 91.6667%; }
.col-12 { width: 100%; }




hr {
	margin: 48px 0;
	margin: 3rem 0;
	border: 1px #ccc solid;
	border-width: 1px 0 0 0;
}



.cta {
	display: inline-block;
	padding: 8px 16px;
	padding: .5rem 1rem;
	margin: 8px 16px 8px 0;
	margin: .5rem 1rem .5rem 0;
	font-size: 22px;
	font-size: 1.375rem;
	font-weight: bold;
	background-color: #8BB238;
	color: #fff;
	text-transform: uppercase;
}
	.cta:hover {
		background-color: #315a30;
		color: #fff;
	}

	.cta span[class^=icon-] {
		margin-right: 8px;
	}
	



/*	--- KARTE --- */

#dk_map_cont {
	width: 100%;
	height: 100%;
	min-height: 500px;
}
#dk_map {
	width: 100%;
	height: 100%;
	z-index: 90;
}


/* ---------- SURVEY -----------*/

    .formelement_cont {
      width: 100%;
      margin: -5px 0 32px 0;
      padding: 20px;
      background-color: rgba(255,255,255,.5);
    }
    	.formelement_cont input[type="text"],
    	.formelement_cont input[type="email"],
    	.formelement_cont #form_submit,
    	.formelement_cont textarea {
    		border: 1px #999 solid;
    		border-radius: 4px;
    		font-size: 16px;
    		font-size: 1rem;
    		padding: 10px;
    	}
    	.formelement_cont label {
    		cursor: pointer;
    	}
    	.formelement_cont #form_submit {
    		background-color: #008000;
    		border-color: #444;
    		color: #fff;
    		cursor: pointer;
			transition: all 0.15s ease-in-out;
    	}
    	.formelement_cont #form_submit:disabled {
    		background-color: #999 !important;
    	}
    	.formelement_cont #form_submit:hover {
    		background-color: #060;
    	}
    	
    	.formelement_cont input[type="checkbox"] {
		  position: relative;
		  left: 30px;
		  top: 0px;
		  z-index: 0;
		  -webkit-appearance: none;
		}
			.formelement_cont input[type="checkbox"] + label {
			  position: relative;
			  display: block;
			  cursor: pointer;
			  padding-left: 80px;
			  position: relative;
			  margin-top: -30px;
			}
			.formelement_cont input[type="checkbox"] + label:before {
			  width: 60px;
			  height: 30px;
			  border-radius: 30px;
			  border: 2px solid #ddd;
			  background-color: #EEE;
			  content: "";
			  margin-right: 15px;
			  transition: background-color 0.5s linear;
			  z-index: 5;
			  position: absolute;
			  left: 0px;
			}
			.formelement_cont input[type="checkbox"] + label:after {
			  width: 30px;
			  height: 30px;
			  border-radius: 30px;
			  background-color: #fff;
			  content: "";
			  transition: margin 0.1s linear;
			  box-shadow: 0px 0px 5px #aaa;
			  position: absolute;
			  left: 2px;
			  top: 2px;
			  z-index: 10;
			}
			.formelement_cont input[type="checkbox"]:checked + label:before {
			  background-color: #2b8718;
			}
			.formelement_cont input[type="checkbox"]:checked + label:after {
			  margin: 0 0 0 30px;
			}
			
			.survey_icon_mandatory {
				color: #8BB238;
			}
			.survey_icon_mandatory.done {
				color: #060;
			}
    	
    	

    .survey_cont {
      width: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      margin: -5px 0 32px 0;
      padding: 10px 10px 40px 10px;
      background-color: rgba(255,255,255,.5);
    }
        .survey_topic {
          width: 100%;
        }
        
    .survey {
      width: 90%;
      /* max-width: 500px; */
    }
    .survey .survey_slider {
      display: flex;
      flex-direction: row;
      align-content: stretch;
      position: relative;
      width: 100%;
      height: 50px;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
    }
    .survey .survey_slider::before {
      content: " ";
      position: absolute;
      height: 1px;
      width: 100%;
      width: calc(100% * (3 / 5));
      top: 50%;
      left: calc(100%*(3/5));
      transform: translate(-50%, -50%);
      background: #999;
    }
    .survey .survey_slider input, .survey .survey_slider label {
      box-sizing: border-box;
      flex: 1;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
    }
    .survey .survey_slider label {
      display: inline-block;
      position: relative;
      width: 20%;
      height: 100%;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
    }
    .survey .survey_slider label::before {
      content: attr(data-survey-slider-label);
      position: absolute;
      left: 50%;
      padding-top: 5px;
      transform: translate(-50%, 45px);
      font-size: 15px;
      font-size: .9375rem;
      letter-spacing: 0.4px;
      font-weight: 400;
      white-space: nowrap;
      opacity: 0.85;
      transition: all 0.15s ease-in-out;
    }
    .survey .survey_slider label::after {
      content: " ";
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      width: 30px;
      height: 30px;
      border: 2px solid #FE9429;
      background: #fff;
      border-radius: 50%;
      pointer-events: none;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      z-index: 1;
      cursor: pointer;
      transition: all 0.15s ease-in-out;
    }
        .survey_slider_label_disabled::after {
            border-color: #999 !important;
            border-width: 1px !important;
        }
    .survey .survey_slider label:hover::after {
      transform: translate(-50%, -50%) scale(1.25);
    }
    .survey .survey_slider input {
      display: none;
    }
    .survey .survey_slider input:checked + label::before {
      font-weight: 800;
      opacity: 1;
    }
    .survey .survey_slider input:checked + label::after {
      border-width: 4px;
      transform: translate(-50%, -50%) scale(0.75);
    }
    .survey .survey_slider input:checked ~ .survey_slider_indicator {
      opacity: 1;
    }
    .survey .survey_slider input:checked:nth-child(1) ~ .survey_slider_indicator {
      left: 10%;
    }
    .survey .survey_slider input:checked:nth-child(3) ~ .survey_slider_indicator {
      left: 30%;
    }
    .survey .survey_slider input:checked:nth-child(5) ~ .survey_slider_indicator {
      left: 50%;
    }
    .survey .survey_slider input:checked:nth-child(7) ~ .survey_slider_indicator {
      left: 70%;
    }
    .survey .survey_slider input:checked:nth-child(9) ~ .survey_slider_indicator {
      left: 90%;
    }
    .survey .survey_slider .survey_slider_indicator {
      display: block;
      position: absolute;
      top: 50%;
      width: 12px;
      height: 12px;
      background: #8BB238;
      border-radius: 50%;
      transition: all 0.15s ease-in-out;
      transform: translate(-50%, -50%);
      border: 2px solid #fff;
      opacity: 0;
      z-index: 2;
    }
    form:valid .survey_slider input + label::before {
      transform: translate(-50%, 45px) scale(0.9);
      transition: all 0.15s linear;
    }
    form:valid .survey_slider input:checked + label::before {
      transform: translate(-50%, 45px) scale(1.1);
      transition: all 0.15s linear;
    }
    
    .survey_col_label {
        padding-top: 10px;
    }    


/* -------- Banner --------- */


.banner_insta {
	background-color: #8BB238;
}

	.banner_insta .wrapper {
		padding: 32px;
		padding: 2rem;
	}
	
		.banner_insta .banner_insta_logo {
			text-align: center;
		}
			.banner_insta .banner_insta_logo img {
				max-width: 90%;
			}

		.banner_insta .banner_insta_text {
			padding-left: 24px;
			padding-left: 1.5rem;
			color: #fff;
		}
			.banner_insta .banner_insta_text a {
				color: #fff;
			}
			.banner_insta .banner_insta_text a:hover {
				color: #eee;
			}


/* -------- Timeline --------- */

.timeline {
	padding: 32px 16px;
	padding: 2rem 1rem;
}

	.timeline_item {
		padding: 20px 0;
		padding: 1.25rem 0;
		position: relative;
		border-left: 2px #bbb solid;
	}
	
		.timeline_item:before {
		    content: '';
		    width: 32px;
		    height: 32px;
		    background-color: #6a7c44;
		    border: 1px solid #fff;
		    box-shadow: 2px 3px 4px rgba(0,0,0,.4);
		    border-radius: 50%;
		    position: absolute;
		    left: -18px;
		    top: 35px;
		}
		.timeline_item.done:before {
			background-color: #29AA16;
		}
		
		.timeline_item:hover {
			background-color: #f4f4f4;
			border-radius: 0 10px 10px 0;
		}
		
			.timeline_item_content {
				margin: 0 0 0 32px;
				margin: 0 0 0 2rem;
			}
			
			
.attr_listing ul {
	list-style: none;
	margin: 0;
	column-count: 5;
}
	.attr_listing ul li {
		position: relative;
		padding-left: 24px;
		padding-left: 1.5rem;
	}
	.attr_listing ul li:before {
		position: absolute;
		left: 0;
		top: 0;
		content: '✓';
		color: #8BB238;
		font-weight: bold;
	}


/*	--- SCROLLANIMATION --- */	

.dk_grid-01_text_content.scrollanimation {
	position: relative;
	padding-left: 3rem;
}

	.dk_grid-01_text_content.scrollanimation>p {
		position: relative;
		padding-left: 1rem;
	}

	.dk_grid-01_text_content.scrollanimation>h3 {
		position: relative;
	}
	.dk_grid-01_text_content.scrollanimation>h3::before {
		content: '';
		position: absolute;
		left: -2.5rem;
		top: .5rem;
		width: 1rem;
		height: 1rem;
		background: #ccc;
		border-radius: 50%;
		transition: background 0.5s ease, transform 0.3s ease;
	}
	.dk_grid-01_text_content.scrollanimation>h3.active::before {
		background: #8BB238 !important;
		transform: scale(1.5);
		box-shadow: 0 0 0 2px #fff, 0 0 0 3px #BECF68;
	}
	.dk_grid-01_text_content.scrollanimation>h3.seen::before {
		background: #BECF68;
	}

/*	--- KARTE --- */

#dk_map_cont {
	width: 100%;
	height: 600px;
	max-height: 60vh;
}
#dk_map {
	width: 100%;
	height: 100%;
	z-index: 90;
}

.leaflet-tooltip {
	background-color: rgba(0,0,0,.4) !important;
	color: #fff !important;
}
.leaflet-control-attribution {
	background-color: rgba(0,0,0,.2) !important;
	color: #888 !important;
}



/* ---------- LANGUAGESELECTOR ----------*/

.header_languageselector {
  display: inline-block;
}

.header_languageselector a {
  display: inline-block;
  width: 20px;
  height: 15px;
  background-size: cover;
  background-repeat: no-repeat;
  border: 1px solid #ccc;
  border-radius: 2px;
  transition: transform 0.2s;
  opacity: 0.6;
  transform: scale(.9);
}

.header_languageselector a:hover,
.header_languageselector a.akt {
  transform: scale(1);
  opacity: 1;
}

.flag.de { background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='15'><rect width='20' height='15' fill='black'/><rect y='5' width='20' height='5' fill='red'/><rect y='10' width='20' height='5' fill='gold'/></svg>");}
.flag.fr { background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='15'><rect width='6.7' height='15' fill='blue'/><rect x='6.7' width='6.6' height='15' fill='white'/><rect x='13.3' width='6.7' height='15' fill='red'/></svg>"); margin-left: .5rem !important;  }
.flag.en { background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='15'><rect width='20' height='15' fill='navy'/><path d='M0,0 L20,15 M20,0 L0,15' stroke='white' stroke-width='3'/><path d='M0,0 L20,15 M20,0 L0,15' stroke='red' stroke-width='1.5'/><rect x='8' width='4' height='15' fill='white'/><rect y='6' width='20' height='3' fill='white'/><rect x='9' width='2' height='15' fill='red'/><rect y='7' width='20' height='1.5' fill='red'/></svg>"); margin-left: .5rem !important; }
.flag.nl { background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='15'><rect width='20' height='15' fill='red'/><rect y='5' width='20' height='5' fill='white'/><rect y='10' width='20' height='5' fill='blue'/></svg>"); margin-left: .5rem !important; }



/* ---------- TABLET ----------*/


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

	.responsive_tablet_landscape_hide {
		display: none !important;
	}
	
	.footer_box {
		margin-right: 2rem;
	}
		
	#footer_linklist {
		column-count: 1;
	}
	
	.dk_grid-05_image-fixed_cont {
		width: 70% !important;
	}
	
	#header_top a {
		margin-right: 1rem;
	}
}

/* ---------- TABLET ----------*/


@media only screen and (max-width: 1023px) {
	
	body {
		font-size: 16px;
		font-size: 1rem;
	}
	
	h1 {
		font-size: 32px;
		font-size: 2rem;
	}
	
	h2, h3 {
		font-size: 24px;
		font-size: 1.5rem;
		background-position: 0 0;
		padding: 6px 0 0 0;
	}
		h2:before {
			bottom: -8px;
			bottom: -.5rem;
		}
	
	.wrapper {
		max-width: 96%;
	}

	.minipic, .minipic_r, .minipic_l, .minipic_zoom, .minipic_r_zoom, .minipic_l_zoom {
		max-width: 250px !important;
		height: auto !important;
	}
	
	/*
	#minilogo_wrapper {
		display: none;
	}
	#logo_wrapper {
		top: 20%;
		right: 5%;
		z-index: 90;
	}
	#logo_wrapper {
		display: none;
	}	
	*/
	
	#logo_wrapper {
		width: 60%;
	}
		#header_mainlogo {
			width: 100%;
		}
			
	.list_subcat_item_cont h2 {
		margin-bottom: 24px !important;
		margin-bottom: 1.5rem !important;
	}
	
	/*
	.start_box {
		width: 49%;
	}
	*/
	
	#header_top a {
		padding: 14px 4px;
	} 
	#header_top a .header_top_icon {
		width: 40px;
		height: 40px;
		margin-right: 6px;
	}
	
	#header_topnavi #minilogo_wrapper {
		min-width: 160px;
	} 
	
	#banner {
		left: 100px;
		bottom: 50px;
	}
	
	#header_menu li a {
		padding: 1rem .25rem .5rem .25rem;
	}
	#header_teaser_cont {
		top: 50%;
	}
	
	
	.attr_listing ul {
		column-count: 3;
	}
	
	
	
	.galerie .galerie_coverimg {
		width: 32%;
		margin: 0 1% 2% 0;
	}
	
	.footer_box {
		margin-bottom: 48px !important;
		margin-bottom: 3rem !important;
	}
	
	#footer_mainlogo {
		width: 220px;
		max-width: none;
	}
	
	.dk_grid-02_teaser-left_cont.col-6,
	.dk_grid-03_teaser-right_cont.col-6 {
		width: 58.3333%;
	}
	.dk_grid-02_teaser-left_image.col-6,
	.dk_grid-03_teaser-right_image.col-6 {
		width: 41.6667%;
	}
	
	/* last */
	.responsive_tablet_portrait_hide {
		display: none !important;
	}
}




/* ---------- SMARTPHONE ---------- */

@media only screen and (max-width: 760px) {
	
	body {
		font-size: 16px;
		font-size: 1rem;
	}

	.wrapper {
		max-width: 100%;
	}
	
	a[href^=tel] {
		cursor: pointer;
		pointer-events: auto;
	}

	h1,
	.start_box a span{
		font-size: 38px;
		font-size: 1.75rem;
		margin-bottom: 8px;
		margin-bottom: .5rem;
	}

	h2, h3 {
		font-size: 24px;
		font-size: 1.5rem;
	}
		h3:before {
			bottom: -6px;
		}
	
	.cta {
		font-size: 16px;
		font-size: 1rem;
	}

	.wrapper {
		width: 94%;
	}

	#header_top, #header_menu, #header_pagination, #pathfinder {
		display: none;
	}
	
	#header_menu_cont {
		height: 54px;
	}
	
	#header_topnavi {
		padding: 4px 0;
		padding: .25rem 0;
	}
		.header_topnavi_link {
			/* display: block !important; */
		}
		
		#header_topnavi #minilogo_wrapper {
			width: 50%;
			min-width: auto;

		}
		
	#banner {
		left: 20px;
		bottom: 10px;
	}
		
	#facts {
		float: none;
		margin: -2rem 0 2rem 0;
		border-radius: 0;
	}

	.dk_grid-01_text_content.scrollanimation>p {
		padding-left: 0;
	}
		
				
	.dk_grid-05_image-fixed_cont {
		width: 90% !important;
		top: 10%;
		padding: 16px;
		padding: 1rem;
	}
	
	.dk_grid-06_header_room .dk_grid-06_header_room_content p:first-child {
		margin-left: 0;
	}
	
	
	
	.galerie .galerie_coverimg {
		width: 48%;
		margin: 0 2% 2% 0;
	}
	
	
	.attr_listing ul {
		column-count: 1;
	}
	
	
	#textlogo_wrapper {
		top: 15%;
	}
		#header_textlogo {
			width: 160px;
		}
		
	
	header {
		height: 50%;
	}
	
	#mobilebar_cont {
		display: block;
	}
	
	#logo_wrapper {
		width: 100%;
		padding-top: 96px;
		padding-top: 6rem;
	}

	
	#pathfinder_prefix {
		display: block;
		margin-right: 0; 
	}

	#content, .list_subcat_item_cont {
		line-height: normal !important;
	}
	
	#footer_navi {
		padding: 25px;
	}
	
	#footer_copyright {
		font-size: 0.6rem;
	}
	
	#footer_navi .wrapper {
		background: none;
		padding: 16px;
		padding: 1rem;
	}
	
		.footer_box {
			display: block;
			margin-right: 0;
			margin-bottom: 16px;
			margin-bottom: 1rem;
		}
	
	.poweredby_mcms_online {
		display: block;
	}
	
	#footer_navi .wrapper {
		width: 100%;
	}
	
		.footer_box {
			margin-bottom: 32px;
			margin-bottom: 2rem;
		}
	
		#footer_logo_cont {
			margin: 0;
		}
			#footer_mainlogo {
				width: 100%;
			}
	


	.minipic, .minipic_r, .minipic_l,
	.minipic_zoom, .minipic_r_zoom, .minipic_l_zoom,
	.list_subcat_item_pic img,
	#content_inner img  {
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		margin: 20px 0;
	}

	.minipic_r, .minipic_r_zoom {	
		margin-right: 0;
		padding-right: 0;
	}	

	.list_subcat_item {
		margin-right: 0;		
		padding-left: 10px;
		padding-right: 10px;		
		overflow: visible;
	}

	.list_subcat_item_cont {	
		padding: 10px;
	}

	.list_subcat_item_pic {
		position: static;
		margin-bottom: -5px;
		width: 100%;
		height: auto;
		overflow: visible;
	}
	.list_subcat_item_pic img {
		width: 100% !important;
		max-width: 100% !important;
	}	
	
	
	.dk_grid-03_teaser-right_cont {
		padding-left: 0;
	}
	.dk_grid-02_teaser-left_cont {
		padding-right: 0;
		padding-bottom: 0;
	}
	.dk_grid-02_teaser-left_image {
		padding-bottom: 32px;
		padding-bottom: 2rem;
	}
	.dk_grid-03_teaser-right_cont {
		padding-top: 8px;
		padding-top: .5rem;
	}
	.dk_grid-02_teaser-left_image img,
	.dk_grid-03_teaser-right_image img {
		width: 100%;
	}
	
	
	.col-6 {
		flex: 100%;
	}
	/*
	.col-row {
		flex-direction: column-reverse;
	}
	.col-6 {
		flex: 100%;
		width: 100%;
	}
	.dk_grid-02_teaser-left_cont.col-6,
	.dk_grid-02_teaser-left_image.col-6,
	.dk_grid-03_teaser-right_cont.col-6,
	.dk_grid-03_teaser-right_image.col-6 {
		width: 100%;
	}
	*/
	   
    .survey {
      width: 100%;
    }
    	.survey .survey_slider label::before {
    		font-size: 12px;
    		font-size: .75rem;
    	}
	
	
	/* last */
	.responsive_smartphone_portrait_hide {
		display: none !important;
	}
}