/**
 * Common
 *
 * does not include forms and tables 
 *
 */

html,
body {
	padding: 0;
	margin: 0;
}

body {
	line-height: 1.5em;
}

p,
ul,
ol,
dl,
blockquote,
address {
	padding: 0;
	margin: 0 0 1.5em 0;
}

ul ul,
ul ol,
ul dl,
ol ul,
ol ol,
ol dl,
dl ul,
dl ol,
dl dl {
	margin-bottom: 0;
}

ol {
	margin-left: 2em;
}

ul {
	list-style: none;
	margin-left: 0.5em;
}

dt,
dd,
li {
	padding: 0;
	margin: 0;
}

ul li {
	background: url(../img/16x16/bullet_black.png) no-repeat left .1em;
	padding-left: 1.5em;
}

dt {
	font-weight: bold;
}

dd {
	margin-left: 2em;
}

blockquote {
	font-style: italic;
	padding-left: 2em;
	background: url(../img/16x16/quotation.png) no-repeat 0.25em top;
}

* html blockquote {
	background-image: url(../img/16x16/quotation.gif);
}

blockquote cite {
	display: block;
	font-style: normal;
	font-variant: small-caps;
}

blockquote cite:before {
	content: '— 'attr(cite);
}

h2 { 
	font-size: 2em;
	line-height: 1.5em;
	padding: 0;
	margin: 0 0 0.75em 0;
	overflow: hidden;
	text-indent: -99999em;
}

h3 { 
	font-size: 1.5em; 
	line-height: 1em; 
	padding: 0;
	margin: 0 0 1em 0;
}

h3.img { 
	text-indent: -99999em;
	overflow: hidden;
	background-repeat: no-repeat;
}

h3.subtitle {
	font-style: italic;
	font-size: 1em; 
	line-height: 1.5em; 
	margin: 0 0 1.5em 0;
}

h4 { 
	font-size: 1em; 
	line-height: 1.5em; 
	padding: 0;
	margin: 0;
}

hr {
	background-color: #404040;
	color: #404040;
	border: 0; 
	height: 1px; 
	margin: 0 0 1.5em 0;
}

sub {
	vertical-align: middle;
	position: relative;
	top: 0.33em;
	font-size: 0.75em;
}

/* Internet Explorer 8 */
sub { font-size /*\**/: 1em\9; }

/* Internet Explorer 7 */
*:first-child+html { font-size: 1em; }

/* Internet Explorer 6 */
* html sub { font-size: 1em; }

sup { 
	vertical-align: middle;
	position: relative;
	top: -0.5em;
}


/**
 * Form
 *
 */

form {
	padding: 0;
	margin: 0;
}

