body {
	margin: 0;
	background-color: white;
	/*
	background-image: url(images/header.png);
	background-repeat: repeat-x;
	background-position: top center;
	*/
	padding: 0;
	font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
	color: black;
}

#content {
	line-height: 140%;
}

div,span,p,table,tr,td,h1,h2,h3,h4,h5,h6,img {
	border-width: 1px;
	border-style: none;
	border-color: #003399;
}

a {
	color: #1c2f69;
	text-decoration: underline;
}

a.plain {
	text-decoration: none;
}

a:hover {
	/* TODO we need another neat hover effect */
	/*background-color: #edeff5; */
}

h1, h2, h3, h4, h5, h6 {
	text-align: left;
}

h1 *, h2 *, h3 *, h4 *, h5 *, h6 * {
	text-decoration: none !important;
	border-style: none !important;
	color: inherit;
}
h1 a:hover {
	text-decoration: underline !important;
}

h1 {
	margin: 0.5em 0 1em 0;
	padding: 0;
	font-size: 160%;
	color: #003399;
}

* {
	page-break-before: avoid;
	page-break-inside: avoid;
	page-break-after: avoid;
}

h2 {
	margin: 1.0em 0;
	padding: 0;
	font-size: 120%;
	color: #003399;
}

.two-column h2 {
	margin-top: 0;
	background-color: #003399;
	padding: 0.3em 0.5em;
	color: white;
	font-size: 100%;
}

h3 {
	font-size: 100%;
	margin: 0.5em 0;
	padding: 0;
}

h4 {
	font-size: 100%;
	margin: 0.5em 0;
	padding: 0;
}

.sidebar {
	font-size: 90%;
	text-align: center;
	padding: 0.5em;
}

.sidebar h6 {
	font-weight: bold;
	font-size: 100%;
	margin: 1.0em 0 0.5em 0;
	color: #003399;
	padding: 0;
	text-align: center;
}

fieldset {
	margin: 1em 0;
	border: 1px solid #e7ad68;
}

form td, form th {
	padding: 4px 0.5em;
}

legend {
	font-weight: bold;
}

.strong {
	font-weight: bold;
}

.icon12 {
	height: 12px;
	width: 12px;
}

.icon16 {
	height: 16px;
	width: 16px;
}

.icon32 {
	height: 32px;
	width: 32px;
}

.icon48 {
	height: 48px;
	width: 48px;
}

.icon64 {
	height: 64px;
	width: 64px;
}

ul {
	margin: 0;
	list-style: square;
	padding: 0 0 0 2em;
}

li {
	margin: 0.5em 0;
	padding: 0;
	text-align: left;
}

ul.lean {
	padding: 0 0 0 1em;
}

ul.lean li {
	margin: 0;
}

ul.link-list {
	color: #eb8710;
}

table {
	border-collapse: collapse;
}

td, th {
	text-align: left;
	vertical-align: top;
}

table.enum-table, table.timetable {
	width: auto;
	width: 630px;
	font-size: 80%;
}

table.enum-table tbody tr td {
	border: 1px solid white;
	padding: 4px;
	background-color: #edeff5;
}

table.timetable tbody tr th {
	background-color: #edeff5;
}

table.timetable tbody tr td {
	vertical-align: top;
	padding: 4px;
	border-style: solid;
}

table.lines-visible td {
	border-top: 1px solid black;
}

div.box {
	border-width: 2px;
	border-style: solid;
	padding: 12px;
}

dl {
}

dt {
	font-weight: bold;
	margin-top: 0.5em;
}

dd {
	margin-left: 1.0em;
}

.float-left {
	float: left;
	margin: 5px 10px 5px 0;
}

.float-right {
	float: right;
	margin: 5px 0 5px 10px;
}

.thumbnail {
	border-style: solid;
	border-color: #edeff5;
	/*
	padding: 5px;
	border-width: 1px;
	border-style: solid;
	border-color: #b3c2e0;
	*/
}

