@import url(farben.css);
@import url(schriften.css);

/* Normalizes margin, padding --------------------------- */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, p, blockquote, th, td 
{ margin : 0; padding : 0; }

ol,ul { list-style : none; }

table { border-collapse : collapse; border-spacing : 0; }

fieldset,img { border : 0; }

caption,th { text-align : left; }

/* Ende: Normalisierungen -------------------------------- */

/* Allgemeines Layout =========================================== */

img,
div#mapBauz,
div#mapHoy {
	border: 1px solid #AAA;
	border: 2px solid #FFFFFF;
}

img.icon {
	border: 0;
}
p {
	margin-bottom: 13px;
}

ul { 
	list-style-type: square;
	list-style-position: outside;
	padding-left: 2.5em;
	margin-top: 0.5em;
	margin-bottom: 1em;
}

ol { 
	list-style-type: decimal;
	list-style-position: outside;
	padding-left: 2.5em;
	margin-top: 1em;
	margin-bottom: 1em;
}

dl.std_def {
	float: none;
	width: 100%;
}

dt {
	font-weight: bold;
	font-style : italic; 
}
dl.std_def dt {
	float:left;
	clear:left;
	width: 120px;
}
dl.std_def dd {
	margin: 0 0 0 128px; 
	padding: 0 0 5px 0; 
}

dl.std_def dt:after { 
	content: ":"; 
}


ul.firmenliste, 
ul.firmenliste ul { 
	list-style-type: none;
	list-style-position: outside;
	padding-left: 0em;
	margin-top: 0em !important;
	margin-bottom: 2em;
}
ul.firmenliste ul,
ul.firmenliste { 
	padding: 0 !important;
}

ul.firmenliste > li {
	clear: both;

}

ul.firmenliste ul li {
	float: left;
}

ul.firmenliste h3 {
	clear: both;
	font-family: Verdana;
	font-size: 90%;
	font-weight: 800;
	line-height: 50px;
	letter-spacing: 0.01em;
	margin-bottom: 0 !important;
}

/* struktur: ul.firmenliste li (überschriften) ul li (bilder im a) */
ul.firmenliste li ul li,
ul.firmenliste li ul li span {
	position: relative;
	width: 172px;
	height: 65px;
	float: left;
	cursor:pointer;
}   

ul.firmenliste li ul li a {
	text-indent: -9999px;  
}

ul.firmenliste li ul.fahrraeder li,
ul.firmenliste li ul.fahrraeder li span {
	height: 33px;
	line-height: 33px;
}
ul.firmenliste li ul.zubehoer li,
ul.firmenliste li ul.zubehoer li span {
	height: 56px;
	line-height: 56px;
	margin-bottom: 0;
}
ul.firmenliste li ul.kleidung li,
ul.firmenliste li ul.kleidung li span {
	height: 44px;
	line-height: 44px;
}

ul.firmenliste img {
	border: 0 none;
}

p.weltlink {
	line-height: 23px;
	padding-left: 25px;
	background: url(/img/icons/welt.gif) left center no-repeat;
}

div.inhalt_seite h2.firmentitel {
	text-align: left;
}
div.inhalt_seite h2.firmentitel a span {
	display: block;
	position: relative;
	width: 100%;
	cursor:pointer;
	text-indent: -9999px;  
	height: 56px;
}
div.inhalt_seite h2.firmentitel a {
	text-indent: -9999px;  
}

.steckbrief dd {
	padding-left: 13px;
	display: block;
}

.steckbrief dt {
	float: none;
}

dl.steckbrief {
	width: 155px;
	margin-bottom: 20px;
}

img.steckbrief_bild {
	float: right;
	margin-left: 13px;
	margin-bottom: 13px;
}


/* Hauptkörper ================================================= */

body { 
	width : 950px;	
	margin : 0 auto;
	position : relative;
	text-align : left;
	border-top: 15px solid #009800; 
}

/* Corporate Id =================================================  */

#ci {
	position:relative;
	height: 192px;
	width: 100%;
	z-index: 1;
}

#ci h1 {
	position: absolute;
	height : 141px;
	width: 400px;
	left: 9px;
	top: 2px;
	text-indent : -9999px;
	z-index: 5;
}

