/*****************************/
/*** Core html setup stuff ***/
/*****************************/

html {
  height: 100%;
  margin:  0;
  padding: 0;
}

form {
  margin: 0;
  padding: 0;
}

body {
	font-family: "Trebuchet MS", Arial, sans-serif;
	line-height: 1.4em;
	margin: 0;
	padding: 0;
	font-size: 12px;
	color: #333;
}

a:link, a:visited {
	text-decoration: none;
	font-weight: normal;
	color: #2c5cad;
}

a:hover {
	text-decoration: underline;
	font-weight: normal;
	color: #c41239;
}

input.button { cursor: pointer; }

p { margin-top: 0; margin-bottom: 8px; }

h1 { font-size: 14px; line-height: 18px; font-weight: normal; margin: 0; padding: 8px 0 8px 0; color: #2c5cad; }

h1 span { float: right; font-size: 10px; }

ul, ol { margin: 0 0 4px 0; padding: 0; }

ul li {
	padding: 0 0 4px 12px;
	list-style: none;
	background: url(../images/bull_left.gif) top left no-repeat;
}

ul.check li {
	padding: 0 0 8px 25px;
	list-style: none;
	background: url(../images/klammer_check.png) top left no-repeat;
}

ol li {
	margin: 0 0 0 20px;
	padding: 0 0 4px 0px;
}

img { border: 0 none; }

.img_left { float: left; padding: 0 10px 5px 0; }

.img_right { float: right; padding: 0 0 5px 10px; }

.frontpage-modules .front_hide, .moduletable-technik-2col .front_hide { display: none; }
.contentpaneopen .article_hide { display: none; }

.clr { clear: both; }

.hidden {
	display: none;
}


/*****************************************/
/*** Template specific layout elements ***/
/*****************************************/

#page_bg {
	background: #f0f6fb url(../images/background_left.gif) top left repeat-x;
}

#page_bg_right {
	width: 100%;
	height: 156px;
	background: url(../images/background_right.gif) top right no-repeat;
}

#page_center {
	margin: 0 auto 0 auto;
	width: 1060px;
}

#table_bg {
	/*height: 100%;
	position: absolute;*/
	margin: 0 0 10px 0;
	background: url(../images/background.gif) top left repeat-y;
}

#table_bg td {
	vertical-align: top;
}

#table_bg .footer {
	background: url(../images/footer.gif) bottom left no-repeat;
}

#table_content {
	width: 1060px;
	margin: 0 0 40px 0;
	background: url(../images/content.gif) top left repeat-y;
}

	#table_content_header {
		vertical-align: top;
	}

	#table_content_left {
		vertical-align: top;
		width: 845px;
		background: url(../images/content_border_bottom.gif) bottom left no-repeat;	
	}
	
	#table_content_right {
		width: 215px;
		vertical-align: top;
		background: url(../images/content_right_border_bottom.gif) bottom left no-repeat;	
	}

