@CHARSET "UTF-8";

body {
	width: 100%;
	height: 100%;
	background-color: #ddd;
	font-size: 1em;
	margin: 0;
	padding: 0;
	font-family: arial;
	color: 000;
	text-align: center;
}

html,body {
	scrollbar-3d-light-color: #999;
	scrollbar-arrow-color: #999;
	scrollbar-base-color: #999;
	scrollbar-dark-shadow-color: #999;
	scrollbar-face-color: #ddd;
	scrollbar-highlight-color: #ddd;
	scrollbar-shadow-color: #999;
	scrollbar-track-color: #ddd;
}

#topRow {
	position: relative;
	left: 20px;
	top: 28px;
}

#middleRow {
	position: relative;
	left: 40px;
	top: 30px;
}

#bottomRow {
	position: relative;
	left: 60px;
	top: 32px;
}

#colleft {
	float: left;
	width: 260px;
	height: 100%;
}

#thwDoubleCol {
	float: left;
	width: 73%;
	height: 100%;
	text-align: left;
}

#thwDoubleCol div.thwueberschrift {
	width: 80%;
	position: relative;
	left: 8.5%;
	height: auto;
	background: #009;
	text-align: center;
	padding: 3px;
	margin: 0;
	color: #fff;
	border-style: double;
	border-color: #fff;
	border-width: 0.45em;
	text-align: center;
}

#thwDoubleCol .thwueberschrift h2 {
	font-size: 1.5em;
	font-weight: normal;
}

#thwDoubleCol div.inhalt {
	float: left;
	width: 95.5%;
	height: auto;
	padding: 10px;
	margin-top: 30px;
	background-color: #ddd;
	border-color: #999;
	border-width: 0.4em;
	border-style: double;
}

#thwDoubleCol div.kontrollmenu {
	float: left;
	width: 95.5%;
	height: auto;
	padding: 10px;
	margin-top: 30px;
	background-color: #ff6;
	border-color: #999;
	border-width: 0.4em;
	border-style: double;
}

#thwDoubleCol div.fehlermeldung {
	float: left;
	width: 95.5%;
	height: auto;
	padding: 10px;
	margin-top: 30px;
	background-color: #fc9;
	border-color: #999;
	border-width: 0.4em;
	border-style: double;
}

#thwDoubleCol div.hinweismeldung {
	float: left;
	width: 95.5%;
	height: auto;
	padding: 10px;
	margin-top: 30px;
	background-color: #9f9;
	border-color: #999;
	border-width: 0.4em;
	border-style: double;
}

#thwDoubleCol div.entry {
	float: left;
	width: 98.8%;
	height: auto;
	margin: 2px 0;
	padding: 5px;
}

#thwDoubleCol div.entryheadline {
	float: left;
	width: 98.8%;
	height: auto;
	margin: 2px 0;
	padding: 5px;
	background-color: #009;
	color: #ff0;
	font-weight: bold;
	font-size: 0.8em;
	text-align: center;
}

#homeColCenter {
	float: left;
	width: 45%;
	height: 100%;
}

#homeColRight {
	float: left;
	width: 25%;
	height: 100%;
	margin-left: 2%;
}

#homeColCenter .header {
	float: left;
	width: 70%;
	height: auto;
	background-color: #fff;
	padding-left: 14%;
	border: none;
}

#homeColCenter .header h4 {
	float: left;
	width: 100%;
	height: auto;
	background-color: #009;
	color: #fff;
	margin: 0;
	text-align: center;
	padding: 3px;
	border-style: double;
	border-color: #fff;
	border-width: 0.45em 0.45em 0 0.45em;
}

#homeColCenter .body {
	float: left;
	width: 97%;
	height: auto;
	background: #ddd;
	border-style: double;
	border-color: #999;
	border-width: 0.4em 0.4em 0 0.4em;
}

#homeColCenter .body h3 {
	margin: 0;
	text-align: center;
	padding: 0.5em;
	font-weight: normal;
	color: #009;
}

#homeColCenter .body h4 {
	margin: 0;
	padding: 0.5em;
	font-weight: normal;
	text-align: left;
}

#homeColCenter .footer {
	float: left;
	width: 97%;
	height: auto;
	padding: 0;
	margin-bottom: 4em;
	color: #000;
	background: #ccc;
	border-style: double;
	border-color: #999;
	border-width: 0 0.4em 0.4em 0.4em;
}

#homeColCenter .footer a:link,#homeColCenter .footer a:visited {
	display: block;
	width: 98.4%;
	height: auto;
	padding: 0;
	padding: 0.15em 0.3em 0.15em 0.15em;
	color: #000;
	background: #ccc;
	text-align: right;
	text-decoration: none;
}

