@charset "utf-8";
/* CSS Document */

@charset "utf-8";
html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary,time, mark, audio, video {	
	margin: 0;	
	padding: 0;	
	border: 0;	
/*	font-size: 100%;	 */
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
html {
	box-sizing: border-box; 
	min-height:100%;
}
*, ::before, ::after { 
	box-sizing: inherit; 
}

body {
	font-family: 'Source Sans Pro', sans-serif;
	font-size:86%; 
	background-color:rgb(255,255,255);
	color:rgb(0,0,0);
}
/* Allgemeines */
strong, b {
	font-weight:600;
}
i {
	font-style: italic;
}
u {
	text-decoration: underline;
}

/* Container */
.screenwide {
	position: relative;
	width: 100%;
	clear:both;
}
.designwide {
	position: relative;
	width: 984px;
	padding:0;
	padding-left:22px;
	padding-right:22px;
	margin-left:auto;
	margin-right:auto;
	clear:both;
}
header {
	position: relative;
	min-height: 115px;
	width:100%;
	-webkit-display: flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	justify-content: space-between;
}
#logo {
	height:115px;
	width:auto;
}


#nav_main_group, #nav_lang_group {
	display:table-row;
	height:115px;
	width:auto;
}
#nav_main_group a {
	padding-left:20px;
	padding-right:20px;
}
#nav_lang_group a, #nav_lang_group .spacer {
	padding-left:3px;
	padding-right:3px;
}
#nav_main_group a, #nav_lang_group a, #nav_lang_group .spacer {
	display:table-cell;
	vertical-align:middle;
	color:inherit;
	text-decoration:none;
	font-weight:800;
	height:115px;
}
#nav_main_group a:hover, #nav_main_group a.active, #nav_lang_group a:hover, #nav_lang_group a.active {
	color:rgb(189,24,24);
}
#nav_main_group a:hover, #nav_main_group a.active {
	background-image: url(/img/red_line_5.png);
	background-repeat: no-repeat;
	background-size: 80% 5px;
	background-position: center bottom;
}




#top_illu {
	height: 35vh;
	height: 300px;
	background-image: url(/img/top_illu_1.jpg);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
}
#top_illu_content {
	height: 100%;
}
#top_illu #slogan {
	position:absolute;
	bottom:40px;
	left:22px; /* gleicher Wert wie padding-left von .designwide ! */
}
#nav_top_illu_group {
	position:absolute;
	top:0;
	right:0;
	width:500px;
	height:100%;
	vertical-align:top;
}
#nav_top_illu_group .nav_element {
	display: inline-block;
	width: 50%;
	height: 33.3%;
}
#nav_top_illu_group .nav_element:first-child {
	margin-right:50%;
}
#nav_top_illu_group .nav_element:last-child {
	margin-left:50%;
}
#nav_top_illu_group .nav_element a {
	display: block;
	height: 100%;
	width: 100%;
	padding: 20px;
	color: rgb(255,255,255);
	text-decoration: none;
	background-image: url(/img/arrow_right.png);
	background-repeat: no-repeat;
	background-position: right 24px bottom 24px;
	font-size: 1.2em;
	text-transform: uppercase;
}
#nav_top_illu_group .nav_element a.filler {
	background-image: none;
}
#nav_top_illu_group .nav_element a:hover, #nav_top_illu_group .nav_element a.active {
	background-color:rgb(189,24,24) !important;
}


#content_columns {
	-ms-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;	
	-webkit-display: flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	justify-content: space-between;
	padding-top:60px;
	padding-bottom:60px;
}
#content_columns a {
	color:inherit;
}
.content_column_left {
	width: 240px;
	min-height: 500px;
	background-image: url(/img/bg_content_column_left.png);
	background-repeat: no-repeat;
	background-position: right center;
}
.content_column_left h2 {
	display:inline-block;
	color: rgb(189,24,24);
	font-size: 1.3em;
	font-style: italic;
	margin-bottom: 0.5em;
}
.content_column_left p, .content_column_left ul {
	color:rgb(83,82,82);
	font-size:1.1em;
	margin-right:60px;
}
.content_column_left p, .content_column_left li {
	margin-bottom:1.5em;
}
.content_column_left ul {
	font-style: italic;
	list-style-position: outside;
	list-style-image: url(/img/li_dot_xl.png);
	margin-left:20px;
}
.content_column_left a {
	color:inherit;
}
.content_column_left a.link_more {
	color: rgb(255,255,255) !important;
	text-decoration: none;
	display: inline-block;
	background-color: rgb(189,24,24);
	padding-left: 25px;
	padding-top: 8px;
	padding-bottom: 8px;
	padding-right: 40px;
	background-image: url(/img/arrow_right.png);
	background-repeat: no-repeat;
	background-position: right 16px center;
	background-size: 16px;
}


