#schedule {
    left: 30px;
    width: calc(100% - 60px);
    position: relative;
}
#scheduleRange {
	width: 200px;
	text-align: center;
	display: inline-block;
}
#schedulePage {
	font-size: 12px;
	height: 600px;
	width: 100%;
	display: flex;
	flex-direction: column;
	border: solid 1px black;
	overflow0: auto;
}
#scheduleHeader {
	height: 30px;
	width: 100%;
	display: flex;
	flex-direction: row;
	flex: 0 0 30px;
	border: solid 1px gray;
	border-bottom: none;
    background-color: white;
	text-align: center;
}
#scheduleHeader div {
	display: flex;
	flex-direction: column;
	flex: 1;
    justify-content: center;
	border-left: solid 1px gray;
}
#scheduleHeader div:nth-child(1) {
	flex: 0 0 35px;
	border: none;
}
#scheduleHeader div:last-child {
	flex: 0 0 17px;
	border: none;
	border-right: solid 1px gray;
}
#scheduleBody {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex: 1;
	border: solid 1px black;
	overflow: auto;
}
.scheduleDay, #divTime {
	height: 1200px;
	flex: 1 0 80px;
	position: relative;
	border: none;
	border-right: solid 1px gray;
	display: flex;
	flex-direction: column;
	text-align: center;
}
.scheduleDay[checked] {
	background-color: orange;
}
.scheduleHour, #divTime div {
	height: 50px;
	position: relative;
	display: flex;
	flex-direction: column;
	background-color: rgba(211, 211, 211, .95);
	overflow: visible;
}
.scheduleHour:nth-of-type(even) {
	background-color: #A0A0A0F2;
}
#divTime {
	flex: 0 0 35px;
}
#divTime div {
	align-items: flex-end;
	justify-content: flex-end;
	background-color: white;
	border-bottom: none;
}
#scheduleControls a {
	color: gray;
}
.scheduleElem {
	width: 100%;
	background-color: hsla(120, 28%, 57%, .6);
	background-image: linear-gradient(45deg, hsla(120, 28%, 57%, .6) 37.50%, silver 37.50%, silver 50%, hsla(120, 28%, 57%, .6) 50%, hsla(120, 28%, 57%, .6) 87.50%, silver 88.5%, silver 100%);
	background-size: 5.66px 5.66px;
	border: solid 1px gray;
	position: absolute;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	z-index: 2;
}
.scheduleElem::before {
	content: "Разово";
	display: none;
}
.scheduleElem[reg]::before {
	content: "Регулярно";
}
.scheduleDay:last-child .scheduleElem {
	right: 0;
}
.scheduleElem:not([topic="free"]) {
	color: yellow;
	background-color: hsla(262, 52%, 47%, .7);
	background-image: linear-gradient(45deg, hsla(262, 52%, 47%, .7) 37.50%, silver 37.50%, silver 50%, hsla(262, 52%, 47%, .7) 50%, hsla(262, 52%, 47%, .7) 87.50%, silver 88.5%, silver 100%);
	background-size: 5.66px 5.66px;
	z-index: 3;
}
.scheduleElem[reg] {
	background-image: none;
}
.scheduleElem * {
	display: none;
}
.scheduleElem .lessonStudent {
	display: block;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
.scheduleElem .lessonStudent, .scheduleElem:hover .lessonDate/*, .scheduleElem:hover .lessonStatus*/, .scheduleElem:hover::before {
	display: block;
}
.scheduleElem:not([topic="free"]):hover .lessonStudent::after {
	content: " (" attr(userid) ")";
}
.scheduleElem .startTime {
	display: inline;
}
.scheduleElem:not([topic="free"]):hover {
	background-color: black;
	background-image: none;
	width: 250px;
	height: 100px;
	opacity: .87;
	z-index: 4;
}
.scheduleElem:hover .endTime {
	display: inline;
}
.scheduleElem:hover .endTime::before {
	content: " - ";
}
#formNewSchElem {
	position: absolute;
	top: 50px;
	left: 0px;
	width: 165px;
	height: 200px;
	color: gray;
	background-color: hsla(0, 0%, 85%, 0.85);
	font-size: 11px;
	padding: 25px 10px 0 10px;
}
#formNewSchElem form {
	display: grid;
	width: 100%;
	height: 100%;
}
#formNewSchElem fieldset {
	border: none;
	width: 100%;
	margin: 0;
	padding: 0;
}

#formNewSchElem label {
	display: inline-flex;
	align-items: center;
}
#formNewSchElem #partyInfo {
	margin-top: 25px;
}
#formNewSchElem input, #formNewSchElem select {
	font-size: 11px;
	height: 1.3em;
	width: 80%;
	border-radius: 4px;
}
#formNewSchElem select {
    height: 19px;
    border-width: 2px;
    border-style: inset;
    border-color: initial;
}
#formNewSchElem input[name="userid"] {
	flex: 1 0 35px;
}
#formNewSchElem #studentName {
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	max-width: 100%;
}
#formNewSchElem input[name="start"] {
	flex: 1 0 6em;
}
#formNewSchElem input[name="duration"] {
	flex: 1 0 3em;
}
#formNewSchElem select[name="topic"] {
	flex: 1 0 6em;
}
#formNewSchElem input[type="radio"] {
	width: fit-content;
}
#formNewSchElem fieldset label:nth-of-type(2) {
	margin-left: 30px;
}
#formNewSchElem button:not(.closeButton) {
	margin: 0;
	padding: 0;
	font-size: unset;
	height: 2em;
	background-color: transparent;
}
.deleteButton {
	display: none;
}
input[name="id"][value] ~ .deleteButton {
	display: inline;
}