#homeColCenter .footer a:hover {
	display: block;
	width: 98.4%;
	height: auto;
	padding: 0.15em 0.3em 0.15em 0.15em;
	color: #000;
	background: #fff;
	text-align: right;
	text-decoration: none;
}

#homeColRight .header {
	float: left;
	width: 86%;
	height: auto;
	background-color: #fff;
	padding-left: 14%;
	border: none;
}

#homeColRight .body h3 {
	margin: 0;
	padding: 0.5em 0.5em 0 0.5em;
	font-size: 0.9em;
	font-weight: bold;
	color: #009;
}

#homeColRight .header h4 {
	float: left;
	width: 75%;
	height: auto;
	background-color: #009;
	color: #fff;
	margin: 0;
	text-align: center;
	padding: 3px;
	border-style: double;
	border-color: #fff;
	border-width: 0.45em 0.45em 0 0.45em;
}

#homeColRight .body {
	float: left;
	width: 96%;
	height: auto;
	background: #ddd;
	border-style: double;
	border-color: #999;
	border-width: 0.4em 0.4em 0 0.4em;
}

#homeColRight .body h4 {
	margin: 0;
	font-size: 1em;
	padding: 8px;
	font-weight: normal;
	text-align: left;
}

#homeColRight .footer {
	float: left;
	width: 96%;
	height: auto;
	padding: 0px;
	color: #000;
	margin-bottom: 4em;
	background: #ccc;
	font-size: 0.8em;
	border-style: double;
	border-color: #999;
	border-width: 0 0.5em 0.5em 0.5em;
}

#homeColRight .footer a:link,#homeColRight .footer a:visited {
	display: block;
	width: 97.5%;
	height: auto;
	padding: 0.15em 0.3em 0.15em 0.15em;
	color: #000;
	background: #ccc;
	text-align: right;
	text-decoration: none;
}

#homeColRight .footer a:hover {
	display: block;
	width: 97.5%;
	height: auto;
	padding: 0.15em 0.3em 0.15em 0.15em;
	color: #000;
	background: #fff;
	text-align: right;
	text-decoration: none;
}

#thwDoubleCol .header {
	float: left;
	width: 70%;
	height: auto;
	background-color: #fff;
	padding-left: 14%;
	border: none;
}

#thwDoubleCol .header h4 {
	float: left;
	width: 100%;
	height: auto;
	background-color: #009;
	color: #fff;
	margin: 0;
	text-align: center;
	padding: 3px;
	border-style: double;
	border-color: #fff;
	border-width: 0.45em 0.45em 0 0.45em;
}

#thwDoubleCol .body {
	float: left;
	width: 97%;
	height: auto;
	background: #ddd;
	border-style: double;
	border-color: #999;
	border-width: 0.4em 0.4em 0 0.4em;
}

#thwDoubleCol .body h3 {
	margin: 0;
	text-align: center;
	padding: 0.5em;
	font-weight: normal;
	color: #009;
}

#thwDoubleCol .body h4 {
	margin: 0;
	padding: 0.5em;
	font-weight: normal;
	text-align: left;
}

#thwDoubleCol .footer {
	float: left;
	width: 97%;
	height: auto;
	padding: 0;
	margin-bottom: 4em;
	color: #000;
	background: #ccc;
	border-style: double;
	border-color: #999;
	border-width: 0 0.4em 0.4em 0.4em;
}

#thwDoubleCol .footer a:link,#thwDoubleCol .footer a:visited {
	display: block;
	width: 98.4%;
	height: auto;
	padding: 0;
	padding: 0.15em 0.3em 0.15em 0.15em;
	color: #000;
	background: #ccc;
	text-align: right;
	text-decoration: none;
}

#thwDoubleCol .footer a:hover {
	display: block;
	width: 98.4%;
	height: auto;
	padding: 0.15em 0.3em 0.15em 0.15em;
	color: #000;
	background: #fff;
	text-align: right;
	text-decoration: none;
}

#sitemap {
	text-align: center;
}

.reverse {
	unicode-bidi: bidi-override;
	direction: rtl;
}

.error {
	color: #f00;
}

.tab {
	margin-left: 10px;
}

.backtab {
	margin-right: 10px;
}

.center {
	text-align: center;
}

.left {
	float: left;
}

.right {
	float: right;
}

.clear {
	clear: both;
}

.justify {
	text-align: justify;
}

.coloredtext {
	color: #00b;
}

.hr {
	width: 100%;
	height: auto;
	font-size: 2px;
	background: #999;
}

.carheadline {
	float: left;
	width: 100%;
	color: #ff0;
	background-color: #009;
	font-weight: bold;
	text-align: center;
	padding: 2px 0;
	margin-top: 20px;
}