#header {
	width: 1060px;
	height: 155px;
	background: url(../images/header.gif) top left no-repeat;
}

	#topmenu {
		position: absolute;
		margin: 0 0 0 0;
		width: 1020px;
		height: 16px;
		font-size: 10px;
		text-align: right;
	}
	
	#pathway {
		position: absolute;
		margin: 103px 0 0 215px;
		padding: 0 0 0 10px;
		width: 775px;
		font-size: 11px;
		text-align: left;
	}
	
		#pathway a:link,
		#pathway a:visited {
			color: #2c5cad;
		}
		
		#pathway a:hover {
			color: #c41239;
		}
	
	#mainmenu {
		display: block;
		float: right;
		width: 804px;
		height: 32px;
		line-height: 32px;
		margin: 123px 41px 0 0;
		padding: 0;
		background: url(../images/menu_bg.gif) top left repeat-x;
	}
	
		#mainmenu ul.menu {
			margin: 0;
			padding: 0;
			display: block;
			width: 801px;
			height: 32px;
		}
		
		#mainmenu ul.menu li {
			margin: 0;
			padding: 0;
			float: left;
			list-style: none;
			font-family: "Arial", sans-serif;
			font-size: 11px;
			line-height: 32px;
			text-transform: uppercase;
			letter-spacing: 0.02em;
			background: url(../images/menu_spacer.gif) top right no-repeat;
		}
		
		#mainmenu ul.menu li a:link,
		#mainmenu ul.menu li a:visited {
			margin: 0 1px 0 0;
			padding: 0 7px 0 7px;
			display: block;
			height: 32px;
			line-height: 32px;
			font-weight: bold;
			color: #fff;
			background: url(../images/menu_bg.gif) top left repeat-x;
		}
		
		#mainmenu ul.menu li.item1 a:link,
		#mainmenu ul.menu li.item1 a:visited {
			background: url(../images/menu_item1_bg.gif) top left no-repeat;
		}
		
		#mainmenu ul.menu li a:hover {
			text-decoration: none;
			background: url(../images/menu_bg_hover.gif) top left repeat-x;
		}
		
		#mainmenu ul.menu li.item1 a:hover {
			background: url(../images/menu_item1_bg_hover.gif) top left no-repeat;
		}
		
		#mainmenu ul.menu li.active a:link,
		#mainmenu ul.menu li.active a:visited {
			background: url(../images/menu_bg_hover.gif) top left repeat-x;
		}
		
		#mainmenu ul.menu li.active .item1 a:link,
		#mainmenu ul.menu li.active .item1 a:visited {
			background: #ccc url(../images/menu_item1_bg_hover.gif) top left no-repeat;
		}
		
		#mainmenu ul.menu li.active a:hover {
			text-decoration: none;
		}
		
		#mainmenu ul.menu li.active.item1 a:hover {
			text-decoration: none;
		}
		
	#submenu {
		margin: -1px 0 0 0;
		padding: 0 0 0 0;
		width: 175px;
	}
	
		#submenu ul.menu {
			margin: 0;
			padding: 0 0 0 0;
			/*border-bottom: 1px solid #aecae6;*/
		}
		
		#submenu ul.menu li {
			margin: 0;
			padding: 0;
			font-family: "Trebuchet MS", Arial, sans-serif;
			font-size: 12px;
			line-height: 18px;
			list-style: none;
			letter-spacing: 0px;
			background: none;
		}
		
		#submenu ul.menu li a:link,
		#submenu ul.menu li a:visited {
			margin: 0 0 0 0;
			padding: 3px 8px 3px 8px;
			font-weight: normal;
			color: #2c5cad;
			background-color: #eaeff7;
			display: block;
			width: 159px;
			border-bottom: 1px solid #aecae6;
			/*padding: 1px 0 4px 0;*/
			/*background: url(../images/klammer_left_blau.gif) center left no-repeat;*/
		}
		
		#submenu ul.menu li a:link span,
		#submenu ul.menu li a:visited span {
			/*padding: 0 6px 0 0;*/
			/*background: url(../images/klammer_right_blau.gif) center right no-repeat;*/
		}
		
		#submenu ul.menu li a:hover {
			/*color: #000;*/
			text-decoration: none;
		}
		
		#submenu ul.menu li.active a:link,
		#submenu ul.menu li.active a:visited {
			font-weight: normal;
			color: #c41239;
			background-color: #c1d2e5;
			/*background: url(../images/klammer_left_rot.gif) center left no-repeat;*/
		}
		
		#submenu ul.menu li.active a:link span,
		#submenu ul.menu li.active a:visited span {
			/*padding: 0 6px 0 0;*/
			/*background: url(../images/klammer_right_rot.gif) center right no-repeat;*/
		}
		
		#submenu ul.menu li.active a:hover {
			/*color: #c41239;*/
			text-decoration: none;
		}
		
		#submenu ul.menu ul {
			margin: 0;
			padding: 0 0 0 0;
			border-bottom: 4px solid #aecae6;
			border-top: 1px solid #999;
		}
		
		#submenu ul.menu ul li {
			margin: 0;
			padding: 0;
			font-size: 11px;
		}
				
		#submenu ul.menu ul li a:link,
		#submenu ul.menu ul li a:visited {
			margin: 0;
			padding: 0;
			display: block;
			width: 175px;
		}
		
		#submenu ul.menu ul li a:link span,
		#submenu ul.menu ul li a:visited span {
			padding: 2px 0 2px 20px;
			display: block;
			width: 155px;
			background: #eaeff7;
			color: #666;
		}
		
		#submenu ul.menu ul li a:hover span {
			/*color: #c41239;
			background: #c1d2e5;*/
		}
		
		#submenu h1 {
			margin: 0;
			padding: 3px 0 3px 8px;
			font-size: 12px;
			line-height: 18px;
			text-transform: uppercase;
			font-weight: bold;
			letter-spacing: 0.025em;
			color: #fff;
			background: #2c5cad;
		}
		
		#submenu h2 {
			margin: 0 0 5px 0;
			padding: 4px 0 4px 8px;
			font-size: 12px;
			line-height: 14px;
			text-transform: uppercase;
			font-weight: bold;
			letter-spacing: 0.025em;
			color: #fff;
			background: #2c5cad;
		}
		
		#submenu .focus {
			margin: 23px 0 0 0;
			padding: 0 0 20px 0;
		}
		
		#submenu .focus p {
			margin: 0 5px 0 5px;
			padding: 0 0 8px 25px;
			font-size: 12px;
			line-height: 18px;
			font-weight: normal;
			background: url(../images/klammer.png) top left no-repeat;
		}
		
		#submenu .focus p a {
			font-weight: normal;
		}
		
		#submenu .rot {
			background: #c41239;
		}
		
	#left-image {
		margin: 30px 0 0 -50px;
	}
		
		
	.moduletable-impressum {
		
	}
	
		.moduletable-impressum ul.menu {
			margin: 0;
			padding: 8px 0 0 3px;
			/*position: absolute;
			right: 0;*/
		}
		
		.moduletable-impressum ul.menu li {
			float: left;
			margin: 0;
			padding: 0;
			font-family: "Trebuchet MS", Arial, sans-serif;
			font-size: 11px;
			line-height: 16px;
			font-weight: bold;
			text-transform: uppercase;
			list-style: none;
			letter-spacing: 0.025em;
			background: none;
		}
		
		.moduletable-impressum ul.menu li a:link,
		.moduletable-impressum ul.menu li a:visited {
			margin: 0 0 0 0;
			padding: 0 4px 0 7px;
			font-weight: normal;
			color: #2c5cad;
			background: url(../images/trenner.gif) center left no-repeat;
		}
		
		.moduletable-impressum ul.menu li a:hover,
		.moduletable-impressum ul.menu li.active a:link,
		.moduletable-impressum ul.menu li.active a:visited,
		.moduletable-impressum ul.menu li.active a:hover {
			color: #c41239;
			text-decoration: none;
		}
		
		.moduletable-impressum ul.menu li.item13 a,
		.moduletable-impressum ul.menu li.active.item13 a {
			background: none;
		}
		
