/* CSS Document */

/* reset browser defaults */
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, font, 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 {
  margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; border: 0; outline: 0; background: transparent; }

ol, ul { list-style: none; }

blockquote, q { quotes: none; }

table { border-collapse: collapse; border-spacing: 0; }

/* HTML5 display-role reset for older browsers */
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; }

/* FONT-INTEGRATION */

/* open-sans-300 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: local('Open Sans Light'), local('OpenSans-Light'),
       url('../fonts/opensans-light-webfont.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/opensans-light-webfont.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
    }

/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
       url('../fonts/opensans-regular-webfont.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/opensans-regular-webfont.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
    }

/* open-sans-600 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
       url('../fonts/opensans-semibold-webfont.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/opensans-semibold-webfont.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
    }

/* open-sans-700 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: local('Open Sans Bold'), local('OpenSans-Bold'),
       url('../fonts/opensans-bold-webfont.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/opensans-bold-webfont.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
        }
 
 /* ----- individual styling ----- */
 
body {
	background: #ffffff;
	color: #444444;
	font-family: 'Open Sans', sans-serif;
	font-size: 1.0em;
	font-weight: 400;
	}

/* ----- site structure ----- */

#wrapper {
	}

#site_area {
	}

header {
	width: 80%;
	margin: 30px 10%;
	}

#logo {
	width: 50%;
	float: right;
	margin: 0;
	padding: 0;
	text-align: right;
	}

#logo img {
	width: 100%;
	max-width: 300px;
	}

#kontakt {
	width: 50%;
	float: left;
	text-align: left;
	margin: 0;
	padding: 0;
	}

#subheader {
	background: #e5007d;
	margin: 0;
	}

#statement {
	padding: 20px 0;
	margin: 0 10%;
	width: 80%;
	display: block;
	font-size: 1.2em;
	}

.center {
	width: 80%;
	margin: 0 10%;
    }

#picture {
	width: 100%;
	margin: 10px auto 0 auto;
	}

#picture img {
	width: 100%;
	}

.gelb100 {
	background: #e5007d;
	width: 100%;
	padding: 20px 0;
	margin: 10px 0 0 0;
	}

div[role="navigation"] {
	width: 80%;
	margin: 0 10%;
	display: block;
	padding: 0;
	}

.clear {
	clear: both;
	}

#content {
	margin: 0;
	width: 65%;
	margin: 100px 5% 100px 0;
	float: left;
	}

#content img {
	width: 100%
	}

#zeiten {
	width: 26%;
	padding: 10px 2%;
	background: #d9dada;
	margin: 100px 0;
	float: left;
	font-size: 1.2em;
	}

footer {
	width: 100%;
	margin: 0 auto;
	padding: 20px 0;
	background: #d9dada;
	}

#footlink {
	width: 80%;
	margin: 0 10%;
	padding: 0;
	}
	
@media only screen and (max-width: 1050px) {
	header {
		width: 90%;
		margin: 30px 5%;
		}
	
	#logo {
		width: 50%;
		float: right;
		margin: 0;
		padding: 0;
		text-align: right;
		}
	
	#logo img {
		width: 100%;
		}
	
	#kontakt {
		width: 50%;
		float: left;
		text-align: left;
		font-size: 0.8em;
		margin: 0;
		padding: 0;
		}
	
	#subheader {
		background: #fee7c5;
		margin: 0;
		}
	
	#statement {
		padding: 10px 0;
		margin: 0 5%;
		width: 90%;
		display: block;
		}
	
	.center {
		width: 90%;
		margin: 0 5%;
		}
	
	#picture {
		width: 100%;
		margin: 10px auto;
		}
	
	#picture img {
		width: 100%;
		}
	
	.gelb100 {
		background: #fee7c5;
		width: 100%;
		padding: 10px 0;
		}
	
	div[role="navigation"] {
		width: 90%;
		margin: 0 5%;
		display: block;
		padding: 0;
		}
	
	.clear {
		clear: both;
		}
	
	#content {
		margin: 0;
		width: 65%;
		margin: 100px 5% 100px 0;
		float: left;
		}
	
	#content img {
		width: 100%
		}
	
	#zeiten {
		width: 26%;
		padding: 10px 2%;
		background: #d9dada;
		margin: 100px 0;
		float: left;
		}
	
	footer {
		width: 100%;
		margin: 0 auto;
		padding: 20px 0;
		background: #d9dada;
		}
	
	#footlink {
		width: 90%;
		margin: 0 5%;
		padding: 0;
		}
	}



/* ----- links and navigation ----- */

a:link, a:visited {
	color: #000000;
	text-decoration: underline;
	}

a:hover {
	text-decoration: none;
	color: #e5007d;
	}

a.menu {
  	display: none;
	}
	@media only screen and (max-width: 800px) {
    	a.menu {
			display: block;
			position: fixed;
			top: 10px;
			right: 30px;
			opacity: 0.5;
			z-index: 500;
			}
		}

div[role="navigation"] ul {
	}
	@media only screen and (max-width: 800px) {
		div[role="navigation"] ul {
			padding: 0;
			text-align: left;
			position: fixed;
			top: 50px;
			left: 0;
			width: 100%;
			background: #dcdcdc;
			opacity: 0.98;
			}
		}

div[role="navigation"] ul li {
	float: left;
	margin-right: 30px;
	}
	@media only screen and (max-width: 800px) {
		div[role="navigation"] ul li {
			display: block;
			margin: 0;
			float: none;
			height: 100%;
			}
		}