.cartableft {
	float: left;
	width: 29.5%;
	padding: 2px 2px 2px 5px;
	background-color: #009;
	color: #fff;
	margin-top: 2px;
}

.cartabright {
	float: right;
	width: 68%;
	padding: 2px 2px 2px 5px;
	margin-top: 2px;
}

.intern_profilCol1 {
	float: left;
	width: 120px;
	text-align: left;
}

.intern_profilCol2 {
	float: left;
	width: 200px;
	text-align: left;
}

.calendarframe {
	float: left;
	width: 686px;
	border-width: 0 1px 21px 0;
	border-style: solid;
	border-color: #009;
}

.calendarframemini {
	float: left;
	width: 224px;
	margin: 0;
	border-width: 1px;
	border-style: solid;
	border-color: #009;
}

.calendarhead {
	float: left;
	width: 95px;
	height: 20px;
	background-color: #009;
	text-align: center;
	color: #fff;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #009;
	padding: 1px;
}

.calendarheadmini {
	float: left;
	width: 25px;
	background-color: #009;
	text-align: center;
	color: #fff;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #009;
	padding: 1px;
}

.termin_nameCol {
	float: left;
	width: 210px;
	text-align: left;
}

.termin_nameLargeCol {
	float: left;
	width: 380px;
	text-align: left;
}

.termin_placeCol {
	float: left;
	width: 150px;
	text-align: center;
}

.termin_noticeCol {
	float: left;
	width: 150px;
	text-align: left;
}

.termin_personCol {
	float: left;
	width: 150px;
	text-align: center;
}

.datecol {
	float: left;
	width: 130px;
	text-align: center;
}

.gb_textCol {
	float: left;
	width: 99.5%;
	text-align: left;
	border-style: solid;
	border-color: #bdbdbd;
	border-width: 0 0 2px 2px;
	padding-left: 2px;
	padding-top: 2px;
	font-weight: bold;
}

.gb_entryCol {
	float: right;
	width: 80%;
	text-align: left;
	padding: 2px;
	font-weight: normal;
}

.smallcol {
	float: left;
	position: relative;
	left: 90px;
	width: 180px;
	text-align: left;
}

.largecol {
	float: left;
	position: relative;
	left: 90px;
	width: 350px;
	text-align: left;
}

.oeffentlich {
	background-color: #0d0;
}

.intern {
	background-color: #f22;
}

.b1 {
	background-color: #cc3;
}

.b2 {
	background-color: #30c;
}

.fgrw {
	background-color: #0cf;
}

.jugend {
	background-color: #f90;
}

.ga {
	background-color: #930;
}

.highlightcolor1 {
	background-color: #bdbdbd;
}

.highlightcolor2 {
	background-color: #a6a6a6;
}

.highlightcolor3 {
	background-color: #ffd;
}

.warncolor {
	background-color: #f4a460;
}

.highlightborder1 {
	border-width: 0 3px;
	border-style: solid;
	border-color: #f22;
}

.highlightborder2 {
	border-width: 0 3px;
	border-style: solid;
	border-color: #0d0;
}

.scrollpanel {
	text-align: center;
	border: 1px solid #a6a6a6;
	padding: 2px;
	overflow-y: scroll;
	overflow-x: auto;
}

.gliederung_einheit {
	width: 300px;
	float: left;
	border-width: 2px;
	border-style: solid;
	border-color: #009;
	background: #fff;
	padding: 5px;
	text-align: center;
}

.gliederung_rlinie {	
	width: 1px;
	float: left;
	border-right-style: solid;
	border-right-width: 2px;
	border-right-color: #009;
}

.geschichte_lspalte {
	width: 70px;
	float: left;
	color: #00b;
	font-weight: bold;
	margin:5px 0;
}

.geschichte_mspalte {
	width: 130px;
	float: left;
	margin:5px 0;
}

.geschichte_rspalte {
	width: 480px;
	float: left;
	text-align: justify;
	margin:5px 0;	
}

a:link,a:visited {
	color: #009;
	text-decoration: none;
}

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

a.icon:link,a.icon:visited {
	float: right;
	display: block;
	width: auto;
	height: auto;
	margin-right: 8px;
	padding: 3px 3px 0 3px;
	background: #ccc;
	text-align: center;
	text-decoration: none;
	border-style: solid;
	border-color: #999;
	border-width: 2px 2px 0 2px;
}

a.icon:hover {
	float: right;
	display: block;
	width: auto;
	height: auto;
	margin-right: 8px;
	padding: 3px 3px 0 3px;
	background: #fff;
	text-align: center;
	text-decoration: none;
	border-style: solid;
	border-color: #999;
	border-width: 2px 2px 0 2px;
}

