A { color: #4667b2; text-decoration: none; }
A:hover { text-decoration: underline; }
A[href=""] { cursor: default; text-decoration: none; }
BODY {
	background: #ddd /*url('/static/bkg-blur.jpg') fixed top center*/;
	background-size: cover;
	font-family: 'PF DinDisplay Pro', Arial, sans-serif;
	font-weight: 300;
	margin: 0;
	padding: 0;
}
H1, H3.with-logo {
	color: #253e76;
	margin: 0.5em 0 1em;
	text-align: center;
	font-size: 140%;
	letter-spacing: 0.5px;
	line-height: 100%;
	margin-left: auto;
	margin-right: auto;
	font-family: AvanteBs, 'PF DinDisplay Pro', Helvetica, sans-serif;
	font-weight: normal;
	text-align: left;
	text-transform: uppercase;
	background: url(/static/logo-heading.png) no-repeat left center;
	background-size: auto 1.8em;
	padding: .45em 0 .45em 2em;
}
H2 {
	color: #253e76;
	margin-top: 0;
	text-align: center;
}
H3.with-logo {
	margin-bottom: .5em;
}
H4 {
	color: #253e76;
	font: inherit;
	font-family: AvanteBs, 'PF DinDisplay Pro', Helvetica, sans-serif;
	font-weight: bold;
	margin: 0;
	padding: 0;
}
H4+P {
	margin-top: 0em;
}

/* Clearfix as per https://css-tricks.com/snippets/css/clear-fix/ */
.clearfix:after {
  visibility: hidden;
  display: block;
  content: "";
  clear: both;
  height: 0;
  }
* html .clearfix             { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

/* Vertical mid-align as per http://zerosixthree.se/vertical-align-anything-with-just-3-lines-of-css/ */

.midalign-parent {
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
}
.midalign {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

/* No-select as per http://stackoverflow.com/a/4407335 */

.noselect {
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none;   /* Chrome/Safari/Opera */
  -khtml-user-select: none;    /* Konqueror */
  -moz-user-select: none;      /* Firefox */
  -ms-user-select: none;       /* Internet Explorer/Edge */
  user-select: none;           /* Non-prefixed version, currently not supported by any browser */
}

/* Global classes and basic settings */

* { box-sizing: border-box; background-repeat: no-repeat; }

.break { clear: both; }
.right { float: right; }
.desktop .desktop-right { float: right; }
.right.padded, .desktop .desktop-right.padded { padding-left: 1em; }
.nobr { white-space: nowrap; }
.centered, .center-align { text-align: center; }
.right-aligned { text-align: right; }
.justified { text-align: justified; }
.left-aligned { text-align: left; }
.left { float: left; }
.desktop .desktop-left { float: left; }
.mobile .mobile-left { float: left; }
.left.padded, .desktop .desktop-left.padded { padding-right: 1em; }
.orange { color: #F7921E; }
.regular { font-weight: 300; }
.medium { font-weight: 400; }
.bold { font-weight: 700; }
.semibold { font-weight: 500; }
.large { font-size: 133%; }
.larger { font-size: 110%; }
.smaller, SMALL { font-size: 90%; line-height: 150%; }
.small { font-size: 75%; line-height: 150%; }
.drop-shadow { box-shadow: 0 2px 4px rgba(0,0,0,0.5); }
.half, .halfwidth { width: 50%; }
.fullheight { height: 100%; }
.inflow { display: inline-block; }
.gap { display: block; height: 1em; }
.gap.x2 { display: block; height: 2em; }
.chasm { display: block; height: 50px; }
.italic { font-family: 'Open Sans'; font-weight: 300; font-style: italic; }
.visible {}
.hidden { display: none !important; }
.fullwidth { width: 100%; }
.mobile .mobile-fullwidth { width: 100%; }
.mobile .mobile-halfwidth { width: 50%; }
.or { margin: 10px 15px; display: inline-block; }
.hr-dashed { margin-bottom: -1px; padding-top: 1px; height: 1px; border-bottom: 1px dashed #c4c4c4; }

.video-container {
	height: 0;
	padding-bottom: 56.25%; /* 16:9 */
	position: relative;
}
.video-container > * {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.round-image-container {
	border-radius: 50%;
	overflow: hidden;
}

.content-wrapper {
	width: 1000px;
	padding: 1px 1% 1px 1%;
	margin: -1px auto -1px auto;
	position: relative;
}

MAIN > .content-wrapper {
/*
	background: #fcfcfc;
	background: rgba(255,255,255,0.95);
*/
	background: #fff;
	color: #444;
	font-size: 120%;
	line-height: 150%;
	padding: 30px 50px;
	margin: 0 auto;
/*	box-shadow: 0 0 6px rgba(127,127,127,0.5);*/
	min-height: calc(100vh - 60px - 220px);
}

MAIN > .content-wrapper > .content-break {
	margin: 10px -50px;
	height: 2px;
	background: #ddd;
}


MAIN IMG:not(.custom-size) { max-width: 100%; height: auto !important; }

MAIN TABLE { border-collapse: collapse; table-layout: fixed; }
MAIN TD { border: 1px solid #ccc; padding: 3px 5px; font-size: 80%; line-height: 1.3; vertical-align: top; }
MAIN TD P { margin: 0; }


#image_top {
	margin-top: -50px;
}

/*
IMG.left,IMG.right,IMG.center,DIV.left,DIV.right,DIV.center {
	border: 4px solid white;
	margin: 5px 30px 15px 30px;
	box-shadow: 1px 1px 8px rgba(127,127,127,.5);
	background:white;
}
IMG.left,DIV.left {
	float: left;
	margin-left: -150px;
}
IMG.right,DIV.right {
	float: right;
	margin-right: -150px;
}
IMG.center,DIV.center {
	float: none;
	margin-left: auto;
	margin-right: auto;
}
DIV.left SPAN,DIV.right SPAN,DIV.center SPAN {
	font-size:80%;
	line-height:120%;
	padding: 8px 15px 3px 15px;
	text-align:center;
	display: block;
}
DIV.left IMG, DIV.right IMG, DIV.center IMG { display: block; }
*/

#contact_form {
	margin: 0 auto;
	width: 600px;
	table-layout: fixed;
}
#contact_form TR > TD:first-child {
	width: 150px;
	text-align: right;
	padding: 10px;
	vertical-align: top;
}
#success {
	margin: 50px;
	padding: 20px;
	border: 1px solid #ccc;
	border-radius: 10px;
	background: #eeffee;
}
A.lang {
	float: right;
	display: block;
	border: 1px solid #999;
	color: #999;
	padding: 2px 5px;
	border-radius: 6px;
	margin-top: 5px;
	text-decoration: none;
}
A.lang:hover {
	border: 1px solid #777;
	color: #777;
	background: #f9f9f9;
	text-decoration: none;
}
/*
INPUT, TEXTAREA {
	border: 1px solid #ccc;
	border-radius: 3px;
	width: 90%;
	font-size: 16px;
	color: #555;
	padding: 10px;
}
INPUT:focus, TEXTAREA:focus {
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
	outline: none;
}
*/
BUTTON, A.button {
	background: #253e76;
	border: 1px solid transparent;
	border-radius: 3px;
	font-size: 95%;
	color: #fff;
	padding: 10px 20px;
	outline: none;
	font-family: inherit;
}
BUTTON:hover, A.button:hover {
	cursor: pointer;
	background: #5b7ec2;
	text-decoration: none;
}
BUTTON.cancel, A.button.cancel {
	background: white;
	border: 1px solid #253e76;
	color: #253e76;
}
BUTTON.cancel:hover, A.button.cancel:hover {
	background: #f7f7f7;
}
FORM { margin:0; padding: 0; }

BODY > FOOTER .newsletter BUTTON {
	background: #253e76;
	padding-left: 10px;
	padding-right: 10px;
	vertical-align: middle;
	text-transform: uppercase;
	height: 42px;
}
BODY > FOOTER .newsletter BUTTON:hover { background: #f26f1d; }


#desktop-logo {
	height: 85px;
	margin-top: -12px;
	margin-right: 18px;
}

BODY > HEADER {
	position: fixed;
	z-index: 2;
	left: 0;
	right: 0;
	top: 15px;
	height: 60px;
	background: #253e76;
	box-shadow: 0 0 6px rgba(127,127,127,0.5);
	font: 100% 'AvanteBs', Helvetica, Sans-serif;
	-webkit-backdrop-filter: blur(5px);
}
BODY > HEADER UL {
	list-style: none;
	margin: 0;
	padding: 0;
}
BODY > HEADER > NAV > UL {
	margin: 0 auto;
	width: 100%;
	white-space: nowrap;
}
BODY > HEADER > NAV > UL > LI {
	display: block;
	float: left;
}
BODY > HEADER UL A {
	display: block;
	text-decoration: none;
	color: #444;
}
BODY > HEADER UL A[target="_blank"]:after {
	font-family: 'Font Awesome\ 5 Free';
	content: ' \f35d';
	opacity: .3;
}
BODY > HEADER > NAV > UL > LI > A {
	color: white;
}
BODY > HEADER LI {
	position: relative;
	overflow: visible;
}
BODY > HEADER LI:hover {
	background: rgba(127,127,127,0.1);
}
BODY > HEADER > NAV > UL > LI:hover {
	background: #fff;
}
BODY > HEADER > NAV > UL > LI:hover > A {
	color: #444;
}

BODY > HEADER > NAV > UL > LI > A {
	line-height: 60px;
	padding: 0 18px;
}
BODY > HEADER > NAV > UL > LI > UL A {
	line-height: 40px;
	padding: 0 10px;
}
BODY > HEADER > NAV > UL > LI UL {
	position: absolute;
	left: 0;
	top: -1000px;
	z-index: 10;
	background: rgba(253,253,253,0.98);
	/*border: 1px solid rgba(127,127,127,0.1);*/
	min-width: 100%;
	box-shadow: 0 3px 6px rgba(127,127,127,0.5);
	font-size: 90%;
}

BODY > HEADER > NAV > UL > LI.right {
	margin-right: -1%;
}
BODY > HEADER > NAV > UL > LI.right > UL {
	left: auto;
	right: 0;
}
BODY > HEADER > NAV > UL > LI:hover > UL,
BODY > HEADER > NAV > UL > LI.hover > UL {
	top: 100%;
}
BODY > HEADER > NAV > UL UL > LI:hover > UL,
BODY > HEADER > NAV > UL UL > LI.hover > UL {
	top: 80%;
	left: 36px;
}
BODY > HEADER > NAV > UL > LI > UL > LI {
	padding: 0 8px;
}

/*
BODY > HEADER > NAV > UL > LI > UL UL {
	position: absolute;
	left: 0;
	top: -1000px;
	z-index: 10;
	background: rgba(253,253,253,0.98);
	min-width: 100%;
	box-shadow: 0 3px 6px rgba(127,127,127,0.5);
	font-size: 90%;
}
*/

BODY > HEADER > NAV > UL > LI.lang-menu {
	float:right;
	padding: 0 20px;
	line-height: 60px;
}
BODY > HEADER > NAV > UL > LI.lang-menu IMG {
	height: 20px;
	width: 30px;
	vertical-align: middle;
	border-radius: 2px;
	box-shadow: 0 0 1px rgba(0,0,0,0.5);
}

BODY > HEADER > NAV > UL > LI.lang-menu > UL IMG {
	margin-right: 10px;
}

BODY > FOOTER {
	background: #414b4d;
	color: #eee;
	padding: 20px 0;
}
BODY > FOOTER A, BODY > FOOTER H3, BODY > FOOTER H4 {
	color: white;
	margin: 0;
}
BODY > FOOTER A:hover { color: #f26f1d; }

BODY > FOOTER UL {
	padding: 0 50px 0 0;
	float: left;
	min-width: 120px;
	list-style: none;
	margin-top: 0;
	margin-left: 0;
}

BODY.mobile > FOOTER UL {
	padding-right: 0;
	margin-top: 10px;
	padding-bottom: 10px;
	min-width: 50%;
}

BODY > FOOTER SECTION:first-child > UL:last-child {
	/*width: 150px;*/
	padding-right: 0;
}
BODY > FOOTER LI {
	margin: 0px 0;
	font-size: 15px;
	line-height: 24px;
	white-space: nowrap;
}
BODY > FOOTER H3 { font-weight: 400; }
BODY > FOOTER H4 {
	font-size: 16px;
	font-weight: 400;
	text-transform: uppercase;
	margin-bottom: 5px;
}
BODY > FOOTER UL.horizontal {
	width: auto;
	margin: 0;
	display: block;
	float: none;
}
BODY > FOOTER UL.horizontal LI {
	display: inline-block;
	margin: 0 15px 0 0;
	font-size: 13px;
}
BODY > FOOTER SMALL.copyright {
	display: block;
	border-top: 1px solid rgba(255,255,255,0.33);
	height: 40px;
	line-height: 60px;
}
BODY > FOOTER SMALL.copyright A[href] { text-decoration: underline; }

MAIN { padding-top: 75px; }

/*HTML[lang="ru"] #menu-item-5 > UL { width: 210%; }*/

#menu-notice {
	position: absolute;
	right: 80px;
	top: 9px;
	color: white;
	border: 1px solid white;
	display: inline-block;
	padding: 3px 5px;
	font-size: 90%;
	border-radius: 2px;
}

OL.spaced LI {
	margin-bottom: 10px;
}

.block-sample {
	width: 247px;
	height: 271px;
	display: inline-block;
	vertical-align: top;
	margin: 10px 5px;
}
.block-sample .block-sample-image {
	width: 100%;
	height: 208px;
	display: inline-block;
	background: transparent no-repeat center center;
	background-size: cover;
	text-align: center;
}
.block-sample-shade { box-shadow: 0 2px 3px rgba(0,0,0,0.2); }
.block-sample .block-sample-caption { text-align: center; font-style: italic; }

.mining-steps IMG { max-width: 100%; }


.home-banner { margin-bottom: 1em; }
.home-banner H1 {
	text-transform: uppercase;
	font-size: 130%;
	color: white;
	text-align: center;
	padding: 35px 30px 25px 30px;
	margin: 0;
	background: none;
	text-shadow: 0 1px 2px rgba(0,0,0,0.5);
	position:absolute;
	bottom: 0;
	width: 100%;
	background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%);
	background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 );
}
.home-banner H1 SPAN.bigger { display: block; margin-top: .45em; font-size: 150%; }
.dekstop .home-banner H1 SPAN.bigger { font-size: 200%; }

.home-news { list-style: none; margin: 0; padding: 0; }
.home-news LI { padding: 0 0 0 130px; background: transparent no-repeat 0 .3em; background-size: 120px auto; min-height: 130px; }
.home-news IMG { display: block; float: left; margin-right: 10px; width: 120px; height:90px; }
.home-news H2 { color: #253e76; font-size: 100%; border-bottom: 2px solid #253e76; padding-bottom: 10px; margin-bottom: 10px; text-align: left; }
.home-news P { margin-top: 10px; font-size: 90%; }

.slick-prev { left: 5px; }
.slick-next { right: 5px; }
.slick-prev, .slick-next, .play-button {
	z-index: 1;
	opacity: 0;
	transition: opacity ease-out .2s;
}
.slick-slider:hover .slick-prev, .slick-slider:hover .slick-next {
	opacity: 1;
}
.slick-slide { position: relative; }

.play-button {
	position: absolute;
	z-index: 1;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	background: transparent;
	padding: 0;
	margin: 0;
	border: none;
	color: white;
	cursor: pointer;
}

.play-button {
	opacity: .7;
}
.playing .play-button {
	opacity: 0;
}
.playing:hover .play-button {
	opacity: .7;
}
.play-button:hover {
	opacity: 1 !important;
}

.home-banner {
	position: relative;
	height: 250px;
	margin: -30px -50px 0;
	background: black url(/static/home-banner.jpg) no-repeat right bottom;
	background-size: cover;
}
.home-banner > UL {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	list-style: none;
	padding: 0;
	margin: 7px 20px 0 0;
}
.home-banner > UL LI {
	margin: 10px;
}
.home-banner > UL LI A {
	display: block;
	border: 1px solid rgba(255,255,255,.5);
	border-radius: 4px;
	padding: 6px;
	color: rgba(255,255,255,.9);
	background: rgba(66, 103, 178, .2);
	text-decoration: none;
	transition: all ease-out 0.1s;
	min-width: 300px;
	text-transform: uppercase;
	text-align: center;
	opacity: 0;
}
.home-banner > UL LI:hover A {
/*
	background: rgba(45, 71, 123, .7);
	transition-duration: 0;
*/
	background: rgba(66, 103, 178, .3);
	transition-duration: 0s;
	border-color: rgba(255,255,255,.7);
	color: white;
}

.home-left {
	width: calc(100% - 320px - 20px);
	margin-right: 20px;
	float: left;
}
.home-right {
	width: 320px;
	float: right;
}

SECTION.wide {
	margin-right: -50px;
	margin-left: -50px;
}

.map IMG {
	width: 100%;
}

.blog-body { margin-bottom: 2em; }

.blog-body IMG {
	float: left;
	margin: .5em .5em .5em 0;
}

.blog-date {
	text-align: right;
	font-size: 80%;
}

A.pdf, MAIN A[href$=".pdf"]:not(.normal) { padding: .3em 0 .3em 2em; background: url(/static/icon-pdf.png) no-repeat left center; background-size: auto 1.9em; }
A.ppt, MAIN A[href$=".pptx"]:not(.normal), MAIN A[href$=".ppt"]:not(.normal) { padding: .3em 0 .3em 2em; background: url(/static/icon-ppt.png) no-repeat left center; background-size: auto 1.9em; }
A.doc, MAIN A[href$=".docx"]:not(.normal), MAIN A[href$=".doc"]:not(.normal) { padding: .3em 0 .3em 2em; background: url(/static/icon-doc.png) no-repeat left center; background-size: auto 1.9em; }

BODY.page-programme TD,
BODY.page-participation-catalogue TD,
BODY.page-participation-corporate TD,
BODY.page-participation-students TD,
BODY.page-participation-individual TD
{ border: 1px solid #ccc; padding: 3px 5px; }


/* Form fields */

INPUT[type="text"], INPUT[type="password"], INPUT[type="number"], INPUT[type="tel"], INPUT[type="email"], INPUT[type="url"], INPUT[type="search"], INPUT[type="date"], INPUT[type="file"] {
	background: #fff; /* #fdfdfd;*/
	border: 1px solid #C4C4C4;
	box-shadow: 0 0 0 rgba(0, 119, 255, 0.0); /*, inset 0px 1px 3px 0px rgba(0,0,0,0.40);*/
	border-radius: 3px;

	padding: 8px 13px; /*17px 13px*/

	font-size: 16px;
	font-weight: normal;
	color: #4A4A4A;
	vertical-align: middle;

	height: 42px;

	transition: box-shadow ease-in 0.1s, color ease-in 0.1s, border-color ease-in 0.1s;
}

TEXTAREA {
	background: #fff; /*#fdfdfd;*/
	border: 1px solid #C4C4C4;
	border-radius: 3px;
	box-shadow: 0 0 0 rgba(0, 119, 255, 0.0); /*, inset 0px 1px 3px 0px rgba(0,0,0,0.40);*/

	height: 9em;
	padding: 13px;

	font-family: Ubuntu, sans-serif;
	font-weight: 300;

	font-size: 15px;
	color: #4A4A4A;
	line-height: 22px;
	vertical-align: top;

	transition: box-shadow ease-in 0.1s, color ease-in 0.1s, border-color ease-in 0.1s;
}

INPUT[type="text"]:focus, INPUT[type="password"]:focus, INPUT[type="number"]:focus, INPUT[type="tel"]:focus, INPUT[type="email"]:focus, INPUT[type="url"]:focus, INPUT[type="search"]:focus, INPUT[type="date"]:focus, INPUT[type="file"]:focus, TEXTAREA:focus {
	outline: none;
	box-shadow: 0 0 5px 0px rgba(0, 119, 255, 0.8); /*, inset 0px 1px 3px 0px rgba(0,0,0,0.25);*/
	border-color: rgba(0,119,255,0.3);
	background: #fff;
	color: black;
	transition: border-color ease-out 0.2s, background-color ease-out 0.2s;
}

TEXTAREA.err, INPUT[type="text"].err, INPUT[type="password"].err, INPUT[type="number"].err, INPUT[type="tel"].err, INPUT[type="email"].err, INPUT[type="url"].err, INPUT[type="search"].err, INPUT[type="date"].err, INPUT[type="file"].err, INPUT[type="checkbox"].err + SPAN.cb, INPUT[type="radio"].err + SPAN.rb,
.row-err TEXTAREA, .row-err INPUT[type="text"], .row-err INPUT[type="password"], .row-err INPUT[type="number"], .row-err INPUT[type="tel"], .row-err INPUT[type="email"], .row-err INPUT[type="url"], .row-err INPUT[type="search"], .row-err INPUT[type="file"], .row-err INPUT[type="checkbox"] + SPAN.cb, .row-err INPUT[type="radio"] + SPAN.rb,
.row-err SELECT {
	border-color: #D0021B;
	background-color: #fffafa;
}

TEXTAREA.err:focus, INPUT[type="text"].err:focus, INPUT[type="password"].err:focus, INPUT[type="number"].err:focus, INPUT[type="tel"].err:focus, INPUT[type="email"].err:focus, INPUT[type="url"].err:focus, INPUT[type="search"].err:focus, INPUT[type="date"].err:focus, INPUT[type="file"].err:focus,
.row-err TEXTAREA:focus, .row-err INPUT[type="text"]:focus, .row-err INPUT[type="password"]:focus, .row-err INPUT[type="number"]:focus, .row-err INPUT[type="tel"]:focus, .row-err INPUT[type="email"]:focus, .row-err INPUT[type="url"]:focus, .row-err INPUT[type="search"]:focus, .row-err INPUT[type="file"]:focus {
	box-shadow: 0 0 5px 0px rgba(255, 0, 0, 0.8); /*, inset 0px 1px 3px 0px rgba(0,0,0,0.25);*/
}


/*
SPAN.cb ~ INPUT[type="checkbox"] {
  display: none;
}
*/
INPUT[type="checkbox"] + SPAN.cb {
	background-color: #FFFFFF;
	border: 1px solid #CCCCCC;
	border-radius: 3px;

	width: 14px;
	height: 14px;
	padding: 1px 2px;
	background-size: 12px 10px;

	color: #666;
	display: inline-block;
	background-position: center center;
	vertical-align: text-bottom;
}
INPUT[type="checkbox"]:checked + SPAN.cb {
	background-image: url(cb-tick.png);
	background-image: linear-gradient(transparent,transparent), url(cb-tick.svg);
}
INPUT[type="checkbox"]:disabled + SPAN.cb {
	opacity: 0.5;
}
INPUT[type="checkbox"].shaded + SPAN.cb {
	border-width: 0;
	box-shadow: inset 0px 1px 2px 0px rgba(0,0,0,0.50);
}

.upload-button {
	position: relative;
	display: inline-block !important;
	width: auto !important;
	padding: 0 !important;
	cursor: pointer;
	overflow: hidden;
	vertical-align: middle;
	min-height: 38px;
}
.upload-button > BUTTON, upload-button > A.button {
	position: relative;
}
.upload-button > INPUT[type="file"] {
	position: absolute;
	left: -200%;
	top: 0;
	width: 300%;
	height: 100%;
	box-sizing: border-box;
	opacity: 0;
	z-index: 2;
	cursor: pointer;
}
@-moz-document url-prefix() {
	INPUT[type="file"] { padding: 0; }
}

#files_popup {
	height: 230px;
	overflow-y: auto;
	font-size: 15px;
	list-style-type: none;
	padding: 0;
	margin: 0;
}

#contact-form-container { margin-bottom: 50px; }

.bonsai SPAN.cb { margin-right: 3px; }

.required { color: #d33; }

SELECT:not([data-handler]) {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;	outline : none;
	overflow : hidden;
	text-indent : 0.01px;
	text-overflow : '';
	display: inline-block;
	height: 41px;
	position: relative;
	font-size: 14px;

	padding: 1px 45px 1px 17px;
	border: 1px solid #c4c4c4;
	border-radius: 3px;
	color: #4A4A4A;
	cursor: default;

	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	transform-style: preserve-3d;

	background:	#fff no-repeat;
	background-position: 90%;
	background-position: right 17px center;
	background-size: 9px 18px;
	background-image: url(icon-dropdown.png);
	background-image: url(icon-dropdown.svg), linear-gradient(transparent, transparent);
}

SELECT.compact {
	width: auto;
	padding-right: 30px;
	background-position: right 12px center;
}

/* Login form */
#tse-login {
	border: 1px solid #ccc;
	border-radius: 20px;
	padding: 30px;
	max-width: 400px;
	width: 100%;
	margin: 0 auto;
	box-shadow: 0px 0px 6px #aaa;
}

#tse-login { margin-top: 2em; }
.mobile #tse-login { margin-top: 1em; }

#tse-login .error {
	background: #fcc;
	font-weight: 500;
	text-align: center;
	margin: 0 -30px 15px -30px;
	padding: 10px;
	color: black;
}

#tse-login .message {
	background: #cfc;
	font-weight: 500;
	text-align: center;
	margin: 0 -30px 15px -30px;
	padding: 10px;
	color: black;
	border: none;
	border-radius: 0;
}

