/*
	
		-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
	
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
*/



/* roboto-regular - latin */
@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/roboto-v30-latin-regular.eot'); /* IE9 Compat Modes */
	src: local(''),
			 url('../fonts/roboto-v30-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
			 url('../fonts/roboto-v30-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
			 url('../fonts/roboto-v30-latin-regular.woff') format('woff'), /* Modern Browsers */
			 url('../fonts/roboto-v30-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
			 url('../fonts/roboto-v30-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
}
/* roboto-500 - latin */
@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 500;
	src: url('../fonts/roboto-v30-latin-500.eot'); /* IE9 Compat Modes */
	src: local(''),
			 url('../fonts/roboto-v30-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
			 url('../fonts/roboto-v30-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
			 url('../fonts/roboto-v30-latin-500.woff') format('woff'), /* Modern Browsers */
			 url('../fonts/roboto-v30-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
			 url('../fonts/roboto-v30-latin-500.svg#Roboto') format('svg'); /* Legacy iOS */
}
/* roboto-700 - latin */
@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/roboto-v30-latin-700.eot'); /* IE9 Compat Modes */
	src: local(''),
			 url('../fonts/roboto-v30-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
			 url('../fonts/roboto-v30-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
			 url('../fonts/roboto-v30-latin-700.woff') format('woff'), /* Modern Browsers */
			 url('../fonts/roboto-v30-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
			 url('../fonts/roboto-v30-latin-700.svg#Roboto') format('svg'); /* Legacy iOS */
}



:root {
  --schwarz: #000000;
  --weiss: #FFFFFF;
	--grau: #666666;
	--bgcolor: #F3F2F1;
  
  --maincolor: #666666;
  --actioncolor: #97BF0D;
	--repcolor: #97BF0D;
  
	--fontfamily: 'Roboto', Arial, Helvetica, "Nimbus Sans L", sans-serif;
  --bold: 700;
	--medium: 500;
	--regular: 300;
  --fontsize: 100%;
	--lineheight: 140%;
	
	--abstand-1: 5vh;
	--abstand-2: 3vh;
	
	--footerheight: 110px;
	--footerheightfront: 200px;
	--abstandtop: 5vh;
	--spaltenbreite: 16vw;
	--sliderpfeil: 50px;
	--iconsize: 50px;
	
	--headerslideinnen: 33vh;
	
	--headerheightmobile: 70px;
}

*:focus {
	outline: none;
}





label.js-form-required:after {
	content: "*";
}
.views-field-edit-node {
	position: relative;
	z-index: 95;
}


.views-field-edit-node a:link,
.views-field-edit-node a:visited {
	color: red;
	padding: 3px 10px;
	border: solid 1px red;
	background-color: var(--weiss);
}

.views-field-edit-node a:hover,
.views-field-edit-node a:active {
	color: var(--weiss) !important;
	background: red;
	padding: 3px 10px;
	border: solid 1px red;
}




div.tabs {
  margin: 1em 0;
}
ul.tabs {
  list-style: none;
  margin: 0 0 0.5em;
  padding: 0;
}
.tabs > li {
  display: inline-block;
  margin-right: 0.3em; /* LTR */
}
[dir="rtl"] .tabs > li {
  margin-left: 0.3em;
  margin-right: 0;
}
.tabs a {
  display: block;
  padding: 0.2em 1em;
  text-decoration: none;
}
.tabs a.is-active {
  background-color: #eee;
}
.tabs a:focus,
.tabs a:hover {
  background-color: #f5f5f5;
}



.user-login-form .form-item-name {
	width: 49%;
	float: left;
}

.user-login-form .form-item-pass {
	width: 49%;
	float: right;
}

.user-login-form .form-item input {
	width: 100%;
	padding: 5px 10px;
	box-sizing: border-box;
	margin: 5px 0px;
}


.user-login-form .form-actions {
	clear: both;
}


/* Colorbox Overrides*/

button:focus {outline:0;}


#cboxPrevious,
#cboxPrevious:hover {
	background-image:url('../images/galprev.svg');
	width:33px;
	height:33px;
	background-position: left top;
	background-size: 100% 100%;
	margin-top: 0px;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
}

#cboxNext,
#cboxNext:hover {
	background-image:url('../images/galnext.svg');
	width:33px;
	height:33px;
	background-position: left top;
	background-size: 100% 100%;
	margin-top: 0px;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
}

#cboxClose,
#cboxClose:hover {
	background-image:url('../images/galclose.svg');
	background-size: 100% 100%;
	background-position: left top;
	width:33px;
	height:33px;
	top:-7px;
	right:-7px;
}
#cboxOverlay {
	background:var(--weiss);
}

#cboxContent {
	background:var(--weiss);
	overflow: visible !important;
}

#cboxLoadedContent {
	border: 12px solid var(--weiss);
	background: var(--weiss);
}

#cboxWrapper {
	background:transparent;
	padding-top:0px;
	overflow: visible !important;
}

#cboxTitle {
	left:12px;
	top:-18px;
	color: var(--schwarz);
	display: none !important;
}

#cboxCurrent {
	right:12px;
	top:-18px;
	color:var(--schwarz);
	display: none !important;
}


#cboxLoadedContent {
	border: 0px !important;
	overflow: visible !important;
}

#colorbox, #cboxOverlay, #cboxWrapper {
	overflow: visible !important;
}

#cboxPrevious {
	left: -7px;
}

#cboxNext {
	right: -7px;
}



/* Login und Pass-Form */


.user-login-form {
	display: table;
	width: 100%;
}


.user-login-form .js-form-item {
	width: calc(50% - 20px);
	float: left;
	margin-right: 20px;
}

.user-login-form .js-form-item input,
.user-pass .js-form-item input  {
	width: 100%;
	padding: 5px;
	box-sizing: border-box;
}








input[type="checkbox"] {
	appearance: none;
	background-color: #fff;
	margin: 0;
	font: inherit;
	color: currentColor;
	width: 1.15em;
	height: 1.15em;
	border: 1px solid var(--schwarz);
	border-radius: 0.15em;
	transform: translateY(-0.075em);
	
	display: grid;
	float: left;
	margin-right: 7px;
	margin-top: 3px;
	place-content: center;
}

input[type="checkbox"]::before {
	content: "";
	width: 0.65em;
	height: 0.65em;
	transform: scale(0);
	transition: 120ms transform ease-in-out;
	box-shadow: inset 1em 1em var(--maincolor);
	
	/* Windows High Contrast Mode */
	background-color: CanvasText;
	
	transform-origin: bottom left;
	clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

input[type="checkbox"]:checked::before {
	transform: scale(1);
}

input[type="checkbox"]:focus {
	outline: max(2px, 0.15em) solid currentColor;
	outline-offset: max(2px, 0.15em);
}



/* Suche im Content */

.region-content .search-form input.js-form-submit {
	margin-top: 1em;
	background-color: var(--actioncolor);
	color: var(--weiss);
	border-style: none;
	padding: 10px 25px;
	box-sizing: border-box;
}

.region-content .search-form input.js-form-submit:hover {
	background-color: var(--grau);
}

.region-content .search-form input.form-search {
	padding: 8px 25px;
	box-sizing: border-box;
}

.region-content .search-form label {
	clear: both;
	display: block;
}

.region-content .search-form .search-help-link {
	font-size: 80%;
}




.flexslider {
  margin: 0 0 0px;
  border: 0px solid #ffffff;
  zoom: 1;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 0px;
  -webkit-box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2);
  -o-box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2);
  box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2);
}


.flex-control-nav {
	bottom: 40px;
	z-index: 99;
}

.flex-control-paging li a {
	border-radius: 0px;
	width: 16px;
	height: 16px;
	-webkit-box-shadow: inset 0 0 0px rgba(0,0,0,0.3); 
	-moz-box-shadow: inset 0 0 0px rgba(0,0,0,0.3); 
	-o-box-shadow: inset 0 0 0px rgba(0,0,0,0.3); 
	box-shadow: inset 0 0 0px rgba(0,0,0,0.3);
}

.flex-control-paging li a {
	background-color: var(--maincolor);
}

.flex-control-paging li a.flex-active {
	background-color: var(--weiss);
}



/* !WEBFORM */

.webform input[type=text],
.webform input[type=tel],
.webform input[type=email] {
	border: 0px;
	padding: 10px 20px;
	box-sizing: border-box;
	height: 50px;
	width: 100%;
	color: var(--schwarz);
} 

