/**
 * 1) GERNERAL CSS
 **/

/* RESET CSS PROPERTIES */
* { margin: 0; padding: 0; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

/* HTML AND BODY */ 
html { }
body { color: #333; background: #fff; font-size: 100%; font-family: 'Open-Sans', sans-serif, trebuchet ms, verdana, arial; position: relative; }

/* HIDING ELEMENTS // usability, responsive design buttons */
.donotdisplay,
	.printonly,
	.mobileonly { left: -9999px; position: absolute; }

/**
 * COLS AND SIDEBARS - start
 **/
 .colLeft, .col-left { margin-right: 1%; float: left; }
.colRight, .col-right { margin-left: 1%; float: right; } 

.col-w100 { width: 100%; clear: both; overflow: hidden; }
.col-w90 { width: 89%; }
.col-w80 { width: 79%; }
.col-w75 { width: 74%; }
.col-w70 { width: 69%; }
.col-w66 { width: 65.666%; }
.col-w60 { width: 59%; }
.col-w50 { width: 49%; }
.col-w40 { width: 39%; }
.col-w33 { width: 32.333%; }
.col-w30 { width: 29%; }
.col-w25 { width: 24%; }
.col-w20 { width: 19%; }
.col-w10 { width: 9%; }

.cols-5,
	.cols-4,
	.cols-3,
	.cols-2 {
	padding: 0 1%; 
	float: left;
}
.cols-5 { width: 20%; }
.cols-5:nth-child(5n+1) { padding-left: 0; clear: left; }
.cols-5:nth-child(5n+5) { padding-right: 0; }
.cols-4 { width: 25%; }
.cols-4:nth-child(4n+1) { padding-left: 0; clear: left; }
.cols-4:nth-child(4n+4) { padding-right: 0; }
.cols-3 { width: 33.333%; }
.cols-3:nth-child(3n+1) { padding-left: 0; clear: left; }
.cols-3:nth-child(3n+3) { padding-right: 0; }
.cols-2 { width: 50%; }
.cols-2:nth-child(2n+1) { padding-left: 0; clear: left; }
.cols-2:nth-child(2n+2) { padding-right: 0; }
.cols-1 { width: 100%; clear: both; }

/**
 * COLS AND SIDEBARS - end
 **/

/**
 * GENERAL TEXT STYLES - start
 **/
 
	/* headlines */
	h1 { font-size: 180%; font-weight: 300; color: #333; padding: 10px 0 5px;}
	h2 { font-size: 160%; font-weight: 400; color: #333;  padding: 10px 0 5px; }
	h3 { color: #333; font-size: 120%; padding: 5px 0; }
	h4 { color: #333; font-size: 90%; padding: 1% 0 0; }
	h5 { color: #333; font-size: 80%; padding: .5% 0 0; }
	
	/* abstracts */
	p { padding: 0 0 10px; }
	a { color: #006bb2; text-decoration: none; }
	a:hover { color: #e20613; text-decoration: none; }
	a, a:active, a:focus { outline: none; }
	.disabled,
		a.disabled { text-decoration: line-through; }
	a[href^="tel"]:link,
		a[href^="tel"]:visited,
		a[href^="tel"]:hover { text-decoration: none; color: #193573; }
	.right { text-align: right; }
	.left { text-align: left; }
	.center { text-align: center; }
	.justify {text-align: justify; }
	.floatleft { float: left; }
	.floatright { float: right; }
	.clearboth { clear: both; }
	.bold { font-weight: bold; }
	.italic { font-style: italic; }
	.small { font-size: 80%; }
	.large { font-size: 120%; }
	.honey,
		.screenreader { position: absolute; left: -99999px; }
	.line-through { text-decoration: line-through; }
	.underline { text-decoration: underline; }
	
	.inline { display: inline; }
	.inline-block { display: inline-block; }
	.block { display: block; }
	.hidden { display: none; }

	.table { display: table; width: 100%; }
	.trow { display: table-row; }
	.tcell { display: table-cell; vertical-align: top; }
	.vmiddle { vertical-align: middle; }

	.text-small { font-size: 80%; }
	.text-large { font-size: 150%; }
	.text-larger { font-size: 200%; }

	/* tables */
	table,
		th,
		td { border: none; }
	td,
		th { vertical-align: top; padding: 1% 2%; }
	th { text-align: left; }
	
	.transitions,
		#main-navigation span.nav-item-wrap,
		#main-navigation a,
		ul.pagination > li a { 
		-webkit-transition: all 0.3s ease-in;
		-moz-transition: all 0.3s ease-in;
		-o-transition: all 0.3s ease-in;
		-ms-transition: all 0.3s ease-in;
		transition: all 0.3s ease-in;
	}

/**
 * GENERAL TEXT STYLES - end
 */

/**
 * NAVIGATION - start
 **/

	/* horizontal main navigation */
		#main-navigation { 
		list-style: none; 
	}
	
	#main-navigation li {
		position: relative;
		list-style: none;
	}
	
	#main-navigation span.nav-item-wrap {
		display: block;
	}
	
	/* root level */	
	#main-navigation > li { 
		float: left;
	}
	
	#main-navigation > li > span.nav-item-wrap > a, 
		#main-navigation > li > span.nav-item-wrap > span {
	    display: inline-block;
	    padding: 0 15px;
	}
	
	#main-navigation > li.with-dropdown > span.nav-item-wrap > a, 
		#main-navigation > li.with-dropdown > span.nav-item-wrap > span {
	    padding: 0 0 0 15px;
	}
	
	#main-navigation > li > span.nav-item-wrap > span.dropdown-indicator {
		padding: 0 15px 0 0;
	}
	
	/* first level */
	#main-navigation ul.level-1 {
		position: absolute;
		width: 250px;
		height: 0;
		left: 0;
		overflow: hidden;
		z-index:100;
		-webkit-transition: height 0.3s ease-in;
		-moz-transition: height 0.3s ease-in;
		-o-transition: height 0.3s ease-in;
		-ms-transition: height 0.3s ease-in;
		transition: height 0.3s ease-in;
	}
	
	#main-navigation li:hover ul.level-1 { 
    	height: 500px;
    }
    
    #main-navigation li:hover ul.level-1:hover {
    	overflow: visible;
    }
    
    #main-navigation li:last-child ul.level-1 { 
    	right: 0;
    	left: inherit;
    }
    
    #main-navigation ul.level-1 li {
    	overflow: hidden;
    }
    
	#main-navigation ul > li:nth-child(n+2){
    	border-top: solid 1px #fff;
    }
    
	#main-navigation ul.level-1 a {
    	padding: 5px;
    	display: block;
    	background: #000;
    	color: #fff;
   	}
   	
	#main-navigation ul.level-1 li.with-dropdown span.dropdown-indicator {
   		display: inline-block;
   		position: absolute;
   		top: 0;
   		right: 0;
   		width: 40px;
   		padding: 5px;
   		text-align: center;
   	}
   	
   	#main-navigation ul.level-1 li:hover {
   		overflow: visible;
   	}
   	
   	#main-navigation ul.level-1 li:hover .level-2 {
   		opacity: 1;
   	}
   	
   	/* second level */
   	#main-navigation .level-2 {
		width: 100%;
		position: absolute;
		left: 250px;
		top: 0;
		opacity: 0;
	}
	
	#main-navigation > li:last-child .level-2,
		#main-navigation > li:nth-last-child(2) .level-2 {
		left: -250px;
	}
	
	/* micro navigation */
		#microNavi { overflow: hidden; padding: 1%  1% 0 0; list-style: none; }
	#microNavi li { float: left; }
	#microNavi li a { color: #323232; }
	#microNavi li a:hover { color: #E1001A; }
	
	/* footer navi */
		#footer-navigation { overflow: hidden; list-style: none; }
	#footer-navigation li { display: inline-block; }
	#footer-navigation li a { color: #fff; padding: 5px;}
	#footer-navigation li a:hover { color: #fff; text-decoration: underline; }

	/* subnavigation in sidebar */
		aside#page-aside ul.navi { 
		font-size: 100%;
		list-style: none; 
		margin: 0 0 20px; 
	}
	aside#page-aside ul.navi li { 
		display: block; 
		border-top: solid 1px #000; 
	}
	aside#page-aside ul.navi  li:first-child { 
		border-top: none; 
	}
	aside#page-aside ul.navi li > a { 
		display: block; 
		padding: 10px 0; 
		font-weight: 400; 
		color: #000; 
	}
	
	aside#page-aside ul.navi li:hover a,
		aside#page-aside ul.navi li.active-item a {
		color: #000;
		padding-left: 10px;
		text-decoration: none; 
	}
	aside#page-aside ul.navi li.active-item a { 
		font-weight: 700 
	}
	aside#page-aside ul.navi .navi.depth-2 { 
		width: 95%; 
		margin: 0 0 0 5%; 
	}
	aside#page-aside ul.navi li.level-2 { 
		border-top: dotted 1px #000; 
	}
	aside#page-aside ul.navi li.level-2:first-child { 
		border-top: none; 
	}
	aside#page-aside ul.navi li.level-2 a:hover { 
		color: #ccc; 
	}
 
