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

/* Shared header motion follows the same template speed as menu hover effects. */
body #logoAndMenuContainer #logoAndMenu,
body #logoAndMenuContainer #logo,
body #logoAndMenuContainer #logo a,
body #logoAndMenuContainer #logo img,
body #logoAndMenuContainer #logo svg.nk-inline-logo {
	transition-duration: 0.25s !important;
}
body.ui-transition-off #logoAndMenuContainer #logoAndMenu,
body.ui-transition-off #logoAndMenuContainer #logo,
body.ui-transition-off #logoAndMenuContainer #logo a,
body.ui-transition-off #logoAndMenuContainer #logo img,
body.ui-transition-off #logoAndMenuContainer #logo svg.nk-inline-logo {
	transition-duration: 0s !important;
}
body.ui-transition-fast #logoAndMenuContainer #logoAndMenu,
body.ui-transition-fast #logoAndMenuContainer #logo,
body.ui-transition-fast #logoAndMenuContainer #logo a,
body.ui-transition-fast #logoAndMenuContainer #logo img,
body.ui-transition-fast #logoAndMenuContainer #logo svg.nk-inline-logo {
	transition-duration: 0.15s !important;
}
body.ui-transition-normal #logoAndMenuContainer #logoAndMenu,
body.ui-transition-normal #logoAndMenuContainer #logo,
body.ui-transition-normal #logoAndMenuContainer #logo a,
body.ui-transition-normal #logoAndMenuContainer #logo img,
body.ui-transition-normal #logoAndMenuContainer #logo svg.nk-inline-logo {
	transition-duration: 0.25s !important;
}
body.ui-transition-relaxed #logoAndMenuContainer #logoAndMenu,
body.ui-transition-relaxed #logoAndMenuContainer #logo,
body.ui-transition-relaxed #logoAndMenuContainer #logo a,
body.ui-transition-relaxed #logoAndMenuContainer #logo img,
body.ui-transition-relaxed #logoAndMenuContainer #logo svg.nk-inline-logo {
	transition-duration: 0.4s !important;
}
@media (prefers-reduced-motion: reduce) {
	body #logoAndMenuContainer #logoAndMenu,
	body #logoAndMenuContainer #logo,
	body #logoAndMenuContainer #logo a,
	body #logoAndMenuContainer #logo svg.nk-inline-logo { transition: none !important; }
}


*, *::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-standard button,
body.button-style-standard input[type="submit"],
body.button-style-standard input[type="button"],
body.button-style-standard input[type="reset"],
body.button-style-standard a.button,
body.button-style-standard a.transbutton,
body.button-style-standard a.btn,
body.button-style-standard .newsPreviewReadmore,
body.button-style-standard .newsPreviewMeta span,
body.button-style-standard .com-content-category-blog .category-name a,
body.button-style-standard #mainmenu > ul > li > a.specialStyleButton {
	border-radius: 0.25em !important;
}
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,
body.button-style-rectangle #mainmenu > ul > li > a.specialStyleButton {
	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,
body.button-style-rounded #mainmenu > ul > li > a.specialStyleButton {
	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,
body.button-style-pill #mainmenu > ul > li > a.specialStyleButton {
	border-radius: 999em !important;
}
body.button-style-rectangle .iconOnly,
body.button-style-rounded .iconOnly,
body.button-style-pill .iconOnly {
	border-radius: 50% !important;
}

/*
 * Gemeinsame Formular-Ecken fuer kompatible NK-Extensions.
 * Die Regel greift nur, wenn die Extension ausdruecklich das Template waehlt.
 */
body.form-control-style-square [data-nk-control-shape="template"] input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.form-control-style-square [data-nk-control-shape="template"] textarea,
body.form-control-style-square [data-nk-control-shape="template"] select,
body.form-control-style-square [data-nk-control-shape="template"] .jsCbBox,
body.form-control-style-square [data-nk-control-shape="template"] [id^="jsAltDd-"][id$="-Container"],
body.form-control-style-square [data-nk-control-shape="template"] [id^="jsAltDd-"][id$="-Current"],
body.form-control-style-square [data-nk-control-shape="template"] [id^="jsAltDd-"][id$="-Options"],
body.form-control-style-square [data-nk-control-shape="template"] .jsDdOption {
	border-radius: 0 !important;
}
body.form-control-style-square [data-nk-control-shape="template"] [id^="jsAltDd-"][id$="-Current"]::before {
	border-radius: 0 !important;
}
body.form-control-style-soft [data-nk-control-shape="template"] input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.form-control-style-soft [data-nk-control-shape="template"] textarea,
body.form-control-style-soft [data-nk-control-shape="template"] select,
body.form-control-style-soft [data-nk-control-shape="template"] .jsCbBox,
body.form-control-style-soft [data-nk-control-shape="template"] [id^="jsAltDd-"][id$="-Container"],
body.form-control-style-soft [data-nk-control-shape="template"] [id^="jsAltDd-"][id$="-Current"],
body.form-control-style-soft [data-nk-control-shape="template"] [id^="jsAltDd-"][id$="-Options"],
body.form-control-style-soft [data-nk-control-shape="template"] .jsDdOption {
	border-radius: 0.35em !important;
}
body.form-control-style-soft [data-nk-control-shape="template"] [id^="jsAltDd-"][id$="-Current"]::before {
	border-radius: 0 0.35em 0.35em 0 !important;
}
body.form-control-style-round [data-nk-control-shape="template"] input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.form-control-style-round [data-nk-control-shape="template"] textarea,
body.form-control-style-round [data-nk-control-shape="template"] select,
body.form-control-style-round [data-nk-control-shape="template"] .jsCbBox,
body.form-control-style-round [data-nk-control-shape="template"] [id^="jsAltDd-"][id$="-Container"],
body.form-control-style-round [data-nk-control-shape="template"] [id^="jsAltDd-"][id$="-Current"],
body.form-control-style-round [data-nk-control-shape="template"] [id^="jsAltDd-"][id$="-Options"],
body.form-control-style-round [data-nk-control-shape="template"] .jsDdOption {
	border-radius: 0.85em !important;
}
body.form-control-style-round [data-nk-control-shape="template"] [id^="jsAltDd-"][id$="-Current"]::before {
	border-radius: 0 0.85em 0.85em 0 !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");
}

/* Semantic action icons are rendered by icons/icons.js and icons/icons.css. */

/* Wiederverwendbare, abwechselnde Text-/Medienzeilen. */
@media (min-width: 60rem) {
	.alternatingRows > .alternatingRow:nth-of-type(odd) {
		flex-direction: row-reverse;
	}
	.alternatingRows > .alternatingRow:nth-of-type(even) {
		flex-direction: row;
	}
}