.webform select {
	height: 50px;
	border: 0px;
	width: 100%;
	background-color: var(--weiss);
	padding: 0px 15px;
	box-sizing: border-box;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: var(--schwarz);
}

.webform textarea {
	border: 0px;
	padding: 10px 20px;
	box-sizing: border-box;
	color: var(--schwarz);
	
}

.webform .js-form-wrapper {
	margin: 0px 0px 0px 0px;
}

.webform .form-item {
	margin: 0px 0px 10px 0px;
}

.webform .wfleft {
	width: 50%;
	float: left;
}

.webform .wfleft input {
	width: calc(100% - 10px);
	float: left;
}

.webform .wfright {
	width: 50%;
	float: right;

}

input.js-form-submit {
	margin-top: 1em;
	background-color: var(--actioncolor);
	color: var(--weiss);
	border-style: none;
	padding: 13px 20px;
	box-sizing: border-box;
	text-transform: uppercase;
}

input.js-form-submit:hover {
	background-color: var(--maincolor);
	color: var(--weiss);
}

.webform .messages--error {
	margin-bottom: 20px;
}
.webform .wfcont {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}


.webform .wfcont > div {
	flex-basis: 45%;
}

.webform .webform-actions input {

}
.webform-confirmation {
	background: red;
	padding: 20px;
	box-sizing: border-box;
}


::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: red;
}
::-moz-placeholder { /* Firefox 19+ */
  color: red;
}
:-ms-input-placeholder { /* IE 10+ */
  color: red;
}
:-moz-placeholder { /* Firefox 18- */
  color: red;
}

/* !ADMIN*/ 


ul.tabs {
	border-bottom: solid 1px #CCCCCC;
	margin-top: 0px !important;
	margin-bottom: 30px;
}

ul.tabs a,
ul.tabs a:visited {
	color: var(--schwarz);
}

ul.tabs a:hover,
ul.tabs a:active {
	color: var(--maincolor);
}


/* !ALLGEMEIN */

html {

}


html,
button,
input,
select,
textarea {
	font-family: var(--fontfamily);
	font-style: normal;
	font-weight: var(--regular);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;  
}

.node--type-error-page .field--name-body {
	font-size: 1000%;
	line-height: 100%;
	text-align: center
}

.maxwidth {
	margin-left: 5vw;
	margin-right: 5vw;
}

.paragraph--type--accordion-block {

}


a,
a:visited {
	text-decoration: none;

	
}

a:hover,
a:active {
	text-decoration: none;
}

.region-content a,
.region-content a:visited {
	text-decoration: none;
	color: var(--repcolor);
}

.region-content a:hover,
.region-content a:active {
	text-decoration: none;
	color: var(--schwarz);
}

.region-content a svg {
	margin-left: 5px;
}


.setcolor {
	color: var(--repcolor);
}

h1 {
	font-style: normal;
	font-size: 180%;
	text-transform: uppercase;
	color: var(--repcolor);
	font-weight: var(--medium);
	line-height: 115%;
	margin: 0px 0px 20px 0px;
}

h1.page-title {
	margin-top: 0px;
	padding-top: 0px;
}

h2 {
	font-size: 160%;
	line-height: 115%;
	color: var(--repcolor);
	font-weight: var(--medium);
	margin: 3vh 0px 20px 0px;
}


h3 {
	font-size: 140%;
	line-height: 115%;
	color: var(--repcolor);
	font-weight: var(--medium);
	margin: 3vh 0px 10px 0px;
}

h4 {
	font-size: 110%;
	line-height: var(--lineheight);
	color: var(--repcolor);
	font-weight: var(--medium);
	margin: 3vh 0px 10px 0px;
}

h5 {
	margin: 0px;
	padding: 0px;
	font-size: 105%;
	line-height: 115%;
}

.text-s {
	font-size: 80%;
	line-height: var(--lineheight);
}

.text-m {
	font-size: 90%;
	line-height: var(--lineheight);
}


p {
	margin: 0px 0px 20px 0px;
}



.ui-accordion .ui-accordion-content a,
.field--name-body a,
.field--name-field-text a {
		
	/* These are technically the same, but use both */
	overflow-wrap: break-word;
	word-wrap: break-word;
	
	-ms-word-break: break-all;
	/* This is the dangerous one in WebKit, as it breaks things wherever */
	word-break: break-all;
	/* Instead use this non-standard one: */
	word-break: break-word;
	
	/* Adds a hyphen where the word breaks, if supported (No Blink) */
	-ms-hyphens: auto;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;
}


.ui-accordion .ui-accordion-content ul,
.field--name-body ul,
.field--name-field-text ul,

.ui-accordion .ui-accordion-content ol,
.field--name-body ol,
.field--name-field-text ol  {
	margin: 0px;
	padding: 0px 0px 20px 22px;
}

.ui-accordion .ui-accordion-content table,
.field--name-body table,
.field--name-field-text table {
	margin-bottom: 20px;
}

ol.search-results {
	padding: 0px 0px 0px 0px;
	margin-top: var(--abstand-1);
}


.ui-accordion .ui-accordion-content h2:nth-child(1),
.ui-accordion .ui-accordion-content h3:nth-child(1),
.ui-accordion .ui-accordion-content h4:nth-child(1),
.ui-accordion .ui-accordion-content h5:nth-child(1) {
	margin-top: 0px;
}

.ui-accordion .ui-accordion-content .field--name-field-bausteine .field__item:nth-child(1) .paragraph {
	margin-top: 0px !important;
}

body {
	font-size: var(--fontsize);
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	line-height: var(--lineheight);
	
	padding: 0px;
	margin: 0px;
	position: relative;

	color: var(--schwarz);
}
body.page-node-type-homepage {
	background: #FFFFFF !important;
}


.bodybg {
	background-size: cover;
	background-attachment: fixed;
	background-position: center center;
	background-repeat: no-repeat;
	background-color: var(--weiss);
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 1;
	opacity: 0.1;
}

.path-imce .bodybg {
	display: none !important;
}

body.navactive {
	overflow: hidden;
}


body.page-node-type-blog-uebersicht,
body.page-node-type-blog {
	background-color: var(--bgcolor);

}

.layout-container {
	position: relative;
	z-index: 20;
}

body.page-node-type-blog-uebersicht .headerimagecontainer,
body.page-node-type-blog .headerimagecontainer {
	height: 10vw;
	min-height: 150px;

}
.headerimagecontainer {
	min-height: calc(var(--abstandtop) + 10px);
}

.region-headerimage {
	height: var(--headerslideinnen);
	position: relative;
	
}

.region-headerimage .bgimg {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}




.region-headerimage .flexslider ul li {
	height: var(--headerslideinnen);
}

.region-before-content {
	/* min-height: calc(var(--abstandtop) + 10px); */
}


.rtecenter,
.center {
	text-align: center;
}

.text-formatted table {
	width: 100%;
	border-left: solid 1px var(--maincolor);
	border-top: solid 1px var(--maincolor);
	overflow: auto;
}

.text-formatted  table td {
	border-bottom: solid 1px var(--maincolor);
	border-right: solid 1px var(--maincolor);
	padding: 5px 10px;
	box-sizing: border-box;
}
.text-formatted  table td a {
	border: solid 2px transparent;
	display: block;
	line-height: 100%;
}

.text-formatted  table td a:hover {
	border: solid 2px var(--repcolor);
}



/*  !HEADER */ 

header {
	position: fixed;
	left: 0px;
	top: calc(var(--abstandtop) + 10px);
	z-index: 99;
	width: calc(var(--spaltenbreite) - 20px);
	background: var(--weiss);
	padding: 20px 0px 16px 0px;
	box-sizing: border-box;
}

.authenticated header{
	top: calc(var(--abstandtop) + 10px + 70px);
}

.region-header {
	position: relative;
	margin-left: auto;
	margin-right: auto;
}


#block-whtheme-branding{
	width: 60%;
	margin-left: auto;
	margin-right: 20px;
	padding: 0px 0px;
	box-sizing: border-box;
}



/* STARTSLIDER */


.startslider .flex-control-nav {
	position: absolute;
	top: 300px;
	left: 100px;
	border: solid 10px yellow;
	z-index: 99;
	display: none !important;
}

.path-frontpage .region-startslider {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100vh;
	z-index: 5;
}

