@charset "utf-8";
/* CSS Document */

*, *::before, *::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
[hidden] {
	display: none !important;
}
.visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
.nkToggleContent {
	overflow: hidden;
	transition: max-height 0.5s ease;
}
.nkToggleContent > :first-child {
	scroll-margin-top: 7rem;
}
.nkToggleContent.padT6 {
	padding-top: 0 !important;
	transition: max-height 0.5s ease, padding-top 0.5s ease;
}
.nkToggleContent.padT6.is-open {
	padding-top: 6em !important;
}

html, body {
	height: 100%;
}
body {
	min-height: 100vh;
	font-style: normal;
	font-weight: normal;
	font-size: 1rem;
	font-family: "Inter", sans-serif;
}
@media (min-width: 40rem) {
	body {
		font-size: 1.1rem;
	}
}
@media (min-width: 60rem) {
	body {
		font-size: 1.2rem;
	}
}
@media (min-width: 80rem) {
	body {
		font-size: 1.3rem;
	}
}
@media (min-width: 100rem) {
	body {
		font-size: 1.4rem;
	}
}
h1, h2, h3, h4, h5, h6,
p, li, blockquote, pre, a, button {
	font-size: 1em; /* reset */
}
h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 0;
	font-family: inherit;
	font-weight: 700;
	line-height: 1.15;
}
h1 {
	font-size: 2.5em;
}
h2 {
	font-size: 2em;
}
h3 {
	font-size: 1.5em;
}
h4 {
	font-size: 1.25em;
}
h5 {
	font-size: 1.1em;
}
h6 {
	font-size: 1em;
}
img {
	max-width: 100%;
	height: auto;
	border: none;
}
img.block {
	display: block;
}
.bgWhite {
	background-color: #fff;
}
.colWhite {
	color: #fff;
}
/* TYPOGRAPHY -------------------------------------------------------------  */
main p,
main li,
#slider p,
#slider li,
#bottom p,
#bottom li {
  line-height: 1.8em;
  font-weight: 300;
}
p, label, blockquote, ul {
  padding-bottom: 1.5em;
}
p:last-child, ul:last-child {
	padding-bottom: 0;
}

/* Links */
a,
a:visited,
a:focus,
a:active {
	text-decoration: none;
	border: none;
	outline: none;
	color: inherit;
}
@media (screen) {
	a:hover {
		cursor: pointer;
	}
}
/* Buttons */
button,
button[type="submit"],
button.btn,
input[type="submit"],
input[type="button"],
input[type="reset"],
a.button,
a.transbutton  {
	display: inline-block;
	font-weight: bold;
	font-size: 0.9em;
	background: #000;
	/* Unten minimal mehr Luft: optische statt rein geometrische Textmitte. */
	padding: 0.68em 1.5em 0.82em;
	transition: all ease-in-out 0.25s;
	color: #fff;
	margin-bottom: 0;
	border: none;
	outline: none;
}
button:hover,
button[type="submit"]:hover,
button.btn:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
a.button:hover,
a.transbutton:hover  {
    background: #555;
	cursor: pointer;
	color: #fff;
}

/* Wiederverwendbare Button-Varianten */
button.pill,
button.btn.pill,
a.button.pill,
a.transbutton.pill {
	border-radius: 999em;
}
button.outline,
button.emptyBor,
button.btn.outline,
button.btn.emptyBor,
a.button.outline,
a.button.emptyBor,
a.transbutton.outline,
a.transbutton.emptyBor {
	box-sizing: border-box;
	border: solid 1px currentColor;
	background: transparent;
	color: inherit;
}
button.iconOnly,
button.btn.iconOnly,
a.button.iconOnly,
a.transbutton.iconOnly {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75em;
	height: 2.75em;
	padding: 0;
	border-radius: 50%;
}
button.iconOnly > svg,
button.btn.iconOnly > svg,
a.button.iconOnly > svg,
a.transbutton.iconOnly > svg {
	width: 1em;
	height: 1em;
}

/* Der Template-Parameter steuert nur die Form bereits erkannter Buttons. */
body.button-style-rectangle button,
body.button-style-rectangle input[type="submit"],
body.button-style-rectangle input[type="button"],
body.button-style-rectangle input[type="reset"],
body.button-style-rectangle a.button,
body.button-style-rectangle a.transbutton,
body.button-style-rectangle a.btn,
body.button-style-rectangle .newsPreviewReadmore,
body.button-style-rectangle .newsPreviewMeta span,
body.button-style-rectangle .com-content-category-blog .category-name a {
	border-radius: 0 !important;
}
body.button-style-rounded button,
body.button-style-rounded input[type="submit"],
body.button-style-rounded input[type="button"],
body.button-style-rounded input[type="reset"],
body.button-style-rounded a.button,
body.button-style-rounded a.transbutton,
body.button-style-rounded a.btn,
body.button-style-rounded .newsPreviewReadmore,
body.button-style-rounded .newsPreviewMeta span,
body.button-style-rounded .com-content-category-blog .category-name a {
	border-radius: 0.55em !important;
}
body.button-style-pill button,
body.button-style-pill input[type="submit"],
body.button-style-pill input[type="button"],
body.button-style-pill input[type="reset"],
body.button-style-pill a.button,
body.button-style-pill a.transbutton,
body.button-style-pill a.btn,
body.button-style-pill .newsPreviewReadmore,
body.button-style-pill .newsPreviewMeta span,
body.button-style-pill .com-content-category-blog .category-name a {
	border-radius: 999em !important;
}
body.button-style-rectangle .iconOnly,
body.button-style-rounded .iconOnly,
body.button-style-pill .iconOnly {
	border-radius: 50% !important;
}

/* Allgemein nutzbare Flexbox fuer weisse Inhaltskarten */
.flexCards {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flexCards > * {
	background: #fff;
	flex: 0 0 auto;
	margin: 0 0 2.5em;
	width: 100%;
}
@media (min-width: 40rem) {
	.flexCards {
		flex-direction: row;
	}
	.flexCards > * {
		flex: 0 0 48%;
		width: auto;
	}
}
@media (min-width: 60rem) {
	.flexCards > * {
		flex: 0 0 31%;
	}
}
.flexCards > * h3,
.flexCards > * p,
#component .flexCards > * h3,
#component .flexCards > * p {
	padding-right: 2.5em;
	padding-bottom: 1em;
	padding-left: 2.5em;
	text-align: left;
}
.flexCards > * h3,
#component .flexCards > * h3 {
	padding-top: 0.75em;
}
.flexCards > * p,
#component .flexCards > * p {
	font-size: 0.8em;
	padding-right: 3.125em;
	padding-left: 3.125em;
}
.flexCards > * p:last-child,
#component .flexCards > * p:last-child {
	padding-bottom: 2.5em;
}
.flexCards a.button.small,
#component .flexCards a.button.small {
	font-size: 1rem;
	margin-left: 0;
	padding: 0.5em 1.1em;
}
.flexCards p.nkToggleTriggerHidden {
	display: none;
}
a.button.nkToggle,
#component a.button.nkToggle {
	font-size: 1rem;
	margin-left: 0;
	padding: 0.55em 1.2em;
}

/* Wiederverwendbares Intro mit aufklappbarem Detailbereich */
.contentIntro {
	max-width: 72rem;
	margin-right: auto;
	margin-left: auto;
	font-weight: 300;
	line-height: 1.7;
	text-align: left;
}
.contentIntro__lead {
	position: relative;
	max-width: 68rem;
	margin-right: auto;
	margin-left: auto;
	padding-bottom: 1.75rem;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	text-align: center;
	text-wrap: balance;
}
.contentIntro__lead::after {
	content: "";
	display: block;
	width: 4rem;
	height: 0.25rem;
	margin: 1.75rem auto 0;
	border-radius: 1rem;
}
.contentIntro__details {
	max-width: 64rem;
	margin: 0.75rem auto 0;
	padding-top: 1.5rem;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	text-align: left;
}
.contentIntro__details > p {
	max-width: 58rem;
	margin-right: auto;
	margin-left: auto;
	padding-bottom: 1.25rem;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}
.contentIntro__details > p:last-child {
	padding-bottom: 0;
}
.contentIntro__details > ul {
	max-width: 50rem;
	margin: 0.25rem auto 1.75rem;
	padding: 1.25rem clamp(1.25rem, 4vw, 2.5rem);
	border: solid 1px rgba(0, 0, 0, 0.1);
	border-left-width: 0.35rem;
	background: #fff;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	list-style: none;
}
.contentIntro__details > ul > li {
	position: relative;
	padding: 0.3rem 0 0.3rem 1.5rem;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}
.contentIntro__details > ul > li::before {
	content: "";
	position: absolute;
	top: 0.9rem;
	left: 0;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
}
.contentIntro > p:last-child {
	padding-top: 0.5rem;
	text-align: center;
}
.contentIntro > p:last-child.nkToggleTriggerHidden {
	display: none;
}
@media (max-width: 40rem) {
	.contentIntro__lead {
		text-align: left;
		text-wrap: pretty;
	}
	.contentIntro__lead::after {
		margin-left: 0;
	}
	.contentIntro__details {
		padding-top: 1rem;
	}
	.contentIntro__details > ul {
		padding: 1rem;
		padding-left: 1.25rem;
	}
}
a.transbutton,
a.transbutton:visited,
a.transbutton:focus,
a.transbutton:active {
	font-size: 1em;
	font-weight: 500;
	border: solid 2px #fff;
	cursor: pointer;
	color: #fff;
	background: transparent;
	position: relative;
	padding: 0.5em 1.5em 0.5em 2.6em;
	margin-right: 1em;
}
a.transbutton:last-child {
	margin-right: 0;
}
a.transbutton::after {
	content: url("data:image/svg+xml; utf8, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23ffffff' d='M7.33 24l-2.83-2.829 9.339-9.175-9.339-9.167 2.83-2.829 12.17 11.996z'/></svg>");
	position: absolute;
	top: 50%;
	left: 1.5em;
	top: calc(50% - 0.85em);
	width: 0.9em;
	height: auto;
	-webkit-transition: background-color ease-in-out 0.25s;
	-o-transition: background-color ease-in-out 0.25s;
	transition: background-color ease-in-out 0.25s;
	display: block;
}
/* Button styles */
a.button[class*="icon-"] {
	margin-left: 0;
	padding-left: 3em;
	padding-right: 1em;
	position: relative;
}
a.button[class*="icon-"]:hover {
	background-color: #555;
}
a.button[class*="icon-"]:after  {
	content: "+";
	position: absolute;
	left: 1em;
	top: 50%;
	transform: translate(0, -50%) scale(1.3);
	width: 1em;
}
a.button[class*="icon-mail"]:after {
	content: url("data:image/svg+xml;charset=utf8,%3Csvg data-name='Ebene 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath fill='%23ffffff' d='M12 12.713l-11.985-9.713h23.97l-11.985 9.713zm0 2.574l-12-9.725v15.438h24v-15.438l-12 9.725z' fill-rule='evenodd'/%3E%3C/svg%3E");
}
a.button[class*="icon-phone"]:after {
	content: url("data:image/svg+xml;charset=utf8,%3Csvg data-name='Ebene 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath fill='%23ffffff' d='M20 22.621l-3.521-6.795c-.008.004-1.974.97-2.064 1.011-2.24 1.086-6.799-7.82-4.609-8.994l2.083-1.026-3.493-6.817-2.106 1.039c-7.202 3.755 4.233 25.982 11.6 22.615.121-.055 2.102-1.029 2.11-1.033z' fill-rule='evenodd'/%3E%3C/svg%3E");
}

/* Lists ----------------- */
ul {
	list-style-type: none;
	list-style-position: outside;
	list-style-image: none;
}
/* squares */
ul.squares {
  	list-style: none outside none;
	padding: 0;
}
ul.squares li {
  	padding-left: 1.5em;
  	position: relative;
}
ul.squares li:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 0.5em;
	height: 0.5em;
	border-radius: 10%;
	background-color: #111;
}

/* Tables */
table {
	margin: 0 0 2em 0;
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}
.table-wrapper {
	overflow-x: auto;
}
table tbody tr {
	border: solid 1px rgba(160, 160, 160, 0.3);
	border-left: 0;
	border-right: 0;
}
table tbody tr:nth-child(2n + 1) {
	background-color: rgba(160, 160, 160, 0.075);
}
table td {
	padding: 0.75em 0.5em;
	line-height: 1.5em;
}
table td > p {
	font-size: 1em;
	line-height: normal;
}
table th {
	font-weight: 700;
	padding: 0 0.75em 0.75em 0.75em;
	text-align: left;
}
/* Gleichmaessige Zellabstaende und rechtsbuendige zweite Spalte. */
table.secondColRight th,
table.secondColRight td {
	padding-right: 0.75em;
	padding-left: 0.75em;
}
table.secondColRight th:nth-child(2),
table.secondColRight td:nth-child(2) {
	text-align: right;
}
@media (min-width: 40rem) {
	table.firstColNoWrapAt40r td:first-child,
	table.firstColNoWrapAt40r th:first-child {
		white-space: nowrap;
	}
}
table thead {
	border-bottom: solid 2px rgba(160, 160, 160, 0.3);
}
table tfoot {
	border-top: solid 2px rgba(160, 160, 160, 0.3);
}
table span.tableSpacer {
	display: inline-block;
	padding-left: 3%;
	padding-right: 3%;
}
/* table alternate */
/* grey*/
table.grey {
	border-collapse: collapse;
	margin-bottom: 2em;
}
table.grey tr:nth-child(even) {
	background: #f6f6f6;
}
table.grey td {
	vertical-align: middle;
	padding: 1em;
	border: solid 1px #dcdcdc;
}
table.grey tr.thead {
	background-color: inherit;
}
table.grey tr.thead th {
	padding: 0 0 1em 0;
	text-align: left;
}
table.grey tr ~ tr.thead th {
	padding: 1.5em 0 1em 0;
}
/* alternate */
table.alt,
table.ce-table-allBorders {
	border-collapse: separate;
}
table.alt tbody tr td,
table.ce-table-allBorders tbody tr td  {
	border: solid 1px rgba(160, 160, 160, 0.3);
	border-left-width: 0;
	border-top-width: 0;
}
table.alt tbody tr td:first-child,
table.ce-table-allBorders tbody tr td:first-child {
	border-left-width: 1px;
}
table.alt tbody tr:first-child td,
table.ce-table-allBorders tbody tr:first-child td {
	border-top-width: 1px;
}
table.alt thead,
table.ce-table-allBorders thead {
	border-bottom: 0;
}
table.alt tfoot,
table.ce-table-allBorders tfoot {
	border-top: 0;
}