.content_column_right {
	width:700px;
	padding-left:80px;
	padding-right:80px;
}
.content_column_right h1 {
	font-size:2.6em;
	font-weight:bold;
	color:rgb(189,24,24);
}
.content_column_right h1.txt_black {
	color:rgb(0,0,0);
}
.content_column_right h2 {
	font-size:2.6em;
	font-weight:100;
}
.content_column_right p, .content_column_right ul, .content_column_right ol {
	font-size:1.2em;
}
.content_column_right p, .content_column_right li {
	line-height:1.6em;
	margin-bottom:1.5em;
}

#content_bottom { /* Zitate */
	text-align: center;
	background-image: url(/img/bg_content_bottom.png);
	background-repeat: no-repeat;
	background-position: center top;
	padding-top:35px;
	padding-bottom:20px;
	font-size:2.8em;
	font-weight:100;
	color:rgb(189,172,157);
}



#footer_illu {
	min-height: 35vh;
	background-image: url(/img/footer_illu_home.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size:cover;
}
#footer_content {
	min-height: 35vh;
	background-color:rgba(255,255,255,0.9);
	padding-top:60px;
	padding-bottom:22px;
}
#footer_content_txt {
	-ms-hyphens: auto;
	-webkit-hyphens: auto;
/*	hyphens: auto;	 */
	text-align: center;
	padding-left:90px;
	padding-right:90px;
}
#footer_content_txt p {
	font-size:1.2em;
	line-height:1.8em;
	margin-bottom:1.8em;
}
#footer_content_txt h2 {
	font-size:2em;
	font-weight:bold;
	margin-bottom:1em;
}
#footer_content_nav {
	-webkit-display: flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	justify-content: space-between;
	padding-top:22px;
}
#footer_content_nav .nav_element {
	display: inline-block;
	width: 220px;
	height: 33.3%;
}
#footer_content_nav .nav_element a {
	display: block;
	height: 100%;
	width: 100%;
	padding: 20px;
	color: rgb(255,255,255);
	text-decoration: none;
	text-transform: uppercase;
}
#footer_content_nav .nav_element a:hover, #footer_content_nav .nav_element a.active {
	background-color:rgb(189,24,24) !important;
}

footer {
	-webkit-display: flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	justify-content: space-between;
	padding-top:60px !important;
	padding-bottom:60px !important;
}
footer a {
	color:inherit;
	text-decoration:none;
}
.footer_info_block:last-child {
	text-align:right;
}

#below_footer {
	-webkit-display: flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	justify-content: space-between;
	padding-top: 60px !important;
	padding-bottom: 60px !important;
	background-image: url(/img/bg_content_bottom.png);
	background-repeat: no-repeat;
	background-position: center top;
}



/* Farben */

.bg_col_white {
	background-color:rgb(255,255,255);
}
.bg_col_white_tranparent {
	background-color:rgba(255,255,255,0.9);
}
/* Flat Buttons oben */
#nav_top_illu_group .nav_element a.bg_flat_button_a {
	background-color:rgba(182,163,146,0.9);
}
#nav_top_illu_group .nav_element a.bg_flat_button_b {
	background-color:rgba(133,97,53,0.9);
}
#nav_top_illu_group .nav_element a.bg_flat_button_c {
	background-color:rgba(202,167,143,0.9);
}
#nav_top_illu_group .nav_element a.bg_flat_button_d {
	background-color:rgba(168,124,94,0.9);
}
/* Flat Buttons unten */
#footer_content_nav .nav_element a.bg_flat_button_a {
	background-color:rgba(182,172,164,0.9);
}
#footer_content_nav .nav_element a.bg_flat_button_b {
	background-color:rgba(128,109,86,0.9);
}
#footer_content_nav .nav_element a.bg_flat_button_c {
	background-color:rgba(195,177,165,0.9);
}
#footer_content_nav .nav_element a.bg_flat_button_d {
	background-color:rgba(162,139,124,0.9);
}

.txt_red {
	color: rgb(189,24,24);
}


/* Schatten */
.shadowed_bottom {
	-webkit-box-shadow: 0 0 10px rgb(217,217,217);
	-moz-box-shadow: 0 0 10px rgb(217,217,217);
	box-shadow: 0 0 10px rgb(217,217,217);
}
.shadowed_top {
	-webkit-box-shadow: 0 0 10px rgb(217,217,217) inset;
	-moz-box-shadow: 0 0 10px rgb(217,217,217) inset;
	box-shadow: 0 0 10px rgb(217,217,217) inset;
}