.startslider,
.view-startslider,
.startslider .flexslider,
.startslider .flex-viewport,
.startslider .flexslider ul.slides,
.startslider .flexslider ul.slides li {

}

.startslider .flexslider ul.slides li {
	height: 100vh;
}

/*

.startslider .flexslider ul.slides li .slogan div {
	transform: scale(1);
	transition: all 0.3s ease-in-out
}


.startslider .flexslider ul.slides li .slogan:hover div {
	transform: scale(1.05);
	transition: all 0.3s ease-in-out;
}
*/


.flexslider .slides img {
	width: 100%;
	height: 100%;
}

.flexslider .slides li {
	position: relative;
}



.startslider .flex-direction-nav {
	position: absolute;
	top: 50%;
	left: 0px;
	width: 100%;
	z-index: 80;
}

.flex-direction-nav .flex-prev {
	left: calc(var(--iconsize) + 10px) !important;
	width: var(--sliderpfeil);
	height: var(--sliderpfeil);
	background-image: url(../images/pfeilleft.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: var(--sliderpfeil) var(--sliderpfeil);
	
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
}

.flex-direction-nav .flex-next {
	right: calc(var(--iconsize) + 10px) !important;
	width: var(--sliderpfeil);
	height: var(--sliderpfeil);
	background-image: url(../images/pfeilright.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: var(--sliderpfeil) var(--sliderpfeil);
	
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
}

.flex-direction-nav .flex-prev img,
.flex-direction-nav .flex-next  img {
	width:  var(--sliderpfeil);
	height:  var(--sliderpfeil);
}

.flex-direction-nav .flex-prev:hover a {
	opacity: 1;
}

.flex-direction-nav .flex-next:hover a {
	opacity: 1;
}

.flexslider .flex-direction-nav a {
	display: block !important;
	margin: 0px !important;
	opacity: 0.3;
}


.startslider {
	position: relative;
	z-index: 5;
}
.startslider .bgimg {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: calc(100% - var(--footerheight) - 20px);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.startslider .slogan {
	position: absolute;
	left: 0px;
	top: 50%;
	width: 100%;
	text-align: center;
	z-index: 85;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
	font-size: 800%;
	line-height: var(--lineheight);
	font-weight: var(--bold);
	opacity: 1;
	

}

.startslider .slogan div {
	text-shadow: 1px 1px  1px rgba(255, 255, 255, 0.9);
	text-shadow: -1px -1px  1px rgba(255, 255, 255, 0.9);
}

.startslider .checkfarbe {
	display: none;
}

.startslider .bezeichnung {
	position: absolute;
	left: calc(var(--spaltenbreite) * 1.5 + 20px);
	top: calc(100vh - var(--footerheight) + 12px - 20px);
	padding-right: 5vw;
	box-sizing: content-box;
}

.startslider .views-field-edit-node {
	position: absolute;
	z-index: 99;
	left: 0px;
	top: 70%;
	width: 100%;
	text-align: center;
}

.views-field-field-bezeichnung {
	text-transform: uppercase;
	font-size: 200%;
	line-height: 120%;
	font-weight: var(--medium);

	
}

.views-field-field-bezeichnung-subtitel {
	text-transform: uppercase;
	font-size: 140%;
	line-height: 120%;

}

.leftbezeichnung {
	font-size: 80%;
	line-height: 120%;
	color: var(--repcolor);
	margin-bottom: 5vh;
}

.leftbezeichnung a,
.leftbezeichnung a:visited {
	color: var(--repcolor);
}

.leftbezeichnung a:hover,
.leftbezeichnung a:active {
	color: var(--repcolor);
}


.clickbox {
	position: absolute;
	z-index: 90;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
}

.clickbox img {
	width: 100%;
	height: 100%;
}





/* MENU */

.region-primary-menu {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: calc(100vh - var(--footerheight));
	background: rgba(255,255,255,0.95);
	z-index: 96;
	display: none;
}

.navactive .region-primary-menu {
	display: block;
}

.menuclick {
	position: fixed;
	top: var(--abstandtop);
	right: 0vw;
	z-index: 98;
	width: var(--spaltenbreite);
	height: var(--headerheightmobile);
}

.menutit {
	position: absolute;
	right: calc(3vw + 50px);
	top: 24px;
	color: var(--schwarz);
	font-size: 35px;
	line-height: 35px;
	text-shadow: 1px 1px  1px rgba(255, 255, 255, 0.9);
	text-shadow: -1px -1px  1px rgba(255, 255, 255, 0.6);
}

.authenticated .menuclick {
	top: calc(var(--abstandtop) + 70px);
}





.navactive .menutit {
	display: none;
}

.topmenutrigger {
	border: none;
	width: 100%;

	height: 40px;
	width: 40px;
	text-indent: -900em;
	overflow: hidden;
	cursor: pointer;
	outline: none;
	top: 18px;
	right: 3vw;
	z-index: 94;
	position: absolute;
}




.topmenutrigger span {
	background: var(--schwarz);
	border: none;
	height: 4px;
	border-radius: 0px;
	width:100%;
	position: absolute;
	top: 50%;
	left: 0%;
	cursor: pointer;
	 -webkit-transition: all .35s ease;
	transition: all .35s ease;
	display: block;
	box-shadow: 1px 1px  1px rgba(255, 255, 255, 0.9);
	box-shadow: -1px -1px  1px rgba(255, 255, 255, 0.5);

}

.topmenutrigger:hover span {
	background: var(--schwarz);
}

.topmenutrigger span:nth-of-type(1) {
	-webkit-transform: translateY(-10px);
	-moz-transform: translateY(-10px);
	transform: translateY(-10px);
}

.topmenutrigger span:nth-of-type(2) {

	width: 100%;
}
.topmenutrigger span:nth-of-type(3) {

	width: 100%;
	-webkit-transform: translateY(10px);
	-moz-transform: translateY(10px);
	transform: translateY(10px);
}

.topmenutrigger.active span {
		top: 50%;
}


.topmenutrigger.active .top {
	-moz-transform: translateY(0px) translateX(0%) rotate(45deg);
	-webkit-transform: translateY(0px) translateX(0%) rotate(45deg);
	transform: translateY(0px) translateX(0%) rotate(45deg);

	background: var(--schwarz);
	width:90%;
	left: 0%;

}
.topmenutrigger.active .middle {
	display: none;
	background: var(--schwarz);
	width:100%;
}
.topmenutrigger.active .bottom {
	-moz-transform: translateY(0px) translateX(0%) rotate(-45deg);
	-webkit-transform: translateY(0px) translateX(0%) rotate(-45deg);
	transform: translateY(0px) translateX(0%) rotate(-45deg);
	width:90%;
	background: var(--schwarz);
	left: 0%;

}
.navnurmobile {
	display: none;
}
.topmenu {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	line-height: var(--lineheight);
	font-weight: var(--bold);
	font-size: 110%;

}
.topmenu ul li{
	margin: 0px 0px 15px 0px;
}

.topmenu ul { 
	margin: 0px;
	padding: 0px;
	list-style: none;
}

.topmenu ul li a,
.topmenu ul li span {
	display: block;
	position: relative;
}
.topmenu ul li a:before,
.topmenu ul li span:before {
	content: "›";
	font-size: 40px;
	line-height: 40px;
	position: absolute;
	left: -20px;
	top: -12px;
}


.topmenu ul.level1 {
	width: 160px;
}

.topmenu ul.level2 {
	max-width: 30vw;
	-webkit-transform: translateY(-20%);
	-moz-transform: translateY(-20%);
	transform: translateY(-20%);
}

.topmenu ul.level3 {
	width: 30vw;

}



.topmenu ul.level1 {
	position: absolute;
	left: 8vw;
	top: 50%;
	
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
}


.topmenu ul.level1 li {

}

.topmenu ul.level1 li.hover {

}


.topmenu ul.level2 {
		position: absolute;
		top: 50%;
		left: 120%;
		margin-left: 3vw;
		
		-webkit-transform: translateY(-50%);
		-moz-transform: translateY(-50%);
		transform: translateY(-50%);
}
.topmenu li.mlevel2 {
	white-space: nowrap;
}

.topmenu li.largermenu > ul.level2 li.mlevel2 {
	white-space: initial;
	min-width: 25vw;
}


.topmenu ul.level2 li {

}

.topmenu ul.level1 > li:not(.menu-item--active-trail) ul {
	display: none;
}


.topmenu ul.level3 {
		position: absolute;
		top: 50%;
		left: 120%;
		margin-left: 3vw;
		
		-webkit-transform: translateY(-50%);
		-moz-transform: translateY(-50%);
		transform: translateY(-50%);
}

.topmenu ul.level2 > li:not(.menu-item--active-trail) ul {
	display: none;
}

.topmenu ul li a,
.topmenu ul li a:visited,
.topmenu ul li span {
	color: var(--schwarz);
}


.topmenu ul li.hover > a,
.topmenu ul li.hover > span,
.topmenu ul li.hover a:hover  {
		color: var(--actioncolor);
}


.topmenu ul li a.is-active,
.topmenu ul li.menu-item--active-trail > a,
.topmenu ul li.menu-item--active-trail > span {
	color: var(--repcolor);
}


.leftmenu {
	line-height: var(--lineheight);

	font-weight: var(--medium);
}
.leftmenu ul.level1 {
	margin-left: 22px;
}

.leftmenu ul.level2 {
	margin-left: 14px;
	font-size: 90%;
	line-height: var(--lineheight);
}
.leftmenu ul.level2 li {
	margin: 5px 0px;
}

.leftmenu ul.level2 li a:before {
	font-size: 20px;
	left: -12px;
}

.leftmenu ul li a,
.leftmenu ul li a:visited {
	color: var(--schwarz);
}

.leftmenu ul li a:hover,
.leftmenu ul li a:active {
	color: var(--actioncolor);
}

.leftmenu ul li a.is-active,
.leftmenu ul li.menu-item--active-trail > a {
	color: var(--repcolor);
}



.leftmenu ul li.menu-item--active-trail > a {
	/* color: var(--repcolor); */
}



.leftmenu ul li {
	margin: 0px 0px 15px 0px;
}


.leftmenu ul { 
	margin: 0px;
	padding: 0px;
	list-style: none;
}


.leftmenu ul li a{
	display: block;
	position: relative;
}

.leftmenu ul li a:before {
	content: "›";
	font-size: 40px;
	line-height: 40px;
	position: absolute;
	left: -20px;
	top: -12px;
}




/* FOOTER */

footer {
	position: fixed;
	left: 0px;
	bottom: 0px;
	width: 100%;
	height: var(--footerheight);
	background: var(--weiss);
	z-index: 99;
}

.region-startslider .accountmenu {
	position: absolute;
	right: calc(3vw + 140px);
	/* top: calc((100vh - var(--footerheight)) + (var(--footerheight) /2 - 5px)); */
	z-index: 10;
	/*
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
	*/
	
	bottom: 10px;
}

.footermenu {
	position: absolute;
	right: 3vw;
	top: calc(50% - 5px);
	
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
}

.usermenu ul.menu {
	list-style: none;
	text-transform: uppercase;
	padding: 0px;
	margin: 0px;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	flex-wrap: wrap;
}

.usermenu ul.menu li:not(:last-child) {
	margin-right: 10px;
}

.usermenu ul.menu li:not(:last-child):after {
	content: "|";
	margin-left: 10px;
}

.usermenu ul.menu a,
.usermenu ul.menu a:visited {
	color: var(--grau);
}

.usermenu ul.menu a:hover,
.usermenu ul.menu a:active,
.usermenu ul.menu a.is-active {
	color: var(--repcolor);
}


.view-footer-bildungmenu.view-display-id-block_2 {
	position: absolute;
	top: calc(100vh - var(--footerheight));
	z-index: 99;
	width: 400px;
	height: 50px;
}

.view-footer-bildungmenu.view-display-id-block_2 ul.slides {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	width: 300px !important;
	border: solid 2px red;
	height: 40px;
	
	-webkit-transform: none !important;
	-moz-transform:  none !important;
	transform:  none !important;
	
}


.bildungmenu .views-field-field-bezeichnung-subtitel,
.bildungmenu  .views-field-field-farbe-2 {
  display: none;
}


.page-node-type-homepage .bildungmenu .views-row .views-field-field-bezeichnung {
	display: none !important;
}

.bildungmenu .views-row.out {
	display: none !important;
}

.bildungmenu .views-row .views-field-field-bezeichnung {
	position: absolute;
	left: 0px;
	top: 50px;
	bottom: 0px;
	font-size: 100%;
	line-height: var(--lineheight);
	width: calc(100vw - 40px);
	opacity: 0;
	white-space: initial;
	background: #FFFFFF;
	-webkit-transform: translateY(0%);
	-moz-transform: translateY(0%);
	transform: translateY(0%);
	padding: 0px 20px 20px 20px;
	box-sizing: border-box;
	height: 100px;
	z-index: 99;
}


.bildungmenu .views-row:hover .views-field-field-bezeichnung {
	opacity: 1;
}


footer .bildungmenu {
	position: absolute;
	left: 0px;
	top: 0px;
	width: calc(var(--spaltenbreite) * 1.5);
	height: 30px;
}



.region-startslider .bildungmenu {
	position: absolute;
	left: 0px;
	top: calc(100vh - var(--footerheight) - 20px);
	width: calc(var(--spaltenbreite) * 1.5);
	height: 30px;
}

.bildungmenu .view-content {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.bildungmenu .views-row {
	flex-basis: 100%;
	/* position: relative; */

}

.bildungmenu .colorfleck {
	width: 100%;
	transform: scale(1);
	transition: all 0.6s ease-in-out;
	position: relative;
	z-index: 60;
}

.bildungmenu .colorfleck:hover {
	transform: scale(1.2);
	transition: all 0.6s ease-in-out;
	z-index: 65;
}

.bildungmenu .colorfleck a {
	display: block;
	width: 100%;
	height: 100%;
	line-height: 0px;

}


.bildungmenu .colorfleck img {
	width: 100%;
	height: 45px;
}



/* CONTENT */


.page-node-type-landingpage #block-whtheme-page-title,
.page-node-16 #block-whtheme-page-title {
	display: none !important;
}

.page-node-type-landingpage .blogblock {
	margin-top: 0px !important;
}


.maxwidthcontent {
	max-width: 1200px;
}

 .region-content {
	padding-bottom: calc(var(--footerheight) * 2);
	box-sizing: border-box;
}

.page-node-44 .region-content {
	padding-bottom: 0px;
}

.page-node-44 .region-facets {
	padding-bottom: calc(var(--footerheight) * 2);
	padding-right: 230px;
	box-sizing: border-box;
}

.contentcontainer {

}

.contentcontainer.twocol {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}


.views-field-field-headerbild {
	line-height: 0px;
}

.views-field-field-headerbild img {
	width: 100%;
	height: auto;
}

.contentcontainer.twocol .layout-sidebar-first {
	flex-basis: 25%;
	margin-right: 5%;
}

.layout-sidebar-first {
	padding-top: var(--abstand-2);
}

.contentcontainer.twocol .region-content {
	flex-basis: 100%;
}

.region-content {
	color: var(--grau);
	background: var(--weiss);
	padding: var(--abstand-2) var(--abstand-2) calc(var(--footerheight) + 30px) var(--abstand-2);
	box-sizing: border-box;
}



/* SHORTLINKS */

.region-overall {
	position: relative;
	z-index: 99;
}

.shortlinks {
	position: fixed;
	right: 0px;
	z-index: 99;
	top: calc(100vh / 2);
	
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
}

.shortlinks .views-row {
	width: var(--iconsize);
	height: var(--iconsize);
	background: var(--schwarz);
	padding: 0px;
	box-sizing: border-box;
	margin-bottom: 1px;
	position: relative;
	transform: scale(1);
	transition: all 0.6s ease-in-out;
}

.shortlinks .views-row:hover {
	background: var(--actioncolor);
	transform: scale(1.2);
	transition: all 0.6s ease-in-out;
	z-index: 99;
	
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}




.shortlinks .views-row a,
.shortlinks .views-row span {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	padding: 15px;
	box-sizing: border-box;
}

.shortlinks .views-row img {
	width: 100%;
	height: auto;
}


/* SEARCH */

.lupe:hover {
	cursor: pointer;
}

.searchoverlay {
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.9);
	top: 0px;
	left: 0px;
	z-index: 100;
		 display: none;
}

.searchoverlay.active {

		display: block;
}

.search {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-70%) translateX(-50%);
	-moz-transform: translateY(-70%) translateX(-50%);
	transform: translateY(-70%) translateX(-50%);
	margin-left: -20px;
	width: 40vw;
}

.search input {
	margin: 0px;
}

.search input[type=search] {
	padding-right: 40px;
	box-sizing: border-box;
	padding: 10px 0px;
	border: 0px;
	border-bottom: solid 2px #FFFFFF;
	background: transparent;
	box-shadow: 0px;
	color: #FFFFFF;
	font-size: 200%;
	width: 100%;
}

.search input[type=submit] {
	position: absolute;
	right: -55px;
	bottom: 0px;
	width: 50px;
	height: 50px;
	background-color: transparent;
	text-indent: 100px;
	background-image: url(../images/searchicon.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	
}

.search input[type=submit]:hover {
	background-image: url(../images/searchicon_hover.svg);
}


.searchclose {
	z-index: 99;
	position: absolute;
	top: 5vh;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	transform: translateX(-50%);
	padding: 30px;
	box-sizing: border-box;
	font-size: var(--iconsizesmall);
	line-height: var(--iconsizesmall);
	text-align: center;
	color: var(--weiss);
	
	background-image: url(../images/icon_close.svg);
	background-repeat: no-repeat;
	background-size: 30px 30px;
	background-position: center center;
}

.searchclose:hover {
	background-image: url(../images/icon_close_hover.svg);
	cursor: pointer;
	color: var(--actioncolor);
}

/* BUTTONS */

.button {
	margin-right: 20px;
	margin-bottom: 20px;
}

.button.downloadbutton a {
	background-image: url(../images/icon_download.svg);
	background-position: 25px 15px;
	background-repeat: no-repeat;
	background-size: 20px 20px;
}

.button a,
.button a:visited {
	display: table;
	padding: 15px 25px 15px 50px;
	box-sizing: border-box;
	background-color: var(--repcolor);
	color: var(--weiss);
	font-weight: var(--medium);
}

.button a:hover,
.button a:active {
	background-color: var(--maincolor);
	color: var(--weiss);
}

.linkbutton a,
.linkbutton a:visited {
	text-transform: uppercase;
	font-weight: var(--bold);
	color: var(--repcolor);
}

.linkbutton a:hover,
.linkbutton a:active {
	color: var(--schwarz);
}


/* PARAGRAPHS */


.paragraph {
	margin-top: var(--abstand-2);
}

.paragraph .paragraph {
	margin-top: 0px !important;
}
.paragraph--type--titel + .paragraph  {
	margin-top: 20px;
}


.downloads {
	
}

.downloads .field__items {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.blogliste .bildtext,
.field--name-field-blog-bild .bildtext {
	display: none;
}
.bildtext {
	font-style: italic;
}

.textbildlr {
	
}


.textbildlr.umflossen.left {
	
}

.textbildlr.umflossen .field--name-field-bild {
	width: 40%;
	margin-bottom: var(--abstand-1);
}

.textbildlr.umflossen.left .field--name-field-bild {
	margin-right: 30px;
	float: left;
}

.textbildlr.umflossen.right .field--name-field-bild {
	margin-left: 30px;
	float: right;
}

.textbildlr .field--name-field-bild img {
	width: 100%;
	height: auto;
}

.textbildlr.nichtumflossen {
	display: flex;
	
	justify-content: space-between;
}

.textbildlr.nichtumflossen.left {
	flex-direction: row;
}

.textbildlr.nichtumflossen.right {
	flex-direction: row-reverse;
}

.textbildlr.nichtumflossen > div {
	flex-basis: calc(50% - 15px);
}




.textbildlr.nichtumflossen.left {
	
}


.bildergalerie .field--name-field-bilder-galerie {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.bildergalerie .field--name-field-bilder-galerie > div {
	flex-basis: calc(20% - 10px);
	margin-bottom: 10px;
	margin-right: 10px;
}

.bildergalerie .field--name-field-bilder-galerie > div img {
	width: 100%;
	height: auto;
}


.field--name-field-video {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
}

.field--name-field-video > div {
	flex-basis: 100%;
}
.field--name-field-video > div:not(:first-child) {
	margin-left: 20px;
	
}

video,
iframe {
	width: 100% !important;
	height: auto !important;
}

.field--name-field-media-oembed-video {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
}
.field--name-field-media-oembed-video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}


.bilderinreihe {
	
}

.bilderinreihe .field--name-field-bilder-in-reihe {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
}

.bilderinreihe .field--name-field-bilder-in-reihe .field__item {
	flex-basis: 100%;
}

.bilderinreihe .field--name-field-bilder-in-reihe .field__item:not(:last-child) {
	margin-right: 10px;
}

.bilderinreihe .field--name-field-bilder-in-reihe img {
	width: 100%;
	height: auto;
}


.paragraph--type--text-in-rahmen {
	background: var(--bgcolor);
	padding: 20px;
	box-sizing: border-box;
}

.paragraph--type--text-in-rahmen p:nth-last-child(1) {
	margin-bottom: 0px;
}

.paragraph--type--text-in-rahmen h2:nth-child(1),
.paragraph--type--text-in-rahmen h3:nth-child(1),
.paragraph--type--text-in-rahmen h4:nth-child(1) {
	margin-top: 0px;
}


/* BLOG */

.blogbutton {
	position: fixed;
	right: calc(var(--iconsize) + 2px);
	bottom: calc(var(--iconsize) + var(--footerheight));
}

.blogbutton a,
.blogbutton a {
	display: block;
	border: solid 4px var(--schwarz);
	color: var(--weiss);
	background: var(--schwarz);
	
	font-size: 200%;
	line-height: 120%;
	padding: 10px;
	text-transform: uppercase;
	font-weight: var(--medium);
	
	width: min-intrinsic;
	width: -webkit-min-content;
	width: -moz-min-content;
	width: min-content;
	display: table-caption;
	display: -ms-grid;
	-ms-grid-columns: min-content;
}

.blogbutton a:hover,
.blogbutton a:active {
		color: var(--weiss);
		border-color: var(--repcolor);
		background: var(--repcolor);
}

.blogblock {
	margin-top: var(--abstand-2);
}

.field--name-field-blog-bild img {
	width: 100%;
	height: auto;
}



.social-sharing-buttons {
	justify-content: flex-start !important;
	position: relative;
	margin-left: -10px;
}

.blogliste .view-content {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	flex-wrap: wrap;
}


.blogliste .views-row {
	margin-bottom: var(--abstand-1);
	position: relative;
}


.blogliste.alle .views-row {
	margin-bottom: var(--abstand-1);
	position: relative;
	flex-basis: calc(33.333333% - 20px);
	margin-right: 30px;
}

.blogliste.alle .views-row:nth-child(3n+3){
	margin-right: 0px;
}

.blogliste.landing .view-content {
	justify-content: space-between;
}

.blogliste.landing .views-row {
	flex-basis: calc(50% - 15px);
}



.blogliste .views-row .views-field-field-blog-bild {
	overflow: hidden;
	line-height: 0px;
}

.blogliste .views-row .views-field-field-blog-bild img {
	width: 100%;
	height: auto;
	transform: scale(1);
	transition: all 0.3s ease-in-out;
	position: relative;
}

.blogliste .views-row:hover .views-field-field-blog-bild img {
	transform: scale(1.1);
	transition: all 0.3s ease-in-out;
}


.blogliste h2 {
	padding: 0px;
	margin: 10px 0px;
	color: var(--grau);
}

.blogliste .views-field-field-beitragsdatum {
	margin-top: 10px;
}
.blogliste .views-field-view-node {
	margin-top: 10px;
}

.blogliste .views-row:hover h2 {
	color: var(--repcolor);
}

.page-node-type-blog .field--name-body img:nth-child(1) {

}

.page-node-type-blog .field--name-body table img:nth-child(1) {
	display: block !important;
	width: 100%;
	height: auto;
}


.page-node-type-blog .field--name-body img,
.page-node-type-projekt .field--name-body img {
	max-width: 100%;

	/*
	width: calc(50% - 20px);
	height: auto;
	margin-right: 10px;
	margin-bottom: 20px;
	*/
}

.page-node-type-blog  .blogtextcontainer,
.page-node-type-projekt  .blogtextcontainer {
	display: table;
	width: 100%;
}


.page-node-type-blog  .blogtextcontainer .field--name-field-blog-bild,
.page-node-type-projekt  .blogtextcontainer .field--name-field-blog-bild {
	float: right;
	width: calc(50% - 30px);
	margin-left: 30px;
}


.page-node-type-blog  .field--name-field-beitragsdatum,
.page-node-type-projekt  .field--name-field-beitragsdatum {
	margin-bottom: 20px;
}


/* MAINMENU */

.primarymenucontent {
	overflow: auto;
}

.mobilemenu {
	position: relative;
	margin-left: 0px;
	margin-right: 0px;
	padding: 0px 80px;
	overflow: auto;
	top: calc(var(--headerheightmobile) + 30px);
	text-align: center;
	display: none;
	margin-bottom: 100px;
	overflow: auto;
}

.mobilemenu ul {
	margin: 0px 0px 5vh 0px;
	padding: 0px;
	list-style: none;
}


.mobilemenu ul li.mlevel1 {
	margin: 20px 0px 0px 0px;
	padding: 0px;
	list-style: none;
}

.mobilemenu ul li.mlevel1.menu-item--expanded > a:after {
	/* content: url(../images/sprachicon_w.svg); */
	display: block;
	width: 10px;
	height: auto;
	position: absolute;
	right: -10px;
	top: 50%;
	
	-webkit-transform: translateY(-60%) translateX(120%);
	-moz-transform: translateY(-60%) translateX(120%);
	transform: translateY(-60%) translateX(120%);
}
.mobilemenu ul li.mlevel1 > a,
.mobilemenu ul li.mlevel1 > span {
	font-size: 180%;
	line-height: 180%;
	position: relative;
	color: var(--grau);
}

.mobilemenu ul li.mlevel2 > a,
.mobilemenu ul li.mlevel2 > span {
	font-size: 130%;
	line-height: 180%;
	position: relative;
	color: var(--grau);
}

.mobilemenu ul li.mlevel1.menu-item--active-trail > a,
.mobilemenu ul li.mlevel1.menu-item--active-trail > span {
	/* font-weight: var(--bold); */

}



.mobilemenu ul li a,
.mobilemenu ul li a:visited {
	color: var(--grau);
}

.mobilemenu ul li a:hover,
.mobilemenu ul li a:active,
.mobilemenu ul li a.is-active {
	color: var(--repcolor);
	
}
.mobilemenu ul.level2 {
	padding-top: 5px;
	margin-bottom: 30px;

}

.mobilemenu ul.level3 {
	padding-top: 5px;
	margin-bottom: 30px;
	opacity: 0.5;
}

.mobilemenu li.mlevel1:not(.menu-item--active-trail) ul.level2 {
	display: none;
}

.mobilemenu li.mlevel1:not(.menu-item--active-trail) ul.level3 {
	display: none;
}

.mobilemenu li.mlevel1.menu-item--active-trail > a,
.mobilemenu li.mlevel1.menu-item--active-trail > span {
	color: var(--repcolor);
}



.mobilemenu li.mlevel2:not(.menu-item--active-trail) ul.level3 {
	display: none;
}

.mobilemenu li.mlevel2:not(.menu-item--active-trail) ul.level3 {
	display: none;
}

.mobilemenu li.mlevel2.menu-item--active-trail > a,
.mobilemenu li.mlevel2.menu-item--active-trail > span{
	color: var(--repcolor);
}

.mobilemenu ul.level2 li {
	line-height: var(--lineheight);
	margin: 0px 0px 3px 0px;
	text-transform: initial;
}

.mobilemenu ul.level3 li {
	line-height: var(--lineheight);
	margin: 0px 0px 3px 0px;
	text-transform: initial;
}




.mainmenu ul.level2 li.menu-item--active-trail > a,
.mainmenu ul.level2 li.menu-item--active-trail > span {
	color: var(--actioncolor);
}


/* ACCORDION */

.accordionblock {
	text-align: left;
	box-sizing: border-box;
}

.accordionblock h3.accordionblocktitle {
	margin-top: 0px;
	padding-top: 0px;
	margin-bottom: 30px;
}

.acctitle {
}


.accordionblock h4,
.accordionblock h3 {
	margin: 0px 0px 10px 0px;
	padding: 0px;
}

.ui-widget {
	font-family: var(--fontfamily);
	text-align: left;
}

.ui-widget-content {
	color: var(--grau);
}

.ui-accordion .ui-accordion-content {
	padding: 35px 35px;
	box-sizing: border-box;
}




.page-node-type-legal .ui-accordion .ui-accordion-content ul {
	margin: 0px;
	padding: 0px 0px 0px 22px;
}

.page-node-type-legal .ui-accordion .ui-accordion-content h2 {
	margin-top: 0px;
	padding-top: 0px;
}
.ui-accordion .ui-accordion-content table,
.page-node-type-legal .maincontent table {
	border-left: solid 1px var(--grau);
	border-top: solid 1px var(--grau);
}

.ui-accordion .ui-accordion-content table td,
.page-node-type-legal .maincontent table td {
	border-bottom: solid 1px var(--grau);
	border-right: solid 1px var(--grau);
	padding: 10px;
	box-sizing: border-box;
}

.ui-accordion .ui-accordion-content table td p,
.page-node-type-legal .maincontent table td p {
	margin: 0px;
}

.ui-widget .ui-state-active {

}


.ui-corner-all, .ui-corner-top, 
.ui-corner-right, .ui-corner-tr {
		border-top-right-radius: 0px/*{cornerRadius}*/;
}

.ui-corner-all, .ui-corner-top, 
.ui-corner-left, .ui-corner-tl {
	border-top-left-radius: 0px/*{cornerRadius}*/;
}

.ui-corner-all, .ui-corner-bottom, 
.ui-corner-right, .ui-corner-br {
		border-bottom-right-radius: 3px/*{cornerRadius}*/;
}


.ui-accordion .ui-accordion-header {
		display: flex;
		cursor: pointer;
		position: relative;
		margin: 2px 0 0 0;
		padding: 12px 20px 12px 35px;
		font-size: 100%;
		background-color:#fff;
		border:solid 1px #CCCCCC;
		align-items:flex-start;
		flex-wrap: wrap;
}


.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
	display:block;
	width:20px;
	height: 20px;
	margin-top: 0px;
	position: absolute;
	left: 15px;
	top: 13px;
}

.ui-accordion .ui-accordion-header.ui-state-hover {
	background-color: var(--bgcolor);
}

.ui-accordion .ui-accordion-header.ui-state-active {
		background-color:var(--repcolor);
		background-image:none;
		border:none;
		font-family: var(--fontfamily);

}


.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl {
		border-top-left-radius: 0px/*{cornerRadius}*/;
}
.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr {
		border-top-right-radius: 0px/*{cornerRadius}*/;
}
.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br {
		border-bottom-right-radius: 0px/*{cornerRadius}*/;
}
.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl {
		border-bottom-left-radius: 0px/*{cornerRadius}*/;
}

.acctitle {
	display: block;
	clear: both;
	flex-basis: 100%;
	font-weight: var(--medium);
}



/* SHOW MORE */

.pagercontent {
	position: relative;
}
body:not(.page-node-type-blog-uebersicht) .pagercontent {
	margin-bottom: 100px;
}

ul.pager-show-more  {
	list-style: none;
	margin: 0 0px 0px 0px;
	padding: 30px 0px 0px 0px;
	text-align: center;
	/* border-top: solid 1px var(--bgcolor); */
	position: absolute;
	right: 0px;
	top: 0px;
}

ul.pager-show-more  li {
	list-style: none;
	margin: 0px auto 0px auto;
	padding: 0px;
	text-align: center;
	
}

ul.pager-show-more  li a,
ul.pager-show-more  li a:visited {
	display: table;
	margin-left: auto;
	margin-right: auto;

}


ul.pager-show-more .button a, 
ul.pager-show-more .button a:visited {
	padding: 15px 25px 15px 25px
}

.blogpager {
	border-top: solid 1px var(--bgcolor);
	padding-top: 30px;
}


.entity-pager-item-next a,
.entity-pager-item-next a:visited,
.entity-pager-item-prev a,
.entity-pager-item-prev a:visited {
	padding: 10px 10px;
	box-sizing: border-box;
	color: var(--weiss);
	background: var(--repcolor);	
}

ul.entity-pager-list {
	
} 

.entity-pager-item-next a:hover,
.entity-pager-item-next a:active,
.entity-pager-item-prev a:hover,
.entity-pager-item-prev a:active {
	padding: 10px 10px;
	box-sizing: border-box;
	color: var(--weiss);
	background: var(--grau);	
}

.entity-pager-item-count {
	padding-top: 20px;
	font-size: 80%;
}



/* FACETS */

.region-facets {
	background: var(--weiss);
	padding: var(--abstand-2) var(--abstand-2) 0 var(--abstand-2);
	box-sizing: border-box;
	
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.region-facets > div:not(:last-child) {
	margin-right: 20px;
}


.region-facets > div {
	margin-bottom: 5px;
}


.region-facets select {
	height: 50px;
	border: 0px;
	width: 100%;
	background-color: var(--weiss);
	padding: 0px 40px 0px 15px;
	box-sizing: border-box;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: var(--schwarz);
	border: solid 1px var(--grau);
	
	background-image: url(../images/selectpfeil.svg);
	background-repeat: no-repeat;
	background-position: calc(100% - 15px) center;
	background-size: 20px 20px;
}

.block-facets-summary ul {
	margin: 0px;
	padding: 0px;
	list-style: none;
}

.block-facets-summary li {
	margin: 0px;
	padding: 0px;
	list-style: none;
}

.block-facets-summary li.facet-summary-item--facet {
	display: none !important;
}


.block-facets-summary li a,
.block-facets-summary li a:visited {
	display: table;
	padding: 15px 25px 15px 25px;
	box-sizing: border-box;
	background-color: var(--repcolor);
	color: var(--weiss);
	font-weight: var(--medium);
}

.block-facets-summary li a:hover,
.block-facets-summary li a:active {
	background-color: var(--maincolor);
	color: var(--weiss);
}

/* pDF*/

iframe.pdf {
	height: 520px !important;
}


/* BESCHLÜSSE */

.beschluesse {
	margin-top: 30px;
}

.beschluesse ul {
	margin: 0px;
	padding: 0px;
}

.date-pager li {
	margin-right: 10px
}

.date-pager ul ul {
	margin-left: 0px;
}

.date-pager {
	border-bottom: solid 1px var(--maincolor);
	margin-bottom: 20px;
	padding-bottom: 5px;
}

.beschluesse .views-row {
	padding: 10px 0px;
	border-bottom: solid 1px var(--bgcolor);
}


/* WEIGHTTABLE */

.weighttable {
	border: solid 1px var(--maincolor);
	padding: 20px;
}

.weighttable h3 {
	margin-top: 0px;
}

.weighttable table {
	width: 100%;
}

.weighttable table td {
	padding: 10px;
	border-bottom: solid 1px var(--bgcolor);
}

.weighttable .tabledrag-toggle-weight-wrapper {
	display: none;
}


/* TEAM */

.field--name-field-team {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: stretch;
	align-self: stretch;
	flex-wrap: wrap;
}

.field--name-field-team > .field__item {
	align-self: stretch;
	flex-basis: calc(33.333333% - 20px);
	margin-right: 20px;
	border: solid 1px var(--bgcolor);
	box-sizing: border-box;
	margin-bottom: 20px;
}


.field--name-field-team .field--name-field-portrait  {
	
}

.field--name-field-team .field__item img {
	width: 100%;
	height: auto;

}


.field--name-field-team .field--type-telephone,
.field--name-field-team .field--name-field-e-mail {
	display: flex;
	flex-direction: row;
}

.teamset .field__label {
	margin-right: 5px;
}

.field--name-field-team .teamset {
	padding: 20px 20px 20px 20px;
	box-sizing: border-box;
}

.teamset h4 {
	margin: 0px;
	padding: 0px;
}

.teamset a, 
.teamset a:visited {
	color: var(--schwarz);
}
.teamset a:hover, 
.teamset a:active {
	color: var(--actioncolor);
}

.teamsuperset {
	margin-top: 20px;
}


/*
	
	
	
	
*/

@media all and (max-width: 1680px) {

		.startslider .slogan {
			font-size: 600%;
			line-height: var(--lineheight);
		}
	
}










@media all and (min-width: 1920px) {
	
	:root {
		--fontsize: 110%;
		--lineheight: 140%;
	}
	

}

@media all and (max-width: 1112px) {
	
	.menutit {
		font-size: 30px;
		line-height: 30px;
		top: 8px;
	}
	
}


@media all and (max-width: 1024px) {
	
	
	:root {
		--iconsize: 40px;
		--sliderpfeil: 20px;
	}
	
	
	body.page-node-type-blog-uebersicht .headerimagecontainer,
	body.page-node-type-blog .headerimagecontainer {
		height: 0vw;
		min-height: 0px;
	
	}
	

	.topmenutrigger {
		top: 0px
	}
		
	body.navactive footer {
		display: none;
	}
	
	.region-primary-menu {
		height: 100vh;
		overflow: auto;
	}
	
	.path-frontpage footer {
		height: var(--footerheightfront);
	}
	
	.startslider .bgimg {
		height: calc(100% - var(--footerheightfront) - 20px);
	}
	
	.region-startslider .bildungmenu {
		top: calc(100vh - var(--footerheightfront) - 20px);
	}
	


	
	header {
		top: 0px;
		left: 0px;
		width: 100%;
		height: var(--headerheightmobile);
		padding: 0px;
		box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
	}
	.region-header {
		height: var(--headerheightmobile);
	}
	
	
	#block-whtheme-branding {
		position: absolute;
		width: auto;
		top: 50%;
		left: 5vw;
		-webkit-transform: translateY(-45%);
		-moz-transform: translateY(-45%);
		transform: translateY(-45%);
	}
	
	#block-whtheme-branding img {
		height: calc(var(--headerheightmobile) - 30px);
		width: auto;
	}
	
	.menuclick {
		top: 12px;
		right: 0vw;
		z-index: 99;
	}
	

	
	.topmenu {
		display: none !important;
	}
	
	.mobilemenu {
		display: block !important;
	}
	
	.contentcontainer.twocol .layout-sidebar-first {
		display: none;
	}
	
	.layout-container {
		padding-top: var(--headerheightmobile);
	}
	
	.maxwidth {
		margin-left: 0px;
		margin-right: 0px;
	}
	
	.region-content {
		padding: var(--abstand-2) var(--abstand-1) calc(var(--footerheight) + 30px) var(--abstand-1);
	}
	
	.shortlinks {
		
		top: calc(var(--headerheightmobile) + 20vh);
		
		-webkit-transform: translateY(0%);
		-moz-transform: translateY(0%);
		transform: translateY(0%);
	}
	
	.shortlinks .views-row a, 
	.shortlinks .views-row span {
		padding: 10px;
	}
	
	.region-before-content {
		min-height: 0px;
	}
	
	.startslider .slogan {
		font-size: 400%;
		line-height: var(--lineheight);

	}
	
	.startslider .bezeichnung {
		left: var(--abstand-1);
		top: calc(100vh - var(--footerheightfront) + 40px);
	}
	
	.region-startslider .bildungmenu,
	footer .bildungmenu {
		width: 40%;

	}
	
	.footermenu {
		top: auto;
		bottom: 10px;
		-webkit-transform: translateY(0%);
		-moz-transform: translateY(0%);
		transform: translateY(0%);
		right: auto;
		left: var(--abstand-1);
		padding-right: 130px;
	}
	
	.blogliste.alle .view-content {
		justify-content: space-between;
	}
	
	.blogliste.alle .views-row {
		flex-basis: calc(50% - 15px);
		margin-right: 30px;
	}
	
	.blogliste.alle .views-row{
		margin-right: 0px;
	}
	
	.startslider .slogan,
	.startslider .flex-direction-nav {
		top: 45%;
	}
	
	
	.region-startslider .accountmenu {
		right: auto;
		left: var(--abstand-1);
		bottom: 10px;
		padding-right: 30px;
	}
	
	.usermenu ul.menu {
		justify-content: flex-start;
	}
	
}

@media all and (min-width: 1024px) {

		.region-startslider .bildungmenu {
			position: absolute;
			left: 0px;
			top: calc(100vh - var(--footerheight) - 20px);
			width: calc(var(--spaltenbreite) * 1.5);
			height: 30px;
		}
		
		.bildungmenu .views-row {
			flex-basis: 100%;
			position: relative;
		
		}
		
		.bildungmenu .views-row .views-field-field-bezeichnung {
			background: transparent;
			padding: 0px;
			white-space: nowrap;
			top: 60px;
			left: 20px;
		}

}


@media all and (max-width: 834px) {

			.field--name-field-team {
					justify-content: space-between;
			}
			
			.field--name-field-team > .field__item {
				flex-basis: calc(50% - 20px);
				margin-right: 0px;
			}
			
		
			
			

}


@media all and (max-width: 768px) {
	
	.user-login-form .form-item-name,
	.user-login-form .form-item-pass {
		width: 100%;
		float: none;
	}
	
	.node--type-legal .node__content {
		overflow-x: hidden;
	}
	
	.page-node-type-legal .node__content a {
	
		/* These are technically the same, but use both */
		overflow-wrap: break-word;
		word-wrap: break-word;
	
		-ms-word-break: break-all;
		/* This is the dangerous one in WebKit, as it breaks things wherever */
		word-break: break-all;
		/* Instead use this non-standard one: */
		word-break: break-word;
	
		/* Adds a hyphen where the word breaks, if supported (No Blink) */
		-ms-hyphens: auto;
		-moz-hyphens: auto;
		-webkit-hyphens: auto;
		hyphens: auto;
	
	}
	


	
}





@media all and (max-width: 767px) {

	
	.page-node-type-homepage .bildungmenu .views-row .views-field-field-bezeichnung {
		display: none !important;
	}
	

	
}


@media all and (max-width: 650px) {
	
	:root {
		--fontsize: 90%;
		--lineheight: 140%;

		--footerheightfront: 220px;
		--abstand-1: 50px;
		--headerheightmobile: 60px;
	}

	
	.startslider .bezeichnung {
		padding-right: var(--abstand-1);
		font-size: 90%;
	}
	
	.menuclick {
		top: 7px;
	}
	
	.text-s {
		font-size: 60%;
		line-height: var(--lineheight);
	}
	
	.webform .wfleft {
		width: 100%;
		float: none;
		clear: both;
	}
	
	.webform .wfleft input {
		width: 100%;
		float: none;
		clear: both;
	}
	
	.webform .wfright {
		width: 100%;
		float: none;
		clear: both;
	
	}
	
	.webform .wfright input,
	.webform .wfright select {
		width: 100%;
		float: none;
		clear: both;
	}
	
	input.js-form-submit {
		width: 100%;
	}
	
	.path-frontpage .blogbutton {
		bottom: calc(var(--iconsize) + var(--footerheightfront));
	}
	
	.path-frontpage.navactive .blogbutton {
		display: none;
	}
	
	.shortlinks {
		top: calc(var(--headerheightmobile) + 30px);
	}
	
	.blogbutton a,
	.blogbutton a {
		font-size: 100%;
		line-height: 120%;
	}
	
	.region-startslider .bildungmenu,
	footer .bildungmenu {
		width: 100%;
	}
	
	.startslider .slogan {
		font-size: 300%;
		line-height: var(--lineheight);
	
	}
	
	.startslider .flex-direction-nav {
		display: none;
	}
	
	.startslider .bezeichnung {
		padding-right: var(--abstand-1);
		font-size: 72%;
	}
	
	.region-startslider .accountmenu {
		padding-right: 90px;
	}
	
	.usermenu ul.menu li:not(:last-child) {
		margin-right: 5px;
	}
	
	.usermenu ul.menu li:not(:last-child):after {
		margin-left: 5px;
	}
	
	.mobilemenu {
		font-size: 90%;

	}
	
	.mobilemenu ul li.mlevel1 > a,
	.mobilemenu ul li.mlevel1 > span {
		font-size: 160%;
		line-height: 180%;
		position: relative;
	}
	
	.mobilemenu ul li.mlevel2 {
		margin-bottom: 15px;
	}
	
	.mobilemenu ul li.mlevel2 > a,
	.mobilemenu ul li.mlevel2 > span {
		font-size: 120%;
		line-height: 120%;
		position: relative;
	}
	
	.mobilemenu ul li.mlevel1.menu-item--active-trail > a {
		/* font-weight: var(--bold); */
	
	}

	
	.blogbutton {
		right: 0px;
	}
	
	.region-primary-menu {
		height: 100vh;
		overflow: auto;
	}
	
	.startslider .slogan {
		top: 37%
	}
	
	
	.field--name-body {
		overflow: auto;
		width: calc(100vw - 20vw);

	}
	
	
	.textbildlr.nichtumflossen {
		flex-wrap: wrap;
	}
	
	.textbildlr.nichtumflossen .field--name-field-bild {
		margin-bottom: 10px;
	}
	
	.textbildlr.nichtumflossen > div {
		flex-basis: 100%;
	}
	
	
	.ui-accordion .ui-accordion-content {
		padding: 20px 20px;
	}
	
	
	ul.pager-show-more  {
		border-top: solid 1px var(--bgcolor);
		position: relative;
	}
	
	.page-node-44 .region-facets {
		padding-right: calc(5vw + 10px);
	}

	
}


@media all and (max-width: 414px) {
	
	h1 {
		font-size: 150%;);
		line-height: 115%;
	}

	
	h2 {
		font-size: 130%;
		line-height: 115%;
	}
	
	
	h3 {
		font-size: 120%;
		line-height: 115%;
	}
	
	h4 {
		font-size: 105%;
		line-height: var(--lineheight);
	}
	
	.blogliste.alle .views-row,
	.blogliste.landing .views-row {
		flex-basis: 100%;
	}
	
	.page-node-type-blog .blogtextcontainer .field--name-field-blog-bild,
	.page-node-type-projekt .blogtextcontainer .field--name-field-blog-bild {
		float: none;
		width: 100%;
		margin-left: 0px;
		margin-bottom: 20px;
	}
	
	body:not(.page-node-type-homepage) .blogbutton  {
		display: none !important;
	}
	
	.blogbutton {
		right: var(--iconsize);
	}
	
	.navnurmobile {
		display: block;
	}
	
		
	.region-content {
		padding: var(--abstand-2) var(--abstand-1) 5vw var(--abstand-2);
		box-sizing: border-box;
	}
	
	.footermenu {
		left: 5vw;
	}
	
	.startslider .bezeichnung,
	.region-startslider .accountmenu {
		left: 5vw;
	}
	
	.region-content {
		padding-bottom: var(--footerheight);
	}
	
	.button {
		margin-right: 0px;
		width: 100%;
	}
	
	
	
	.button a, 
	.button a:visited {
		display: block;
		width: 100%;
	}
	
	
	.field--name-field-team > .field__item {
		flex-basis: 100%;
		margin-right: 0px;
	}


}