form span.required { color: #D02020; }

form fieldset {
	clear: both;
	position: relative;
	top: 1.5em;
	padding: 0.3em 8px 0.3em 8px;
	margin: 0 0 2.5em 0;
	border: none;
	border-top: 1px solid #E0E0E0;
}

form fieldset fieldset {
	margin-top: 3em;
	background: #F8F8F8;
}

form fieldset legend {
	padding: 0;
	margin: 0;
}

form fieldset legend span {
	display: block;
	position: absolute;
	left: 0;
	top: -2em;
	padding: 0.125em;
	margin: 0;
	font-weight: bold;
	font-size: 1em; 
	line-height: 1.5em; 
	color: #404040;
}

/* Internet Explorer 8 */
form fieldset legend span {
	left /*\**/: 9px\9;
	top /*\**/: -1.625em\9;
}

/* Internet Explorer 7 */
*:first-child+html form fieldset legend span {
	left: 9px;
	top: -1.625em;
}

/* Internet Explorer 6 */
* html form fieldset legend span {
	left: 9px;
	top: -1.625em;
}

form div {
	clear: both;
}

form div span.error {
	clear: both;
	display: block;
	margin: 0 0 2px 140px;
	color: #D02020;
}

form .label {
	float: left;
	display: inline;
	width: 130px;
	padding: 0;
	margin: 0 10px 0 0;
	font-size: 1em;
	line-height: 1.5em;
}

form .input input {
	float: left;
}

form .input input,
form .textarea textarea {
	width: 298px;
	border: 1px solid #E0E0E0;
	margin: 0 2px 2px 0;
	padding: 1px; /* sollte '0 1px', aufgrund der Ästhetik brechen wir das Grid hier */
	background: #FFFFFF;
	font-size: 1em;
	font-family: Tahoma;
	color: #505050;
}

form .textarea textarea {
	height: 6.85em;
	overflow: auto;
}

/* Internet Explorer 6 */
* html form .textarea textarea {
	margin-left: -3px;
}

form select {
	float: left;
	border: 1px solid #E0E0E0;
	margin: 0 2px 2px 0;
	padding: 1px; /* sollte '0 1px', aufgrund der Ästhetik brechen wir das Grid hier */
	background: #FFFFFF;
	font-size: 1em;
	font-family: Tahoma;
	color: #505050;
}

form .input .s25 { width: 70px; }
form .input .s33 { width: 95px; }
form .input .s34 { width: 96px; }
form .input .s50 { width: 146px; }
form .input .s66 { width: 197px; }
form .input .s75 { width: 222px; }
form .input .s00, 
form .textarea .s00 { width: 438px }

form .input input.error,
form .textarea textarea.error {
	/* background: url(../img/16x16/cross.png) no-repeat bottom right; */
}

form .input input:focus,
form .textarea textarea:focus {
	border-color: #404040;
}

form .radio label {
	margin-right: 5px;
}

form .checkbox {
	padding-left: 140px;
}

form .checkbox input {
	margin: 0 3px 2px 0;
	position: relative;
	top: 2px;
}

/* Internet Explorer 8 */
form .checkbox input {
	margin-right /*\**/: 0\9;
	top /*\**/: 3px\9;
}

/* Internet Explorer 7 */
*:first-child+html form .checkbox input {
	margin-right: 0;
	top: 3px;
}

/* Internet Explorer 6 */
* html form .checkbox input {
	margin-right: 0;
	top: 3px;
}

form fieldset fieldset .checkbox {
	padding-left: 10px;
}

form fieldset fieldset .checkbox input {
	float: left;
	margin: 0 5px 2px 0;
	top: 3px;
}

/* Internet Explorer 8 */
form fieldset fieldset .checkbox input {
	margin-right /*\**/: 2px\9;
	top  /*\**/: -1px\9;
}

/* Internet Explorer 7 */
*:first-child+html form fieldset fieldset .checkbox input {
	margin-right: 2px;
	top: -1px;
}

/* Internet Explorer 6 */
* htmlform fieldset fieldset .checkbox input {
	margin-right: 2px;
	top: -1px;
}

form fieldset fieldset .checkbox label {
	float: left;
	width: 175px;
	margin: 0 10px 2px 0;
}

form .submit {
	padding: 0 0 0 140px;
}

/**
 * Tables
 *
 * includes a formated table and an unformated plain table aswell
 */

table {
	padding: 0;
	margin: 0 0 1.5em 0;
	border-collapse: collapse;
	border-bottom: 3px double #999999;
}

table caption { 
	font-size: 1em; 
	line-height: 1.5em; 
	padding: 0;
	margin: 0;
	font-weight: bold;
}

th, td { 
	border-bottom: 1px solid #999999;
	text-align: center;
	vertical-align: top;
	margin: 0;
	padding: 0.25em 0.5em;
}

th.style0,
td.style0,
td.td-0 {
	background: #FFFFFF;
}

th.style1,
td.style1,
td.td-1 {
	background: #FCFCFC;
}

th.style2,
td.style2,
td.td-2 {
	background: #F8F8F8;
}

th.style3,
td.style3,
td.td-3 {
	background: #F4F4F4;
}

th.style4,
td.style4,
td.td-4 {
	background: #F0F0F0;
}

th.style5,
td.style5,
td.td-5 {
	background: #ECECEC;
}

th.style6,
td.style6,
td.td-6 {
	background: #E8E8E8;
}

th.style7,
td.style7,
td.td-7 {
	background: #E4E4E4;
}

table.plain {
	padding: 0;
	margin: 0;
	border: 0;
}

table.plain th,
table.plain td {
	text-align: left;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

/**
 * Generic stuff
 *
 */

div.error,
div.notice,
div.success {
	padding: 0.675em 0.5em 0.675em 2.5em;
	border: 1px solid #D02020;
	background: url(../img/16x16/error.png) no-repeat 0.5em 0.775em;
	margin-bottom: 1.5em;
}

div.notice {
	border-color: #638BBB;
	background-image: url(../img/16x16/information.png);
}

div.success {
	border-color: #50B050;
	background-image: url(../img/16x16/accept.png);
}

* html div.error   { background-image: url(../img/16x16/error.gif); }
* html div.notice  { background-image: url(../img/16x16/information.gif); }
* html div.success { background-image: url(../img/16x16/accept.gif); }

a.button, 
span.button { 
	background: transparent url(../img/button_18.png) no-repeat left 0;
	display: inline-block;
	height: 18px;
	line-height: 18px;
	margin: 0;
	padding: 0 0 0 8px;
	overflow: hidden;
	position: relative;
	text-align: center;
	text-decoration: none;
	width: auto;
	vertical-align: middle;
	color: #333333;
}

* html span.button { padding: 0; }
*:first-child+html span.button { padding: 0; }

a.button:hover,
span.button:hover {
	background-position: left -18px;
}

a.button span, 
span.button input { 
	background: transparent url(../img/button_18.png) no-repeat right 0;
	display: inline-block;
	border: none;
	color: #333333;
	cursor: pointer;
	font-size: 1.1em;
	height: 18px;
	line-height: 18px;
	margin: 0 0 0 0;
	padding: 0 8px 0 0;
}

* html span.button input { padding: 0; }
*:first-child+html span.button input { padding: 0; }

a.button:hover span,
span.button:hover input {
	background-position: right -18px;
	color: #FFFFFF;
}

/**
 * Fixes for TYPO3 default stylesheets and some extensions
 *
 */

 /* CSS Styled Content */
li.csc-textpic-image { background: none; }

/* GO.ROUTE */
.googledir td { text-align: left; }


/**
 * Gallery
 *
 */

.gallery {
	overflow: hidden;
}

.gallery ul {
	margin: 0;
	width: 750px;
}

.gallery ul:after {
	content: '\00A0';
	display: block;
	clear: both;
	height: 0;
	overflow: hidden;
}

.gallery ul li {
	margin: 0 20px 20px 0;
	padding: 0;
	list-style: none;
	width: 220px;
	display: inline-block;
	vertical-align: top;
	background: none;
}

/* Internet Explorer 7 */
*:first-child+html .gallery ul li {
  display: inline;
}

/* Internet Explorer 6 */
* html .gallery ul li {
  display: inline;
}

.gallery ul li a,
.gallery ul li img {
	padding: 0;
	margin: 0;
	border: none;
	display: block;
	text-decoration: none;
}

.gallery ul li span.caption {
	display: block;
	line-height: 1.5em;
	margin-top: .25em;
	color: #404040;
}

.gallery ul li span.title {
	display: block;
}


html {
	background: url(../img/html.png) repeat-x center top; 
}

body {
	font-family: Verdana, Tahoma, Arial, sans-serif;
	font-size: 12px;
	color: #445355;
}
a {
	color: #000;
}

#top {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 179px;
	overflow: hidden;
}
#top .left {
	width: 50%;
	height: 100%;
	background: url(../img/top_left.png) repeat-x 0 47px;
	position: absolute;
	top: 0;
	left: -480px;
}
#top .right {
	width: 50%;
	height: 100%;
	background: url(../img/top_right.png) repeat-x 0 47px;
	position: absolute;
	top: 0;
	right: -480px;
}