a.specialbutton:link,a.specialbutton:visited {
	display: block;
	width: 309px;
	height: auto;
	margin: 0px;
	padding: 3px;
	background: #009;
	text-decoration: none;
	color: #fff;
	border-style: solid;
	border-color: #009;
	border-width: 2px;
}

a.specialbutton:hover {
	display: block;
	width: 309px;
	height: auto;
	margin: 0px;
	padding: 3px;
	background: #fff;
	text-decoration: none;
	color: #000;
	border-style: solid;
	border-color: #009;
	border-width: 2px;
}

a.sitemapL1:link,a.sitemapL1:visited {
	display: block;
	width: 200px;
	height: auto;
	text-decoration: none;
	background-color: #999;
	padding: 5px;
	margin: 2px 0;
	color: #000;
}

a.sitemapL1:hover {
	display: block;
	width: 200px;
	height: auto;
	text-decoration: none;
	background-color: #009;
	padding: 5px;
	margin: 2px 0;
	color: #000;
}

a.sitemapL2:link,a.sitemapL2:visited {
	display: block;
	width: 150px;
	height: auto;
	text-decoration: none;
	background-color: #999;
	padding: 5px;
	margin: 2px 0;
	color: #000;
}

a.sitemapL2:hover {
	display: block;
	width: 150px;
	height: auto;
	text-decoration: none;
	background-color: #009;
	padding: 5px;
	margin: 2px 0;
	color: #000;
}

a.sitemapL3:link,a.sitemapL3:visited {
	display: block;
	width: 100px;
	height: auto;
	text-decoration: none;
	background-color: #999;
	padding: 5px;
	margin: 2px 0;
	color: #000;
}

a.sitemapL3:hover {
	display: block;
	width: 100px;
	height: auto;
	text-decoration: none;
	background-color: #009;
	padding: 5px;
	margin: 2px 0;
	color: #000;
}

a.calendarday:link,a.calendarday:visited {
	position: relative;
	float: left;
	display: block;
	width: 95px;
	height: 95px;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #009;
	font-size: 0.8em;
	text-align: left;
	padding: 1px;
	z-index: 10;
	text-decoration: none;
	color: #000;
	z-index: 5;
	cursor: auto;
}

a.calendarday:hover {
	float: left;
	display: block;
	width: 95px;
	height: 95px;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #009;
	font-size: 0.8em;
	text-align: left;
	padding: 1px;
	z-index: 10;
	text-decoration: none;
	color: #000;
	z-index: 10;
	cursor: auto;
}

a.calendardaymini:link,a.calendardaymini:visited {
	position: relative;
	float: left;
	display: block;
	width: 25px;
	height: 20px;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #009;
	font-size: 7pt;
	text-align: left;
	padding: 1px;
	z-index: 10;
	text-decoration: none;
	color: #000;
	z-index: 5;
	cursor: auto;
}

a.calendardaymini:hover {
	float: left;
	display: block;
	width: 25px;
	height: 20px;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #009;
	font-size: 7pt;
	text-align: left;
	padding: 1px;
	z-index: 10;
	text-decoration: none;
	color: #000;
	z-index: 10;
	cursor: auto;
}

a.calendarday:link span.calendarday,a.calendarday:visited span.calendarday
	{
	display: none;
}

a.calendarday:hover span.calendarday {
	display: block;
	position: absolute;
	left: 97px;
	padding: 3px;
	width: 189px;
	height: auto;
	color: #000000;
	border: 1px solid #000000;
	background-color: #ffd;
	text-align: left;
	z-index: 20;
	border: 1px solid #009;
	cursor: auto;
}

a.calendarday:hover span.left {
	left: -197px;
}

a.calendardaymini b {
	font-size: 10pt;
	color: #009;
}

a.calendardaymini:link span.calendardaymini,a.calendardaymini:visited span.calendardaymini
	{
	display: none;
}

a.calendardaymini:hover span.calendardaymini {
	display: block;
	position: absolute;
	left: -197px;
	top: -1px;
	padding: 3px;
	width: 189px;
	height: auto;
	color: #000000;
	border: 1px solid #000000;
	background-color: #ffd;
	text-align: left;
	z-index: 20;
	border: 1px solid #009;
}

a.calendardaymini:hover span.left {
	left: -197px;
}

a.calendarday.sunday:link,a.calendarday.sunday:visited {
	background-color: #fc9;
}

a.calendarday.sunday:hover {
	background-color: #fa5;
}

a.calendarday.suntoday:link,a.calendarday.suntoday:visited {
	background-color: #fa5;
}

a.calendarday.suntoday:hover {
	background-color: #fa5;
}

a.calendarday.weekday:link,a.calendarday.weekday:visited {
	background-color: #fff;
}

a.calendarday.weekday:hover {
	background-color: #ffd;
}

