@charset "utf-8";
/* CSS RESET */
/* CSS Reset für den Browser für bessere Standard Konformität */
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%; font: inherit; vertical-align: baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
	}
table {
	border-collapse: collapse;
	border-spacing: 0;
	}
html,body {
	width:100%;
	height:100%;
}
body {
	font-size:16px;
	line-height: 100%;
	font-family:Arial,Helvetica, sans-serif;
	background: #fff;
	color: #000;
	width:100%;
	height:100%;
	margin: 0 auto;
}

#inhalt {
	display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
	display: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */
	display: -ms-flexbox;      /* TWEENER - IE 10 */
	display: -webkit-flex;     /* NEW - Chrome */
	display: flex;       
	height: 100%;
	width:100%;
	box-pack:center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items:center;
	-webkit-box-align-items:center;
	align-items:center;		 }
#front {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	height: auto;
	width:auto;
	-webkit-box-orient: vertical;
    -webkit-flex-flow: column;
	-ms-flex-direction: column;
    flex-direction: column;
	box-pack:center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items:center;
	-webkit-box-align-items:center;
	align-items:center;		 
		}
#top {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	height: 100%;
	width:100%;
	-webkit-box-orient: vertical;
    -webkit-flex-flow: column;
	-ms-flex-direction: column;
    flex-direction: column;
	-webkit-box-justify-content: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items:flex-stretch;
	-webkit-box-align-items:center;
	align-items:flex-stretch;
		}
#content {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	height: 97%;
	width:100%;
	-webkit-flex-flow: column;
	-webkit-box-direction: column;
	box-orient: vertical;
	-webkit-flex-direction:column;
	flex-direction:column;
	-webkit-justify-content: center;
	justify-content: center;
	align-items:center;
	-webkit-align-items:center;
}
#menu {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	height: 90%;
	width:80%;
	-webkit-flex-flow: row;
	-webkit-box-direction: row;
	box-orient: horizontal;
	-webkit-flex-direction:row;
	flex-direction:row;
	box-align: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	align-items:space-between;
	-webkit-align-items:space-between;
	-webkit-flex-wrap: row wrap;
	flex-wrap: wrap;
	overflow-y:auto;
}
#main {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	height: 100%;
	width:100%;
	-webkit-flex-flow: column;
	-webkit-box-direction: column;
	box-orient: vertical;
	-webkit-flex-direction:column;
	flex-direction:column;
	box-align: center;
	-webkit-justify-content: center;
	justify-content: center;
	align-items:center;
	-webkit-align-items:center;
	overflow-y:hidden;
	height:90%;
}

#text {
	box-align: center;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	align-items:flex-start;
	-webkit-align-items:flex-start;
	text-align:jusitfy;
	text-align-last: justify;
	overflow-y:auto;
	margin:auto;
	padding:30px;
	margin-bottom:5%;
}
#kontakt {
	width:80%;
	max-width:90%;
	height:60%;
	margin: 3% auto;
	overflow-y: auto;
	padding-bottom:10%;
}
#impress {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	height: 83%;
	width:auto;
	align-items:flex-start;
	-webkit-align-items:flex-start;
	text-align:jusitfy;
	text-align-last: justify;
	overflow-y:auto;
}
#gallerie {
	min-width:150px;
	width:660px;
	max-width:90%;
	height:auto;
	max-height:90%;
	overflow:auto;
	margin: 3% auto;
}
#footer {
	padding-bottom:1%;	
		}
#butt {
	height:40%;
	width:80%;
	margin-bottom:1%;
	background:#fff;
}
.navi {
	box-flex:1;
	width: auto;
	height: auto;
	margin: auto;
	text-align:justify;
	text-align-last:justify;
	white-space:nowrap;
}
.navi_last {
	box-flex:1;
	width: auto;
	height: auto;
	margin: auto;
	text-align:justify;
	text-align-last:justify;
	white-space:nowrap;
}
#button {
	position:absolute;
	width:3.15em;
	width:3.5vmax;
	height:3.15em;
	height:3.5vmax;
	margin-top:-1.575em;
	margin-top:-1.75vmax;
	left:80%;
}
.but_back{
	height:100%;
	background:url(../zurueck.jpg) center right no-repeat;
	background-size:  100%;
		 }
