@charset "ISO-8859-15";

@import "normalize.css";

/* Stile zurücksetzen */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, button, textarea, p, blockquote, th, td {
	margin: 0;
	padding: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

fieldset, img {
	border: 0;
}

address, caption, cite, code, dfn, th, var {
	font-style: normal;
	font-weight: normal;
}

ol, ul {
	list-style: none;
}

caption, th {
	text-align: left;
}

h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal;
}

q:before, q:after {
	content: '';
}

abbr, acronym {
	border: 0;
}

/* ============ */
body {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 100.01%;
	background: white;
	height: 100%;
}

#container {
	background: white;
	height: 100%;
}

/* Header (links) */
#header {
	position: fixed;
	top: 29px;
	left: 0;
	bottom: 0;
	/* volle Höhe für Bereich Rechts */
	height: auto;
	background: white url("pic/linie_vert.png") top right repeat-y;
}

#header h1 {
	padding: 45px 45px 0 47px;
}

#header #seitenbild {
	position: absolute;
	top: 200px;
	left: 0px;
	bottom: 0;
	background-repeat: no-repeat;
	height: auto;
	width: 358px;
}

/* Menü oben */
#top_menu {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	display: block;
	background: hsl(0, 0%, 95%);
	font-size: 10px;
	letter-spacing: 2px;
	color: #999;
	padding: 9px;
	text-align: right;
	z-index: 1;
	font-family: Verdana, sans-serif;
}

#top_menu > div {
	max-width: 905px;
	margin-right: auto;
}

#top_menu a {
	color: inherit;
}

#top_menu a:hover {
	color: #900;
}

/* Link aktiver Seite */
#top_menu a.aktiv {
	color: #900;
}

/* Hauptmenü */
#menu {
	margin-top: 29px;
	margin-left: 300px;
	height: 150px;
	overflow: hidden;

	/* Menü sollte nicht umbrechen: */
	min-width: 506px;
}

#menu div {
	margin: 45px 10px 10px 16px;
	padding-bottom: 5px;

	color: #AAA;
	font-family: Verdana, sans-serif;
	font-size: 12px;
	font-weight: bold;
	line-height: 27px;
	letter-spacing: 0px;
	background: transparent url("pic/linie_horiz.png") repeat-x 0px bottom;
}

/* Links im Menü */
#menu a {
	color: #999;
	letter-spacing: 0px;
}

#menu a:hover {
	color: #900;
}

/* Link aktiver Seite */
#menu a.aktiv {
	color: #900;
}

/* Box für Fließtext */
#content {
	color: black;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 75%;
	line-height: 1.5em;

	margin-left: 300px;
	padding: 0 20px 20px 85px;
	/* Min und Maxbreite für Fließtext */
	max-width: 610px;
	min-width: 300px;
}

/* Fließtext */
/* Rote Überschrift */
#content h2 {
	color: #C00;
	font-size: 16px;
	font-family: Arial, sans-serif;
	font-weight: normal;
	/* Abstände nach oben, rechts, unten, links */
	/* Also zum Menü und zum Fließtext         */
	margin: 22px 0 46px 0;
	height: 23px;
}

/* Schwarze Zwischenüberschrift */
#content h3 {
	color: #000;
	font-weight: bold;
	margin: 43px 0 16px 0;
}

#content p,
#content address,
#content table,
#content ul {
	margin: 10px 0 0 0;
	color: #333;
}

/* Links im Fließtext */
#content a:link {
	color: #C00;
}

#content a:visited {
	color: #C00;
}

#content a:hover {
	color: #C00;
	text-decoration: underline;
}

/* restliche Links */
a:link, a:visited {
	text-decoration: none;
}

/* Impressum-Link */
#content #link_design_imbusch:link,
#content #link_design_imbusch:visited {
	color: #333;
}

#content #link_design_imbusch:hover {
	color: #C00;
}

hr {
	height: 1px;
	color: #DDD;
	border-style: none;
	border-top: 1px solid #DDD;
}

/* Listen */
#content ul {
	list-style: none;
}

#content ul li {
	padding-left: 3.6em;
	background: url("pic/list_bullet.png") 2.27em 0.47em no-repeat;
}

#content ul.keinabstand {
	margin-top: 0;
}

/* Tabelle */
#content table caption {
	margin-bottom: 2ex;
	*padding-bottom: 2ex;
	font-weight: bold;
}

#content td, th {
	border: 1px solid #DDD;
	text-align: center;
	padding: 6px;
	vertical-align: top;
}