#tse-login .information {
	background: #d2f1ff;
	font-weight: 500;
	text-align: center;
	margin: 0 -30px 15px -30px;
	padding: 10px;
	color: black;
}



/* Styled tables */

.tse-table {
	width: 100%;
	margin-bottom: 1.5em;

	/*
	border: 1px solid #ccc;
	border-radius: 4px;
	*/
	table-layout: fixed;
}

.tse-table.blue, .pseudo-table.blue {
/*	background: #d9e7ff;*/
/*	background: #dae7f6;*/
	background: #f7f7f7;
}

.tse-table CAPTION {
	padding: 5px;
	color: #333;
	font-size: 17px;
	/*font-weight: normal;*/
	text-align: left;
	border-bottom: 1px solid #333;

	/*
	border-radius: 4px 4px 0 0 ;

	background: #3d90df;
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzNkOTBkZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9Ijg4JSIgc3RvcC1jb2xvcj0iIzZjYjJmNyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM0MDk2ZWUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background: -moz-linear-gradient(top,  #3d90df 0%, #6cb2f7 88%, #4096ee 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#3d90df), color-stop(88%,#6cb2f7), color-stop(100%,#4096ee));
	background: -webkit-linear-gradient(top,  #3d90df 0%,#6cb2f7 88%,#4096ee 100%);
	background: -o-linear-gradient(top,  #3d90df 0%,#6cb2f7 88%,#4096ee 100%);
	background: -ms-linear-gradient(top,  #3d90df 0%,#6cb2f7 88%,#4096ee 100%);
	background: linear-gradient(top,  #3d90df 0%,#6cb2f7 88%,#4096ee 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3d90df', endColorstr='#4096ee',GradientType=0 );
	*/
}