/**
 * NAVIGATION - end
 **/

/* TEXT BLOCK SETTINGS */
.module-text ul,
	.module-text ol,
	.simpletext ul,
	.simpletext ol { 
	margin: 15px 0 15px 30px; 
}
.module-text ul li, 
	.module-text ol li,
	.simpletext ul li,
	.simpletext ol li { 
	padding: 0; 
	font-size: 100%; 
}
.module-text ul li p, 
	.module-text ol li p { padding: 0; }
.module-text .map_canvas img, 
	.tabContainer #map_canvas img {
	margin: 0px;
	border: none; 
	-webkit-box-shadow: 0 0 0px #000; 
	-moz-box-shadow: 0 0 0px #000; 
	box-shadow: 0 0 0px #000; 
}

/* page image */

#page-image {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
}

#page-image img {
	position: absolute;
	left: -999999px;
}

/* PAGINATION */
ul.pagination {
	display: block;
	overflow: hidden;
	list-style: none;
}

ul.pagination>li {
	display: inline-block;
	padding: 0;
	width: 40px;
	height: 40px;
	margin-right: 10px;
	text-align: center;
	line-height: 40px;
	border: solid 1px #333;
	color: #333;
	overflow: hidden;
}

ul.pagination>li.active-page {
	background: #333;
	color: #fff;
}

ul.pagination>li a {
	display: block;
	color: #333;
	text-decoration: none;
}

ul.pagination>li a:hover {
	background: #000;
	color: #fff;
}

ul.pagination>li.active-page a:hover {
	background: #333;
	color: #fff;
}