#leftcol {
	float: left;
	margin: 0 0 10px 40px;
	padding: 0;
	width: 175px;
}

#fahne {
	float: left;
	width: 175px;
	height: 150px;
	background: url(../images/fahne.png) top left no-repeat;
}

#content {
	float: right;
	margin: 0 0 0 0;
	padding: 25px 15px 25px 15px;
	width: 600px;
}

#content-text {
	float: left;
	width: 370px;
}

#content-text p {
	padding-right: 10px;
}


/*** Artikel Box ***/

#content-rightcol {
	float: right;
	width: 200px;
	height: 100%;
	background: #eaeff7;
	padding: 10px;
}

	#content-rightcol h1 {
		font-size: 12px;
		font-weight: bold;
		color: #2c5cad;
		margin: 0 0 8px 0;
		padding: 0;
	}
	
	#content-rightcol p {
		font-size: 12px;
		font-weight: normal;
		color: #333;
	}



/*****************************************/
/*** Joomla! specific content elements ***/
/*****************************************/

.moduletable-leftcol {
	margin: 0;
	padding: 8px 10px 5px 10px;
	border-bottom: 1px solid #aecae6;
}

	.moduletable-leftcol p {
		font-size: 12px;
		line-height: 15px;
		margin: 0;
		padding: 0 0 3px 0;
		color: #2c5cad;
	}
	
