/* ubuntu-300 - latin */
@font-face {
	font-family: 'Ubuntu';
	font-style: normal;
	font-weight: 300;
	src: local(''),
		 url('/files/school/fonts/ubuntu-v20-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
		 url('/files/school/fonts/ubuntu-v20-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }
  /* ubuntu-700 - latin */
  @font-face {
	font-family: 'Ubuntu';
	font-style: normal;
	font-weight: 700;
	src: local(''),
		 url('/files/school/fonts/ubuntu-v20-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
		 url('/files/school/fonts/ubuntu-v20-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }

  /* open-sans-regular - latin */
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 400;
	src: local(''),
		 url('/files/school/fonts/open-sans-v34-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
		 url('/files/school/fonts/open-sans-v34-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }
  /* open-sans-700 - latin */
  @font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 700;
	src: local(''),
		 url('/files/school/fonts/open-sans-v34-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
		 url('/files/school/fonts/open-sans-v34-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }


/* ------- Important for proper function of the layout. Only change if you know what you are doing! ------- */
body.boxed {
	background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
	}
	
#wrapper {
		margin-left:auto;
		margin-right:auto;

		display: flex;
		flex-direction: column;
		min-height: 100vh;
	}

.shadow #wrapper {
	-webkit-box-shadow: 0 0 24px 0 rgba(0,0,0,.7);
	-moz-box-shadow: 0 0 24px 0 rgba(0,0,0,.7);
	box-shadow: 0 0 24px 0 rgba(0,0,0,.7);
}

#main {
	padding-top:0rem;
	}
	
#left {
	margin-left:0;
}

#right {
	margin-right:0;
	}

#footer {
	margin-top: auto;
	padding: 0 10px 2rem 10px;
	}

#header {
	min-height: 80px;
	}

#header-bar {
	width:100%;
	height:80px;
	position:fixed;
	top:0px;
	overflow:visible;
	z-index:99;
	}

#mobile-menu { visibility:hidden; }

.search_label_mobile { visibility:hidden; }
	
#header-bar .inside {
	max-width: 1125px;
    margin-left: auto;
    margin-right: auto;
    }

#header-bar.static {
	position: relative;
	}
    
#logo {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow:visible;
	padding: 3px;
	top:0;
	z-index: 10;
	font-family: "Ubuntu";
	font-weight: 600;
}

#logo a {
	margin-bottom: .5rem;
	margin-left: 0rem;
}

#logo span {
	font-size: 3rem;
	color: #0B572E;
	line-height: 1.3;
}

#logo:before {
	content: '';
	display: block;
	height: 4rem;
	width: 4rem;
	background-color: #D3EA8F;
	/* background: radial-gradient(#ffdf05 37%, orange); */
	border-radius: 100%;
	position: absolute;
	top: 2rem;
	left: .5rem;
	transition: box-shadow .2s, background-color .5s;
	/* animation-name: sonne; */
	box-shadow: -3px 2px 12px 16px #D3EA8F;
	animation-duration: 4s;
	animation-iteration-count: infinite;
	z-index: -1;
}

#logo:after {
	content: '\f1ae';
	font-family: "icons";
	color: #ffffff;
	position: absolute;
	top: 0;
	left: 1rem;
	z-index: 2;
	font-size: 5rem;
	line-height: 8rem;
	font-weight: normal;
}

#logo:hover:before {
	background-color: #D3EA8F;
	box-shadow: 0 0 16px 6px #D3EA8F;
}
	
#logo.logo-mobile {
	display:none;
	width:100%;
	height:63px;
	text-align:center;
	padding: 5px 0;
	}
	
#logo.logo-mobile img{
	height:100%;
	width:auto;
	}

#nav { 
	width: 72%;
	position: relative;
	float: right;
	z-index:9;
	height: 8rem;
	padding: 0;
	}
	
.search_label {
	float:right;
	height:100%;
	width:5%;
	padding-top:30px;
	text-align:center;
	}
	
.search_label_mobile {
	position:absolute;
	top:25px;
	right:10px;
	z-index:999;
	}
	
.inside {
	-webkit-box-sizing: border-box;
  	-moz-box-sizing: border-box;
  	box-sizing: border-box;
  	}
  