#ci h1 span {
	display: block;
	width: 400px;
	height: 141px;
	cursor: pointer;
}

#ci_zitat {
	position: absolute;
	height: 132px;
	width:570px;
	left: 380px;
	z-index: 1;
	text-indent : -9999px;
}

/* Navigation ====================================================  */

#navi_main h2 {
	display: none;
}
#navi_main {
	position: absolute;
	height: 50px;
	top: 132px;
	left: 190px;
	z-index: 2;
}

#navlist {
	height: 40px;
	position: relative;
	list-style: none outside none;
	margin: 0;
	padding: 0;
	border: 0;
}

#navlist li
{
	position: absolute;
	margin: 0;
	padding: 0;
	width: 190px;
	height: 22px;
	border: 0;
	text-align: center;
	overflow: visible;

}

#navlist > li > a {
	position: relative;
	display: block;
	text-indent : -9999px;
	width: 190px;
	height: 22px;
	margin: 0;
	padding: 0;
	border: 0;
}

#navlist li a span {
	position: relative;
	display: block;
	width: 190px !important;
	height : 22px;
	text-indent : -9999px;
	cursor: pointer;
}


body div#navi_main ul#navlist li ul.sublist
{
	position: relative;
	width: 190px !important;
	list-style: none outside none;
	margin: 0;
	padding: 0;
	border: 0;
}

body div#navi_main ul#navlist li ul.sublist li
{
	display: inline;
	position: relative;
	margin: 0;
	padding: 0;
	border: 0;
	line-height: 18px;
}

#li_geschaeft {
	left: 0px;
	line-height: 19px;
}

#li_aktionen {
	left: 190px;
	line-height: 19px;
}

#li_service {
	left: 380px;
	line-height: 19px;
}

#li_angebot {
	left: 570px;
	line-height: 19px;
}

#li_news {
	display: block;
	text-align: center;
	line-height: 150px;
	left: -221px;
	top: -39px;
	height: 150px !important;
	width: 190px;
	z-index: 5;
}

#li_news > a {
	position: relative;
	height: 150px !important;
}

#li_news > a > span {
	position: relative;
	display: block;
	text-indent : -9999px;
	width: 190px;
	height: 150px !important;
	margin: 0;
	padding: 0;
	border: 0;
}

/* Inhalt der Seite ================================================ */

/* Großes Inhalts-DIV */
div.inhalt {
	position : relative;
	overflow: hidden;
	width : 100%;
	padding-top: 0px;
}

/* Container, Hauptinhalt */
div.inhalt_zentral {
	position: relative;
	float: left;
	width: 531px; /* 570 - paddings (26 13) */
	padding-left: 26px;
	padding-right: 13px;
}

/* Container, Seiteninhalt */
/*
div.inhalt_seite { 
	position: absolute;
	left: 570px;
	width: 341px; 
	padding-right: 26px;
	padding-left: 13px;	
	padding-top: 2px;
	z-index: 8;
}*/
div.inhalt_seite { 
	position: relative;
	clear:none;
	float:left;
	width: 341px; /* 380 - paddings (26 13) */
	padding-right: 0px;
	padding-left: 13px;	
	padding-top: 2px;
	z-index: 8;
}

/* Container, durchgehender Inhalt */

div.inhalt_durchgehend, div.inhalt_trenner { 
	position:relative;
	width: 898px;
	padding-right: 26px;
	padding-left: 26px;
	padding-top: 0px;
}

/* Allgemeine Formatierungen, Hauptinhalt ------------------------- */

div#inhalt_zentral em {
	display : inline;
	padding-right : 3px;
}

div.inhalt_zentral h2 {
	width: 100%;
	text-align: right;
	margin-bottom: 0.5em;
	padding : 0 0px;
}

div.inhalt_zentral h3 {
	width: 100%;
	margin-bottom: 0.3em;
	padding : 0 0px;
}

div.inhalt_seite h3 {
	text-align: right;
	width: 100%;
	margin-bottom: 0.3em;
	padding : 0 0px;
	padding-top: 9px;
}

div.inhalt_zentral > p, div.inhalt_zentral ol, div.inhalt_zentral ul {
	padding: 0 0px;
}

div.inhalt_zentral ol, div.inhalt_zentral ul {
	list-style: none;
	padding : 0 50px;
	margin-bottom: 0.7em;
}