.moduletable-message {
	margin: 0;
	padding: 8px 10px 4px 10px;
	border-bottom: 1px solid #aecae6;
}

	.moduletable-message p {
		font-size: 11px;
		line-height: 14px;
		margin: 0;
		padding: 0 0 4px 0;
		color: #333;
	}
	
	.moduletable-message h3 {
		margin: 0;
		padding: 1px 0 10px 25px;
		font-size: 12px;
		line-height: 14px;
		text-transform: uppercase;
		font-weight: bold;
		letter-spacing: 0.025em;
		color: #c41239;
		background: url(../images/klammer.png) top left no-repeat;
	}
	
	.moduletable-message h1 {
		margin: 0;
		padding: 0 0 4px 0;
		font-size: 11px;
		line-height: 14px;
		font-weight: bold;
		letter-spacing: 0.025em;
		color: #2c5cad;
	}

.contentpaneopen {
	margin: 0;
	padding: 0;
}

.componentheading-notitle {
	font-size: 16px;
	line-height: 20px;
	padding: 0 0 8px 0;
	color: #2c5cad;
	font-weight: bold;
}

.contentpaneopen-title-notitle .buttonheading,
.contentheading-notitle {
	display: none;
}

.contentheading,
.contentheading-wrapper,
.componentheading-wrapper {
	font-size: 16px;
	line-height: 20px;
	padding: 0 0 8px 0;
	font-weight: bold;
	color: #2c5cad;
}

	td.buttonheading {
		vertical-align: top;
	}
	
.article_separator {
	margin: 0;
	padding: 0;
	display: none;
}


/*** Frontpage Modules ***/

.frontpage-modules {
	width: 100%;
}

.frontpage-left {
	width: 295px;
	vertical-align: top;
	border-bottom: 1px solid #ccc;
}

.frontpage-right {
	width: 295px;
	vertical-align: top;
	border-bottom: 1px solid #ccc;
}

.moduletable-neu,
.moduletable-technik-2col {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #ccc;
}

.moduletable-aktuell,
.moduletable-aktuell-2col,
.moduletable-umwelt,
.moduletable-umwelt-2col,
.moduletable-technik,
.moduletable-technik-2col,
.moduletable-service,
.moduletable-service-2col,
.moduletable-inhouse,
.moduletable-inhouse-2col {
	margin: 20px 0 0 0;
	padding: 0;
}

.moduletable-bottom {
	margin: 20px 0 0 0;
	padding: 0;
}

.contentpaneopen-title-neu,
.contentpaneopen-title-aktuell,
.contentpaneopen-title-technik,
.contentpaneopen-title-service,
.contentpaneopen-title-inhouse,
.contentpaneopen-title-team,
.contentpaneopen-title-news,
.contentpaneopen-title-umwelt,
.contentpaneopen-title-neu-2col,
.contentpaneopen-title-aktuell-2col,
.contentpaneopen-title-technik-2col,
.contentpaneopen-title-service-2col,
.contentpaneopen-title-inhouse-2col,
.contentpaneopen-title-team-2col,
.contentpaneopen-title-news-2col,
.contentpaneopen-title-umwelt-2col {
	font-size: 16px;
	line-height: 16px;
	height: 20px;
	padding: 0 5px 0 5px;
	color: #2c5cad;
}

	.contentheading-neu, .contentheading-neu-2col {
		font-weight: bold;
		/*background: url(../images/kategorien_neu.gif) bottom right no-repeat;*/
	}
	
	.contentheading-aktuell, .contentheading-aktuell-2col {
		font-weight: bold;
		background: url(../images/kategorien_news.gif) bottom right no-repeat;
	}
	
	.contentheading-umwelt, .contentheading-umwelt-2col {
		font-weight: bold;
		background: url(../images/kategorien_umwelt.gif) bottom right no-repeat;
	}
	
	.contentheading-technik, .contentheading-technik-2col {
		font-weight: bold;
		background: url(../images/kategorien_technik.gif) bottom right no-repeat;
	}
	
	.contentheading-service, .contentheading-service-2col {
		font-weight: bold;
		background: url(../images/kategorien_service.gif) bottom right no-repeat;
	}
	
	.contentheading-inhouse, .contentheading-inhouse-2col {
		font-weight: bold;
		background: url(../images/kategorien_inhouse.gif) bottom right no-repeat;
	}
	
	.contentheading-team, .contentheading-team-2col {
		font-weight: bold;
		background: url(../images/kategorien_team.gif) bottom right no-repeat;
	}
	
	.contentheading-news {
	font-weight: bold;
		padding: 0 0 4px 0;
	}
		
	.contentpaneopen-neu {
		padding: 8px 5px 8px 5px;
		background: url(../images/module_blau.gif) top left repeat-x;
	}
	
	.contentpaneopen-aktuell,
	.contentpaneopen-umwelt,
	.contentpaneopen-technik,
	.contentpaneopen-service,
	.contentpaneopen-inhouse,
	.contentpaneopen-aktuell-2col,
	.contentpaneopen-umwelt-2col,
	.contentpaneopen-technik-2col,
	.contentpaneopen-service-2col,
	.contentpaneopen-inhouse-2col {
		padding: 8px 5px 8px 5px;
		background: url(../images/module_grau.gif) top left repeat-x;
	}
	
	.contentpaneopen-news {
		width: 100%;
		padding: 8px 5px 8px 5px;
		margin-bottom: 16px;
		background: url(../images/module_grau.gif) top left repeat-x;
	}
	
		.contentpaneopen-news .createdate {
			font-style: italic;
			color: #999;
			padding: 0 0 5px 0;
		}


