.calendar-month-full,
.calendar-day-full,
.calendar-month-small {
	border-collapse: collapse;
	border: 1px solid black;
	margin-bottom: 1em;
}
	
.calendar-day-full,
.calendar-month-full {
	width: 98%;
}

.calendar-month-full {
	\width: 70%;
	w\idth: 98%;
}

.calendar-month-full th,
.calendar-month-small th {
	border-bottom: 1px solid black;
	font-weight: bold;
	padding: 0px 3px;
}

.calendar-day-full th,
.calendar-month-full th {
	width: 13%;
	border: 1px solid black;
}

.calendar-month-small th {
	border: 1px solid black;
}

.calendar-month-full tr > th:first-child {
	width: 9%;
}

.calendar-month-full td,
.calendar-month-small td {
	padding: 0;
}

.calendar-month-full td {
	border: 1px solid black;
	padding-left: 5px;
	padding-right: 5px;
	vertical-align: top;
	height: 7em;
}

.calendar-month-small td {
	padding-left: 3px;
	padding-right: 3px;
	text-align: center;
}

.calendar-month-full .day-title {
	border: 1px solid black;
	border-top: 0px;
	font-size: x-small;
	width: 50%;
	display: block;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.calendar-month-full .day-title a {
	margin-left: 1em;
	text-decoration: none;
}

.calendar-month-full ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.calendar-month-full li {
	text-align: center;
	padding-top: 0.5em;
	display: block;
	line-height: 100%;
}

.calendar-month-full .today {
	border: 0;
}

.calendar-month-full caption {
	font-size: 120%;
	padding-bottom: 3px;
}

.calendar-month-full caption .previous-month {
	margin-right: 5%;
}

.calendar-month-full caption .next-month {
	margin-left: 5%;
}

/* ----------- */

.calendar-week-full {
	border-collapse: collapse;
	border: 1px solid black;
	margin-bottom: 1em;
	width: 98%;
}

.calendar-week-full th {
	border-bottom: 1px solid black;
	font-weight: bold;
	padding: 0px 3px;
}

.calendar-week-full th {
	width: 13%;
	border: 1px solid black;
}

.calendar-week-full tr > th:first-child {
	width: 9%;
}

.calendar-week-full td {
	padding-left: 5px;
	padding-right: 5px;
	padding: 0;
	vertical-align: top;
	height: 2em;
	border: 1px solid black;
}

.calendar-week-full ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.calendar-week-full li {
	display: block;
	line-height: 100%;
	text-align: left;
}

.calendar-week-full caption {
	font-size: 120%;
	padding-bottom: 3px;
}

.calendar-week-full caption .previous-week {
	margin-right: 5%;
}

.calendar-week-full caption .next-week {
	margin-left: 5%;
}

.appointment-details {
	position: absolute;
	padding: 4px;
	color: black;
	font-size: 13px;
	width: 25em;
	font-weight: bold;
	background-color: #ffffe1;
}

ul.calendar-links {
	text-align: right;
	padding-right: 1em;
	border-right: 1px solid black;
}

ul.calendar-links li {
	display: inline;
	margin-left: 1em;
	padding-left: 1em;
	border-left: 1px solid black;
}

.calendar-day-full caption {
	font-size: 120%;
	padding-bottom: 3px;
}

.calendar-day-full caption .previous-day {
	margin-right: 5%;
}

.calendar-day-full caption .next-day {
	margin-left: 5%;
}


.calendar-month-full td.today {
	border: 3px solid #ed8921;
}

.calendar-month-full li {
	margin: 0.5em 0;
}

td.today .day-title {
	background: #fce9c4;
	color: #ed8921;
}

.calendar-month-full td.noday {
	background: #edeeed;
}


.calendar-month-small {
	margin-left: auto;
	margin-right: auto;
}

.calendar-month-small td.day-with-event {
}

.calendar-month-small td.day-with-event:hover {
	background-color: #271454;
}



