body {
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	color: #484848;
	font-family: 'Roboto Condensed', Verdana, Arial, Helvetica, sans-serif;
	background: #fff;
}

/* Opera Fix sticky footer */
.opera body:before {
	content: "";
	height: 100%;
	float: left;
	width: 0;
	margin-top: -32767px;
}

.invisible {
	width: 0px;
	height: 0px;
	left: -1000px;
	top: -1000px;
	position: absolute;
	overflow: hidden;
	display: inline;
}

div.clear {
	clear: both;
	margin: 0;
	padding: 0;
	height: 0;
	line-height: 0;
	font-size: 0;
}

html, body {
	height: 100%; /* sticky footer */
}

hr {
	margin: 2em 0;
	border: none;
	border-top: 1px dashed #bbb;
	background-color: transparent;
	height: 1px;
	clear: both;
}


/* ==========================================================================
   main, container, wrapper
   ========================================================================== */
 
#container,
/* header .inside, */
footer .inside .footer_container,
#mainmenu {
	max-width: 1200px; /* define max. width of page here! layout: 999px */
}

#container { /* don't touch this! (-> jquery.global.js) */
	margin: 0 auto;
	width: 94%;
	overflow: auto; /* sticky footer */
	padding-bottom: 76px; /* sticky footer */ /* bottom: must be same height as the footer */
	position: relative;
	z-index: 1;
	clear: both;
}

footer .inside .footer_container {
	width: 94%;	
}

#wrapper {
	min-height: 100%; /* sticky footer */
	overflow-x: hidden;
	position: relative;
	background-image: url(../tmpl_img/watermark.gif);
	background-repeat: no-repeat;
	/* background-position: calc(50% + 289px) calc(100% - 76px); */
}

.ie8 #wrapper {
	background-position: right bottom;
}

#main {
	padding: 40px 0;
}


/* ==========================================================================
   fonts
   ========================================================================== */

a,
a:focus,
a:active {
	outline: none;
}

a {
	color: #0d61a6;
	text-decoration: none;
}

a:hover {
	color: #000;
}

.nowrap {
	white-space: nowrap;
}

h1,h2,h3,h4,h5,h6 {
	margin: 0;
	padding-top: 0.7em;
	padding-bottom: 0.5em;
	line-height: 1.2em;
}

h1,h2,h3 {
	color: #0d61a6;
	font-family: 'Roboto', Verdana, Arial, Helvetica, sans-serif;
	-webkit-hyphens: manual;
	-moz-hyphens: manual;
	-ms-hyphens: manual;
	hyphens: manual;
}

h1 {
	font-size: 2em;
	padding-bottom: 0.8em;
}

h2 {
	font-size: 1.3em;
	color: #484848;
}

h3 {
	margin: 2.2em 0em .5em 0em;
	padding: 1em 0em 0em 0em;
	border-top: 1px dashed #bbb;
	font-size: 1.3em;
	color: #484848;
	clear: both;
}

#main {
	font-weight: 400;
	font-size: 1em;
	line-height: 1.5em;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}

.imgsources {
	font-size: 0.8em;
}


/* ==========================================================================
   header
   ========================================================================== */

header {
	height: 468px; /* orig: 474px */
	background: #fff;
	padding: 4px 0 2px 0;
	background: #fff url(../tmpl_img/bg_header.gif) left 4px repeat-x;
	position: relative;
}

header .inside {
	height: 462px; /* orig: 466px */
	width: 100%;
	border-bottom: 4px solid #e6e6e6;
	overflow: hidden;
	position: relative;
}

header .inside .ce_pageimages {
}

header .inside .ce_pageimages figure.image_container {
	height: 374px;	
	width: auto;
	position: absolute;
	top: 84px;
	left: 50%;
	
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: none;
}

header .inside .ce_pageimages figure.image_container img {
	margin-left: -50%;
	height: 100%;
	max-width: none;
}


@media only screen and (max-width: 1800px) {

	.ie8 header .inside .ce_pageimages figure.image_container {
		height: 374px;	
		position: absolute;
		top: 84px;
		/* left: 0; */
		margin: 0 auto;
		background: none;
		width: auto;
	}
	
	.ie8 header .inside .ce_pageimages figure.image_container img {
		margin-left: -50%;	
	}

	.ie8 header .inside .ce_pageimages figure.image_container img,
	.ie8 header .inside .ce_pageimages figure.image_container picture {
		visibility: visible;
	}

}


