* {
	box-sizing: border-box;
}

ul, li {
	list-style: none;
	margin: 0;
	padding: 0;
}

html, body {
	background-color: #FFDD00;
	margin: 0;
	padding: 0;
	height: 100%;
}

/* text */
html, body, input, select, textarea {
	font-family: 'PT Sans', sans-serif;
	letter-spacing: 0;
	line-height: 1.5em;
	color: #022e46;
	font-size: 15px;
	line-height: 1.5em
}

@media (min-width: 1200px) {
	html, body, input, select, textarea {
		font-size: 16px;
	}
}

h1, h2, h3, h4 {
	font-weight: 700;
	line-height: 1;
}

h1 {
	font-size: 200%;
	margin: 0 0 60px 0;
}

h1#welcome {
	font-size: 230%;
	margin-bottom: 100px;
	color: #fff;
}

@media (min-width: 1200px) {
	h1#welcome {
		font-size: 300%;
		margin-bottom: 130px;
	}
}

@media (min-width: 1600px) {
	h1#welcome {
		margin-bottom: 220px;
	}
}

@media (min-width: 2000px) {
	h1#welcome {
		margin-bottom: 280px;
	}
}

h2 {
	font-size: 130%;
	margin: 0 0 20px 0;
}

h3 {
	font-size: 140%;
	margin: 0 0 20px 0;
}

h4 {
	font-size: 110%;
	margin: 0 0 15px 0;
	font-weight: bold;
}

p {
	margin-bottom: 20px;
}

a, a:visited, a:active {
	text-decoration: none;
	outline: none;
	color: #0C5A84;
}

p a, p a:visited, p a:active {
	text-decoration: underline;
	outline: none;
	color: #0C5A84;
}

a.button, a.button:visited, a.button:active {
	text-decoration: none;
}

.lineheight100 {
	line-height: 100%; /* without this, <a>-elements in some flexbox-list are too high */
}

.container {
	margin-bottom: 30px;
}

.bgwhite {
	background-color: #fff;
}

.bgblue {
	background-color: #1c9ad2;
}

.padded {
	padding: 20px;
}

.padded.narrow {
	padding: 10px;
}

.borderbottom {
	border-bottom: 1px solid #022E46;
}

.borderbottom.blue {
	border-bottom: 1px solid #1c9ad2;
}

.borderbottom.fat {
	border-bottom-width: 2px;
}

.marginbottom {
	margin-bottom: 20px;
}

.marginright {
	margin-right: 15px;
}

.marginrightwide {
	margin-right: 25px;
}

@media (min-width: 1200px) {
	.marginrightwide {
		margin-right: 40px;
	}
}

.alignright {
	text-align: right;
}

.aligncenter {
	text-align: center;
}

div.error,
span.error {
	background-color: #fff8cc;
	border-bottom: 2px solid #DC0000;
}

.block {
	display: block;
}

.small {
	font-size: 80%;
}

.strong {
	font-weight: bold;
}

.pointer:hover {
	cursor: pointer;
}

::-moz-selection {
	background: #022E46;
}

::selection {
	background: #022E46;
}

/* generic containers */

.group:after {
	content: "";
	display: table;
	clear: both;
}

.half {
	float: left;
	width: 47%;
	margin-right: 3%;
}

.half:last-child {
	float: left;
	width: 50%;
	margin-right: 0;
}

.onethird {
	float: left;
	width: 30%;
	margin-right: 3%;
}

.onethird:last-child {
	float: left;
	width: 33%;
	margin-right: 0;
}

.twothird {
	float: left;
	width: 64%;
	margin-right: 3%;
}

.twothird:last-child {
	float: left;
	width: 67%;
	margin-right: 0;
}

.onefifth {
	float: left;
	width: 17%;
	margin-right: 3%;
}

.onefifth:last-child {
	float: left;
	width: 20%;
	margin-right: 0;
}

.onequarter {
	float: left;
	width: 22%;
	margin-right: 3%;
}