.has-columns #container {
	margin-left:auto;
	margin-right:auto;
	}
	
/*.has-columns aside {
	padding-left: 10px;
	padding-right: 10px;
	}
*/

#main *[class*="mod_"] .inside, #footer .inside {
	padding-bottom: 2rem;
	padding-top: 2rem;
	overflow:auto;
	}

#footer .inside {
	padding-bottom: 0;
}

#nav.block {overflow: visible;}

[class*="ce_"],
[class*="mod_"],
.pdf_link	{
	padding: 0 10px 0 10px;
	}

[class*="ce_"] [class*="ce_"],
[class*="ce_"] [class*="mod_"]
	{
	padding: 0;
	}
	
aside > .inside {
	padding: 4rem 0 1rem 0;
	}

.mod_article .inside {
	z-index: 2;
	}

aside .event [class*="ce_"],
aside .event [class*="mod_"]{
	padding-left:0;
	padding-right:0;
}

aside .event {
	margin-bottom:2rem;
	border-bottom:1px solid;
}

aside .event h2, aside .event h3 {
	margin-bottom:.5rem;
}

#header .mod_article .inside {
	z-index: inherit;
	}
	
.mod_article .inside,
.mod_wrapper [class*="mod_"] > div {
	padding: 0 10px;
	}

.mod_article, .mod_wrapper {
	padding-left: 0;
	padding-right: 0;
	position: relative;
	}

.ce_image {
	position: relative;
}

#header .inside,	
#header .mod_article [class*="ce_"],
#header .mod_article [class*="mod_"]	{
	padding: 0;
	}

#main .mod_article.no-margin .inside {
	padding: 0 0 0 0;
	}

.mod_navigation.horizontal {
	position:absolute;
	height:50px;
	line-height:2.5em;
	z-index:3;
	}

.mod_navigation.horizontal ul.level_1 {
	float:right;
	}

.mod_navigation.horizontal li {
	display: inline-block;
	padding-left:1em;
	padding-right:1em;
	}

.mod_navigation li {
	list-style:none;
	}

.mod_navigation a, .mod_navigation span, .mod_navigation strong {
	text-decoration: none;
	}
	
.mod_navigation a:before, .mod_navigation span:before, .mod_navigation strong.active:before {
	padding-right: .5em;
	}
	
.mod_breadcrumb {
	margin:1rem 0 .8rem 0;
	}
	
.ce_table, .mod_calendar {
	overflow-x: auto;
	}

.image_container {
	position: relative;
	}

.image_container.float_left { margin-right:3em;}
.image_container.float_right { margin-left:3em;}
	
.ce_download {
	margin-bottom: 2rem;
}

.layout_full .ce_text {
	padding-left:0;
	padding-right:0;
	}
	

/* This is a hack to remove extra space below images */

img {
	vertical-align:middle;
	}
.image_container {
	line-height:0;
	}

.ce_gallery {
	padding:0;
	}
		
.ce_gallery > ul {
	margin:0;
	padding:0;
	overflow:hidden;
	list-style:none;
	}
	
.ce_gallery > ul li {
	float:left;
	}
	
.ce_gallery > ul li.col_first {
	clear:left;
	}
	
.ce_gallery>ul li {
	margin-bottom:0;
	position:relative;
	}
	
.checkbox_container span, .radio_container span {
	display:block;
	padding-left: .05em;
	padding-right: 1em;
	}

.ce_youtube {
 position: relative;
 padding-bottom: 56.25%;
 width: 100%;
 height: auto;
}
 
.ce_youtube iframe {
 position: absolute;
 top: 0; left: 0; right: 0; bottom: 0;
 width: 100% !important;
 height: 100% !important;
}

.pagination li {
	display: inline;
	padding: 1rem;
	}

.mod_booknav ul {
	list-style:none;
	}
	
.mod_booknav li {
	float:left;
	padding:1em;
	}
	
.mod_booknav li a {
	text-decoration: none;
	}
	
.submit_container.block {width:auto;}

.formbody .widget {
	padding-right: .3em;
	}

