.calendar {
	display:block;
	/*overflow-y: scroll;*/
	max-height:600px;
}
.calendar .scrollsense {
	display:block;
	height:100px;
	width:100%;
}
.calendar .row {
	width:100%;
	margin:0;
	padding:0;
	display:block;
}
.calendar button,
span.dayname {
	width:12%;
	max-width:12%;
}
.calendar button {
	margin-bottom:4px;
	height:50px;
	padding-left:2px;
	padding-right:2px;
}
span.dayname {
	display:inline-block !important;
	overflow:hidden;
	text-overflow: ellipsis;
	margin-right:2.6666%;
}
span.dayname.last {
	margin-right:0;
}
.calendar button.d1ow {
	margin-left:0;
}
.calendar button.d1ow,
.calendar button.d2ow,
.calendar button.d3ow,
.calendar button.d4ow,
.calendar button.d5ow,
.calendar button.d6ow {
	margin-right:1.3333%;
}
.calendar button.d2ow,
.calendar button.d3ow,
.calendar button.d4ow,
.calendar button.d5ow,
.calendar button.d6ow,
.calendar button.d7ow {
	margin-left:1.3333%;
}
.calendar button.d7ow {
	margin-right:0;
}
.calendar button.invisible {
	opacity: 0;
}
p.header {
	margin-top:10px;
	margin-bottom:0;
	font-weight:bold;
}
.btn-calendar-invalid.disabled {
	background-color:#f0f0f0;
	border:none;
	font-weight:normal;
}
.btn-calendar-future {
	background-color:#ddd;
	border:none;
	font-weight:bold;
}
.btn-calendar-selected {
	background-color:#0c0;
	border:none;
	color:#fff;
	font-weight:bold;
}
.btn-calendar-checked {
	border:solid 2px #080 !important;
}
.btn-calendar-booked {
	background-color:#faa!important;
	border:none;
	font-weight:normal;
}
.text-calendar-booked {
	color:#f00;
}
.btn-calendar-booked.btn-calendar-approved {
	background-color:#f44!important;
	position:relative;
}
.btn-calendar-booked.btn-calendar-approved::before {
	content:'✓';
	color:#000;
	opacity:.3;
	font-size:2rem;
	line-height:2rem;
	width:2rem;
	height:2rem;
	position:absolute;
	right:0;
	bottom:0;
}
.btn-calendar-booked.btn-calendar-selected {
	background-color:#f00 !important;
}
.btn-calendar-today {
	border:solid 2px #000 !important;
}
