/* ------- 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;
	}

.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 {
	padding: 0 10px 2rem 10px;
	}

#header {
	min-height: 80px;
	}

#header-bar {
	width:100%;
	height:48px;
	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;
	overflow:visible;
	padding: 3px;
	top:20;
	z-index: 500;
	}
	
#logo.logo-mobile {
	background-color:#f9e8b4;
	display:none;
	width:100%;
	height:63px;
	text-align:center;
	padding: 5px 0;
	}
	
#logo.logo-mobile img{
	height:100%;
	width:auto;
	}

#nav { 
	width: 80%;
	position: absolute;
	float: right;
	z-index:9;
	height: 6rem;
	padding: 0;
	}
	
.search_label {
	float:right;
	height:20%;
	width:5%;
	padding-top:20px;
	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;
	float:center;	
	height:50px;
	line-height:2.5em;
	z-index:3;
	}

.mod_navigation.horizontal ul.level_1 {
	float:center;
	}

.mod_navigation.horizontal li {
	display: inline-block;
	float:center;
	}

.mod_navigation li {
	list-style: none;
	float:center;
	}

.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: .2em;
	}
	
.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;
}


/* ---------- 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%;
	}
	
.shadow img {
  	box-shadow: 5px 5px 4px 0px rgba(15, 0, 0, 0.50);
  	margin: 0px 10px 10px 0px;
  }
	
.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;
	}

/* ------------- Media queries ------------- */


/* Small version */
@media (max-width: 768px) {
		
		#header {
		margin-top:0;
		}
		
		#header-bar { display:none; }
		#mobile-menu { visibility:visible; }
		
		.search_label_mobile { visibility:visible;}
		
		#logo.logo-mobile {
		display:block;
		}
		
		.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;
		}
		
}


/* 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;
		}
	
}