/* 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: padding ease-in-out 0.25s, flex-basis ease-in-out 0.25s, max-width ease-in-out 0.25s;
}
#logoAndMenuContainer.scrolledActive #logo {
	padding: 0.25em 1.5em 0.25em 0;
	transition: padding ease-in-out 0.25s, flex-basis ease-in-out 0.25s, max-width ease-in-out 0.25s;
}
#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, max-height ease-in-out 0.25s, max-width ease-in-out 0.25s, width ease-in-out 0.25s, height ease-in-out 0.25s, transform ease-in-out 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 */
}
body.logoOverlap #logo img,
body.logoOverlap #logo svg {
	/* Ein endlicher Ausgangswert macht die Sticky-Verkleinerung animierbar. */
	max-height: 12em;
}
#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; */
}
/*
 * Überlappende Logos dürfen im normalen Header bewusst größer sein. Sobald
 * der Header fixiert wird, müssen sie jedoch vollständig in die kompakte
 * Navigationsleiste zurückkehren, damit sie keinen Seiteninhalt überdecken.
 */
body.logoOverlap #logoAndMenuContainer.scrolledActive #logo a,
body.logoOverlap #logoAndMenuContainer.scrolledActive #logo img,
body.logoOverlap #logoAndMenuContainer.scrolledActive #logo svg {
	width: auto;
	max-width: 100%;
	max-height: 2.5em;
}

/* Inline logos share sizing and motion with the template, while their
   brand colours remain configurable in the site's design. */
body #logoAndMenuContainer #logo a > svg.nk-inline-logo {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	fill: currentColor;
	transition: color 0.25s ease;
}
/* MAINMENU -------------------------------------------------------------> */
#mainmenu ul {
	list-style: none;
}
/* Main Menu Button */
#mainmenu > a {
	display: none;
	background-color: #333;
}
#mainmenu > ul {
	transition: none;
}
#mainmenu.jsActivated > ul > li > ul {
	max-height: 0; /* zweite ebene */
}
#mainmenu li > a {
	display: block;
	padding: 1em 0.5em;
	-webkit-transition: color 0.25s ease, background-color 0.25s ease;
	-o-transition: color 0.25s ease, background-color 0.25s ease;
	transition: color 0.25s ease, background-color 0.25s ease;
	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) {
	#mainmenuContainer {
		-webkit-box-flex: 0;
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
		margin-left: auto;
	}
	#mainmenu.jsActivated ul {
		display: block;
		overflow: hidden;
	}
	#mainmenu.jsActivated > a {
		position: relative;
		display: block;
		width: 4rem;
		height: 3rem;
		margin: 0;
		background-image: none;
	}
	#mainmenu.jsActivated > ul {
		position: fixed;
		top: 0;
		right: auto;
		left: 0;
		z-index: 9999;
		width: 100vw;
		max-width: none;
		margin: 0;
		padding: 0;
		font-size: 1rem;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		border: solid 1px currentColor;
		border-top: 0;
		border-right: 0;
		border-left: 0;
		-webkit-box-shadow: 0 0.75rem 0.75rem -0.75rem rgba(0, 0, 0, 0.2);
		box-shadow: 0 0.75rem 0.75rem -0.75rem rgba(0, 0, 0, 0.2);
		opacity: 1;
		visibility: hidden;
		pointer-events: none;
		-webkit-transform: none;
		transform: none;
		-webkit-transition: max-height 0.25s ease, visibility 0s linear 0.25s;
		-o-transition: max-height 0.25s ease, visibility 0s linear 0.25s;
		transition: max-height 0.25s ease, visibility 0s linear 0.25s;
	}
	#mainmenu.jsActivated ul {
		max-height: 0; /* jede ebene */
	}
	#mainmenu.jsActivated li > ul.mod-menu__sub {
		opacity: 1;
		-webkit-transition: max-height 0.25s ease;
		-o-transition: max-height 0.25s ease;
		transition: max-height 0.25s ease;
	}
	#mainmenu.jsActivated.jsActive > ul {
		max-height: calc(100vh - 4rem);
		visibility: visible;
		pointer-events: auto;
		overflow-y: auto;
		-webkit-transform: none;
		transform: none;
		-webkit-transition: max-height 0.25s ease, visibility 0s;
		-o-transition: max-height 0.25s ease, visibility 0s;
		transition: max-height 0.25s ease, visibility 0s;
	}
	#mainmenu.jsActivated li.jsActive > ul  {
		max-height: 50rem;
	}
	body #logoAndMenuContainer #mainmenu > ul > li > a.specialStyleButton {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		width: 100%;
		margin: 0;
		box-sizing: border-box;
		border: 0;
		border-radius: 0 !important;
	}
	body #logoAndMenuContainer #mainmenu > ul > li > a.specialStyleButton > .icon-calendar { top: 0; }
	#mainmenu li.deeper.parent {
		position: relative;
		z-index: 1;
	}
	#mainmenu li > a,
	#mainmenu li > span.separator {
		padding: 1rem 0.5rem;
		display: block;
		line-height: 1rem;
		box-sizing: content-box;
	}
	#mainmenu li > a {
		padding: 1rem;
		border-bottom: solid 1px currentColor;
	}
	#mainmenu li.deeper.parent > a {
		padding-right: 4.5rem; /* space for icon */
	}
	/* Submenue ----- */
	#mainmenu li.nav-item li > a,
	#mainmenu li.nav-item li > span.separator {
		padding-left: 1.5rem; /* Second level */
	}
	#mainmenu li.nav-item li.nav-item li > a,
	#mainmenu li.nav-item li.nav-item li > span.separator  {
		padding-left: 2.5rem; /* Third level */
	}
	/* Die tatsächliche Joomla-Ebene bleibt auch bei abweichenden li-Klassen
	   sichtbar eingerückt. */
	#mainmenu.jsActivated > ul > li > ul.mod-menu__sub > li > a,
	#mainmenu.jsActivated > ul > li > ul.mod-menu__sub > li > span.separator {
		padding-left: 1.5rem;
	}
	#mainmenu.jsActivated > ul > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li > a,
	#mainmenu.jsActivated > ul > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li > span.separator {
		padding-left: 2.5rem;
	}
	/* Submenu Button (inserted per javascript) */
	#mainmenu li.deeper.parent span.toggleButton {
		position: absolute;
		right: 0;
		width: 3rem;
		height: 3rem;
		top: 0;
		box-sizing: border-box;
		border: none;
		border-left: solid 1px currentColor;
		border-radius: 0;
		background: none;
		cursor: pointer;
	}
	/* Arrow in Submenu Button */
	#mainmenu li.deeper.parent span.toggleButton > svg {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 1rem;
		height: auto;
		display: block;
		-webkit-transform: translate(-50%, -50%) rotate(180deg);
		transform: translate(-50%, -50%) rotate(180deg);
		-webkit-transition: fill 0.25s ease, -webkit-transform 0.25s ease;
		transition: fill 0.25s ease, -webkit-transform 0.25s ease;
		-o-transition: fill 0.25s ease, transform 0.25s ease;
		transition: fill 0.25s ease, transform 0.25s ease;
		transition: fill 0.25s ease, transform 0.25s ease, -webkit-transform 0.25s ease;
	}
	#mainmenu li.deeper.parent.jsActive > span.toggleButton > svg {
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
}
/* Tablet: Schrift und Zeilen wachsen gemeinsam auf demselben rem-Raster. */
@media (min-width: 40rem) and (max-width: 59.99rem) {
	#mainmenu.jsActivated > ul {
		font-size: 1.05rem;
	}
	#mainmenu.jsActivated > a {
		width: 4.25rem;
		height: 3.25rem;
	}
	#mainmenu li > a,
	#mainmenu li > span.separator {
		padding-top: 1rem;
		padding-bottom: 1rem;
		line-height: 1.25rem;
	}
	#mainmenu li.deeper.parent > a {
		padding-right: 4.75rem;
	}
	#mainmenu li.deeper.parent span.toggleButton {
		width: 3.25rem;
		height: 3.25rem;
	}
	#mainmenu li.deeper.parent span.toggleButton > svg {
		width: 1.05rem;
	}
}
/* SVG-Version der Hamburglar-Bewegung. Der Menüzustand ist die einzige
   Zustandsquelle; ohne ersten Klick laufen keine Startanimationen. */
