﻿@charset "UTF-8";

/* overflow: hidden and clearfix into an element to make NEXT elemtn stop float - clear: both is applied to a following elemtent! */

.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }

@viewport {
    zoom: 1.0;
    width: extend-to-zoom;
}

@-ms-viewport {
    width: extend-to-zoom;
    zoom: 1.0;
}

html {
	height: 100%; /* auto 100% fill */
}

body {
	height: 100%; /* auto 100% fill */
	background: white no-repeat;
	background-size: cover;
	font-family: 'Roboto', sans-serif;
	color: white;
	text-shadow: 0.07em 0.07em 0.2em black;
}

a {
	color: white;
}

a:link {
	color: white;
}

a:visited {
	color: white;
}

a:focus {
	color: white;
}

a:hover {
	color: #e3e3e3;
}

a:active {
	color: white;
}

b {
	font-weight: bold;
}

strong {
	font-weight: bold;
}

h1 {
	font-size: 1.25em;
	font-weight: bold;
	line-height: 1;
	margin-top: 0.4em;
	margin-bottom: 0.875em;
}

h2 {
	font-size: 1.125em;
	font-weight: bold;
}

h3 {
	font-size: 1em;
	font-weight: bold;
}

h4 {
	font-size: 1em;
	font-weight: bold;
}

p {
	font-size: 1em;
	line-height: 1.25;
	margin-top: 0.375em; /* 6px */
	margin-bottom: 0.375em; /* 6px */
}

p.nomarginbot {
	margin-bottom: 0;
}

div.center {
	text-align: center;
}

img.stretchlineimg {
	width: 95%;
	margin-bottom: 1em;
}

img.stretchcontentimg {
	width: 95%;
	margin-bottom: 0.375em;
}

#maindiv {
	background: transparent;
	overflow: hidden;
	width: 95%;
	min-width: 320px;
	max-width: 960px;
	height: 95%;
	margin: auto;
	position: absolute;
	top: 0; left: 0; bottom: 0; right: 0;
}

#masthead {
	text-align: center;
	height: 120px;
	background: transparent;
}

#topnav {
	height: 120px;
	background: url(../img/elements/banner_01.png) no-repeat;
	background-size: 100% 100%;
	-moz-border-radius-topleft: 50px;
	border-top-left-radius: 50px;
	-moz-border-radius-topright: 50px;
	border-top-right-radius: 50px;
}

.ulnav {
	display: inline-block;
	margin: 84px 0 0 0;
	padding: 0;
	zoom: 1; /* IE equiv */
	*display: inline;
}

.ulnav li {
	float: left;
	margin: 0 0.1em; /* 0.5em */
}

#mcontent {
    position: absolute;
    top: 120px;
	width: 100%;
    bottom: 40px;
	margin: 0 0 0 0;
}

#subcontentdiv {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: auto;	
	background: #71a8f5;
	text-align: center;
}

.newseintrag {
	width: 96%;
	margin-left: 2%;
	margin-right: 2%;
	margin-bottom: 1em;
	background: #5C98F3;
	-moz-border-radius: 25px;
	border-radius: 25px;
	padding-top: 10px;
	padding-bottom: 10px;
}

.newscontainer {
	width: 95%;
	margin: 0 auto;
	margin-top: -12px;
	overflow: auto;
}

.newstime {
	font-size: 0.75em;
	text-align: right;
	position: relative;
	top: -1.6em;
	margin-right: 30px;
}

.newsphoto {
	height: 180px;
	width: 180px;
	float: left;
	margin-right: 10px;
	margin-bottom: 10px;
	margin-top: 2px;
	border-radius: 10px;
}

.newstext {
	width: 100%;
	text-align: left;
}

.newstext > p.ersterabsatz {
	text-align: left;
	margin-top: 0px;
}

.newstext > p {
	margin: 6px 10px 6px 190px;
}

.produktouterbox {
	width: 870px; /* firefox 20px scrollbar width */
	text-align: center;
	display: inline-block;
	margin-top: 5px;
}

.produktbox {
	width: 270px;
	min-height: 390px;
	display: inline-block;
	margin: 10px 10px 0 10px;
	background-color: #5C98F3;
	float: left;
	-moz-border-radius: 10px;
	border-radius: 10px;
	overflow: hidden;
}

.produktimgspacefix {
	vertical-align: middle;
}

.produktinfobox {
	width: 268px;
	height: 68px;
	border: 1px dashed white;
	-moz-border-radius-bottomright: 10px;
	border-bottom-right-radius: 10px;
	-moz-border-radius-bottomleft: 10px;
	border-bottom-left-radius: 10px;
	position: relative;
}

.produktinfobox h2 {
	font-size: 0.875em;
	line-height: 1.25;
	margin-bottom: 0.25em;
	margin-top: 0.125em;
	font-weight: normal;
}

