/* roboto-300 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 300;
	src: url('../fonts/roboto-v51-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-regular - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/roboto-v51-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-500 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 500;
	src: url('../fonts/roboto-v51-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-700 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/roboto-v51-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-800 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 800;
	src: url('../fonts/roboto-v51-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-900 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 900;
	src: url('../fonts/roboto-v51-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}



:root {
	--schwarz: #7B7B7A;
	--weiss: #FFFFFF;
	--grau: #7C7C7B;
	--bgcolor: #CBD6D7;
	--bgcolor2: #E2E2E2;
	
	--maincolor: #005A60;
	--actioncolor: #D59937;
	--linecolor: #CCCCCC;
	
	--basefont: 'Roboto', Arial, Helvetica;
	--black: 900;
	--bold: 700;
	--medium: 500;
	--regular: 400;
	--fontsize: 130%;
	--lineheight: 145%;
	
	--abstand1: 1vh;
	--abstand2: 2vh;
	--abstand3: 3vh;
	--abstand5: 5vh;
	--abstand7: 7vh;
	--abstand10: 10vh;
	
	--headerheight: 100px;
	--klickmenuwidth: 100px;
	--logowidth: 270px;
	--seitenrand: 5vw;
	--socialmediaicons: 35px;
	--arrowwidth: 20px;
	--footerheight: 300px;
	--adminspace: 72px;
	--backgroundsize: 60vw;
	
	--maxwidthcontent: 1280px;
}






/* !ADMIN */

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

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

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


label.js-form-required:after {
	content: "*";
}

.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;
}

a.admin-css-edit-button,
a.admin-css-edit-button:visited {
	display: table;
	background: var(--weiss);
	text-transform: uppercase;
	padding: 4px 20px;
	color: var(--schwarz);
	font-size: 90;
	margin-bottom: 10px;
}

a.admin-css-edit-button:hover,
a.admin-css-edit-button:active {
	color: var(--actioncolor);
	background: var(--weiss);
}

.views-field-operations {
	display: table;
}

.views-field-operations a,
.views-field-operations a:visited {
	text-transform: uppercase;
	color: var(--schwarz);
	font-size: 90;
}

.views-field-operations a:hover,
.views-field-operations a:active {
	color: var(--actioncolor);
}


/* !COLORBOX */

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

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

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

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

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

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

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

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


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

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


/* !Login und Pass-Form */

form.user-login-form,
form.user-pass {
	display: table;
	width: 100%;
	margin-top: var(--abstand5);
	margin-bottom: var(--abstand5);
}

.user-login-form .form-type-textfield,
.user-login-form .form-type-password  {
	width: calc(50% - 20px);
	float: left;
	margin-right: 20px;
}

.user-login-form .js-form-type-checkbox {
	clear: both;
	padding-top: 20px;
	display: table;
}


.user-login-form .js-form-item input[type="text"],
.user-pass .js-form-item input[type="text"],
.user-login-form .js-form-item input[type="password"],
.user-pass .js-form-item input[type="password"]  {
	width: 100%;
	padding: 5px;
	box-sizing: border-box;
	border-radius: 0px;
	border: solid 1px var(--bgcolor);
}


/* !ALLGEMEIN */

body {
	font-size: var(--fontsize);
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	line-height: var(--lineheight);
	
	padding: 0px;
	margin: 0px;
	background: var(--weiss);
	color: var(--schwarz);
}


html,
button,
input,
select,
textarea {
	font-family: var(--basefont);
	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: 500%;
	line-height: 100%;
}


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

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


h1 {
	font-style: normal;
	font-size: 330%;
	line-height: 125%;
	font-weight: var(--black);
	margin: 0px 0px var(--abstand1) 0px;
	padding: 0px;
	color: var(--maincolor);
}

h2 {
	font-size: 280%;
	line-height: 125%;
	margin: 0px 0px 10px 0px;
	padding: 0px;
}

.topmenu ul.level1 a {
	font-size: 280%;
	line-height: var(--lineheight);
}
	

.p-artikel h2 {
	font-weight: var(--black);
}

h3,
div.page-untertitel {
	font-style: normal;
	font-size: 150%;
	line-height: var(--lineheight);
	font-weight: var(--bold);
	margin:0px;
	padding: 0px;
}

div.page-untertitel {
	color: var(--maincolor);
}

.p-artikel h3 {
	font-weight: var(--black);
	font-size: 200%;
	line-height: 125%;
}

h4 {
	font-size: 140%;
	line-height: 125%;
	margin: 30px 0px 10px 0px;
	
}

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

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

.bold, strong, b {
	font-weight: var(--black);
}

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

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

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

/* !LAYOUT */

.layout-container {
	background: var(--weiss);
}

body:not(.path-frontpage) .layout-container {
	padding-top: var(--headerheight);
}

body.page-node-type-legal main,
body.page-node-type-galerie main,
body.page-node-type-contact main {
	padding-top: var(--abstand7);
}

.maxwidth {
	margin-left: var(--seitenrand);
	margin-right: var(--seitenrand);
}


.maxwidthcontent,
.user-login-form,
.user-pass,
.profile {
	max-width: var(--maxwidthcontent);
	margin-left: auto;
	margin-right: auto;
}

.region-highlighted {
	position: relative;
	z-index: 70;
	background: var(--weiss);
}

/*  !HEADER */ 

header {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: var(--headerheight);
	z-index: 97;
}



@media all and (max-width: 769px) {
	header {
		background: var(--weiss);
	}
	
	.headerimage-logo {
		display: none;
	}
}