a.calendarday.weektoday:link,a.calendarday.weektoday:visited {
	background-color: #ff6;
}

a.calendarday.weektoday:hover {
	background-color: #ffd;
}

a.calendarday.inactive:link,a.calendarday.inactive:visited {
	background-color: #bdbdbd;
}

a.calendarday.inactive:hover {
	background-color: #ddd;
}

a.calendardaymini.sunday:link,a.calendardaymini.sunday:visited {
	background-color: #fc9;
}

a.calendardaymini.sunday:hover {
	background-color: #fa5;
}

a.calendardaymini.suntoday:link,a.calendardaymini.suntoday:visited {
	background-color: #fa5;
}

a.calendardaymini.suntoday:hover {
	background-color: #fa5;
}

a.calendardaymini.weekday:link,a.calendardaymini.weekday:visited {
	background-color: #fff;
}

a.calendardaymini.weekday:hover {
	background-color: #ffd;
}

a.calendardaymini.weektoday:link,a.calendardaymini.weektoday:visited {
	background-color: #ff6;
}

a.calendardaymini.weektoday:hover {
	background-color: #ffd;
}

a.calendardaymini.inactive:link,a.calendardaymini.inactive:visited {
	background-color: #bdbdbd;
}

a.calendardaymini.inactive:hover {
	background-color: #ddd;
}

h2 {
	font-size: 1.5em;
	margin: 0;
	padding: 0;
}

h4 {
	font-size: 1em;
	margin: 0;
}

h5 {
	font-size: 0.8em;
	margin: 0;
}

ul {
	margin-bottom: 0;
}

img {
	border: none;
}

img.news {
	float: right;
	padding: 0;
	margin: 0 0 3px 3px;
	border-style: solid;
	border-width: 2px;
	border-color: #000;
}

img.freeview {
	padding: 0;
	margin: 10px;
	border-style: solid;
	border-width: 2px;
	border-color: #000;
}

img.galerie {
	border-style: solid;
	border-width: 2px;
	border-color: #000;
}

form {
	margin: 0;
	padding: 0;
}

input.datum {
	width: 65px;
	height: auto;
}

input.termin {
	width: 98%;
	background-color: #009;
	border: none;
	color: #fff;
	cursor: hand;
	cursor: pointer;
	margin-top: 1px;
}

input.login {
	width: 170px;
	height: auto;
}

input.zeit {
	width: 35px;
	height: auto;
}

input.longtext {
	width: 300px;
	height: auto;
}

input.button {
	width: 150px;
	height: auto;
	background-color: #fff;
	color: #000;
	cursor: pointer;
	margin-right: 15px;
	border-color: #999;
	border-style: solid;
	border-width: 2px;
}

input.smallButton {
	width: 80px;
	height: auto;
	background-color: #fff;
	color: #000;
	cursor: pointer;
	margin-right: 15px;
	border-color: #999;
	border-style: solid;
	border-width: 2px;
}

input.smallButtonHighlighted {
	width: 80px;
	height: auto;
	background-color: #bdbdbd;
	color: #000;
	cursor: pointer;
	margin-right: 15px;
	border-color: #999;
	border-style: solid;
	border-width: 2px;
}

input.smilieButton {
	width: 90%;
	height: auto;
	background-color: #fff;
	color: #000;
	cursor: pointer;
	text-align: center;
	margin: 2px;
	border-color: #999;
	border-style: solid;
	border-width: 1px;
	background-position: 5px 1px;
	background-repeat: no-repeat;
}

input.numberButton {
	width: 40px;
	height: auto;
	background-color: #fff;
	color: #000;
	cursor: hand;
	cursor: pointer;
	margin-right: 5px;
	border-color: #999;
	border-style: solid;
	border-width: 2px;
	text-align: center;
}

input.numberButtonHighlighted {
	width: 40px;
	height: auto;
	background-color: #bdbdbd;
	color: #000;
	cursor: hand;
	cursor: pointer;
	margin-right: 5px;
	border-color: #999;
	border-style: solid;
	border-width: 2px;
}

textarea.longtext {
	width: 300px;
	height: 150px;
	line-height: 1.2em;
}

div.hintergrundrahmen {
	width: 997px;
	height: auto;
	text-align: left;
	margin: 0 auto;
	background-color: #fff;
	border-style: solid;
	border-color: #999;
	border-width: 0 3px;
}

div.header {
	width: 100%;
	height: 150px;
	color: #fff;
	background-color: #009;
	border-style: solid;
	border-color: #999;
	border-width: 0 0 3px 0;
}

div.shortlinks {
	width: 100%;
	height: 1.3em;
	border-color: #999;
	border-width: 0 0 3px 0;
	border-style: solid;
	font-size: 0.8em;
}

