/******************************************************************
* Linke und rechte Seitenspalten mit verschiedenen
Boxtypen (Blank, Menü, Info):
******************************************************************/

.spalte h2 {
   font-size: 1.2em;
   line-height: 130%;
   border-bottom: 1px solid #c9c7bc;
   margin: .35em 0 .75em;
   padding-bottom: .25em;
   -moz-border-radius-topleft: 8px;
   -moz-border-radius-topright: 8px;
   -webkit-border-top-left-radius: 8px;
   -webkit-border-top-right-radius: 8px;
} 
.spalte h3 {
   margin: .5em 0 .5em;
   line-height: 120%;
   -moz-border-radius-topleft: 8px;
   -moz-border-radius-topright: 8px;
   -webkit-border-top-left-radius: 8px;
   -webkit-border-top-right-radius: 8px;
}
.spalte h4 {
   font-size: 1em;
   background-color: #F8F5DD;
   padding: 0 4px;
   margin: .5em 0 .25em;
   -moz-border-radius-topleft: 8px;
   -moz-border-radius-topright: 8px;
   -webkit-border-top-left-radius: 8px;
   -webkit-border-top-right-radius: 8px;
   
}
.spalte h5 {
   display: inline;
   font-size: .9em;
   color: #ce4d0e;
   background-color: #f1eed7;
   margin: .5em 0 .25em;
   padding: 0 4px;
   border: 1px solid;
   border-color: #F6F4E6 #D6D4C8 #D6D4C8 #F6F4E6;
   -moz-border-radius: 4px;
   -webkit-border-radius: 4px;
}
.spalte h5 img {
   vertical-align: text-bottom;
   position: relative;
   top: -2px;
}
.spalte p {
   margin: .5em 0 .75em;
}
.spalte ul {
   margin-left: 24px;
   margin-bottom: 1em;
} 
.spalte ul li a {
   position: relative;
} 
.spalte ul li {
   /*text-indent: -16px;*/
} 
.spalte ol {
   margin-left: 24px;
   margin-bottom: 1em;
} 
.spalte li {
   margin-bottom: 0;
   margin-left: 0;
   padding-left: 0;
} 
.spalte a {
   text-decoration: underline;
} 
.spalte a:visited{
   color: #553581;
   background-color: inherit;
   text-decoration: underline;
}
.spalte a:hover,
.spalte a:active,
.spalte a:focus {
   text-decoration: none;
} 
.spalte div {
   margin: 0 0 2em 0;
   -moz-border-radius: 8px;
   -webkit-border-radius: 8px;
   
} 

/* Grundanordnung der Spaltentypen:
----------------------------------------------------------*/

/* Linke Spalte, Spalteninhalt linear ÜBER dem Hauptinhalt: */
#spalte-links-oben {
   float: left;
   width: 25%;
   margin: 0;
}
/* Linke Spalte, Spalteninhalt linear UNTER dem Hauptinhalt: */
#spalte-links-unten {
   clear: left;
   width: 25%;
   margin: 0 0 2em 0;
}
/* Rechte Spalte, Spalteninhalt linear UNTER dem Hauptinhalt und #spalte-links-unten: */
#spalte-rechts {
   float: right;
   width: 20%;
   margin: 0 0 2em 0;
} 

/* Spalten "Externe Links" (auf Startseiten rechts etc.):
----------------------------------------------------------*/