@media (max-width: 59.99rem) {
	body #logoAndMenuContainer.mobile-menu-open,
	body #logoAndMenuContainer.mobile-menu-open #logoAndMenu {
		box-shadow: none !important;
	}
}
#mainmenu > .nk-menu-toggle { cursor: pointer; }
#mainmenu .nk-menu-glyph {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 3rem;
	height: 3rem;
	transform: translate(-50%, -50%);
	pointer-events: none;
}
#mainmenu .nk-menu-top { transform-origin: 50px 22px; }
#mainmenu .nk-menu-bottom { transform-origin: 50px 46px; }
#mainmenu .nk-menu-ring { stroke-dasharray: 240; stroke-dashoffset: 240; }
#mainmenu .nk-menu-middle { stroke-dasharray: 36 160; stroke-dashoffset: 0; }
#mainmenu.jsActive .nk-menu-top { transform: translate(-5px, 1px) rotate(-45deg); }
#mainmenu.jsActive .nk-menu-bottom { transform: translate(-5px, 0) rotate(45deg); }
#mainmenu.jsActive .nk-menu-ring { stroke-dashoffset: 0; }
#mainmenu.jsActive .nk-menu-middle { stroke-dashoffset: -110; }
#mainmenu.nk-menu-animated .nk-menu-glyph > * {
	animation-duration: 0.25s;
	animation-timing-function: linear;
	animation-fill-mode: both;
}
#mainmenu.nk-menu-animated.jsActive .nk-menu-top { animation-name: nk-menu-top-open; }
#mainmenu.nk-menu-animated.jsActive .nk-menu-bottom { animation-name: nk-menu-bottom-open; }
#mainmenu.nk-menu-animated.jsActive .nk-menu-middle { animation-name: nk-menu-middle-open; }
#mainmenu.nk-menu-animated.jsActive .nk-menu-ring { animation-name: nk-menu-ring-open; }
#mainmenu.nk-menu-animated.jsInactive .nk-menu-top { animation-name: nk-menu-top-close; }
#mainmenu.nk-menu-animated.jsInactive .nk-menu-bottom { animation-name: nk-menu-bottom-close; }
#mainmenu.nk-menu-animated.jsInactive .nk-menu-middle { animation-name: nk-menu-middle-close; }
#mainmenu.nk-menu-animated.jsInactive .nk-menu-ring { animation-name: nk-menu-ring-close; }
body.ui-transition-off #mainmenu .nk-menu-glyph > * { animation-duration: 0s; }
body.ui-transition-fast #mainmenu .nk-menu-glyph > * { animation-duration: 0.15s; }
body.ui-transition-normal #mainmenu .nk-menu-glyph > * { animation-duration: 0.25s; }
body.ui-transition-relaxed #mainmenu .nk-menu-glyph > * { animation-duration: 0.4s; }
@media (prefers-reduced-motion: reduce) {
	#mainmenu.nk-menu-animated .nk-menu-glyph > * { animation: none; }
}
@media (min-width: 40rem) and (max-width: 59.99rem) {
	#mainmenu .nk-menu-glyph { width: 3.25rem; height: 3.25rem; }
}
@keyframes nk-menu-top-open {
	0% { transform: translate(0, 0) rotate(0); }
	20% { transform: translate(0, 0) rotate(15deg); }
	80% { transform: translate(-5px, 0) rotate(-60deg); }
	100% { transform: translate(-5px, 1px) rotate(-45deg); }
}
@keyframes nk-menu-top-close {
	0% { transform: translate(-5px, 1px) rotate(-45deg); }
	20% { transform: translate(-5px, 0) rotate(-60deg); }
	80% { transform: translate(0, 0) rotate(15deg); }
	100% { transform: translate(0, 0) rotate(0); }
}
@keyframes nk-menu-bottom-open {
	0% { transform: translate(0, 0) rotate(0); }
	20% { transform: translate(0, 0) rotate(-15deg); }
	80% { transform: translate(-5px, 0) rotate(60deg); }
	100% { transform: translate(-5px, 0) rotate(45deg); }
}
@keyframes nk-menu-bottom-close {
	0% { transform: translate(-5px, 0) rotate(45deg); }
	20% { transform: translate(-5px, 0) rotate(60deg); }
	80% { transform: translate(0, 0) rotate(-15deg); }
	100% { transform: translate(0, 0) rotate(0); }
}
@keyframes nk-menu-middle-open {
	0%, 20% { stroke-dashoffset: 0; }
	100% { stroke-dashoffset: -110; }
}
@keyframes nk-menu-middle-close {
	0% { stroke-dashoffset: -110; }
	80%, 100% { stroke-dashoffset: 0; }
}
@keyframes nk-menu-ring-open {
	0%, 40% { stroke-dashoffset: 240; }
	100% { stroke-dashoffset: 0; }
}
@keyframes nk-menu-ring-close {
	0% { stroke-dashoffset: 0; }
	60%, 100% { stroke-dashoffset: 240; }
}
/* ------------> DESKTOP */
@media (min-width: 60rem) {
	body #logoAndMenuContainer #mainmenu > ul > li > a.specialStyleButton {
		margin-top: 0;
		margin-bottom: 0;
	}
	#logoAndMenu {
		padding: 0; /* to get submenues l8er under the whole container */
	}
	#mainmenuContainer {
		flex: 1 0 50%;
		align-self: stretch;
		display: flex;
		max-width: 100%;
	}
	#mainmenu {
		display: flex;
		align-items: stretch;
		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: 0;
		padding-bottom: 0;
		align-items: center;
		margin-left: 1em;
		margin-right: 1em;
		text-align: center;
		justify-content: center;
		transition: padding ease 0.5s;
	}
	.scrolledActive #mainmenu > ul > li {
		padding-top: 0;
		padding-bottom: 0;
	}
	#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;
	}
	/* Auch der letzte Menüpunkt braucht rechts Platz für seinen Untermenüpfeil. */
	#mainmenu > ul > li:last-child.deeper.parent > a,
	#mainmenu > ul > li:last-child.deeper.parent > span.separator {
		padding-right: 1.9em;
	}
	/* 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;
		-webkit-transition: color 0.25s ease, fill 0.25s ease, -webkit-transform 0.25s ease;
		transition: color 0.25s ease, fill 0.25s ease, -webkit-transform 0.25s ease;
		-o-transition: color 0.25s ease, fill 0.25s ease, transform 0.25s ease;
		transition: color 0.25s ease, fill 0.25s ease, transform 0.25s ease;
		transition: color 0.25s ease, fill 0.25s ease, transform 0.25s ease, -webkit-transform 0.25s ease;
	}
	#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,
	#mainmenu li.deeper.parent:focus-within > span.toggleButton > svg {
		-webkit-transform: matrix(-1, 0, 0, -1, 0, 0);
		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;
		opacity: 0; /* changes */
		max-height: 0; /* changes */
		visibility: hidden;
		pointer-events: none;
		overflow: hidden; /* changes */
		-webkit-transition: opacity 0.25s ease, visibility 0s linear 0.25s, max-height 0s linear 0.25s;
		-o-transition: opacity 0.25s ease, visibility 0s linear 0.25s, max-height 0s linear 0.25s;
		transition: opacity 0.25s ease, visibility 0s linear 0.25s, max-height 0s linear 0.25s;
	}
	#mainmenu > ul > li > ul.mod-menu__sub {
		top: 100%;
		left: 0;
	}
	#mainmenu > ul > li > ul.mod-menu__sub::before {
		content: "";
		position: absolute;
		right: 0;
		bottom: 100%;
		left: 0;
		height: 0.75rem;
		background: transparent;
	}
	#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:focus-within > ul.mod-menu__sub,
	#mainmenu > ul > li > ul.mod-menu__sub > li:hover > ul.mod-menu__sub,
	#mainmenu > ul > li > ul.mod-menu__sub > li:focus-within > ul.mod-menu__sub {
		max-height: 100em;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		overflow: visible; /* changes */
		z-index: 999;
		-webkit-transition: opacity 0.25s ease, visibility 0s, max-height 0s;
		-o-transition: opacity 0.25s ease, visibility 0s, max-height 0s;
		transition: opacity 0.25s ease, visibility 0s, max-height 0s;
	}
	#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;
		-webkit-transition: color 0.25s ease, background-color 0.25s ease;
		-o-transition: color 0.25s ease, background-color 0.25s ease;
		transition: color 0.25s ease, background-color 0.25s ease;
	}
	#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 > a.specialStyleButton {
		transition-property: color, background-color, border-color, padding;
		transition-timing-function: ease;
	}
	.scrolledActive #mainmenu > ul > li > a.button,
	.scrolledActive #mainmenu > ul > li > a.specialStyleButton {
		padding-top: 0.5em;
		padding-bottom: 0.5em;
	}
	#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;
	color: inherit;
	transition: color 0.25s ease, border-color 0.25s ease;
}
.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.item-page > div > a:focus-visible,
.narrowComponent.linkList #component > div > div.item-page > div > a:hover,
.narrowComponent.linkList #component > div > div.item-page > div > a:focus-visible {
	color: inherit;
}
.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: "";
	height: 2.3em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath d='M6 15H1v6h22v-6h-5v-1h6v8H0v-8h6v1Zm14 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM12.5 0v14.88l4.74-5.72.76.65-6 7.19-6-7.2.76-.65 4.74 5.73V0Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath d='M6 15H1v6h22v-6h-5v-1h6v8H0v-8h6v1Zm14 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM12.5 0v14.88l4.74-5.72.76.65-6 7.19-6-7.2.76-.65 4.74 5.73V0Z'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: background-color 0.25s ease, transform 0.25s ease;
}
.narrowComponent.linkList #component > div.item-page > div > a[download]:hover:after,
.narrowComponent.linkList #component > div.item-page > div > a[download]:focus-visible:after,
.narrowComponent.linkList[class*="icon-"] #component > div.item-page > div > a[download]:hover:after,
.narrowComponent.linkList[class*="icon-"] #component > div.item-page > div > a[download]:focus-visible:after,
.narrowComponent.linkList #component > div > div.item-page > div > a[download]:hover:after,
.narrowComponent.linkList #component > div > div.item-page > div > a[download]:focus-visible:after,
.narrowComponent.linkList[class*="icon-"] #component > div > div.item-page > div > a[download]:hover:after,
.narrowComponent.linkList[class*="icon-"] #component > div > div.item-page > div > a[download]:focus-visible:after {
	background-color: currentColor;
}
.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;
	border-bottom: solid #ddd 1px;
	font-size: 1em;
	font-weight: 400;
	position: relative;
	color: inherit;
	transition: color 0.25s ease, border-color 0.25s ease;
}
#postcomponent .mod-articleslatest.latestnews.mod-list > li > a {
	padding-right: 0.75em;
}
#postcomponent .mod-articleslatest.latestnews.mod-list > li > a.jsActivated {
	color: inherit;
}