div.shortlinks ul {
	float: left;
	list-style-type: none;
	margin: 0 3px;
	padding: 0;
}

div.shortlinks li,div.fastmenutop li,div.fastmenubottom li {
	display: inline;
}

div.shortlinks a:link,div.shortlinks a:visited {
	color: #000;
	text-decoration: none;
}

div.shortlinks a:hover {
	color: #f00;
	text-decoration: underline;
}

div.fastmenutop {
	clear: left;
	width: 100%;
	height: 2.5em;
	text-align: right;
	width: 100%;
}

div.fastmenutop .nolink {
	float: right;
	height: auto;
	padding: 2px;
	border-style: solid;
	border-color: #999;
	border-width: 0 2px 2px 2px;
}

div.fastmenutop ul {
	float: right;
	list-style-type: none;
	margin: 0 0 0.4em 0;
	padding: 0;
}

div.fastmenutop .abstand {
	margin-right: 50px;
}

div.fastmenutop a:link,div.fastmenutop a:visited {
	float: left;
	background: #ccc;
	padding: 0.2em 0.4em;
	font-size: 0.9em;
	text-align: center;
	text-decoration: none;
	color: #000;
	border-style: solid;
	border-color: #999;
	border-width: 0 0 2px 2px;
}

div.fastmenutop a:hover {
	float: left;
	background: #fff;
	padding: 0.2em 0.4em;
	font-size: 0.9em;
	text-align: center;
	text-decoration: none;
	color: #000;
	border-style: solid;
	border-color: #999;
	border-width: 0 0 2px 2px;
}

div.fastmenubottom {
	clear: both;
	padding-top: 2em;
	width: 100%;
	text-align: right;
}

div.fastmenubottom ul {
	float: right;
	list-style-type: none;
	margin: 0.4em 0 0 0;
	padding: 0;
}

div.fastmenubottom .abstand {
	margin-right: 10px;
}

div.fastmenubottom a:link,div.fastmenubottom a:visited {
	float: left;
	background: #ccc;
	padding: 0.2em 0.4em;
	font-size: 0.8em;
	text-align: center;
	text-decoration: none;
	color: #000;
	border-style: solid;
	border-color: #999;
	border-width: 0.15em 0.15em 0 0.15em;
}

div.fastmenubottom a:hover {
	float: left;
	background: #fff;
	padding: 0.2em 0.4em;
	font-size: 0.8em;
	text-align: center;
	text-decoration: none;
	color: #000;
	border-style: solid;
	border-color: #999;
	border-width: 0.15em 0.15em 0 0.15em;
}

div.body {
	clear: both;
	width: 100%;
}

div.menu {
	float: left;
	width: 210px;
	height: auto;
	padding: 0.5em 0 0.5em 0.2em;
	border-style: double;
	border-color: #999;
	border-width: 0.4em;
	background: #ccc;
}

div.menu ul {
	list-style-type: none;
	margin: 0;
	padding: 0 0.3em;
	border: none;
}

div.menu a:link,div.menu a:visited {
	display: block;
	width: 160px;
	height: auto;
	margin-top: 5px;
	padding: 3px 3px 3px 25px;
	background: #009;
	text-decoration: none;
	color: #fff;
	border-style: double;
	border-width: 6px;
	border-color: #ccc;
}

div.menu a:hover {
	display: block;
	width: 160px;
	height: auto;
	margin-top: 5px;
	padding: 3px 3px 3px 25px;
	background: #009 url(body/nav.gif) center left no-repeat;
	text-decoration: none;
	color: #fff;
	border-style: double;
	border-width: 6px;
	border-color: #ccc;
}

div.menu a.glow:link,div.menu a.glow:visited,div.menu a.glow:hover {
	background: #009 url(body/nav.gif) center left no-repeat;
}

div.menu li span {
	display: block;
	width: 196px;
	height: 3px;
	margin: 5px 0 0 2px;
	background: #999;
	text-decoration: none;
}

div.menu .sub a:link,div.menu .sub a:visited {
	display: block;
	width: 160px;
	height: auto;
	margin: 5px 0 0 28px;
	padding: 3px;
	background: #fff;
	text-decoration: none;
	color: #000;
	border-style: solid;
	border-color: #009;
	border-width: 2px;
}

div.menu .sub a:hover {
	display: block;
	width: 160px;
	height: auto;
	margin: 5px 0 0 28px;
	padding: 3px;
	background: #009;
	text-decoration: none;
	color: #fff;
	border-style: solid;
	border-color: #009;
	border-width: 2px;
}

div.menu .sub a.glow:link,div.menu .sub a.glow:visited,div.menu .sub a.glow:hover
	{
	background: #009;
	color: #fff;
}