/* INPUTFIELDS */
.default-field {
	overflow: hidden;
	padding-bottom: 10px;
}

.default-field input,
.default-field textarea,
.default-field select {
	width: 100%;
	border: solid 1px #868788;
	padding: 5px 1%;
	margin: 5px 0%;
}

.default-field input:focus,
.default-field textarea:focus,
.default-field select:focus {
	border: solid 1px #323232;
}

.default-field textarea {
	height: 200px;
}

.default-field input[type="checkbox"] {
	width: auto;
	margin-top: 4px;
}

.default-field label,
.default-field div.labelFake {
	padding: 5px 0;
}

.default-field label.noFloat {
	float: none;
}

.default-field .input-wrapper {
	overflow: hidden;
}

input.field-error,
textarea.field-error {
	border: solid 1px #c02e2e;
	margin-bottom: 0;
}

div.field-error {
	width: 100%;
	clear: left;
	color: #fff;
	background: #c02e2e;
	font-size: 80%;
	padding: 5px;
	margin-bottom: 5px;
}

div.field-error,
.input-wrapper span.small {
	line-height: 120%;
	display: inline-block;
}

label.cbFloat {
	width: 200px;
	float: left;
}

.default-field.leftCB {
	margin: 2% 0;
}

.default-field.hidden {
	position: absolute;
	left: -9999px;
}

.default-field.multi .itemWrap {
	display: inline-block;
	float: left;
	padding-right: 15px;
}

.default-field.multi label.noFloat {
	float: none;
	display: inline-block;
	width: auto;
	padding: 2px 0;
}

.default-field.multi input {
	width: auto;
	float: left;
	display: inline-block;
	margin-right: 5px;
}

.default-field.multi .input-wrapper {
	margin: 0 0 5px;
}

/* WRAPPER */
.wrap { margin: 0 auto; max-width: 1140px; position: relative; width: 100%; }
.overflow { overflow: hidden; }

/* SINGLE CONTENT NAVIGATION */
.nav-pageview { 
	list-style: none; 
	overflow: hidden;
	margin-bottom: 30px; 
}
.nav-pageview li {
	float: left; 
	width: 33.333%; 
}
.nav-pageview a { 
	padding: 10px 15px; 
	color: #333; 
	font-weight: 700; 
}
.nav-pageview .center a { 
	padding: 10px 15px; 
}
.nav-pageview a:hover { 
	color: #000; 
	text-decoration: none;
}

/* LANGUAGE */
#langList { list-style: none; overflow: hidden; position: absolute; right: 5px; top: 5px; }
#langList > li { float: left; overflow: hidden; }
#langList img { display: block; overflow: hidden; padding-left: 3px; }

/* PAGE ROW */
.page-row, 
	.page-row-extended { 
	width: 100%; 
	display: table-row; 
}
.page-row-extended { 
	height: 100%; 
}

/* scroll to top button */ 
a#scrollToTop { z-index: 5000; position: fixed; right: 10px; bottom: 35px; padding: 10px; display: inline-block; background: rgba(0, 75, 146, .8); border: solid 1px #fff; color: #fff; opacity: 0; 
	-webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -ms-transition: all 0.3s ease; transition: all 0.3s ease; }
a#scrollToTop:hover { background: rgba(0, 75, 146, 1);  }

/* infinit loading */
.hiddenData { opacity: 0; }
#loadData { margin-top: 2%; }
#loadDataBtn { background: #fff; color: #333; width: 100%; padding: 3% 0; margin-bottom: 1.5%; text-align: center; cursor: pointer; border: dotted 1px #ccc; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } 
#loadDataBtn:hover { background: #333; color: #fff; }

/**
 * 2) STYLES CORE DESIGN
 **/

/* BREADCRUMBS */
#page-breadcrumbs {
	overflow: hidden;
	clear: both;
}

#breadcrumb {
	list-style: none;
	overflow: hidden;
	padding: 5px 0;
}

#breadcrumb li {
	list-style: none;
	color: #333;
	text-decoration: none;
	outline: none;
	display: block;
	float: left;
	position: relative;
}

#breadcrumb li a {
	text-decoration: none;
	color: #333;
}

#breadcrumb li a:hover {
	color: #000;
}

#breadcrumb li.start {
	padding-right: 5px;
}


/* CONTACT */
label.contact {
	float: left;
	width: 170px;
}

input.contactfield {
	width: 300px;
	border: solid 1px #152861;
}

input.button {
	border: none;
	color: #fff;
	background: #424242;
	padding: 10px 25px;
	margin-top: 15px;
	font-weight: 700;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

input.button:hover {
	background: #002660;
	color: #fff;
	cursor: pointer;
}

.leftCB input {
	float: left;
	padding: 0 0 0 1%;
}

.leftCB label {
	padding: 0 0 0 1%;
	display: inline-block;
}

.privacy p {
	padding-left: 1%;
}

/* SEARCH */
#search {
	overflow: hidden;
	position: relative;
	height: 40px;
	width: 100%;
	line-height: 40px;
}

.field-search {
	display: inline-block;
	width: calc( 100% - 40px);
	float: left;
}

.field-search label {
	position: absolute;
	left: -9999px;
}

.field-search input#search_searchBox {
	border: none;
	background: transparent;
	width: 100%;
	height: 40px;
	padding: 0;
	margin: 0 10px;
	font-size: inherit;
	line-height: 40px;
	outline: none;
}