.tse-table.blue CAPTION {
	background: white;
}

.tse-table CAPTION A {
	/*color: white;*/
	text-decoration: underline;
	font-size: 13px;
}
.tse-touch-safe .tse-table CAPTION A:hover {
	/*color: #ffc;*/
}

.tse-table TABLE {
	width: 100%;
	border: none;
	border-collapse: collapse;
}
.tse-table TABLE THEAD {
	background: #eee;
	font-weight: 500;
}
.tse-table TABLE TD {
	padding: 5px 5px;
	font-size: 14px;
}
.tse-table TABLE THEAD TD {
	padding: 2px 5px;
}
.tse-table TABLE TBODY TR {
	border-bottom: 1px solid #ddd;
}
.tse-table TABLE TR TD {
	vertical-align: middle;
}

.tse-table.tse-form {
	padding-bottom: 1em;
}
.tse-table.tse-form > TABLE {
	width: 700px;
	table-layout: fixed;
	border-spacing: 0;
	empty-cells: show;
}
.tse-table.tse-form > TABLE COL.col-1 {
	width: 142px;
}
.tse-table.tse-form > TABLE COL.col-2 {
	width: 500px;
}
.tse-table.tse-form > TABLE COL.col-3 {
	width: 28px;
}

.tse-table.tse-form > TABLE TD {
	padding: 3px 5px;
}
.tse-table.tse-form > TABLE TD INPUT,
.tse-table.tse-form > TABLE TD SELECT,
.tse-table.tse-form > TABLE TD TEXTAREA {
	margin-top: -3px;
	margin-bottom: 6px;
}