/* Site Widths ------------------------------------------------------------- */
#header1 > *,
#logoAndMenu,
.wrapperWidth,
.nkFlexBox.wrapperWidth,
.showcase.roundedContainer,
.likeSlider.roundedContainer,
.feature.roundedContainer,
#componentContainer,
#breadcrumbs {
	width: 96%;
	margin-right: auto;
	margin-left: auto;
}
/*
 * Der Slider nutzt ein semantisches section-Element, damit fehlerhaft
 * geschlossene DIVs aus Custom-HTML-Modulen nicht den folgenden Seiteninhalt
 * verschlucken koennen. Seine direkten Modulwrapper behalten trotzdem die
 * urspruengliche volle Breite.
 */
#slider > *:not(.slider-page-heading) {
	width: 100%;
	margin-right: 0;
	margin-left: 0;
}
.wrapperWidth > .wrapperWidth {
	width: 100%;
	max-width: 100%;
}
.wrapperWidth.narrow > * {
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 65rem) {
	.wrapperWidth .narrow,
	.narrowBox {
		width: 60rem;
		margin-left: auto;
		margin-right: auto;
	}
}
@media (min-width: 75rem) {
	#header1 > *,
	#logoAndMenu,
	.wrapperWidth,
	.nkFlexBox.wrapperWidth,
	.showcase.roundedContainer,
	.likeSlider.roundedContainer,
	.feature.roundedContainer,
	#componentContainer,
	#breadcrumbs {
		width: 70rem;
  	}
}
@media (min-width: 95rem) {
	#header1 > *,
	#logoAndMenu,
	.wrapperWidth,
	.nkFlexBox.wrapperWidth,
	.showcase.roundedContainer,
	.likeSlider.roundedContainer,
	.feature.roundedContainer,
	#componentContainer,
	#breadcrumbs {
		width: 90rem;
  	}
}
@media (min-width: 105rem) {
	#header1 > *,
	#logoAndMenu,
	.wrapperWidth,
	.nkFlexBox.wrapperWidth,
	.showcase.roundedContainer,
	.likeSlider.roundedContainer,
	.feature.roundedContainer,
	#componentContainer,
	#breadcrumbs {
		width: 100rem;
  	}
}

/* No Display on... --------------------------------------- */
@media(max-width: 29.99rem) {
	.notTil30r, 
	.noMobile,
	.noDisplayOnMobile {
		display: none !important;
	}
}
@media(max-width: 39.99rem) {
	.notTil40r, 
	.noTabletVertical {
		display: none !important;
	}
}
@media(max-width: 59.99rem) {
	.notTil60r, 
	.noTablet,
	.noDisplayOnTablet {
		display: none !important;
	}
}
@media(max-width: 89.99rem) {
	.notTil90r {
		display: none !important;
	}
}

#header {
	position: relative;
	/* Keep the complete header stacking context above transformed/AOS content.
	 * The sticky menu cannot escape its parent stacking context on its own. */
	z-index: 1000;
}
.headerStage.roundedHeader {
	border-radius: 1em;
	background-clip: padding-box;
}
/* HEADER 1 -------------------------------------------------> */
#header1 > * {
	padding: 0.5em 0;
	font-size: 0.85em;
	display: flex;
	justify-content: space-between;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
}
#header1 p {
	padding-bottom: 0;
}
#header1 .nav-item {
	display: inline-block;
	margin-left: 1em;
	font-size: 0.8em;
}
/* Search Module */
#header1 .search form {
	padding-left: 2em;
	position: relative;
	border: solid 2px #BABABA;
}
@media (min-width: 60rem) {
	#header1 .search form {
		margin-left: 1em;
	}
}
#header1 .search label {
	display: none;
}
#header1 .search form:before {
	content: "";
	position: absolute;
	top: 50%;
	top: calc(50% - 0.4em);
	left: 0.4em;
	width: 1em;
	height: 1em;
	background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iaWNvbm1vbnN0ciIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjMuODEgMjQiPg0KICA8cGF0aCBpZD0ibWFnbmlmaWVyLTIiIGQ9Ik0yMy44MSwyMS42NSwxNy42LDE1LjQ0YTkuNzEsOS43MSwwLDEsMC0yLjM4LDIuMzJMMjEuNDYsMjRaTTIuODUsOS43M2E2Ljg4LDYuODgsMCwxLDEsNi44OCw2Ljg4QTYuODksNi44OSwwLDAsMSwyLjg1LDkuNzNaIiBmaWxsPSIjMTY3MmIwIi8+DQo8L3N2Zz4NCg==);
	display: block;
}
#header1 .search input {
	border: none !important;
	display: block;
	width: 100%;
	padding: 0.25em;
}
#header1 .search input:focus {
	border: none !important;
	outline: solid 2px #3fa335;
}

/* Contact Details */
.contactDetails + .moduletable {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 auto;
	        flex: 1 1 auto;
}
.contactDetails p {
	font-size: 0.8em;
}
.contactDetails joomla-hidden-mail {
	display: inline-block;
}

#header1 > * .contactDetails p > a {
	line-height: 1.2em;
	vertical-align: middle;
	display: inline-block;
}
#header1 > * .contactDetails p > a ~ a,
#header1 > * .contactDetails p > a ~ *  {
	margin-left: 2.5em;
}
@media screen {
	#header1 a {
		transition: color ease-in-out 0.25s;
	}
	#header1 svg {
		transition: fill ease-in-out 0.25s;
	}
}
#header1 > * .contactDetails a > img,
#header1 > * .contactDetails a > svg {
	display: inline-block;
	height: 1.25em;
	margin-bottom: 0.1em;
	margin-right: 0.6em;
	vertical-align: middle;
}

/* Contact Info */
#header1 .contactInfo > * {
	display: inline-block;
	margin-right: 1.25em;
}
#header1 .contactInfo > a > span {
	display: inline-block;
	margin-right: 0.5em;
}

/* Language Menu */
#header1 ul.languageMenu li {
	display: inline-block;
	margin-right: 1em;
}
#header1 ul.languageMenu li:last-child {
	margin-right: 0; /* end with wrapperWidth */
}
#header1 ul.languageMenu li span.current {
	font-weight: 600;
}

@media (max-width: 39.99rem) {
	#header1 ul.languageMenu {
		display: block;
		margin: 0 auto;
	}
	#header1 {
		text-align: center;
	}
}
@media (min-width: 60rem) {
	.contactDetails + .moduletable {
		flex: 1 1 auto;
		text-align: right;
	}
}
@media (max-width: 59.99rem) {
	#header1 > * > *  {
		text-align: center;
		padding: 0.5em 0;
	}
	#header1 .searchModule {
		flex-basis: 50%;
	}
	#header1 > * .contactDetails  {
		width: 100%;
		text-align: center;
	}
	#header1 > * .contactDetails a {
		display: block;
		text-align: center;
		padding: 0.4em 0;
	}
}

/* Logofull ------------------------------------------------------- */
#logofull {
	text-align: center;
}
#logofull p {
	line-height: 1em;
}
#logofull a  {
	margin: 2em auto;
	display: inline-block;
	text-align: center;
}
#logofull a > img {
	max-height: 6em;
	display: block;
}
#logofull + #header2 #logoAndMenu #mainmenu > a {
  	margin-top: 1.25em;
  	margin-bottom: 1.25em;
	transition: margin ease-in-out 1s;
}
#logofull + #header2 > .scrolledActive #logoAndMenu #mainmenu > a{
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

@media (max-width: 39.99rem) {
	#logofull a > img {
    	max-width: 96%;
		margin: auto;
	}
}
/* Alternate Logo instead logofull on mobile */
@media (max-width: 59.99rem) {
	body.logofull.showmobilelogo #logofull {
		display: none;
	}
	body.logofull.showmobilelogo #mainmenuContainer:after {
		content: "";
		display: block;
		position: absolute;
		right: 0;
		top: 0.5em;
		bottom: 0.5em;
		background-color: transparent;
		background-repeat: no-repeat;
		background-position: center right;
		background-size: contain;
		width: 70%;
		transition: all ease 1s 1s;
	}
}


/* HEADER 2 ---------------------------------------------------------- */
/* LOGO AND MENU ----------------------------------------------------> */
#logoAndMenuContainer,
#logoAndMenuContainer.scrolledActive {
	z-index: 1000;
	background: #fff;
}
#logoAndMenuContainer #logo {
	transition: none;
}
#logoAndMenuContainer.scrolledActive #logo {
	padding: 0.25em 1.5em 0.25em 0;
	transition: padding ease-in-out 0.5s;
}
#logoAndMenu {
	position: relative;
	display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
	max-width: 100%;
	padding: 0;
}
#logoAndMenuContainer.nkFixed {
	right: 0;
	width: auto;
	max-width: none;
	margin-right: 0;
	margin-left: 0;
}
body.header2-style-rounded #logoAndMenu {
	box-sizing: border-box;
	padding: 0.45em 0.65em;
	border: solid 1px #e4e7ea;
	border-radius: 999em;
	background: #fff;
	box-shadow: 0 0.55em 1.5em rgba(0, 0, 0, 0.08);
	transition: width 0.35s ease, margin 0.35s ease, border-radius 0.35s ease, padding 0.35s ease, box-shadow 0.35s ease;
}
body.header2-style-rounded #logoAndMenuContainer {
	transition: transform 0.25s ease;
}
body.header2-style-rounded #logoAndMenuContainer.nkFixed {
	transform: translateY(0.5rem);
}
body.header2-style-rounded.header2-rounded-sticky-expand #logoAndMenuContainer.scrolledActive #logoAndMenu {
	width: 100%;
	margin-right: 0;
	margin-left: 0;
	border-radius: 0;
}
body.header2-rounded-sticky-expand #logoAndMenuContainer.nkFixed {
	width: 100%;
	max-width: none;
	margin-right: 0;
	margin-left: 0;
}
body.logofull #logoAndMenu {
	position: relative;
	z-index: 999;
}
@media (min-width: 60rem) {
	#logoAndMenu {
		align-items: stretch;
	}
	/*
	 * Logo links + zentriertes Hauptmenü + Zusatzmodul rechts:
	 * Die Außenbereiche richten sich nach ihrem Inhalt und wachsen einfach,
	 * das Hauptmenü wächst mit dem Faktor drei. Der Zusatzbereich bleibt
	 * wegen seiner Buttons einzeilig.
	 */
	body.logoleft.header2-balanced-layout #logoAndMenu {
		align-items: center;
	}
	body.logoleft.header2-balanced-layout #logoAndMenu #logo {
		flex: 1 1 18rem;
		width: auto;
		min-width: 0;
		max-width: none;
	}
	body.logoleft.header2-balanced-layout #logoAndMenu #header2-other {
		flex: 1 0 auto;
		width: auto;
		min-width: auto;
		max-width: none;
		white-space: nowrap;
	}
	body.logoleft.header2-balanced-layout #logoAndMenu #mainmenuContainer {
		flex: 3 1 auto;
		width: auto;
		min-width: 0;
		max-width: none;
	}
	body.logoleft.header2-balanced-layout #mainmenu > ul > li:last-child {
		margin-right: 1em;
	}
}
@media (min-width: 60rem) and (max-width: 74.99rem) {
	body.logoleft.header2-balanced-layout #logoAndMenu #logo {
		flex: 0 1 13rem;
	}
}
@media (max-width: 59.99rem) {
	body.header2-style-rounded #logoAndMenu {
		width: calc(100% - 1em);
		padding: 0.35em 0.5em;
		border-radius: 1em;
	}
	body.header2-style-rounded #mainmenu.jsActivated > a {
		border-radius: 0.65em;
	}
}
/* LOGO -------------------------------------------------------------> */
#logo {
	padding: 1.2em 0;
	text-align: left;
	display: flex;
	padding: 1em 1.5em 1em 0;
	justify-content: flex-start;
	align-items: center;
}
body.logocentered #logo {
	text-align: center;
	justify-content: center;
}
body.logocentered #logo a {
	margin: auto;
}
#logo a,
#logo img,
#logo svg {
	transition: fill ease 0.25s;
}
body.logoleft #logo a,
body.logoright #logo a {
	display: block;
	height: auto;
	width: auto;
}
body.logoleft.logoOverlap #logo a,
body.logoright.logoOverlap #logo a,
body.logocentered.logoOverlap #logo a {
	max-height: 3em; /* Logo img Overlaps Logo a with height 3em */
}
#logo img,
#logo svg {
	display: block;
}
#logo svg {
	width: auto;
	fill: #707070;
}
#logo a:hover svg {
	fill: #888;
}
@media (max-width: 59.99rem) {
	body.logoright #mainmenuContainer {
		order: 1;
		flex: 0 0 auto;
	}
	body.logoright #logo {
		order: 2;
		justify-content: flex-end;
		text-align: right;
		padding: 0.75em 1em;
	}
	#logo {
		flex: 1 1 auto;
		min-width: 0;
		overflow: visible;
		transition: flex ease 0.5s;
	}
	body.logoleft #logo a,
	body.logoright #logo a,
	body.logoleft #logo a > img,
	body.logoright #logo a > img,
	body.logoleft #logo a > svg,
	body.logoright #logo a > svg {
		max-height: 2.5em;
	}
	.scrolledActive #logo {
		font-size: 1rem;
	}
}
@media (min-width: 60rem) {
	#logo {
		max-width: 25%;
		padding: 1em 1.5em 1em 0;
		flex: 0 0 auto;
	}
	body.logoright #logo,
	body.logoright #logoAndMenuContainer.scrolledActive #logo {
		justify-content: flex-end;
		text-align: right;
		padding-right: 0;
		padding-left: 1.5em;
	}
	body.logoright #logo a {
		margin-left: auto;
	}
}
@media (min-width: 75rem) {
	#logo {
		flex: 0 0 30%;
	}
}
#logo p > a img {
		display: block;
}
/* Scrolled Active */
#logoAndMenuContainer.scrolledActive #logo {
	/* padding: 0.75em 1.5em 0.75em 0; */
}
#logoAndMenuContainer.scrolledActive #logo a,
#logoAndMenuContainer.scrolledActive #logo a img,
#logoAndMenuContainer.scrolledActive #logo a svg  {
	/* max-height: 2.25em; */
}