.field-search input#search_searchBox::-webkit-input-placeholder {
	/* Chrome/Opera/Safari */
	font-weight: 400;
	font-style: italic;
}

.field-search input#search_searchBox::-moz-placeholder {
	/* Firefox 19+ */
	font-weight: 400;
	font-style: italic;
}

.field-search input#search_searchBox:-ms-input-placeholder {
	/* IE 10+ */
	font-weight: 400;
	font-style: italic;
}

.field-search input#search_searchBox:-moz-placeholder {
	/* Firefox 18- */
	font-weight: 400;
	font-style: italic;
}

#search button#search_submitSearch {
	width: 40px;
	height: 40px;
	padding: 0px;
	margin-top: 0;
	border: none;
	color: #333;
	font-weight: bold;
	font-size: inherit;
	cursor: pointer;
}

button#search_submitSearch:hover {
	color: rgb( 255, 246, 217);
}

ul#searchResults {
	list-style: none;
}

ul#searchResults li {
	padding-bottom: 4%;
	margin-bottom: 4%;
	border-bottom: solid 1px #002900;
}

ul#searchResults p {
	padding: 0;
}

p.searchLink {
	font-size: 90%;
	margin-top: 1%;
}

.ui-autocomplete.ui-menu {
	list-style: none;
	max-height: 600px;
	box-shadow: 2px 2px 4px #575759;
	border: solid 1px #575759;
	z-index: 999999;
}

.ui-autocomplete a>div {
	width: 100%;
	padding: 2%;
}

.ui-autocomplete a:hover {
	background: #ddd;
	color: inherit;
}

.ui-helper-hidden-accessible {
	display: none;
}

.search-item {
	padding: 2px;
	background: #fff;
	overflow: hidden;
	z-index: 99;
	border: none;
	border-bottom: 1px solid #ebeced;
}

.search-item.withimage {
	/*min-height: 120px;*/
}

.ui-menu-item.ui-state-focus .search-item {
	background-color: #ddd;
	color: inherit;
}

.ui-menu-item {
	display: block;
	overflow: hidden;
}

.search-image {
	width: 20%;
	height: 0;
	padding-bottom: 14%;
	margin-right: 2%;
	float: left;
	position: relative;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.search-image img {
	position: absolute;
	left: -99999px;
}

.search-text {
	width: 78%;
	float: right;
}

.search-label {
	display: block;
	font-weight: bold;
	font-size: 110%;
}

.search-description {
	display: block;
	font-size: 90%;
	font-style: italic;
}

.search-link {
	text-align: right;
	padding-top: 15px;
}

.search-link a {
	display: inline-block;
}

/* SOCIAL SHARING */
#sharePage {
	text-align: center;
	overflow: hidden;
	clear: both;
}

#social_share {
	list-style: none;
	overflow: hidden;
	width: 100%;
}

#social_share li {
	display: inline-block;
	height: 30px;
	margin-right: 10px;
	padding: 0 10px 0 0;
	overflow: hidden;
}

#social_share li:hover {
	-webkit-transition: background 0.3s ease-in;
	-moz-transition: background 0.3s ease-in;
	-o-transition: background 0.3s ease-in;
	-ms-transition: background 0.3s ease-in;
	transition: background 0.3s ease-in;
}

#social_share a {
	font-weight: 300;
	text-decoration: none;
	line-height: 30px;
}

#social_share li:hover a {
	color: #fff;
}

#social_share a>i {
	margin-right: 5px;
	text-align: center;
	width: 30px;
	line-height: 30px;
	color: #fff;
}

#fb_share>a>i {
	background: #3b5998;
}

#fb_share:hover {
	background: #3b5998;
}

#twitter_share>a>i {
	background: #2daae1;
}

#twitter_share:hover {
	background: #2daae1;
}

#xing_share>a>i {
	background: #006464;
}

#xing_share:hover {
	background: #006464;
}

 
/* CLICK LISTS */

.wrap.wrap-clicklist {
	max-width: inherit;
	width: 100%;
	margin: 0;
}

.click-list .click-list-wrap {
	width: 100%;
	overflow: hidden;
}

.click-list ul.click-listList {
	overflow: hidden;
	list-style: none;
	width: 1000%;
	position: relative;
}

.click-paging {
	display: none;
	z-index: 5;
	font-size: 200%;
	background: #0C5C89;
	width: 40px;
	height: 40px;
	text-align: center;
	color: #fff;
	line-height: 33px;
	cursor: pointer;
}

.click-paging.enabled {
	display: block;
}

.click-paging span {
	z-index: 2;
	position: relative;
}

.click-paging-prev {
	float: left;
}

.click-paging-next {
	float: right;
}

.click-list .clickable {
	width: 1000%;
}

.click-list ul.clickable {
	position: relative;
	list-style: none;
}

.click-list ul.clickable>li {
	width: 10%;
	margin: 0;
	padding-bottom: 0;
	position: relative;
	background: transparent;
}

.click-list ul.clickable>li>div {
	width: 99%;
	margin: 0 1%;
	padding-bottom: 50px;
	position: relative;
}

.linkToMore {
	display: none;
}

.click-list .linkToMore {
	display: block;
}

.click-list ul.clickable>li.linkToMore>div {
	background: #d4d7e4;
	-webkit-transition: background-color 0.3s ease;
	-moz-transition: background-color 0.3s ease;
	-o-transition: background-color 0.3s ease;
	-ms-transition: background-color 0.3s ease;
	transition: background-color 0.3s ease;
}