.onequarter:last-child {
	float: left;
	width: 25%;
	margin-right: 0;
}

.threequarter {
	float: left;
	width: 72%;
	margin-right: 3%;
}

.threequarter:last-child {
	float: left;
	width: 75%;
	margin-right: 0;
}




/* general layout */

.ctr-main {
	height: 100%;
	background-image: url(../images/header-img.jpg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: top center;
}

@media (min-width: 1200px) {
	.ctr-main {
		background-image: url(../images/header-img@2x.jpg);
	}
}

.main {
	margin: 0 auto 0;
	width: 100%;
	max-width: 1130px;
	margin-bottom: 20px;
	padding: 0 15px;
}

@media (min-width: 1300px) {
	.main {
		padding: 0;
	}
}

.content
{
	position: relative; /* let op: is nodig om te voorkomen dat een lijn onstaat tussen de active tabs en de content op kleinere schermen. De reden is me niet duidelijk, maar laat svp staan */
	background-color: #fff;
	padding: 40px;
	min-height: 400px;
}

.ctr-header {
		background-color: #fff;
		height: 45px;
		margin-bottom: 110px;
}

@media (min-width: 1080px) {
	.ctr-header {
			margin-bottom: 130px;
	}
}

@media (min-width: 1400px) {
	.ctr-header {
			margin-bottom: 180px;
	}
}

@media (min-width: 1800px) {
	.ctr-header {
			margin-bottom: 240px;
	}
}

/*@media (min-width: 900px) {
	.ctr-header {
			margin-bottom: 100px;
	}
}

@media (min-width: 1100px) {
	.ctr-header {
			margin-bottom: 160px;
	}
}

@media (min-width: 1180px) {
	.ctr-header {
			margin-bottom: 200px;
	}
}

@media (min-width: 1600px) {
	.ctr-header {
			margin-bottom: 250px;
	}
}*/

/*.ctr-header	 {
		background-color: #022E46;
		height: 90px;
		margin-bottom: 95px;
}*/

.ctr-main.agenda .ctr-header.loggedin,
.ctr-main.dashboard .ctr-header.loggedin {
		margin-bottom: 35px;
}

	.header {
		position: relative;
		margin: 0 auto 0;
		width: 100%;
		max-width: 1130px;
	}

.ctr-header .header img#logo-seef {
	position: absolute;
	left: 15px;
	top: 10px;
	width: 100px;
	height: 100px;
}

.ctr-header.loggedin .header img#logo-seef {
	position: absolute;
	left: 15px;
	top: 10px;
	width: 76px;
	height: 76px;
}

@media (min-width: 1200px) {
	.ctr-header .header img#logo-seef,
	.ctr-header.loggedin .header img#logo-seef {
		left: 0;
	}
}

.header #panel {
	position: absolute;
	width: 30%;
	top: 20px;
	right: 15px;
	bottom: auto;
	left: auto;
}

@media (min-width: 1200px) {
	.header #panel {
		right: 0;
	}
}


.header #panel p,
.header #panel h3  {
	color: #fff;
}

.header #panel h3  {
	margin-bottom: 0;
}

.header a#logoff {
	color: #FFDD00;
}