#container {
	width: 960px;
	margin: 0 auto;
	padding: 0;
	position: relative;
	z-index: 10;
}

#container:after {
	content: '\00A0';
	display: block;
	width: 100%;
	height: 0px;
	overflow: hidden;
	clear: both;
}

h2 {
	text-indent: 0;
	text-transform: uppercase;
}

#header {
	position: relative;
	background: url(../img/header.png) no-repeat center top;
	width: 960px;
	margin: 47px auto 18px auto;
	height: 132px;
}

#header h1 {
	margin: 0;
	padding: 0;
	width: 173px;
	height: 169px;	
	overflow: hidden;
	position: absolute;
	top: -35px;
	left: 25px;
}
#header h1 a {
	display: block;
	width: 173px;
	height: 169px;
	text-indent: -9999em;
	background: url(../img/logos.png) no-repeat left top;
	outline: none;
}
#header h2 {
	width: 174px;
	height: 169px;
	position: absolute;
	top: -35px;
	right: 25px;
	overflow: hidden;
}
#header h2 a {
	display: block;
	width: 174px;
	height: 169px;
	text-indent: -9999em;
	outline: none;
	background: url(../img/logos.png) no-repeat right top;
}
#hotline {
	position: absolute;
	top: 28px;
	left: 215px;
	font-weight: bold;
	font-size: 13px;
	text-transform: uppercase;
	color: #333;
}
#hotline span {
	font-size: 20px;
	display: block;
	clear: both;
	color: #445253;
}
#hotline a {
	text-decoration: none;
	color: inherit;
}
#content {
	display: block;
	clear: both;
	width: 850px;
	padding: 0;
	margin: 70px auto 0;
	font-size: 13px;
}


#col0 {
	float: left;
	display: inline;
	width: 100%;
	margin: 0 0 18px 0;
}

#col2 {
	float: left;
	display: inline;
	width: 100%;
	margin: 0 0 18px 0;
}

.csc-textpic-caption {
	padding-top: 4px;
	font-size: 11px;
	line-height: 1.3em;
}

#aside {
}