/* MAINMENU -------------------------------------------------------------> */
#mainmenu ul {
	list-style: none;
}
/* Main Menu Button */
#mainmenu > a {
	display: none;
	background-color: #333;
}
#mainmenu ul {
	transition: all ease 0.5s;
}
#mainmenu.jsActivated > ul > li > ul {
	max-height: 0; /* zweite ebene */
}
#mainmenu li > a {
	display: block;
	padding: 1em 0.5em;
	transition: all ease 0.5s;
	line-height: 1.5em;
}
#mainmenu > ul > li > a.button[class*="icon-"] {
	padding-left: 3em;
}
/* Joomla menüpunkt icon Klasse überschreiben */
:where(.mod-menu [class*="icon-"]) {
	margin-inline-start: 0 !important;
}
/* Submenue ------------------- */
/* deactivate the joomla button */
#mainmenu li.deeper.parent > button.mod-menu__toggle-sub {
	display: none !important; 
}
:where(.mod-menu__sub[aria-hidden="true"]) {
  display: block !important;
}
/* Only Mobile */
@media (max-width: 59.99rem) {
	#mainmenu.jsActivated ul {
		display: block;
		overflow: hidden;
	}
	#mainmenu.jsActivated > a {
		display: block;
		width: 4em;
		height: 3em;
		background-image: url("../images/menutoggle.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 2em auto;
	}
	#mainmenu.jsActivated > ul {
		position: absolute;
		top: 100%;
		right: 0;
		left: 0;
		z-index: 9999;
		width: 100%;
		margin: 0;
		padding: 0;
	}
	#mainmenu.jsActivated ul {
		max-height: 0; /* jede ebene */
	}
	#mainmenu.jsActivated.jsActive > ul,
	#mainmenu.jsActivated li.jsActive > ul  {
		max-height: 50em;
	}
	#mainmenu li.deeper.parent {
		position: relative;
		z-index: 1;
	}
	#mainmenu li > a, 
	#mainmenu li > span {
		padding: 1em 0.5em;
		display: block;
		line-height: 1em;
		box-sizing: content-box;
	}
	#mainmenu li > a {
		padding: 1em;
		border-bottom: solid 1px currentColor;
	}
	#mainmenu li.deeper.parent > a {
		padding-right: 4.5em; /* space for icon */
	}
	/* Submenue ----- */
	#mainmenu li.nav-item li > a,
	#mainmenu li.nav-item li > span.separator {
		padding-left: 1.5em; /* Second level */
	}
	#mainmenu li.nav-item li.nav-item li > a,
	#mainmenu li.nav-item li.nav-item li > span.separator  {
		padding-left: 2.5em; /* Third level */
	}
	/* Submenu Button (inserted per javascript) */
	#mainmenu li.deeper.parent span.toggleButton {
		position: absolute;
		right: 0;
		width: 3em;
		height: 3em;
		top: 0;
		box-sizing: border-box;
		border: none;
		border-left: solid 1px currentColor;
		border-radius: 0;
		background: none;
	}
	/* Arrow in Submenu Button */
	#mainmenu li.deeper.parent span.toggleButton > svg {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 1em;
		height: auto;
		display: block;
		transform: translate(-50%, -50%) rotate(180deg);
	}
	#mainmenu li.deeper.parent.jsActive > span.toggleButton > svg {
		transform: translate(-50%, -50%);
	}
}
/* ------------> DESKTOP */
@media (min-width: 60rem) {
	#logoAndMenu {
		padding: 0; /* to get submenues l8er under the whole container */
	}
	#mainmenuContainer {
		flex: 1 0 50%;
		display: flex;
		max-width: 100%;
	}
	#mainmenu {
		display: flex;
		flex: 0 0 100%;
		max-width: 100%;
		font-weight: normal;
		font-size: 0.8em;
	}
	#mainmenu.jsActivated > ul {
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
		align-items: stretch;
		flex: 0 0 100%;
		max-width: 100%;
	}
	#mainmenu.left > ul {
		justify-content: flex-start;
	}
	#mainmenu.centered > ul,
	#mainmenu > ul.centered {
		justify-content: center;
		flex: 1 1 auto;
	}
	#mainmenu.right > ul {
		justify-content: flex-end;
	}
	#mainmenu > ul > li {
		position: relative; /* for submenue get under it */
		display: flex;
		flex: 0 1 auto;
		padding: 0;
		padding-top: 1.25em;
		padding-bottom: 1.25em;  /* space must be here (not parents), to get submenue under whole container */
		margin-left: 1em;
		margin-right: 1em;
		text-align: center;
		justify-content: center;
		transition: padding ease 0.5s;
	}
	.scrolledActive #mainmenu > ul > li {
		padding-top: 0.25em;
		padding-bottom: 0.25em;  
	}
	#mainmenu > ul > li:first-child {
		margin-left: 0;
	}
	#mainmenu > ul > li:last-child {
		margin-right: 0;
	}
	#mainmenu > ul > li > a {
		position: relative;
	}
	#mainmenu > ul li a:hover,
	#mainmenu > ul li.active a,
	#mainmenu > ul li.current a {
		color: #333;
	}
	#mainmenu > ul li a:hover {
		cursor: pointer;
	}
	#mainmenu > ul > li > a {
		display: block;
		align-self: center;
		width: 100%;
	}
	#mainmenu.left > ul > li:first-child > a {
		padding-left: 0;
	}
	#mainmenu.right > ul > li:last-child > a {
		padding-right: 0;
	}
	#mainmenu li.deeper.parent > a > button {
		display: none; /* Hover arrow from now on instead */
	}
	/* 1. Level with Submenu */
	#mainmenu li.deeper.parent > a,
	#mainmenu li.deeper.parent > span.separator {
		padding-right: 1.9em;
	}
	/*
	#mainmenu > ul > li > a,
	#mainmenu > ul > li > span.separator {
		align-self: center;
		width: 100%;
		padding: 0 1em 0 0;
	}*/
	#mainmenu > ul > li:last-child > a,
	#mainmenu > ul > li:last-child > span.separator {
		padding-right: 0;
	}
	/* All levels Submenu Arrow */
	#mainmenu li.deeper.parent  span.toggleButton,
	#mainmenu li.deeper.parent  span.toggleButton > svg {
		display: block;
		width: 0.7em;
		height: 0.7em;
		transition: all ease-in-out 1s;
	}
	#mainmenu li.deeper.parent  span.toggleButton {
		position: absolute;
		display: block;
		top: 50%;
		right: 0.5em;
		transform: translate(-50%, -50%);
	}
	#mainmenu > ul > li.deeper.parent > span.toggleButton > svg {
		fill: #333;
	}
	#mainmenu li.deeper.parent  span.toggleButton > svg {
		fill: #fff;
	}
	#mainmenu li.deeper.parent.current > span.toggleButton > svg,
	#mainmenu li.deeper.parent.active > span.toggleButton > svg,
	#mainmenu li.deeper.parent:hover > span.toggleButton > svg {
		fill: #888;
	}
	#mainmenu li.deeper.parent:hover > span.toggleButton > svg {
		transform: matrix(-1, 0, 0, -1, 0, 0);
	}
	#mainmenu > ul > li > ul.mod-menu__sub,
	#mainmenu > ul > li > ul.mod-menu__sub > li > ul.mod-menu__sub {
		position: absolute;
		text-align: left;
		transition: max-height ease-in-out 0.5s, opacity ease-in-out 0.5s;
		opacity: 0; /* changes */
		max-height: 0; /* changes */
		overflow: hidden; /* changes */
	}
	#mainmenu > ul > li > ul.mod-menu__sub {
		top: 100%;
		left: 0;
	}
	#mainmenu > ul > li > ul.mod-menu__sub > li > ul.mod-menu__sub {
		top: 0;
		left: 100%;
		left: calc(100% - 1px);
		min-width: 100%;
	}
	#mainmenu > ul > li:hover > ul.mod-menu__sub,
	#mainmenu > ul > li > ul.mod-menu__sub > li:hover > ul.mod-menu__sub {
		max-height: 100em;
		opacity: 1;
		overflow: visible; /* changes */
		z-index: 999;
	}
	#mainmenu > ul > li > ul.mod-menu__sub > li.deeper.parent:hover  span.toggleButton > svg {
		transform: matrix(0, 1, -1, 0, 0, 0); /* 2nd level: Arrow rotates 45° instead of 90 */
	}
	#mainmenu > ul > li > ul.mod-menu__sub > li,
	#mainmenu > ul > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li {
		position: relative;
	}
	#mainmenu > ul > li > ul.mod-menu__sub > li > a,
	#mainmenu > ul > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li > a,
	#mainmenu > ul > li > ul.mod-menu__sub > li > span.separator,
	#mainmenu > ul > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li > span.separator {
		display: block;
		position: relative;
		padding: 1em;
		background: #888;
		color: #fff;
		border-right: solid 1px #fff;
		border-left: solid 1px #fff;
	}
	#mainmenu > ul > li > ul.mod-menu__sub li > a,
	#mainmenu > ul > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li > a,
	#mainmenu > ul > li > ul.mod-menu__sub li > span.separator,
	#mainmenu > ul > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li > span.separator  {
		border-top: solid 1px #fff;
		transition: all ease 0.5s;
	}
	#mainmenu > ul > li > ul.mod-menu__sub li:first-child > a,
	#mainmenu > ul > li > ul.mod-menu__sub li:first-child > span.separator,
	#mainmenu > ul > li > ul.mod-menu__sub > li:first-child > ul.mod-menu__sub > li:first-child > a,
	#mainmenu > ul > li > ul.mod-menu__sub > li:first-child > ul.mod-menu__sub > li:first-child > span.separator  {
		border-top: none;
	}
	#mainmenu > ul > li > ul.mod-menu__sub > li:last-child > a,
	#mainmenu > ul > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li:last-child > a,
	#mainmenu > ul > li > ul.mod-menu__sub > li:last-child > span.separator,
	#mainmenu > ul > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li:last-child > span.separator  {
		border-bottom: solid 1px #fff;
	}
	#mainmenu > ul > li > ul.mod-menu__sub > li:hover > a,
	#mainmenu > ul > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li:hover > a,
	#mainmenu > ul > li > ul.mod-menu__sub > li:hover > span.separator,
	#mainmenu > ul > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li:hover > span.separator  {
		background-color: #333;
	}
	/* Button style */
	#mainmenu > ul > li > a.button,
	#mainmenu > ul > li:last-child > a.button,
	#mainmenu > ul > li:last-child > a.specialStyleButton {
		padding-right: 1em;
		padding-left: 1em;
		color: #fff;
	}
	#mainmenu > ul > li > a.button:hover, 
    #mainmenu > ul > li.current > a.button, 
    #mainmenu > ul > li.active > a.button {
		color: #fff;
	}
	#mainmenu > ul > li > a.button[class*="icon-"] {
		padding-left: 3em;
	}
	#mainmenu > ul > li > a.button[class*="icon-"]:hover {
		background-color: #555;
		color: #fff;
	}
	#mainmenu > ul > li > a.button[class*="icon-"]:after {
		content: "+";
		position: absolute;
		left: 1em;
		top: 50%;
		transform: translate(0, -50%);
		width: 1.25em;
		height: 1.25em;
	}
	#mainmenu > ul > li > a.button[class*="icon-mail"]:after {
		content: url("data:image/svg+xml;charset=utf8,%3Csvg data-name='Ebene 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath fill='%23ffffff' d='M12 12.713l-11.985-9.713h23.97l-11.985 9.713zm0 2.574l-12-9.725v15.438h24v-15.438l-12 9.725z' fill-rule='evenodd'/%3E%3C/svg%3E");
	}
	#mainmenu > ul > li > a.button[class*="icon-phone"]:after {
		content: url("data:image/svg+xml;charset=utf8,%3Csvg data-name='Ebene 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath fill='%23ffffff' d='M20 22.621l-3.521-6.795c-.008.004-1.974.97-2.064 1.011-2.24 1.086-6.799-7.82-4.609-8.994l2.083-1.026-3.493-6.817-2.106 1.039c-7.202 3.755 4.233 25.982 11.6 22.615.121-.055 2.102-1.029 2.11-1.033z' fill-rule='evenodd'/%3E%3C/svg%3E");
	}
}
/* Logo centered */
@media (min-width: 30rem) {
	body.logocentered #mainmenuContainer,
	body.logocentered #header2-other {
		flex: 0 0 37.5%;
	}
}

/* HEADER2-OTHER ----------------------------------------------------------- */
#header2-other {
	display: flex;
	justify-content: flex-end;
	margin-top: auto;
	margin-bottom: auto;

}

/*
 * Kompakte Aktionsnavigation in header2.
 * Die explizite Menüklasse hält die Regeln von anderen Modulen fern,
 * die ebenfalls auf der Position header2 veröffentlicht sein können.
 */
#header2-other .headerActionMenu {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	width: auto;
	margin: 0;
	padding: 0;
	list-style: none;
}
#header2-other .headerActionMenu > li {
	display: block;
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
}
#header2-other .headerActionMenu > li + li {
	margin-left: 0.45em;
}
#header2-other .headerActionMenu > li > a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	white-space: nowrap;
}