@media all and (min-width: 769px) {
	
	body:not(.path-frontpage) header {
		background: var(--weiss);
	}
	
	body.path-frontpage header {
		transition: background-color 0.1s ease-in-out;
	}
	
	body.user-logged-in header {
		top: var(--adminspace);
	}
	
	header.header-scrolled {
		background: var(--weiss);
	}
	body.path-frontpage .block-system-branding-block {
		display: none;
	}
	
	body.path-frontpage .block-system-branding-block.branding-visible {
		display: block;
	}
	
	body.path-frontpage .headerimage-logo {
		position: absolute;
		z-index: 70;
		left: 13.3vw;
		top: 4.4vw;
		width: 25vw;
	}
	
	body.path-frontpage .headerimage-wrapper {
		position: relative;
		z-index: 50;
		-webkit-mask-image:
			linear-gradient(#fff 0 0),
			url('../images/headermask.svg');
		mask-image:
			linear-gradient(#fff 0 0),
			url('../images/headermask.svg');
	
		-webkit-mask-position: left top, left top;
		mask-position: left top, left top;
	
		-webkit-mask-size: 100% 100%, 100% auto;
		mask-size: 100% 100%, 100% auto;
	
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
	
		-webkit-mask-composite: xor;
		mask-composite: exclude;
	}

}



.region-header {
	position: relative;
	margin-left: var(--seitenrand);
	margin-right: var(--seitenrand);
	height: var(--headerheight);
}


.block-system-branding-block {
	width: var(--logowidth);
	position: absolute;
	left: 0px;
	top: 50%;
	-webkit-transform: translateX(0%) translateY(-40%);
	-moz-transform: translateX(0%) translateY(-40%);
	transform: translateX(0%) translateY(-40%);
}



.block-views-blockheaderbilder-block-headerimages {
	line-height: 0px;
}

.sprachwahl {
	position: absolute;
	right: 200px;
	top: 50%;
	z-index: 99;
	
	-webkit-transform: translateX(0%) translateY(-50%);
	-moz-transform: translateX(0%) translateY(-50%);
	transform: translateX(0%) translateY(-50%);
}

.sprachwahl ul.links {
	list-style: none;
	padding: 0px;
	margin: 0px;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	text-transform: uppercase;
}

.sprachwahl ul.links li:not(:last-child) {
	margin-right: 20px;
}

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

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

.sprachwahl ul.links li a.is-active {
	font-weight: var(--bold);
	color: var(--maincolor);
}


body.navactive .sprachwahl ul.links li a,
body.navactive .sprachwahl ul.links li a:visited {
	color: var(--weiss);
}

body.navactive .sprachwahl ul.links li a:hover,
body.navactive .sprachwahl ul.links li a:active {
	color: var(--actioncolor);
}

body.navactive .sprachwahl ul.links li a.is-active {
	font-weight: var(--black);
	color: var(--weiss);
}

/* !BACKGROUNDS */

.bg-standard {
	background: var(--weiss);
}

.bg-actioncolor {
	background: var(--actioncolor);
	color: var(--weiss);
}

.bg-maincolor {
	background: var(--maincolor);
	color: var(--weiss);
}

.bg-grau {
	background: var(--grau);
	color: var(--weiss);
}

.bg-bgcolor {
	background: var(--bgcolor);
	color: var(--maincolor);
}

.bg-bgcolor2 {
	background: var(--bgcolor2);
	color: var(--maincolor);
} 

.withbg:not(.p-artikel) {
	padding: var(--abstand7) 0px;
	box-sizing: border-box;
}


.bg-actioncolor svg.ecke path {
	fill: var(--actioncolor) !important;
}

.bg-maincolor svg.ecke path {
	fill: var(--maincolor) !important;
}

.bg-bgcolor svg.ecke path {
	fill: var(--bgcolor) !important;
}

.bg-bgcolor2 svg.ecke path {
	fill: var(--bgcolor2) !important;
}


/* !BUTTONS */

button {
	display: table;
	margin-top: 3vh;
	border: 0px;
	padding: 0px;
	text-align: center;
	text-transform: uppercase;
	font-weight: var(--bold);
	background: transparent;
}

button a,
button a:visited {
	display: block;
	color: var(--weiss);
	background-color: var(--actioncolor);
	border-radius: 5px;
	padding: 20px 40px;
	box-sizing: border-box;
	white-space: nowrap;
	position: relative;
	
	-webkit-transition: all .35s ease;
	transition: all .35s ease;
}

button a:hover,
button a:active {
	display: block;
	color: var(--weiss);
	background-color: var(--maincolor);
	cursor: pointer;
	
	-webkit-transition: all .35s ease;
	 transition: all .35s ease;
}

button.center {
	margin-left: auto;
	margin-right: auto;
}

button.standard {
	min-width: calc(33.333333% - 44px);
}

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

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


button.actionbutton {
	min-width: 300px
}

button.actionbutton a,
button.actionbutton a:visited {
	color: var(--weiss);
	background-color: var(--actioncolor);
}

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



.bg-actioncolor button a,
.bg-actioncolor button a:visited {
	color: var(--maincolor);
	background-color: var(--weiss);
}

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


svg.ecke {
	display: block;
	position: absolute;
	right: -1px;
	bottom: -1px;
	width: 70px;
	height: 20px;
}



/* !MENU */

.menuklick {
	position: absolute;
	top: 0%;
	right: 0vw;
	z-index: 99;
	height: var(--headerheight);
	width: calc(30px + var(--klickmenuwidth));
	display: block !important;
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}

.topmenutrigger {
	border: none;
	width: var(--klickmenuwidth);
	height: var(--headerheight);
	text-indent: -900em;
	overflow: hidden;
	cursor: pointer;
	outline: none;
	top: 50%;
	right: 0px;
	z-index: 94;
	position: absolute;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
}

.topmenutrigger-container {
	position: relative;
	margin-left: 40px;
	margin-right: 0px;
	height: var(--headerheight);
}


	 
.topmenutrigger span {
	background: var(--schwarz);
	border: none;
	height: 5px;
	border-radius: 0px;
	width:100%;
	position: absolute;
	top: 50%;
	right: 0%;
	cursor: pointer;
	 -webkit-transition: all .35s ease;
	transition: all .35s ease;
	display: block;
}


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

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

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

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

	width: 100%;
	-webkit-transform: translateY(12px);
	-moz-transform: translateY(12px);
	transform: translateY(12px);
	right: 15px
}

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

/* AKTIVE MIT PFEIL ZURÜCK
.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);
	transform-origin: left top;
	background: var(--weiss);
	width:50%;
	left: 0%;
}

.topmenutrigger.active .middle {
	background: var(--weiss);
	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);
	transform-origin: left top;
	width:50%;
	background: var(--weiss);
	left: 0%;

}
*/

.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(--weiss);
	width:50px;
	right: 18px;
	height: 5px;
}
.topmenutrigger.active .middle {
	display: none;
	background: var(--weiss);
	right:40px;
}
.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:50px;
	background: var(--weiss);
	right: 18px;
	height: 5px;
}

