body {
	margin: 0;
	padding: 0;
/*	font-size: 1.001rem; */
	font-weight: normal;
	overflow: hidden;
	font-family: Roboto, Arial, Helvetica, sans-serif;
	color: #1b1b98;
	text-align: left;
}

#page {
	display: flex;
	flex-direction: column;
	max-height: 100vh;
	overflow: hidden;
	padding: 6px;
	border: 0;
	background-color: #f5f7ff;
}

#header {
	position: relative;
/*	height: 83px; */
/*	margin: 0;
	padding: 0; */
/*	color: white; */
}

#homelink {
	background: url(images/logotext-clear.png) no-repeat;
	background: url(images/logotext-clear.svg) no-repeat;
	height: 83px;
	width: 105px;
}
#homelink > a {
	position: relative;
	top: 35px; /* == top padding */
	padding: 35px 53px; /* half of respective background net-dimensions */
}

#topnav {
	position: absolute;
	top: 10px;
	right: 10px;
	text-align: right;
/*	color: #1b1b98; */
}

#topnav a {
	color: #1b1b98;
}

#searchbox {
	position: absolute;
	bottom: 10px;
	right: 5px;
	background: transparent;
}

#searchbox p {
	padding: 0;
	margin: 0;
}

#searchbox label {
	display: none;
}

#searchbox input.search-input {
	background: url(images/bg_search.png) no-repeat;
	width: 230px;
	height: 30px;
	line-height: 26px;
	padding-left: 5px;
	border: 0;
/*	color: #1b1b98; */
}

#searchbox input.search-button {
	background: url(images/button_search.png) no-repeat;
	background: url(images/button_search.svg) no-repeat;
	position: absolute;
	top: 2px;
	left: 202px;
	height: 26px;
	width: 26px;
	border: 0;
	text-indent: -9999px;
}
/*
.nonav {
	height: 4px;
}
*/
#main {
	flex: 1;
	margin: 5px 0;
	background: transparent url(images/page-bg.png) 50% 1em no-repeat;
	min-height: 0; /* for overflow management with flexbox on some browsers ? */
}
/*
#nav {
	display: flex;
	flex-direction: column;
	flex-shrink: 1;
}
*/
#burger {
	display: none;
	position: absolute;
	width: 2.4em;
	height: 2.4em;
	background: transparent url(images/burger-menu.svg) no-repeat 50% 50%;
	background-size: 2em 2em;
	cursor: pointer;
	z-index: 2100; /* above crumbs, top-level ul */
}

#mainmenu_box {
	position: absolute;
/*	margin-top: 5px; */
	line-height: 0;
	text-align: left;
}
/*
#main_menu {
	display: block;
}
*/
#teaser, #gallery, #slideshow, #crumb, #sponsors {
	display: none;
}

#section {
	flex-grow: 1;
	margin-left: 0;
}

#footer {
	flex-shrink: 0;
	margin-bottom: 6px; /* == #page padding */
	padding: 0.5em;
	background: #e2e6f3;
}

.rowbox {
	display: flex;
	flex-flow: row nowrap;
	align-content: flex-start;
}

.scrollable {
	overflow: auto;
}

option {
	padding-left: .4em;
}

select {
	padding: 1px;
}
/*
div {
	outline: 0 none;
}
*/
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}

fieldset, img {
	border: 0;
}

img {
	margin-bottom: -3px;
}

ol {
	padding-left: 1.4em;
	list-style: decimal;
	list-style-type: decimal;
}

ul {
	padding-left: 1.4em;
	list-style: square;
}

ul, ol, dl {
	margin-left: 1em;
}

ul ul {
	list-style-type: circle;
	margin-bottom: 0;
}

ul.nicebullet {
	padding-left: 1.4em;
	list-style: none;
}

ul.nicebullet li {
	padding-left: 1.4em;
	margin-left: -1.4em;
	background: url(images/bg_bullet.png) scroll left top no-repeat;
}