/* Joomla-Menübilder in einem iconOnly-Link einheitlich ausrichten. */
#header2-other .headerActionMenu > li > a.iconOnly > img {
	display: block;
	flex: 0 0 1.1rem;
	width: 1.1rem;
	height: 1.1rem;
	max-width: none;
	margin: 0;
	object-fit: contain;
}

@media (min-width: 60rem) and (max-width: 74.99rem) {
	#header2-other .headerActionMenu > li + li {
		margin-left: 0.35em;
	}
}

/* HeaderImage  ------------------------------------------------------------ */
#headerimage > div {
	overflow: hidden;
	min-height: 17em;
	background-size: cover;
	background-repeat: none;
	display: flex;
}
#headerimage > div > * {
	margin: auto;
}
#headerimage > div > div {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
#headerimage > div > div > * {
	flex: 0 0 auto;
}
#headerimage h1:first-child,
#headerimage h2:first-child {
	margin-top: 2em;
}
#headerimage h1:last-child,
#headerimage h2:last-child {
	margin-bottom: 2em;
}
#headerimage h1 + h2 {
	margin-top: 0.2em;
}
/* Separate Labels */
body.seperateLabels #headerimage h1,
body.seperateLabels #headerimage h2 {
	background: rgba(255,255,255,0.8);
	color: #707070;
	padding: 0.25em 3rem;
}
/* Allgemein nutzbarer separateLabels-Stil */
.separateLabels span {
	box-sizing: border-box;
	display: inline-block;
	padding: 0.25em 1rem;
	margin-bottom: 0.5rem;
	font-size: 2.25em;
	font-weight: 300;
	color: #fff;
}
.separateLabels span.small {
	font-size: 1em;
	padding: 0.75em 1rem;
	max-width: 30rem;
}
.separateLabels span.big {
	font-size: 4.5em;
	font-weight: 500;
	line-height: 1em;
	padding: 0.25em 1rem;
}
@media(max-width: 40rem) {
  .separateLabels span.big {
  	font-size: 2.5em;
  }
}
.separateLabels.white span {
	background: rgba(255,255,255,0.9);
	color: #707070;
}
.separateLabels span.text {
	width: 100%;
	max-width: 55rem;
	padding: 0.75em 1rem;
	font-size: 1em;
	font-weight: 300;
	line-height: 1.4;
	overflow-wrap: anywhere;
}
@media(max-width: 40rem) {
	.separateLabels span.text {
		max-width: 100%;
		padding: 0.75em;
	}
}
.separateLabels span.mini {
	font-size: 1.4em;
  	padding: 0.5em 1rem;
}

/* Breadcrumbs ------------------------------------------------------------- */
@media (max-width: 39.99rem) {
	#breadcrumbs {
		font-size: 1rem;
	}
}
#breadcrumbsContainer {
	border-bottom: solid 1px rgba(160, 160, 160, 0.3);
}
#breadcrumbs {
	padding-top: 1.5em;
	padding-bottom: 1.5em;
}
#breadcrumbs ol,
#breadcrumbs ul {
	padding: 0;
}
#breadcrumbs li {
	display: inline-block;
	padding-bottom: 0;
}
#breadcrumbs li:after {
	content: url('data:image/svg+xml,<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m13.022 14.999v3.251c0 .412.335.75.752.75.188 0 .375-.071.518-.206 1.775-1.685 4.945-4.692 6.396-6.069.2-.189.312-.452.312-.725 0-.274-.112-.536-.312-.725-1.451-1.377-4.621-4.385-6.396-6.068-.143-.136-.33-.207-.518-.207-.417 0-.752.337-.752.75v3.251h-9.02c-.531 0-1.002.47-1.002 1v3.998c0 .53.471 1 1.002 1z" fill-rule="nonzero"></path></svg>');
	display: inline-block;
	width: 0.8em;
	height: 0.8em;
	line-height: 1.25em;
	margin-left: 0.5em;
	margin-right: 0.5em;
	fill: #707070;
}
#breadcrumbs li > svg {
	
}
#breadcrumbs li:first-child:after,
#breadcrumbs li:last-child:after {
	content: "";
	padding-right: 0;
	padding-left: 0;
	width: 0;
}
/* desktop */
@media (min-width: 60rem) {
	#breadcrumbs {
		font-size: 0.8em;
	}
}





/* AB HIER ÜBERARBEITEN ------------------------------------------------------------------------------------------ */


/* COMPONENT --------------------------------------------------------------  */
#component {
	padding: 2em 0;
	margin: 0;
}
.fullWidthComponent #component {
	padding: 0;
}
#precontent,
#component,
#postcontent {
	display: block;
}

#precontent {

}
/* Component */
.noComponent #componentContainer {
  display: none;
}
.noComponent #componentContainer:last-child {
    padding-bottom: 0;
}
#componentContainer {
  background: transparent;
}
#componentContainer div p > a {
	text-decoration: underline;
}
#componentContainer div p > a.button {
	text-decoration: none;
}
#componentContainer > div h2,
#precontent h2,
#postcontent .likeComponent h2,
#bottom div h2 {
	padding-bottom: 0.5em;
	margin-bottom: 1em;
}
#componentContainer h3 > span,
.likeComponent h3 > span {
	font-size: 0.8em;
	font-weight: 300;
}

#componentContainer > div,
.likeComponent > div  {
	
}
.item-image .caption {
	font-size: 0.8em;
	font-weight: 300;
	text-align: center;
	padding: 0.5em 0;
	line-height: 1.5em;
}
#component .item-image.pull-right,
#component .item-image.right,
#component .item-image.pull-left,
#component .item-image.left  {
	max-width: 100%;
	width: 80%;
	min-width: 15em;
	margin-bottom: 1em;
}
@media (min-width: 30rem) {
	#component .item-image.pull-right,
	#component .item-image.right,
	#component .item-image.pull-left,
	#component .item-image.left  {
		max-width: 50%;
		width: 45%;
		min-width: 15em;
		margin-bottom: 1.8em;
	}
	#component .item-image.pull-right,
	#component .item-image.right {
		float: right;
		margin-left: 1.8em;
	}
	#component .item-image.pull-left,
	#component .item-image.left {
		float: left;
		margin-right: 1.8em;
	}
	#component h2 {
		clear: both;
	}
}
#component .item-image.pull-right > a,
#component .item-image.right > a,
#component .item-image.pull-left > a,
#component .item-image.left > a,
#component .item-image.pull-right > a > img,
#component .item-image.right > a > img,
#component .item-image.pull-left > a > img,
#component .item-image.left > a > img {
	display: block;
}
body.fullWidthComponent #componentContainer {
	width: 100%;
	max-width: none;
}
.items-more,
.pagination,
.blog + *,
.items-row > * {
	clear: both;
}
p,
#component li,
table td,
table th {
  
}
@media(min-width: 60rem) {
	label,
	#slider li {
		font-size: 0.9em;
	}
}
#precomponent > div,
#postcomponent > div {
	margin-bottom: 2em;
}
#precomponent h3,
#postcomponent h3 {
	padding-bottom: 1.1em;
}
#precomponent li,
#postcomponent li {
  font-size: 1em;
}
#precomponent p + h2,
#precomponent p + h3,
#precomponent ul ~ h2,
#postcomponent p + h2,
#postcomponent p + h3,
#postcomponent ul ~ h2 {
	padding-top: 1em;
}

.narrowComponent #componentContainer > * {
	max-width: 50rem;
	position: relative;
	top: -2em;
	z-index: 100;
}
@media (min-width: 60rem) {
	.narrowComponent #componentContainer {
		display: block;
	}
	.narrowComponent #component > * {
		margin-left: auto;
		margin-right: auto;
	}
}
.narrowComponent #component > * .page-header {
	background: #3fa335;
	color: #fff;
	padding: 0.8em 1.2em;
	text-align: center;
	line-height: 2em;
	margin-bottom: 0.75em;
}
.narrowComponent #component > * .page-header h1,
.narrowComponent #component > * .page-header h2 {
	color: #fff;
	font-size: 1em;
	line-height: 2em;
	display: inline-block;
	padding: 0;
	margin: 0;
	vertical-align: middle;
	text-transform: none;
}
.narrowComponent #component > * .page-header h1:before,
.narrowComponent.linkList[class*="icon-"] #component > * .page-header h1:before,
.narrowComponent.linkList[class*="icon-"] #component > * .page-header h2:before {
	content: "";
	background: transparent url('../images/icon1white.png') no-repeat local center center / contain;
	display: inline-block;
	width: 2.2em;
	height: 2.2em;
	margin-right: 0.75em;
	vertical-align: middle;
}
.narrowComponent.linkList[class*="icon-1"] #component > * .page-header h1:before,
.narrowComponent.linkList[class*="icon-1"] #component > * .page-header h2:before {
	background: transparent url('../images/icon1white.png') no-repeat local center center / contain;
}
.narrowComponent.linkList[class*="icon-2"] #component > * .page-header h1:before,
.narrowComponent.linkList[class*="icon-2"] #component > * .page-header h2:before {
	background: transparent url('../images/icon2white.png') no-repeat local center center / contain;
}
.narrowComponent.linkList[class*="icon-3"] #component > * .page-header h1:before ,
.narrowComponent.linkList[class*="icon-3"] #component > * .page-header h2:before {
	background: transparent url('../images/icon3white.png') no-repeat local center center / contain;
}
.narrowComponent.linkList[class*="icon-4"] #component > * .page-header h1:before,
.narrowComponent.linkList[class*="icon-4"] #component > * .page-header h2:before {
	background: transparent url('../images/icon4white.png') no-repeat local center center / contain;
}
.narrowComponent.linkList[class*="icon-5"] #component > * .page-header h1:before,
.narrowComponent.linkList[class*="icon-5"] #component > * .page-header h2:before {
	background: transparent url('../images/icon5white.png') no-repeat local center center / contain;
}
.narrowComponent.linkList #component > div.item-page > div > a,
.narrowComponent.linkList #component > div > div.item-page > div > a  {
	display: block;
	padding: 1.5em 3em 1.5em 0;
	font-weight: normal;
	border-bottom: solid #ddd 2px;
	position: relative;
}
.narrowComponent.linkList #component > div.item-page > div > p + a,
.narrowComponent.linkList #component > div > div.item-page > div > p + a {
	border-top: solid #ddd 2px;
}
.narrowComponent.linkList #component > div.item-page > div > a:hover,
.narrowComponent.linkList #component > div > div.item-page > div > a:hover {
	color: #3ea9e0;
}
.narrowComponent.linkList #component > div.item-page > div > a:after,
.narrowComponent.linkList[class*="icon-"] #component > div.item-page > div > a:after,
.narrowComponent.linkList #component > div > div.item-page > div > a:after,
.narrowComponent.linkList[class*="icon-"] #component > div > div.item-page > div > a:after   {
	content: "";
	display: block;
	width: 2.5em;
	height: auto;
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	    -ms-transform: translate(0, -50%);
	        transform: translate(0, -50%);
}
.narrowComponent.linkList #component > div.item-page > div > a[download]:after,
.narrowComponent.linkList[class*="icon-"] #component > div.item-page > div > a[download]:after,
.narrowComponent.linkList #component > div > div.item-page > div > a[download]:after,
.narrowComponent.linkList[class*="icon-"] #component > div > div.item-page > div > a[download]:after  {
	content: url("data:image/svg+xml;charset=utf8,%3Csvg data-name='Ebene 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath fill='%23036aac' d='M6,15H1v6H23V15H18V14h6v8H0V14H6v1Zm14,2a1,1,0,1,1-1,1,1,1,0,0,1,1-1ZM12.5,0V14.88l4.74-5.72.76.65L12,17,6,9.8l.76-.65,4.74,5.73V0Z' fill-rule='evenodd'/%3E%3C/svg%3E");
}
.narrowComponent.linkList #component > div.item-page > div > a[download]:hover:after,
.narrowComponent.linkList[class*="icon-"] #component > div.item-page > div > a[download]:hover:after,
.narrowComponent.linkList #component > div > div.item-page > div > a[download]:hover:after,
.narrowComponent.linkList[class*="icon-"] #component > div > div.item-page > div > a[download]:hover:after    {
	content: url("data:image/svg+xml;charset=utf8,%3Csvg data-name='Ebene 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath fill='%233ea9e0' d='M6,15H1v6H23V15H18V14h6v8H0V14H6v1Zm14,2a1,1,0,1,1-1,1,1,1,0,0,1,1-1ZM12.5,0V14.88l4.74-5.72.76.65L12,17,6,9.8l.76-.65,4.74,5.73V0Z' fill-rule='evenodd'/%3E%3C/svg%3E");
}
.narrowComponent.linkList #component > div.item-page > div > a > span,
.narrowComponent.linkList #component > div > div.item-page > div > a > span {
	font-weight: 300;
}

@media (min-width: 60rem) {
	#component {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	#component > * {
		-webkit-box-flex: 1;
		    -ms-flex: 1 1 100%;
		        flex: 1 1 100%;
	}
	#postcomponent {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 30%;
		        flex: 0 0 30%;
	}
	#precomponent {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 30%;
		        flex: 0 0 30%;
	}
	#postcomponent {
		margin-left: 2em;
	}
	#precomponent {
		margin-right: 2em;
	}
}

.item-page > *[itemprop*="articleBody"] > *:last-child {
	padding-bottom: 5.5rem;
}
.item-page li {
    padding-top: 0.2em;
		padding-bottom: 0.2em;
}
/* POSTCOMPONTENT .linkList */
#postcomponent .moduletable > ul,
#postcomponent .moduletable > .custom > ul {
	padding-left: 0;
	padding-bottom: 0;
}
#postcomponent .moduletable > ul > li > a,
#postcomponent .moduletable > .custom > ul > li > a {
	display: block;
	padding: 0.75em 3em 0.75em 0;
	font-weight: normal;
	border-bottom: solid #ddd 2px;
	font-size: 0.8em;
	font-weight: 500;
	position: relative;
}
#postcomponent .mod-articleslatest.latestnews.mod-list > li > a {
	padding-right: 0.75em;
}
 #postcomponent .mod-articleslatest.latestnews.mod-list > li > a.jsActivated {
	color: #3ea9e0;
}
#postcomponent .moduletable > ul > li:first-child > a,
#postcomponent .moduletable > .custom > ul > li:first-child > a {
	padding-top: 0;
}