body.navactive header:after {
	content: " ";
	display: block;
	position: absolute;
	right: 0px;
	top: 0px;
	height: 100vh;
	z-index: 20;
	box-shadow: -2px -2px 10px rgb(0 0 0 / 50%);
	background: var(--maincolor);
}


.region-primary-menu {
	position: fixed;
	right: 0px;
	top: var(--headerheight);
	height: calc(100vh - var(--headerheight));
	z-index: 99;
	display: none;
	overflow: auto;
}


body.user-logged-in .region-primary-menu {
	top: calc(var(--headerheight) + var(--adminspace));
	height: calc(100vh - var(--headerheight) - var(--adminspace));
}


body.navactive header:after,
.region-primary-menu {
	width: 50%;
}


.topmenu {
	padding: var(--abstand5) var(--seitenrand);
	box-sizing: border-box;
}

.topmenu ul.level1 {
	list-style: none;
	margin: 0px;
	padding: 0px;
	font-weight: var(--black);
	text-align: center;
}

.topmenu ul.level1 a,
.topmenu ul.level1 a:visited {
	color: var(--weiss);
	padding: 5px 0px;
	box-sizing: border-box;
	display: table;
	margin-left: auto;
	margin-right: auto;
}

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

.topmenu ul.level1 a.is-active {
	color: var(--actioncolor);
}


/* !FOOTER */

footer {
	height: var(--footerheight);
	overflow: hidden;
	color: var(--weiss);
	margin-top: var(--abstand7);
}

.footerwrapper {
	position: relative;
}

.footerwrapper > .footerlogo {
	position: absolute;
	left: var(--seitenrand);
	top: 0px;
	width: var(--logowidth);
	height: 100%;
	z-index: 32;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
}

.footerlogo img {
	width: var(--logowidth);
	margin-bottom: 30px;
}

.footerwrapper > .region-footer {
	flex-basis: 100%;
	position: relative;
	flex-basis: 100%;
	overflow: hidden;
	margin-left: calc((var(--seitenrand) + var(--logowidth)) - 10px);
	z-index: 30;
	height: var(--footerheight);
	text-align: left;
	background: var(--maincolor);
	
	-webkit-mask-image: url('../images/footermask.svg');
	mask-image: url('../images/footermask.svg');
	
	-webkit-mask-position: left top;
	mask-position: left top;
	
	-webkit-mask-size: auto 100%;
	mask-size: auto 100%;
	
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

.footercontent {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-left: 140px;
	box-sizing: border-box;
	padding-top: 30px;
}

.footer-adresse {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.footer-adresse > div:not(:last-child):after {
	content: "|";
	margin: 0px 10px 0px 10px;
}

.footer-adresse a,
.footer-adresse a:visited {
	color: var(--weiss);
}

.footer-adresse a:hover,
.footer-adresse a:active {
	color: var(--actioncolor);
}


footer .socialmedialinks {
	margin: 20px 0px;
}

.footer-adresse .field--name-field-company-name {
	font-weight: var(--bold);
}

.footer-mwst > .field  {
	display: flex;
	flex-direction: row;
	padding: 3px 0px;
}

.footer-mwst > .field > .field__label {
	margin-right: 5px;
}




.usermenu ul.menu {
	list-style: none;
	margin: 0px;
	padding: 0px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	color: var(--weiss);
}

.usermenu ul.menu li {
	margin: 0px;
	padding: 0px;
}

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

.usermenu ul.menu li a,
.usermenu ul.menu li a:visited {
	color: var(--weiss);
	padding: 3px 0px;
	display: block;
}

.usermenu ul.menu li span {
	display: block;
	padding: 3px 0px;
}

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

.usermenu ul.menu li a.is-active {
	text-decoration: underline;
	text-underline-offset: 6px;
}


/* 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;
}

.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%;
}

/* !ACCORDION */


.ui-widget {
	font-family: var(--fontfamily) !important;
}

.ui-accordion .ui-accordion-header {
	position: initial;
}

.ui-accordion .ui-accordion-header h4 {
	margin: 0px !important;
	padding: 0px !important;
	font-weight: var(--bold);
}
.ui-accordion .ui-accordion-header {
	display: block;
	cursor: pointer;
	margin: 8px 0 0 0;
	padding: 0px 0px 5px 0px;
	border-radius: 0px !important;
	border: solid 0px var(--maincolor);
	
	color: var(--schwarz);
}

.ui-icon, .ui-widget-content .ui-icon {
	position: absolute;
	right: 0px;
	top: 50%;
	
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
}

.ui-corner-all, .ui-corner-bottom, 
.ui-corner-right, .ui-corner-br {
	border-bottom-right-radius: 0px;
}

.ui-corner-all, .ui-corner-bottom, 
.ui-corner-left, .ui-corner-bl {
	border-bottom-left-radius: 0px;
}

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

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

.ui-state-hover, 
.ui-widget-content .ui-state-hover, 
.ui-widget-header .ui-state-hover, 
.ui-state-focus, 
.ui-widget-content .ui-state-focus, 
.ui-widget-header .ui-state-focus, 
.ui-button:hover, .ui-button:focus {
	border: 0px solid #cccccc;
	background: var(--actioncolor);
	font-weight: normal;
	color: var(--maincolor) !important;
}

.ui-dialog .ui-button:focus {
	background: none !important:
}



.ui-accordion .ui-accordion-header,
.ui-accordion .ui-accordion-header.ui-state-focus,
.ui-accordion .ui-accordion-header.ui-state-default {
		display: flex !important;
		cursor: pointer !important;
		margin: 2px 0 0 0 !important;
		padding: var(--abstand2) 70px var(--abstand2) 0px !important;
		background-color:transparent !important;
		border-bottom: solid 1px var(--maincolor) !important;
		align-items:flex-start !important;
		flex-wrap: wrap !important;
		position: relative;
}



	
.acc-fontsize {
	font-size: 130%;
	line-height: var(--lineheight);
}
	

.ui-accordion .ui-accordion-header.ui-state-hover {
	background-color: transparent;
	color: var(--maincolor) !important;
	
		
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}

.ui-accordion .ui-accordion-header.ui-state-active {
		background-color: transparent;
		border: solid 0px var(--maincolor) !important;
		background-image:none;
		color: var(--maincolor) !important;
		
			
		-o-transition:.3s;
		-ms-transition:.3s;
		-moz-transition:.3s;
		-webkit-transition:.3s;
		transition:.3s;
}

.ui-accordion .ui-accordion-header.ui-state-active  {
	font-weight: var(--bold);
	border-bottom: 0px !important;
}

.ui-accordion .ui-accordion-content {
	padding: 0px 0px var(--abstand2) 0px !important;
	box-sizing: border-box;
	border: 0px;
	border-bottom: solid 1px var(--maincolor);
	color: var(--schwarz);
	background: transparent;
	
}

.ui-accordion .ui-accordion-content .views-field-body {
	width: 80%;
}


.ui-accordion .ui-accordion-content a,
.ui-accordion .ui-accordion-content a:visited {
	text-decoration: underline;
	color: var(--maincolor);
}

.ui-accordion .ui-accordion-content a:hover,
.ui-accordion .ui-accordion-content a:active {
	text-decoration: none;
	color: var(--actioncolor);
}


.ui-accordion .ui-accordion-header {

}

.ui-accordion .ui-accordion-header.ui-state-default:after {
	content: " ";
	display: block;
	position: absolute;
	top: calc(var(--abstand2) + (var(--arrowwidth) / 2));
	right: 0px;
	height: var(--arrowwidth);
	aspect-ratio: 1;
	background-image: url("../images/accordion-open.svg");
	background-repeat: no-repeat;
	background-position: center right;
	background-size: contain;
}

.ui-accordion .ui-accordion-header.ui-state-active:after {
	content: " ";
	display: block;
	position: absolute;
	top: calc(var(--abstand2) + (var(--arrowwidth) / 2));
	right: 0px;
	height: var(--arrowwidth);
	aspect-ratio: 1;
	background-image: url("../images/accordion-close.svg");
	background-repeat: no-repeat;
	background-position: center right;
	background-size: contain;
}


.view-inc-accordions .views-row,
.view-faq-accordions .views-row {
	position: relative;
}

.hidefaqtitle .view-header > .faq-block-title {
	display: none;
}





/* !FORM-ELEMENTE */

*:focus {
	outline: none;
}

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);
}