.but_back:hover {
	background:url(../zurueck_hov.jpg) center right no-repeat;
	background-size:  100%;
}		

/*Text Definitionen*/
p {
	font-size:1.1em;
	/*font-size:3.2vmin;*/
	font-weight:300;
	line-height:100%;
	margin-bottom:10px;
}
#text p {
	font-size:1.45em;
	font-size:1.35vw;
	text-align:justify;
	text-align-last: justify;
	line-height:50%;
}
h1 {
	font-size:1.875em;
	font-weight: bold;
	line-height:100%;
	text-align: justify;
	text-justify: inter-word;
}
h2 {
	font-size: 1.5em;
	font-weight: 500;
	line-height:100%;
	text-align: justify;
	text-justify: inter-word;
}
.ueber2 {
	font-size: 1.7em;
	font-weight: 200;
	line-height:100%;
}
h3 {
	font:1.375em;
	font-weight: 200;
	line-height:100%;
	text-align: justify;
	text-justify: inter-word;
	margin-bottom:.5vw;
}
.ueber3 {
	font:1.375em;
	font-weight: 200;
	line-height:70%;
}
#impress h2 {
	font-size:2.45em;
	font-weight: 200;
	line-height:100%;
	text-align: justify;
	text-align-last: justify;
	display:inline;
}
#impress h3 {
	font-size:1.77em;
	display:inline;
}
#impress p {
	font-size:1.5em;
	text-align:justify;
	line-height:50%;
}
#impress h2:after, #impress h3:after, #impress p:after {
	content: "";
	display: inline;
	width: 100%;
}
/*Abstände für Über uns Text*/
#text .breit {
	letter-spacing: .15em;
}
	
.umbruch:after {
	display: inline-block;
	content: "\A";
	white-space:pre;
	width: 100%;
}
.breit_null{
	letter-spacing: 0em;
	word-spacing:0em;
}
.punkt {
	font-size:.8125px Times, serif;
	font-weight:800;
	color:#c02222;
	vertical-align:.25em;
}
#footer p {
	font-size:1.55em;
	font-size:1.5vmax;
	text-align:center;
	line-height:100%;
	margin:0;
}
#footer h2 {
	font-size:3.15em;
	font-size:3.5vmax;
	text-align:center;
}
#front h1 {
	font-size:6.1rem;
	font-size:13.5vmin;
	font-weight: bold;
	line-height:100%;
}
.red {
	color:#c02222;
}
.longst {
	display:inline;
}	
/*Diverses*/
.hidden {
	position:absolute;
	clip: rect(1px 1px 1px 1px); /* IE6 & 7 */
	clip: rect(1px, 1px, 1px, 1px);
}		
.direction {
	unicode-bidi:bidi-override;
	direction: rtl;
}
.nodisp {
	display: none;
}
.clearfix {
	clear:both;
}
	  
/*Link Definitionen*/
a {
	color:#000;
	text-decoration:none;
	border:none;
}
a:hover {
	color: c02222; 
}
a:visited {
	color: #000;
}
a:hover span {
	color:#000;
}
.navi a {
	font-size: 2.2em;
	font-weight:200;
	color:#000;
	line-height:95%;
  }
.navi_last a {
	font-size: 3em;
	font-weight:200;
	line-height:95%;
 }
.navi a:hover, .navi_last a:hover {
	color: #c02222;
}
.navi a:visited, .navi_last a:visited {
	color: #000;
}
.navi a:hover span {
	color:#000;
}
.imp1 {
	letter-spacing: .9rem;
	letter-spacing: .9vw;
}
.imp2 {
	letter-spacing: 1.4rem;
	letter-spacing: 1.4vw;
}
.imp3 {
	letter-spacing: .43rem;
	letter-spacing: .2vw;
	line-height:80%;
}