.spalte .externe-links h2 {
}
.spalte .externe-links ul {
   list-style: none;
   margin-left: 0;
   margin-bottom: 0;
   margin: -.5em 0 0;
   padding: 0;
   position: static;
}
.spalte .externe-links ul ul {
	color: inherit;
	background-color: #fff;
   margin-left: 4px;
   margin-top: 0;
   margin-left: 0;
   padding: 1.2em 0 .65em;
   border: 1px solid #D6D4C8;
   border-color: #c8d6d6;
   -moz-border-radius: 8px;
   -webkit-border-radius: 8px;
}
.spalte .externe-links h4 {
   font-weight: normal;
   padding: 0 6px;
   margin: 0;
   color: #333;
   background-color: #EFEACD;
   border: 1px solid;
   border-color: #fff #CBC8A9 #CBC8A9 #fff;
   display: inline;
   position: relative;
   top: .7em;
   -moz-border-radius: 4px;
   -webkit-border-radius: 4px;
} 
.spalte .externe-links ul ul li {
   padding: 2px 0;
}
.spalte .externe-links ul ul a {
   font-weight: normal;
   background-image: url(../img/icons/ico_link_extern.png);
   background-repeat: no-repeat;
   background-position: 5px .3em;
   padding-left: 12px;
   padding: 1px 5px 1px 25px;
   display: block;
}
.spalte .externe-links ul ul li a:hover,
.spalte .externe-links ul ul li a:active,
.spalte .externe-links ul ul li a:focus {
   background-color: #f1f6f5;
   color: #333;
}
.spalte .externe-links li {
   margin-bottom: .5em;
   padding: 0;
   margin: 0;
   text-align: right;
   border: none;
}
.spalte .externe-links li li {
   margin-bottom: 0;
   margin-left: 5px;
   margin: 0 1px;
   border: none;
   text-align: left;
}
#koerper .spalte .externe-links a[rel=external]::after,
#koerper .spalte .externe-links a[rel=external]::before  {
   /*content: "";*/
   display: none;
}


/* Einfache Textboxen in Spalten:
----------------------------------------------------------*/
.spalte .boxtyp-1 {
   line-height: 130%;
   padding: 0;
}
.spalte .boxtyp-1 h2 {
   padding: .25em 0;
   margin: 1px 0 .5em;
}
.spalte .boxtyp-1 p {
   padding: 0;
   margin-left: 0;
}


/* Menüboxen in Spalten (links; Kategorien etc.):
***********************************************/
.spalte .boxtyp-2 {
   color: inherit;
   background-color: #E7EEED;
   list-style: none;
   width: auto;
   padding: 0 0 8px 0;
   margin: 0 0 2em 0;
   border: 1px solid;
   border-color: #fff #C8D6D6 #C8D6D6 #fff;
   /*-moz-border-radius: 8px;*/
   -moz-border-radius-topleft: 0 !important;
   -moz-border-radius-topright: 0 !important;
   -moz-border-radius-bottomleft: 8px;
   -moz-border-radius-bottomright: 8px;
   -webkit-border-top-left-radius: 8px !important;
   -webkit-border-top-right-radius: 8px !important;
   -webkit-border-bottom-left-radius: 8px;
   -webkit-border-bottom-right-radius: 8px;
		
/*!!! Table-Display als Workaround für Gecko-Rundungsfehler 
bei Fensterskalierung (Border-"Flackern"), s.a. Definitionen 
für Kindelemente: !!!*/
	display: table;
	width: 100%;
}
.spalte .boxtyp-2 h2 {
   color: #3d3d3d;
   background-color: #E7EEED;
	/*background: #eff5f5 url(../img/layout/hg_menuebox_h2.png) repeat-x bottom;*/
	letter-spacing: 1px;
   padding: .25em 8px;
   margin: 0;
   border: 1px solid;
   border-color: #fff #C8D6D6 #C8D6D6 #fff;
   -moz-border-radius-topleft: 7px;
   -moz-border-radius-topright: 7px;
   -webkit-border-top-left-radius: 7px;
   -webkit-border-top-right-radius: 7px;
/*!!!  s.o. Hinweis für ".spalte .boxtyp-2"  !!!*/	
	display: table-caption;
}
.spalte .boxtyp-2 h2 img {
   /*margin-left: -2px;*/
   vertical-align: -.1em;
}
.spalte .boxtyp-2 p {
   margin: 0;
   padding: .5em 4%;
   border-top: 1px solid #fff;
}
.spalte .boxtyp-2 ul {
   margin: 0;
   padding: 0;
   border-top: 1px solid #c8d6d6;
   border-bottom: 1px solid #fff;
	color: inherit;
	background-color: #EFF5F5;
/*!!!  s.o. Hinweis für ".spalte .boxtyp-2"  !!!*/
	display: table;
	table-layout: fixed;
	width: 100%;
}
.spalte .boxtyp-2 li {
   line-height: normal;
   list-style: none;
   padding: 0;
   margin: 0;
/*!!!  s.o. Hinweis für ".spalte .boxtyp-2"  !!!*/	
	display: table-row;
}