div[role="navigation"] ul li a {
	color: #fff;
	text-transform: uppercase;
	text-decoration: none;
	font-size: 1.2em;
	}
	@media only screen and (max-width: 800px) {
    	div[role="navigation"] ul li a {
			display: block;
			padding: 5% 10%;
			border-bottom: 1px solid #ffffff;
			font-size: 1.0em;
			}
		}

div[role="navigation"] ul li a:hover,
div[role="navigation"] ul li.active a {
	color: #000;
	text-decoration: none;
	}

#footlink ul {
	margin: 0;
	}

#footlink ul li {
	margin: 0;
	padding: 0;
	}

#footlink ul li a {
	color: #000000;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 0.7em;
	}

#kontakt a {
	text-decoration: none;
	}

#footlink ul li a:hover {
	color: #000000;
	text-decoration: underline;
	}

#zeiten ul.sub {
	margin: 0 0 50px 0;
	}

#zeiten ul.sub li {
	padding: 10px 0;
	}

#zeiten ul.sub li a {
	text-decoration: none;
	}

#zeiten ul.sub li a:hover, 
#zeiten ul.sub li.active a {
	text-decoration: underline;
	color: #000000;
	}

/* ----- html, classes and more -----*/

h1, .hl1 {
	color: #e5007d;
	font-size: 1.8em;
	font-weight: 300;
	line-height: 1.1em;
	margin: 0 0 30px 0;
	}

h2 {
	color: #c81227;
	font-size: 1.0em;
	font-weight: 600;
	}

marquee h2 {
	color: #fff;
	}

.hl2 {
	font-weight: bold;
	color: #000000;
	margin: 0;
	padding: 0;
	font-size: 0.8em;
	}

td {
	padding: 5px 5px 5px 0;
	line-height: 1.2em;
	}

p {
	padding: 10px 0;
	line-height: 1.4em;
	}

.bold {
	font-weight: 700;
	}

.italic {
	font-style: italic;
	}

.nopad {
	padding: 0;
	}

#zeiten ul {
	padding: 10px 0;
	}

#zeiten ul li {
	padding: 10px 0;
	border-bottom: 1px solid #ffffff;
	font-size: 0.8em;
	line-height: 1.2em;
	font-weight: 600;
	}

#zeiten ul li.hl2 {
	padding: 0 0 10px 0;
	font-weight: 700;
	}

#zeiten p {
	font-size: 0.8em;
	line-height: 1.2em;
	}

#zeiten p i {
	vertical-align: middle;
	margin: 0 10px 0 5px;
	}

#content ul {
	padding: 10px 0;
	}

#content ul li {
	list-style-type: disc;
	padding: 5px 0;
	margin: 0 0 0 15px;
	}

.team_pic,
.galerie {
	width: 290px;
	margin: 0 10px 0 0;
	}

a.lightview,
a.lightview img {
	border: none;
	text-decoration: none;
	padding: 0;
	margin: 0;
	}

a.teamlink1 img {
	width: 45%;
	float: left;
	border: none;
	text-decoration: none;
	padding: 0;
	margin: 0 10px 0 0;
	}

a.teamlink2 img {
	width: 45%;
	float: left;
	border: none;
	text-decoration: none;
	padding: 0;
	margin: 0;
	}

ul#leistungen li,
#content ul li {
	list-style-type: none;
	padding: 20px 0;
	border-bottom: 1px solid #c81227;
	margin: 0;
	line-height: 1.4em;
	}

ul#leistungen li h5 {
	font-weight: 600;
	padding: 0;
	}

#leistungen div,
#leistungen div.first { 
	display: none;
	padding: 20px 0 0 0;
	}

marquee {
	line-height: 1.2em;
	}

@media only screen and (max-width: 930px) {
	#zeiten ul li,
	#zeiten p {
		font-size: 0.8em;
		}
	}

@media only screen and (max-width: 800px) {
	header {
		width: 96%;
		margin: 40px 2% 10px 2%;
		}
	
	#logo {
		width: 100%;
		float: none;
		margin: 0;
		padding: 0;
		}
	
	#logo img {
		width: 100%;
		}
	
	#kontakt {
		width: 100%;
		float: none;
		text-align: left;
		font-size: 0.8em;
		margin: 0 0 20px 0;
		padding: 0;
		}
	
	#subheader {
		background: #fee7c5;
		margin: 0;
		}
	
	#statement {
		padding: 10px 0;
		margin: 0 2%;
		width: 96%;
		display: block;
		text-align: center;
		}
	
	.center {
		width: 96%;
		margin: 0 2%;
		}
	
	#picture {
		width: 100%;
		margin: 10px auto;
		}
	
	#picture img {
		width: 100%;
		}
	
	.gelb100 {
		background: none;
		width: 100%;
		padding: 0;
		}
	
	div[role="navigation"] {
		display: none;
		clear: left;
		margin-bottom: 20px;
		padding: 0;
		width: 100%;
			}
	
	.clear {
		clear: both;
		}
	
	#content {
		width: 96%;
		margin: 30px 2%;
		float: none;
		}
	
	#content img {
		width: 100%
		}
	
	#zeiten {
		width: 96%;
		padding: 10px 2%;
		background: #fee7c5;
		margin: 0 0 40px 0;
		float: none;
		}
	
	footer {
		width: 100%;
		margin: 0 auto;
		padding: 20px 0;
		background: #fef3e2;
		}
	
	#footlink {
		width: 96%;
		margin: 0 2%;
		padding: 0;
		}
	}