.mod_newslist .layout_latest {
	margin-bottom: 3rem;
	}
	
.mod_eventlist .highlights {
	position:relative;
}

.mod_newsreader .ce_comments, .mod_eventreader .ce_comments {
	padding:0;
}

.mod_rocksolid_slider [class*="overlay"]:before {
	display: none;
}


/* ---------- useful helper classes ------------ */

.no-margin [class*="ce_"],
.no-margin [class*="mod_"],
.no-margin.header-image .ce_text,
#main .mod_article.no-margin {
	padding: 0 0 0 0;
	}

.no-margin .ce_text, .no-margin .ce_form {
	padding: 2rem 10px;
	}

.round img {
	border-radius: 50%;
	}
 	
.round .image_container a:after {
	display:none;
	}
	
.header-image.mod_article {
	position:relative;
	padding:0;
	overflow:hidden;
	}
	
.header-image.mod_article .header_wrapper {
	position:relative;
	width:100%;
	height:100%;
	}
		
.header-image.mod_article .content_wrapper {
	position: absolute;
	width:100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index:1;
	}

.header-image .content_wrapper .inner {
	padding:0 3rem;
	}

.header-image .image_container img{
	display:block;
	width:100%;
	height:auto;
	vertical-align:initial;
	}

.header-image [class*="btn"] {
	margin-top: 4rem;
	}
	
.header-image .slider-control {
	top: -40px;
	margin-bottom:-30px;
	}

.header-image .slider-control .slider-prev {
	left:1%;
	}
	
.header-image .slider-control .slider-next {
	right: 1%;
	}

.hero {
	height:200px;
	}
	
.hero .inside {
	padding: 0 20px;
	position: relative;
	width:100%;
    bottom: -70%;
    z-index:1;
	}

#header .hero .inside {
	padding: 0 20px;
	}
	
.full-width .hero .inside {
	margin-left:auto;
	margin-right:auto;
	}
 
.title-image {
	height:400px;
	background-repeat:no-repeat;
	background-size:cover;
	background-attachment:fixed;
	background-position:center;
	position:relative;
	}

[class*="overlay"]:before {
	position: absolute;
  	width: 100%;
  	height: 100%;
  	top: 0px;
  	left: 0;
  	content: '';
  	z-index: 1;
	}

.hide-controls .slider-control {
	display:none;
	}
	
.new-row {
	clear:left;
	}

.center {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
	clear:both;
	text-align:center;
	}

.right {
	float:right;
	clear:left;
	}

.divider-top, .divider-bottom, .divider-top-bottom {
  	position:relative;
  	overflow:hidden; 
	}

.divider-top:before {
  	content: ""; 
  	position:absolute; 
  	z-index: 1; 
  	width:96%;  
  	top: -10px; 
  	height: 10px; 
  	left: 2%; 
  	border-radius: 100px / 5px; 
  	box-shadow:0 0 15px rgba(0,0,0,0.6); 
	}

.divider-bottom:before {
  	content: ""; 
  	position:absolute; 
  	z-index: 1; 
  	width:96%;  
  	bottom: -10px; 
  	height: 10px; 
  	left: 2%; 
  	border-radius: 100px / 5px; 
  	box-shadow:0 0 15px rgba(0,0,0,0.6);
	}

.divider-top-bottom:before {
  	content: ""; 
  	position:absolute; 
  	z-index: 1; 
  	width:96%;  
  	top: -10px; 
  	height: 10px; 
  	left: 2%; 
  	border-radius: 100px / 5px; 
  	box-shadow:0 0 15px rgba(0,0,0,0.6); 
	}

.divider-top-bottom:after {
  	content: "";
  	position:absolute;
  	z-index: 1;
  	width:96%; 
  	bottom: -10px;
  	height: 10px;
  	left: 2%;
  	border-radius: 100px / 5px;
  	box-shadow:0 0 15px rgba(0,0,0,0.6);
	}

/* Border radius */