#content th {
	background-color: #f4f4f4;
	text-align: center;
	vertical-align: middle;
}

/* Startseite */
body.startseite #header {
	padding: 16px 0 0 13px;
	background: none;
	position: absolute;
	top: 29px;
	height: 370px;
}

body.startseite #menu {
	position: absolute;
	top: 484px;
	left: 0;
	right: 0;
	margin: 0;
	padding: 0;
	width: 100%;
	height: auto;
	border-top: 2px solid #C00;
}

body.startseite #menu div {
	margin: 4px 0 0px 0;
	padding: 0 0 13px 34px;
	background-position: 4px bottom;
}

body.startseite #content {
	margin: 0px 0 0 260px;
	padding-top: 81px;
	height: 383px;
	width: auto;
	background: white url("pic/bg_startseite_4b.jpg") no-repeat 214px bottom;
}

body.startseite #content #text_supervision,
body.startseite #content #text_beratung,
body.startseite #content #text_seminare {
	margin: 0;
	padding: 0;
	height: auto;
	font-family: "Courier New", monospace;
	color: #DADADA;
	font-weight: bold;
	font-size: 30px;
	line-height: 1.30em;
	letter-spacing: 2px;
	text-transform: lowercase;
}

body.startseite #content #text_supervision {
	margin-left: 1px;
}

body.startseite #content #text_beratung {
	margin-left: 86px;
}

body.startseite #content #text_seminare {
	margin-left: 44px;
}

/*
Stile des Kontaktformulars
*/

form.kontakt {
	margin-top: 40px;
}

form.kontakt #kontaktform_message {
	font-size: 21px;
	margin: 1em 0;
	line-height: 130%;
}

form.kontakt #kontaktform_message:empty {
	display: none
}

form.kontakt label {
	display: block;
	margin-bottom: 2px;
	color: hsl(0, 0%, 40%);
}

input[type="text"], input[type="email"], input[type="tel"], input[type="date"], textarea {
	border: 2px solid hsl(0, 0%, 89%);
	background: hsl(0, 0%, 100%);
	color: inherit;
	padding: 11px;
	width: 100%;
	max-width: calc(100%);
	box-sizing: border-box;
	display: block;
}

input[type="checkbox"] {
	display: inline-block;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 2px solid hsl(0, 0%, 89%);
	background: hsl(0, 0%, 100%);
	box-sizing: border-box;
	height: 1.2em;
	width: 1.2em;
	cursor: pointer;

	text-shadow: 1px 1px 1px rgba(0, 0, 0, .2);
	font-size: 2em;
	color: hsl(0, 0%, 50%);
	text-align: center;
	line-height: 97%;
	vertical-align: middle;
}

input[type="checkbox"] ~ label {
	display: inline-block;
	vertical-align: middle;
}

input[type=checkbox]:checked:before {
	content: "\2713";
}

form.kontakt .group + .group {
	margin-top: 2em;
}

form.kontakt .group {
	display: table;
	border-spacing: 0em;
	box-sizing: border-box;
}

form.kontakt .group > * {
	display: table-cell;
}

form.kontakt .group > :only-child {
	width: 100%;
}

form.kontakt .group > .group-100 {
	width: 48em;
	max-width: calc(100% - 2em);
	display: table-cell;
}

form.kontakt .group > .group-50 {
	width: 24em;
	max-width: calc(50% - 2em);
	display: table-cell;
}

form.kontakt .group input {
	max-width: calc(100% - 1em);
}

textarea {
	height: 15em;
}

button {
	background-color: hsl(0, 0%, 67%);
	color: hsl(0, 0%, 100%);
	padding: 8px 32px;
	border: none;
}

button:hover, button:active {
	background-color: hsl(0, 0%, 53%);
}

@media print {
	#header #seitenbild,
	#menu {
		display: none;
	}

	#content {
		margin: 0.3cm;
	}

	#content h2 {
		background: none !important;
		margin-bottom: 0.5cm;
		font-size: 0.6cm;
	}

	#content h2 span {
		visibility: visible !important;
	}

	#content ul {
		list-style: disc;
		padding-left: 2em;
	}

	#content ul li {
		background: none;
		padding-left: 1em;
	}

	#header {
		position: static;
		padding: 0;
		margin: 0;
	}

	#header h1 {
		padding: 0cm;
		margin: 0;
	}

	#header h1 img {
		width: 3cm;
	}
}