html,
body
{
	margin: 0;
	padding: 0;
	color: #414141;
	font: normal 12px Tahoma, Helvetica, Arial, sans-serif;
	line-height: 1.625em;
}
body
{
	background: #FFFFFF url(../images/layout/background.gif) repeat-x left 104px;
}

/* Links */

a
{
	color: #006400;
	text-decoration: none;
}
a:hover,
a:focus
{
	text-decoration: underline;
}
a img
{
	border: none;
}

/* Überschriften, Textabsätze */

h1
{
	margin: 0;
	padding: 0 0 0.625em 0;
	color: #008e07;
	font-size: 22px;
	font-weight: normal;
	line-height: 1.225em;
}
h2
{
	margin: 0;
	padding: 0.825em 0 0.425em 0;
	font-size: 17px;
	font-weight: normal;
	line-height: 1.325em;
}
h2.subheadline
{
	margin-top: -1.325em;
	padding-bottom: 0.625em;
}
h3
{
	margin: 0;
	padding: 0.625em 0 0.425em 0;
	color: #3D89D5;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.325em;
}
h4
{
	margin: 0;
	padding: 0.625em 0 0.425em 0;
	font-size: 13px;
	font-weight: bold;
}
p
{
	margin: 0;
	padding: 0.425em 0 0.425em 0;
}

/* Zitate und Referenzen */

blockquote
{
	margin: 0;
	padding: 0.425em 0 0.425em 0;
	color: #3d89D5;
	font: normal 18px Georgia, "Times New Roman", Times, serif;
	font-style: italic;
	line-height: 1.425em;
	text-indent: 2.025em;
}
cite
{
	color: #AAAAAA;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-style: italic;
}
q
{
	color: #3d89D5;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-style: italic;
}
q:lang(de)
{
	quotes: '»' '«';
	quotes: '„' '“';
}
q:lang(fr)
{
	quotes: '«' '»';
}

/* horizontale Trenner */

hr
{
	height: 0;
	margin: 1.025em 0 1.425em 0;
	padding: 0;
	border: none;
	border-top: solid 1px #DDDDDD;
}

/* Listen */

ul
{
	margin: 0;
	padding: 0.225em 0 0.425em 0;
	list-style-type: disc;
}
ul li
{
	margin: 0 0 0 16px;
	padding: 0.225em 0 0.225em 4px;
}
ul.custom
{
	list-style-type: none;
}
ul.custom li
{
	margin: 0 0 0 4px;
	padding: 0.225em 0 0.225em 16px;
	background: transparent url(../images/layout/bullet.gif) no-repeat left 0.925em;
}
ol
{
	margin: 0;
	padding: 0.225em 0 0.425em 0;
}
ol li
{
	margin: 0 0 0 20px;
	padding: 0.225em 0 0.225em 0;
}

/* Bilder, Bildunterschriften */

.imagecontainer
{
	/*
	padding: 2px;
	background-color: #FFFFFF;
	border: solid 6px #EBF5FF;
	*/
	margin-bottom: 40px;
	text-align: center;
}
.imagecontainer img,
img.imagecontainer
{
	padding: 3px;
	border: solid 1px #C6C6C6;
}
.imagecontainer p
{
	color: #606060;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	line-height: 1.325em;
	font-style: italic;
	text-align: center;
}
img.left,
.imagecontainer.left
{
	float: left;
	display: inline;
	margin: 0.625em 1.025em 0.225em 0;
}
img.right,
.imagecontainer.right
{
	float: right;
	display: inline;
	margin: 0.625em 0 0.225em 1.025em;
}

/* Datentabellen */

table.data
{
	width: 100%;
	margin: 0.825em 0 0.825em 0;
	background-color: #FFFFFF;
	border: solid 1px #DDDDDD;
	border-collapse: collapse;
	line-height: 1.425em;
}
table.data td
{
	padding: 0.425em 0.625em 0.425em 0.625em;
	border: solid 1px #DDDDDD;
	vertical-align: top;
}
table.data .numeric
{
	text-align: right;
}
table.data th
{
	padding: 0.425em 0.625em 0.425em 0.625em;
	border: solid 1px #DDDDDD;
	text-align: left;
	vertical-align: top;
}
table.data tr.even td,
table.data tr.even th
{
	background-color: #FBFBFB;
}
table.data thead td,
table.data thead th
{
	padding-top: 0.625em;
	padding-bottom: 0.625em;
	background-color: #EBEBEB;
}
table.data tfoot td,
table.data tfoot th
{
	background-color: #EBF5FF;
	color: #1C538A;
}