div.menu .sub span {
	display: block;
	width: 170px;
	height: 3px;
	margin: 5px 0 0 28px;
	background: #009;
	text-decoration: none;
}

div.menu .subsub a:link,div.menu .subsub a:visited {
	display: block;
	width: 132px;
	height: auto;
	margin: 5px 0 0 56px;
	padding: 3px;
	background: #fff;
	text-decoration: none;
	color: #000;
	border-style: solid;
	border-color: #009;
	border-width: 2px;
}

div.menu .subsub a:hover {
	display: block;
	width: 132px;
	height: auto;
	margin: 5px 0 0 56px;
	padding: 3px;
	background: #009;
	text-decoration: none;
	color: #fff;
	border-style: solid;
	border-color: #009;
	border-width: 2px;
}

div.menu .subsub a.glow:link,div.menu .subsub a.glow:visited,div.menu .subsub a.glow:hover
	{
	background: #009;
	color: #fff;
}

div.menu .subsub span {
	display: block;
	width: 142px;
	height: 3px;
	margin: 5px 0 0 56px;
	background: #009;
	text-decoration: none;
}

div.zahnrad {
	width: 100%;
	height: 500px;
	background: url(body/zahnrad_leer.gif) center no-repeat;
}

div.zahnrad .mitte {
	position: relative;
	top: 90px;
	left: 185px;
	width: 310px;
	height: 310px;
	padding: 5px;
	text-align: center;
}

div.counter {
	float: left;
	width: auto;
	height: auto;
	padding: 0.3em 0.3em 0 0.3em;
	border-style: solid;
	border-color: #999;
	border-width: 0.15em 0.15em 0 0.15em;
}

div.footer {
	clear: both;
	width: 100%;
	height: auto;
	padding: 5px 0;
	color: #fff;
	text-align: center;
	background-color: #009;
	border-style: solid;
	border-color: #999;
	border-width: 3px 0 3px 0;
}

/* Leadership chart: a tree starting at the Ortsbeauftragter, styled after the THW timeline (thw.de Zeitstrahl).
   The line runs on the left; each level is indented further; the line ends at the last dot. */