.tse-table.tse-form > TABLE TBODY {
	border-top: 1em solid transparent;
}
.tse-table.tse-form > TABLE TR TD:first-child {
	font-weight: 500;
	text-align: right;
	width: 140px;
}
.tse-touch-safe .tse-table LABEL:hover {
	background: #d9e7ff;
	xbackground: rgba(0,96,255,0.15);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#260060FF', endColorstr='#260060FF',GradientType=0 ); /* IE6-9 */
}
.tse-table TD.help {
	width: 16px;
}
.tse-table TD.help DIV {
	margin-top: 2px;
	visibility: hidden;
}
.tse-table.highlight-even-rows TR:nth-child(even) {
	background-color: #f7f7f7;
}
.tse-touch-safe .tse-table.row-hover TBODY TR:hover {
	background-color: #ddf7ff;
}

.tse-touch-safe .tse-table TR:hover TD.help DIV {
	visibility: visible;
}
.tse-table.tse-form > TABLE TR TD.narrow:first-child {
	width:16%;
}
/* Simulated table */
.pseudo-table {
	max-width: 700px;
	margin: 0.5em auto 1.5em auto;

	/*
	border: 1px solid #ccc;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	-khtml-border-radius: 4px;
	border-radius: 4px;
	*/

	padding-bottom: 7px;
	font-size: 90%;
}

