/*--- general ---*/

	* { outline-width: 0; }
	html, body { background: #a9b0b0; height: 100%; margin: 0; }
	body#epozcontent { background: #fff; padding: 10px; } /* ZMS-Editor */
	.hideme, .standard { display: none; }
	.nowrap { white-space: nowrap; }
	.clear { float: none; clear: both; } /* Old solution for floating */
	.floatbox { overflow: auto; width: 100%; } /* New solution for floating */

	/*
		1. Header font size ÷ Body copy font size = 1.96.
		2. Line height (pixels) ÷ body copy font size (pixels) = 1.48.
		3. Line length (pixels) ÷ line height (pixels) = 27.8.
		4. Space between paragraphs (pixels) ÷ line height (pixels) = 0.754.
		
		Source: http://www.smashingmagazine.com/2009/08/20/typographic-design-survey-best-practices-from-the-best-blogs/
	*/

	body, textarea, input, select, button { font-size: 13px; color: #2b3838; font-family: "Arial", sans-serif; }
	h1 { font-size: 23px; line-height: 28px; color: #2b3838; }
	h2, h3 { font-size: 15px; color: #172983; line-height: 22px; }
	h4, h5, h6 { font-size: 13px; color: #2b3838; line-height: 19px; }
	h1, h2, h3, h4, h5, h6, p, ul, ol, table, address, form, fieldset { margin-top: 0; margin-bottom: 14px; }
	legend { color: #172983; font-weight: bold; }
	ul { list-style: square outside; margin-left: 0; padding-left: 30px; }
	ul ul, ol ol, ul ol, ol ul { margin-bottom: 0; }
	a { color: #172983; }
		a img { border: 0; }
	a:hover { text-decoration: none; }
	p, table, address, li, .disclaimer, .linksammlung, textarea, fieldset { line-height: 19px; }
	address { font-style: normal; }

	div.floatleft { float: left; margin-right: 13px; }
	div.floatright { float: right; margin-left: 13px; }
	div.left .graphic { margin-right: auto; }
	div.left .text { margin-right: auto; }
	div.right .graphic { margin-left: auto; }
	div.right .text { margin-left: auto; }
	div.center .graphic { margin: 0 auto; }
	div.center .text { margin: 0 auto; }
	.graphic { border: 1px solid #a9b0b0; padding: 1px; }

/*--- design ---*/

	#navigation { background: #dddfdf; font-size: 13px; }
		#navigation ul { margin: 0; padding: 0; }
		#navigation li { list-style: none; float: left; margin-left: 15px; }
		#navigation li.first { margin-left: 17px; }
		#navigation a { color: #2b3838; font-weight: bold; text-decoration: none; display: block; padding: 8px 5px; }
		#navigation a:hover { text-decoration: underline; }
		#navigation a.active, #navigation a.activenode { color: #172983; }

	#subnavigation { width: 265px; float: left; background: #fff; padding: 0 10px 10px 0; }
	#subnav { margin: 0; padding: 0; }
		#subnav li { list-style: none; margin-bottom: 10px; }
		#subnav a { display: block; background: #dddfdf; border-left: 10px solid #a9b0b0; padding: 6px 11px; color: #2b3838; text-decoration: none; }
		#subnav a:hover { color: #2b3838; text-decoration: underline; }
		#subnav a.active, #subnav a.activenode { color: #172983; border-left: 10px solid #172983; }

	#page { background: #fff url(../images/design/arrows_bg.gif) no-repeat left bottom; padding: 10px; width: 860px; margin: 20px auto 0 auto; position: relative; border-bottom: 35px solid #a9b0b0; }
	#header { position: relative; height: 248px; margin: 10px 0; }
	#logo { position: absolute; bottom: 0; padding: 10px 10px 0 0; background: #fff; }
		#logo img { display: block; }
	#content { margin-left: 275px; padding: 14px 0 30px 1px; min-height: 600px; }
	#footer { position: relative; background: #172983; }
		#footer a { color: #fff; }
	#functions { float: left; padding: 6px 5px; }
		#functions ul { margin: 0; padding: 0; }
		#functions li { list-style: none; float: left; border-right: 1px solid #fff; }
			#functions li a { display: block; margin: 0 5px; }
		#functions li.first { margin-left: 17px; }
		#functions li.last { border: 0; }
			#functions li.first a { margin-left: 0; }
	#top_link { display: block; float: right; background: url(../images/design/top_arrow.gif) no-repeat center right; padding-right: 17px; margin: 6px 16px 0 0; }
	#author { position: absolute; right: 0; top: 53px; }
		#author a { display: block; background: url(../images/design/author.gif); width: 76px; height: 9px; }
		#author span { display: none; }
	#contactinfo { background: #dddfdf; border-left: 10px solid #a9b0b0; padding: 37px 0 0 11px; height: 142px; }
		#contactinfo .contact_icon { background: url(../images/design/contact.gif) no-repeat 1px center; padding-left: 19px; }

/*--- design, startpage ---*/

	.startpage #navigation li:first-child { display: none; }

	.startpage #page { background-image: none; position: absolute; left: 50%; top: 50%; height: 524px; margin: -280px 0 0 -430px; }
	.startpage #content { margin-bottom: 0; min-height: 0; }

	#dummy_page { position: relative; margin: 0 auto; min-height: 100%; height: auto!important; height: 100%; }
	#dummy { padding-bottom: 600px; }

/*--- general table ---*/

	table { border-collapse: collapse; width: 100%; }
	td, th { padding: 2px 4px; border: 1px solid #a9b0b0; vertical-align: top; }
	th { text-align: left; background: #dddfdf; }
	thead td, thead th { border: 1px solid #a9b0b0; font-weight: bold; color: #fff; background: #a9b0b0; vertical-align: bottom; }
	tbody tr:hover th, table tbody tr:hover td { background: #a9b0b0; color: #fff; }

	.notable td, .notable th { padding: 0 30px 0 0; border: 0; background: none; vertical-align: top; }
	.notable tbody tr:hover th, .notable tbody tr:hover td { color: #000; background: none; }
	.thead { display: none; }

/*--- general form ---*/

	fieldset { border: 1px solid #a9b0b0; padding: 0 10px 10px; }
	legend { padding: 0 5px 10px; }
	form { width: 540px; }
		form input[type=text] { width: 155px; border: 1px solid #dddfdf; padding: 4px 2px; background: #dddfdf; }
		form select { width: 161px; }
		form textarea { width: 494px; height: 150px; border: 1px solid #dddfdf; padding-left: 2px; background: #dddfdf; }
		form label { float: left; display: block; padding-bottom: 7px; width: 170px; }
			form label span { display: block; padding-bottom: 2px; }
		form label.nofloat { float: none; width: auto; }
		form label.postcode { width: 110px; }
			form label.postcode input { width: 95px; }
		form label.location { width: 230px; }
			form label.location input { width: 215px; }
		form label.email { width: 342px; }
			form label.email input { width: 325px; }
		form label.job { width: auto; }
			form label.job input { width: 495px; }
		form label.subject { width: auto; }
			form label.subject input { width: 494px; }
		form label.radio { padding-bottom: 2px; }
			form label.radio span { margin-left: 20px; }
		form label.google_start { width: 242px; }
			form label.google_start input { width: 225px; }
		form label.error span { color: #a5010d; }
	#validationMessage { color: #a5010d; }
	input[type=text]:focus, textarea:focus { border: 1px solid #a9b0b0; }
	input[type=checkbox], input[type=radio] { float: left; margin-top: 2px; }
	button { margin-bottom: 14px; }

/*--- address, impressum ---*/

	.address .float { float: left; margin: 0 30px 0 0; }
	.notable .impressum { border-top: 1px solid #a9b0b0; border-bottom: 1px solid #a9b0b0; }
		.notable .impressum td, .notable .impressum th { padding: 3px 0; border-top: 1px solid #a9b0b0; }
		.notable .impressum th { padding: 3px 14px 3px 0; }
	.impressum .nopadding { margin-bottom: 0; }

/*--- google maps ---*/

	#google_maps_map { width: 470px; height: 470px; border: 1px solid #a9b0b0; }
	.google_maps_map_info img { padding-bottom: 13px; }
	.google_maps_map_info h2 { padding-right: 20px; }
	.google_maps_map_info form { width: auto; padding: 0 20px 5px 0; }
	.google_maps_map_info label { width: auto; float: none; }
		.google_maps_map_info label input { width: 250px; }

/*--- infolisten, onlinetools ---*/

	.infolist_toplink { text-align: right; padding: 2px 0; border-bottom: 1px solid #a9b0b0; }
	.disclaimer { border: 1px solid #a9b0b0; padding: 7px; }

	.download_section td { padding: 0 0 4px; border: 0; }
		.download_section tr:hover td { background: none; color: #000; }
	.download_section .download { padding-right: 50px; padding-left: 17px; }
	.download_section img { margin: 2px 8px 0 0; display: block; float: left; }

	.news_preview { margin-bottom: 14px; border-bottom: 1px solid #a9b0b0; }
		.news_preview h3 { margin-bottom: 0; }
	.news_page .graphic { margin: 0 0 14px 13px; float: right; }

	.rss { padding: 0 0 0 21px; background: url(../images/design/rss.gif) no-repeat 0 center; }
	.rss_feeds { margin-left: 0; padding-left: 0; }
	.rss_feeds li { list-style: none; }

	.popuponlinetool a { background: url(../images/design/calc_small.gif) no-repeat 0 1px; padding-left: 15px; }

	.infolist_overview ul { list-style: none; padding-left: 0; }
	.infolist_overview li { border: 1px solid #a9b0b0; margin-bottom: 10px; padding: 7px 7px 7px 70px; background: #fff url(../images/design/infolist.gif) no-repeat 0 center; }
	.infolist_overview li:hover { background-color: #dddfdf; }
		.infolist_overview li a { font-weight: bold; font-size: 15px; line-height: 22px; }
		.infolist_overview li p { margin: 0; }

	.onlinetools_overview ul { list-style: none; padding-left: 0; }
	.onlinetools_overview li { border: 1px solid #a9b0b0; margin-bottom: 10px; padding: 7px 7px 7px 70px; background: #fff url(../images/design/calc.gif) no-repeat 0 center; }
	.onlinetools_overview li:hover { background-color: #dddfdf; }
		.onlinetools_overview li a { font-weight: bold; font-size: 15px; line-height: 22px; }
		.onlinetools_overview li p { margin: 0; }

/*--- team ---*/

	#staff_overview .head h2 { margin-bottom: 0; }
	#staff_overview .head .noposition { margin-bottom: 14px; }
	#staff_overview .staff_member { float: left; width: 280px; }
	#staff_overview .line { border-top: 1px solid #a9b0b0; margin-top: 14px; padding-bottom: 14px; }
	#staff_overview img { float: left; margin-right: 14px; border: 1px solid #a9b0b0; padding: 1px; }
	#staff_overview .vita { margin: 0; }
	#staff_overview .info { margin-left: 112px; }
	#staff_vita img { float: right; margin-left: 20px; border: 1px solid #a9b0b0; }

/*--- ie6nomore ---*/

	#ie6nomore { position: fixed; left: 0; top: 0; z-index: 9999; width: 100%; height: 100%; background: #fff; display: none; }
		#ie6nomore .box { position: relative; left: 50%; top: 50%; margin: -125px 0 0 -275px; width: 550px; height: 250px; }
		#ie6nomore .browser { width: 75px; float: left; }