table.history
{
	margin: 0.425em 0 0.625em 0;
}
table.history th
{
	width: 120px;
	padding: 0.425em 0 0.425em;
	color: #008e07;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}
table.history td
{
	padding: 0.425em 0 0.425em;
}

table.mitarbeiter
{
	margin: 0.425em 0 0.625em 0;
}
table.mitarbeiter td
{
	width: 220px;
	padding: 0.425em 0 0.425em;
}
table.mitarbeiter img
{
	padding: 3px;
	border: solid 1px #C6C6C6;
}

/* System-Nachrichten-Felder */

.message
{
	margin: 1.425em 0 0.825em 0;
	padding: 0.325em 1.425em 0.625em 1.425em;
	border: solid 2px #EBF5FF;
	color: #1C538A;
}
.message *
{
	color: #1C538A;
}
.message a
{
	font-weight: bold;
	text-decoration: underline;
}
.message h2
{
	padding-top: 0.425em;
}
.message.error
{
	border-color: #F53B02;
	color: #8E3013;
}
.message.error *
{
	color: #8E3013;
}
.message.success
{
	border-color: #96E35D;
	color: #475D37;
}
.message.success *
{
	color: #475D37;
}

/* Formulare */

form
{
	margin: 1.025em 0 1.025em 0;
	padding: 0;
}
input.text,
textarea
{
	width: 240px;
	padding: 0.225em 0.225em 0.225em 0.225em;
	color: #34383C;
	border: solid 1px #789E73;
	font: normal 1em Tahoma, Helvetica, Arial, sans-serif;
}
input.text.small
{
	width: 60px;
}
input.text.medium
{
	width: 168px;
}
input.text.half
{
	width: 114px;
}
input.text.numeric
{
	text-align: right;
}
input.submit,
input.reset
{
	overflow: visible;
	margin: 0 8px 0 0;
	padding: 0.425em 0.825em 0.425em 0.825em;
	font: normal 1em Tahoma, Helvetica, Arial, sans-serif;
	border: none;
	cursor: pointer;

	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
}
input.radio,
input.checkbox
{
	padding: 0;
	margin: 0.125em 0 0 0;
	vertical-align: middle;
}
input.submit
{
	background-color: #008e07;
	border: solid 1px #105406;
	color: #FFFFFF;
}
input.submit:hover
{
	background-color: #105406;
}
input.reset
{
	background-color: #EFEFEF;
	border: solid 1px #ABABAB;
	color: #34383C;
}
input.reset:hover
{
	background-color: #DDDDDD;
	border-color: #9B9B9B;
}
label
{
	padding: 0.225em 0 0.225em 0;
	vertical-align: middle;
	cursor: pointer;
}
label.main
{
	float: left;
	/*width: 150px;*/
	width: 128px;
	padding-left: 16px;
	padding-right: 16px;
}
label.radio,
label.checkbox
{
	margin: 0 1.025em 0 0.125em;
}
span.required
{
	color: #D24115;
}
.row
{
	padding: 0.625em 0 0.625em 0;
	border-bottom: solid 1px #DDDDDD;
}
.row.first,
div.first
{
	border-top: solid 1px #DDDDDD;
}
.row.even
{
	background-color: #FBFBFB;
}
.row ul
{
	float: left;
	padding: 0;
	list-style-type: none;
}
.row ul li
{
	width: 240px;
	margin: 0;
	padding: 0.225em 0.525em 0.225em 0;
	border-top: solid 1px #DDDDDD;
}
.row ul li.first
{
	border-top: none;
}
div.submit
{
	margin: 1.025em 0 1.425em 0;
	padding: 0.625em 24px 0.625em 0;
	background-color: #EBEBEB;
	text-align: right;
}
div.captcha
{
	padding: 1.025em 0 1.025em 0;
	border-bottom: solid 1px #DDDDDD;
}
div.captcha p
{
	float: left;
	width: 136px;
	padding: 0 8px 0 16px;
	font-size: 11px;
}
div.captcha img
{
	float: left;
}
#reload_captcha
{
	display: inline;
	margin: 4px 0 0 8px;
}
div.captcha .row
{
	clear: both;
	margin: 12px 0 0 0;
	background-color: #FBFBFB;
	border: none;
}

/* Clear-Element */

.clear
{
	clear: both;
	float: none;
	width: auto;
	height: 0;
	margin: 0;
	padding: 0;
	border: none;
	font-size: 0;
	line-height: 0;
}

/* Druckausgabe */

.print
{
	display: none;
}

/* News-Listen */

h2.current_year
{
	margin: -1px 0 0 0;
	padding: 0.225em 12px 0.225em 12px;
	background: #f5f5f5;
	border-top: solid 1px #EAEAEA;
	color: #6b6b6b;
	font-size: 14px;
}
h2.current_year.first
{
	margin-top: 12px;
}
ul.news
{
	margin: 0;
	padding: 0;
	border-top: solid 1px #EAEAEA;
	list-style-type: none;
}
ul.news li
{
	clear: both;
	margin: 0;
	padding: 0.925em 0 1.225em 0;
	border-bottom: solid 1px #EAEAEA;
}
ul.news li.even
{
	background-color: #FAFCFF;
}
ul.news h2
{
	padding: 0 0 0.125em 0;
	font-weight: normal;
}
ul.news p.date
{
	color: #999999;
	font-size: 11px;
	text-transform: uppercase;
}
ul.news img,
ul.news .imagecontainer
{
	padding: 6px;
	border: solid 1px #E9E9E9;
	margin: 4px 12px 0 0;
}
ul.news p a
{
	color: #34383C;


}
ul.news p.date a
{
	color: #1C538A;
}
p.more a,
ul.news p.more a
{
	padding: 0.225em 4px 0.325em 8px;
	background: transparent url(../images/layout/icon_more.gif) no-repeat left center;
	color: #006400;
}
p.more a:hover,
p.more a:focus
{
	color: #008e07;
}

/* Framework */

#wrapper
{
	/*width: 1024px;*/
	width: 960px; /* 64px Differenz */
	margin: 0 auto 0 auto;
}
#left_column
{
	clear: both;
	float: left;
	/*width: 200px;*/
	width: 176px;
	padding: 0 16px 72px 16px;
}
#content
{
	float: left;
	width: 460px;
	padding: 29px 42px 72px 42px;
}
#content.wide
{
	/*width: 700px;*/
	/*width: 636px;*/
	width: 668px;
}
#right_column
{
	float: left;
	/*width: 240px;*/
	width: 208px;
	padding: 72px 0 72px 0;
}
#footer
{
	clear: both;
	padding-top: 24px;
	background: transparent url(../images/layout/footer_background.gif) repeat-x left top;
	border-top: solid 1px #E8E8E8;
}

/* Header > Logo */

#logo
{
	height: 104px;
	padding: 0;
	background: transparent url(../images/layout/header.jpg) no-repeat right top;
}
#logo a
{
	display: block;
	width: 100%;
	height: 100%;
	background: transparent url(../images/layout/logo.png) no-repeat 20px 14px;
}
#logo span
{
	display: none;
}

/* Header > Sprachauswahl */

#language_selection
{
	float: left;
	width: 240px;
	height: 40px;
}
#language_selection a
{
	float: left;
	height: 40px;
	padding: 0 20px 0 48px;
	color: #414141;
	font-size: 11px;
	line-height: 40px;
}
#language_selection a.german
{
	background: transparent url(../images/layout/flag_german.png) no-repeat 20px center;
}
#language_selection a.english
{
	background: transparent url(../images/layout/flag_english.png) no-repeat 20px center;
}

/* Header > Navigation */

#navigation
{
	float: left;
	height: 40px;
	padding: 0 0 0 2px;
	list-style-type: none;
	background: transparent url(../images/layout/navigation_separator.gif) no-repeat left top;
}
#navigation li
{
	float: left;
	height: 40px;
	margin: 0;
	padding: 0 2px 0 0;
	background: transparent url(../images/layout/navigation_separator.gif) no-repeat right top;
	font-size: 15px;
}
#navigation li.expanded
{
	position: relative;
}
#navigation li ul
{
	display: none;
}
#navigation li.expanded ul
{
	display: block;
}
#navigation a
{
	float: left;
	height: 31px;
	padding: 9px 24px 0 24px;
	color: #414141;
}
#navigation li.active a,
#navigation li.active a:hover,
#navigation li.active a:focus
{
	background: #DFDFDF;
}
#navigation a:hover,
#navigation a:focus,
#navigation li.expanded a,
#navigation li.expanded a:hover,
#navigation li.expanded a:focus
{
	background: transparent url(../images/layout/navigation_hover.gif) repeat-x left top;
	text-decoration: none;
}
#navigation ul
{
	position: absolute;
	left: -1px;
	top: 39px;
	width: 220px;
	padding: 0;
	border: solid 1px #D1D1D1;
	border-bottom: none;
	list-style-type: none;
}
#navigation li.expanded ul li
{
	float: none;
	height: auto;
	margin: 0;
	padding: 0;
	font-size: 11px;
}
#navigation li.expanded ul li a
{
	float: none;
	display: block;
	width: 172px;
	height: auto;
	padding-top: 0.325em;
	padding-bottom: 0.325em;
	background: #F8F8F8;
	border-bottom: solid 1px #D1D1D1;
}
#navigation li.expanded ul li a:hover,
#navigation li.expanded ul li a:focus
{
	background: #EFEFEF;
}

/* Linke Spalte > Subnavigation */

h2.subnavigation_title
{
	margin: 0 -16px 0 -16px;
	padding-top: 1.425em;
	padding-left: 16px;
	border-bottom: solid 1px #EAEAEA;
	font-size: 21px;
}
#subnavigation
{
	margin: 0 -16px 0 -16px;
	padding: 0;
	/*border-top: solid 1px #EAEAEA;*/
	list-style-type: none;
}
#subnavigation li
{
	margin: 0;
	padding: 0;
}
#subnavigation a
{
	display: block;
	width: 176px;
	padding: 0.525em 16px 0.525em 16px;
	border-bottom: solid 1px #EAEAEA;
	color: #414141;
}
#subnavigation a:hover,
#subnavigation a:focus
{
	background-color: #FAFAFA;
	text-decoration: none;
}
#subnavigation li.active a
{
	color: #008e07;
}
#subnavigation ul
{
	margin: 0;
	padding: 0;
	list-style-type: none;
}
#subnavigation ul li
{
	font-size: 11px;
}
#subnavigation li.active ul a
{
	width: 180px;
	padding-left: 40px;
	color: #414141;
}
#subnavigation li.active ul li.active a
{
	color: #008e07;
}
#left_column h2.teaser
{
	height: 28px;
	margin: 35px -16px 12px -16px;
	padding: 97px 20px 0 16px;
	font-size: 17px;
}
#left_column h2.contact
{
	background: transparent url(../images/layout/teaser_contact.jpg) no-repeat left top;
}
#left_column h2.map
{
	background: transparent url(../images/layout/teaser_map.jpg) no-repeat -32px top;
}
.email,
.phone
{
	margin: 0 -16px 0 -16px;
	padding: 6px 0 6px 40px;
}
.phone
{
	background: transparent url(../images/layout/icon_phone.gif) no-repeat left center;
}
.email
{
	background: transparent url(../images/layout/icon_email.gif) no-repeat left -0.125em;
}

.emailsmall
{

	margin: 0 -16px 0 0;
	padding: 0 0 6px 30px;
}

.emailsmall
{

	background: transparent url(../images/layout/icon_email_small.gif) no-repeat left -0.125em;
}

/* Linke Spalte > Zertifikate */

div.certificates
{
	margin: 32px -16px 0 -16px;
}
div.certificates img
{
	margin-right: 8px;
}

/* Footer > Sitemap */

#footer ul
{
	/*width: 1024px;*/
	width: 960px;
	margin: 0 auto 0 auto;
	padding: 0;
	list-style-type: none;
}
#footer ul li
{
	float: left;
	width: 132px;
	width: 130px;
	height: auto;
	min-height: 170px;
	margin: 0;
	padding: 0 10px 0 20px;
	background: transparent url(../images/layout/footer_separator.png) no-repeat right top;
}
#footer ul li.last
{
	background: transparent;
}
#footer ul a
{
	color: #848484;
}
#footer ul ul
{
	width: auto;
	margin: 6px 0 0 0;
	padding: 0;
}
#footer ul ul li
{
	min-height: 0;
	padding: 0;
	background: transparent;
	font-size: 11px;
}

/* Footer > Copyright */

p.copyright
{
	clear: both;
	padding: 24px 0 40px 0;
	color: #848484;
	font-size: 11px;
	text-align: center;
}
p.copyright a
{
	color: #848484;
}
p.copyright a:hover,
p.copyright a:focus
{
	text-decoration: none;
}

/* Besonderheiten Startseite */

body.frontpage
{
	background: #FFFFFF url(../images/layout/background_frontpage.gif) repeat-x left 104px;
}
body.frontpage #wrapper
{
	position: relative;
	padding: 0 12px 0 12px;
	background-color: #FFFFFF;
}
body.frontpage #logo
{
	background: transparent;
}
body.frontpage #language_selection
{
	position: absolute;
	top: 56px;
	right: -38px;
	right: 0;
	float: none;
	width: 160px;
}
body.frontpage #language_selection a
{
	padding: 0 4px 0 36px;
	background-position: 12px center;
}

body.frontpage #navigation_bg
{
	background: #FFFFFF url(../images/layout/header_image.jpg) no-repeat -62px top;
	height: 327px;
	overflow: hidden;
}

body.frontpage #navigation
{
	float: right;
	height: 327px;
	margin: 0 0 0 0;
	padding: 0;
	list-style-type: none;
}
body.frontpage #navigation.active
{
	padding: 0 0 0 232px;
}

body.frontpage #navigation li
{
	height: 327px;
	padding: 0;
	background: #FFFFFF;
	border-left: solid 12px #FFFFFF;
	font-size: 14px;
	font-weight: bold;
}
body.frontpage #navigation a
{
	width: 120px;
	height: 44px;
	padding: 283px 0 0 0;
	background-color: #414141;
	background-position: right top;
	/*color: #FFFFFF;*/
	color: #cecece;
	text-align: center;
}

body.frontpage #navigation a:hover
{
	color: white;
}

body.frontpage #navigation .company a,
body.frontpage #navigation .company a:hover,
body.frontpage #navigation .company a:focus
{
	background-image: url(../images/layout/navigation_company.jpg);
}
body.frontpage #navigation .achievements a
{
	background-image: url(../images/layout/navigation_achievements.jpg);
}
body.frontpage #navigation .team a
{
	background-image: url(../images/layout/navigation_team.jpg);
}
body.frontpage #navigation .service a
{
	background-image: url(../images/layout/navigation_service.jpg);
}
body.frontpage #navigation .contact a
{
	background-image: url(../images/layout/navigation_contact.jpg);
}
body.frontpage #navigation li.expanded a
{
	width: 252px;
	background-position: right top;
}

body.frontpage div.message
{
	margin-top: -2px;
}
body.frontpage ul.news
{
	margin-top: -2px;
}
body.frontpage ul.news li
{
	padding: 1.225em 0 1.225em 0;
}

/* Liste Aktuelles Startseite */

#right_column div.message
{
	margin-top: -32px;
}
#right_column ul.news
{
	margin-top: -32px;
}
#right_column ul.news li
{
	padding: 1.025em 0 0.625em 0;
	border-bottom: solid 1px #D8D8D8;
}
#right_column ul.news img,
#right_column ul.news .imagecontainer
{
	margin-top: 9px;
	padding: 3px;
}
#right_column ul.news h2
{
	font-size: 13px;
}
#right_column ul.news h2 a
{
	/*color: #414141;*/
}
#right_column ul.news p
{
	font-size: 11px;
	line-height: 1.625em;
}
#right_column ul.news p.date
{
	margin: 0;
	padding: 0 0 0.235em 0;
	color: #8A8A8A;
	font-size: 10px;
	text-align: left;
}
#right_column ul.news p.more
{
	padding: 0.225em 0 0.625em 0;
}

/* Formular Offertenanfrage */

h2.bar
{
	clear: both;
	padding-left: 16px;
	background: #F0F0F0;
	color: #6B6B6B;
	font-size: 14px;
	text-transform: uppercase;
}
.column
{
	float: left;
	/*width: 350px;*/
	width: 334px;
}
.column.third
{
	/*width: 175px;*/
	width: 167px;
}
.column.fourth
{
	width: 80px;
}
#enquiry .row
{
	clear: both;
}
#enquiry label.main
{
	width: 128px;
}
.column input.text
{
	/*width: 150px;*/
	width: 150px;
}
.column.fourth input.text
{
	width: 60px;
}
input.text.large,
textarea.large
{
	/*width: 500px;*/
	width: 484px;
}
label.top
{
	display: block;
}
#enquiry .row ul
{
	margin-top: -0.325em;
	/*width: 506px;*/
	width: 490px;
}
#enquiry .row ul li
{
	/*width: 500px;*/
	width: 490px;
	padding: 0.425em 0 0.425em 0;
}
.row ul li input.text
{
	position: relative;
	top: 2px;
}
#enquiry label.radio
{
	margin-right: 3.025em;
}
div.field
{
	margin-top: 8px;
	padding: 8px 8px 12px 8px;
	background-color: #F0F0F0;
}

.entry
{
	margin-bottom: 20px;
}

#cms_search_result .headline
{
	font-weight: bold;
}
/* Suchbox */
div.search
{
	margin: 35px -16px 0;
}
div.search input.text 
{
	width: 165px;
	float: left;
	padding: 1px 2px;
	height: 19px;
	line-height: 19px;
	vertical-align: middle;
	margin: 0;
}
div.search input.image 
{
	float: right;
	height: 22px;
	width: 25px;
	margin: 0;
}