#postcomponent .moduletable > ul > li > a:hover,
#postcomponent .moduletable > ul > li > a:focus-visible,
#postcomponent .moduletable > .custom > ul > li > a:hover,
#postcomponent .moduletable > .custom > ul > li > a:focus-visible {
	color: inherit;
}
#postcomponent .moduletable > ul > li > a[download]::after,
#postcomponent .moduletable > .custom > ul > li > a[download]::after {
	content: "";
	display: block;
	width: 1.75em;
	height: 1.6em;
	position: absolute;
	right: 0.5em;
	top: 50%;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath d='M6 15H1v6h22v-6h-5v-1h6v8H0v-8h6v1Zm14 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM12.5 0v14.88l4.74-5.72.76.65-6 7.19-6-7.2.76-.65 4.74 5.73V0Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath d='M6 15H1v6h22v-6h-5v-1h6v8H0v-8h6v1Zm14 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM12.5 0v14.88l4.74-5.72.76.65-6 7.19-6-7.2.76-.65 4.74 5.73V0Z'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-transform: translate(0, -50%);
	    -ms-transform: translate(0, -50%);
	        transform: translate(0, -50%);
	transition: background-color 0.25s ease, transform 0.25s ease;
}
#postcomponent .moduletable > ul > li > a[download]:hover::after,
#postcomponent .moduletable > ul > li > a[download]:focus-visible::after,
#postcomponent .moduletable > .custom > ul > li > a[download]:hover::after,
#postcomponent .moduletable > .custom > ul > li > a[download]:focus-visible::after {
	background-color: currentColor;
}
/* --- */
#postcomponent p {
	font-size: 1em;
}
#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: block;
	width: 100%;
	margin: 0 0 1em;
	padding: 0;
}
.com-content-category-blog__items .blog-item {
	display: block;
	box-sizing: border-box;
	width: 100%;
	clear: both;
	padding: 0 0 2em;
	overflow: visible;
}
#component .com-content-category-blog__items .blog-item > .item-image {
	float: none;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	min-width: 0;
	min-height: 0;
	height: auto;
	margin: 1em 0;
	overflow: visible;
	border-radius: 0;
}
#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: auto;
}
#component .com-content-category-blog__items .blog-item > .item-image img {
	-o-object-fit: contain;
	object-fit: contain;
}
/*
 * Einige ältere Joomla-Overrides geben das Beitragsbild innerhalb von
 * item-content aus. Nicht-führende Blogkarten behandeln beide Markupformen
 * identisch und halten Bild, Titel, Metadaten und Text in stabiler Reihenfolge.
 */