div.inhalt_zentral p {
	margin-bottom: 0.7em;
}

div.inhalt_zentral p.centered {
	padding-top: 1.0em;
	text-align: center;
}
/* Allgemeine Formatierungen, Seiteninhalt ------------------------ */

div.inhalt_seite h2, div.inhalt_durchgehend h2 {
	width: 100%;
	text-align: right;
	margin-bottom: 0.5em;
	padding : 0 0px;
}

div.inhalt_seite dl {
	float: left;
}

/* Allgemeine Formatierungen, durchgehender Inhalt ---------------- */


/* Kalendar */
.kalendar *, .kalendar_navi * {
	display: inline;
	list-style-type: none;
	list-style-position: outside;
	padding: 0;
	margin: 0;
}

/* Container: Kalender */
ol.kalendar {
	width:950px;
	height:283px;
	display:block; 
	min-height: 200px;
	padding: 0;
	margin: 0;
}

/* Einzelne Tage */
.kalendar li li {
	color: #AAAA64;
	font-size: 85%;
	font-weight: bold;
	width:104px;
	height:52px;
	float:left;
	overflow:auto;
	padding-left: 3px;
	padding-right: 2px;
	padding-top: 2px;
	padding-bottom: 2px;
	background: url(../img/kalender_werktag.gif) center no-repeat; 
}
.kalendar li li > span {
	text-indent : -9999px;
}

.kalendar li li.wochenende {
	width:170px;
	background: url(../img/kalender_wochenende.gif) center no-repeat; 
}

.kalendar li#monat_zuvor li,
.kalendar li#monat_naechster li{
	background: url(../img/kalender_werktag_off.gif) center no-repeat; 
	color: #CCCC84;
}

.kalendar li#monat_zuvor li.wochenende,
.kalendar li#monat_naechster li.wochenende{
	width:170px;
	background: url(../img/kalender_wochenende_off.gif) center no-repeat; 
	color: #CCCC84;
}

/* Listen für die Termine eines Tags */
.kalendar li li ul li {
	color : #333;
	font-size:100%;
	font-weight: 500;
	display:block;
	height:auto;
	width:auto; 
	background: none;
	float:none;
	line-height: 105%;
}

ol.kalendar_navi {
	padding: 0;
	margin: 0;
	position: relative;
	width: 898px;
	text-align: center;
	padding-bottom: 10px;
}


/* News - Formatierung (alles unterhalb der Klasse news_XY) ------- */
.news-liste * {
	list-style-type: none;
	list-style-position: outside;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
}

ol.news-liste {
	padding: 0 !important;
}

.news-liste, .news-liste h2 {
	text-align: left;
}
.news_eintrag {
	padding-bottom: 0.5em;
	padding-top: 0.5em;
	clear:left;
	border-bottom: 1px solid #AAAA64;
}

div.inhalt_seite li.news_eintrag {
	border-bottom: 2px solid #ffff94;
}

li.news_eintrag p {
}

li.news_eintrag h3 {
	display: inline;
}

li.news_eintrag div.vcard {
	clear:both;
}

li.news_eintrag p.date {
	display: block;
	text-align: left;
	font-size: 80%;
	margin-bottom: 0em;
	padding: 0;
}
li.news_eintrag div.anhang {
	margin-top: -1.5em;
	text-align: right;
}

.news_eintrag div.anhang a {
	font-size: 80%;
}

.news_img {
	clear: both;
	overflow: hidden;
	float: left;
	padding: 0 !important;
	margin-right: 1em;
	margin-bottom: 0px;
}
.inhalt_seite .news_img {
	overflow: hidden;
	float: right;
	padding: 0 !important;
	margin-left: 0.5em;
	margin-right: 0;
	margin-bottom: 0.5em;
}

.news_img img {
	/*width: 160px;*/
	margin: 0;
	padding: 0;
}

/* Produkte ==== */
ol.produktliste,
div.filter ul {
	list-style-type: none;
	list-style-position: outside;
	padding: 0;
	margin: 0;
}

div.produktdetails h3.entwurf {
	color: red;
}
div.produktdetails h3.entwurf:after { 
	content: " (Entwurf)"; 
}

