/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('https://cdn.mcms.online/fonts/open-sans-v34-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('https://cdn.mcms.online/fonts/open-sans-v34-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('https://cdn.mcms.online/fonts/open-sans-v34-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('https://cdn.mcms.online/fonts/open-sans-v34-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('https://cdn.mcms.online/fonts/open-sans-v34-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('https://cdn.mcms.online/fonts/open-sans-v34-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* italianno - google fonts */
@font-face {
    font-family: 'Italianno';
    src: url('userfonts/Italianno-Regular.eot');
    src: url('userfonts/Italianno-Regular.eot?#iefix') format('embedded-opentype'),
        url('userfonts/Italianno-Regular.woff2') format('woff2'),
        url('userfonts/Italianno-Regular.woff') format('woff'),
        url('userfonts/Italianno-Regular.ttf') format('truetype'),
        url('userfonts/Italianno-Regular.svg#Italianno-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
/* lumberjack - https://www.1001fonts.com/lumberjack-font.html - https://transfonter.org */
@font-face {
    font-family: 'Lumberjack Inline Rough';
    src: url('userfonts/LumberjackInlineRough.eot');
    src: url('userfonts/LumberjackInlineRough.eot?#iefix') format('embedded-opentype'),
        url('userfonts/LumberjackInlineRough.woff2') format('woff2'),
        url('userfonts/LumberjackInlineRough.woff') format('woff'),
        url('userfonts/LumberjackInlineRough.ttf') format('truetype'),
        url('userfonts/LumberjackInlineRough.svg#LumberjackInlineRough') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}




* {
	box-sizing: border-box;
}

html {
	overflow-y: scroll;
	font-size: 16px;
	font-size: 1rem;
	height: 100%;
}

body {
	margin: 0;
	padding: 0;
	font-size: 18px;
	font-size: 1.125rem;
	font-family: 'Open Sans', sans-serif, arial;
	text-align: center;
	background-color: #333;
	color: #666;
	height: 100%;
}


img { border: 0; }
a, .rot { color: #D20000; text-decoration: none; }
a:hover { color: #ff0000; }
a[href^=tel] { cursor: default; pointer-events: none; }
p { margin: 0 0 16px 0; margin: 0 0 1rem 0; }


h1 {
	color: #D20000;
	font-family: 'Lumberjack Inline Rough';
	font-size: 64px;
	font-size: 4rem;
	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: 'Lumberjack Inline Rough';
	font-size: 64px;
	font-size: 4rem;
	font-weight: bold;
	margin: 12px 0 16px 0;
	margin: .75rem 0 1rem 0;
	color: #D20000;
	text-transform: uppercase;
}
	
h3 {
	font-family: 'Italianno';
	font-size: 48px;
	font-size: 3rem;
	font-weight: normal;
	margin: 0 0 24px 16px;
	margin: 0 0 1.5rem 1rem;
	color: #333;
	position: relative;
	display: inline-block;
	padding-right: 10rem;
}
	h3:before {
		display: block;
		content: ' ';
		width: 9rem;
		height: 1px;
		background-color: #999;
		position: absolute;
		top: 2rem;
		right: 0;
		transition: all .7s;
	}

	
h4 {
	font-family: 'Open Sans', sans-serif, arial;
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: normal;
	margin: 0 0 16px 0;
	margin: 0 0 1rem 0;
	color: #D20000;
}
	h4 .klein {
		font-size: 16px;
		font-size: 1rem;
		color: #888;
	}



header, main, footer {
	text-align: left;
}

main ul li {
	margin-bottom: 12px;
	margin-bottom: .75rem;
}
main ul li::last-child {
	margin-bottom: 0;
}


.wrapper,
.list_subcat {
	margin: 0 auto;
	width: 1400px;
}


#header {
	height: 70%;
	position: relative;
}


#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: 32px;
			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_topnavi {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 1000;
	padding: 16px 0;
	padding: 1rem 0;
	background-color: #111;
	font-size: 14px;
	font-size: .875rem;
	text-align: right;
	box-shadow: 0 0px 10px rgba(0,0,0,0.3);
}
	
	#header_topnavi .wrapper {
		position: relative;
	}

		#header_topnavi #minilogo_wrapper {
			position: absolute;
			top: 0;
			left: 0;
			width: 120px;
			/*
			min-width: 180px;
		    visibility: hidden;
		    opacity: 0;
  			*/
  			transition: all .5s linear;
		}
		
			#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: #D20000;
				padding: 3px;
			}
			
		#header_topnavi a:hover {
			color: #444;
		}
			#header_topnavi a:hover span[class^=icon-] {
				color: #660000;
			}
	

#header_menu_cont {
	position: fixed;
	z-index: 99;
	top: 0;
	width: 100%;
	background-color: rgba(0,0,0,.7);
	box-shadow: 0 3px 6px rgba(0,0,0,.6);
	padding-top: 32px;
	padding-top: 2rem;
}	

	#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: 16px;
				font-size: 1rem;
				padding: 48px 12px 16px 12px;
				padding: 3rem .75rem 1rem .75rem;
				color: #ccc;
				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: #fff;
				background-color: rgba(255, 0, 0, .2);
			}
			#header_menu li a:hover:before,
			#header_menu li a.header_menu_akt:before {
				color: #D20000;
				background-color: #D20000;
				width: 100%;
			}