/*** Pagenavigation ***/

table.pagenav {
	width: 100%;
	border-top: 1px solid #ccc;
	margin: 12px 0 0 0;
	font-weight: normal;
	color: #ccc;
}

table.pagenav .pagenav_prev {
	padding: 0 12px 0 0;
	width: 43%;
	text-align: right;
	text-transform: uppercase;
	background: url(../images/bull_left.gif) top right no-repeat;
}

table.pagenav .pagenav_center {
	width: 14%;
	text-align: center;
	text-transform: uppercase;
}

table.pagenav .pagenav_next {
	padding: 0 0 0 12px;
	width: 43%;
	text-align: left;
	text-transform: uppercase;
	background: url(../images/bull_right.gif) top left no-repeat;
}

table.pagenav .pagenav_prev a:hover,
table.pagenav .pagenav_next a:hover,
table.pagenav .pagenav_center a:hover {
	text-decoration: none;
}



/******************/
/*** DF Contact ***/
/******************/

.dfContactTable-Adresse {
	width: 370px;
}

	.dfContactTable-Adresse th {
		font-weight: normal;
		text-align: left;
		width: 70px;
	}
	
	.dfContactTable-Adresse td.seperator {
		height: 5px;
		line-height: 5px;
	}

.dfContactTable-Formular {
	margin: 20px 0 0 0;
	width: 370px;
}

	.dfContactFormText {
		font-size: 14px;
		color: #2c5cad;
		padding: 0 0 10px 0;
	}
	
	.dfContactError {
		color: #c41239;
		font-style: italic;
		padding: 0 0 10px 0;
	}

	.dfContactTable-Formular th {
		font-weight: normal;
		text-align: left;
		vertical-align: top;
		width: 70px;
		padding: 2px 0 0 0;
	}
	
	.dfContactTable-Formular td.seperator {
		height: 5px;
		line-height: 5px;
	}
	
	.dfContactTable-Formular td.mandatory {
		font-size: 11px;
		padding: 0 0 10px 0;
	}
	
	.dfContactTable-Formular .inputbox {
		width: 280px;
		font-family: "Trebuchet MS", Arial, sans-serif;
		font-size: 12px;
		border: 1px solid #2c5cad;
		background: #eaeff7;
		margin: 2px 0 2px 0;
		padding: 2px;
	}
	
		#dfContactField-zip  {
			width: 50px;
			margin-right: 2px;
		}
		
		#dfContactField-city  {
			width: 222px;
		}
	
	.dfContactTable-Formular .textarea {
		font-family: "Trebuchet MS", Arial, sans-serif;
		font-size: 12px;
		width: 280px;
		border: 1px solid #2c5cad;
		background: #eaeff7;
		margin: 2px 0 2px 0;
		padding: 2px;
	}
	
	.dfContactTable-Formular .button {
		border: 1px solid #2c5cad;
		background: #eaeff7;
		margin: 0px;
		padding: 2px;
		text-transform: uppercase;
		color: #2c5cad;
	}
	
table.summary {
	width: 370px;
}

	table.summary th {
		font-weight: normal;
		text-align: left;
		vertical-align: top;
		width: 70px;
	}



