@font-face {
    font-family: 'work_sans';
    src: url('webfonts/worksans-regular-webfont.woff2') format('woff2'),
         url('webfonts/worksans-regular-webfont.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'work_sans';
    src: url('webfonts/worksans-semibold-webfont.woff2') format('woff2'),
         url('webfonts/worksans-semibold-webfont.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}


:root {
	--colorA: #444;
	--colorB: #67c8ae;
	--colorC: #ddd;
	--colorD: #fff;
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: none;
	text-decoration: none;
	font-family: 'work_sans', sans-serif;
}

html,
body,
.container {
	width: 100%;
	min-height: 100%;
	scroll-behavior: smooth;
}

header {
	background: var(--colorB);
	color: var(--colorD);
	text-align: center;
	padding-block: 0.5rem;
}

.filters {
    display: grid;
    gap: 0.5rem;
    padding-block: 0.5rem;
}

@media screen and (min-width: 800px) {
	.filters {
		padding-inline: 0.5rem;
		/* grid-auto-flow: column; */
		grid-template-columns: 1fr auto auto auto auto auto auto;
	}
}

.filters input,
.filters select {
    width: calc(100% - 1rem);
    padding: 0.5rem;
    background: var(--colorD);
    color: var(--colorA);
    border: 1px solid var(--colorC);
    border-radius: 0.25rem;
    font-size: 1rem;
}

@media screen and (min-width: 800px) {
	.filters input,
	.filters select {
		width: 100%;
	}
}

.dagen {
    display: grid;
    grid-template-columns: repeat(7, calc((100% - 3rem) / 7));
    gap: 0.5rem;
    /* padding: 0.5rem 0.25rem; */
	grid-auto-flow: column;
	background: var(--colorB);
    position: sticky;
    top: 0px;
	z-index: 3;
}

.dagen div input {
	position: absolute;
	opacity: 0;
	height: 0px;
	width: 0px;
}

.dagen div label,
.dagen div a {
	display: block;
	width: 100%;
	background: var(--colorA);
	color: var(--colorD);
	padding: 0.5rem;
	text-align: center;
	/* cursor: pointer; */
	border-radius: 0.25rem;
}

.dagen div label.labeldesktop {
	display: none;
}

/* .dagen div label:hover { */
	/* background: var(--colorD); */
/* } */

.dagen div input:checked ~ label {
	background: var(--colorA);
	color: var(--colorD);
}
@media screen and (min-width: 800px) {
	.dagen {
		padding: 0.5rem 0.25rem 0px 0.25rem;
	}
	.dagen div .labelmobile {
		display: none;
	}
	.dagen div label.labeldesktop {
		display: block;
		background: var(--colorA);
		color: var(--colorD);
		border-radius: 0.25rem 0.25rem 0px 0px;
	}
}

.rooster {
	position: relative;
}

.filter_mobile {
    position: absolute;
	top: 0px;
    width: fit-content;
    right: 0px;
    z-index: 4;
    padding: 0.5rem;
}
.filter_mobile a {
	color: var(--colorD);
	text-shadow: none;
	font-weight: 300;
}

.rooster div.daglink {
	scroll-margin-top: -8rem;
}

.roosteritem {
    display: grid;
    gap: 0.25rem;
    background: #f8f8f8;
    padding: 1rem;
    width: 90vw;
/*    width: 100vw;*/
    margin-inline: auto;
    box-shadow: 0px 0px 1px #0008;
	max-height: 15rem;
	overflow: hidden;
}
.roosteritem[data-hide="true"] {
	max-height: 0px;
	padding: 0px 1rem;
	transition: 250ms max-height, 250ms padding;
}

.roosteritem[data-hide="false"] {
	transition: 250ms max-height, 250ms padding;
}

.roosteritem:nth-child(2n of [data-hide=false]) {
	background: #ddd;
}

span.roosteritem_tijd {
    font-size: 0.9rem;
    font-weight: 700;
}

span.roosteritem_locatie {
    font-size: 0.9rem;
}

span.roosteritem_titel {
    font-weight: 600;
    color: var(--colorA);
}

span.roosteritem_ondertitel {
    font-style: italic;
    font-size: 0.8rem;
    text-wrap: pretty;
}

span.roosteritem_docent {
    font-size: 0.9rem;
}

span.roosteritem_docent span {
    font-weight: 600;
}

.roosterdag {
    background: var(--colorB);
    color: var(--colorD);
    font-size: 1.1rem;
    font-weight: 600;
    padding: 0.5rem;
    box-shadow: 0px 1px 2px #0008;
    text-shadow: 0px 1px 3px #000;
    z-index: 2;
    position: sticky;
    /* top: 3rem; */
    top: 0px;
}
.roosterdag.hide {
	display: none;
}

@media screen and (min-width: 800px) {
    .container {
        width: 95%;
        max-width: 1200px;
        margin-inline: auto;
    }
	.rooster {
		display: grid;
		grid-template-columns: repeat(7, calc(100% / 7));
		/* grid-auto-flow: column; */
	}
	.roosterdag {
		display: none;
	}
	.roosteritem { 
		width: calc(100% - 0.5rem);
	}
	.rooster_rij_dag_ma {
		grid-column: 1 / 2;
	}
	.rooster_rij_dag_di {
		grid-column: 2 / 3;
	}
	.rooster_rij_dag_wo {
		grid-column: 3 / 4;
	}
	.rooster_rij_dag_do {
		grid-column: 4 / 5;
	}
	.rooster_rij_dag_vr {
		grid-column: 5 / 6;
	}
	.rooster_rij_dag_za {
		grid-column: 6 / 7;
	}
	.rooster_rij_dag_zo {
		grid-column: 7 / 8;
	}
}
