.CalendarWrapper {
	z-index: 2101;
	filter: drop-shadow(9px 9px 4px rgba(0,0,0, 0.4));	
}
.Calendar {
	color: white;
	border: 1px solid #b0b0b0;
	border-collapse: collapse;
	font-size:1.5vw;
	font-family:sans-serif;
	color: white;
	background-color:#434343;
}
.Calendar tr {
}
.Calendar td {
	position: relative;
	text-align: center;
	vertical-align: top;
	border: 1px solid #b0b0b0;
}
.Calendar th {
	color: inherit;
	font-size: 2.7vw;
	border: 1px solid #b0b0b0;
}
.CalendarPast {
	color: #808080;
}
.CalendarCurrent {
	color: white;
}
.CalendarFuture {
	color: #808080;
}
.CalendarToday {
	color: white;
	background-color: #009000;
	padding: .2em .4em .2em .3em;
	position: absolute;
	display: inline-block;
	top: .4em;
	left:40%;
	border-radius: 1em;
}
.CalendarDayNumber {
	display: inline-block;
	position: relative;
	font-size: 120%;
	top: .2em;
}
.CalendarDoW {
	display: inline-block;
	position: absolute;
	top: .5em;
	left: .5em;
	font-size: 80%;
	color:white;
}
.CalendarDayChkBox {
	z-index: 2102;
	display: inline-block;
	position: absolute;
	top:0;
	right:0;
	border-left: 1px dashed #989898;
	border-bottom: 1px dashed #989898;
}
.CalendarDayChkBox:hover {
	cursor: pointer;
}
.CalendarDayAvailable {
	display: block;
	position: absolute;
	bottom: .5em;
	color: white;
	text-align: center;
	font-size:1.2vw;
	font-style: italic;
}
.CalendarDayBooked {
	display: block;
	position: absolute;
	bottom: 2em;
	color: white;
	text-align: center;
	font-size:1.0vw;
	font-style: italic;
}
.CalendarBookingCount {
	display: inline-block;
	position: absolute;
	top: 2em;
	left: .5em;
	color: black;
	background-color: white;
	font-size:1.1vw;
	padding: .1em .3em .1em .3em;
	border-radius: 1em;
}
.CalendarPrevNext {
	display: inline-block;
	position: relative;
}
.CalendarEvent {
	color: #ffc900;
	font-size: 75%;
	font-weight: bold;
	font-style: italic;
	text-decoration: none;
	display:inline-block;
	overflow:hidden;
}

.DaySheetWrapper {
	z-index: 2201;
	filter: drop-shadow(9px 9px 4px rgba(0,0,0, 0.4));	
}
.DaySheet {
	color: black;
	border: 2px solid #b0b0b0;
	border-collapse: collapse;
	font-size:1.5vw;
	font-family:sans-serif;
	background-color:#fffff0;
}
.DaySheetChkBox {
	z-index: 2202;
	display: inline-block;
	top:0;
	right:0;
	border: 1px dashed #989898;
}
.DaySheetChkBox:hover {
	cursor: pointer;
}
.DaySheet tr {
}
.DaySheet th {
	color: inherit;
	font-size: 1.9vw;
}
.DaySheet td {
	position: relative;
	text-align: left;
	vertical-align: top;
}
.DaySheetNameCell {
	border: 1px solid #b0b0b0;
}
.DaySheetHour {
	font-size: 75%;
	text-align: right;
	display:inline-block;
	position: absolute;
	top: -0.6em;
	right: 2px;
}
.DaySheetAmPm {
	font-size: 75%;
	color: #888;
}
.DSN00 {
	position: absolute;
	width: 100%;
	border: 0;
}	
.DSN30 {
	position: absolute;
	width: 100%;
	border-top: 1px dashed #d0d0d0;
	border-bottom: 0;
	border-left:0;
	border-right:0;
}
.DSNMARKED {
	background-color:#e0e0d8;
}

.ApptDetailsTable {
	border-collapse:collapse;
	border: 1px solid black;
	width: 75%;
	margin: 0 auto;
}
.ApptDetailsTableLabel {
	border: 1px solid black;
	padding: 0.4em;
	width: 6vw;
	font-weight:bold;
	text-align:right;
	vertical-align: top;
}
.ApptDetailsTableValue {
	border: 1px solid black;
	padding: 0.4em;
	text-align:left;
	vertical-align: top;
}

.ApptMethodName {
	font-size: 1.5vw;;
	text-align:left;
	display: inline-block;
	width: 10vw;
	vertical-align: top;
}
.ApptMethodDetails {
	vertical-align: top;
	text-align:left;
	display:inline-block;
	position: absolute;
	font-size: 1.5vw;
	right:0.5em;
}