#postcomponent .moduletable > ul > li > a:hover,
#postcomponent .moduletable > .custom > ul > li > a:hover{
	color: #3ea9e0;
}
#postcomponent .moduletable > ul > li > a[download]:after ,
#postcomponent .moduletable > .custom > ul > li > a[download]:after  {
	content: url("data:image/svg+xml;charset=utf8,%3Csvg data-name='Ebene 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath fill='%23036aac' d='M6,15H1v6H23V15H18V14h6v8H0V14H6v1Zm14,2a1,1,0,1,1-1,1,1,1,0,0,1,1-1ZM12.5,0V14.88l4.74-5.72.76.65L12,17,6,9.8l.76-.65,4.74,5.73V0Z' fill-rule='evenodd'/%3E%3C/svg%3E");
	display: block;
	width: 2em;
	height: auto;
	position: absolute;
	right: 0.5em;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	    -ms-transform: translate(0, -50%);
	        transform: translate(0, -50%);
}
#postcomponent .moduletable > ul > li:first-child > a[download]:after,
#postcomponent .moduletable > .custom > ul > li:first-child > a[download]:after {
	-webkit-transform: translate(0, -60%);
	    -ms-transform: translate(0, -60%);
	        transform: translate(0, -60%); /* because no padding top here -> little higher */
}
#postcomponent .moduletable > ul > li > a[download]:hover:after,
#postcomponent .moduletable > .custom > ul > li > a[download]:hover:after  {
	content: url("data:image/svg+xml;charset=utf8,%3Csvg data-name='Ebene 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath fill='%233ea9e0' d='M6,15H1v6H23V15H18V14h6v8H0V14H6v1Zm14,2a1,1,0,1,1-1,1,1,1,0,0,1,1-1ZM12.5,0V14.88l4.74-5.72.76.65L12,17,6,9.8l.76-.65,4.74,5.73V0Z' fill-rule='evenodd'/%3E%3C/svg%3E");
}
/* --- */
#postcomponent p {
	font-size: 0.9em;
}
@media(min-width: 30rem) {
	#postcomponent p {
		font-size: 0.7em;
	}
}
#component ul,
#component ol {
	list-style-position: outside;
	line-height: 1.68em;
	padding-bottom: 1em;
}
#component ol > li {
	list-style-position: outside;
	margin-left: 1em;
	padding-left: 0;
}
#component .pagination ul,
#component [class*="__pagination"] ul  {
	padding-top: 4em;
	list-style: none inside none;
}
#component .pagination ul > li,
#component [class*="__pagination"] ul > li  {
	padding: 0;
	font-weight: bold;
	display: inline-block;
	line-height: 2.5em;
	text-align: center;
	position: relative;
	width: 2.5em;
	height: 2.5em;
	overflow: hidden;
	border-radius: 50%;
	margin-right: 1.5em;
}
#component .pagination ul > li > *,
#component .pagination ul > li > span > span[class*="icon-"],
#component .pagination ul > li > * > span.icon-angle-right,
#component .pagination ul > li > * > span.icon-angle-left,
#component [class*="__pagination"] ul > li > *,
#component .pagination ul > li > * > span.icon-next,
#component [class*="__pagination"] ul > li > * > span.icon-angle-right,
#component .pagination ul > li > * > span.icon-previous,
#component [class*="__pagination"] ul > li > * > span.icon-angle-left  {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
}
#component .pagination ul > li > a,
#component [class*="__pagination"] ul > li > a {
	-webkit-transition: color ease-in-out 0.25s;
	-o-transition: color ease-in-out 0.25s;
	transition: color ease-in-out 0.25s;
}
#component .pagination ul > li > a:hover,
#component [class*="__pagination"] ul > li > a:hover {
	color: rgb(214, 168, 126);
}
#component .pagination ul > li.active > a:hover,
#component [class*="__pagination"] ul > li.active > a:hover {
	color: #fff;
}
#component .pagination ul > li.active > *,
#component .pagination ul > li > * > span.icon-next,
#component .pagination ul > li > * > span.icon-previous,
#component .pagination ul > li > * > span.icon-angle-right,
#component .pagination ul > li > * > span.icon-angle-left,
#component [class*="__pagination"]  ul > li.active > *,
#component [class*="__pagination"]  ul > li > * > span.icon-angle-left,
#component [class*="__pagination"]  ul > li > * > span.icon-angle-right {
	background-color: rgb(22, 114, 176);
	color: #fff;
	position: relative;
	-webkit-transition: background-color ease-in-out 0.25s;
	-o-transition: background-color ease-in-out 0.25s;
	transition: background-color ease-in-out 0.25s;
}
#component .pagination ul > li > a:hover > span.icon-next,
#component .pagination ul > li > a:hover > span.icon-previous,
#component [class*="__pagination"] ul > li > a:hover > span.icon-angle-left,
#component [class*="__pagination"] ul > li > a:hover > span.icon-angle-right,
#component .pagination ul > li > a:hover > span[class*="icon-"]  {
	background-color: rgb(214, 168, 126);
}
#component .pagination ul > li.disabled > a > span.icon-previous,
#component .pagination ul > li.disabled > a > span.icon-next,
#component .pagination ul > li.disabled > a:hover > span.icon-previous,
#component .pagination ul > li.disabled > a:hover > span.icon-next,
#component [class*="__pagination"]  ul > li.disabled span.icon-angle-left,
#component [class*="__pagination"]  ul > li.disabled span.icon-angle-right,
#component [class*="__pagination"]  ul > li.disabled:hover span.icon-angle-left,
#component [class*="__pagination"]  ul > li.disabled:hover span.icon-angle-right,
#component .pagination ul > li.disabled > * > span[class*="icon-"] {
	background-color: #ddd;
}
#component .pagination ul > li > * > span.icon-previous:before,
#component .pagination ul > li > * > span.icon-next:before,
#component [class*="__pagination"]  ul > li > * > span.icon-angle-left:before,
#component [class*="__pagination"]  ul > li > * > span.icon-angle-right:before,
#component .pagination ul > li > * > span[class*="icon-"]:before,
#component .pagination ul > li > * > span.icon-angle-right:before  {
	content: "";
	display: block;
	position: absolute;
	width: 1em;
	height: 1em;
}
#component .pagination ul > li > * > span.icon-previous:before,
#component [class*="__pagination"]  ul > li > * > span.icon-angle-left:before,
#component .pagination ul > li > * > span.icon-angle-left:before {
	margin: 0.75em 0.85em 0.75em 0.65em;
	background: transparent url('../images/iconPfeilWeissLinks.png') no-repeat center center;
	background-size: contain;
}
#component .pagination ul > li > * > span.icon-next:before,
#component [class*="__pagination"]  ul > li > * > span.icon-angle-right:before,
#component .pagination ul > li > * > span.icon-angle-right:before {
	margin: 0.75em 0.65em 0.75em 0.85em;
	background: transparent url('../images/iconPfeilWeissRechts.png') no-repeat center center;
	background-size: contain;
}
#component .pagination ul > li:first-child,
#component .pagination ul > li:last-child,
#component [class*="__pagination"]  ul > li:first-child,
#component [class*="__pagination"]  ul > li:last-child  {
	display: none;
}
#component .pagination .counter,
#component [class*="__pagination"]  .counter {
	display: none;
}

/* Style References */
.references .sliderBox > * > * > * > p  {
  text-align: center;
}
.references .sliderBox > * > * > * > p:first-child > img {
  display: inline-block;
  width: 10em;
  height: 10em;
  border-radius: 50%;
}
.references .sliderBox > * > * > * > p:nth-child(2)  {
  background: #fff;
  padding: 2em;
  margin: 1em auto 2em auto;
  color: #333;
  font-weight: 400;
}
.references .sliderBox > * > * > * > p:last-child  {
  font-weight: 400;
}

/* FOOTER -----------------------------------------------------------------------> */
#prefooter {
	background: rgba(0,0,0,0.94);
	color: #fff;
	padding: 4em 0 4em 0;
}
.footerNav {
	list-style: inside square none;
}
.footerNav > li {
	padding: 0.4em 0;
}
.footerNav > li:first-child {
	padding-top: 0;
}
.socialsHorizontal {

}
.socialsHorizontal a {
	display: inline-block;
	width: 2em;
	height: 2em;
	margin-right: 1em;
}
.socialsHorizontal svg {
	width: 2em;
	height: 2em;
	fill: #fff;
}
/* Icons */
ul.withIcons > li {
	position: relative;
	padding-left: 2em;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	line-height: 1.5em;
}
ul.withIcons > li:first-child {
	padding-top: 0;
}
ul.withIcons > li:before {
	position: absolute;
	display: inline-block;
	left: 0;
	top: 0.65em;
	width: 1em;
	height: 1em;
	content: "";
	background-size: contain;
}
ul.withIcons > li:first-child:before {
	top: 0.25em;
}
ul.withIcons > li.icon-home:before {
	background-image: url('data:image/svg+xml;utf8,<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" fill="%23000000" clip-rule="evenodd"><path d="M6 23h-3v-10l8.991-8.005 9.009 8.005v10h-3v-9h-12v9zm1-2h10v2h-10v-2zm0-3h10v2h-10v-2zm10-3v2h-10v-2h10zm-5-14.029l12 10.661-1.328 1.493-10.672-9.481-10.672 9.481-1.328-1.493 12-10.661z"/></svg>');
}
ul.withIcons > li.icon-phone:before {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="%23000000" viewBox="0 0 24 24"><path d="M20 2c0-1.105-.896-2-2-2h-12c-1.105 0-2 .896-2 2v20c0 1.104.895 2 2 2h12c1.104 0 2-.896 2-2v-20zm-9.501 0h3.001c.276 0 .5.224.5.5s-.224.5-.5.5h-3.001c-.275 0-.499-.224-.499-.5s.224-.5.499-.5zm1.501 20c-.553 0-1-.448-1-1s.447-1 1-1c.552 0 .999.448.999 1s-.447 1-.999 1zm6-3h-12v-14.024h12v14.024z"/></svg>');
}
ul.withIcons > li.icon-mail:before {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="%23000000" viewBox="0 0 24 24"><path d="M12 12.713l-11.985-9.713h23.97l-11.985 9.713zm0 2.574l-12-9.725v15.438h24v-15.438l-12 9.725z"/></svg>');
}
ul.withIcons.white > li.icon-home:before {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill-rule="evenodd" fill="%23ffffff" clip-rule="evenodd"><path d="M6 23h-3v-10l8.991-8.005 9.009 8.005v10h-3v-9h-12v9zm1-2h10v2h-10v-2zm0-3h10v2h-10v-2zm10-3v2h-10v-2h10zm-5-14.029l12 10.661-1.328 1.493-10.672-9.481-10.672 9.481-1.328-1.493 12-10.661z"/></svg>');
}
ul.withIcons.white > li.icon-phone:before {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="%23ffffff" viewBox="0 0 24 24"><path d="M20 2c0-1.105-.896-2-2-2h-12c-1.105 0-2 .896-2 2v20c0 1.104.895 2 2 2h12c1.104 0 2-.896 2-2v-20zm-9.501 0h3.001c.276 0 .5.224.5.5s-.224.5-.5.5h-3.001c-.275 0-.499-.224-.499-.5s.224-.5.499-.5zm1.501 20c-.553 0-1-.448-1-1s.447-1 1-1c.552 0 .999.448.999 1s-.447 1-.999 1zm6-3h-12v-14.024h12v14.024z"/></svg>');
}
ul.withIcons.white > li.icon-mail:before {
	top: 0.8em; /* OVERRIDE */
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="%23ffffff" viewBox="0 0 24 24"><path d="M12 12.713l-11.985-9.713h23.97l-11.985 9.713zm0 2.574l-12-9.725v15.438h24v-15.438l-12 9.725z"/></svg>');
}
footer {
  	background: transparent;
	min-height: 3.5rem;
	position: relative;
	z-index: 999;
	padding-top: 0;
	padding-bottom: 0;
}
footer .bgWhite a {
  
}
footer a {

}
#footer {
	
}
#footer p {
	
}
#footer p:first-child > a {

}
#copyright {
  	text-align: center;
}
#copyright p {
	padding: 1rem 0;
	text-align: center;
	font-size: 0.7em;
	font-weight: 400;
}


/* DSGVO SHowcase */
#gmaps,
.dsgvoShowcase {
	position: relative;
	background-color: #ddd;
}
#gmaps div,
.dsgvoShowcase div {
	position: absolute;
	top: 50%;
	left: 50%;
	background: rgba(0, 0, 0, 0.4);
	color: #fff;
	max-width: 60rem;
	width: 80%;
	margin: auto;
	-webkit-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
	padding: 1em;
}
#gmaps iframe,
.dsgvoShowcase iframe {
	display: block;
	width: 100%;
	height: 20em;
	border: none;
	overflow: hidden;
	padding: 0;
}
#gmaps.isActive div,
.dsgvoShowcase.isActive div {
	display: none;
}


/* OK OK OK ---------------------------------------------------------------> */