.form-type-radio {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	align-content: center;
}

input[type="radio"] {
	/* Add if not using autoprefixer */
	-webkit-appearance: none;
	appearance: none;
	/* For iOS < 15 to remove gradient background */
	background-color: #fff;
	/* Not removed via appearance */
	margin: 0;
	font: inherit;
	color: var(--actioncolor);
	width: 22px;
	height: 22px;
	border: 1px solid var(--actioncolor);
	border-radius: 50%;
	transform: translateY(-0.075em);
	display: grid;
	place-content: center;
	margin-right: 7px;
	top: 2px;
	position: relative
}

input[type="radio"]::before {
	content: "";
	width: 0.65em;
	height: 0.65em;
	border-radius: 50%;
	transform: scale(0);
	transition: 120ms transform ease-in-out;
	box-shadow: inset 1em 1em var(--actioncolor);
}

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


input.js-form-submit {
	display: table;
	margin-top: 3vh;
	text-align: center;
	text-transform: uppercase;
	margin-bottom: 20px;
	border: solid 1px var(--linecolor);
	background-color: var(--weiss);
	color: var(--schwarz);
	border-radius: 0px;
	padding: 13px 30px 13px 30px;
	box-sizing: border-box;
	white-space: nowrap;
	font-weight: var(--medium);
	
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}

input.js-form-submit:hover {
	background-color: var(--grau);
	color: var(--weiss);
	
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}



::-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;
}




/* !WEBFORM */

.webformflex {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
}

.webformflex > div {
	flex-basis: calc(50% - 20px);
}

.webform label {
	margin-bottom: 5px;
	display: table;
}

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

.webform select {
	height: 50px;
	border: solid 1px var(--lineheight);
	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);
	border-radius: 0px;
	
	background-image: url("../images/select-arrow.svg");
	background-position: calc(100% - 20px) center;
	background-repeat: no-repeat;
	background-size: 13px 13px;
}

.webform textarea {
	border: solid 1px var(--linecolor);
	padding: 10px 20px;
	box-sizing: border-box;
	color: var(--schwarz);
	border-radius: 0px;
	width: 100%;
}

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

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

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

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

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

.webform .form-item-datenschutz {
	margin-top: var(--abstand5);
	margin-bottom: var(--abstand5);
}


.webform .form-item-datenschutz a,
.webform .form-item-datenschutz a:visited {
	color: var(--grau);
}

.webform .form-item-datenschutz a:hover,
.webform .form-item-datenschutz a:active {
	color: var(--actioncolor);
}



.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;
}


/* UNPUBLISHED */
.node--unpublished {
	background-color: rgba(255, 0, 0, 0.2);
	padding: 60px 20px 20px 20px;
	position: relative;
}
.node--unpublished:before {
	content: "unpublished";
	display: block;
	position: absolute;
	left: 10px;
	top: 10px;
	font-size: 200%;
	color: rgba(255, 0, 0, 0.7);
	line-height: 100%;
}

/* WEIGHT TABLE */

.weighttable {
	margin-top: var(--abstand3);
	border: solid 1px var(--grau);
	padding: 30px;
	box-sizing: border-box;
}


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

.weighttable table {
	width: 100%;
}

.weighttable table tr {
	border-bottom: solid 1px var(--grau);
}

.weighttable table tr:nth-child(odd) {
	background: #f8f8f8;
}

.weighttable table tr td {
	padding: 10px;
}



/* !GMAP */

.wh-gmap iframe {
	border: 0px;
	width: 100%;
	height: 10vh;
	min-height: 400px;
}