.click-list ul.clickable>li.linkToMore>div>a {
	height: 100%;
	display: flex;
	align-items: center;
	color: #273778;
}

.click-list ul.clickable>li.linkToMore>div>a>span {
	width: 80%;
	margin: 0 10%;
	font-size: 150%;
	text-align: center;
}

/* COOKIE BANNER */

div.table {
	display: table;
	margin: 0 auto;
	width: 100%;
	background: transparent;
}

div.table-row {
	display: table-row;
}

div.table-cell {
	display: table-cell;
	vertical-align: middle;
}

div.cookieText {
	width: 75%;
	padding-right: 15px;
	text-align: center;
}

div.cookieBtn {
	width: 25%;
	text-align: center;
}

#cookieInfo {
	background: #1a1a1a;
	padding: 5px;
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	font-size: 100%;
	color: #fff;
	z-index: 4444;
}

#cookieInfo a {
	color: #fff;
	text-decoration: underline;
}

#cookieInfo a#setCookie {
	display: inline-block;
	padding: 5px 15px;
	border: solid 1px #fff;
	color: #fff;
	border: 1px solid #fff;
	text-decoration: none;
}

#cookieInfo a#setCookie:hover {
	background: #fff;
	color: #1a1a1a;
	text-decoration: none;
}

/*
 * CONSENT TOOL
 */
body.consent-tool-open .ui-widget-overlay {
    background: rgba( 0, 0, 0, .8 );
    opacity: 1;
    filter: Alpha(Opacity=1);
    z-index: 10000000 !important;
}

body.consent-tool-open .ui-dialog {
	z-index: 10000001 !important;
}

body.consent-tool-open .ui-dialog.custom-details {
	max-height: 90vh !important;
	overflow-y: scroll;
}

@media only screen and ( min-width: 451px ) {
	body.consent-tool-open .ui-dialog.custom-basic {
		max-width: 450px;
		left: calc( 50% - 225px ) !important;
	}
}

@media only screen and ( max-width: 450px ) {
	body.consent-tool-open .ui-dialog.custom-basic {
		width: 90%;
		left: 5% !important;
	}
}

@media only screen and ( min-width: 961px ) {
	body.consent-tool-open .ui-dialog.custom-details {
		max-width: 960px;
		left: calc( 50% - 470px ) !important;
	}
}

@media only screen and ( max-width: 960px ) {
	body.consent-tool-open .ui-dialog.custom-details {
		width: 90%;
		left: 5% !important;
	}
}

#consent-tool {
    font-size: 90%;
}

#consent-tool ul {
	list-style: none;
}

#consent-tool h2 {
    padding: 0 0 15px;
    margin: 0;
    font-weight: 400;
    font-size: 145%;
}

#consent-tool header p {
    font-size: 90%;
}

#consent-tool ul#consent-tool-groups {
    overflow: hidden;
    margin: 10px 0;
    clear: both;
}

#consent-tool .basics ul#consent-tool-groups > li:nth-child(n+2) {
    padding-top: 5px;
    margin-top: 5px;
    border-top: dotted 2px #ddd;
}

#consent-tool i.fa.icon-disabled {
    text-decoration: none;
    color: #aaa;
}

#consent-tool i.fa.icon-red {
    color: #880000;
}

#consent-tool i.fa.icon-green {
    color: green;
}

#consent-tool button.ct-button {
    width: 100%;
    padding: 10px 15px;
    margin: 5px 0;
    cursor: pointer;
    color: #555;
    background: #f2f2f2;
    border: none;
    border-radius: 3px;
    outline: none;
}

#consent-tool button.ct-button.btn-highlight {
    background: green;
    color: #fff;
    font-weight: 600;
    padding: 15px;
}

#consent-tool button.ct-button.btn-narrow {
    font-size: 70%;
}

#consent-tool button.ct-button:hover {
    background: #333;
    color: #fff;
}

#consent-tool footer {
    text-align: center;
}

#consent-tool ul#consent-tool-links {
    display: inline-block;
    text-align: center;
    padding-top: 15px;
    font-size: 70%;
}

#consent-tool ul#consent-tool-links > li {
    display: inherit;
    position: relative;
}
#consent-tool ul#consent-tool-links > li:nth-child(n+2):before {
    content: '|';
    width: 15px;
    display: inline-block;
    text-align: center;
}

#consent-tool a.ct-link {
    color: #555;
}

#consent-tool a.ct-link:hover {
    color: #000;
}

#consent-tool span.ct-link.link-highlight {
    color: #000;
    cursor: pointer;
}

#consent-tool span.ct-link.link-highlight:hover {
    color: green;
}

#consent-tool .details ul#consent-tool-groups > li {
    padding: 15px;
    background: #f2f2f2;
}
#consent-tool .details ul#consent-tool-groups > li:nth-child(n+2) {
	margin-top: 5px;
}

#consent-tool .details button.ct-button {
    display: inline-block;
    width: auto;
    padding: 15px 30px;
}

#consent-tool .details span.ct-link span {
	padding: 15px 0;
	margin: 5px 0;
    display: inline-block;
    font-size: 80%;
    position: relative;
    color: #aaa;
}
#consent-tool .details span.ct-link span:nth-child(n+2):before {
    content: '|';
    width: 15px;
    display: inline-block;
    text-align: center;
}

#consent-tool .group-headline {
    padding-bottom: 10px;
}