.pseudo-table.wide {
	width:100%; /*700px;*/
}

.pseudo-table .caption, .tse-table .caption {
	padding: 5px;
	color: #333;
	font-size: 120%;
	/*font-weight: normal;*/
	text-align: left;

	margin-bottom: 7px;
	border-bottom: 1px solid #333;

	/*
	-moz-border-radius: 4px 4px 0 0;
	-webkit-border-radius: 4px 4px 0 0;
	-khtml-border-radius: 4px 4px 0 0;
	border-radius: 4px 4px 0 0;

	background: #3d90df;
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzNkOTBkZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9Ijg4JSIgc3RvcC1jb2xvcj0iIzZjYjJmNyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM0MDk2ZWUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background: -moz-linear-gradient(top,  #3d90df 0%, #6cb2f7 88%, #4096ee 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#3d90df), color-stop(88%,#6cb2f7), color-stop(100%,#4096ee));
	background: -webkit-linear-gradient(top,  #3d90df 0%,#6cb2f7 88%,#4096ee 100%);
	background: -o-linear-gradient(top,  #3d90df 0%,#6cb2f7 88%,#4096ee 100%);
	background: -ms-linear-gradient(top,  #3d90df 0%,#6cb2f7 88%,#4096ee 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3d90df', endColorstr='#4096ee',GradientType=0 );
	background: linear-gradient(top,  #3d90df 0%,#6cb2f7 88%,#4096ee 100%);
	*/
}

