
/* --------------------------------------------------------------------------------------
 * html and body
 * -------------------------------------------------------------------------------------- */

	html {
		height: 100%;
		padding-bottom: 1px; /* always show vertical scrollbars */
	}
	body {
		font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;
		font-size: 13.5px;
		background: #fff; color: #333;
		margin: 0; padding: 0;
		width: 100%;
		height: 100%;
	}
	body.ie6 {
		behavior: url("static/components/csshover/csshover3.htc");
	}


/* --------------------------------------------------------------------------------------
 * generic classes
 * -------------------------------------------------------------------------------------- */

	.mb0 {
		margin-bottom: 0 !important;
	}
	.mb1 {
		margin-bottom: 10px !important;
	}
	.mb2 {
		margin-bottom: 25px !important;
	}
	.mb3 {
		margin-bottom: 50px !important;
	}
	.mb4 {
		margin-bottom: 100px !important;
	}
	.clear {
		overflow: hidden;
		clear: both;
		display: table;
		height: 0;
		zoom: 1;
	}
	.inline {
		display: inline;
	}

/* --------------------------
 * media classes
 * -------------------------- */

	/*
	.reader    = screen reader only         (eg skip links)
	.print     = print only                 (eg contact infos, references)
	.nonprint  = don't print                (eg navigation)
	.noreader  = hide from screen readers   (eg screen meta info)
	.nonjs     = show if JS is deactivated
	*/

	.reader {
		position: absolute; left: -990em; height: 1em; width: 1em;
		overflow: hidden;
	}
	.print {
		display: none;
		visibility: hidden;
	}
	.nonprint {
		/* nothing */
	}
	@media aural {
		.nonreader {
			display: none;
			visibility: hidden;
		}
	}
	html.js .nonjs {
		display: none;
	}


/* --------------------------------------------------------------------------------------
 * typo, images, lists, tables, forms,..
 * -------------------------------------------------------------------------------------- */

	p, li {
		font-size: 1em; line-height: 1.4em; font-weight: normal;
		margin: 0 0 1em 0; padding: 0;
	}
	h2, h3, h4, h5, h6 {
		font-size: 1.1em; line-height: 1.4em; font-weight: bold;
		margin: 0 0 1em 0; padding: 0;
		color: #555;
	}
	h1 {
		font-size: 1.6em; line-height: 1.4em; font-weight: normal;
		margin: 0 0 1em -1px; padding: 0;
		color: #333;
	}

/* --------------------------
 * lists
 * -------------------------- */

	ul,
	ol {
		margin: 0 0 1.5em 0;
		padding: 0 0 0 2em;
	}
	li {
		margin: 0 0 0.3em 0;
		padding: 0;
	}

	ul {
		list-style: square;
	}

/* --------------------------
 * links
 * -------------------------- */

	a {
		text-decoration: none;
		color: #2e7ec0;
	}
	a:hover,
	a:focus {
		text-decoration: underline;
	}
	a:active {
		outline: none; /* remove dotted borders */
	}
	a:visited {
	}

	/* external */

	@media screen {
		a.external {
			background-image: url(../images/icon_external.png);
			background-position: right 20%;
			background-repeat: no-repeat;
			padding-right: 11px;
		}
	}

/* --------------------------
 * images
 * -------------------------- */

	img {
		border: 0;
		padding: 0;
		margin: 0;
		display: block;
	}
	img {
		/* behavior: url("static/components/iepngfix/iepngfix.htc"); */
	}

/* --------------------------
 * tables
 * -------------------------- */

	table,
	table tr,
	table th,
	table td {
		margin: 0;
		padding: 0;
		border: 0;
		vertical-align: top;
		text-align: left;
	}
	table th,
	table td {
		font-size: 1em; line-height: 1.6em; font-weight: normal;
	}


/* --------------------------------------------------------------------------------------
 * tools
 * -------------------------------------------------------------------------------------- */

	/* maintenance */

	#maintenance {
		background: #222;
	}
	#maintenance p {
		font-size: 1em;
		line-height: 1em;
		display: block;
		text-align: center;
		color: #fff;
		padding: 5px 5px 6px 5px;
		margin: 0;
		border-bottom: 2px solid #fff;
	}

	/* DECAF */

	a#decafmedia,
	a#decafmedia:hover,
	a#decafmedia:focus {
  		width: 12px;
  		height: 64px;
  		margin: -100px 0 0 0;
  		position: absolute; left: 8px;
  		text-decoration: none;
  		border: none;
  		background: none;
  	}

	/* non-js info */

	.jsinfo {
		background: #ffffcc;
		padding: 3px 10px;
		margin: 0 0 10px 0;
	}