ul.nicebullet li ul li {
	margin-left: 0;
	padding-left: .5em;
	list-style: circle;
	background: none; /*url();*/
}

ul.nicebullet li ul ol {
	margin-left: 0;
	padding-left: .5em;
	list-style: decimal;
	background: none; /*url();*/
}

ul.downlist {
	padding-left: 0;
	list-style: none;
}

ul.downlist li {
	padding-left: 0;
	margin: 4px 0 1px -1em;
}

ol ol {
	list-style-type: lower-latin;
	margin-bottom: 0;
}

.legal ol {
	list-style-type: decimal;
	margin-bottom: 3px;
}

.legal ol ol {
	list-style-type: lower-alpha;
}

.legal ol ol ol {
	list-style-type: lower-roman;
}

.legal ol ol ol ol {
	list-style-type: upper-alpha;
}

.legal li {
	margin-left: 0;
	padding-bottom: 3px;
}

.legal li li {
	padding-left: 0;
}

.plain ol {
	list-style-type: none;
	margin-bottom: 3px;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 0 1em .8em;
}

blockquote {
	margin: 0 0 1em .8em;
	margin: 0 0 1em 1.6em;
	color: #666;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: "";
}

.clearfix {
	display: block;
}

.clearfix:after {
	clear: both;
	content: ".";
	display: block;
	font-size: 0;
	height: 0;
	visibility: hidden;
}

.floatbox {
	display: table;
	width: 100%;
}

#ie_clearing {
	display: none;
}

.skip, .hideme, .print {
	position: absolute;
	top: -32768px;
	left: -32768px;
}

.skip:focus, .skip:active {
	position: static;
	top: 0;
	left: 0;
}

/*
#skiplinks {
	position: absolute;
	top: 0;
	left: -32768px;
	z-index: 1000;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style-type: none;
}

#skiplinks a.skip:focus, #skiplinks a.skip:active {
	left: 32768px;
	outline: 0 none;
	position: absolute;
	width: 100%;
}
*/

h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	margin: .25em 0;
}

h1 {
	font-size: 2.5em;
}

h2 {
	font-size: 2em;
}

h3 {
	font-size: 1.5em;
}

h4 {
	font-size: 1.333em;
}

h5 {
	font-size: 1.167em;
}

h6 {
	font-size: 1.083em;
}

blockquote, cite, q {
	font-family: Lucida Console0, Lucida Console1, Lucida Console2, Lucida Console3;
	font-style: italic;
}

strong, b {
	font-weight: bold;
}

em, i {
	font-style: italic;
}

big {
	font-size: 1.167em;
}

small {
	font-size: .917em;
}

textarea, pre, code, kbd, samp, var, tt {
	font-family: Consolas, Lucida Console, Andale Mono, Bitstream Vera Sans Mono, Courier New, Courier;
}

pre {
	line-height: 1.5em;
	margin: 0 0 1em 0;
}

pre, code, kbd, tt, samp, var {
	font-size: 1.0001em;
}

pre, code {
	color: #800; /* TODO */
}

kbd, samp, var, tt {
	color: #666;
	font-weight: bold;
}

var, dfn {
	font-style: italic;
}

acronym, abbr {
	border-bottom: 1px dotted #aaa;
	font-variant: small-caps;
	letter-spacing: .07em;
	cursor: help;
}

sub {
	vertical-align: sub;
	font-size: smaller;
}

sup {
	vertical-align: super;
	font-size: smaller;
}

hr {
	color: white;
	background: transparent;
	margin: 0 0 .5em 0;
	padding: 0 0 .5em 0;
	border: 0;
	border-bottom: 1px solid #ddd;
}

label {
	margin: 0 0.5em;
	vertical-align: 0.2em;
}

label.watermark {
	margin: 0;
	padding: 0;
	vertical-align: middle;
}

.deadlink, .deadlink:link, .deadlink:visited {
	color: red;
	font-weight: bold;
}