.produktinfobox p {
	font-size: 0.75em;
	line-height: 1;
	margin-top: 0.25em;
	margin-bottom: 0;
}

.produktinfobox p.preis {
	margin-top: 0.125em;
	font-size: 0.875em;
}

.impressumouter {
	width: 96%;
	margin: 0 auto;
}

.impressumleft {
	width: 50%;
	background: #5C98F3;
	text-align: left;
	float: left;
	min-height: 200px;
	-moz-border-radius-topleft: 25px;
	border-top-left-radius: 25px;
	-moz-border-radius-bottomleft: 25px;
	border-bottom-left-radius: 25px;
	padding-top: 0.875em;
	padding-bottom: 0.875em;
}

.impressumright {
	width: 50%;
	background: #5C98F3;
	text-align: left;
	float: left;
	min-height: 200px;
	-moz-border-radius-topright: 25px;
	border-top-right-radius: 25px;
	-moz-border-radius-bottomright: 25px;
	border-bottom-right-radius: 25px;
	padding-top: 0.875em;
	padding-bottom: 0.875em;
}

.impressumleft h2,
.impressumright h2 {
	margin-left: 0.625em;
	margin-bottom: 1.25em;
}

.impressumleft h3,
.impressumright h3 {
	margin: 0 0.875em 0.375em 0.625em;
}

.impressumleft h4,
.impressumright h4 {
	margin: 0;
}

.impressumleft p,
.impressumright p {
	margin: 0 0.875em 1.4em 0.625em;
}

.impressumleft p.pp,
.impressumright p.pp {
	margin: 0 0.875em 0.375em 0.625em;
}

.impressumleft p.ppp,
.impressumright p.ppp {
	margin: 0 0.625em 0.375em 0.625em;
}

.colordif {
	background-color: #578DE0;
	margin-right: 0.625em;
	margin-left: 0.625em;
	margin-top: 0.5em;
	padding: 0.375em;
	-moz-border-radius: 15px;
	border-radius: 15px;
}

.duophotoouter {
	width: 95%;
	text-align: center;
	padding: 0 0.5em;
}

.duophotoinnerbox {
	width: 48%;
	margin: 1%;
	float: left;
}

.duophotoimageresize {
	width: 100%;
	max-width: 180px;
}

.ulerfolge {
	list-style-type: square;
	margin: 0.25em 0 0em 1.875em;
}

.ulerfolge li {
	line-height: 1.25;
}

#kontaktanfrage li.label{
	font-size: 0.875em;
}

.fsmall {
	border: 0;
	border-radius: 10px;
	width: 180px;
	margin-top: 0.125em;
	margin-bottom: 0.5em;
	padding-left: 0.25em;
	padding-right: 0.25em;
}

.fbig {
	width: 98.5%;
	height: 200px;
	border: 0;
	resize: none;
	border-radius: 10px;
	margin-top: 0.125em;
	margin-bottom: 0.25em;
	padding: 0.25em;
}

.fsubmit {
	width: 100px;
	margin-bottom: 0.25em;
}

h3.kontakt {
	margin-bottom: 0.375em;
	margin-left: 0.75em;
}

.kontaktspacebot {
	margin-bottom: 0.75em;
}

.smalltext {
	font-size: 0.75em;
}

#fcontent {
    position: absolute;
    bottom: 0;
	height: 40px;
	width: 100%;
	background: url(../img/elements/footerbg.png) no-repeat;
	background-size: 100% 100%;
	-moz-border-radius-bottomleft: 50px;
	border-bottom-left-radius: 50px;
	-moz-border-radius-bottomright: 50px;
	border-bottom-right-radius: 50px;
}

#footernavright {
	text-align: right;
	position: relative;
	top: -2.6em;
}

.ulnavbotright {
	margin-top: 18px;
	display: inline-block;
}

.ulnavbotright li {
	font-size: 0.875em;
	float: right;
	margin: 0 0.5em; /* 0.5em */
}

#footernavleft {
	text-align: left;
}

.ulnavbotleft {
	margin-top: 2px;
	line-height: 1.1;
	display: inline-block;
}

.ulnavbotleft li {
	font-size: 0.75em;
	margin: 0 1em; /* 0.5em */
}

.buttonadjust{
	font-size: 15px;
	width: 120px;
}

.emailfix {
	margin-left: 0.55em;
}

.gmaps {
	width: 100%;
	height: 300px;
	border: 0;
	border-radius: 10px;
	margin-top: 0.5em;
}

.alignleft {
	text-align: left;
	margin-left: 0.25em;
}

.zusammensetzungsb {
	position: absolute;
	right: 0.25em;
	top: 1.25em;
	padding: 0 0.25em;
	background-color: #ddedff;
	color: black;
	text-shadow: none;
	border: 1px solid black;
	cursor: default;
}

