/* Grün: ccffcc, Blau: cce6ff, Rot: ffcccc, Gelb: ffffcc */

* {
	margin:0;
	padding:0;
}

body, input {
	background-color:#ffffff;
	color:#666666; /* 333333 666666 */
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:1em;
}

#inhalt {
	padding-left:1em;
	padding-right:1em;
}

h1 {
	background-color:#ccffcc; /* ROT: ffadad, ffbbbb, ff9999 - ORANGE: fedb89, ffee99, ffe699 - GRÜN: ccffcc - BLAU: cce6ff */
	border-top:1px solid #ccffcc;
	/* border-bottom:2px solid #cccccc; */
	line-height:1.75em;
	margin-bottom:0.75em;
	text-indent:0.5em;
	font-weight:normal;
	font-size:2em;
}

p {
	margin-bottom:1em;
	line-height:1.5em;
}

table {
	/* border:1px solid #cccccc; */
	/* border-collapse:collapse; */
	border-spacing:0px;
	width:100%;
}

thead th {
	background-color:#eeeeee; /* 999999 eeeeee f8f8f8 */
	color:#666666;
	border:1px solid #ffffff;
	padding:3px;
	font-weight:normal;
	text-align:right;
}

th span {
	display:block;
	float:left;
}

th span + span {
	width:9.25em;
	text-align:center;
}

tbody tr {
	vertical-align:top;
}

tbody td {
	background-color:#f8f8f8; /* ebf5ff f8f8f8 */
	border:1px solid #ffffff;
}

td > div {
	position:relative;
	height:150px;
	overflow:hidden;
}

a, a:visited {
	color:#ff9900; /* ff9900 667fcc cce6ff 0000ff */
	border-bottom:1px dotted #ff9900;
	text-decoration:none;
}

a:hover {
	border-bottom:1px solid #ff9900;
}

h1 a, h1 a:visited, h1 a:hover, th a, th a:visited, th a:hover {
	border-bottom:0px none transparent !important; /* important wegen Opera, FF+IE zeigen korrekt an (warum?) */
}

h1 a, h1 a:visited, h1 a:hover {
	color:#666666;
}

form table {
	border-spacing:2px;
	position:absolute;
	top:40%;
	left:50%;
	width:320px;
	margin-left:-160px;
}

form th {
	background-color:#cceeff;
	color:#666666;
	padding:3px;
	font-weight:normal;
	text-align:left;
	vertical-align:top;
	font-size:2em;
	padding:0.25em;
}

form td {
	background-color:#eeeeee;
	border:0px none transparent;
	vertical-align:middle;
}

input {
	border:0px none transparent;
}

#input_username, #input_password {
	width:191px;
	height:46px;
	padding:4px 5px 0px 7px;
	background-color:#f8f8f8;
}

input#input_username:focus, input#input_password:focus {
	background-color:#fffccc;
	border-left:2px solid #ffd973;
	padding:4px 5px 0px 5px;
	outline:transparent none 0px;
}

#input_password {
	padding:0px 5px 4px 7px;
}

input#input_password:focus {
	padding:0px 5px 4px 5px;
}

#input_submit {
	width:100%;
	height:100%;
	background-color:#ccffcc;
	padding:1em 1.5em 1em 0.5em;
	display:table;
}

/* ---------- Klassenspezifische Definitionen ---------- */

.monat {
	text-align:left;
	vertical-align:top;
	font-size:2em;
}

th.kw {
	text-align:left;
}

td.kw {
	background-color:#eeeeee; /* 666666 999999 cccccc eeeeee f8f8f8 */
	color:#999999;
	text-align:left;
	vertical-align:bottom;
	font-size:1.5em;
}

.heute {
	background-color:#fffccc;
}

.wochenende {
	background-color:#ffcce5;
}

th.heute, .kw.heute {
	background-color:#ffd973; /* ffc44d > ffd973 < ffe699 ffee99 */
}

th.heute {
	color:#4c4c4c; /* 333333 */
}

.kw.heute {
	color:#858585; /* 7f7f7f 858585 999999 */
}

.heute .tag {
	background-color:transparent;
	color:#ffee99;
}

.nachbar-monat {
	background-color:#eeeeee; /* Hintergrund cce6ff mit Textfarbe e0f0ff ist eine tolle Farbkombination, aber... */
}

.nachbar-monat .tag {
	color:#f8f8f8;
}

.ganztaegig, .feiertag, .geburtstag {
	background-color:#ccffcc; /* grün: ccffcc, blau: cceeff */
	border-left:2px solid #99cc99; /* grün: 99cc99, blau: 7fb2cc */
	margin-bottom:2px;
	padding:2px 0px 3px 3px; /* 3 Angaben: oben, rechts+links, unten - 4 Angaben: oben, rechts, unten, links */
	display:block !important;
}

.feiertag {
	background-color:#ffcce5; /* orange: ffe1a6, ffdd99, rot: ffe8cc, ffddcc, ffd9cc, ffd8e5 */
	border-left-color:transparent; /* orange: ccaa66, rot: cc99aa */
}

.geburtstag {
	background-color:#cceeff; /* blau: cceeff, grün: ccffcc */
	border-left-color:#7fb2cc; /* blau: 7fb2cc, grün: 99cc99 */
}

.heute .ganztaegig, .heute .geburtstag {
	background-color:#ffcccc;
	border-left-color:#cc9999;
}

div.tag {
	position:absolute;
	bottom:-19px;
	right:-4px;
	color:#eaeaea; /* eeeeee ebf5ff */
	font-size:6em;
}

div.termine {
	position:absolute;
	top:0px;
	left:0px;
	text-align:left;
	width:100%;
	font-size:0.85em;
}

.termine div {
	display:table;
}

.termine div div {
	display:table-row;
	padding-bottom:1px;
}

.termine div div div {
	display:table-cell;
	text-align:right;
}

.termine div div div + div {
	text-align:left;
	padding-left:5px;
}