a {
	color: #de1298;
	text-decoration: none;
}

a:visited {
	color: #79005e;
}

a:hover, a:active {
	text-decoration: underline;
	outline: 0 none;
}

a[href^='mailto:'] {
	color: black;
}

a.tip {
	position: relative;
}

a.tip:hover {
	z-index: 25;
}

a.tip span {
	display: none;
}

a.tip:hover span {
	display: block;
	position: absolute;
	width: 8em;
	top: 1.5em;
	left: .5em;
	border-top: 1.5px solid #eee;
	border-right: 1.5px solid #888;
	border-bottom: 1.5px solid #888;
	border-left: 1.5px solid #eee;
	background-color: #ffd051;
	color: black;
	font-size: 1.15em;
	text-align: center;
}

a.linkbutton {
	padding: 5px 10px;
	font-size: 1.15em;
	white-space: pre;
}

a.linkbutton, a.linkbutton:visited {
	color: #1b1b98;
	text-decoration: none;
}

a.linkbutton:hover {
	color: #1b1b98;
	text-decoration: none;
}

span.fakebutton {
	display: inline-block;
	border: 1px solid #aaabb8;
	border-radius: 3px;
	margin: 10px 10px 0 0;
	padding: 0.4em 0.8em;
	background-color: #cdd6ff;
	color: inherit; /* #1b1b98; */
}

span.fakebutton:hover, span.fakebutton:focus, span.fakebutton:active {
	background-color: #99acff;
}

.cms_submit,
.cms_dropdown {
	border: 1px solid #aaabb8;
	border-radius: 3px;
	margin: 5px 0 5px 5px;
	background-color: #cdd6ff;
	color: inherit;
	font-size: 1.15em; /* for dropdown, must be >= 16px */
}

.cms_submit {
	padding: 0.4em 0.8em;
}

/* from https://github.com/filamentgroup/select-css/blob/master/src/select-css.css */ 
.cms_dropdown {
	padding: 0.4em 0.9em 0.4em 0.2em;
	width: initial;
	box-sizing: border-box;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	/* Note: bg image below uses 2 urls. The first is an svg data uri for the arrow icon, and the second is the background image.
	For the icon, if you want to change the color, be sure to use `%23` instead of `#`, since it's an url. You can also swap in a different svg icon or an external image reference
	The background must be used (to block browser defaulting), even if totally transparent
	*/
	background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2250%22%20width%3D%2250%22%3E%3Cpath%20d%3D%22M0%201h50L25%2049z%22%20fill%3D%22%23003187%22%2F%3E%3C%2Fsvg%3E'),
	  linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,0));
	background-repeat: no-repeat, repeat;
	/* arrow icon position (.4em from the right, 50% vertical) , then background position */
	background-position: right 0.4em top 50%, 0 0;
	/* icon size, then background */
	background-size: 0.5em auto, 100%;
}
/* Hide arrow icon in IE browsers */
.cms_dropdown::-ms-expand {
	display: none;
}

/* Support for rtl text, explicit support for Arabic and Hebrew */
*[dir="rtl"] .cms_dropdown, :root:lang(ar) .cms_dropdown, :root:lang(iw) .cms_dropdown {
	padding: 0.4em 0.2em 0.4em 0.9em;
	background-position: left 0.4em top 50%, 0 0;
}

/* Disabled styles */
.cms_dropdown:disabled, .cms_dropdown[aria-disabled=true] {
	color: graytext;
	background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2250%22%20width%3D%2250%22%3E%3Cpath%20d%3D%22M0%201h50L25%2049z%22%20fill%3D%22%235c6470%22%2F%3E%3C%2Fsvg%3E'),
	  linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,0));
}
.cms_dropdown:disabled:hover, .cms_dropdown[aria-disabled=true] {
	border-color: #aaa;
}

.cms_dropdown option {
	padding: 0;
	font-size: 0.9em;
}