#component .com-content-category-blog__items:not(.items-leading) .item-content > .item-image {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1;
	float: none;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	min-width: 0;
	height: auto;
	margin: 1em 0;
	overflow: visible;
	border-radius: 0;
}
#component .com-content-category-blog__items:not(.items-leading) .item-content > .item-image > a,
#component .com-content-category-blog__items:not(.items-leading) .item-content > .item-image img {
	display: block;
	width: 100%;
	height: auto;
}
#component .com-content-category-blog__items:not(.items-leading) .item-content > .item-image img {
	-o-object-fit: contain;
	object-fit: contain;
}
.com-content-category-blog__items .item-content {
	display: block;
	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;
}
/* In der redaktionellen Blogansicht bleiben gespeicherte Einleitungstexte vollständig sichtbar. */
.com-content-category-blog__items .item-content > p:not(.readmore) ~ p:not(.readmore) {
	display: block;
}
.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: inline;
	padding: 0;
	border: 0;
	background-color: transparent;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	text-decoration: underline;
	text-underline-offset: 0.16em;
}
#componentContainer .com-content-category-blog__items .item-content > p.readmore a:is(:hover, :focus-visible) {
	background-color: transparent;
	text-decoration-thickness: 2px;
}
.com-content-category-blog__items .item-content > p.readmore a > [class*="icon-"] {
	-webkit-box-ordinal-group: 3;
	-ms-flex-order: 2;
	order: 2;
}
/* Reihenfolge für Karten mit standardmäßigem und älterem Joomla-Markup. */
.com-content-category-blog__items:not(.items-leading) .item-content > .article-info {
	-webkit-box-ordinal-group: 4;
	-ms-flex-order: 3;
	order: 3;
}
.com-content-category-blog__items:not(.items-leading) .item-content > :not(.item-image):not(.page-header):not(.article-info):not(.readmore) {
	-webkit-box-ordinal-group: 5;
	-ms-flex-order: 4;
	order: 4;
}
.com-content-category-blog__items:not(.items-leading) .item-content > p:not(.readmore) {
	-webkit-box-ordinal-group: 5;
	-ms-flex-order: 4;
	order: 4;
}
.com-content-category-blog__items:not(.items-leading) .item-content > p.readmore {
	-webkit-box-ordinal-group: 6;
	-ms-flex-order: 5;
	order: 5;
}
/*
 * Bewährte redaktionelle Blogdarstellung: eine chronologisch lesbare Zeile je
 * Beitrag. Auf breiteren Ansichten steht das gespeicherte Introbild neben dem
 * Text; die Überschrift bleibt über beide Spalten gespannt. Joomla-Klassen wie
 * columns-* und masonry-* dürfen die Reihenfolge dabei nicht wieder verändern.
 */
@media (min-width: 40rem) {
	.com-content-category-blog__items .blog-item:has(> .item-image) {
		display: grid;
		grid-template-columns: minmax(12em, 42%) minmax(0, 1fr);
		column-gap: 1.5em;
		align-items: start;
	}
	.com-content-category-blog__items .blog-item:has(> .item-image) > .item-content {
		display: contents;
	}
	.com-content-category-blog__items .blog-item:has(> .item-image) > .item-content > * {
		grid-column: 2;
		order: initial;
	}
	.com-content-category-blog__items .blog-item:has(> .item-image) > .item-content > .page-header {
		grid-column: 1 / -1;
		grid-row: 1;
	}
	#component .com-content-category-blog__items .blog-item > .item-image {
		grid-column: 1;
		grid-row: 2 / span 30;
		height: auto;
		margin: 0;
		border-radius: 0;
	}
	.com-content-category-blog__items .blog-item:has(> .item-image.right) {
		grid-template-columns: minmax(0, 1fr) minmax(12em, 42%);
	}
	.com-content-category-blog__items .blog-item:has(> .item-image.right) > .item-content > :not(.page-header) {
		grid-column: 1;
	}
	#component .com-content-category-blog__items .blog-item > .item-image.right {
		grid-column: 2;
	}

	/* Abwärtskompatibel zu alten Site-Overrides mit Bild in item-content. */
	.com-content-category-blog__items .blog-item:has(.item-content > .item-image) > .item-content {
		display: grid;
		grid-template-columns: minmax(12em, 42%) minmax(0, 1fr);
		column-gap: 1.5em;
		align-items: start;
	}
	.com-content-category-blog__items .blog-item:has(.item-content > .item-image) > .item-content > * {
		grid-column: 2;
		order: initial;
	}
	.com-content-category-blog__items .blog-item:has(.item-content > .item-image) > .item-content > .page-header {
		grid-column: 1 / -1;
		grid-row: 1;
	}
	#component .com-content-category-blog__items .blog-item .item-content > .item-image {
		grid-column: 1;
		grid-row: 2 / span 30;
		height: auto;
		margin: 0;
		border-radius: 0;
	}
}