/* Slider-Hero: durch Template-Parameter gesteuerte Ausrichtung */
#slider.slider-page-heading-hero {
	display: flex;
	align-items: flex-end;
}
#slider.slider-page-heading-hero .slider-page-heading {
	box-sizing: border-box;
	display: flex;
	align-items: flex-end;
	min-height: inherit;
	padding-top: 3rem;
	padding-bottom: 3rem;
}
#slider.slider-page-heading-hero .slider-page-heading h1 > span {
	display: block;
}
#slider.slider-page-heading-hero-bottom-left .slider-page-heading {
	justify-content: flex-start;
	text-align: left;
}
#slider.slider-page-heading-hero-bottom-left h1 {
	text-align: left;
}
#slider.slider-page-heading-hero-bottom-center .slider-page-heading {
	justify-content: center;
	text-align: center;
}
#slider.slider-page-heading-hero-bottom-center h1 {
	text-align: center;
}
#slider.slider-page-heading-hero-center-center .slider-page-heading,
#slider.slider-page-heading-hero-mobile-center-desktop-bottom-center .slider-page-heading,
#slider.slider-page-heading-hero-mobile-center-desktop-bottom-left .slider-page-heading {
	align-items: center;
	justify-content: center;
	padding-bottom: 3rem;
	text-align: center;
}
#slider.slider-page-heading-hero-center-center h1,
#slider.slider-page-heading-hero-mobile-center-desktop-bottom-center h1,
#slider.slider-page-heading-hero-mobile-center-desktop-bottom-left h1 {
	text-align: center;
}
@media (min-width: 60rem) {
	#slider.slider-page-heading-hero .slider-page-heading {
		padding-bottom: 4rem;
	}
	#slider.slider-page-heading-hero-center-center .slider-page-heading {
		padding-bottom: 3rem;
	}
	#slider.slider-page-heading-hero-mobile-center-desktop-bottom-center .slider-page-heading {
		align-items: flex-end;
		padding-bottom: 4rem;
	}
	#slider.slider-page-heading-hero-mobile-center-desktop-bottom-left .slider-page-heading {
		align-items: flex-end;
		justify-content: flex-start;
		padding-bottom: 4rem;
		text-align: left;
	}
	#slider.slider-page-heading-hero-mobile-center-desktop-bottom-left h1 {
		text-align: left;
	}
}

/* Showcase / Feature ----------------------------------------------------- */
/*
 * Neue Module benötigen in der Regel nur `showcase` und optionale Klassen
 * für Hintergrund, Höhe, Overlay, Ausrichtung, Labels oder Kacheln.
 * `feature` und `likeSlider` bleiben als kompatible Altbezeichnungen erhalten.
 */
.showcase,
.likeSlider,
.feature {
	box-sizing: border-box;
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow: hidden;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	color: inherit;
}
.showcase:not([class*="pad"]),
.likeSlider:not([class*="pad"]),
.feature:not([class*="pad"]) {
	padding: 2rem;
}
.showcase:not([class*="minH"]),
.likeSlider:not([class*="minH"]) {
	min-height: 22rem;
}
.feature:not([class*="minH"]) {
	min-height: 26rem;
}
.showcase.roundedContainer,
.showcase.rounded,
.likeSlider.roundedContainer,
.likeSlider.rounded,
.feature.roundedContainer,
.feature.rounded {
	border-radius: 1.25rem;
}
.showcase > .mod-custom,
.showcase > .custom,
.showcase > .showcase-content,
.likeSlider > .mod-custom,
.likeSlider > .custom,
.likeSlider > .showcase-content,
.feature > .mod-custom,
.feature > .custom,
.feature > .feature-content,
.feature > .showcase-content {
	box-sizing: border-box;
	position: relative;
	z-index: 2;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	max-width: 100%;
}
.showcase > .bgkachel,
.likeSlider > .bgkachel,
.feature > .bgkachel,
.showcase > .mod-custom > .bgkachel,
.showcase > .custom > .bgkachel,
.likeSlider > .mod-custom > .bgkachel,
.likeSlider > .custom > .bgkachel,
.feature > .mod-custom > .bgkachel,
.feature > .custom > .bgkachel {
	z-index: 1;
}

.showcase > :not(.bgkachel):not(.mod-custom):not(.custom),
.showcase > .mod-custom > :not(.bgkachel),
.showcase > .custom > :not(.bgkachel),
.likeSlider > :not(.bgkachel):not(.mod-custom):not(.custom),
.likeSlider > .mod-custom > :not(.bgkachel),
.likeSlider > .custom > :not(.bgkachel),
.feature > :not(.bgkachel):not(.mod-custom):not(.custom),
.feature > .mod-custom > :not(.bgkachel),
.feature > .custom > :not(.bgkachel) {
	position: relative;
	z-index: 2;
}

/*
 * Kachelbuehnen: Weiter aussen liegende Dekoration gibt dem mittleren
 * Sliderinhalt mehr nutzbare Breite. Die Moduloption onlyFirstKachel wird
 * serverseitig an die zugehoerige Slider-Buehne uebertragen.
 */
body.kachelnWeiterAussen #slider .nkms-slide-html > h1,
body.kachelnWeiterAussen #slider .bgKachelContent > h1 {
	width: 80%;
	max-width: 64rem;
	margin-right: auto;
	margin-left: auto;
}
body.kachelnWeiterAussen #slider .nkms-slide-html > p,
body.kachelnWeiterAussen #slider .bgKachelContent > p {
	width: 78%;
	max-width: 60rem;
	margin-right: auto;
	margin-left: auto;
}

@media (min-width: 90rem) {
	body.kachelnWeiterAussen #slider .nkms-slide-html > h1,
	body.kachelnWeiterAussen #slider .bgKachelContent > h1 {
		width: 76%;
		max-width: 68rem;
	}
	body.kachelnWeiterAussen #slider .nkms-slide-html > p,
	body.kachelnWeiterAussen #slider .bgKachelContent > p {
		width: 74%;
		max-width: 66rem;
	}
}

@media (min-width: 120rem) {
	body.kachelnWeiterAussen #slider .nkms-slide-html > h1,
	body.kachelnWeiterAussen #slider .bgKachelContent > h1 {
		width: 68%;
		max-width: 68rem;
	}
	body.kachelnWeiterAussen #slider .nkms-slide-html > p,
	body.kachelnWeiterAussen #slider .bgKachelContent > p {
		width: 66%;
		max-width: 66rem;
	}
}

@media (min-width: 40rem) and (max-width: 59.99rem) {
	#slider.onlyFirstKachel .nkms-slide-html > h1,
	#slider.onlyFirstKachel .bgKachelContent > h1,
	#slider.onlyFirstKachel .nkms-slide-html > p,
	#slider.onlyFirstKachel .bgKachelContent > p {
		width: 86%;
		max-width: 52rem;
		margin-right: 2%;
		margin-left: 12%;
	}
}

@media (max-width: 39.99rem) {
	#slider.onlyFirstKachel .nkms-slide-html > h1,
	#slider.onlyFirstKachel .bgKachelContent > h1,
	#slider.onlyFirstKachel .nkms-slide-html > p,
	#slider.onlyFirstKachel .bgKachelContent > p {
		width: 94%;
		max-width: 94%;
		margin-right: 2%;
		margin-left: 4%;
	}
}

/* Overlay-Ebene: immer über dem Hintergrund und unter Kacheln/Inhalt. */
.showcase.darkOverlay::after,
.showcase.brightOverlay::after,
.showcase.greyDiagonalOverlay::after,
.showcase.greyDiagonalOverlayLeft::after,
.showcase.transOverlayDiagonal::after,
.likeSlider.darkOverlay::after,
.likeSlider.brightOverlay::after,
.likeSlider.greyDiagonalOverlay::after,
.likeSlider.greyDiagonalOverlayLeft::after,
.likeSlider.transOverlayDiagonal::after,
.feature.darkOverlay::after,
.feature.brightOverlay::after,
.feature.greyDiagonalOverlay::after,
.feature.greyDiagonalOverlayLeft::after,
.feature.transOverlayDiagonal::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
	content: "";
	pointer-events: none;
}
.showcase.darkOverlay::after,
.likeSlider.darkOverlay::after,
.feature.darkOverlay::after {
	background: rgba(0, 0, 0, 0.58);
}
.showcase.brightOverlay::after,
.likeSlider.brightOverlay::after,
.feature.brightOverlay::after {
	background: rgba(255, 255, 255, 0.58);
}
.showcase.greyDiagonalOverlay::after,
.showcase.transOverlayDiagonal::after,
.likeSlider.greyDiagonalOverlay::after,
.likeSlider.transOverlayDiagonal::after,
.feature.greyDiagonalOverlay::after,
.feature.transOverlayDiagonal::after {
	left: auto;
	width: 64%;
	background: rgba(53, 53, 53, 0.76);
	transform: skewX(-11deg);
	transform-origin: right top;
}
.showcase.greyDiagonalOverlayLeft::after,
.likeSlider.greyDiagonalOverlayLeft::after,
.feature.greyDiagonalOverlayLeft::after {
	right: auto;
	width: 64%;
	background: rgba(53, 53, 53, 0.76);
	transform: skewX(11deg);
	transform-origin: left top;
}
.showcase.overlayLight::after,
.likeSlider.overlayLight::after,
.feature.overlayLight::after {
	opacity: 0.72;
}
.showcase.darkOverlay,
.showcase.greyDiagonalOverlay,
.showcase.greyDiagonalOverlayLeft,
.showcase.transOverlayDiagonal,
.likeSlider.darkOverlay,
.likeSlider.greyDiagonalOverlay,
.likeSlider.greyDiagonalOverlayLeft,
.likeSlider.transOverlayDiagonal,
.feature.darkOverlay,
.feature.greyDiagonalOverlay,
.feature.greyDiagonalOverlayLeft,
.feature.transOverlayDiagonal {
	color: #fff;
}
.showcase.darkOverlay h1,
.showcase.darkOverlay h2,
.showcase.darkOverlay h3,
.showcase.darkOverlay p,
.showcase.greyDiagonalOverlay h1,
.showcase.greyDiagonalOverlay h2,
.showcase.greyDiagonalOverlay h3,
.showcase.greyDiagonalOverlay p,
.showcase.greyDiagonalOverlayLeft h1,
.showcase.greyDiagonalOverlayLeft h2,
.showcase.greyDiagonalOverlayLeft h3,
.showcase.greyDiagonalOverlayLeft p,
.showcase.transOverlayDiagonal h1,
.showcase.transOverlayDiagonal h2,
.showcase.transOverlayDiagonal h3,
.showcase.transOverlayDiagonal p,
.likeSlider.darkOverlay h1,
.likeSlider.darkOverlay h2,
.likeSlider.darkOverlay h3,
.likeSlider.darkOverlay p,
.likeSlider.greyDiagonalOverlay h1,
.likeSlider.greyDiagonalOverlay h2,
.likeSlider.greyDiagonalOverlay h3,
.likeSlider.greyDiagonalOverlay p,
.feature.darkOverlay h1,
.feature.darkOverlay h2,
.feature.darkOverlay h3,
.feature.darkOverlay p,
.feature.greyDiagonalOverlay h1,
.feature.greyDiagonalOverlay h2,
.feature.greyDiagonalOverlay h3,
.feature.greyDiagonalOverlay p {
	color: inherit !important;
}
.showcase.allCentered,
.likeSlider.allCentered,
.feature.allCentered {
	align-items: center;
	justify-content: center;
	text-align: center;
}
.showcase.allCentered > .mod-custom,
.showcase.allCentered > .custom,
.showcase.allCentered > .showcase-content,
.likeSlider.allCentered > .mod-custom,
.likeSlider.allCentered > .custom,
.likeSlider.allCentered > .showcase-content,
.feature.allCentered > .mod-custom,
.feature.allCentered > .custom,
.feature.allCentered > .feature-content,
.feature.allCentered > .showcase-content {
	align-items: center;
}

/* Showcase-Typografie bleibt relativ zur responsiven Template-Schrift. */
#bottom .showcase h2,
#bottom .likeSlider h2,
#bottom .feature h2,
.showcase h2,
.likeSlider h2,
.feature h2 {
	margin-bottom: 0.35em;
	padding-bottom: 0;
	font-size: 2.25em;
}
.showcase .showcase-content > :last-child,
.likeSlider .showcase-content > :last-child,
.feature .showcase-content > :last-child,
.feature .feature-content > :last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}
@media (max-width: 39.99rem) {
	#bottom .showcase h2,
	#bottom .likeSlider h2,
	#bottom .feature h2,
	.showcase h2,
	.likeSlider h2,
	.feature h2 {
		font-size: 1.85em;
	}
}
.feature.labels .feature-content > p,
.feature.labels .feature-content > h1,
.feature.labels .feature-content > h2,
.feature.labels .feature-content > h3 {
	margin: 0 0 0.5rem;
	padding: 0;
}
.feature.labels .feature-content > *:last-child {
	margin-bottom: 0;
}
.feature.labels .feature-content span.small,
.feature.labels .feature-content span.big,
.feature.labels .feature-content span.text {
	box-sizing: border-box;
	display: inline-block;
	max-width: 100%;
	color: #fff;
}
.feature.labels .feature-content span.small {
	padding: 0.3em 0.75em;
	font-size: 1.25rem;
	line-height: 1.2;
}
.feature.labels .feature-content span.big {
	padding: 0.25em 0.4em;
	font-size: clamp(2.5rem, 7vw, 5rem);
	font-weight: 700;
	line-height: 1;
}
.feature.labels .feature-content span.text {
	max-width: 80rem;
	padding: 0.65em 1.25em;
	font-size: 1rem;
	line-height: 1.4;
}
@media (min-width: 60rem) {
	.feature:not([class*="minH"]) {
		min-height: 34rem;
	}
	.showcase:not([class*="pad"]),
	.likeSlider:not([class*="pad"]),
	.feature:not([class*="pad"]) {
		padding: 3rem;
	}
	.feature.labels .feature-content span.small {
		font-size: 1.5rem;
	}
	.feature.labels .feature-content span.text {
		font-size: 1.25rem;
	}
}

/* Vereinfachte Showcase-Bausteine --------------------------------------- */
/* Kacheln im Joomla-Custom-Modul richten sich am Showcase statt am Innenwrapper aus. */
.showcase > .mod-custom,
.showcase > .custom,
.likeSlider > .mod-custom,
.likeSlider > .custom,
.feature > .mod-custom,
.feature > .custom {
	position: static;
}