.cms_submit:hover, .cms_submit:focus, .cms_submit:active,
.cms_dropdown:hover, .cms_dropdown:focus, .cms_dropdown:active {
	background-color: #99acff;
}

p {
	line-height: 1.2em;
/*	padding: 0.25em 0; */
}

p.icaption_left {
	float: left;
	display: inline;
	margin: 0 1em .15em 0;
}

p.icaption_right {
	float: right;
	display: inline;
	margin: 0 0 .15em 1em;
}

p.icaption_left img, p.icaption_right img {
	padding: 0;
	border: 1px solid #888;
}

p.icaption_left strong, p.icaption_right strong {
	display: block;
	overflow: hidden;
	margin-top: 2px;
	padding: .3em .5em;
	background: #eee;
	font-weight: normal;
	font-size: .917em;
}

.highlight {
	color: #c30;
}

.dimmed {
	color: #888;
}

.info {
	background: #f8f8f8;
	color: #666;
	padding: 10px;
	margin-bottom: .5em;
	font-size: .917em;
}

.note {
	background: #efe;
	color: #040;
	border: 2px solid #484;
	padding: 10px;
	margin-bottom: 1em;
}

.important {
	background: #ffe;
	color: #440;
	border: 2px solid #884;
	padding: 10px;
	margin-bottom: 1em;
}

.warning {
	background: #fee;
	color: #400;
	border: 2px solid #844;
	padding: 10px;
	margin-bottom: 1em;
}

.float_left {
	float: left;
	display: inline;
	margin-right: 1em;
	margin-bottom: .15em;
}

.float_right {
	float: right;
	display: inline;
	margin-left: 1em;
	margin-bottom: .15em;
}

.center {
	display: block;
	text-align: center;
	margin: .5em auto;
}

table {
	border-spacing: 0;
	width: auto;
	border-collapse: collapse;
	margin-bottom: 0.5em;
	border-top: 2px solid #888;
	border-bottom: 2px solid #888;
}

table caption {
	font-variant: small-caps;
	font-weight: normal;
	text-align: left;
}

table.full {
	width: 100%;
}

table.fixed {
	table-layout: fixed;
}

th, td {
	padding: 0.5em;
	font-weight: normal;
	text-align: left;
}

thead th {
/*	color: black; */
	border-bottom: 2px solid #ddd;
}

tbody td {
/*	color: #333; */
	border-bottom: 1px solid #ddd;
}

tbody th[scope="row"], tbody th.sub {
	background: #eee;
}

table.formtable {
	border-top: 0;
	border-bottom: 0;
}

table.formtable table {
	border-top: 0;
	border-bottom: 0;
}

table.formtable thead th {
	border-bottom: 0;
}

table.formtable tr {
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 0;
	margin-bottom: 0;
}

table.formtable tbody td tbody td {
	border-bottom: 0;
}

tbody.formtable tr:hover th[scope="row"], tbody.formtable tr:hover tbody th.sub {
	background: #f0e8e8;
}

tbody.formtable tr:hover td {
	background: #fff8f8;
}

table.booker th.periodname,
table.booker td.slotname {
	background-color: #2147ba;
	color: #fff;
}

#imgcache {
	display: none;
}

.notes {
	font-size: .9em;
	padding: 5px;
	border: 1px solid black;
}

.file {
	padding-top: 2px;
	padding-left: 20px;
	width: 16px;
	height: 16px;
	background: transparent url(../../../lib/plugins/icons/file.png) no-repeat left;
}

.needs-js {
	display: none;
}

.directory, .directory:link, .directory:visited {
	color: red;
}

.filesize {
	font-size: 90%;
}

.checkpath {
	color: red;
}

.filetype_pdf {
	padding-top: 2px;
	padding-left: 20px;
	width: 16px;
	height: 16px;
	background: transparent url(../../../lib/plugins/icons/pdf.png) no-repeat left;
}