/*
 * 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 #logoAndMenuContainer #logo,
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 .nkForm .nkfSelect [id$="-Options"],
body.ui-transition-off .nkForm [id^="jsAltDd-"][id$="-Container"],
body.ui-transition-off .nkForm [id^="jsAltDd-"][id$="-Current"]::before,
body.ui-transition-off .nkForm [id^="jsAltDd-"][id$="-Current"]::after,
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 #mainmenu li > a,
body.ui-transition-off #mainmenu li > span.separator,
body.ui-transition-off #mainmenu li.deeper.parent > span.toggleButton,
body.ui-transition-off #mainmenu li.deeper.parent > span.toggleButton > svg,
body.ui-transition-off #mainmenu li.deeper.parent > span.toggleButton > svg path,
body.ui-transition-off #mainmenu a.button > [class*="icon-"]::before,
body.ui-transition-off #mainmenu a.button > [class*="icon-"]::after,
body.ui-transition-off #postcomponent .moduletable > ul > li > a,
body.ui-transition-off #postcomponent .moduletable > .custom > ul > li > a,
body.ui-transition-off #postcomponent a[download]::after,
body.ui-transition-off .contactInfoBoxes .contactInfoEmail joomla-hidden-mail > a {
	-webkit-transition-duration: 0s !important;
	-o-transition-duration: 0s !important;
	transition-duration: 0s !important;
}
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 #logoAndMenuContainer #logo,
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 .nkForm .nkfSelect [id$="-Options"],
body.ui-transition-fast .nkForm [id^="jsAltDd-"][id$="-Container"],
body.ui-transition-fast .nkForm [id^="jsAltDd-"][id$="-Current"]::before,
body.ui-transition-fast .nkForm [id^="jsAltDd-"][id$="-Current"]::after,
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 #mainmenu li > a,
body.ui-transition-fast #mainmenu li > span.separator,
body.ui-transition-fast #mainmenu li.deeper.parent > span.toggleButton,
body.ui-transition-fast #mainmenu li.deeper.parent > span.toggleButton > svg,
body.ui-transition-fast #mainmenu li.deeper.parent > span.toggleButton > svg path,
body.ui-transition-fast #mainmenu a.button > [class*="icon-"]::before,
body.ui-transition-fast #mainmenu a.button > [class*="icon-"]::after,
body.ui-transition-fast #postcomponent .moduletable > ul > li > a,
body.ui-transition-fast #postcomponent .moduletable > .custom > ul > li > a,
body.ui-transition-fast #postcomponent a[download]::after,
body.ui-transition-fast .contactInfoBoxes .contactInfoEmail joomla-hidden-mail > a {
	-webkit-transition-duration: 0.15s !important;
	-o-transition-duration: 0.15s !important;
	transition-duration: 0.15s !important;
}
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 #logoAndMenuContainer #logo,
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 .nkForm .nkfSelect [id$="-Options"],
body.ui-transition-normal .nkForm [id^="jsAltDd-"][id$="-Container"],
body.ui-transition-normal .nkForm [id^="jsAltDd-"][id$="-Current"]::before,
body.ui-transition-normal .nkForm [id^="jsAltDd-"][id$="-Current"]::after,
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 #mainmenu li > a,
body.ui-transition-normal #mainmenu li > span.separator,
body.ui-transition-normal #mainmenu li.deeper.parent > span.toggleButton,
body.ui-transition-normal #mainmenu li.deeper.parent > span.toggleButton > svg,
body.ui-transition-normal #mainmenu li.deeper.parent > span.toggleButton > svg path,
body.ui-transition-normal #mainmenu a.button > [class*="icon-"]::before,
body.ui-transition-normal #mainmenu a.button > [class*="icon-"]::after,
body.ui-transition-normal #postcomponent .moduletable > ul > li > a,
body.ui-transition-normal #postcomponent .moduletable > .custom > ul > li > a,
body.ui-transition-normal #postcomponent a[download]::after,
body.ui-transition-normal .contactInfoBoxes .contactInfoEmail joomla-hidden-mail > a {
	-webkit-transition-duration: 0.25s !important;
	-o-transition-duration: 0.25s !important;
	transition-duration: 0.25s !important;
}
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 #logoAndMenuContainer #logo,
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 .nkForm .nkfSelect [id$="-Options"],
body.ui-transition-relaxed .nkForm [id^="jsAltDd-"][id$="-Container"],
body.ui-transition-relaxed .nkForm [id^="jsAltDd-"][id$="-Current"]::before,
body.ui-transition-relaxed .nkForm [id^="jsAltDd-"][id$="-Current"]::after,
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 #mainmenu li > a,
body.ui-transition-relaxed #mainmenu li > span.separator,
body.ui-transition-relaxed #mainmenu li.deeper.parent > span.toggleButton,
body.ui-transition-relaxed #mainmenu li.deeper.parent > span.toggleButton > svg,
body.ui-transition-relaxed #mainmenu li.deeper.parent > span.toggleButton > svg path,
body.ui-transition-relaxed #mainmenu a.button > [class*="icon-"]::before,
body.ui-transition-relaxed #mainmenu a.button > [class*="icon-"]::after,
body.ui-transition-relaxed #postcomponent .moduletable > ul > li > a,
body.ui-transition-relaxed #postcomponent .moduletable > .custom > ul > li > a,
body.ui-transition-relaxed #postcomponent a[download]::after,
body.ui-transition-relaxed .contactInfoBoxes .contactInfoEmail joomla-hidden-mail > a {
	-webkit-transition-duration: 0.4s !important;
	-o-transition-duration: 0.4s !important;
	transition-duration: 0.4s !important;
}

/*
 * Allgemeiner UI-Dauervertrag: Erfasst auch website-spezifische Links,
 * verlinkte Bildkacheln, Footer-/Social-Links und interaktive Elemente von
 * Erweiterungen. Es wird nur die Dauer vorgegeben; die Komponente bestimmt
 * weiterhin selbst, welche Eigenschaft animiert wird. Dadurch bleiben
 * Slidewechsel, AOS-Animationen und Sticky-/Scroll-Bewegungen unbeeinflusst.
 */