@media only screen and (min-width: 1801px) {

	.ie8 header .inside .ce_pageimages figure.image_container img {
		margin-left: 0;	
	}
	
	.ie8 header .inside .ce_pageimages figure.image_container {
		height: 374px;	
		position: absolute;
		top: 84px;
		left: 0;
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center center;
		width: 100%;
		/* background-image: -> template pageimagesimage */
		position: absolute;
		z-index: 0;
		-ms-behavior: url(files/js/backgroundsize.min.htc);
	}
	
	/* .ie8 header .inside .ce_pageimages figure.image_container img, */
	.ie8 header .inside .ce_pageimages figure.image_container picture {
		visibility: hidden;
		display: none;
	}

}


/* ==========================================================================
   logo- & sloganboxes
   ========================================================================== */

.headspace_left, .headspace_right {
	height: auto;
	display: inline-block;
	min-width: 3%;
}

.headspace_left {
	float: left;
}

.headspace_right {
	float: right;
}

.headspace_center {
	height: auto;
	display: inline-block;
	max-width: 1200px;
	width: 94%;
}

@media only screen and (min-width: 1201px) {
	.headspace_left, .headspace_right {
		/* width: calc( (100% - 1200px) / 2 ); */
		width: calc(50% - 600px);
	}
}

#logo_container {
	position: absolute;
	width: 100%;
	height: auto;
	left: 0;
	top: 11px;
	z-index: 100;
}

#logo_container .headspace_left {
	background: #fff;
	height: 117px;
}

#logo_container .headspace_center {
	height: 117px;
}

#logo_container .headspace_center img {

}

#slogan_container {
	position: absolute;
	width: 100%;
	height: auto;
	z-index: 100;
	bottom: -33px;
}

#slogan_container .headspace_right {
	background: #0d61a6;
	border: 2px solid #fff;	
	border-width: 2px 0;
}

#slogan_container .headspace_center {
	text-align: right;
}

#slogan_container .pageslogan {
	text-align: left;
	width: auto;
	display: inline-block;
	background: #0d61a6;
	color: #dbe8f2;
	font-family: 'Oswald', Verdana, Arial, Helvetica, sans-serif;
	font-weight: 300;
	font-size: 1.15em;
	line-height: 1.35em;
	padding: 13px 0 12px 38px;
	border: 2px solid #fff;	
	border-width: 2px 0 2px 2px;
	-webkit-border-radius: 8px 0 0 8px;
	-moz-border-radius: 8px 0 0 8px;
	-o-border-radius: 8px 0 0 8px;	
	border-radius: 8px 0 0 8px;
}

.ie8 #slogan_container .pageslogan {
	behavior: url(files/js/PIE.htc);
}

#slogan_container .pageslogan h1,
#slogan_container .pageslogan h2,
#slogan_container .pageslogan h3 {
	font-family: 'Roboto', Verdana, Arial, Helvetica, sans-serif;
	font-size: 1.15em;
	line-height: 1.25em;
	padding: 0;
	margin: 7px 0 0 0;
	color: #eff4f8;
}




/* ==========================================================================
   mainmenu -> mainmenu.css && mainmenu-mobile.css
   ========================================================================== */



/* ==========================================================================
   footer, smallmenu
   ========================================================================== */

footer { /* don't touch this! (-> jquery.global.js) */
	height: 72px; /* sticky footer: 76px (original height) - padding-top (4px footer) -??px from #main */
	padding: 4px 0 0 0;
	width: 100%;
	position: relative; /* sticky footer */
	margin: -76px auto 0 auto; /* sticky footer */
	clear: both; /* sticky footer */
	z-index: 1;
	background: #fff;
}

footer .inside {
	width: 100%;
	/* height: 71px; */
	height: 100%;
	border-top: 1px solid #d6d6d6;
	background: #e6e6e6;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

footer .footer_container {
	margin: 0 auto;
	height: 100%;
	/* background: #fff; */
	display: table;
}

footer .footer_container2 {
	height: 100%;
	display: table-cell;
	vertical-align: middle;
}

footer .footer_right,
footer .footer_left {
	display: inline-block;
}

footer .footer_right {
	float: right;
	color: #898989;
	font-size: 0.95em;
	font-family: 'Oswald', Verdana, Arial, Helvetica, sans-serif;
}

footer .footer_right a {
	color: #939393;
}

footer .footer_right a:hover {
	color: #717171;
}

footer .footer_right #smallmenu li.active {
	color: #0d61a6;
}

footer #smallmenu {
	display: inline-block;
}

footer .footer_left {
	color: #747474;
	font-size: 0.85em;
	font-weight: 300;
	line-height: 31px; /* don't touch this! (-> jquery.global.js) */
}