.ctr-background {
	margin: 0 auto 0;
	width: 100%;
	flex: 0 0 300px;
	background: url(../images/background.jpg) no-repeat center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.footer {
	flex-shrink: 0;
	margin: 0 auto 0;
	margin-top: auto;
	width: 100%;
	max-width: 1130px;
	padding: 10px 15px;
}

@media (min-width: 1200px) {
	.footer {
		padding: 10px 0;
	}
}

	.footer ul {
		display: flex;
		align-items: center;
	}

		.footer ul li {
			flex: 0 0 auto;
			margin-right: 30px;
		}

			.footer ul li:last-child {
				flex: 1 0 auto;
				margin-right: 0;
				text-align: right;
			}

@media (min-width: 1080px) {
	/*.main,*/
	.footer {
		padding-left: 0;
		padding-right: 0;
	}
}

/* group + half */
.group::after {
	content: "";
	display: table;
	clear: both;
}

.half {
	float: left;
	width: 45%;
	margin-right: 5%;
}

	.half:last-child {
		float: left;
		width: 50%;
		margin-right: 0;
	}

/* flex */
/* parent properties */

.flexbox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.fl-nowrap {
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
}

.fl-justify-spacebetween {
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.fl-justify-center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.fl-justify-end {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.fl-justify-spaceevenly {
	-webkit-box-pack: space-evenly;
	-ms-flex-pack: space-evenly;
	justify-content: space-evenly;
}

.fl-align-start {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.fl-align-center {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.fl-align-end {
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}

.fl-align-stretch {
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}

/* child properties */

.nogrow {
	flex-grow: 0;
}

.noshrink {
	flex-shrink: 0;
}

.fl-half {
	-webkit-box-flex: 1;
	-ms-flex: 0 0 48%;
	flex: 0 0 48%;
}

.fl-onethird {
	-webkit-box-flex: 1;
	-ms-flex: 0 0 31%;
	flex: 0 0 31%;
}

.fl-twothird {
	-webkit-box-flex: 1;
	-ms-flex: 0 0 64%;
	flex: 0 0 64%;
}

.fl-onequarter {
	-webkit-box-flex: 1;
	-ms-flex: 0 0 24%;
	flex: 0 0 24%;
}

.fl-thirty {
	-webkit-box-flex: 1;
	-ms-flex: 0 0 29%;
	flex: 0 0 29%;
}

.fl-ten {
	-webkit-box-flex: 1;
	-ms-flex: 0 0 10%; /* deze niet 9 maken, zoals 29 bij thirty, etc. want dan komen we op kleinere schermen speling te kort. */
	flex: 0 0 10%;
}

.fl-fourty {
	-webkit-box-flex: 1;
	-ms-flex: 0 0 38%;
	flex: 0 0 38%;
}

.fl-sixty {
	-webkit-box-flex: 1;
	-ms-flex: 0 0 58%;
	flex: 0 0 58%;
}

.fl-seventy {
	-webkit-box-flex: 1;
	-ms-flex: 0 0 69%;
	flex: 0 0 69%;
}

.fl-eighty {
	-webkit-box-flex: 1;
	-ms-flex: 0 0 79%;
	flex: 0 0 79%;
}

.fl-ninety {
	-webkit-box-flex: 1;
	-ms-flex: 0 0 89%;
	flex: 0 0 89%;
}

/* mainmenu */

.ctr-mainmenu
{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

a.menuitem
{
	flex: 0 1 18%; /* this width, combined with ALLOW shrink, DISALLOW grow, enables us to have one item 'school' with the right width (not filling the entire ctr-mainmenu) as well as having all 6 items, that DO fill the container; all slightly shrunken */
	margin-right: 5px;
	padding: 8px;
	text-align: center;
	background-color: #1c9ad2;
	color: #fff;
}

a.menuitem:last-child
{
	margin-right: 0;
}

a.menuitem:hover
{
	padding: 16px 8px;
}

a.menuitem.current
{
	padding: 16px 5px;
	background-color: #fff;
	color: #0C5A84;
}

a.menuitem.half
{
	flex: 0 0 50%;
	margin: 0;
	padding: 8px;
	text-align: center;
}


/* wizard */

.ctr-steps
{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

a.step
{
	flex: 1 1 auto;
	margin-right: 5px;
	padding: 8px;
	text-align: center;
	background-color: #1c9ad2;
	color: #fff;
}

a.step:last-child
{
	margin-right: 0;
}

a.step:hover
{
	padding: 16px 8px;
}

a.step.active
{
	padding: 16px 5px;
	background-color: #fff;
	color: #0C5A84;
}

.ctr-stepcontent
{
	z-index: 990;
	display: none;
}

/*.ctr-stepcontent:first-of-type
{
	display: block;
}*/

/* buttons */
.button {
	display: inline-block;
	width: auto;
	border: none;
	background-color: #288CB1;
	color: #fff !important;
	padding: 8px 30px 12px 30px;
	font-size: 110%;
	text-align: center;
}

	.button:hover {
		text-decoration: none;
	}


/* forms */
input,
select,
textarea {
	display: block;
	padding: 10px 10px;
	border: none;
	margin: 0 0 20px 0;
}

input.nomarginbottom,
select.nomarginbottom,
textarea.nomarginbottom {
	margin-bottom: 0;
}

select
{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url('/images/select-arrow.png');
	background-position: right 10px top 20px;
	background-repeat: no-repeat;
}

input,
select,
textarea {
	background-color: #fff8cc;
	border-bottom: 2px solid #2299D1;
}

	input[type=submit] {
		-webkit-appearance: none;
		background-color: #1c9ad2;
		border: none;
		border-bottom: 2px solid #022e46;
		color: #fff;
	}

	input[type=submit].centered {
		width: 570px;
	}

	input.small,
	select.small {
		width: 50%;
	}

	input.medium,
	select.medium {
		width: 80%;
	}

	input.large,
	select.large,
	textarea.large {
		width: 100%;
	}

	input.error,
	select.error,
	textarea.error {
		border-bottom: 2px solid #DC0000 !important;
		color: #DC0000;
	}

input:disabled,
select:disabled,
textarea:disabled {
	background-color: #fff;
	background-image: url('/images/icon-lock.png');
	background-position: right 10px top 20px;
	background-repeat: no-repeat;

}

/* problem is: we can't set this for <select> because that already needs another background (for the arrow). In Sketch, a required <select> only hsa the arrow, no star - for the time being I'm sticking with that */
input:required,
textarea:required {
	background-image: url('/images/icon-star.png');
	background-position: right 10px top 20px;
	background-repeat: no-repeat;
}

::-webkit-input-placeholder {
	font-weight: normal;
	color: #022e46;
}

:-moz-placeholder {
	font-weight: normal;
	color: #022e46;
}

::-moz-placeholder {
	font-weight: normal;
	color: #022e46;
}

:-ms-input-placeholder {
	font-weight: normal;
	color: #022e46;
}

form label, label {
	display: block;
	font-weight: 700;
	margin: 0 0 0px 0
}

form .errorfeedback {
	display: inline-block;
	color: #DC0000;
	margin: 0 0 0 5px
}

	form .errorfeedback label {
		display: inline;
		color: #DC0000;
	}

.feedback {
	padding: 10px 20px;
	background-color: #fff8cc;
	text-align: center;
}

form img.submit:hover
{
	cursor: pointer;
}

/* form_reset_accountschool */

#ctr-form_reset_accountschool {
	display: none;
}

/* tables */
.table {
	display: table;
	width: 100%;
}

	.table tr td.firstcol {
		width: 30%;
	}

/* header */
header {
	height: 200px;
}

	header .flex {
		height: 100%;
	}

#page-home header {
	background: rgba(0,0,0,0.40);
	color: #FFFFFF;
	border: none;
}

/* header */
header .ctr-flex {
	height: 100%
}

header .logo.flex {
	flex: 0 0 250px;
}

header .links.flex {
	flex: 0 0 auto;
}

header .spacer.flex {
	flex: 1 1 100%;
}

header .ctr-counters.flex {
	flex: 0 0 auto;
}

#page-home header .ctr-counters.flex {
	flex: 1 1 auto;
}

header .logo a {
	display: block;
	height: 100%;
}

header .logo img {
	margin: 15px 0 0px 20px;
	height: 18px;
}

/* footer */
footer {
	background: #272727;
	color: #FFFFFF;
	padding: 20px 0px 80px;
	font-size: 90%;
}

	footer li {
		list-style-type: none;
		display: block;
		line-height: 1.5;
		padding: 6px 0
	}

		footer li a:first-letter {
			text-transform: uppercase;
		}

/* ctr-password */

.ctr-password {
	position: relative;
}

.togglepassword {
	position: absolute;
	top: 10px;
	right: 10px;
	left: auto;
	bottom: auto;
	color: #1c9ad2;
}

.togglepassword:hover {
	cursor: pointer;
}

/* graph */
.graph {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

	.graph .ctr-section {
		flex: 0 0 45%;
		width: 45%;
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		padding-bottom: 40px;
		min-height: 300px;
	}

		.graph .ctr-section .ctr-icon {
			width: 30%;
			display: flex;
			align-items: flex-end;
		}

		.graph .ctr-section .ctr-bars {
			width: 70%;
		}

		.graph .ctr-section .ctr-icon img {
			width: 100%;
			height: auto;
		}


		.graph .ctr-section .ctr-bars {
			display: flex;
			flex-wrap: nowrap;
			justify-content: space-between;
			align-items: flex-end;
			margin-bottom: 20px;
		}

	.graph .bar {
		position: relative;
		width: 90px;
		box-sizing: border-box;
		margin-bottom: 5px;
		min-width: 1px;
		color: #fff;
		padding: 5px 10px;
		line-height: 130%;
		background-color: #165B85;
	}

		.graph .bar p {
			position: absolute;
			bottom: -60px;
			font-size: 130%;
			font-weight: bold;
			color: #165B85;
		}

		.graph .bar.account {
			background-color: #F5A622;
		}

		.graph .bar.overall {
			background-color: #985FA7;
		}

		.graph .bar.account p {
			color: #F5A622;
		}

		.graph .bar.overall p {
			color: #985FA7;
		}

		.graph .bar .percentage {
			color: #fff;
			font-size: 270%;
			text-align: center;
			float: left;
			transform: rotate(-90deg);
			transform-origin: center bottom 0;
			position: absolute;
			bottom: 50px;
			left: 18px;
		}



/* ctr-transport */

.ctr-transport {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	margin-bottom: 40px;
}

	.ctr-transport > div {
		flex: 0 0 20%;
	}

		.ctr-transport > div .ctr-icon {
		}

		.ctr-transport > div .ctr-adjuster {
			display: flex;
			flex-wrap: nowrap;
			justify-content: space-between;
		}

	.ctr-transport .ctr-adjuster span.f-adjust {
		font-size: 400%;
		text-align: center;
		line-height: 100%;
	}

		.ctr-transport .ctr-adjuster span.f-adjust:hover {
			cursor: pointer;
		}

	.ctr-transport input {
		width: 70px;
		height: 70px;
		text-align: center;
	}


/* ctr-weather */

.ctr-weather {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	margin-bottom: 40px;
}

	.ctr-weather .ctr-icon {
		flex: 0 0 20%;
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
		padding-bottom: 10px;
	}

		.ctr-weather .ctr-icon:hover {
			cursor: pointer;
			box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
		}

		.ctr-weather .ctr-icon.chosen {
			box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
		}

/* ctr-days */

.ctr-days {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	margin-top: 20px;
	margin-bottom: 20px;
}

	.ctr-days .day {
		flex: 0 0 20%;
		border-right: 2px solid #fff;
		text-align: center;
		color: #fff;
		font-size: 200%;
		font-weight: bold;
		text-transform: uppercase;
		background-color: rgba(255, 255, 255, 0.4);
		padding: 20px 0;
	}

		.ctr-days .day:last-child {
			border-right: none;
		}

	.ctr-days .day.current {
		background-color: #0C5A84;
	}

/* notification */

#notificationbutton {
	width: 52px;
	height: 28px;
}

#notificationbutton.off {
	background-image: url('../images/icon-toggle-off.png');
}

#notificationbutton.on {
	background-image: url('../images/icon-toggle-on.png');
}

/* highcharts */

.highcharts-drilldown-axis-label {
	font-weight: normal !important;
}