#header_fullsize {
	/* opacity: 0.65; */
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 100%;
	position: relative;
}

	#header_fullsize .wrapper {
		height: 100%;
	}
	
	
#header_fullsize_mask {
	position: relative;
	width: 100%;
	height: 100%;
}
	#header_fullsize_mask::after {
		content: ' ';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: transparent url(../images/bg_banner_bottom.png) bottom left repeat-x;
	}
		
	#header_fullsize_mask::before {
		display: block;
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.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: 50%;
	transform: translate(-50%, -40%);
	*/
	left: 10%;
	bottom: 10%;
	text-shadow: 5px 4px 8px rgba(0,0,0,.5);
}

	#header_teaser_cont #header_teaser {
		font-family: 'Lumberjack Inline Rough';
		color: #fff;
		font-size: 48px;
		font-size: 3rem;
		transform: rotate(-2deg);
	}
		#header_teaser_cont #header_teaser span {
			display: inline-block;
			padding: 8px;
			padding: .5rem;
			margin-bottom: 8px;
			margin-bottom: .5rem;
			background-color: rgba(0, 0, 0, .6);
			box-shadow: 3px 5px 10px rgba(0,0,0,.2);
		}
		#header_teaser_cont #header_teaser span.highlight {
			font-size: 96px;
			font-size: 6rem;
			font-weight: bold;
			margin-left: -8px;
			margin-left: -0.5rem;
			background-color: rgba(220,0,0,.7);
		}


/* --- SCROLLDOWN --- */


#header.scrolldown #header_topnavi #minilogo_wrapper {
	/*
	visibility: visible;
	opacity: 1;
	*/
	width: 80px;
}

#header.scrolldown #header_fullsize #header_menu li a {
	padding-top: 36px;
	padding-top: 2.25rem;
	padding-bottom: 10px;
	padding-bottom: .625rem;
}
			
			


/* --- PAGE --- */	


#page {
	/* padding: 40px 0 0 0; */
	background-color: #FFFFFB;
	overflow: auto;
	box-shadow: 0 3px 6px rgba(0,0,0,.3);
}
	#page p {
		line-height: 150%;
	}




/* --- PATHFINDER --- */

#pathfinder_cont {
	padding: 16px 0;
	padding: 1rem 0;
	background-color: #fff;
}

#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: #999;
	}
	#pathfinder a:hover {
		color: #e00;
	}


/* --- 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: #fff;
}
.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: #f4f4f4;
}
*/

/*
div[class^=dk_grid-] .wrapper {
	border-top: 1px #000 solid;
}
*/

.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-02_teaser-left_image,
.dk_grid-03_teaser-right_image {
	z-index: 2;
	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%;
	margin-left: 50%;
	transform: translate(-50%);
}


.dk_grid-05_image-fixed {
	position: relative;
	height: 600px;
	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,
		.dk_grid-02_teaser-left_image::before,
		.dk_grid-03_teaser-right_image::before {
			content: ' ';
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: transparent url(../images/bg_banner_bottom.png) bottom left repeat-x;
			z-index: 1;
		}
		.dk_grid-05_image-fixed_image::after,
		.dk_grid-02_teaser-left_image::after,
		.dk_grid-03_teaser-right_image::after {
			content: ' ';
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: transparent url(../images/bg_banner_top.png) top left repeat-x;
			z-index: 1;
		}
		
	.dk_grid-05_image-fixed_cont {
		position: absolute;
		bottom: 20%;
		left: 10%;
		width: 40% !important;
		z-index: 1;
		
		color: #444;
		padding: 0 16px;
		padding: 0 1rem;
		border-radius: 8px;
	}
	.dk_grid-05_image-fixed_title {
		color: #fff;
		text-shadow: 2px 2px 4px rgba(0,0,0,.3);
	}
	.dk_grid-05_image-fixed_content {
		color: #eee;
		text-shadow: 2px 2px 4px rgba(0,0,0,.3);
	}


.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: #D20000;
	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: 12px;
	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, 
.responsive_smartphone_portrait_only {
	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;
	padding-right: 20px;
	background-color: rgba(200,0,0,.7);
	border-radius: 6px;
}
.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;
	height: auto !important;
}

/*
.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;
			}
			.galerie .galerie_coverimg a:hover span {
				background-color: #D20000;
			}
			
	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;
		border-radius: 8px;
	}
	
	.dk_grid-01_text:nth-child(odd) .list_subcat_item,
	.dk_grid-02_teaser-left:nth-child(odd) .list_subcat_item,
	.dk_grid-03_teaser-right:nth-child(odd) .list_subcat_item {
		background-color: #fff;
	}
		.list_subcat_item a {
			color: #D20000;
		}
		.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%;
					border-radius: 8px;
				}
				
			.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: #D20000;
		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: #D20000;
	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: #D20000;
	color: #fff;
	text-transform: uppercase;
}
	.cta:hover {
		background-color: #660000;
		color: #fff;
	}

	.cta span[class^=icon-] {
		margin-right: 8px;
	}
	
	
	

/* ---------- KURSBUCHUNG ---------- */