.spalte .boxtyp-2 a,
.spalte .boxtyp-2 strong {
   display: block;
   text-decoration: none;
	font-weight: 300;
	/*color: inherit;*/
   background: #EFF5F5 url(../img/icons/ico_bullet_kategorie16.png) 8px .45em no-repeat;
   padding: 5px 5px 5px 29px;
	margin: 0 1px;
   border-bottom: 1px solid #C8D6D6;
   border-top: 1px solid #fff;
/*!!!  s.o. Hinweis für ".spalte .boxtyp-2"  !!!*/	
	display: table-cell;
}
.spalte .boxtyp-2 a:visited {
   text-decoration: none;
}
.spalte .boxtyp-2 a:hover,
.spalte .boxtyp-2 a:active,
.spalte .boxtyp-2 a:focus {
   color: #333;
   background-color: #F6FBFA;
   text-decoration: none;
}
.spalte .boxtyp-2 a.aktiv,
.spalte .boxtyp-2 strong {
   color: #ce4d0e;
   background-color: #F6FBFA;
   background-image: url(../img/icons/ico_bullet_kategorie_aktiv16.png);
} 
.spalte .boxtyp-2 em {
   font-weight: normal;
   font-size: .85em;
   font-style: normal;
}


.spalte #kategorien h2 img,
.spalte #interne-links h2 img {
   margin-left: 0;
   vertical-align: -.1em;
}

/* Infoboxen (Sortierung, Kalender/Zeitraum):
***********************************************/
.spalte .boxtyp-3 {
   color: inherit;
   background-color: #EFF5F5;
   /*float: right;
   width: 40%;*/
   padding: 0 5%;
   padding: 0;
   /*margin-right: 2%;*/
   /*margin: -.5em 0 3% 3%;*/
   border: 1px solid;
   border-color: #fff #C8D6D6 #C8D6D6 #fff;
   -moz-border-radius: 8px;
   -webkit-border-radius: 8px;
   background-color: #E6F4D1;
   border: 1px solid;
   border-color: #fff #bfd49e #bfd49e #fff;
}
.spalte .boxtyp-3 h2,
.spalte .boxtyp-3 h3 {
	background-color: transparent;
}
.spalte .boxtyp-3 h2 {
   margin: .75em 2% .5em;
   padding: .25em 4%;
   margin: 0!important;
}
.spalte .boxtyp-3 h2 img {
   vertical-align: -.1em;
}
:root .spalte .boxtyp-3 h2 {
   border-bottom: 2px solid;
	border-color: #bfd49e;
   -moz-border-bottom-colors: #fff #bfd49e;
}
.spalte .boxtyp-3 p {
   margin: .5em 4%;
}


/* Box mit Sortierung für Listenansicht:
***********************************************/
.spalte .sortierung h2 img {
	position: relative;
	top: 2px;
}
.spalte form#sortbox {
	padding: 6px 0;
}
.spalte form#sortbox legend {
	font-weight: normal;
	font-style: normal;
	font-size: 1em;
	padding-left: 6px;
}
.spalte form#sortbox select#sortby,
.spalte form#sortbox select#sorttype {
	width: 100%;
}
.spalte form#sortbox label {
	padding: 3px 0;
	width: auto;
	float: left;
	clear: both;
}
.spalte form#sortbox select#versionfilter,
.spalte form#sortbox select#perpage {
	width: 50%;
	float: right;
}
.spalte form#sortbox input#perpage {
	width: auto;
}
.spalte form#sortbox span#perpage-input {
	white-space: nowrap;
	float: right;
}
.spalte form#sortbox span.button {
	display: block;
	clear: both;
}
.spalte form#sortbox button {
	width: 100%;
	margin-top: 6px;
	padding: 0;
	white-space: nowrap;
	text-align: center;
}
.spalte form#sortbox button img {
	vertical-align: bottom;
}


/* Abweichende Formatierungen für einzelne Spalten:
***********************************************/
.spalte .news p {
   margin-bottom: 1em;
}