body.ui-transition-off a,
body.ui-transition-off a::before,
body.ui-transition-off a::after,
body.ui-transition-off a img,
body.ui-transition-off a svg,
body.ui-transition-off button::before,
body.ui-transition-off button::after,
body.ui-transition-off button svg,
body.ui-transition-off input:not([type="hidden"]),
body.ui-transition-off select,
body.ui-transition-off textarea,
body.ui-transition-off summary,
body.ui-transition-off [role="button"] {
	-webkit-transition-duration: 0s !important;
	-o-transition-duration: 0s !important;
	transition-duration: 0s !important;
}
body.ui-transition-fast a,
body.ui-transition-fast a::before,
body.ui-transition-fast a::after,
body.ui-transition-fast a img,
body.ui-transition-fast a svg,
body.ui-transition-fast button::before,
body.ui-transition-fast button::after,
body.ui-transition-fast button svg,
body.ui-transition-fast input:not([type="hidden"]),
body.ui-transition-fast select,
body.ui-transition-fast textarea,
body.ui-transition-fast summary,
body.ui-transition-fast [role="button"] {
	-webkit-transition-duration: 0.15s !important;
	-o-transition-duration: 0.15s !important;
	transition-duration: 0.15s !important;
}
body.ui-transition-normal a,
body.ui-transition-normal a::before,
body.ui-transition-normal a::after,
body.ui-transition-normal a img,
body.ui-transition-normal a svg,
body.ui-transition-normal button::before,
body.ui-transition-normal button::after,
body.ui-transition-normal button svg,
body.ui-transition-normal input:not([type="hidden"]),
body.ui-transition-normal select,
body.ui-transition-normal textarea,
body.ui-transition-normal summary,
body.ui-transition-normal [role="button"] {
	-webkit-transition-duration: 0.25s !important;
	-o-transition-duration: 0.25s !important;
	transition-duration: 0.25s !important;
}
body.ui-transition-relaxed a,
body.ui-transition-relaxed a::before,
body.ui-transition-relaxed a::after,
body.ui-transition-relaxed a img,
body.ui-transition-relaxed a svg,
body.ui-transition-relaxed button::before,
body.ui-transition-relaxed button::after,
body.ui-transition-relaxed button svg,
body.ui-transition-relaxed input:not([type="hidden"]),
body.ui-transition-relaxed select,
body.ui-transition-relaxed textarea,
body.ui-transition-relaxed summary,
body.ui-transition-relaxed [role="button"] {
	-webkit-transition-duration: 0.4s !important;
	-o-transition-duration: 0.4s !important;
	transition-duration: 0.4s !important;
}

/* Logo- und Headergrößen reagieren auf Scrollposition, nicht auf Hover. */
body #logoAndMenuContainer #logo,
body #logo a,
body #logo img,
body #logo svg {
	-webkit-transition-duration: 0.25s !important;
	-o-transition-duration: 0.25s !important;
	transition-duration: 0.25s !important;
}

/*
 * Menüs benötigen beim Ausblenden eine verzögerte Sichtbarkeit.
 * Deshalb werden die vollständigen Transition-Listen je Geschwindigkeitsstufe
 * angegeben, statt dafür CSS-Variablen vorauszusetzen.
 */
body.ui-transition-off #mainmenu.jsActivated > ul,
body.ui-transition-off #mainmenu ul.mod-menu__sub {
	-webkit-transition: none;
	-o-transition: none;
	transition: none;
}
@media (max-width: 59.99rem) {
	body.ui-transition-fast #mainmenu.jsActivated > ul {
		-webkit-transition: max-height 0.15s ease, visibility 0s linear 0.15s;
		-o-transition: max-height 0.15s ease, visibility 0s linear 0.15s;
		transition: max-height 0.15s ease, visibility 0s linear 0.15s;
	}
	body.ui-transition-fast #mainmenu.jsActivated.jsActive > ul {
		-webkit-transition: max-height 0.15s ease, visibility 0s;
		-o-transition: max-height 0.15s ease, visibility 0s;
		transition: max-height 0.15s ease, visibility 0s;
	}
	body.ui-transition-fast #mainmenu.jsActivated li > ul.mod-menu__sub {
		-webkit-transition: max-height 0.15s ease;
		-o-transition: max-height 0.15s ease;
		transition: max-height 0.15s ease;
	}
	body.ui-transition-relaxed #mainmenu.jsActivated > ul {
		-webkit-transition: max-height 0.4s ease, visibility 0s linear 0.4s;
		-o-transition: max-height 0.4s ease, visibility 0s linear 0.4s;
		transition: max-height 0.4s ease, visibility 0s linear 0.4s;
	}
	body.ui-transition-relaxed #mainmenu.jsActivated.jsActive > ul {
		-webkit-transition: max-height 0.4s ease, visibility 0s;
		-o-transition: max-height 0.4s ease, visibility 0s;
		transition: max-height 0.4s ease, visibility 0s;
	}
	body.ui-transition-relaxed #mainmenu.jsActivated li > ul.mod-menu__sub {
		-webkit-transition: max-height 0.4s ease;
		-o-transition: max-height 0.4s ease;
		transition: max-height 0.4s ease;
	}
}
@media (min-width: 60rem) {
	body.ui-transition-fast #mainmenu > ul > li > ul.mod-menu__sub,
	body.ui-transition-fast #mainmenu > ul > li > ul.mod-menu__sub > li > ul.mod-menu__sub {
		-webkit-transition: opacity 0.15s ease, visibility 0s linear 0.15s, max-height 0s linear 0.15s;
		-o-transition: opacity 0.15s ease, visibility 0s linear 0.15s, max-height 0s linear 0.15s;
		transition: opacity 0.15s ease, visibility 0s linear 0.15s, max-height 0s linear 0.15s;
	}
	body.ui-transition-fast #mainmenu > ul > li:hover > ul.mod-menu__sub,
	body.ui-transition-fast #mainmenu > ul > li:focus-within > ul.mod-menu__sub,
	body.ui-transition-fast #mainmenu > ul > li > ul.mod-menu__sub > li:hover > ul.mod-menu__sub,
	body.ui-transition-fast #mainmenu > ul > li > ul.mod-menu__sub > li:focus-within > ul.mod-menu__sub {
		-webkit-transition: opacity 0.15s ease, visibility 0s, max-height 0s;
		-o-transition: opacity 0.15s ease, visibility 0s, max-height 0s;
		transition: opacity 0.15s ease, visibility 0s, max-height 0s;
	}
	body.ui-transition-relaxed #mainmenu > ul > li > ul.mod-menu__sub,
	body.ui-transition-relaxed #mainmenu > ul > li > ul.mod-menu__sub > li > ul.mod-menu__sub {
		-webkit-transition: opacity 0.4s ease, visibility 0s linear 0.4s, max-height 0s linear 0.4s;
		-o-transition: opacity 0.4s ease, visibility 0s linear 0.4s, max-height 0s linear 0.4s;
		transition: opacity 0.4s ease, visibility 0s linear 0.4s, max-height 0s linear 0.4s;
	}
	body.ui-transition-relaxed #mainmenu > ul > li:hover > ul.mod-menu__sub,
	body.ui-transition-relaxed #mainmenu > ul > li:focus-within > ul.mod-menu__sub,
	body.ui-transition-relaxed #mainmenu > ul > li > ul.mod-menu__sub > li:hover > ul.mod-menu__sub,
	body.ui-transition-relaxed #mainmenu > ul > li > ul.mod-menu__sub > li:focus-within > ul.mod-menu__sub {
		-webkit-transition: opacity 0.4s ease, visibility 0s, max-height 0s;
		-o-transition: opacity 0.4s ease, visibility 0s, max-height 0s;
		transition: opacity 0.4s ease, visibility 0s, max-height 0s;
	}
}

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