/* Direkte Ueberschriften und Absaetze koennen ohne zusaetzliches Span Labels sein. */
.showcase.labels > h1,
.showcase.labels > h2,
.showcase.labels > h3,
.showcase.labels > p,
.showcase.labels > :not(.bgkachel) > h1,
.showcase.labels > :not(.bgkachel) > h2,
.showcase.labels > :not(.bgkachel) > h3,
.showcase.labels > :not(.bgkachel) > p,
.likeSlider.labels > h1,
.likeSlider.labels > h2,
.likeSlider.labels > h3,
.likeSlider.labels > p,
.likeSlider.labels > :not(.bgkachel) > h1,
.likeSlider.labels > :not(.bgkachel) > h2,
.likeSlider.labels > :not(.bgkachel) > h3,
.likeSlider.labels > :not(.bgkachel) > p,
.feature.labels > h1,
.feature.labels > h2,
.feature.labels > h3,
.feature.labels > p,
.feature.labels > :not(.bgkachel):not(.feature-content) > h1,
.feature.labels > :not(.bgkachel):not(.feature-content) > h2,
.feature.labels > :not(.bgkachel):not(.feature-content) > h3,
.feature.labels > :not(.bgkachel):not(.feature-content) > p {
	box-sizing: border-box;
	display: table;
	max-width: 100%;
	margin-top: 0;
	margin-bottom: 0.5rem;
	padding: 0.35em 0.75em;
	color: inherit !important;
}
.showcase.labels.allCentered h1,
.showcase.labels.allCentered h2,
.showcase.labels.allCentered h3,
.showcase.labels.allCentered p,
.likeSlider.labels.allCentered h1,
.likeSlider.labels.allCentered h2,
.likeSlider.labels.allCentered h3,
.likeSlider.labels.allCentered p,
.feature.labels.allCentered h1,
.feature.labels.allCentered h2,
.feature.labels.allCentered h3,
.feature.labels.allCentered p {
	margin-right: auto;
	margin-left: auto;
}
.showcase.labels.sepCol1,
.showcase.labels.sepCol2,
.likeSlider.labels.sepCol1,
.likeSlider.labels.sepCol2,
.feature.labels.sepCol1,
.feature.labels.sepCol2 {
	color: #fff;
}


@media (max-width: 59.99rem) {
	.showcase.greyDiagonalOverlay::after,
	.showcase.greyDiagonalOverlayLeft::after,
	.showcase.transOverlayDiagonal::after,
	.likeSlider.greyDiagonalOverlay::after,
	.likeSlider.greyDiagonalOverlayLeft::after,
	.likeSlider.transOverlayDiagonal::after,
	.feature.greyDiagonalOverlay::after,
	.feature.greyDiagonalOverlayLeft::after,
	.feature.transOverlayDiagonal::after {
		right: 0;
		left: 0;
		width: 100%;
		transform: none;
	}
}
@media (min-width: 60rem) {
	.showcase.contentRight > .mod-custom,
	.showcase.contentRight > .custom,
	.showcase.contentRight > .showcase-content,
	.likeSlider.contentRight > .mod-custom,
	.likeSlider.contentRight > .custom,
	.likeSlider.contentRight > .showcase-content,
	.feature.contentRight > .mod-custom,
	.feature.contentRight > .custom,
	.feature.contentRight > .feature-content,
	.feature.contentRight > .showcase-content,
	.showcase.contentLeft > .mod-custom,
	.showcase.contentLeft > .custom,
	.showcase.contentLeft > .showcase-content,
	.likeSlider.contentLeft > .mod-custom,
	.likeSlider.contentLeft > .custom,
	.likeSlider.contentLeft > .showcase-content,
	.feature.contentLeft > .mod-custom,
	.feature.contentLeft > .custom,
	.feature.contentLeft > .feature-content,
	.feature.contentLeft > .showcase-content {
		width: 50%;
	}
	.showcase.contentRight > .mod-custom,
	.showcase.contentRight > .custom,
	.showcase.contentRight > .showcase-content,
	.likeSlider.contentRight > .mod-custom,
	.likeSlider.contentRight > .custom,
	.likeSlider.contentRight > .showcase-content,
	.feature.contentRight > .mod-custom,
	.feature.contentRight > .custom,
	.feature.contentRight > .feature-content,
	.feature.contentRight > .showcase-content {
		align-self: flex-end;
	}
	.showcase.contentLeft > .mod-custom,
	.showcase.contentLeft > .custom,
	.showcase.contentLeft > .showcase-content,
	.likeSlider.contentLeft > .mod-custom,
	.likeSlider.contentLeft > .custom,
	.likeSlider.contentLeft > .showcase-content,
	.feature.contentLeft > .mod-custom,
	.feature.contentLeft > .custom,
	.feature.contentLeft > .feature-content,
	.feature.contentLeft > .showcase-content {
		align-self: flex-start;
	}
}
/* Joomla-Modulintro fuer verlinkte Icon- und Logokarten. */
.iconLinkSection {
	text-align: center;
}
#bottom .iconLinkSection h2,
.iconLinkSection h2 {
	margin-bottom: 0.45em;
	padding-bottom: 0;
}
.iconLinkSection > p {
	max-width: 60rem;
	margin-right: auto;
	margin-left: auto;
	padding-bottom: 0;
}
.iconLinkSection > .threeIconLinkBoxes,
.iconLinkSection > p + .nkFlexBox,
.iconLinkSection > .mod-custom > p + .nkFlexBox {
	margin-top: 2em;
}

/*
 * Zweispaltiges Positions-/Statement-Panel fuer Joomla-Inhaltsmodule.
 * Farben, Bildklasse und Overlay-Farbe bleiben bewusst website-spezifisch.
 */
.positionPanel {
	box-sizing: border-box;
	padding: 1.5em;
	border: solid 1px transparent;
	border-radius: 1em;
}
.positionsSection > .positionPanel {
	margin-top: 2em;
}
.positionPanelLayout {
	gap: 1em;
}
.positionPanelLayout > .stackedInfoBoxes,
.positionPanelLayout > .positionPanelVisual {
	min-width: 0;
}
.stackedInfoBoxes {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 1em;
}
.stackedInfoBoxes > * {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	box-sizing: border-box;
	min-height: 8em;
	padding: 1.25em;
	border: solid 1px transparent;
	border-radius: 0.85em;
	text-align: center;
}
.stackedInfoBoxes strong,
.stackedInfoBoxes span {
	display: block;
}
.stackedInfoBoxes strong {
	margin-bottom: 0.55em;
	font-size: 1.65em;
	line-height: 1.1;
}
.stackedInfoBoxes span {
	font-weight: 600;
	line-height: 1.25;
}
.positionPanelVisual {
	position: relative;
	isolation: isolate;
	min-height: 20em;
	overflow: hidden;
	border-radius: 0.85em;
}
.positionPanelVisual::before {
	content: "";
	position: absolute;
	z-index: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
}
.positionPanelVisual > * {
	position: relative;
	z-index: 1;
}
.positionPanelVisual > img {
	position: absolute;
	z-index: 2;
	left: 1.5em;
	bottom: 1.5em;
	display: block;
	width: 13em;
	max-width: 48%;
	height: auto;
}

/* Gestapelte Kontaktkarten und Formulare im Positionspanel. */
.contactInfoBoxes > * {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 1em;
	text-align: left;
}
.contactInfoBoxes .contactInfoIcon {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	display: block;
	width: 2.4em;
	height: 2.4em;
}
.contactInfoBoxes .contactInfoText {
	min-width: 0;
	margin: 0;
}
.stackedInfoBoxes.contactInfoBoxes strong {
	margin: 0 0 0.25em;
	font-size: 1em;
	line-height: 1.25;
}
.contactInfoBoxes .contactInfoText a,
.contactInfoBoxes .contactInfoText span {
	display: block;
	font-weight: 400;
	line-height: 1.4;
	overflow-wrap: break-word;
}
.contactInfoBoxes .contactInfoEmail,
.contactInfoBoxes joomla-hidden-mail,
.contactInfoBoxes joomla-hidden-mail a {
	max-width: 100%;
	overflow-wrap: break-word;
}
.contactInfoBoxes .contactInfoEmail,
.contactInfoBoxes .contactInfoEmail joomla-hidden-mail > a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
	text-decoration-color: currentColor;
}
.contactInfoBoxes .contactInfoEmail {
	display: inline-block;
	overflow: hidden;
	white-space: nowrap;
	vertical-align: top;
	-webkit-transition: max-width 1.6s steps(30, end), color 0.25s ease, text-decoration-color 0.25s ease;
	transition: max-width 1.6s steps(30, end), color 0.25s ease, text-decoration-color 0.25s ease;
}
.contactInfoBoxes .contactInfoEmail joomla-hidden-mail > a {
	-webkit-transition: color 0.25s ease, text-decoration-color 0.25s ease;
	transition: color 0.25s ease, text-decoration-color 0.25s ease;
}
.contactInfoBoxes .nkAosPending .contactInfoEmail {
	max-width: 0;
}
.contactInfoBoxes .nkAosActive .contactInfoEmail {
	max-width: 24em;
}
.contactInfoBoxes joomla-hidden-mail {
	display: block;
}
.contactFormVisual {
	box-sizing: border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 2em;
}
.contactFormVisual > * {
	box-sizing: border-box;
	width: 100%;
}
@media (min-width: 60rem) {
	.positionPanelLayout > .stackedInfoBoxes {
		-webkit-box-flex: 0;
		-ms-flex: 0 1 34%;
		flex: 0 1 34%;
	}
	.positionPanelLayout > .positionPanelVisual {
		-webkit-box-flex: 1;
		-ms-flex: 1 1 66%;
		flex: 1 1 66%;
		min-height: 28em;
	}
}
@media (max-width: 39.99rem) {
	.positionPanel {
		padding: 1em;
	}
	.positionPanelVisual {
		min-height: 16em;
	}
	.positionPanelVisual > img {
		left: 1em;
		bottom: 1em;
		max-width: 60%;
	}
	.contactFormVisual {
		padding: 1.25em;
	}
}

/* Joomla BLOG */
.com-content-category-blog.blog {
	padding-bottom: 2em;
}
.com-content-category-blog__items.blog-items {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin-right: -0.5em;
	margin-bottom: 1em;
	margin-left: -0.5em;
	padding: 0;
}
.com-content-category-blog__items .blog-item {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: 100%;
	padding-right: 0.5em;
	clear: both;
	padding-bottom: 2em;
	padding-left: 0.5em;
	overflow: hidden;
}
#component .com-content-category-blog__items .blog-item > .item-image {
	float: none;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	min-width: 0;
	height: 14em;
	margin: 0 0 0.75em;
	overflow: hidden;
	border-radius: 0.8em;
}
#component .com-content-category-blog__items .blog-item > .item-image > a,
#component .com-content-category-blog__items .blog-item > .item-image img {
	display: block;
	width: 100%;
	height: 100%;
}
#component .com-content-category-blog__items .blog-item > .item-image img {
	-o-object-fit: cover;
	object-fit: cover;
}
.com-content-category-blog__items .item-content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	min-width: 0;
}
.com-content-category-blog__items .item-content > .page-header {
	-webkit-box-ordinal-group: 3;
	-ms-flex-order: 2;
	order: 2;
	margin: 0;
	padding: 0;
}
.com-content-category-blog__items .item-content > .page-header h2 {
	margin: 0.7em 0 0.55em;
	padding: 0;
	font-size: 1.25em;
	line-height: 1.25;
	text-align: left;
}
.com-content-category-blog__items .item-content > .article-info {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 0.5em 1em;
	margin: 0;
	padding: 0;
}
.com-content-category-blog__items .article-info dt {
	display: none;
}
.com-content-category-blog__items .article-info dd {
	margin: 0;
	font-size: 0.78em;
}
.com-content-category-blog__items .category-name {
	font-size: 0 !important;
	line-height: 1;
}
.com-content-category-blog__items .category-name > [class*="icon-"] {
	display: none;
}
.com-content-category-blog__items .category-name a {
	display: inline-block;
	padding: 0.35em 0.85em;
	font-size: small;
	line-height: 1.2;
}
.com-content-category-blog__items .item-content > p:not(.readmore) {
	-webkit-box-ordinal-group: 4;
	-ms-flex-order: 3;
	order: 3;
	margin-top: 0;
	margin-bottom: 1.15em;
	line-height: 1.5;
}
/* Die Blogkarte zeigt wie die kompakte Newsvorschau nur den ersten Absatz. */
.com-content-category-blog__items .item-content > p:not(.readmore) ~ p:not(.readmore) {
	display: none;
}
.com-content-category-blog__items .item-content > p:not(.readmore) strong {
	font-weight: inherit;
}
.com-content-category-blog__items .item-content > p.readmore {
	-webkit-box-ordinal-group: 5;
	-ms-flex-order: 4;
	order: 4;
	-ms-flex-item-align: start;
	align-self: flex-start;
	margin: auto 0 0;
	padding-top: 0.25em;
}
#componentContainer .com-content-category-blog__items .item-content > p.readmore a {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 0.75em;
	box-sizing: border-box;
	padding: 0.55em 1em;
	border: solid 1px currentColor;
	background-color: transparent;
	font-size: inherit;
	font-weight: inherit;
	line-height: 1.2;
	text-decoration: none;
	-webkit-transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
	-o-transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
	transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
.com-content-category-blog__items .item-content > p.readmore a > [class*="icon-"] {
	-webkit-box-ordinal-group: 3;
	-ms-flex-order: 2;
	order: 2;
}
@media (min-width: 60rem) {
	#component .com-content-category-blog__items .blog-item > .item-image {
		height: 15em;
	}
}
@media (min-width: 60rem) {
	.com-content-category-blog__items.columns-2 > .blog-item {
		width: 50%;
	}
	.com-content-category-blog__items.columns-3 > .blog-item {
		width: 33.3333%;
	}
	.com-content-category-blog__items.columns-4 > .blog-item {
		width: 25%;
	}
	.com-content-category-blog__items.masonry-2,
	.com-content-category-blog__items.masonry-3,
	.com-content-category-blog__items.masonry-4 {
		display: block;
		column-gap: 1em;
	}
	.com-content-category-blog__items.masonry-2 {
		column-count: 2;
	}
	.com-content-category-blog__items.masonry-3 {
		column-count: 3;
	}
	.com-content-category-blog__items.masonry-4 {
		column-count: 4;
	}
	.com-content-category-blog__items.masonry-2 > .blog-item,
	.com-content-category-blog__items.masonry-3 > .blog-item,
	.com-content-category-blog__items.masonry-4 > .blog-item {
		display: inline-flex;
		break-inside: avoid;
		page-break-inside: avoid;
	}
}