.org { container-type: inline-size; font-family: Calibri, "Droid Sans", Arial, sans-serif; color: #202020; }
.org-line { list-style: none; margin: 0; padding: 0; }
.org-line > li { position: relative; }
.org-line > li::before { /* line segment, drawn per entry so it can stop at the last dot */
  content: ""; position: absolute; top: 0; bottom: 0; left: 14px; width: 2px; background: #039; }
.org-line > li:last-child::before { bottom: auto; height: 48px; }

/* Group markers on the line (like the year labels) */
.org-label { padding-top: 22px; }
.org-label span { display: inline-block; position: relative; background: #039; color: #fff;
  font-weight: bold; font-size: 20px; line-height: 1.2; padding: 6px 18px; }
.org-label.is-sub span { background: #fff; color: #039; border: 2px solid #039; font-size: 15px; padding: 3px 12px; }

/* Entries: dot on the line, a stub to the card; deeper levels are indented further */
.org-item { margin-left: 16px; padding: 12px 0 0 24px;
  background: linear-gradient(#039, #039) no-repeat 0 47px / 9px 2px; }
.org-item.is-depth-2 { padding-left: 48px; background-size: 33px 2px; }
.org-item.is-depth-3 { padding-left: 72px; background-size: 57px 2px; }
.org-line > .org-item::before { left: -2px; }
.org-item::after { /* dot */
  content: ""; position: absolute; top: 40px; left: -9px; width: 16px; height: 16px; border-radius: 50%; background: #039; }

/* The Ortsbeauftragter is the root: no dot, no stub, the line starts below the card */
.org-item.is-top { margin-left: 0; padding: 0; background: none; }
.org-line > .org-item.is-top::before { left: 14px; }
.org-item.is-top::after { content: none; }

/* Cards like the timeline teasers, with a pointer towards the line */
.org-card { position: relative; box-sizing: border-box; max-width: 460px; min-height: 72px; display: grid;
  grid-template-columns: auto 1fr; gap: 12px; align-items: center; background: #fff; border: 2px solid #039; padding: 12px 14px; }
.org-card.no-badge { grid-template-columns: 1fr; }
.org-card::before, .org-card::after { content: ""; position: absolute; clip-path: polygon(100% 0, 100% 100%, 0 50%); }
.org-card::before { left: -15px; top: 21px; width: 15px; height: 30px; background: #039; }
.org-card::after { left: -12px; top: 22px; width: 14px; height: 28px; background: #fff; }

/* All cards have the blue border; the Ortsbeauftragter gets a thicker top edge */
.is-top .org-card { border-top-width: 5px; }
.is-top .org-card::before, .is-top .org-card::after { content: none; }
.org-card.vacant { border-style: dashed; background: #f5f6f8; }
.org-card.vacant .org-name { color: #53616b; font-weight: normal; font-style: italic; }

/* Badge as high as the two text lines (role 12px x 1.3 + 3px gap + name 16px x 1.3 = 39.4px); width follows the SVG viewBox 261 x 81 (= 127px) */
.org-badge { display: block; height: calc(12px * 1.3 + 3px + 16px * 1.3); width: auto; aspect-ratio: 261 / 81; }
.org-text { min-width: 0; }
.org-role { font-size: 12px; line-height: 1.3; text-transform: uppercase; letter-spacing: 1px; color: #53616b; overflow-wrap: anywhere; }
.org-name { font-size: 16px; line-height: 1.3; font-weight: bold; margin-top: 3px; overflow-wrap: anywhere; }

/* Narrow (phone): smaller badge so long function names keep room */
@container (max-width: 420px) {
  .org-card { grid-template-columns: 64px 1fr; gap: 10px; padding: 10px 12px; }
  .org-card.no-badge { grid-template-columns: 1fr; }
  .org-badge { width: 64px; height: auto; } /* 64 x 20 px */
  .org-role { letter-spacing: 0.5px; }
}

/* Pages in the new style (contact, leadership): plain heading with a blue line, content box without border */
#thwDoubleCol.plain-page div.thwueberschrift { left: 0; width: auto; padding: 0 0 8px 24px; background: none; border: 0;
  border-bottom: 2px solid #039; color: #039; text-align: left; }
#thwDoubleCol.plain-page .thwueberschrift h2 { margin: 0; font-size: 24px; font-weight: normal; }
#thwDoubleCol.plain-page div.inhalt { float: none; box-sizing: border-box; width: auto; margin: 16px 16px 0; padding: 20px; border: 0; }

/* Contact page: header cards and contact cards in the style of the leadership chart */
.contact { container-type: inline-size; font-family: Calibri, "Droid Sans", Arial, sans-serif; color: #202020; text-align: left; }
.contact-head, .contact-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
.contact-head { margin-bottom: 8px; }
.contact-title { position: relative; margin: 32px 0 16px; padding: 0 0 0 26px; font-size: 30px; line-height: 1; font-weight: bold;
  color: #202020; background: none; border: 0; text-align: left; }
.contact-title::before { /* yellow bar, as high as the capital letters */
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 8px; background: #ffe600; }
.contact-card { box-sizing: border-box; min-width: 0; background: #fff; border: 2px solid #039; padding: 14px 16px; }
.contact-card.is-address { border-top-width: 5px; }
.contact-card > :first-child { margin-top: 0; }
.contact-area { font-size: 12px; line-height: 1.3; text-transform: uppercase; letter-spacing: 1px; color: #53616b; overflow-wrap: anywhere; }
.contact-name { font-size: 16px; line-height: 1.3; font-weight: bold; margin-top: 3px; overflow-wrap: anywhere; }
.contact-role, .contact-address { font-size: 16px; line-height: 1.3; margin-top: 3px; font-style: normal; overflow-wrap: anywhere; }
.contact-role { color: #53616b; }
.contact-sep { margin: 0 8px; color: #039; }
.contact-lines { display: grid; grid-template-columns: auto 1fr; column-gap: 24px; align-items: center; margin: 10px 0 0; font-size: 16px; line-height: 1.3; }
.contact-lines dt { color: #53616b; }
.contact-lines dd { margin: 0; min-height: 32px; display: flex; align-items: center; overflow-wrap: anywhere; }
.contact-lines a { color: #039; }
.contact-note { margin-top: 12px; padding: 10px 12px; background: #f2f3f4; font-size: 16px; line-height: 1.4; overflow-wrap: anywhere; }
.contact-mail { display: flex; align-items: center; gap: 8px; min-height: 32px; margin-top: 6px; font-size: 16px; overflow-wrap: anywhere; }
.contact-mail a { color: #039; }
.contact-icon { flex: none; }
.contact-map { display: flex; flex-direction: column; padding: 0; }
.contact-map iframe { display: block; flex: 1; width: 100%; min-height: 260px; border: 0; }
.contact-maplink { display: block; padding: 10px 16px; border-top: 2px solid #039; font-weight: bold; color: #039; text-decoration: none; }
.contact-maplink:hover, .contact-maplink:focus { text-decoration: underline; }

@container (min-width: 560px) {
  .contact-head, .contact-grid { grid-template-columns: 1fr 1fr; }
}
@container (max-width: 420px) {
  .contact-title { font-size: 24px; padding-left: 22px; }
  .contact-card { padding: 10px 12px; }
  .contact-area { letter-spacing: 0.5px; }
}
