#weekplan-container { margin: 30px 0 30px 200px;}
#weekplan-container > table > tbody > tr > td:first-child { width: 80px; }
#weekplan-container table { border-collapse:collapse; }

.calcontrols[data-days="7"] { margin-right: 0; margin-left: 1em; }
.calcontrols:hover { cursor: pointer; }

#calendar, #times { max-height: 735px; max-height: calc(100vh - 620px); }
#times, #header, #controls { overflow: hidden; }

#weekplan-container .header td {
	text-align:center;
	white-space:nowrap;
}

#times { width:100%; }
#times table { width: 100%; }
#times td {
	background:#eee;
	padding-right: 2px;
	text-align:right;
}

#times td, .header td, #values td {
	border:1px solid #ccc;
	box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;
}
#times td, #values td {
	height: 80px;
	vertical-align: middle;
}
#values td {
	height: 20px!important;
	padding: 0!important;
}
.header, #values { table-layout: fixed; }
#header td, #values td, #controls td {
	min-width: 150px!important; max-width: 150px!important;
}
.header td, #values td {
	line-height:100%;
	font-size:0.8em;
}
#weekplan-container .daydate { margin-top: 5px; }

#controls td a { margin: 0 0.2em}
#controls td.hidecontrols a { visibility: hidden; }

#values td, #values td::selection { color: transparent; }
#values .firstday { border-left:2px solid #aaa }
#values .weekend { background: #fef9f9; }

#calendar { overflow: auto; }
#weekplan-container td.markedday { background: #fffefb; }
#calendar td:hover, #weekplan-container td.active, #weekplan-container td.selected { background: #eef; }

#weekplan-container td.free:hover { cursor: pointer; }

#weekplan-container td.locked { background: #eee!important; }
#controls td.hidecopy .copy { display: none; }

#openingtimes { display: none; }