#consent-tool .group-text,
#consent-tool .group-content {
    font-size: 90%;
}

#consent-tool p.group-toggle-content {
	padding: 0;
    text-align: center;
    font-size: 80%;
    text-decoration: underline;
    cursor: pointer;
}

@media only screen and ( min-width: 551px ) {
	#consent-tool .details span.ct-link {
	    float: right;
	}

	#consent-tool span.item-title {
	    display: block;
	    width: 200px;
	    float: left;
	}
	
	#consent-tool span.item-content {
	    width: calc( 100% - 200px );
	    float: right;
	}
}

@media only screen and ( max-width: 550px ) {
	.consent-tool-buttons.inline-buttons {
	    text-align: center;
	}
	
	#consent-tool .details button.ct-button {
	    width: 100%;
	}

	#consent-tool .details span.ct-link {
	    display: block
	}
	
	#consent-tool span.item-title {
	    display: block;
	    font-weight: 600;
	}
	
	#consent-tool span.item-content {
	    display: block;
	    font-style: italic;
	}
}

#consent-tool span.item-content a {
    color: inherit;
    text-decoration: underline;
}

#consent-tool ul.consent-tool-items > li {
    overflow: hidden;
    margin-top: 15px;
}

#consent-tool ul.consent-tool-items > li .item-wrap {
    background: #fff;
    padding: 10px;
}

#consent-tool ul.consent-tool-details > li {
	overflow: hidden;
}
#consent-tool ul.consent-tool-details > li:nth-child(n+2) {
    padding-top: 3px;
    margin-top: 3px;
    border-top: solid 1px #f2f2f2;
}

div#consent-config {
    padding: 10px 15px;
    cursor: pointer;
    background: #000;
    color: #aaa;
    font-size: 75%;
}

@media only screen and ( min-width: 901px ) {
	div#consent-config {
		position: fixed;
	    bottom: 0;
	    right: 100px;
	    background: #fff;
	    color: #555;
	    box-shadow: 0 0 5px #333;
	    z-index: 10000000;
	}
}

div#close-consent-modal {
    position: absolute;
    top: 0;
    right: 0;
    width: 20px;
    height: 20px;
    line-height: 20px;
    font-size: 120%;
    text-align: center;
    cursor: pointer;
    color: #ccc;
}
div#close-consent-modal:hover {
	color: #000;
}

div#close-consent-modal span {
	left: -999999px;
	position: absolute;
}


/* FE LOGIN */

#loginForm,
#lostPassword {
	width: 50%;
}

#loginForm .login,
#lostPassword .login {
	display: block;
	font-weight: 700;
	overflow: hidden;
	padding: 1% 0;
}

#loginForm .inputlogin,
#loginForm .submitBtn,
#lostPassword .inputlogin,
#lostPassword .submitBtn {
	width: 100%;
	padding: 2%;
	margin-bottom: 2%;
	border: 1px solid #555;
}

#loginForm .submitBtn,
#lostPassword .submitBtn {
	width: auto;
	background: #333;
	color: #fff;
	font-weight: 700;
	margin-top: 2%;
	padding: 2% 5%;
}

#loginForm .submitBtn:hover,
#lostPassword .submitBtn:hover {
	cursor: pointer;
	background: #006bb2;
}

.login main {
	min-height: auto;
}

/**
 * 3) PROJECT ADAPTIONS
 **/
header, main, footer, aside, section { 
	display: block; 
	position: relative;	
}

/* HEADER */
#page-header .page-image {
	background-size: cover;
	background-position: center;
	width: 100%;
	height: 1px;
	padding-bottom: 30%;
	overflow: hidden;
	position: relative;
}
#page-header .page-image > img {
	position: absolute;
	left: -99999px;
}

/* NAVIGATIONS */


/* SIDEBARS */
aside {}
aside#page-aside {
	width: 270px;
	float: left;
	padding-right: 15px;
}

/* MAIN */
main { }

/* CONTENT */
section {}

section#page-content {
	width: calc( 100% - 270px );
	float: right;
	padding-left: 15px;
}

body.blank section#page-content {
	width: 100%;
	float: none;
	padding-left: 0;
}

/* FOOTER */
#page-footer {
	padding: 5px 0;
	overflow: hidden;
	clear: both;
	background: #333;
	color: #fff;
	font-size: 90%;
}

#page-footer a {
	color: #fff;
}
#page-footer a:hover {
	color: #fff;
	text-decoration: none;
}

/* WIDGETS */

/* HOME */

/**
 * 4) STYLES REGULAR USED EXTENSIONS
 **/

/**
 * 5) STYLES PROJECT RELATED EXTENSIONS
 **/

/**
 * 6) RTE PLUGINS
 **/

/* 
 * RTE PLUGINS - alignment and size 
 */
.rte-plugin { position: relative; }
.rte-plugin.rightbox { float: right; margin-left: 2%; }
.rte-plugin.leftbox { float: left; margin-right: 2%; }
.rte-plugin.centerbox { float: left; margin: 0 auto; }
.rte-plugin.rightbox:not(.col-w100) { margin-left: 2%; }
.rte-plugin.leftbox:not(.col-w100) { margin-right: 2%; }
.rte-plugin.centerbox:not(.col-w100) { margin: 0 2%; }