/*******************/
/***** Wrapper *****/
/*******************/

.contentpaneopen-wrapper,
.contentpaneopen-wrapper pre,
iframe {
	margin: 0;
	padding: 0;
}



/***************************/
/***** Ansprechpartner *****/
/***************************/

.team-01-bg {
	position: relative;
	margin: 0;
	padding: 0;
	width: 602px;
	height: 140px;
	color: #2c5cad;
	background: url(../images/team_01_notext.jpg) top left no-repeat;
}

.team-02-bg {
	position: relative;
	margin: 0;
	padding: 0;
	width: 602px;
	height: 140px;
	color: #2c5cad;
	background: url(../images/team_02_notext.jpg) top left no-repeat;
}

.team-03-bg {
	position: relative;
	margin: 0;
	padding: 0;
	width: 602px;
	height: 140px;
	color: #2c5cad;
	background: url(../images/team_03_notext.jpg) top left no-repeat;
}

.team-04-bg {
	position: relative;
	margin: 0;
	padding: 0;
	width: 602px;
	height: 140px;
	color: #2c5cad;
	background: url(../images/team_04_notext.jpg) top left no-repeat;
}
.team-05-bg {
	position: relative;
	margin: 0;
	padding: 0;
	width: 602px;
	height: 140px;
	color: #2c5cad;
	background: url(../images/team_05_notext.jpg) top left no-repeat;
}

.team-01-bg p,
.team-02-bg p,
.team-03-bg p,
.team-04-bg p,
.team-05-bg p {
	margin: 0;
	padding: 0 0 4px 0;
	font-size: 10px;
	line-height: 13px;
	font-weight: normal;
}

.team-01-bg p span,
.team-02-bg p span,
.team-03-bg p span,
.team-04-bg p span,
.team-05-bg p span {
	margin: 0;
	padding: 0 0 4px 0;
	font-size: 14px;
	line-height: 16px;
	font-weight: bold;
}

.team-01-bg p span.tel,
.team-02-bg p span.tel,
.team-03-bg p span.tel,
.team-04-bg p span.tel,
.team-05-bg p span.tel {
	margin: 0;
	padding: 0 0 4px 0;
	font-size: 10px;
	line-height: 13px;
	font-weight: normal;
	position: absolute;
	left: 20px;
}

.team-01-bg p em,
.team-02-bg p em,
.team-03-bg p em,
.team-04-bg p em,
.team-05-bg p em {
	margin: 0;
	padding: 0 0 4px 0;
	font-size: 11px;
	line-height: 14px;
	font-weight: normal;
}

.team-01-bg p a,
.team-02-bg p a,
.team-03-bg p a,
.team-04-bg p a,
.team-05-bg p a {
	text-decoration: underline;
}
.team-1-1 {
	position: absolute;
	float: left;
	left: 85px;
	top: 12px;
}

.team-1-2 {
	position: absolute;
	float: left;
	left: 273px;
	top: 12px;
}

.team-1-3 {
	position: absolute;
	float: left;
	left: 468px;
	top: 12px;
}

.team-2-1 {
	position: absolute;
	float: left;
	left: 85px;
	top: 12px;
}

.team-2-2 {
	position: absolute;
	float: left;
	left: 280px;
	top: 12px;
}

.team-2-3 {
	position: absolute;
	float: left;
	left: 482px;
	top: 12px;
}

.team-3-1 {
	position: absolute;
	float: left;
	left: 85px;
	top: 12px;
}

.team-3-2 {
	position: absolute;
	float: left;
	left: 280px;
	top: 12px;
}
.team-3-3 {
	position: absolute;
	float: left;
	left: 482px;
	top: 12px;
}



/*******************************/
/***** Formulare Allgemein *****/
/*******************************/

.formular input,
.formular textarea {
	margin: 0;
	padding: 2px;
	font-family: "Trebuchet MS", Arial, sans-serif;
	font-size: 11px;
	border: 1px solid #003E7E;
    background-color: #fff;
}

.formular h1 {
		font-size: 12px;
		font-weight: bold;
		color: #2c5cad;
		margin: 0 0 8px 0;
		padding: 0;
	}

#fehler {
	margin: 0;
	padding: 0 0 10px 0;
	color: #c41239;
}