table#KalenderFull {
	margin: 0 auto;
	border-collapse: separate;
	width: auto !important;
}

table#KalenderFull td {
	height: 50px;
	padding: 0;
	margin: 0;
	width: 50px;
	vertical-align: middle;
}

table#KalenderFull td a {
	display: table-cell;
	height: 44px;
	width: 44px;
	vertical-align: middle;
}

table#KalenderFull th {
	width: 50px;
	text-align: center;
	border: 1px solid #C1CDE8;
	background-color: #E9EDF4;
	color: #92A5D3;
	padding: 2px 0 2px 0;
}

table#KalenderFull th.KW {
	border: 0;
	background: none transparent;
}

table#KalenderFull .KW {
	width: auto;
	text-align: center;
	font-style: italic;
	border: 1px solid #C1CDE8;
	background-color: #E9EDF4;
	color: #92A5D3;
	padding: 0 3px;
	font-weight: bold;
}

table#KalenderFull td.heutetermin {
	border: 1px solid #B7E1AF;
	background-color: #FCF5CE;
	text-align: center;
	color: #73A869;
	font-weight: bold;
}

table#KalenderFull td.termin {
	border: 1px solid #B7E1AF;
	background-color: #EAF6E7;
	text-align: center;
	color: #73A869;
	font-weight: bold;
}

table#KalenderFull td.heutetermin  a, table#KalenderFull td.termin  a {
	color: #73A869;
}

table#KalenderFull td.heute {
	border: 1px solid #F2CE3B;
	background-color: #FCF5CE;
	text-align: center;
}

table#KalenderFull td.heute a {
	color: #F4C60A;
	font-weight: bold;
}

table#KalenderFull td.tag {
	text-align: center;
	background-color: #F4F6F9;
}

table#KalenderFull td.heute:hover, table#KalenderFull td.heute a:hover {
	background-color: #FCF5CE;
}

table#KalenderFull td.tag:hover, table#KalenderFull td.tag a:hover {
	background: none #E9EDF4;
}

table#KalenderFull td span {
	position: relative;
}

table#KalenderFull td span span {
	position: absolute;
	top: -15px;
	right: -15px;
}

/* ################################## */

table#KalenderPart td {
	width: 20px;
	height: 20px; 
}

table#KalenderPart td a {
	display: table-cell;
	width: 15px;
	height: 15px; 
	vertical-align: middle;
}

table#KalenderPart th {
	text-align: center;
	text-align: center;
	border: 1px solid #C1CDE8;
	background-color: #E9EDF4;
	color: #92A5D3;
	padding: 2px 0 2px 0;
}

table#KalenderPart th.KW {
	border: 0;
	background: none transparent;
}

table#KalenderPart td.heutetermin {
	border: 1px solid #B7E1AF;
	text-align: center;
	background-color: #FCF5CE;
	color: #73A869;
	font-weight: bold;
}

table#KalenderPart td.termin {
	border: 1px solid #B7E1AF;
	background-color: #EAF6E7;
	text-align: center;
	color: #73A869;
	font-weight: bold;
}

table#KalenderPart td.heute {
	border: 1px solid #F2CE3B;
	text-align: center;
	background-color: #FCF5CE;
	color: #F4C60A;
	font-weight: bold;
}

table#KalenderPart td.tag {
	border: 1px solid #DEE5F3;
	text-align: center;
	background-color: #F4F6F9;
}

/* ################################## */

table#KalenderTag {
	width: 100%;
	border-collapse: separate;
}

table#KalenderTag td {
	vertical-align: middle;
	padding: 0;
}

table#KalenderTag td.time {
	width: 35px;
	text-align: right;
	padding: 5px;
}

table#KalenderTag tr.dunkel td {
	border: 1px solid #C1CDE8;
	background-color: #E9EDF4;
}

table#KalenderTag tr.hell td {
	background-color: #F4F6F9;
	border: 1px solid #CDD4E2;
}

table#KalenderTag div {
	position: relative;
	height: 25px;
}

table#KalenderTag div div.termin {
	position: absolute;
	padding: 2px 0 0 5px;
	top: 2px;
	left: 2px;
	float: left;
	width: 90px;
	height: 17px;
	border: 1px solid #B7E1AF;
	background: url(/cms/grf/kalender/terminbg.png) repeat 0 0 transparent;
}