table.calendar {
	width: auto;
	margin: 0;
	padding: 0;
	background-color: #fff;
	border: 1px solid #ccc;
	border-collapse: collapse;
}

table.calendar th {
	padding: 4px;
	background-color: #eee;
	text-transform: none;
	color: #444;
	text-align: center;
	border: 1px solid #ccc;
}

table.calendar th.cell-prev {
	text-align: left;
	white-space: nowrap;
}
table.calendar th.cell-next {
	text-align: right;
	white-space: nowrap;
}
table.calendar th.cell-header {
	border-bottom: 1px solid #ccc;
}

table.calendar td {
	width: 14.28%;
	padding: 0;
	border: 1px solid #ccc;
}
table.calendar td a,
table.calendar td span {
	display: block;
	height: 2em;
	padding: 4px;
	font-size: 0.8em;
	text-align: right;
}
table.calendar td.cell-today {
	font-weight: bold;
	border-width: 3px;
}
table.calendar td.cell-weekend {
	background-color: #eef;
}
table.calendar td.available {
	background-color: #efe;
}
table.calendar td.full {
	background-color: #fee;
}

table.calendar td.available a:hover,
table.calendar td.available a:active {
	text-decoration: none;
	background-color: #cfc;
}

table.calendar td.available a.selected {
	background-color: #cfc;
	font-weight: bold;
}

table.schedule {
	width: 200px;
	margin: 0;
	padding: 0;
	background-color: #fff;
	border: 1px solid #ccc;
	border-collapse: collapse;
}

table.schedule td {
	border: 1px solid #ccc;
	padding: 0;
}

table.schedule td a,
table.schedule td span {
	display: block;
	padding: 4px;
	font-size: 0.9em;
}

table.schedule td.available {
	background-color: #efe;
}
table.schedule td.full {
	background-color: #fee;
}

table.schedule td a:hover,
table.schedule td a:active {
	text-decoration: none;
	background-color: #cfc;
}

table.schedule a.selected {
	background-color: #cfc;
	font-weight: bold;
}