/* !SOCIAL MEDIA LINKS */

.socialmedialinks {

}

.socialmedialinks .view-content {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	align-content: center;
}


.socialmedialinks .views-row {
	align-self: center;
}

.socialmedialinks .views-row:not(:last-child) {
	margin-right: 20px;
}

.socialmedialinks a,
.socialmedialinks a:visited {
	display: flex;
	width: var(--socialmediaicons);
	height: var(--socialmediaicons);
	justify-content: center;
	align-items: center;
	align-content: center;
	color: var(--actioncolor);
	font-size:var(--socialmediaicons);
	
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}

.socialmedialinks a:hover,
.socialmedialinks a:active {
	color: var(--maincolor);
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}


footer .socialmedialinks a,
footer .socialmedialinks a:visited {
	color: var(--weiss);
}

footer .socialmedialinks a:hover,
footer .socialmedialinks a:active {
	color: var(--actioncolor);
}


/* !STARTSEITE */

.region-headerimage {
	position: relative;
	z-index: 60;
}

.region-headerimage .titelblock {
	position: absolute;
	left: 13.3vw;
	top: calc(var(--headerheight) + 15vw);
	z-index: 80;
	color: var(--weiss);
}

.region-headerimage .titelblock h1,
.region-headerimage .titelblock div.page-untertitel {
 text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.45);
 color: var(--weiss);
}


body.page-node-17 .region-headerimage .titelblock {
	top: auto;
	bottom: var(--abstand7);
}

body.page-node-17 .region-headerimage .titelblock h1,
body.page-node-17 .region-headerimage .titelblock div.page-untertitel {
 text-shadow: none;
}



/* !CONTENT */

.titelblock {
	margin-bottom: var(--abstand5);
}

.region-headerimage .titelblock {
	margin-bottom: 0px;
}

.node-1 {
	position: relative;
	z-index: 65;
	background-image: url("../images/bgmuster.svg");
	background-position: -9% top;
	background-size: var(--backgroundsize) auto;
	background-repeat: repeat-y;
}

.node-1 .node__content {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
	align-self: stretch;
	margin-top: calc(-1 * var(--abstand5));
	padding-bottom: var(--abstand10);
}

.node-1 .node__content > div {

}

.node-1 .node__content > .node-left-col {
	flex-basis: calc(60% - 20px);
}

.node-1 .node__content > .node-right-col {
	flex-basis: calc(40% - 20px);
}

.node-1 .node__content > .flex-1 {
	
}

.node-1 .node__content > .flex-2 {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.node-1 .node__content > .flex-3 {
	margin-top: 40px;
}

.node-1 .node__content > .flex-4 {
	margin-top: 40px;
}

.node-1 .node__content .node-image {
	line-height: 0px;
}

.node-1 .node__content .node-image img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
	position: relative;
}

.node-1 .node__content .node-image.tirth-image {
	width: 50%;
	aspect-ratio: 1 / 1;
	margin-left: auto;
	margin-right: 0px;
}


body.page-node-type-page #block-whtheme-content {
	background-image: url("../images/bgmuster.svg");
	background-position: 170% top;
	background-size: var(--backgroundsize) auto;
	background-repeat: repeat-y;
}

body.page-node-type-page .node__content {
	box-sizing: border-box;
	
	padding: var(--abstand10) 30% var(--abstand10) 0px;
}



/* Masonry Galerie */
.masonry-gallery .gallery-item {
	width: 33.333333%;
	padding: 0 6px 12px;
	box-sizing: border-box;
}

/* Bilder behalten ihr Seitenverhältnis */
.masonry-gallery .gallery-item img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0px;
}

/* Tablet: 3 Spalten */
@media (max-width: 1100px) {
	.masonry-gallery .gallery-item {
		width: 33.3333%;
	}
}

/* Kleines Tablet: 2 Spalten */
@media (max-width: 768px) {
	.masonry-gallery .gallery-item {
		width: 50%;
	}
}

/* Smartphone: 1 Spalte */
@media (max-width: 480px) {
	.masonry-gallery .gallery-item {
		width: 100%;
	}
}


.kontakt-wrapper {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: stretch;
}

.kontakt-wrapper-left {
	flex-basis: calc(50% - 20px);
}

.kontakt-wrapper-right {
	flex-basis: calc(50% - 20px);
}

.kontakt-wrapper .field--name-field-company-name {
	font-weight: var(--bold);
}

.kontakt-wrapper .field--label-inline {
	display: flex;
	flex-direction: row;
}

.kontakt-wrapper .field--label-inline > .field__label {
	margin-right: 5px;
}


.kontakt-wrapper-left a,
.kontakt-wrapper-left a:visited {
	color: var(--schwarz);
}

.kontakt-wrapper-left a:hover,
.kontakt-wrapper-left a:active {
	color: var(--actioncolor);
}

.kontakt-wrapper-left > div:not(:first-child) {
	margin-top: var(--abstand3);
}





.page-node-type-legal .node__content h3 {
	margin-bottom: var(--abstand2);
	margin-top: var(--abstand5);
}

.page-node-type-legal .node__content a,
.page-node-type-legal .node__content a:visited {
	color: var(--maincolor);
}

.page-node-type-legal .node__content a:hover,
.page-node-type-legal .node__content a:active {
	color: var(--actioncolor);
}


.sticker {
	position: fixed;
	right: 0px;
	top: 20vw;
	z-index: 99;
	overflow: hidden;
}

.sticker .sticker-wrapper {

}


.sticker .sticker-titel {
	position: fixed;
	z-index: 99;
	right: 0;
	top: 40%;
	transform: translateY(20%) rotate(-90deg) translateX(50%);
	transform-origin: bottom right;
	line-height: 0px;
}

body.admin.authenticated .sticker .sticker-titel {
	width: 320px;
}

.sticker .sticker-titel a,
.sticker .sticker-titel a:visited {
	color: var(--weiss);
}

.sticker .sticker-titel a:hover,
.sticker .sticker-titel a:active {
	color: var(--weiss);
}

.sticker .sticker-titel:hover {

}