#menu {
	position: absolute;
	top: 150px;
	left: 0;
	width: 960px;
}
*+html #menu {
	top: 195px;
}
#menu h2 {
	display: none;
}
#menu ul {
	width: 100%;
	text-align: center;
	display: block;
	margin: 0 auto;
	padding: 0;
}
#menu ul li {
	display: inline;	
	background: none;
	padding-left: 15px;
}
#menu ul li.first-child {
	padding-left: 0;
}
#menu ul li a {
	color: #445253;
	font-weight: bold;
	text-transform: uppercase;
	font-size: 13px;
	text-decoration: none;
	padding: 5px 7px;
}
#menu ul li a:hover, 
#menu ul li a:active, 
#menu ul li a:focus, 
#menu ul li.root a, 
#menu ul li.root a:visited, 
#menu ul li.root a:hover, 
#menu ul li.root a:active, 
#menu ul li.root a:focus {
	color: #000;
}

#footer {
	position: relative;
	clear: both;
	background: url(../img/footer.png) no-repeat 0 0;
	width: 960px;
	height: 151px;
	margin: 0 auto;
}

#footer #address {
	font-style: normal;
	font-size: 14px;
	margin: 0;
	padding: 13px 55px 0;
	line-height: 1.6em;
	position: relative;
}
#footer .adr0 {
	color: #445253;
	float: left;
}
#footer .adr1 {
	float: right;
	margin: 0 100px 0 0; 
	color: #000;
}

#footer h4 {
	font-size: 14px;
	font-weight: bold;
	margin: 0;
	padding: 0;
	line-height: 16px;
}
#footer small {
	font-size: 10px;
	text-transform: upper;
	line-height: 16px;
	margin: 0 0 7px 0;
}
#footer strong {
	display: block;
}
#footer a {
	text-decoration: none;
}
#footer a:hover,
#footer a:active,
#footer a:focus {
	text-decoration: underline;
}
#footer .adr0 a {
	color: #445253;
}

#end {
	position: relative;
	display: block;
	float: left;
	height: 0;
	width: 100%;
	margin: 0;
	z-index: 0;
	top: -98px\9;
}
#end .left {
	width: 40%;
	height: 151px;
	background: url(../img/end_left.png) repeat-x 0 0;
	position: absolute;
	top: -151px;
	left: 0;
}
#end .right {
	width: 40%;
	height: 151px;
	background: url(../img/end_right.png) repeat-x 0 0;
	position: absolute;
	top: -151px;
	right: 0;
}

#sitelinks {
	width: 380px;
	height: 25px;
	position: absolute;
	top: -30px;
	right: 165px;
}
#sitelinks ul {
	margin: 0;
	padding: 0;
}
#sitelinks ul li {
	background: none;
	display: block;
	float: left;
	background: url(../img/sitelinks_sep.gif) no-repeat 8px center;
}
#sitelinks ul li.first-child {
	background: none;
}
#sitelinks ul li a {
	font-size: 10px;
	text-transform: uppercase;
	color: #445252;
	text-decoration: none;
}
#sitelinks ul li a:hover,
#sitelinks ul li a:active,
#sitelinks ul li a:focus {
	text-decoration: underline;
}

#sitelinks h2 {
	display: none;
}

.layout1 #content {
	position: relative;
	padding-bottom: 30px;
}
*+html .layout1 #content {
	margin-top: 0;
}
.layout1 #content h2 {
	display: none;
}

#col2 {
	display: none;
}

#media {
	display: none;
}
.layout1 #media {
	display: block;
	width: 850px;
	height: 380px;
	position: relative;
	padding: 0;	
	z-index: 0;
}
.layout #media img {
	margin: 0;
	padding: 0;
	position: absolute;
	top: 0;
	left: 0;
}

.layout1 #col0 {
	display: block;
	position: absolute;
	bottom: 35px;
	left: 5px;
	z-index: 10;
	width: 816px;
	margin: 0;
	padding: 12px;
	float: none;
	background: url(../img/home_col0.png);
	color: #fff;
}
*+html #col0 {
	bottom: 5px;
}
.layout1 #col0 p {
	margin: 0;
	padding: 0;
}
.layout1 #col0 a {
	color: #fff;
}
table {
	border: none;
}
td, th {
	text-align: left;
	border: none;
}

#path, #lang, #search {
	display: none;
}

.mm-page {
	position: static !important;
}

.csc-default {
	margin: 1em 0;
}

/* debugging */

/* -- anpassungen für unterschiedliche Layouts -- 
.layout1 #col0 { width: 460px;  margin: 0 20px 18px 0; } 
.layout1 #col2 { width: 220px;  margin: 0 0 18px 0; } 
*/
/* JavaScript
    body { border-top: 10px solid #D02020; }
.js body { border-top: 10px solid #50B050; }
 */
/* grid
#container { background: url(../img/_grid.png); }
#col0>*,
#col2>*,
h2,
h3 {
	opacity: 0.50;
	background: #E0F0E0;
} */