.rte-plugin.centerbox.col-w100 { width: 100%; margin: 0 !important; }
.rte-plugin.centerbox.col-w90 { width: 90%; margin: 0 5%; }
.rte-plugin.centerbox.col-w80 { width: 80%; margin: 0 10%; }
.rte-plugin.centerbox.col-w75 { width: 75%; margin: 0 12.5%; }
.rte-plugin.centerbox.col-w70 { width: 70%; margin: 0 17.5%; }
.rte-plugin.centerbox.col-w66 { width: 66.666%; margin: 0 16.666%; }
.rte-plugin.centerbox.col-w60 { width: 60%; margin: 0 20%; }
.rte-plugin.centerbox.col-w50 { width: 50%; margin: 0 25%; }
.rte-plugin.centerbox.col-w40 { width: 40%; margin: 0 30%; }
.rte-plugin.centerbox.col-w33 { width: 33.333%; margin: 0 33.333%; }
.rte-plugin.centerbox.col-w30 { width: 30%; margin: 0 35%; }
.rte-plugin.centerbox.col-w25 { width: 25%; margin: 0 37,5%; }
.rte-plugin.centerbox.col-w20 { width: 20%; margin: 0 40%; }
.rte-plugin.centerbox.col-w10 { width: 10%; margin: 0 45%; }

/* 
 * RTE PLUGINS - block screen 
 */

.GMapLock {
	position: relative;
	width: 100%;
	height: 100%;
	display: table;
}

.GMLOverlay {
	width: 100%;
	height: 100%;
	z-index: 10;
	background: #ddd;
	display: table-row;
}

.GMLText {
	width: 100%;
	height: 100%;
	padding: 20px;
	color: #fff;
	display: table-cell;
	vertical-align: middle;
}

.SecureButtonText {
	width: 50%;
	margin: 15px 0;
	float: left;
}

.singleview .SecureButtonText {
	margin: 5px 0;
	width: 100%;
}

.SecureHint {
	margin: 5px 0;
}

.SecureHint>a {
	color: #333;
	text-decoration: underline;
}

.SecureHint>a:hover {
	color: #000;
	text-decoration: underline;
}

.secureBtn {
	width: 60%;
	padding: 5px 10px;
	margin: 0 20%;
	background: #ddd;
	color: #fff;
	border: 1px solid #fff;
	font-weight: 400;
	text-align: center;
	cursor: pointer;
}

.singleview .secureBtn,
.rte-plugin.col-w50 .secureBtn,
.rte-plugin.col-w40 .secureBtn,
.rte-plugin.col-w33 .secureBtn,
.rte-plugin.col-w30 .secureBtn,
.rte-plugin.col-w25 .secureBtn,
.rte-plugin.col-w20 .secureBtn,
.rte-plugin.col-w10 .secureBtn {
	width: 100%;
	margin: 0;
}

.secureBtn:hover {
	background: #fff;
	color: #ddd;
}

/* 
 * RTE PLUGINS - infobox 
 */

.plugin-infobox {
	overflow: hidden;
	border: solid 1px #ccc;
}

.plugin-infobox .infobox-headline {
	background: #ccc;
	padding: 5px 10px;
	font-size: 120%;
	font-weight: 700;
}

.plugin-infobox .infobox-content {
	padding: 5px 10px;
	font-size: 90%;
}

.plugin-infobox .infobox-content p {
	padding: 0;
}

.plugin-infobox .infobox-content li {
	list-style: none;
}

.plugin-infobox .infobox-content li::before {
	content: "\f054";
	font-family: FontAwesome;
	margin-left: -10px;
	padding-right: 5px;
	color: #003366;
}

.plugin-infobox .infobox-content li li::before {
	content: "\f105";
}

.plugin-infobox .infobox-content li a:hover {
	color: #99cc00;
	text-decoration: none;
}


/* 
 * RTE PLUGINS - infoimage 
 */

.plugin-infoimage {
	overflow: hidden;
	border: solid 1px #ccc;
	background: #f2f2f2;
}

.plugin-infoimage img {
	width: 100% !important;
	height: auto !important;
	display: block;
}

.plugin-infoimage .infoimage-content {
	padding: 5px 10px;
	font-size: 90%;
}

.plugin-infoimage .infoimage-content p {
	padding: 0;
}


/* 
 * RTE PLUGINS - two columns 
 */

.plugin-two-columns {
	overflow: hidden;
	clear: both;
}


/* 
 * RTE PLUGINS - youtube
 */

.plugin-youtube .plugin-wrap {
	position: relative;
	padding-bottom: 56.25%;
	/* Default for 1600x900 videos 16:9 ratio*/
	padding-top: 0px;
	height: 0 !important;
	width: 100% !important;
	overflow: hidden;
}

.plugin-youtube .plugin-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* 
 * RTE PLUGINS - gallery 
 */

.plugin-gallery {
	display: inline-block;
	overflow: hidden;
	clear: both;
}

.plugin-gallery>ul {
	margin: 0 !important;
	padding: 0 !important;
}

.plugin-gallery>ul>li {
	padding: 0 !important;
}

.plugin-gallery .plugin-gallery-item {
	list-style: none;
	position: relative;
	overflow: hidden;
	float: left;
	margin: 1%;
}

.plugin-gallery .plugin-gallery-item a {
	display: block;
	height: 100%;
	width: 100%;
	position: relative;
}

.plugin-gallery .plugin-gallery-item img {
	width: 100%;
	height: auto;
	margin: 0 !important;
	border: none !important;
	position: relative;
	display: block;
	z-index: 1;
}