.sticker .sticker-text {
	position: fixed;
	z-index: 90;
	width: 300px;
	right: -100%;
	top: calc(40% - 30px);
	padding: 30px 30px 30px 30px;
	background: rgba(0, 0, 0, 0.7);
	color: var(--weiss);
	-webkit-transition: all .35s ease;
	transition: all .35s ease;
}

.sticker:hover .sticker-text {
	right: 30px;
}


.sticker .sticker-titel img {
	width: 100%;
	height: auto;
}
.sticker .sticker-titel .sticker-titel-text {
	display: block;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: var(--weiss);
	font-weight: var(--black);
	font-size: 130%;
	line-height: 100% !important;
	white-space: nowrap#;
}


.sticker .sticker-botton {
	text-transform: uppercase;
	margin-top: 20px;
}

.sticker .sticker-botton a,
.sticker .sticker-botton a:visited {
	color: var(--weiss);
	font-weight: var(--black);
}

.sticker .sticker-botton a:hover,
.sticker .sticker-botton a:active {
	color: var(--actioncolor);
}




/* !PARAGRAPHS */


.paragraph.withbg + .paragraph--type--artikel {
	margin-top: 0px !important;
}

.p-factblock {
	
}

.p-factblock h3 {
	font-weight: var(--bold);
	text-align: center;
}

.p-factblock h3,
.p-factblock h2 {
	margin-top: 0px;
	padding-top: 0px;
	text-align: center;
	padding-bottom: var(--abstand3);
}

.p-factblock .factblock-container {
	border-top: solid 1px #CCCCCC;
}

.p-factblock dl {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: stretch;
	border-bottom: solid 1px #CCCCCC;
	margin: 0px;
	padding: 0px;
}

.p-factblock dl dt {
	background: var(--bgcolor);
	flex-basis: 25%;
	margin: 0px;
	padding: 20px;
	box-sizing: border-box;
	font-weight: var(--bold);
	vertical-align: center;
}

.p-factblock dl dd {
	flex-basis: 200px;
	margin: 0px;
	padding: 20px;
	box-sizing: border-box;
	flex-basis: 75%;
}

.p-factblock dl dd p {
	margin: 0px;
	padding: 0px;
}

.p-titel-untertitel h2 {
	margin-top: 0px;
	padding-top: 0px;
}

.p-video {
	
}

.p-video video {
	width: 100% !important;
	height: auto !important;
}


.p-highlight-slider {
	overflow: hidden;
	padding: var(--abstand10);
	
	background-image: url("../images/bgmuster.svg");
	background-position: 170% top;
	background-size: var(--backgroundsize) auto;
	background-repeat: repeat-y;
}

.p-highlight-slider .tns-outer {
	margin-left: calc(var(--seitenrand) * 3);
}

.p-highlight-slider .tns-ovh {
	overflow: visible !important;
	padding-right: calc(var(--seitenrand) * 3);
}

.p-highlight-slider .tns-outer .tns-ovh {
	overflow: visible !important;

}

.p-highlight-slider .tns-outer .tns-controls [disabled] {
	display: none;
}

.p-highlight-slider .tns-outer .tns-controls [data-controls="next"] {
	left: calc(-1 * (var(--seitenrand) * 2.5 ));
	width: calc(var(--seitenrand) * 2);	
	background-image: url("../images/galpfeil-left.svg") !important;
	background-position: left center;
}


.p-highlight-slider .tns-outer .tns-controls [data-controls="prev"] {
	right: calc(var(--seitenrand) * 0.5 );
	width: calc(var(--seitenrand) * 2);
	background-image: url("../images/galpfeil-right.svg") !important;
	background-position: right center;
}

.p-highlight-slider .tns-outer .tns-controls > button {
	position: absolute;
	background-color: transparent;
	border: 0px;
	border-radius: 0px;
	padding: 0px;
	background-repeat: no-repeat !important;
	background-size: auto 14px;
	height: 30px;
	top: 47%;
	-webkit-transform: translateX(0%) translateY(-50%);
	-moz-transform: translateX(0%) translateY(-50%);
	transform: translateX(0%) translateY(-50%);
}

.p-highlight-slider .tns-outer .tns-controls > button:hover {
	opacity: 0.5;
}




.p-highlight-slider .tns-item .p-slide {
	border: solid 1px transparent;
	aspect-ratio: 1 / 1;
	padding: 20px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	color: var(--maincolor);
	
	box-shadow: 1px 1px 10px rgb(0 0 0 / 20%);
}

.p-highlight-slider .tns-item .p-slide.bg-maincolor {
	color: var(--weiss);
}

.p-highlight-slider .p-slide-icon {
	display: block;
	text-align: center;
	margin-bottom: var(--abstand2);
	position: relative;
	z-index: 20;
}

.p-highlight-slider .tns-item img {
	width: 40%;
	height: auto;
}

.p-highlight-slider .p-slide-text {
	display: block;
	text-align: center;
	font-weight: var(--bold);
	text-transform: uppercase;
	z-index: 20;
	position: relative;
}

.p-highlight-slider button.standard {
	margin-top: var(--abstand7);
}


a.goestlink,
a.goestlink:visited,
a.goestlink:hover,
a.goestlink:active {
	display: block;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 50;
	cursor: pointer;
}
a.goestlink > span {
	display: none !important;
}


.p-faktenblock {
	padding-top: var(--abstand7);
}

.p-faktenblock h2 {
	color: var(--maincolor);
}

.p-faktenblock .fakt-container {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items: stretch;
	margin-top: var(--abstand5);
}