/*Kontaktformular*/
.cont:after {
	content: "."; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden;
}
.cont {display: inline-block;}
/* Hides from IE-mac \*/ 
* html .cont {
	height: 1%;
} 
.cont {
display: block;
}
/* End hide from IE-mac */

form div.cont label {
	display: inline;
}
input, textarea,select {
	padding: 2px;	
	border: solid 3px #dddddd;
    border-radius: 10px;	
	font-size: 1rem;
	line-height: 100%;  
	width: 95%;
	height:20px;
	background: #fff;  
	background: -webkit-gradient(linear,left bottom,left top,color-stop(0.13, #dddddd),color-stop(0.57, #fff));  
	background: -moz-linear-gradient(center bottom,#dddddd 13%,#fff 57%);  
}
input.error:hover, select.error:hover, textarea.error:hover,
input.error:focus, select.error:focus, textarea.error:focus,
input.error, select.error, textarea.error {
	border-color: #ff0000 !important;
	background: -webkit-gradient(linear,left bottom,left top,color-stop(0.0, #ff9999),color-stop(0.57, #fff));  
	background: -moz-linear-gradient(center bottom,#ff9999 0%,#fff 23%);
}
select option {
	background: #aaaaaa;
}
textarea {  
	width: 95%;  
	height: 130px;  
	line-height: 100%;  
}
input:hover, textarea:hover,  
input:focus, textarea:focus {  
	border-color: #000;  
}
label {
	color: #000;
	font-weight: bold;
	line-height:120%;
}
input.submit {  
	width: 30%;  
	padding: 1px;  
	background: #f00;  
	background: -webkit-gradient(linear,left bottom,left top,color-stop(0.13, #aaaaaa),color-stop(0.57, #dddddd));  
	background: -moz-linear-gradient(center bottom,#aaaaaa 13%,#dddddd 57%);
	border: 2px solid #000;
	border-top-color: #dddddd;
	border-bottom-color: #aaaaaa;
	border-left-color: #dddddd;
	border-right-color: #dddddd;
	border-radius:5px;
	font-size: 14px;  
	color: #000;  
	-moz-border-radius: 5px;  
	-webkit-border-radius: 5px;  
	text-shadow: 1px 1px 0px #fff;
}
input.submit:hover {
	border-bottom-color: #dddddd;
	border-top-color: #aaaaaa;
	border-left-color: #dddddd;
	border-right-color: #dddddd;
	background: #aaaaaa;  
	background: -webkit-gradient(linear,left bottom,left top,color-stop(0.13, #dddddd),color-stop(0.57, #aaaaaa));  
	background: -moz-linear-gradient(center bottom,#A99368 13%,#dddddd%);
}
div.cont {
	margin-bottom: 2%;
	display:block;
}

/*Formularprüfung*/
      }
.errorField {
	border: #ffffff 1px solid;
	font-size: 9pt;
	background-color: #fc6464;
}
#errorMessage {
	position: absolute;
    top:30px;
	left:340px;
	width:200px;
    height:75px;
    border: #ffffff 1px solid;
	padding:0 2px 0 2px;
}
			  
 /* tooltip styling. by default the element to be styled is .tooltip  */
  .tooltip {
    display:none;
    background: transparent url(black_arrow.png);
    font-size:12px;
    height:70px;
    width:160px;
    padding:25px;
    color:#eee;
}
/*Definitionen für die Bildergalerie*/
.thumbs {
	float:left;
	width:19%;
	margin:0% 1% 1% 0%;
	padding:0;
	cursor:pointer;
}
.thumbs img {
	width: 100%;
	border: 2px solid #fff;
}
.thumbs img:hover {
	border: 2px solid #f00;
}
.thumbs:nth-child(5n) {
	margin-right:0%;
}

#extra-info {
    position: relative;
    top: 5px;
    left: 0;
    right: 0;
    background: #000;
    color: #fff;
    opacity: 0.8;
    filter: alpha(opacity=80);
    padding: 10px;
	margin-bottom:10px;
}