.spalte .team ul {
   margin-left: 0;
   padding-left: 0;
}
.spalte .team ul li {
   list-style-position: inside;
   margin-bottom: .25em;
}


.spalte .stats-descriptions ul {
   margin-left: 2px;
   list-style-type: none;
}


/* Kalender:
***********************************************/
div#calendar div {
	width: 100%;
	margin: 0;
	overflow: auto;
}
div#calendar table { 
	font-size: 1em;
	border: none;
	border-collapse: collapse;
	width: 97%;
	margin: 0 1% 0 2%;
}
div#calendar colgroup#kw col {
	width: auto;
	border-right: 3px double #d6d4c8;
}
div#calendar colgroup#tage col {
	width: 12.5%;
}
div#calendar caption {
	font-size: 1em;
	font-weight: bold;
	text-align: center;
	padding: 4px 2px 6px;
	margin: 0 auto;
	width: 97%;
}
div#calendar caption img {
	vertical-align: middle;
}
div#calendar caption .vorheriger {
	float: left;
	font-size: .9em;
}
div#calendar caption .naechster {
	float: right;
	font-size: .9em;
}
div#calendar th,
div#calendar td {
	font-size: .9em;
	text-align: center;
	vertical-align: middle;
	padding: 0;
}
div#calendar thead {
	background-color: #fff;
	color: #000;
}
div#calendar thead th {
	padding: 2px 1px;
}
div#calendar thead th:first-child {
	padding: 2px;
}
div#calendar thead th { 
	border: 1px solid #d6d4c8;
}
div#calendar tfoot {
}
div#calendar tfoot td {
	font-size: 1em;
	font-weight: bold; 
	text-align: center;
	padding: 2px;
	border: none;
	border-top: 3px double #d6d4c8;
}
div#calendar tbody {
	color: #000;
	background-color: #f3f3ee;
	border: 1px solid #d6d4c8;
	border-bottom: 3px double #d6d4c8;
}
div#calendar tbody th,
div#calendar tbody td {
	background-color: transparent; 
	color: #666;
	border: 1px solid #fff;
}
div#calendar tbody th {
	border-left-style: none;
}
div#calendar tbody td {
	border-right-style: none;
}
div#calendar tbody th a:hover,
div#calendar tbody td a:hover {
	background-color: #e8e3bc;
	color: #000;
}
/*div#calendar tbody td:empty:hover {
	background-color: inherit;
	color: inherit;
}*/
div#calendar tbody a,
div#calendar tbody strong,
div#calendar tbody span {
	display: block;
	padding: 2px 0 1px;
}
div#calendar tbody a:hover {
	-moz-appearance: toolbarbutton;
	color: inherit;
	background-color: inherit;
}
div#calendar tbody td.selected-day strong { 
	background-color: #fff; 
	color: #ce4d0e;
	font-weight: bold; 
	-moz-outline: 1px solid #ce4d0e;
	outline: 1px solid #ce4d0e;
}
div#calendar tbody tr.selected-week { 
	/*font-style: oblique;*/
	background-color: #d6d4c8;
	background-color: #fff;
	color: inherit;
	-moz-outline: 1px solid #ce4d0e;
	outline: 1px solid #ce4d0e;
	font-weight: bold;
}
/*div#calendar tbody tr.selected-week td {
	border-color: #d6d4c8;
}*/
div#calendar tbody tr:hover {
	background-color: #f1eed7;
	color: inherit;
}
div#calendar tbody td.columnhover { 
	background-color: #f1eed7;
	color: inherit;
}
div#calendar tbody td.today { 
	color: inherit;
	background-color: #efeba3;
	font-weight: bold;
}
div#calendar tbody.selected-month {
	background-color: #fff;
	color: inherit;
	-moz-outline: 1px solid #ce4d0e;
	outline: 1px solid #ce4d0e;
	font-weight: bold;
}
div#calendar tbody tr.selected-week td,
div#calendar tbody.selected-month th,
div#calendar tbody.selected-month td {
	border-color: #d6d4c8;
}
div#calendar tbody td.today strong { 
	color: inherit;
	background-color: #efe983;
}