.p-faktenblock .fakt-container .p-fakt {
	flex-basis: calc((100% / 3) - 15px);
	margin-right: 20px;
	margin-bottom: var(--abstand5);
	box-sizing: border-box;
	align-self: stretch;
	
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.p-faktenblock .fakt-container .p-fakt:nth-child(3n+3) {
	margin-right: 0px;
}

.p-fakt {
	position: relative;
}

.p-fakt .p-fakt-bild {
	line-height: 0px;
	position: relative;
	z-index: 30;
}
.p-fakt .p-fakt-bild img {
	width: 100%;
	height: auto;
}

.p-fakt .p-fakt-text {
	position: relative;
	z-index: 40;
	background: var(--grau);
	color: var(--weiss);
	text-transform: uppercase;
	text-align: center;
	font-weight: var(--bold);
	padding: 20px 20px;
	box-sizing: border-box;
	-webkit-transition: all .35s ease;
	transition: all .35s ease;
	flex-basis: 100%;
}

.p-fakt.withlink:hover .p-fakt-text {
	background: var(--actioncolor);
}

.p-fakt a,
.p-fakt a:visited,
.p-fakt a:hover,
.p-fakt a:active {
	display: block;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 50;
	cursor: pointer;
}

.p-artikel {
	margin-top: var(--abstand7);
}


.p-artikel.withbg {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: stretch;
}

.p-artikel > div {
	flex-basis: 50%;
	align-self: stretch;
}

.p-artikel .p-artikel-left {
	position: relative;
}

.p-artikel .p-artikel-right {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: var(--abstand5) var(--seitenrand) var(--abstand5) 5vw;
	box-sizing: border-box;
}

.p-artikel .p-artikel-right .p-artikel-text {
	margin-top: calc(var(--abstand3) + 0px);
}

.p-artikel .p-artikel-right .p-artikel-text ul {
	padding: 0px 0px 0px 22px;
	margin: 0px;
}

.p-artikel .p-artikel-left img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
	position: relative;
}

.p-artikel.bg-actioncolor h3 {
	color: var(--maincolor);
}


.designcut-tiny-slider .tns-outer .tns-controls [data-controls="next"] {
	left: calc(var(--seitenrand) / 1);
	width: calc(var(--seitenrand) * 2);	
	background-image: url("../images/galpfeil-left-w.svg") !important;
	background-position: left center;
}


.designcut-tiny-slider .tns-outer .tns-controls [data-controls="prev"] {
	right: calc(var(--seitenrand) / 1);
	width: calc(var(--seitenrand) * 2);
	background-image: url("../images/galpfeil-right-w.svg") !important;
	background-position: right center;
}

.designcut-tiny-slider .tns-outer .tns-controls > button {
	position: absolute;
	background-color: transparent;
	border: 0px;
	border-radius: 0px;
	padding: 0px;
	background-repeat: no-repeat !important;
	background-size: auto 14px;
	height: 30px;
	top: 47%;
	-webkit-transform: translateX(0%) translateY(-50%);
	-moz-transform: translateX(0%) translateY(-50%);
	transform: translateX(0%) translateY(-50%);
}

.designcut-tiny-slider .tns-outer .tns-controls > button:hover {
	opacity: 0.5;
}


.designcut-tiny-slider .tns-inner > div {
	display: flex;
	flex-direction: row;
	align-self: stretch;
}




.p-artikel-block {
	
}

.p-artikel-block .p-artikel {
	margin-top: 0px;
}


/*
	
	
	
	
*/

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

	:root {
		--fontsize: 120%;
		--lineheight: 145%;
	}
	
	h1 {
		font-size: 300%;
		line-height: 125%;
	}
	
	h2 {
		font-size: 250%;
		line-height: 125%;
	}
	
	.topmenu ul.level1 a {
		font-size: 250%;
		line-height: var(--lineheight);
	}
		
		
	h3,
	div.page-untertitel {
		font-size: 130%;
		line-height: var(--lineheight);
	}
	
	
	.p-artikel h3 {
		font-size: 170%;
		line-height: 125%;
	}
	
	h4 {
		font-size: 120%;
		line-height: 125%;
	}
	
}


@media all and (max-width: 1380px) {
	
	.maxwidthcontent {
		width: calc(100% - var(--seitenrand) - var(--seitenrand));
		margin-left: var(--seitenrand);
		margin-right: var(--seitenrand);
	}

}

@media all and (max-width: 1280px) {
	
	:root {
		--fontsize: 110%;
		--lineheight: 145%;
		--headerheight: 90px;
		--logowidth: 230px;
		--socialmediaicons: 30px;
	}
	
	.text-l {
		font-size: 110%;
		line-height: var(--lineheight);
	}

}


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

	.sticker .sticker-titel {
		width: 230px;
	}
	
	.sticker .sticker-titel .sticker-titel-text {
		font-size: 110%;
		line-height: 100%;
	}

}


@media all and (max-width: 980px) {
	
	h1 {
		font-size: 280%;
		line-height: 125%;
	}
	
	h2 {
		font-size: 260%;
		line-height: 125%;
	}
	
	.topmenu ul.level1 a {
		font-size: 220%;
		line-height: var(--lineheight);
	}
		
	
	.topmenu ul.level1 a {
		font-size: 220%;
		line-height: var(--lineheight);
	}
	
	.footerlogo {
		display: none !important;
	}
	
	.footerwrapper > .region-footer {
		margin-left: 0px;
	}

}


@media all and (max-width: 834px) {
	
	h1 {
		font-size: 230%;
		line-height: 125%;
	}
	
	h2 {
		font-size: 210%;
		line-height: 125%;
	}
	
	.topmenu ul.level1 a {
		font-size: 190%;
		line-height: var(--lineheight);
	}

	.p-faktenblock .fakt-container {
		justify-content: space-between;
	}
	
	.p-faktenblock .fakt-container .p-fakt {
		flex-basis: calc((100% / 2) - 15px);
	}
	
	.p-faktenblock .fakt-container .p-fakt {
		margin-right: 0px;
	}
	
	.kontakt-wrapper {
		flex-wrap: wrap;
	}
	
	.kontakt-wrapper-left {
		flex-basis: 100%;
		margin-bottom: var(--abstand10);
	}
	
	.kontakt-wrapper-right {
		flex-basis: 100%;
	}
	
}





