* {
	/* old-style reset here :) */
	border: 0px;
	padding: 0px;
}

table {
	background: #dfecf8;
	border-collapse: separate;
	border: 1px dotted #949494;
	border-width: 1px 0px 0px 1px;
	margin: 10px auto;
	font-size: 20px;
	font-family: Arial, sans-serif;
}
td, th {
	width: 71px;
	height: 71px;
	text-align: center;
	vertical-align: middle;
	background: url(../img/cells.png);
	color: #606060;
	font-size: 16px;
	position: relative;
	font-weight: bold;
}
th {
	height: 30px;
	font-weight: bold;
	font-size: 14px;
	color: white;
	background: #145aac;
}

th:hover {
	color: #cddef2;
	background: #145aac;
}

td:hover {
	background-position: 0px -71px;
	color: #000;
}

td.date_has_event {
	background-position: 142px 0px;
	color: #0158ac;
}

td.date_has_event:hover {
	background-position: 142px -71px;
}

td.today_date_has_event {
	background: url(../img/today_event.jpg);
	background-position: 0 0;
	color: #0158ac;
	font-size: 30px;
}

td.today_date_has_event:hover  {
	background-position: 0 -71px;
}

td.padding {
	background: url(../img/calpad.jpg);
}
td.today {
	background-position: 71px 0px;
	color: #393939;
	font-size: 30px;
}
td.today:hover {
	background-position: 71px -71px;
}
.events {
	position: relative;
}
.events ul {
	text-align: left;
	position: absolute;
	display: none;
	z-index: 1000;
	padding: 15px;
	background: #e3eaf0;
	color: white;
	border: 1px solid #d3dae0;
	font-size: 15px;
	width: 240px;
	-moz-border-radius: 3px;
	-khtml-border-radius: 3px;
	-webkit-border-radius: 3px;
	-border-radius: 3px;
	list-style: none;
	color: #444444;
	-webkit-box-shadow: 0px 8px 8px #333;
}
.events li {
	padding: 5px 0 5px 0;
	border-bottom: 1px dotted #c0c0c0;
}
.events li span {
	display: block;
	font-size: 12px;
	text-align: justify;
	color: #555;
}
.events li span.title {
	font-weight: bold;
	color: #222;
}

li span.desc {
	font-weight: normal;
	text-align: left;
}