div.image-with-caption {
	border-style: solid;
	border-color: #edeff5;
	padding: 3px;
	text-align: center;
}

div.image-with-caption div {
	font-size: small;
}

div.quote {
	font-style: italic;
	color: #666666;
	background-image: url(images/quote-bg.png);
	background-repeat: no-repeat;
	background-position: top left;
	padding: 15px 0 0 15px;
}

div.quote * {
	margin-top: 0;
}

div.quote div.author {
	margin-top: 0.3em;
	font-style: normal;
	text-align: right;
	color: black;
}

.error {
	border-width: 1px;
	border-style: solid;
	border-color: #ff6666;
	background-color: #ffcccc;
	padding: 2px 5px;
}

form th.error {
	background-color: inherit;
	color: red !important;
}

.hint {
	font-size: small;
	color: gray;
}

.small {
	font-size: small;
	line-height: 1.3;
}

.no-overflow {
	overflow: hidden;
	width: 100%;
}


.todo {
	background-color: #ee0000;
	color: white;
	font-weight: bold;
	font-size: 120%;
	padding: 0.5em 1em;
}

.neuigkeiten, .termine {
	list-style: none;
	margin: 0;
	padding: 0;
}

.neuigkeiten li, .termine li {
	display: block;
	line-height: 100%;
	padding: 0.5em 0.3em;
	margin: 1em 0;
	font-size: 80%;
}

.neuigkeiten a, .termine a {
	text-decoration: none;
}

.neuigkeiten a:hover, .termine a:hover {
	text-decoration: underline;
}

.neuigkeiten li .datum-und-tag, .termine li .datum-und-tag {
	width: 100%;
	overflow: hidden;
	margin-bottom: 0.3em;
	padding-bottom: 2px;
	border-bottom: 1px dashed #999999;
}

.neuigkeiten li .datum, .termine li .datum {
	float: right;
	display: block;
}

.neuigkeiten li .tag, .termine li .tag {
	float: left;
	display: block;
}

.neuigkeiten li .titel, .termine li .titel {
}

.legende {
	/*
	border: 1px solid #b3c2e0;
	background-color: #e6ebf5;
	*/
	border: 1px solid #e6ebf5;
	background-color: #f3f5fa;
	padding: 0.5em;
	font-size: 80%;
}

.legende h6 {
	font-size: 100%;
	margin: 0;
	padding: 0;
}

.legende ul {
}

table.visible {
	border-collapse: collapse;
	border: 1px solid #999999;
}

table.visible tr {
}

/*
table.visible tr:hover {
	background-color: #eeeeff;
}
*/

table.visible th {
	font-weight: bold;
	color: #003399;
}

table.visible td, table.visible th {
	padding: 0.3em 0.6em;
	border-color: #999999;
	border-style: none;
	border-width: 1px;
}

table.visible th {
	border-color: #999999;
	border-style: none;
	border-width: 1px;
}

table.horizontal th {
	border-bottom-style: solid;
}

table.horizontal td {
	border-top-style: solid;
}

table.vertical th {
	border-right-style: solid;
}

.content-footer {
	border-top: 1px dashed #999999;
	margin-top: 2em;
	line-height: 100%;
	padding: 0.3em 0;
}

.content-footer table {
	margin-top: 0.3em;
}

.content-footer th {
	font-size: 75%;
	font-style: normal;
	font-weight: bold;
}

.content-footer th, .content-footer td {
	padding: 0.1em 1em 0.1em 0;
}

.footnote {
    font-size: 75%;
    color: #666666;
}

.p {
    margin: 0.5em 0;
}

.intern-termine {
	margin: 0;
	padding: 0;
}

.intern-termine li {
	border-style: solid;
	border-width: 0 0 0 10px;
	border-color: black;
	list-style: none;
	margin: 0.5em 0;
	padding: 0 0 0 0.5em;
}