/* --------------------------------------------------------------------------------------
 * d--form
 * -------------------------------------------------------------------------------------- */

	/* containers */

	.d--form {
		/* width: 600px; */
	}
	.d--form .d--inner {
		margin-right: 15px; /* margin between cells */
	}
	.d--form .d--stretch {
		margin-right: -15px; /* negative margin according to .d--inner */
		zoom: 1;
	}
	.ie6 .d--form .d--data {
		/* IE 6 */
		margin-right: 6px; /* value must be (padding + borders) of form elements! */
	}
	.ie7 .d--form .d--data {
		/* IE 7 */
		margin-right: 6px; /* value must be (padding + borders) of form elements! */
	}

	/* generic elements */

	.d--form .d--clear {
		overflow: hidden;
		clear: both;
		display: table;
		height: 0;
		zoom: 1;
	}
	.d--form .d--mb1 {
		margin-bottom: 5px;
	}
	.d--form .d--mb2 {
		margin-bottom: 10px;
	}
	.d--form .d--mb3 {
		margin-bottom: 20px;
	}

	/* horizontal layout */

	.d--form .d--cell {
		float: left;
	}
	.ie6-7 .d--form .d--cell {
		overflow: hidden;
	}
	.d--form .d--w100 {
		width: 99.9%;
	}
	.d--form .d--w75 {
		width: 74.9%;
	}
	.d--form .d--w50 {
		width: 49.9%;
	}
	.d--form .d--w25 {
		width: 24.9%;
	}

	/* vertical layout */

	.d--form .d--label,
	.d--form .d--data,
	.d--form .d--caption {
		margin-bottom: 2px;
	}

	/* labels */

	.d--form label {
		display: block;
		padding: 2px 0;
	}
	.d--form .d--grouplabel {
		margin-bottom: 10px;
	}

	/* caption (text below form elements) */

	.d--form .d--caption p {
		margin: 0;
		color: #888;
	}

	/* input elements */

	.d--form .d--input,
	.d--form .d--select,
	.d--form .d--textarea {
		box-sizing: border-box;
		-moz-box-sizing: border-box; /* gecko */
		-webkit-box-sizing: border-box; /* khtml/webkit */
		-ms-box-sizing: border-box; /* IE */
		width: 100%; /* default full width */
	}
	.d--form .d--radio,
	.d--form .d--checkbox {
		cursor: pointer;
	}
	.d--form .d--radiocheck .d--data {
		margin: 0;
		float: left;
	}
	.d--form .d--radiocheck .d--label {
		margin-left: 25px;
	}
	.ie6 .d--form .d--radiocheck .d--label {
		margin-left: 3px;
		display: inline;
		zoom: 1;
	}
	.d--form .d--radiocheck label {
		float: left;
		cursor: pointer;
	}

	/* cancel element */

	.d--form .d--cancel {
		display: inline;
		padding-left: 10px;
		vertical-align: text-bottom;
		zoom: 1;
	}
	.d--form .d--cancel a {
		padding-left: 10px;
	}

	/* mandatory */

	.d--form .d--mandatory label {
		font-weight: bold;
	}

	/* errors */

	.d--form .d--error .d--label {
		background: #DD1100;
		color: #fff;
		padding: 0 0 0 8px;
	}
	.d--form .d--error label {
		font-weight: bold;
	}
	.d--form .d--errors .d--inner {
		background: #DD1100;
	}

	/* alert */

	.d--form .d--alert {
		margin-bottom: 20px;
	}
	.d--form .d--alert .d--inner {
		padding: 10px;
	}
	.d--form .d--alert p {
		color: #fff;
		margin: 0 0 10px 0;
	}
	.d--form .d--alert ul,
	.d--form .d--alert ol {
		margin: 0;
		padding: 0;
	}
	.d--form .d--alert li {
		color: #fff;
		margin: 0 0 0 30px;
		padding: 0;
	}
	.d--form .d--alert li a {
		color: #fff;
		text-decoration: none;
	}

	/* style1: minimal */

	.d--form,
	.d--form * {
		font-family: Arial, sans-serif;
		font-size: 1em;
		line-height: 1.3em;
	}