/*
 * Optionaler Präsentationsmodus für angemeldete Redakteure.
 * Es werden ausschließlich die Frontend-Bearbeitungslinks verborgen;
 * Berechtigungen und Backend-Funktionen bleiben unverändert erhalten.
 */
body.hide-frontend-edit-controls #component .com-content-article .icons,
body.hide-frontend-edit-controls #component .com-content-category-blog__item .icons,
body.hide-frontend-edit-controls #component .com-content-featured__item .icons,
body.hide-frontend-edit-controls #component .item-page > .icons,
body.hide-frontend-edit-controls .jmodedit,
body.hide-frontend-edit-controls .jmenuedit {
	display: none !important;
}

/*
 * Joomla Login-Modul
 * Die Kartenansicht wird ueber Template-Parameter gesteuert und benoetigt
 * keine Modulklasse. Farben stammen aus dem jeweiligen Template-Stil.
 */
body.login-module-style-card form.mod-login {
	box-sizing: border-box;
	width: min(100%, 32rem);
	max-width: 32rem;
	margin-right: auto;
	margin-left: auto;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	background: #fff;
	border-top: 0.3rem solid #b2113d;
	box-shadow: 0 0.8rem 2.5rem rgba(0, 0, 0, 0.12);
	color: #4d4d4d;
}

body.login-module-style-card .nkLoginModule > h1,
body.login-module-style-card .nkLoginModule > h2,
body.login-module-style-card .nkLoginModule > h3,
body.login-module-style-card .nkLoginModule > h4 {
	margin: 0 0 0.5rem;
	color: #4d4d4d;
	font-size: clamp(1.65rem, 4vw, 2.15rem);
	line-height: 1.15;
}

body.login-module-style-card .mod-login__pretext p {
	margin: 0 0 1.5rem;
	color: #707070;
	font-size: 1rem;
	line-height: 1.55;
}

body.login-module-style-card .mod-login__userdata {
	display: grid;
	gap: 1rem;
}

body.login-module-style-card .mod-login .form-group {
	margin: 0;
}

body.login-module-style-card .mod-login .input-group {
	display: flex;
	align-items: stretch;
	width: 100%;
}

body.login-module-style-card .mod-login .form-control {
	box-sizing: border-box;
	min-width: 0;
	width: 100%;
	height: 3.1rem;
	margin: 0;
	padding: 0.7rem 0.85rem;
	border: 1px solid #c5c5c5;
	border-radius: 0;
	background: #fff;
	color: #4d4d4d;
	font: inherit;
	font-size: 1rem;
	line-height: 1.3;
}

body.login-module-style-card .mod-login .form-control:focus {
	border-color: #b2113d;
	outline: 2px solid rgba(178, 17, 61, 0.2);
	outline-offset: 1px;
}

body.login-module-style-card .mod-login .input-group-text,
body.login-module-style-card .mod-login .input-password-toggle {
	box-sizing: border-box;
	display: grid;
	flex: 0 0 3.1rem;
	place-items: center;
	width: 3.1rem;
	min-width: 3.1rem;
	height: 3.1rem;
	margin: 0;
	padding: 0;
	border: 1px solid #707070;
	background: #707070;
	color: #fff;
}

body.login-module-style-card .mod-login .input-password-toggle:hover,
body.login-module-style-card .mod-login .input-password-toggle:focus,
body.login-module-style-card .mod-login .input-password-toggle:active,
body.login-module-style-card .mod-login .input-password-toggle:hover:active {
	border-color: #5c5c5c;
	background: #5c5c5c;
	color: #fff;
}

body.login-module-style-card .mod-login__username .input-group-text {
	display: none;
}

body.login-module-style-card .mod-login .input-password-toggle {
	flex-basis: auto;
	width: auto;
	min-width: 7.5rem;
	padding: 0 0.8rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

body.login-module-style-card .mod-login .input-password-toggle .icon-eye {
	display: none;
}

body.login-module-style-card .mod-login .input-password-toggle .visually-hidden {
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	overflow: visible !important;
	clip: auto !important;
	white-space: normal !important;
}

body.login-module-style-card .mod-login .form-check {
	display: flex;
	align-items: center;
	gap: 0.65rem;
}

body.login-module-style-card .mod-login .form-check-input {
	flex: 0 0 1.15rem;
	width: 1.15rem;
	height: 1.15rem;
	margin: 0;
	padding: 0;
	accent-color: #b2113d;
}

body.login-module-style-card .mod-login .form-check-label {
	display: block;
	margin: 0;
	padding: 0;
	color: #4d4d4d;
	font-size: 1rem;
	line-height: 1.15;
}

body.login-module-style-card .mod-login button[type="submit"] {
	box-sizing: border-box;
	display: block;
	width: 100%;
	min-height: 3.2rem;
	margin: 0;
	padding: 0.75rem 1.2rem;
	border-color: #b2113d;
	background: #b2113d;
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-align: center;
	text-transform: uppercase;
}

body.login-module-style-card .mod-login button[type="submit"]:hover,
body.login-module-style-card .mod-login button[type="submit"]:focus,
body.login-module-style-card .mod-login button[type="submit"]:active,
body.login-module-style-card .mod-login button[type="submit"]:hover:active {
	border-color: #920e32;
	background: #920e32;
	color: #fff;
}

body.login-recovery-links-hide .mod-login__options,
body.login-alternative-buttons-hide .mod-login__userdata > .mod-login__submit > button[type="button"] {
	display: none !important;
}

@media (max-width: 35rem) {
	body.login-module-style-card form.mod-login {
		padding: 1.5rem 1.1rem;
	}
}
@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;
	}
}