.tse-table .caption {
	margin-top: -5px;
	margin-left: -5px;
	margin-right: -5px;
}

.pseudo-table .caption A {
	/*color: white;*/
	text-decoration: underline;
	font-size: 13px;
}
.tse-touch-safe .pseudo-table .caption A:hover {
	/*color: #ffc;*/
}

.pseudo-table .head {
	background: #ddd;
	font-weight: 500;
}

.pseudo-table .row {
	margin: 1px 0;
	padding: 3px 0;
}

.pseudo-table .cell {
	padding: 3px 5px;
	float: left;
}

.pseudo-table .cell.input {
	padding: 0px 5px;
	position: relative;
}

.pseudo-table .col-1 {
	width: 200px;
}
.pseudo-table .col-2 {
	width: 450px;
}
.pseudo-table .col-3 {
	width: 16px;
}
.pseudo-table .colspan {
	float: none; /* to allow for centering */
}

.pseudo-table .key {
	font-weight: 500;
	text-align: right;
	color: #444;
}

.mobile .pseudo-table .col-2 { width: auto; }
.mobile .pseudo-table .key { text-align: left; width: 100%; }

.tse-touch-safe .pseudo-table LABEL:hover {
	background: #d9e7ff;
	xbackground: rgba(0,96,255,0.15);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#260060FF', endColorstr='#260060FF',GradientType=0 ); /* IE6-9 */
}
.pseudo-table .cell.help {
	padding: 0 2px;
	width: 20px;
}
.pseudo-table .cell.help DIV {
	visibility: hidden;
}
.tse-touch-safe .pseudo-table .row:hover .cell.help DIV,
.tse-touch-unsafe .pseudo-table .row .cell.help DIV {
	visibility: visible;
}
.pseudo-table INPUT, .pseudo-table TEXTAREA, .pseudo-table SELECT {
	max-width: 450px;
	width: 100%;
}
.pseudo-table INPUT, .pseudo-table TEXTAREA {
	width: 100%;
}
.pseudo-table INPUT[type="image"], .pseudo-table INPUT[type="checkbox"], .pseudo-table INPUT[type="radio"] {
	height: auto;
	width: auto;
	margin-right: 6px;
}

