/*      __  .__ __                 
_____ _/  |_|__|  | ______   ____  
\__  \\   __\  |  |/ /  _ \ /    \ 
 / __ \|  | |  |    <  <_> )   |  \
(____  /__| |__|__|_ \____/|___|  /
     \/             \/          \/ */

/*--- general ---*/

	* { outline-width: 0; }
	html, body { background: #fff; 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 */
	.clearfix:after { clear: both; content: " "; display: block; font-size: 0; height: 0; visibility: hidden; }
	.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: #333; font-family: "Helvetica Neu", "Arial", sans-serif; }
	h1, h2 { font-size: 22px; font-weight: normal; color: #333; border-top: 2px solid #333; padding: 7px 12px 3px 12px; margin-top: 0; margin-bottom: 10px; font-family: "Futura", "Arial", sans-serif; }
	.infolist h2, h3 { font-size: 16px; font-weight: bold; line-height: 23px; border: 0; padding: 0; margin-left: 0; }
	h4, h5, h6 { font-size: 13px; line-height: 19px; }
	.infolist h2, h3, h4, h5, h6, p, ul, ol, table, address, form, fieldset { color: #333; margin-top: 0; margin-bottom: 13px; font-family: "Helvetica Neu", "Arial", sans-serif; }
	legend { font-size: 15px; color: #007bc0; font-weight: bold; }
	p, table, address, #content li, .disclaimer, .linksammlung, textarea, fieldset { line-height: 19px; }
	ul { list-style: square outside; margin-left: 0; padding-left: 30px; }
	ul ul, ol ol, ul ol, ol ul { margin-bottom: 0; }
	a { color: #007bc0; text-decoration: none; }
		a img { border: 0; }
	a:hover { color: #333; }
	textarea { 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; }

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

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

	.notable table { border: 0; }
	.notable td, .notable th { padding: 0 2.0em 0 0; border: 0; background: none; vertical-align: top; }
	.notable tbody tr:hover th, .notable tbody tr:hover td { color: #333; background: none; }
	.thead { display: none; }

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

	fieldset { border: 1px solid #ccc; padding: 0 10px 10px; }
	legend { padding: 0 5px 10px; }
	form { width: 540px; }
		form input[type=text] { width: 155px; border: 1px solid #333; padding: 4px 2px; }
		form select { width: 161px; }
		form textarea { width: 496px; height: 150px; border: 1px solid #333; }
		form label { float: left; display: block; padding-bottom: 7px; width: 170px; }
			form label span { display: block; padding-bottom: 2px; font-size: 12px; }
		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; font-size: 13px; }
		form label.google_start { width: 200px; }
			form label.google_start input { width: 225px; }
		form label.error span { color: #cc0000; }
	#validationMessage { color: #cc0000; }
	input[type=text]:focus, textarea:focus { border: 1px solid #007bc0; }
	input[type=checkbox], input[type=radio] { float: left; margin-top: 2px; }
	button { margin-bottom: 14px; }

/*--- address and impressum ---*/

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

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

	#google_maps_map { height: 400px; border: 1px solid #ccc; }
	.google_maps_map_info img { padding-bottom: 13px; }
	.google_maps_map_info h2 { padding-right: 30px; width: 300px; border: 0; font-size: 15px; font-weight: bold; color: #007bc0; line-height: 22px; font-family: "Helvetica Neu", "Arial", sans-serif; }
	.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; }
	#google_maps form { width: auto; }
	#google_maps p { width: 220px; }
	#google_maps fieldset { border: 0; padding: 0; }

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

	.disclaimer { font-size: 11px; line-height: 16px; }

	.infolist_toplink { text-align: right; font-weight: bold; }
	.linksammlung a { display: block; padding: 2px; }
	.linksammlung a:hover { background: #e1e1e1; }

	.download_section h2 { background: url(../images/design/icon_downloads.gif) no-repeat 312px 4px; }
	.download_section a { clear: both; display: block; padding: 2px; height: 19px; }
		.download_section a span.title { display: block; width: 260px; float: left; }
		.download_section a span.size { display: block; width: 60px; float: right; text-align: right; }
	.download_section a:hover { background: #e1e1e1; }

	.infolist_overview ul { list-style: none; padding-left: 0; }
	.infolist_overview a { font-weight: bold; font-size: 16px; line-height: 22px; }
	.infolist_overview p { font-size: 14px; line-height: 20px; }

	.onlinetool_overview h2 { background: url(../images/design/icon_onlinetools.gif) no-repeat 533px 4px; }
	.onlinetool_overview ul { list-style: none; padding-left: 0; }
	.onlinetool_overview a { font-weight: bold; font-size: 14px; }

	.links_overview h2 { background: url(../images/design/icon_links.gif) no-repeat 312px 5px; }
	.links_overview ul { list-style: none; padding-left: 0; }
	.links_overview ul a { font-weight: bold; }

	.news_preview h3 { margin-bottom: 0; }
	.news_page .graphic { margin: 0 0 13px 14px; 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; }

/*--- team ---*/
	
	#staff_overview .staff_member { position: relative; margin-bottom: 18px; }
	#staff_overview .info { position: absolute; bottom: 0; left: 313px; }
		#staff_overview .info h2 { width: auto; border: 0; margin-bottom: 0; }

/*--- slimbox ---*/

	#lbOverlay { position: fixed; z-index: 9999; left: 0; top: 0; width: 100%; height: 100%; background: #000; cursor: pointer; }
	#lbCenter, #lbBottomContainer { position: absolute; z-index: 9999; left: 50%; overflow: hidden; background: #fff; }
	.lbLoading { background: #fff url(../images/slimbox/loading.gif) no-repeat center; }
	#lbImage { position: absolute; left: 0; top: 0; border: 10px solid #fff; background-repeat: no-repeat; }
	#lbPrevLink, #lbNextLink { display: block; position: absolute; top: 0; width: 50%; }
	#lbPrevLink { left: 0; }
	#lbPrevLink:hover { background: transparent url(../images/slimbox/previous.gif) no-repeat 0% 30%; }
	#lbNextLink { right: 0; }
	#lbNextLink:hover { background: transparent url(../images/slimbox/next.gif) no-repeat 100% 30%; }
	#lbBottom { font-size: 12px; line-height: 19px; text-align: left; border: 10px solid #fff; border-top-style: none; }
	#lbCloseLink { display: block; float: right; width: 21px; height: 20px; background: transparent url(../images/slimbox/close.gif) no-repeat center; margin: 5px 0; }
	#lbCaption, #lbNumber { margin-right: 71px; }
	#lbCaption { font-weight: bold; }

/*--- 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; }

/*--- design ---*/

	#nav { list-style: none; padding-left: 0; }
		#nav li.active, #nav li.activenode { background: #007bc0; }
			#nav li.active a, #nav li.activenode a { background: url(../images/design/dropdown_arrow.png) no-repeat 100% 50%; color: #fff; }
					#nav li.active ul a, #nav li.activenode ul a { color: #007bc0; }
					#nav li.active ul a:hover, #nav li.activenode ul a:hover { color: #000; }
		#nav li.hover, #nav li:hover { background: #fed443; }
			#nav li.hover span, #nav li:hover span { background: url(../images/design/dropdown_arrow_active.png) no-repeat 100% 50%; color: #007bc0; }
			#nav li.hover ul, #nav li:hover ul { display: block!important; }
		#nav a, #nav span { display: block; padding: 11px 13px 10px; color: #fff; font-weight: bold; text-decoration: none; background: url(../images/design/dropdown_arrow.png) no-repeat 100% 50%; }
		#nav a:hover { color: #007bc0; }
		#nav span { cursor: default; }
		#nav li { float: left; padding-right: 11px; }
			#nav ul { display: none; position: absolute; list-style: none; padding: 0; background: #fed443; min-width: 150px; }
				#nav ul li { float: none; }
				#nav ul li.active, #nav ul li.activenode { background: #fed443; }
				#nav ul a { font-weight: normal; padding: 4px 13px; background: none!important; color: #007bc0; white-space: nowrap; }
				#nav ul a.first { padding-top: 9px; }
				#nav ul a.last { padding-bottom: 12px; }
				#nav ul a:hover, #nav ul a.active, #nav ul a.activenode { color: #000!important; }
		#nav li.last { padding-right: 0; }
			#nav li.last a { background: none; }

	#page { position: relative; width: 960px; padding: 28px 15px; margin: 0 auto; }
	#header { position: relative; z-index: 1000; height: 255px; margin-bottom: 20px; }
		#header .right { float: right; width: 360px; height: 73px; padding-top: 182px; background: #fed443; }
		#header .left { position: absolute; left: 0; bottom: 0; background: #333; width: 580px; border-top: 20px solid #fff; }
		#header #logo { position: absolute; right: 0; top: 33px; background: #fff; }			
	#content { position: relative; background: url(../images/design/content_bg.gif) repeat-y 100% 0; padding: 0 0 0 13px; }
	#footer { position: relative; margin-top: 20px; }
		#footer .left { position: absolute; left: -17px; top: 33px; }
			#footer .left p { background: url(../images/design/slogan.png) no-repeat; width: 557px; height: 44px; }
				#footer .left p span { display: none; }
		#footer .right { float: right; background: #007bc0; width: 98px; height: 24px; padding: 71px 0 0 262px; }
		#footer #author a { background: url(../images/design/author.gif) no-repeat; display: block; width: 84px; height: 17px; }
		#footer #author span { display: none; }

	#functions ul { list-style: none; padding-left: 13px; }
	#functions li { background: url(../images/design/func_icon.gif) no-repeat 0 50%; padding-left: 19px; margin-bottom: 7px; }
	#functions a { text-decoration: none; font-weight: bold; color: #007bc0; }
	#functions a:hover, #functions a.active { color: #000; }

	#title { height: 30px; }
	#title, h2 { width: 556px; margin-left: -13px; }
	#content { min-height: 146px; }
	.container_left { float: left; width: 555px; }
	.container_right { float: right; margin-top: -52px; width: 334px; background: #fff; padding: 0 13px 7px; }
		.container_right h2 { width: 336px; font-size: 19px; line-height: 27px; }

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

	.startpage #page { position: absolute; left: 50%; top: 50%; margin-left: -480px; margin-top: -280px; padding: 0; height: 560px; background-repeat: no-repeat; background-position: 0 100%; }
	.startpage #header { height: 445px; margin-bottom: 20px; }
		.startpage #header .right { padding-top: 372px; }
		.startpage #header .left_sp {position: absolute; left: 0; top: 0; background: #333; width: 580px; }
		.startpage #header #logo { top: 110px; }
	.startpage #footer .left { position: absolute; left: -17px; top: -14px; }

	.startpage #content { display: none; }

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