/* --------------------------------------------------------------------------------------
 * layout
 * -------------------------------------------------------------------------------------- */

	.wrp-1 {
		background: url(../images/bgr.gif) no-repeat;
		min-height: 100%;
	}
	.ie6 .wrp-1 {
		height: 100%;
	}
	.wrp-2 {
		width: 88%;
		min-width: 940px;
		max-width: 1100px;
		margin: 0 auto;
	}
	.ie6 .wrp-2 {
		width: 960px;
	}
	.content {
		padding-bottom: 100px;
	}
	.main {
		float: left;
		width: 500px;
		margin-left: 50px;
	}
	.ie6 .main {
		display: inline;
	}
	.side {
		float: right;
		width: 360px;
	}


/* --------------------------------------------------------------------------------------
 * content
 * -------------------------------------------------------------------------------------- */

	/* navigation */

	.navigation {
		height: 60px;
		margin-bottom: 40px;
	}
	.navigation ul {
		margin: 0;
		padding: 0;
		list-style: none;
		zoom: 1;
	}
	.navigation li {
		display: block;
		float: left;
		margin: 0 3px 3px 0;
		cursor: default;
	}
	.navigation li a {
		display: block;
		width: 118px;
		height: 54px;
		cursor: pointer;
		zoom: 1;
	}
	.navigation li .item {
		display: block;
		width: 118px;
		height: 54px;
		background: url(../images/navigation.png) 0 0 no-repeat;
	}
	.navigation li div {
		position: relative;
	}
	.navigation li div.active {
		margin-top: 5px;
	}

	.navigation li.li-1 .item {
		background-position: 0 0;
	}
	.navigation li.li-2 .item {
		background-position: -118px 0;
	}
	.navigation li.li-3 .item {
		background-position: -236px 0;
	}
	.navigation li.li-4 .item {
		background-position: -354px 0;
	}

	.navigation li.li-1 a:hover .item,
	.navigation li.li-1 a:focus .item {
		background-position: 0 -108px;
	}
	.navigation li.li-2 a:hover .item,
	.navigation li.li-2 a:focus .item {
		background-position: -118px -108px;
	}
	.navigation li.li-3 a:hover .item,
	.navigation li.li-3 a:focus .item {
		background-position: -236px -108px;
	}
	.navigation li.li-4 a:hover .item,
	.navigation li.li-4 a:focus .item {
		background-position: -354px -108px;
	}

	.navigation li.li-1 .active .item {
		background-position: 0 -54px;
	}
	.navigation li.li-2 .active .item {
		background-position: -118px -54px;
	}
	.navigation li.li-3 .active .item {
		background-position: -236px -54px;
	}
	.navigation li.li-4 .active .item {
		background-position: -354px -54px;
	}

	.navigation ul ul {
		position: absolute; top: 58px; left: 0;
		width: 118px;
		display: none;
	}
	.navigation li .active ul {
		display: block;
	}
	.navigation li li {
		position: relative;
		float: none;
		margin: -1px 0 0 0;
		border-top: 1px solid #ccc;
		border-bottom: 1px solid #ccc;
		font-size: 0.9em;
	}
	.navigation li li div {
		zoom: 1;
	}
	.navigation li li a {
		float: none;
		width: auto;
		height: auto;
		text-decoration: none !important;
		color: #333;
	}
	.navigation li li .item {
		float: none;
		width: auto;
		height: auto;
		background: none;
		padding: 3px;
	}
	.navigation li li a:hover .item,
	.navigation li li a:focus .item {
		background: #eef3f7;
	}
	.navigation li li div.active {
		margin-top: 0;
	}
	.navigation li li .active .item {
		background: #e72222;
		color: #fff;
	}

	/* logo */

	.logo {
		width: 160px;
		height: 64px;
		margin-bottom: 40px;
	}

	/* headlines */

	.headlines {
		margin-bottom: 20px;
	}
	h1 {
		font-weight: bold;
		color: #B1000D;
		margin-bottom: 0;
	}
	h2 {
		color: #333;
		margin-bottom: 0;
	}

	/* highlights */

	.slogan,
	.kmt {
		font-weight: bold;
		color: #B1000D;
	}

	/* adresse */

	.address {
	}
	.address p {
		margin-bottom: 5px;
	}
	.address .label {
		display: inline-block;
		width: 3.8em;
	}
	.address .sep {
		margin-right: -0.1em;
	}

	/* images / thumbnails */

	.image {
		width: 360px;
		height: 360px;
		margin: 0 0 10px 0;
		position: relative;
	}
	.image img {
		position: absolute; top: 0; left: 0;
	}
	.thumbs {
		margin-right: -6px; /* buffer */
		position: relative;
		zoom: 1;
	}
	.thumbs .thumb {
		float: left;
		margin: 0 5px 5px 0;
		zoom: 1;
	}
	.ie6 .thumbs .thumb {
		display: inline;
	}
	.thumbs a {
		display: block;
		width: 64px;
		height: 64px;
		border: 1px solid #ddd;
		padding: 1px;
		zoom: 1;
	}
	.thumbs a:hover,
	.thumbs a:focus {
		border-color: #809DB5;
	}
	.thumbs a.active {
		border-color: #e72222;
	}
	.thumbs .br {
		clear: both;
	}
	.thumbs .skip-1 {
		margin-left: 73px;
	}
	.thumbs .skip-2 {
		margin-left: 146px;
	}
	.loader {
		position: absolute; top: 5px; right: 20px;
		width: 24px;
		height: 24px;
		display: none;
	}

	/* leistungen */

	.leistungen {
		width: 481px;
		margin: 0 0 30px 0;
	}
	.leistungen ul {
		margin: 0;
		padding: 0;
		list-style: none;
		zoom: 1;
	}
	.leistungen li {
		display: block;
		overflow: hidden;
		margin: 0 0 10px 0;
		padding: 3px 0 0 1px;
		border-top: 1px solid #ccc;
		zoom: 1;
		position: relative;
	}
	.ie6-7 .leistungen li strong {
		position: absolute;
	}
	.leistungen ul ul {
		display: block;
		float: right;
		width: 341px;
		margin: -3px 0 0 0;
		padding: 0;
		list-style: none;
	}
	.leistungen li li {
		margin: -1px 0 0 0;
		padding: 4px 0 4px 1px;
	}

	/* personen */

	.personen {
		width: 481px;
		margin: 0 0 30px 0;
	}
	.personen ul {
		padding: 0;
		list-style: none;		
	}
	.personen li {
		display: block;
		background: #eceff1;
		margin: 0 0 10px 0;
		padding: 0;
		border-top: 1px solid #c5ced4;
		border-bottom: 1px solid #c5ced4;
		zoom: 1;
	}
	.personen .personen-bild {
		width: 66px;
		height: 80px;
		float: left;
		margin: 0 20px 0 0;
		border-top: 5px solid #809DB5;
	}
	.personen .personen-daten {
		float: left;
		padding: 3px 0;
	}

	form {
		width: 465px;
		padding: 0;
		margin: 0 0 1.5em 0;
	}
	fieldset {
		border: none;
		padding: 0 0 1em 0;
		margin: 0;
	}
	input,
	textarea {
		font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;
		background-color: #E9EDF0;
		color: #000000;
		font-size: 1em;
		line-height: 1.5em;
		font-weight: bold;
		margin: 0;
		padding: 0.2em 5px 0.2em 5px;
		width: 100%;
		border: 1px solid #D0D6DA;
		border-left: 3px solid #809DB5;
		cursor: pointer;
	}
	input.error,
	textarea.error {
		background-color: #F3EBE5;
		border: 1px solid #D0D6DA;
		border-left: 3px solid red;
	}
	label {
		color: #000000;
		font-size: 1em;
		margin: 1em 0 0.2em 0;
		padding: 0;
		display: block;
		cursor: pointer;
	}
	label:hover,
	label:focus {
		color: red;
	}
	input:focus,
	textarea:focus {
		border: 1px solid red;
		border-left: 3px solid red;
	}
	input.submit {
		font-size: 1em;
		background-color: #809DB5;
		border: none;
		color: #FFFFFF;
		margin: 1.5em 0 0 0;
		padding: 0.4em 0 0.4em 0;
		width: 180px;
	}
	input.submit:hover,
	input.submit:focus {
		background-color: red;
	}
	form p.error {
		font-size: 1em;
		line-height: 1.5em;
		margin: 0;
		padding: 0;
		font-style: normal;
		font-weight: bold;
		color: red;
	}
	p.info {
		font-size: 1em;
		line-height: 1.5em;
		margin: 0;
		padding: 0.2em 0.2em 0.3em 0.5em;
		font-style: normal;
		font-weight: normal;
		color: white;
	}
	p.info.err {
		background: red;
	}
	p.info.ok {
		background: green;
	}



