body {
	margin: 0px;
	padding: 0px;
	min-height: 100vh;
	display: flex;
	flex-flow: column nowrap;
}

header {
	margin: 0px;
	padding: 0px;
	border-bottom: solid 1px #808080;
	background: #f8f8f8;
	background-image: url(/img/bg.jpeg);
	background-repeat: repeat-x;
}

main {
	flex: 1;
	display: block;
	padding: 0.5em 3em;
}

footer {
	border-top: solid 1px #808080;
	padding: 0.3em 0.7em;
	font-size: smaller;
	font-family: sans-serif;
	background: #f8f8f8;
	background-image: url(/img/pattern-stone.png);
	background-repeat: repeat-x;
}

#lastmod {
	font-size: smaller;
}

#pageurl {
	font-size: smaller;
	display: none;
}

div#outer {
	min-height: 100%;
	height: auto !important;
	height: 100%;
	margin: 0 auto -2.2em;
}

div#header {
	background: #f0f0f0;
	padding-bottom: 0.2em;
}

div#page {
	background: white;
	margin-left: 1.8em;
	margin-right: 1.8em;
	padding: 4px 1.0em 1em;
	border-top: 1px solid #a0a0a0;
	border-bottom: 1px solid #a0a0a0;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

div#footer {
	background: #f0f0f0;
	padding-top: 0.2em;
	padding-left: 0.5em;
	height: 1.2em;
}

ul#topmenu {
	margin: 0px;
	padding: 0px;
}

ul#topmenu li {
	font-size: smaller;
	display: inline;
	padding: 2px 0.5em;
}

.rightbox {
	text-align: left;
	border-top: 2px solid #a0a0ff;
	border-bottom: 2px solid #a0a0ff;
	float: right;
	display: block;
	clear: right;
	width: 30%;
	padding: 0.5em 1.0em;
	margin: 0.7em;
}

.rightbox p {
	margin-top: 0.1em;
	margin-bottom: 0.3em;
}

.rightbox span.header {
	display: block;
	text-align: left;
	font-weight: bold;
	margin-top: 0.1em;
	margin-bottom: 0.7em;
}

em.citationsrc {
	display: block;
	text-align: right;
}

ul.sch-events {
	list-style-type: none;
	padding-left: 0px;
	margin-left: 0px;
}
ul.sch-events em {
	font-weight: bold;
	font-style: normal;
}
ul.sch-events li {
	margin-top: 0.1em;
}

p.important {
	margin-left: 2%;
	margin-right: 2%;
	padding: 0.1em 0.5em;
	border: 1px solid #808080;
	background: #f8f8f8;
}

/* Top table with "important stuff" */
table.top, table.top td, table.top th {
	border: 1px solid #a0a0a0;
	border-collapse: collapse;
	padding-left: 2em;
	padding-right: 2em;
}
table.top th {
	background: #e0e0ff;
}

/* Give lighter border colors */
table.schoolmarks, table.schoolmarks td, table.schoolmarks th,
table.schoolbasemarks, table.schoolbasemarks td, table.schoolbasemarks th {
	border: 1px solid #a0a0a0;
	border-collapse: collapse;
}

table#topmenu, table#topmenu td, table#topmenu th {
	border: 1px solid #d0d0d0;
	border-collapse: collapse;
	background: #f8f8f8;
}

table.schoolmarks tr.header th {
        background: #f0f0f0;
        text-align: center;
        padding: 2px 1em;
}
table.schoolmarks tr td {
        text-align: left;
        padding: 1px 0.3em;
}
table.schoolmarks tr.even td {
        background: #fcfcfc;
}
table.schoolmarks tr.odd td {
        background: #f4f4ff;
}
table.schoolmarks tr td.half-year,
table.schoolmarks tr th.half-year {
        background: #e8e8ff;
}
table.schoolmarks tr td.year,
table.schoolmarks tr th.year {
        background: #e8ffe8;
}


/* Give color hints */
table.schoolbasemarks td.m5 {
	background: #d0ffd0;
}
table.schoolbasemarks td.m4 {
	background: #ffffd0;
}
table.schoolbasemarks td.m3 {
	background: #ffd0d0;
}

/* Shadows */

.shadow-around {
	box-shadow: 0 0 1em rgba(0, 0, 0, 0.3);
}

div#header {
	box-shadow: 0 0 14px rgba(0, 0, 0, 0.8);
	margin: 0px;
	margin-bottom: 1em;
}

div#footer {
	box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.8);
	margin: 0px;
	margin-top: 1em;
}