footer .footer_left a {
	color: #747474;
}

footer .footer_left a:hover {
	color: #3c3c3c;
}

footer .footer_left .prespacer {
	visibility: hidden;
	display: none;
}

footer #smallmenu ul li {
	/* display: inline; */
	margin: 0 0.5em;
	float: left;
	line-height: 31px; /* don't touch this! (-> jquery.global.js) */
	padding: 0;
}

footer #smallmenu ul li.last {
	margin-right: 0;
}

footer #smallmenu ul li.first {
	margin-left: 1em;
}

footer a.socialmedia_button {
	display: inline-block;
	width: 32px;
	height: 31px;
	margin-left: 0.5em;
}

footer .socialmedia a.socialmedia_button:first-child {
	margin-left: 1em;
}
	
footer a.socialmedia_button.xing {
	background: transparent url(../tmpl_img/socialmedia_xing.jpg) center top no-repeat;
}

footer a.socialmedia_button.xing:hover {
	background: transparent url(../tmpl_img/socialmedia_xing.jpg) center bottom no-repeat;
}

footer a.socialmedia_button.facebook {
	background: transparent url(../tmpl_img/socialmedia_facebook.jpg) center top no-repeat;
}

footer a.socialmedia_button.facebook:hover {
	background: transparent url(../tmpl_img/socialmedia_facebook.jpg) center bottom no-repeat;
}


/* ==========================================================================
   toTop
   ========================================================================== */

#toTop {
	display: none;
	text-decoration: none;
	position: fixed;
	/* bottom: 5px; */
	right: 3%;
	overflow: hidden;	
	width: 40px;
	height: 40px;
	border: none;
	text-indent: 100%;
	z-index: 1001;
	background: transparent url(../tmpl_img/totop.png) left bottom no-repeat;
}

#toTopHover {
	background: transparent url(../tmpl_img/totop.png) left top no-repeat;
	width: 40px;
	height: 40px;
	display: block;
	overflow: hidden;
	float: left;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { 
    /* Retina-specific stuff here */
    #toTop {
    	background: transparent url(../tmpl_img/totop_2x.png) left bottom no-repeat;
    	background-size: 40px 80px;
    }
    
    #toTopHover {
    	background: transparent url(../tmpl_img/totop_2x.png) left top no-repeat;
    	background-size: 40px 80px;
    }
}

#toTop:active, #toTop:focus {
	outline: none;
}

.ie7 #toTop,
.ie8 #toTop {
	position: fixed;
	margin-bottom: 100px;
	background-color: #fff;
	/* background: transparent url(../tmpl_img/totop_ie8.gif) left bottom no-repeat; */
}

.ie7 #toTopHover,
.ie8 #toTopHover {
	background-color: #fff;
	/* background: transparent url(../tmpl_img/totop_ie8.gif) left top no-repeat; */
}


/* ==========================================================================
   content elements and images
   ========================================================================== */

/* ************************ */ 
/* Images, general			*/
/* ************************ */

#main img,
#main embed,
#main object,
#main video {
    max-width: 100%;
    height: auto;
    width: auto; /* IE8 Bug */
}

#main .image_container {
	max-width: 100%;
}

#main .image_container.float_left,
#main .image_container.float_right {
	height: auto;
	width: auto;
	padding-bottom: 1em;
}

#main .image_container.float_left {
	margin-right: 3%;
	float: left;
}

#main .image_container.float_right {
	margin-left: 3%;
	float: right;
}

#main .image_container.float_above {
	padding-bottom: 1em;
}

#main .image_container.float_below {
	padding-top: 1em;
}

#main .image_container a img:hover {
	opacity: 0.8;
}

#main .ce_image .image_container {
	padding-bottom: 1em;
}

#main .image_container figcaption {
	font-size: 0.85em;
	font-weight: 300;
	line-height: 1.25em;
	padding: 0.5em;
	color: #4c4c4c;
	background: #ededed; 
	-webkit-border-radius: 0 0 6px 6px;
	-moz-border-radius: 0 0 6px 6px;
	-o-border-radius: 0 0 6px 6px;	
	border-radius: 0 0 6px 6px;
}

#main .image_container img {
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-o-border-radius: 6px;	
	border-radius: 6px;
	vertical-align: middle; /* no space between img and figcaption */
}

#main .image_container.with_caption img {
	-webkit-border-radius: 6px 6px 0 0;
	-moz-border-radius: 6px 6px 0 0;
	-o-border-radius: 6px 6px 0 0;	
	border-radius: 6px 6px 0 0;
}