[class*="mod_"].radius3, [class*="ce_"].radius3, .radius3 img, .box.radius3, .infobox.radius3, .radius3 [class*="mod_"], .radius3 [class*="ce_"], .radius3 [class*="overlay"]:before, .radius3 input[type="email"], .radius3 input[type="number"], .radius3 input[type="search"], .radius3 input[type="text"], .radius3 input[type="tel"], .radius3 input[type="url"], .radius3 input[type="password"], .radius3 input[type="submit"], .radius3 textarea, .radius3 select, .radius3 a.cboxElement:hover:after {
	border-radius:3px;
	}

[class*="mod_"].radius5, [class*="ce_"].radius5, .radius5 img, .box.radius5, .infobox.radius5, .radius5 [class*="mod_"], .radius5 [class*="ce_"], .radius5 [class*="overlay"]:before, .radius5 input[type="email"], .radius5 input[type="number"], .radius5 input[type="search"], .radius5 input[type="text"], .radius5 input[type="tel"], .radius5 input[type="url"], .radius5 input[type="password"], .radius5 input[type="submit"], .radius5 textarea, .radius5 select, .radius5 a.cboxElement:hover:after {
	border-radius:5px;
	}

[class*="mod_"].radius10, [class*="ce_"].radius10, .radius10 img, .box.radius10, .infobox.radius10, .radius10 [class*="mod_"], .radius10 [class*="ce_"], .radius10 [class*="overlay"]:before, .radius10 input[type="email"], .radius10 input[type="number"], .radius10 input[type="search"], .radius10 input[type="text"], .radius10 input[type="tel"], .radius10 input[type="url"], .radius10 input[type="password"], .radius10 input[type="submit"], .radius10 textarea, .radius10 select, .radius10 a.cboxElement:hover:after {
	border-radius:10px;
	}

#cboxOverlay {
	background-color: #0B572E;
}

#cboxNext, #cboxPrev {
	outline: none;
}

#cboxCurrent {
	top: -24px;
}

#cboxTitle {
	top: unset;
	bottom: 0;
	right: 0;
	text-align: center;
	color: #ffffff;
	padding: 1em 0 .5em;
	background: rgb(0,0,0);
	background: linear-gradient(0deg, rgba(18,18,18,0.9) 0%, rgba(0,0,0,0) 67%);
}

.footer-logo {

}

.footer-logo .image_container {
	display: flex;
	flex-direction: row-reverse;
}

.footer-logo figcaption {
	position: inherit;
	text-align: right;
	background-color: transparent;
	color: #ffffff;
	font-size: 1.8rem;
	margin-right: 2.5rem;
	padding: 0;
	line-height: 1.6;
	white-space: nowrap;
	transform: translateY(-.5rem);
}

/* ------------- Media queries ------------- */


/* Small version */
@media (max-width: 768px) {
		
		#header {
		margin-top:0;
		}
		
		#header-bar { display:none; }
		#mobile-menu { visibility:visible; position: absolute;}
		
		.search_label_mobile { visibility:visible;}
		
		#logo.logo-mobile {
		display:block;
		}

		#logo {
			padding-left: 7rem !important;
		}

		#logo:before {
			left: 1rem;
		}

		#logo a {
			margin-left: 0;
		}

		#logo span {
			line-height: 63px;
		}
		
		.hero {
		height:80px;
		}
		
		.hero .inside {
    	top: 40%;
		}
	
		.title-image {
		height:400px;
		background-attachment:scroll;
		position:relative;
		}
		
		mod_article.header-image {
			min-height: 400px;
			}
		
		.header-image .slider-control {
			display:none;
		}
		
		
		.image_container.float_left { margin-right:1em;}
		.image_container.float_right { margin-left:1em;}


		[class*="style-"], .hero {
    	background-attachment: scroll!important;
    	background-position: 50% 0!important;
    	}
    
		.mod_navigation.horizontal {
		visibility:hidden;
		}

		#header .block-group {
			display: flex;
			justify-content: center;
			flex-wrap: wrap;
		}

		#header #logo {
			width: auto;
			height: 8rem;
			margin-left: 5rem;
		}

		#header .hero-image {
			width: 100%;
		}

		.footer-logo .image_container {
			margin-top: 4rem;
			flex-direction: column;
			align-items: center;
		}

		.footer-logo figcaption {
			margin-top: 1rem;
			text-align: center;
			font-size: 1.5rem;
		}
		
}