.plugin-gallery .plugin-gallery-item-title {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 5%;
	background: rgba( 5, 69, 140, .85);
	color: #fff;
	font-size: 90%;
	cursor: pointer;
	opacity: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	-moz-transition: opacity 0.3s ease-in;
	-o-transition: opacity 0.3s ease-in;
	-ms-transition: opacity 0.3s ease-in;
	transition: opacity 0.3s ease-in;
}

.plugin-gallery .plugin-gallery-item-title:hover {
	opacity: 1;
}

/* RTE plugin - accordion */

.plugin-accordion {
	margin: 10px 0 !important;
	overflow: hidden;
	clear: both;
	list-style: none;
}

.plugin-accordion>li {
	width: 100%;
	overflow: hidden;
	clear: both;
}

.plugin-accordion .toggle-all-acc-items {
	padding: 5px 10px;
	!important;
	font-weight: bold;
	cursor: pointer;
}

.plugin-accordion .toggle-all-acc-items:hover {
	color: #ff8300;
}

.plugin-accordion h2 {
	width: 100%;
	padding: 5px 10px;
	background: #ccc;
	color: #333;
	font-size: 120%;
	cursor: pointer;
}

.plugin-accordion h2:hover {
	color: #333;
}

.plugin-accordion .toggle-acc-content {
	width: 30px;
	margin-right: 10px;
	background: #1a1a1a;
	color: #fff;
	text-align: center;
}

.plugin-accordion .acc-head {
	width: 100%;
}

.plugin-accordion .acc-content {
	margin: 0;
	padding: 10px;
	border: solid 1px #ccc;
}

/* RTE plugin - listing */
ul.listing-1, ul.listing-2, ul.listing-3, ul.listing-4 { overflow: hidden; clear: both; }
ul.listing-1 > li, ul.listing-2 > li, ul.listing-3 > li, ul.listing-4 > li { list-style: none !important; border: solid 1px #ccc; }
ul.listing-1 > li > img, ul.listing-2 > li > img, ul.listing-3 > li > img , ul.listing-4 > li > img,
ul.listing-1 > li > a > img, ul.listing-2 > li > a > img, ul.listing-3 > li > a > img , ul.listing-4 > li > a > img,
ul.listing-1 > li > p > img, ul.listing-2 > li > p > img, ul.listing-3 > li > p > img , ul.listing-4 > li > p > img { width: 100% !important; height: auto !important; margin: 0; padding: 0; border: none; }
ul.listing-1 > li a, ul.listing-2 > li a, ul.listing-3 > li a, ul.listing-4 > li a { display: block; }
ul.col_01 > li { width: 100%; overflow: hidden; }
ul.col_02 > li { width: 49%; margin: 10px 1%; float: left; }
ul.col_02 > li:nth-child(2n+1) { margin-left: 0; clear: both; }
ul.col_02 > li:nth-child(2n+2) { margin-right: 0; }
ul.col_03 > li { width: 32%; margin: 10px 1%; float: left; }
ul.col_03 > li:nth-child(3n+1) { margin-left: 0; clear: both; }
ul.col_03 > li:nth-child(3n+3) { margin-right: 0; }
ul.col_04 > li { width: 23.5%; margin: 10px 1%; float: left; }
ul.col_04 > li:nth-child(4n+1) { margin-left: 0; clear: both; }
ul.col_04 > li:nth-child(4n+4) { margin-right: 0; }
ul.col_05 > li { width: 18.4%; margin: 10px 1%; float: left; }
ul.col_05 > li:nth-child(5n+1) { margin-left: 0; clear: both; }
ul.col_05 > li:nth-child(5n+5) { margin-right: 0; }
ul.col_06 > li { width: 15%; margin: 10px 1%; float: left; }
ul.col_06 > li:nth-child(6n+1) { margin-left: 0; clear: both; }
ul.col_06 > li:nth-child(6n+6) { margin-right: 0; }
ul.col_07 > li { width: 12.571%; margin: 10px 1%; float: left; }
ul.col_07 > li:nth-child(7n+1) { margin-left: 0; clear: both; }
ul.col_07 > li:nth-child(7n+7) { margin-right: 0; }
ul.col_08 > li { width: 10.75%; margin: 10px 1%; float: left; }
ul.col_08 > li:nth-child(8n+1) { margin-left: 0; clear: both; }
ul.col_08 > li:nth-child(8n+8) { margin-right: 0; }
ul.col_09 > li { width: 9.33%; margin: 10px 1%; float: left; }
ul.col_09 > li:nth-child(9n+1) { margin-left: 0; clear: both; }
ul.col_09 > li:nth-child(9n+9) { margin-right: 0; }
ul.col_10 > li { width: 8.2%; margin: 10px 1%; float: left; }
ul.col_10 > li:nth-child(10n+1) { margin-left: 0; clear: both; }
ul.col_10 > li:nth-child(10n+10) { margin-right: 0; }


/* zoom indicator for lightbox images */
a.zoom-indicator {
	display: block;
	width: 100%;
	height: 100%;
}
a.zoom-indicator span {
	width: 100%;
	height: 100%;
	display: flex;
	display: -webkit-flex;
	-webkit-align-items: center;
	align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    font-size: 300%;
    text-shadow: 1px 1px 1px #333;
    text-align: center;
    opacity: 0.5;
}
a.zoom-indicator:hover span {
	opacity: 1;
	font-size: 400%;
}
a.zoom-indicator span i {
	margin: 0 auto;
}