.filetype_zip {
	padding-top: 2px;
	padding-left: 20px;
	width: 16px;
	height: 16px;
	background: transparent url(../../../lib/plugins/icons/zip.png) no-repeat left;
}

.filetype_doc {
	padding-top: 2px;
	padding-left: 20px;
	width: 16px;
	height: 16px;
	background: transparent url(../../../lib/plugins/icons/doc.png) no-repeat left;
}

.filetype_ppt {
	padding-top: 2px;
	padding-left: 20px;
	width: 16px;
	height: 16px;
	background: transparent url(../../../lib/plugins/icons/ppt.png) no-repeat left;
}

.filetype_xls {
	padding-top: 2px;
	padding-left: 20px;
	width: 16px;
	height: 16px;
	background: transparent url(../../../lib/plugins/icons/xls.png) no-repeat left;
}

.faqcatlist {
	color: #ff9200;
}

.faqlist {
	list-style-type: decimal;
	color: #812fff;
}

.faqcatlink a, a:visited {
	color: #ff9200;
}

.faqlink a, a:visited {
	color: #812fff;
}

.faqanswer {
	color: #1b1b98;
}

.newsletter-block {
	margin: 5px 5px 0 5px;
	padding: 5px;
	border: 1px solid #5a5a5a;
}

#map_canvas {
	width: 100%;
	height: 400px;
}

@media screen and (min-width: 20rem) {
	#crumb {
		display: block;
		padding: 0.4em 0;
		text-align: center;
		z-index: 2000; /* below burger & above top-level ul */
	}

	a.crumbup {
		padding: 0.4em 0.8em;
/*		padding: 3px;
		font-size: 1em; */
		font-size: 1.2em;
		white-space: nowrap;
		word-spacing: -2px;
		font-weight: bold;
/*		text-transform: lowercase; */
	}

	a.crumbup:visited, a.crumbup {
		color: #1b1b98;
		text-decoration: none;
	}

	a.crumbup:hover {
		background-color: #99acff;
		text-decoration: none;
		border-radius: 3px;
	}

	.crumbhere {
		padding: 0.4em 0.8em;
		white-space: nowrap;
		word-spacing: -2px;
		font-size: 1.3em;
		text-transform: uppercase;
	}

	.crumbhide {
		display: none;
	}
}

@media screen and (min-width: 25rem) {
	#homelink {
		width: 242px;
	}
	#homelink > a {
		padding-left: 120px;
		padding-right: 120px;
	}

	#sponsors {
		display: block;
		flex-shrink: 0;
		flex-grow: 0;
		max-width: 150px;
		min-width: 100px;
		margin: 0 10px;
		overflow: hidden;
		text-align: center;
	}
}

@media screen and (min-width: 52rem) {
	#nav {
		justify-content: center;
	}
	#crumb {
		position: relative;
		margin-top: -2em;
	}
	#mainmenu_box {
		position: static;
		margin-top: 0;
		text-align: center;
	}
	#main_menu {
		display: inline-block;
	}
}

@media screen and (min-width: 748px) {
	#main.rowbox {
		background: none;
	}
	#teaser {
		display: block;
		margin: 10px 5px 0;
	}
	#gallery {
		display: block;
	}
	#slideshow {
		display: block;
		margin: 0 auto;
		height: 200px;
		width: 720px;
		overflow: hidden;
	}
	#slideshow >img {
		margin: 0 auto;
	}
}

@media print {
	.subcolumns, .subcolumns >div {
		overflow: visible;
		display: table;
	}

	.print {
		position: static;
		left: 0;
	}

	.noprint {
		display: none !important;
	}

	body {
		font-size: 10pt;
	}

	#topnav, #nav, #search, nav {
		display: none;
	}

	h1, h2, h3, h4, h5, h6 {
		page-break-after: avoid;
	}

	.watermark_container {
		display: none;
	}

	label.watermark {
		display: none;
	}
}