.ie8 #main .image_container img,
.ie8 #main .image_container.with_caption img,
.ie8 #main .image_container figcaption {
	behavior: url(files/js/PIE.htc);
}

#main .ce_image .image_container .caption {
	font-size: 0.85em;
}

.ie8 #main .image_container.float_left img,
.ie8 #main .image_container.float_right img {
	max-width: 440px;
    height: auto;
    width: auto;
}


/* ************************ */ 
/* Images, special			*/
/* ************************ */

/* image media queries especially for safari and IE */
/* automatic height fix IE8 for responsive images */
/* http://stackoverflow.com/questions/8610077/height-auto-in-internet-explorer-8-and-below */
@media screen { 
	#main .image_container img {	
		width: auto !important;
	}
}


@media only screen and (min-width: 401px) {

	#main .image_container.image40 {
		max-width: 40%;
	}
	
	#main .image_container.image50 {
		max-width: 50%;
	}
	
	#main .image_container.image60 {
		max-width: 60%;
	}

	#main .image_container.image70 {
		max-width: 70%;
	}
	
	#main .image_container.image80 {
		max-width: 80%;
	}

	.ie8 #main .image_container.image20 img,
	.ie8 #main .image_container.image30 img,
	.ie8 #main .image_container.image40 img,
	.ie8 #main .image_container.image50 img,
	.ie8 #main .image_container.image60 img,
	.ie8 #main .image_container.image70 img,
	.ie8 #main .image_container.image80 img {
		max-width: 100%;
		height: auto !important;
	}
	
}

@media only screen and (min-width: 1064px) {

	#main .image_container.image20 {
		max-width: 20%;
	}

}

@media only screen and (min-width: 401px) and (max-width: 1063px) {

	#main .image_container.image20 {
		width: 180px;
	}

}

@media only screen and (min-width: 846px) {

	#main .image_container.image30 {
		max-width: 30%;
	}

}

@media only screen and (min-width: 401px) and (max-width: 845px) {

	#main .image_container.image30 {
		width: 228px;
	}

}

@media only screen and (min-width: 401px) and (max-width: 600px) {

	#main .image_container.image70 {
		max-width: 60%;
	}
		
	#main .image_container.image80 {
		max-width: 70%;
	}	

}

@media only screen and (max-width: 400px) {

	#main .image_container.image30 {
		width: 100%;
	}
	
}




/* ************************ */ 
/* (un)ordered lists		*/
/* ************************ */

.ce_text li {
	margin: 0;	
}
	
.ce_text ul {
	margin: 0;
	padding: 0.3em 0 0.7em 2em;
	list-style-image: url(../tmpl_img/li.gif);
}

.ce_text ol {
	margin: 0;
	padding: 0.3em 0 0.7em 2em;
	list-style-image: none;
}


/* ************************ */ 
/* tables					*/
/* ************************ */

.ce_table table {
	width: 100% !important;
	hyphens: auto;
	font-size: 0.85em;
	border: 1px solid #508dc0;
}

.ce_table table thead tr {
	background: #508dc0;
}

.ce_table table th {
	padding: 0.4em 1em;
	color: #fff;
	font-weight: bold;
	font-size: 1.1em;
	line-height: 1.4em; 
}

.ce_table table tr.even {
	background: #ededed;
}

.ce_table table tr.odd {
	background: #fff;
}

.ce_table table td {
	padding: 0.4em 1em;
}


/* ************************ */ 
/* special distances		*/
/* ************************ */

#main h1:first-child {
	padding-top: 0.7em;
}

hr + .ce_text {
	margin-top: -0.4em;
}

h1 + table,
h2 + table,
h3 + table {
	margin-top: 0.4em;
}

.ce_divider + .ce_table h1,
.ce_divider + .ce_table h2,
.ce_divider + .ce_table h3,
.ce_divider + .ce_text h1,
.ce_divider + .ce_text h2,
.ce_divider + .ce_text h3 {
	margin-top: -0.7em;
}


/* ************************ */ 
/* misc						*/
/* ************************ */

.ce_text {
	clear: both;
}

.ce_player + .ce_text {
	clear: none;
}

/* prevent scrolling of page behind fancybox-2 */
.fancybox-lock {
    overflow: visible !important;
}
    

/* ==========================================================================
   Contactform -> contactform.css 
   ========================================================================== */
   
/* ==========================================================================
   news
   ========================================================================== */

/* newslist ================================================== */

p.info time{
	color: #999;
	font-weight: 300;
	font-style: italic;
	}
	
p.info{
	margin: 0;
	padding: 0;
	}
	