div.produktdetails h3,
ol.produktliste h3 {
	display: inline;
	padding: 0;
	margin: 0;
	border: 0;
	font-size: 90%;
}
ol.produktliste span.news_caption {
	display: block;
	float: left;
	text-indent: -9999px;
	text-align: left;
	background: url(/img/tag_news.gif) left top no-repeat;
	margin-top: 5px;
	margin-right: 6px;
	width: 34px;
	margin-bottom: 0px;
	height: 11px;
}
ol.produktliste span.produkt_caption {
	display: block;
	float: left;
	text-indent: -9999px;
	text-align: left;
	margin-top: 5px;
	margin-right: 6px;
	background: url(/img/tag_aktion.gif) left top no-repeat;
	width: 41px;
	margin-bottom: 0px;
	height: 11px;
}
ol.produktliste span.event_caption {
	display: block;
	float: left;
	text-indent: -9999px;
	text-align: left;
	margin-top: 5px;
	margin-bottom: 0px;
	margin-right: 6px;
	background: url(/img/tag_event.gif) left top no-repeat;
	width: 34px;
	height: 11px;
}


div.produktdetails span.preis,
ol.produktliste span.preis {
	display: block;
}
ol.produktliste img {
	float: left;
	margin-right: 0.5em;
	border-width: 2px;
}
ol.produktliste p {
	margin: 0;
}

ol.produktliste li {
	clear: left;
	background: url(../img/streifen_hintergrund.gif) center top no-repeat;
	padding-bottom: 5px;
	padding-top: 10px;
}
ol.produktliste li.selektiert {
	border-left: 8px solid #007700;
	padding-left: 8px;
}

div.produktdetails img.produktbild {
	float: left;
	width: 300px;
	margin-right: 10px;
	margin-bottom: 2px;
}

div.produktdetails div.anhang {
	margin-top: 1em;
}
div.produktdetails div.specs {
	margin-bottom: 1em;
}

div.produktdetails div.specs dl {
	margin-top: 5px;
}

div.produktdetails div.specs dl dt {
	font-weight: 500;
	font-style: normal;
	float:left;
	width: 55px;
}
div.produktdetails div.specs dl dd {
	margin: 0 0 0 63px; 
}

div.produktdetails div.specs dl dt:after { 
	content: ":"; 
}

div.produktdetails div.produktquelle div.vcard {
	display: inline;
}
div.produktdetails div.produktquelle {
	clear:both;
	text-align: right;
	font-size: 80%;
}

body div.inhalt_seite div.filter {
	margin-bottom: 6px;
	text-align: center;
}
body div.inhalt_seite div.filter ul {
	display: inline;
}
body div.inhalt_seite div.filter ul li {
	display: inline;
}

body div.inhalt_seite div.filter ul li a {
	font-size: 90%;
	background: #f0f08b;
	border: 1px solid #ffff94;
	padding: 1px;
	padding-left: 3px;
	padding-right: 2px;
}
body div.inhalt_seite div.filter ul li a.selected,
body div.inhalt_seite div.filter ul li a:hover {
	background: #009800;
	border: 1px solid #ffff94;
	color: #EEE;
}
body div.inhalt_seite div.filter span {
	font-size: 80%;
}

/* Footer ==========================================================  */

#site_infos { 
	position:relative;
	height: 37px;
	width: 924px;
	text-align: right;
	padding-right: 26px;
	padding-top: 0px;
	vertical-align: top;
}

#site_infos p, #site_infos h5 {
	position: relative;
	top: -2px;
	display : inline;

	padding-left: 4px;
}	

#site_infos h5 {
	display : none;
}

.admin_table th {
	color: #777;
	font-size: 80%;
	border: 1px solid #CCCC64;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-align: left;
	padding: 3px 3px 3px 6px;
	background-color: #FFF;
}

.admin_table tr {
	color: #333;
	font-size: 90%;
	border: 1px solid #CCCC64;
	text-align: left;
	padding: 1px 1px 1px 3px;
}

.admin_table td {
	padding: 1px 1px 1px 3px;
	border: 1px solid #CCCC64;
	background-color: #EEEE84;
}

/* Zend-Formular-Formatierungen */