.kurs_cont {
	padding: 32px 24px;
	padding: 2rem 1.5rem;
	background-color: #f6eeef;
	margin-bottom: 32px;
	margin-bottom: 2rem;
}
.kurs_cont:last-child {
	border-bottom: 0;
}
	.kurs_cont h3 {
		margin-top: 0;
	}
	
.kurs_cont.kurs_cont_short {
	margin-left: 100px;
	border-radius: 6px;
}
.kurs_cont .kurs_imgpreview {
	border-radius: 100%;
	border: 6px #fff solid;
	box-shadow: 5px 4px 30px rgba(0,0,0,.2);
	width: 200px;
	height: 200px;
	object-fit: cover;
	margin-left: -100px;
	float: left;
	margin-right: 16px;
}	

.kurs_cont .kurs_date {
	display: inline-block;
	padding: 8px;
	background-color: rgba(220,0,0,.7);
	color: #fff;
	transform: rotate(-2deg);
}
	

.bar_cont {
	display: block;
	width: 100%;
	background-color: #fff;
	border: 1px #bbb solid;
}
	.bar_inner {
		display: block;
		height: 10px;
		background-color: #006371;
	}
	
.buchungsform {
	background-color: #fff;
	padding: 16px;
	padding: 1rem;
}
	.buchungsform div {
		padding: 16px;
		padding: 1rem;
	}
		.buchungsform div label {
			display: inline-block;
			width: 200px;
		}
		.buchungsform div label.fullsize {
			width: 100%;
		}
		.buchungsform div input[type="text"] {
			font-size: 20px;
			font-size: 1.25rem;
			padding: 5px;
			border: 1px #777 solid;
			border-radius: 4px;
			background-color: #f4f4f4;
		}
		.buchungsform div input[type="submit"] {
			font-size: 16px;
			font-size: 1rem;
			padding: 8px 16px;
			padding: .5rem 1rem;
			border: 1px #777 solid;
			border-radius: 4px;
			background-color: #237f52;
			color: #fff;
			cursor: pointer;
			box-shadow: 2px 3px 5px rgba(35, 127, 82, .3);
		}
		.buchungsform div input[type="submit"]:disabled {
			background-color: #999;
		}
		.buchungsform div input[type="submit"]:hover {
			box-shadow: 2px 3px 5px rgba(35, 127, 82, .6);
		}



	



/*	--- KARTE --- */

#dk_map_cont {
	width: 100%;
	height: 600px;
	max-height: 60vh;
}
#dk_map {
	width: 100%;
	height: 100%;
	z-index: 90;
}




/* -------- Banner --------- */


.banner_insta {
	background-color: #D20000;
}

	.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;
			}


/* ---------- 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_topnavi #minilogo_wrapper {
		width: 210px;
	}
	#header.scrolldown #header_topnavi #minilogo_wrapper {
		width: 200px;
	}
	
	#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;
	}	
	*/
	
	#header_topnavi #minilogo_wrapper {
		width: 110px;
	}
	#header.scrolldown #header_topnavi #minilogo_wrapper {
		width: 110px;
	}
	
	#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_menu {
		margin-left: 0;
	}
	*/
	
	#header_top a {
		padding: 14px 4px;
	} 
	#header_top a .header_top_icon {
		width: 40px;
		height: 40px;
		margin-right: 6px;
	}
	
	#header_topnavi a {
		margin-left: 8px;
		margin-left: .5rem;
	}
		
	#banner {
		left: 100px;
		bottom: 50px;
	}
	
	
	
	.attr_listing ul {
		column-count: 3;
	}
	
	
	.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: 48px;
		font-size: 3rem;
	}
		h3:before {
			bottom: -6px;
		}
	
	.cta {
		font-size: 16px;
		font-size: 1rem;
	}

	.wrapper {
		width: 94%;
	}

	#header_top, #header_menu, #header_pagination {
		display: none;
	}
	
	#header_menu_cont {
	}
	
	#header_topnavi {
		height: 60px;
		padding: 4px 0;
		padding: .25rem 0;
	}
		
		#header_topnavi #minilogo_wrapper {
			width: 66px !important;
		}
		
		
	#header_teaser_cont #header_teaser {
		font-size: 32px;
		font-size: 2rem;
	}
	#header_teaser_cont #header_teaser span.highlight {
		font-size: 48px;
		font-size: 3rem;
		line-height: 40px;
		line-height: 2.5rem;
	}
		
				
	.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_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: 50%;
			}
	


	.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%;
	}
	*/
	   
	.kurs_cont.kurs_cont_short {
		margin-left: 50px;
	}
	.kurs_cont .kurs_imgpreview {
		margin-left: -50px;
		width: 100px;
		height: 100px;
	}
	
	h3:before {
		content: none;
	}
	
	
	/* last */
	.responsive_smartphone_portrait_hide {
		display: none !important;
	}
	.responsive_smartphone_portrait_only {
		display: initial;
	}
}