@media all and (max-width: 768px) {
	
	
	:root {
		--headerheight: 80px;
		--logowidth: 210px;
		--socialmediaicons: 25px;
		--seitenrand: 70px;
	}

	
	body.navactive header:after,
	.region-primary-menu {
		width: 100%;
	}
	
	body.path-frontpage .region-headerimage {
		margin-top: var(--headerheight) !important;
	}

	
	.p-artikel {
		flex-wrap: wrap;
	}
	
	.p-artikel > div {
		flex-basis: 100%;
	}
	
	.user-login-form .form-item-name,
	.user-login-form .form-item-pass {
		width: 100%;
		float: none;
	}
	
	.node--type-legal .node__content {
		overflow-x: hidden;
	}
	

	
	.node-1 .node__content > .node-left-col,
	.node-1 .node__content > .node-right-col {
		flex-basis: calc(50% - 15px);
	}
	
	.node-1 .node__content > .flex-3 {
		display: none;
	}
	
	.node-1 .node__content > .flex-4 {
		flex-basis: 100%;
		padding-right: 10%;
	}
	
	body.page-node-type-page .node__content {
		padding: var(--abstand10) 10% var(--abstand10) 0px;
	}
	
	.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;
	
	}
	
	.sprachwahl {
		display: none;
	}
	
	body.navactive .sprachwahl {
		display: block;
		right: auto;
		left: 0px;
	}
	
	
	body.navactive .sprachwahl ul.links li a,
	body.navactive .sprachwahl ul.links li a:visited {
		color: var(--weiss);
	}
	
	body.navactive .sprachwahl ul.links li a:hover,
	body.navactive .sprachwahl ul.links li a:active {
		color: var(--actioncolor);
	}
	
	body.navactive .sprachwahl ul.links li a.is-active {
		font-weight: var(--black);
		color: var(--weiss);
	}
	
	.region-headerimage .titelblock,
	body.page-node-17 .region-headerimage .titelblock {
		left: var(--seitenrand);
		width: calc(100vw - var(--seitenrand) - var(--seitenrand));
		top: 45%;
		-webkit-transform: translateX(0%) translateY(-50%);
		-moz-transform: translateX(0%) translateY(-50%);
		transform: translateX(0%) translateY(-50%);
		margin-bottom: 0px;
	}
	
	.region-headerimage .titelblock p {
		margin-bottom: 0px;
	}
	
	.p-highlight-slider .tns-outer {
		margin-left: 0px;
	}
	
	.p-highlight-slider .tns-outer .tns-controls [data-controls="next"] {
		left: calc(-1 * (var(--seitenrand) * 1 ));
		width: 60px;	
		background-image: url("../images/galpfeil-left.svg") !important;
		background-position: left center;
	}
	
	
	.p-highlight-slider .tns-outer .tns-controls [data-controls="prev"] {
		right: calc(-1 * var(--seitenrand) );
		width: 60px;
		background-image: url("../images/galpfeil-right.svg") !important;
		background-position: right center;
	}
	
	.p-highlight-slider {
		padding: var(--abstand5) var(--abstand10) var(--abstand10) var(--abstand10);
	}
	
	.topmenu {
		padding: var(--abstand5) var(--seitenrand);
		box-sizing: border-box;
	}
	
	.designcut-tiny-slider .tns-item {
		display: flex !important;
		flex-direction: row;
		align-items: stretch;
	}
	
	.designcut-tiny-slider .tns-item > div {
		align-self: stretch;
	}
	
}




@media all and (max-width: 667px) {
	
	:root {
		--headerheight: 80px;
		--logowidth: 210px;
		--seitenrand: 30px;
	}
	
	
	.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%;
	}
	
	.p-faktenblock .fakt-container .p-fakt,
	.node-1 .node__content > .node-left-col {
		flex-basis: calc((100% / 2) - 10px);
	}
		
	.view-paragraph-artikelslider .tns-inner > div {
		display: block;
	}
	
	.paragraph--type--bilderslider-fullsize {
		margin-top: var(--abstand7);
	}

	.p-artikel .p-artikel-right {
		padding: var(--abstand7) var(--seitenrand) var(--abstand7) var(--seitenrand);
	}
	
	.topmenutrigger span,
	.topmenutrigger.active .bottom,
	.topmenutrigger.active .top {
		height: 3px;
	}
	

	
}

@media all and (max-width: 550px) {
	
	:root {
		--abstand1: 10px;
		--abstand2: 20px;
		--abstand3: 30px;
		--abstand5: 40px;
		--abstand7: 50px;
		--abstand10: 60px;
		--footerheight: 360px;
		--logowidth: 200px;
	}
	
	h1 {
		font-size: 220%;
		line-height: 125%;
	}
	
	h2 {
		font-size: 200%;
		line-height: 125%;
		font-weight: var(--bold);
	}
	
			
	h3,
	div.page-untertitel {
		font-size: 120%;
		line-height: var(--lineheight);
		font-weight: var(--medium);
	}
	
	.topmenu ul.level1 a {
		font-size: 180%;
		line-height: var(--lineheight);
	}
	
	.topmenutrigger.active .top,
	.topmenutrigger.active .bottom {
		right: 0px;
	}


	
	.p-highlight-slider .tns-ovh {
		padding-right: 0px;
	}
	
	
	.node-1 .node__content > .node-left-col,
	.node-1 .node__content > .flex-2 {
		flex-basis: calc((100% / 2) - 5px);
	}
	
	.p-faktenblock .fakt-container .p-fakt {
		flex-basis: 100%;
	}
	
	.sticker {
		display: none;
	}
	
	.p-highlight-slider {
		padding: var(--abstand5) var(--seitenrand) var(--abstand10) var(--seitenrand);
	}

	body.page-node-type-page .node__content {
		padding: var(--abstand10) 0px var(--abstand10) 0px;
	}
	
	.footerwrapper > .region-footer {
		-webkit-mask-position: -100px top;
		mask-position: -100px top;
	}
	
	.footercontent {
		padding-left: calc(var(--seitenrand) + 30px);
		padding-right: var(--seitenrand);
		box-sizing: border-box;
	}
	
	.footer-adresse {
		display: block;
	}

	.footer-adresse > div:not(:last-child):after {
		display: none;
	}
	


}

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


}

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


}

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

	:root {
		--footerheight: 400px;
		--logowidth: 170px;
		--seitenrand: 20px;
	}
	
	h1,
	h2 {
	
		/* 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 only screen and (min-device-width: 768px) and (max-device-width: 1366px) and (orientation:landscape) {
	


	
	
	
}


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

	
}