/*
 * Kompakte Beitragsvorschau als alternatives com_content-Kategorielayout.
 * Die Struktur ist Joomla-spezifisch; Farben bleiben im jeweiligen Custom-CSS.
 */
.newsPreview {
	box-sizing: border-box;
}
.newsPreview > header {
	max-width: 62rem;
	margin: 0 auto 2.2em;
	text-align: center;
}
.newsPreview > header h2 {
	margin-bottom: 0.45em;
	padding-bottom: 0;
}
.newsPreview > header p {
	margin: 0;
	padding: 0;
}
.newsPreviewCards {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 1.25em;
	text-align: left;
}
.newsPreviewCards > article {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 100%;
	flex: 1 1 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	box-sizing: border-box;
	min-width: 0;
}
.newsPreviewImage {
	display: block;
	height: 14em;
	overflow: hidden;
	border-radius: 0.8em;
}
.newsPreviewImage img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.newsPreviewMeta {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 1em;
	margin-top: 0.75em;
}
.newsPreviewMeta span {
	display: inline-block;
	padding: 0.35em 0.85em;
	font-size: 0.78em;
	line-height: 1.2;
}
.newsPreviewMeta time {
	font-size: 0.78em;
}
.newsPreviewCards h3 {
	margin: 0.7em 0 0.55em;
	padding: 0;
	font-size: 1.25em;
	line-height: 1.25;
	text-align: left;
}
.newsPreviewCards h3 a {
	color: inherit;
	text-decoration: none;
}
.newsPreviewIntro {
	margin-bottom: 1.15em;
	line-height: 1.5;
}
.newsPreviewIntro strong {
	font-weight: inherit;
}
.newsPreviewIntro > :first-child {
	margin-top: 0;
}
.newsPreviewIntro > :last-child {
	margin-bottom: 0;
}
.newsPreviewReadmore {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 0.75em;
	-ms-flex-item-align: start;
	align-self: flex-start;
	margin-top: auto;
	padding: 0.55em 1em;
	border: solid 1px currentColor;
	border-radius: 2em;
	text-decoration: none;
	-webkit-transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
	-o-transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
	transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
.newsPreviewReadmore > svg {
	display: block;
	width: 1em;
	height: 1em;
	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	color: currentColor;
	fill: currentColor;
	stroke: currentColor;
	transition: transform 0.2s ease;
}
.newsPreviewReadmore:hover > svg,
.newsPreviewReadmore:focus > svg {
	-webkit-transform: translateX(0.18em);
	transform: translateX(0.18em);
}

/* Kompakte Joomla-Beitragsdetails und Navigation in der Einzelansicht. */
.com-content-article .article-info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 0.45em 1.2em;
	margin: 1em 0 2em;
	padding: 0.8em 0;
	border-top: solid 1px rgba(0, 0, 0, 0.12);
	border-bottom: solid 1px rgba(0, 0, 0, 0.12);
	font-size: 0.82em;
	line-height: 1.45;
}
.com-content-article .article-info-term {
	display: none;
}
.com-content-article .article-info dd {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 0.35em;
	margin: 0;
	padding: 0;
}
.com-content-article .article-info [class^="icon-"],
.com-content-article .article-info [class*=" icon-"] {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
}
.com-content-article .pagenavigation {
	clear: both;
	margin-top: 3em;
	padding-top: 1.2em;
	border-top: solid 1px rgba(0, 0, 0, 0.12);
}
.com-content-article .pagenavigation .pagination {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
	margin: 0;
	padding: 0;
}
.com-content-article .pagenavigation a.btn {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 0.55em;
	padding: 0.6em 1em;
	border: solid 1px currentColor;
	border-radius: 0.45em;
	background: transparent;
	color: inherit;
	font-size: 0.9em;
	font-weight: inherit;
	line-height: 1.2;
	text-transform: none;
	text-decoration: none;
	-webkit-transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
	-o-transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
.com-content-article .pagenavigation a.next {
	margin-left: auto;
}
.com-content-article .pagenavigation a.btn:hover,
.com-content-article .pagenavigation a.btn:focus {
	background-color: rgba(0, 0, 0, 0.05);
}
.com-content-article .pagenavigation [class*="icon-chevron"] {
	display: inline-block;
	-webkit-transition: -webkit-transform 0.2s ease;
	transition: -webkit-transform 0.2s ease;
	-o-transition: transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
.com-content-article .pagenavigation a.btn:hover [class*="icon-chevron"],
.com-content-article .pagenavigation a.btn:focus [class*="icon-chevron"] {
	-webkit-transform: translateX(0.18em);
	transform: translateX(0.18em);
}

/*
 * Einheitliche Dauer fuer klassische UI-Uebergaenge.
 * Bewegungs-, Sticky-, Slider- und AOS-Animationen werden bewusst nicht erfasst.
 */
body.ui-transition-off button,
body.ui-transition-off input[type="submit"],
body.ui-transition-off input[type="button"],
body.ui-transition-off input[type="reset"],
body.ui-transition-off a.button,
body.ui-transition-off a.transbutton,
body.ui-transition-off #component a.button,
body.ui-transition-off #slider a.button,
body.ui-transition-off #header1 a,
body.ui-transition-off #header1 svg,
body.ui-transition-off #logo a,
body.ui-transition-off #logo img,
body.ui-transition-off #logo svg,
body.ui-transition-off #component .pagination a,
body.ui-transition-off #component [class*="__pagination"] a,
body.ui-transition-off .threeIconLinkBoxes span,
body.ui-transition-off .threeIconLinkBoxes svg,
body.ui-transition-off .threeIconLinkBoxes.logoLinkBoxes .nkFlexBox > a,
body.ui-transition-off .threeIconLinkBoxes.logoLinkBoxes .nkFlexBox > a::after,
body.ui-transition-off .serviceCardLink,
body.ui-transition-off .arrowLink,
body.ui-transition-off .newsPreviewReadmore,
body.ui-transition-off .com-content-category-blog__items .item-content > p.readmore a,
body.ui-transition-off .com-content-article .pagenavigation a.btn,
body.ui-transition-off .nkForm .jsDdOption,
body.ui-transition-off .nkjsimplecontactBox.nkjsc-button-standard .nkForm button[type="submit"],
body.ui-transition-off .nkjsimplecontactBox.nkjsc-button-standard .nkForm input[type="submit"],
body.ui-transition-off .contactInfoBoxes .contactInfoEmail joomla-hidden-mail > a {
	-webkit-transition-duration: 0s;
	-o-transition-duration: 0s;
	transition-duration: 0s;
}
body.ui-transition-fast button,
body.ui-transition-fast input[type="submit"],
body.ui-transition-fast input[type="button"],
body.ui-transition-fast input[type="reset"],
body.ui-transition-fast a.button,
body.ui-transition-fast a.transbutton,
body.ui-transition-fast #component a.button,
body.ui-transition-fast #slider a.button,
body.ui-transition-fast #header1 a,
body.ui-transition-fast #header1 svg,
body.ui-transition-fast #logo a,
body.ui-transition-fast #logo img,
body.ui-transition-fast #logo svg,
body.ui-transition-fast #component .pagination a,
body.ui-transition-fast #component [class*="__pagination"] a,
body.ui-transition-fast .threeIconLinkBoxes span,
body.ui-transition-fast .threeIconLinkBoxes svg,
body.ui-transition-fast .threeIconLinkBoxes.logoLinkBoxes .nkFlexBox > a,
body.ui-transition-fast .threeIconLinkBoxes.logoLinkBoxes .nkFlexBox > a::after,
body.ui-transition-fast .serviceCardLink,
body.ui-transition-fast .arrowLink,
body.ui-transition-fast .newsPreviewReadmore,
body.ui-transition-fast .com-content-category-blog__items .item-content > p.readmore a,
body.ui-transition-fast .com-content-article .pagenavigation a.btn,
body.ui-transition-fast .nkForm .jsDdOption,
body.ui-transition-fast .nkjsimplecontactBox.nkjsc-button-standard .nkForm button[type="submit"],
body.ui-transition-fast .nkjsimplecontactBox.nkjsc-button-standard .nkForm input[type="submit"],
body.ui-transition-fast .contactInfoBoxes .contactInfoEmail joomla-hidden-mail > a {
	-webkit-transition-duration: 0.15s;
	-o-transition-duration: 0.15s;
	transition-duration: 0.15s;
}
body.ui-transition-normal button,
body.ui-transition-normal input[type="submit"],
body.ui-transition-normal input[type="button"],
body.ui-transition-normal input[type="reset"],
body.ui-transition-normal a.button,
body.ui-transition-normal a.transbutton,
body.ui-transition-normal #component a.button,
body.ui-transition-normal #slider a.button,
body.ui-transition-normal #header1 a,
body.ui-transition-normal #header1 svg,
body.ui-transition-normal #logo a,
body.ui-transition-normal #logo img,
body.ui-transition-normal #logo svg,
body.ui-transition-normal #component .pagination a,
body.ui-transition-normal #component [class*="__pagination"] a,
body.ui-transition-normal .threeIconLinkBoxes span,
body.ui-transition-normal .threeIconLinkBoxes svg,
body.ui-transition-normal .threeIconLinkBoxes.logoLinkBoxes .nkFlexBox > a,
body.ui-transition-normal .threeIconLinkBoxes.logoLinkBoxes .nkFlexBox > a::after,
body.ui-transition-normal .serviceCardLink,
body.ui-transition-normal .arrowLink,
body.ui-transition-normal .newsPreviewReadmore,
body.ui-transition-normal .com-content-category-blog__items .item-content > p.readmore a,
body.ui-transition-normal .com-content-article .pagenavigation a.btn,
body.ui-transition-normal .nkForm .jsDdOption,
body.ui-transition-normal .nkjsimplecontactBox.nkjsc-button-standard .nkForm button[type="submit"],
body.ui-transition-normal .nkjsimplecontactBox.nkjsc-button-standard .nkForm input[type="submit"],
body.ui-transition-normal .contactInfoBoxes .contactInfoEmail joomla-hidden-mail > a {
	-webkit-transition-duration: 0.25s;
	-o-transition-duration: 0.25s;
	transition-duration: 0.25s;
}
body.ui-transition-relaxed button,
body.ui-transition-relaxed input[type="submit"],
body.ui-transition-relaxed input[type="button"],
body.ui-transition-relaxed input[type="reset"],
body.ui-transition-relaxed a.button,
body.ui-transition-relaxed a.transbutton,
body.ui-transition-relaxed #component a.button,
body.ui-transition-relaxed #slider a.button,
body.ui-transition-relaxed #header1 a,
body.ui-transition-relaxed #header1 svg,
body.ui-transition-relaxed #logo a,
body.ui-transition-relaxed #logo img,
body.ui-transition-relaxed #logo svg,
body.ui-transition-relaxed #component .pagination a,
body.ui-transition-relaxed #component [class*="__pagination"] a,
body.ui-transition-relaxed .threeIconLinkBoxes span,
body.ui-transition-relaxed .threeIconLinkBoxes svg,
body.ui-transition-relaxed .threeIconLinkBoxes.logoLinkBoxes .nkFlexBox > a,
body.ui-transition-relaxed .threeIconLinkBoxes.logoLinkBoxes .nkFlexBox > a::after,
body.ui-transition-relaxed .serviceCardLink,
body.ui-transition-relaxed .arrowLink,
body.ui-transition-relaxed .newsPreviewReadmore,
body.ui-transition-relaxed .com-content-category-blog__items .item-content > p.readmore a,
body.ui-transition-relaxed .com-content-article .pagenavigation a.btn,
body.ui-transition-relaxed .nkForm .jsDdOption,
body.ui-transition-relaxed .nkjsimplecontactBox.nkjsc-button-standard .nkForm button[type="submit"],
body.ui-transition-relaxed .nkjsimplecontactBox.nkjsc-button-standard .nkForm input[type="submit"],
body.ui-transition-relaxed .contactInfoBoxes .contactInfoEmail joomla-hidden-mail > a {
	-webkit-transition-duration: 0.4s;
	-o-transition-duration: 0.4s;
	transition-duration: 0.4s;
}

/* Der Typewriter behaelt 1,6 s; nur Farb- und Unterstreichungswechsel folgen dem UI-Parameter. */
body.ui-transition-off .contactInfoBoxes .contactInfoEmail {
	-webkit-transition-duration: 1.6s, 0s, 0s;
	transition-duration: 1.6s, 0s, 0s;
}
body.ui-transition-fast .contactInfoBoxes .contactInfoEmail {
	-webkit-transition-duration: 1.6s, 0.15s, 0.15s;
	transition-duration: 1.6s, 0.15s, 0.15s;
}
body.ui-transition-normal .contactInfoBoxes .contactInfoEmail {
	-webkit-transition-duration: 1.6s, 0.25s, 0.25s;
	transition-duration: 1.6s, 0.25s, 0.25s;
}
body.ui-transition-relaxed .contactInfoBoxes .contactInfoEmail {
	-webkit-transition-duration: 1.6s, 0.4s, 0.4s;
	transition-duration: 1.6s, 0.4s, 0.4s;
}
@media (min-width: 40rem) {
	.newsPreviewCards > article {
		-ms-flex-preferred-size: calc(50% - 0.625em);
		flex-basis: calc(50% - 0.625em);
	}
}
@media (min-width: 60rem) {
	.newsPreviewCards > article {
		-ms-flex-preferred-size: calc(33.333% - 0.84em);
		flex-basis: calc(33.333% - 0.84em);
	}
	.newsPreviewImage {
		height: 15em;
	}
}