/* Tablet landscape version */
@media only screen and (max-width : 1024px) {
	
	.boxed #wrapper {
			max-width:960px;
		}

	[class*="style-"], .hero {
		/*This is a hack to avoid display problems on some mobile devices*/
    	background-attachment: scroll!important;
    	background-position: 50% 0!important;
	}
}

/* Desktop version */
@media (min-width: 1024px)
{
	
	/* Boxed Version */
	.boxed #wrapper {
		max-width:1124px;
		margin-left:auto;
		margin-right:auto;
		margin-top:0;
		}
		
	.boxed #header-bar { visibility:visible; max-width: 1124px;}
	
	#header-bar { visibility:visible; }
	
	.full-width #main *[class*="mod_"] .inside, .full-width #footer .inside {
		position: relative;
		margin-left: auto;
		margin-right: auto;
		overflow:auto;
		}
	
}


.margin-top-xs {
	margin-top: 1rem !important;
}

.margin-top-s {
	margin-top: 2rem !important;
}

.margin-top-m {
	margin-top: 3.5rem !important;
}

.margin-top-l {
	margin-top: 5rem !important;
}

.margin-top-xl {
	margin-top: 7.5rem !important;
}

.margin-bottom-xs {
	margin-bottom: 1rem !important;
}

.margin-bottom-s {
	margin-bottom: 2rem !important;
}

.margin-bottom-m {
	margin-bottom: 3.5rem !important;
}

.margin-bottom-l {
	margin-bottom: 5rem !important;
}

.margin-bottom-xl {
	margin-bottom: 7.5rem !important;
}

.margin-left-xs {
	margin-left: 1rem !important;
}

.margin-left-s {
	margin-left: 2rem !important;
}

.margin-left-m {
	margin-left: 3.5rem !important;
}

.margin-left-l {
	margin-left: 5rem !important;
}

.margin-left-xl {
	margin-left: 7.5rem !important;
}

.margin-right-xs {
	margin-right: 1rem !important;
}

.margin-right-s {
	margin-right: 2rem !important;
}

.margin-right-m {
	margin-right: 3.5rem !important;
}

.margin-right-l {
	margin-right: 5rem !important;
}

.padding-right-xl {
	padding-right: 7.5rem !important;
}

.padding-top-xs {
	padding-top: 1rem !important;
}

.padding-top-s {
	padding-top: 2rem !important;
}

.padding-top-m {
	padding-top: 3.5rem !important;
}

.padding-top-l {
	padding-top: 5rem !important;
}

.padding-top-xl {
	padding-top: 7.5rem !important;
}

.padding-bottom-xs {
	padding-bottom: 1rem !important;
}

.padding-bottom-s {
	padding-bottom: 2rem !important;
}

.padding-bottom-m {
	padding-bottom: 3.5rem !important;
}

.padding-bottom-l {
	padding-bottom: 5rem !important;
}

.padding-bottom-xl {
	padding-bottom: 7.5rem !important;
}

.padding-left-xs {
	padding-left: 1rem !important;
}

.padding-left-s {
	padding-left: 2rem !important;
}

.padding-left-m {
	padding-left: 3.5rem !important;
}

.padding-left-l {
	padding-left: 5rem !important;
}

.padding-left-xl {
	padding-left: 7.5rem !important;
}

.padding-right-xs {
	padding-right: 1rem !important;
}

.padding-right-s {
	padding-right: 2rem !important;
}

.padding-right-m {
	padding-right: 3.5rem !important;
}

.padding-right-l {
	padding-right: 5rem !important;
}

.padding-right-xl {
	padding-right: 7.5rem !important;
}

.margin-top-none {
	margin-top: 0 !important;
}

.margin-left-none {
	margin-left: 0 !important;
}

.margin-right-none {
	margin-right: 0 !important;
}

.margin-bottom-none {
	margin-bottom: 0 !important;
}

.padding-top-none {
	padding-top: 0 !important;
}

.padding-left-none {
	padding-left: 0 !important;
}

.padding-right-none {
	padding-right: 0 !important;
}

.padding-bottom-none {
	padding-bottom: 0 !important;
}