/* Helfer */
.v_zentriert {
	position: relative;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.v_center_container {
	display: -webkit-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}


/* Formular */
form {
	font-size:1.2em;
}
.required::after {
	content: " *";
	color: rgb(189,24,24);
	font-weight:600;
}
.input_pair {
	width:100%;
	margin-top:0.8em;
	margin-bottom:0.8em;
}
label {
	display:inline-block;
	width:25%;
}
input, textarea, select {
	display:inline-block;
	width:74%;
	font-family:inherit;
	font-size:inherit;
}

@media (max-width: 1030px){
	.designwide {
		width: 100%;
	}
}
@media (max-width: 1000px){
}
@media (max-width: 800px){
	header {
		flex-wrap:wrap;
	}
	#logo {
		order:1;
	}
	#nav_main_group {
		order:3;
		width:100%;
		height:60px;
		-webkit-display: flex;
		display: flex;
		-webkit-flex-direction: row;
		flex-direction: row;
		justify-content: space-between;
	}
	#nav_main_group a {
		display:inline-block;
		padding-left:0;
		padding-right:0;
		height:60px;
	}
	#nav_main_group a:hover, #nav_main_group a.active {
		background-size: 100% 5px;
		background-position: 0px 35px;
	}
	#nav_lang_group {
		order:2;
	}
	#nav_top_illu_group {
		width:100%;
	}
	#content_columns {
		-webkit-flex-direction: column-reverse;
		flex-direction: column-reverse;
		padding-top:20px;
	}
	.content_column_right {
		width:100%;
		padding-left:0;
		padding-right:0;
	}
	.content_column_left {
		width:100%;
	}
	#footer_content_txt {
		padding:0;
	}
	#footer_content_nav {
		flex-wrap:wrap;
	}
	#footer_content_nav .nav_element {
		width:50%;
		min-height:90px;
	}
	#footer_content_nav .nav_element a {
		min-height:90px;
	}
	footer {
		-webkit-flex-direction: column;
		flex-direction: column;
		padding-top:10px !important;
		padding-bottom:10px !important;
		font-size:1.2em;
	}
	footer .footer_info_block {
		text-align:center;
		line-height:1.8em;
	}
	.footer_info_block:last-child {
		text-align:center;
	}
	#below_footer {
		-webkit-flex-direction: column;
		flex-direction: column;
		text-align:center;
	}
	.stupid_spacer {
		display:none;
	}
}
@media (max-width: 780px){
	#nav_top_illu_group {
		top:300px;
		height:300px;
	}
	#content_columns {
		margin-top:200px;
	}
	#nav_top_illu_group .nav_element {
		height:auto;
	}
	#nav_top_illu_group .nav_element:first-child {
		margin-right:0;
	}
	#nav_top_illu_group .nav_element:last-child {
		margin-left:0;
	}
}
@media (max-width: 600px){
	#nav_top_illu_group, #footer_content_nav {
		font-size:80%;
	}
	#nav_top_illu_group .nav_element a {
		background-size:10px;
		padding:10px;
	}
	#logo img {
		width:55vw;
		height:auto;
	}
	#below_footer img {
		height:20px;
		width:auto;
	}
}
@media (max-width: 600px) and (orientation: landscape){
	#top_illu {
		/* height:55vh; */
	}
}
@media (max-width: 600px) and (orientation: portrait){
	#nav_top_illu_group .nav_element a {
		background-image:none;
	}
}
@media (max-width: 460px){
	#top_illu #slogan {
		right:22px;
	}
	#top_illu #slogan img {
		width:100%;
		height:auto;
	}
}
#wy {
	text-align:center;
	display:block;
	position:fixed;
	top:0;
	left:0;
}
.bausteintrenner {
	clear:both;
	width:100%;
	height:1px;
}
div.WebYepGalleryRow {
	width: auto;
	display: inline-block;
	margin-right: 6px;
	margin-bottom: 6px;
	border: 1px solid rgb(191,191,191);
}
div.WebYepGalleryCell {
	background-image: url(/img/back_gallery_element.png);
	background-repeat: no-repeat;
	background-position: left top;
	width:180px;
	height:180px;
}
div.WebYepGalleryImage {
	position: relative;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	text-align:center;
	padding-right:7px;
	padding-bottom:8px;
}
div.WebYepGalleryText {
	display:none;
	visibility:hidden;
}
div.galerie_edit_btn, .WebYepImageEditButton {
	z-index:99999;
	position:absolute;
}