ul.verantwortungsbereiche {
	margin: 0;
	padding: 0;
	padding-left: 15px;
	border: 0;
	list-style: none outside none;
}
ul.verantwortungsbereiche img {
	border: 1px solid #AAA;
	float: right;
}
ul.verantwortungsbereiche li {
	clear: right;
	vertical-align: top;
}
ul.verantwortungsbereiche li li {
	clear: none;
}

input, textarea, select {
	margin-right: 5px;
	border: 1px solid #AAA;
}

select {
	margin-bottom: 1em;
}

textarea {
	margin-top: 0.5em;
}

form#editForm dd {
	display: block;
	position: relative;
	left: 20px;
	clear:both;
	width: 420px;

}

form#editForm dt {
	position: relative;
	clear:left;
	margin-right: 8px;
	text-align: left;
	width: 300px;
	margin-top: 5px;
	margin-bottom: 2px;
}
form#editForm dt label
{
	clear: left;
	font-size: 90%;
	font-weight: 500;
}
form#editForm dt {
	float:left;
}

form#editForm dd label {
	clear:left;
	position: relative;
}

form#editForm dd br {
	display:none;
}
form#editForm dd label.optionen {
	clear: none;
	float: left;
	width: 140px;
}

input#save {
	margin-top: 1em;
}

form#send dd {
	display: block;

}

form#send dt {
	clear:left;
	margin-right: 8px;
	text-align: right;
	width: 6em;
}
form#send dt label
{
	clear: left;
	font-size: 90%;
	font-weight: 500;
}
form#send dt {
	float:left;
}

form#send dd label {
	clear:left;
	position: relative;
	left: 7.5em;
}

form#send input,
form#send textarea,
form#send select {
	width: 400px;
}
form#send ul.errors li {
	list-style-type: square;
	list-style-position: outside;
	margin-left: 1em;
	margin-top: 0.5em;
	margin-bottom: 1em;
}
form#send ul.errors li {
	color: red;
	font-style : italic; 
}

dl.def_durchsichten {
	float: none;
	width: 100%;
	margin-bottom: 5px;
}

dl.def_durchsichten dt {
	font-weight: 500;
	font-style : italic; 
}
dl.def_durchsichten dt {
	float:left;
	clear:left;
	width: 125px;
}
dl.def_durchsichten dd {
	margin: 0 0 0 125px; 
	padding: 0 0 5px 0; 
}

dl.def_durchsichten dt:after { 
	content: ":"; 
}


ol.wartung_zeitraeume {
	list-style-type: decimal !important;
	padding-left: 2.5em !important;
}


img.flowleft,
img.flowright {
	margin-top: 4px;
}

img.flowleft {
	float: left;
	margin-right: 1em;
}

img.flowright {
	float: right;
	margin-left: 1em;
	margin-right: 3px;
}

img.noborder {
	border: none;
}

div.oeffnungszeiten {
	margin-top: 50px;
}

div.oeffnungszeiten dd {
	padding: 0;
}

li.navi_newer,
li.navi_older,
li.navi_none {
	margin: 0 !important;
	border: 0 !important;
	background: none !important;
}

li.navi_newer,
li.navi_none {
	padding: 0 !important;
}
li.navi_newer a,
li.navi_older a,
li.navi_none a,
li.navi_newer a span,
li.navi_older a span,
li.navi_none a span {
	display: block;
	position: relative;
	height: 10px;
	text-indent: -9999px;
	width: 340px;
	cursor:pointer;
}
li.navi_newer a {
	background: url(/img/navi_up.gif) center no-repeat !important;
}
li.navi_older a {
	background: url(/img/navi_down.gif) center no-repeat !important;
}
li.navi_none a {
	background: url(/img/navi_none.gif) center no-repeat !important;
}

div.formatedText strong {
	font-weight: bold;
}

div.formatedText ol {
	list-style: decimal inside !important;
	margin:0 !important;
	margin-bottom: 5px !important;
}

div.formatedText ul {
	list-style: square inside !important;
	margin:0 !important;
	margin-bottom: 8px !important;
}

div.formatedText div {
	margin-bottom: 8px;
}

div.formatedText blockquote {
	margin-left: 40px;
	margin-right: 40px;
	text-align: center;
}

span.fulltextlink {
	font-size: 80%;
}

div.vcard {
	font-size: 80%;
}

span.uvp {
	font-size: 80%;
}