@media all and (max-width: 375px) {

			.startslider .slogan {
				font-size: 200%;
				line-height: var(--lineheight);
			
			}
		

}



@media all and (max-width: 320px) {
	
	:root {
		--iconsize: 30px;
	}
	.shortlinks .views-row a, 
	.shortlinks .views-row span {
		padding: 6px;
	}

}

@media only screen and (max-width: 736px) and (orientation:landscape)  {
	
	:root {
		
	}
	
	.blogbutton {
		display: none !important;
	}
	
	.navnurmobile {
		display: block;
	}
	.startslider .slogan,
	.startslider .flex-direction-nav {
		top: 35%;
	}
	
	.startslider .bezeichnung {
		padding-right: var(--iconsize);
		font-size: 90%;
	}
	
	.bildungmenu .colorfleck img {
		height: 25px;
	}
	
	.region-startslider .bildungmenu, 
	footer .bildungmenu {
		width: 100%;
	}


	
}

@media only screen and (max-width: 667px) and (orientation:landscape)  {
	
	:root {
		--footerheightfront: 120px;
		--iconsize: 30px;
	}
	
	.shortlinks .views-row a, 
	.shortlinks .views-row span {
		padding: 6px;
	} 
	.startslider .slogan {
		font-size: 250%;
		line-height: var(--lineheight);
		padding-right: var(--iconsize);
	}
	


	
}

@media only screen and (max-width: 568px) and (orientation:landscape)  {


		
		.startslider .bezeichnung {
			padding-right: var(--iconsize);
			font-size: 70%;
		}
		
	
		
}




@media only screen and (min-device-width: 768px) and (max-device-width: 1366px) and (orientation:landscape) {
	


	
  
	
}