.pseudo-table .row-err {
	color: red;
}
/*
.pseudo-table .row-err INPUT, .pseudo-table .row-err TEXTAREA {
	background: #fdd;
}
.pseudo-table INPUT:focus, .pseudo-table TEXTAREA:focus {
	background: #fefeff;
	color: black;
}
*/
.pseudo-table HR, .tse-form HR {
	color: #d0d0d0;
	background-color: #d0d0d0;
	border: 1px solid #d0d0d0;
}

.pseudo-table.ad DIV.caption {
	color: #007EBA;
}

.form-field-hint {
	color: #777;
	padding: 1px 3px 5px 3px;
	/*font-style: italic;*/
	font-size:95%;
	margin-top:2px;
	text-indent:2px;

	overflow: hidden;
	max-height: 0;
	opacity: 0;
	transition: opacity ease-out 0.25s, max-height ease-out 0.25s;
}

.form-field-hint:before {
	content:'\21B3 ';
	margin-right: 3px;
}

.form-field-hint.open {
	max-height: 100px;
	opacity: 1;
	transition: opacity ease-in 0.25s, max-height ease-in 0.25s;
}

.pseudo-table LABEL, .tse-table LABEL {
	width: 100%;
	display: block;
	padding: 1px 2px;
	margin: 1px 0;
	cursor: pointer;
	border-radius:5px;
	vertical-align: middle;
}
.inline-labels LABEL, LABEL.inline-label {
	width: auto;
	display: inline-block;
	margin-right: 8px;
	padding-right: 2px;
}

.archive-label { background: #777; font-weight: bold; color: white; text-align: center; }
.mobile .archive-label { text-align: center; }

.content-wrapper.notice-heading {
	min-height: 0;
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: center;
	background: rgba(242,111,29,0.8);
	/*background: #f26f1d;*/
}

.desktop .mobile-only { display: none !important; }

@media only screen and (max-width: 1023px) {
	HTML, BODY, BODY > HEADER { width: 1024px; }
	.content-wrapper { width: auto; }
	BODY > HEADER { position: absolute; }
}

@media only screen and (max-width: 1000px) {
	BODY { background: #fff; }
}

.page-programme MAIN TD { font-size: 65%; width: 17%;  }
.page-programme MAIN TD:first-child { width: auto; }
.page-programme MAIN TD:nth-child(2) { width: auto; }

.msg {
	padding: 20px;
	border-radius: 6px;
	background: #dbe7ff; /*#bfeeff;*/
}
.msg.success {
	background-color: #dbffe1;
}
.msg.failure, .msg.error {
	background-color: #ffdbf9;
}
.msg.warning {
	background-color: #fff3db;
}