.zusammensetzungsb:hover {
	
}

.zusammensetzungsb p {
	margin-top: 0;
	line-height: 1.25;
}

.zinfo {
	display: none;
	position: absolute;
	width: 250px;
	min-height: 100px;
	background-color: #ddedff;
	background-color: rgba(221, 237, 255, 0.75);
	border: 1px solid black;
	z-index: 1000;
	bottom: 3.25em;
	right: 0.25em;
	color: black;
	text-shadow: none;
	text-align: left;
	padding: 0 4px;
}

.inhaltstable {
	margin: 0.25em 0;
	width: 100%;
	font-size: 0.75em;
}

.inhaltstable th, td {
	line-height: 1.25;
}

.inhaltstable th.left {
	width: 85%;
	background-color: transparent;
}

.inhaltstable th.right {
	width: 15%;
	background-color: transparent;
}

.inhaltstable td.bleft {
	width: 75%;
	background-color: #E8F2FF;
}

.inhaltstable td.bright {
	width: 25%;
	background-color: #E8F2FF;
}

.inhaltstable td.dleft {
	width: 75%;
	background-color: #DEEDFF;
}

.inhaltstable td.dright {
	width: 25%;
	background-color: #DEEDFF;
}

.klein {
	font-size: 0.875em;
}

.labsatz {
	margin-top: 0.25em;
}

@media only screen and (min-width: 240px) and (max-width: 639px) {
	h1 {
		font-size: 1em;
		margin-bottom: 0.375em;
		margin-top: 0.2em;
	}
	h3 {
		font-size: 0.75em;
	}
	h4 {
		font-size: 0.75em;
	}
	p {
		font-size: 0.75em;
	}
	#maindiv {
		height: 100%;
	}
	#mcontent {
		top: 76px;
		bottom: 32px;
	}
	#masthead {
		height: 76px;
	}
	#topnav {
		height: 76px;
	}
	#fcontent {
		height: 32px;
	}
	.ulnav {
		margin: 50px 0 0 0;
	}
	h2.newstitle {
		font-size: 0.75em;
		text-align: left;
		margin-left: 10px;
	}
	.newstime {
		margin-right: 10px;
	}
	.newsphoto {
		height: 60px;
		width: 60px;
		margin-right: 5px;
		margin-bottom: 5px;
		margin-top: 4px;
	}
	.newstext > p {
		font-size: 0.75em;
		line-height: 1.2;
		text-align: left;
		margin: 6px 5px 6px 65px;
	}
	.produktouterbox {
		width: 290px;
	}
	.produktbox {
		width: 270px;
	}
	img.stretchlineimg {
		margin-bottom: 0.25em;
	}
	.impressumright h2,
	.impressumleft h2 {
		font-size: 0.75em;
		font-weight: bold;
	}
	.impressumright h3,
	.impressumleft h3 {
		font-size: 0.75em;
		margin-left: 0.375em;
	}
	.impressumleft p.ppp,
	.impressumright p.ppp {
		margin-left: 0.25em;
	}
	.colordif {
		margin-right: 0.25em;
		margin-left: 0.25em;
	}
	#kontaktanfrage li.label{
		font-size: 0.625em;
	}
	.fsmall {
		width: 95.5%;
	}
	.fbig {
		width: 95.5%;
	}
	.ulerfolge {
		margin-left: 0.5em;
		list-style-type: none;
	}
	.ulerfolge li {
		font-size: 0.75em;
		padding-left: 0em;
	}
	.buttonadjust{
		font-size: 11px;
		width: 74px;
		height: 20px;
		line-height: 20px;
	}
	#footernavright {
		top: -1.95em;
	}
	.ulnavbotleft {
		margin-left: 4px;
		margin-top: 4px;
		line-height: 1;
	}
	.ulnavbotleft li {
		font-size: 9px;
		margin: 0 0.4em;
	}
	.ulnavbotright li {
		font-size: 9px;
		margin: 0 0.125em;
	}
	.gmaps {
		display: none;
	}
}

@media only screen and (min-width: 640px) and (max-width: 959px) {
	#masthead {
		height: 120px;
	}
	#topnav {
		height: 120px;
	}
	.ulnav {
		margin: 84px 0 0 0;
	}
	.produktouterbox {
		width: 580px;
	}
	.produktbox {
		width: 270px;
	}
	.buttonadjust{
		font-size: 14px;
		width: 100px;
	}
}

@media only screen and (min-width: 960px) {
	#masthead {
		height: 120px;
	}
	#topnav {
		height: 120px;
	}
	.ulnav {
		margin: 84px 0 0 0;
	}
	.produktouterbox {
		width: 870px;
	}
	.produktbox {
		width: 270px;
	}
	.buttonadjust{
		font-size: 15px;
		width: 120px;
	}
}