.layout_short{
	padding: 0.5em;
	margin-bottom: 0.5em;
	}
	
	
.mod_newslist .layout_short.even {
	background: #ededed;
	}

.mod_newslist .layout_short.odd {
	background: transparent;
	}

.mod_newslist h2 {
	display: none;
	}



.mod_newslist .layout_simple.even {
	background: #ededed;
	}

.mod_newslist .layout_simple.odd {
	background: transparent;
	}


.mod_newslist .layout_simple time{
	color: #999;
	font-weight: 300;
	font-style: italic;
	padding-right: 1.5%;
	}
	
/* newslist ================================================== */

.layout_full h1{
	display: none;
	}
	
.ce_text h1{
	display: block;
	}
	
.mod_newslist .layout_simple {
	padding: 0.5em;
	}

	
/* newsarchive ================================================== */
	
.mod_newsarchive h1{
	font-size: 1.3em;
	margin-top: 0;
	}
	
	
.mod_newsarchive .layout_simple.even {
	background: #ededed;
	}

.mod_newsarchive .layout_simple.odd {
	background: transparent;
	}

.mod_newsarchive .layout_simple time{
	color: #999;
	font-weight: 300;
	font-style: italic;
	padding-right: 1.5%;
	}
	
.mod_newsarchive .layout_simple {
	padding: 0.5em;
	}
	
	
/* newsmenu ================================================== */
	
.mod_newsmenu{
	border-bottom: 1px solid #508dc0;
	padding-bottom: 0.9em;
	margin-bottom: 0.6em;
	}
	
				
.mod_newsmenu ul li a{
	background: #508dc0;
	-webkit-transition: background .15s ease-in;
	-ms-transition: background .15s ease-in;
	-moz-transition: background .15s ease-in;
	-o-transition: background .15s ease-in;
	transition: background .15s ease-in;
	color: #fff;
	text-shadow: 0 1px 0 rgba(0,0,0,.4);
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	-o-border-radius: 2px;	
	border-radius: 2px;
	padding: 0em 0.5em;
	margin-top: 0.5em;
	border: 0px;
	line-height: 1.8em;
	display: inline-block;
	width: 140px;
	}

.mod_newsmenu ul li a:hover{
	background: #0d61a6;
	cursor: pointer;
	}
	
.mod_newsmenu ul li span.active{
	background: #666;
	color: #fff;
	text-shadow: 0 1px 0 rgba(0,0,0,.4);
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	-o-border-radius: 2px;	
	border-radius: 2px;
	padding: 0em 0.5em;
	margin-top: 0.5em;
	border: 0px;
	line-height: 1.8em;
	display: inline-block;
	width: 140px;
	}
	
/* more and back ================================================== */
	
p.more a,
p.back a{
	background: #508dc0;
	-webkit-transition: background .15s ease-in;
	-ms-transition: background .15s ease-in;
	-moz-transition: background .15s ease-in;
	-o-transition: background .15s ease-in;
	transition: background .15s ease-in;
	color: #fff;
	text-shadow: 0 1px 0 rgba(0,0,0,.4);
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	-o-border-radius: 2px;	
	border-radius: 2px;
	padding: 0.25em 0.5em;
	border: 0px;
	line-height: 2em;
	}
	
	
p.more a:hover,
p.back a:hover{
	background: #0d61a6;
	cursor: pointer;
	}
	
p.back{
	border-top: 1px solid #508dc0;
	padding-top: 0.6em;
	margin-top: 1em;
	clear: both;
	}


/* ==========================================================================
   Media Queries | Breakpoints (menu/header: 1048px, 721px, 440px)
   ========================================================================== */


@media only screen and (max-width: 859px) {

	#logo_container {
		top: 53px;
	}
	
	#logo_container .headspace_center img {
		width: 250px;
		height: auto;
	}
	
	#logo_container .headspace_left {
		height: 100px;
	}
	
	#slogan_container {
		bottom: -21px;
	}
	
	#slogan_container .pageslogan {
		font-size: 0.94em;
	}
	

}

@media only screen and (max-width: 721px) {
	
	#wrapper {
		background-image: url(../tmpl_img/watermark_500.gif);
		/* background-size: contain; */
	}
	
}

@media only screen and (max-width: 566px) {
	
	#wrapper {
		background-image: url(../tmpl_img/watermark_400.gif);
		/* background-size: contain; */
	}
	
}

@media only screen and (max-width: 444px) {
	
	#wrapper {
		background-image: url(../tmpl_img/watermark_280.gif);
		/* background-size: contain; */
	}
	
}