@charset "utf-8";

/* @font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-Bold.woff2') format('woff2'),
        url('fonts/OpenSans-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-SemiBoldItalic.woff2') format('woff2'),
        url('fonts/OpenSans-SemiBoldItalic.woff') format('woff');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-Italic.woff2') format('woff2'),
        url('fonts/OpenSans-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-Light.woff2') format('woff2'),
        url('fonts/OpenSans-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-BoldItalic.woff2') format('woff2'),
        url('fonts/OpenSans-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-LightItalic.woff2') format('woff2'),
        url('fonts/OpenSans-LightItalic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-ExtraBold.woff2') format('woff2'),
        url('fonts/OpenSans-ExtraBold.woff') format('woff');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-ExtraBoldItalic.woff2') format('woff2'),
        url('fonts/OpenSans-ExtraBoldItalic.woff') format('woff');
    font-weight: 800;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-SemiBold.woff2') format('woff2'),
        url('fonts/OpenSans-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-Regular.woff2') format('woff2'),
        url('fonts/OpenSans-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
*/
@font-face {
  font-family: 'Nunito';
  src: url('fonts/Nunito-ExtraLight.woff2') format('woff2'),
      url('fonts/Nunito-ExtraLight.woff') format('woff');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Nunito';
  src: url('fonts/Nunito-SemiBold.woff2') format('woff2'),
      url('fonts/Nunito-SemiBold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Nunito';
  src: url('fonts/Nunito-Light.woff2') format('woff2'),
      url('fonts/Nunito-Light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Nunito';
  src: url('fonts/Nunito-Bold.woff2') format('woff2'),
      url('fonts/Nunito-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Nunito';
  src: url('fonts/Nunito-Regular.woff2') format('woff2'),
      url('fonts/Nunito-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
html {
  font-weight: 300;
  font-size: 1rem; /* body scales from this basic value in mediaqueries */
}
body {
	font-family: 'Nunito', 'Helvetica Neue', 'Helvetica';
  background: #fff;
  color: #707070;
}

/* ------------------------------ LAYOUT --------------------------------------------------------*/
@media (min-width: 90rem) {
  #header1 > *,
  #logoAndMenu,
  .wrapperWidth,
  .nkFlexBox.wrapperWidth,
  #componentContainer,
  #breadcrumbs {
    width: 85%;
  }
}
@media (min-width: 105rem) {
  #header1 > *,
  #logoAndMenu,
  .wrapperWidth,
  .nkFlexBox.wrapperWidth,
  #componentContainer,
  #breadcrumbs {
    width: 80%;
  }
}

/* HEADER --------------------------------------------- */
/* Header 1 ---------------------------- */
#header1 > * {
	font-size: 1rem;
}

/* header1 styles */
body.header1-white #header1 {
	border-bottom: solid 2px #BABABA;
}
body.header1-dark #header1 {
  	background: #3E3E3E;
  	color: #fff;
}
body.header1-moderate #header1 {
	background-color: #f2f2f2;
}
body.header1-moderate #header1 p,
body.header1-moderate #header1 a {
	color: #707070;
}
body.header1-dark #header1 a {
	color: #fff;
}

/* Header 1 Search Form */
#header1 .search form {
	border: solid 2px #BABABA;
}
#header1 .search input {
	color: #bababa;
}
#header1 .search input:focus {
	outline: solid 2px #1672b0;
}

/* Header 1 contact details */
#header1 > * .contactDetails a > img,
#header1 > * .contactDetails a > svg {
	fill: #fff;
}
@media screen {
	#header1 > * .contactDetails p > a,
	body.header1-dark #header1 a {
		transition: color ease-in-out 0.5s;
	}
	#header1 > * .contactDetails p > a:hover,
	body.header1-dark #header1 a:hover {
		color: #3ea9e0;
	}
}

/* HEADER 2 ----------------------------- */

/* LOGO AND MENU -------------> */
#logoAndMenuContainer,
#logoAndMenuContainer.scrolledActive {
	background: #fff;
}
#logoAndMenuContainer #logo {
	transition: all ease 0.2s;
}
.parentscrolledInactive > div:first-child {
	transition: paddingTop ease 0.1s;
}
#logo a  {
	
}
#logo a img,
#logo a svg {
	display: inline-block;
	max-height: 3em;
	max-width: 80%;
	width: auto;
	fill: #707070;
	transition: all ease 0.5s;
}
#logo a:hover svg {
	fill: #333;
}
/* Scrolled Active */
#logoAndMenuContainer.scrolledActive {
	box-shadow: 0px 11px 17px 0px rgba(50, 50, 50, 0.22);
}
#logoAndMenuContainer.scrolledActive #logo {
	padding: 0.5em 1.5em 0.5em 0;
}
#logoAndMenuContainer.scrolledActive #logo a img,
#logoAndMenuContainer.scrolledActive #logo a svg  {
	max-height: 2.5em;
}

/* When Logofull */
#logofull + #header2 > * {
	transition: padding ease-in-out 1s;
}

/* MAINMENU -------------------------------------------------------------------------------------*/
#mainmenu {
	font-size: 0.9em;
}
/* MOBILE -------- */
@media (max-width: 59.99rem) {
	/* Menu Hamburger Button */
	#mainmenu > a {
		background-color: #333;
	}
	#mainmenu > a > span {
		background-color: #fff;
	}
	#mainmenu.jsActivated ul {
		transition: max-height ease 1s;
	}
	#mainmenu li > a {
		border-color: #fff;
	}
	#mainmenu li.current.active > a {
		background: #888;
	}
	/* Submenue ----- */
	#mainmenu > ul {
		background-color: #707070; /* First level */
		color: #fff;
	}
	#mainmenu > ul > li > ul {
		background-color: #808080; /* Second level */
	}
	#mainmenu > ul > li > ul > li > ul {
		background-color: #999; /* Third level */
	}
	#mainmenu li.deeper.parent > a > span.toggleButton {
		border-left-color: #fff;
	}
	#mainmenu li.deeper.parent > a > span.toggleButton > svg {
		fill: #fff;
		transition: all ease 0.5s;
	}
	#mainmenu li.deeper.parent.jsActive > a > span.toggleButton > svg {
		fill: #fff;
	}
}
/* mainmenu DESKTOP --- */
@media (min-width: 60rem) {
	#mainmenu > ul > li > a {
		color: #707070;
		transition: all ease-in-out 0.5s;
	}
	#mainmenu > ul > li > a:hover,
	#mainmenu > ul > li.current > a,
	#mainmenu > ul > li:hover > a  {
		color: #333;
	}
	#mainmenu li.deeper.parent > a > span.toggleButton > svg {
		fill: #707070;
		transition: all ease-in-out 0.5s;
	}
	#mainmenu > ul > li.deeper.parent.current > a > span.toggleButton > svg,
	#mainmenu > ul > li.deeper.parent.active > a > span.toggleButton > svg,
	#mainmenu > ul > li.deeper.parent:hover > a > span.toggleButton > svg {
		fill: #333;
	}
	/* Submenu itself */
	#mainmenu > ul > li > ul.mod-menu__sub,
	#mainmenu > ul > li > ul.mod-menu__sub > li > ul.mod-menu__sub {
		transition: max-height ease-in-out 0.5s, opacity ease-in-out 0.5s;
	}
	#mainmenu > ul > li:hover > ul.mod-menu__sub {
		transition: max-height ease-in-out 0.5s, opacity ease-in-out 0.5s;
	}
	#mainmenu > ul > li > ul.mod-menu__sub > li > a,
	#mainmenu > ul > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li > a {
		background: #707070;
		color: #fff;
		border-color: #fff;
		transition: all ease 0.5s;
	}
	#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.current > a,
	#mainmenu > ul > li > ul.mod-menu__sub > li > ul.mod-menu__sub > li.current > a  {
		background-color: #333;
	}
	#mainmenu > ul > li > ul.mod-menu__sub > li:last-child > a {
		border-bottom-color: #fff;
	}
	#mainmenu > ul > li > ul.mod-menu__sub > li.deeper.parent > a > span.toggleButton > svg {
		fill: #fff; /* Second Level Arrow */
	}
	#mainmenu > ul > li > ul.mod-menu__sub > li.deeper.parent.current > a > span.toggleButton > svg,
	#mainmenu > ul > li > ul.mod-menu__sub > li.deeper.parent.active > a > span.toggleButton > svg,
	#mainmenu > ul > li > ul.mod-menu__sub > li.deeper.parent:hover > a > span.toggleButton > svg {
		fill: #fff; /* Second level Arrow hover / active */
	}
	/* Special Button Style menu item */
	#mainmenu > ul > li.specialStyleButton > a {
		background: #888;
		color: #fff;
		border-radius: 0.25em;
		transition: all linear 0.25s;
	}
	#mainmenu > ul > li.specialStyleButton > a:hover {
		background: #333;
		color: #fff;
	}
}


/* HeaderImage Position -------------------------------------------------------------------------*/
#headerimage {
	min-height: 17em;
}
#headerimage h1,
#headerimage h2 {
	padding: 0.25em 1rem;
	margin-bottom: 0.5rem;
}
#headerimage h1 {
	margin-top: 2em;
	font-weight: 400;
}
#headerimage h1:last-child,
#headerimage h2:last-child {
	margin-bottom: 2em;
}
#headerimage h1 + h2:last-child {
	margin-bottom: 3.8em; /* 3.6 / 1.5 * 2em (- 1em) */
}
#headerimage h2 {
	margin-top: 0.2em;
	font-size: 1.5em;
}
#headerimage h1,
#headerimage h2,
.separateLabels.white span,
.nkMellowSlides .separateLabels.white span {
	background: rgba(255,255,255,0.8);
	color: #707070;
	border-radius: 0.25rem;
	border: solid 1px rgba(255,255,255,0.9);
}
.nkMellowSlides .separateLabels span,
.separateLabels span,
.nkMellowSlides .separateLabels span.big,
.separateLabels span.big,
.nkMellowSlides .separateLabels span.small,
.separateLabels span.small {
	padding: 0.25em 2rem;
}
.nkMellowSlides .separateLabels span,
.separateLabels span {
	font-size: 2em;
	font-weight: normal;
	padding: 0.4em 2rem;
}
.nkMellowSlides .separateLabels span.big,
.separateLabels span.big {
	font-size: 3.5em;
	font-weight: 600;
	line-height: 1em;
}
.nkMellowSlides .separateLabels span.small,
.separateLabels span.small {
	padding: 1em 2rem;
}
@media(max-width: 39.99rem) {
	#headerimage h1,
	#headerimage h2 {
		font-size: 2em;
	}
	.nkMellowSlides .separateLabels span,
	.separateLabels span {
		font-size: 1.1em;
	}
	.nkMellowSlides .separateLabels span.big,
	.separateLabels span.big {
		font-size: 2em;
	}
	.nkMellowSlides .separateLabels span.small,
	.separateLabels span.small {
		padding: 0.5em 2rem;
	}

}



/* Precontent -----------------------------------------------------------------------------------*/
#precontent {
	border-bottom: solid 1px rgba(160, 160, 160, 0.3);
}
/* Breadcrumbs ----------------------------------*/
#breadcrumbs {
	font-size: 1rem;
	border-bottom: none;
}




/* Component ------------------------------------------------------------------------------------*/
#componentContainer p > a {
	text-decoration: underline;
}
#postcomponent .postcompSlider h2 i.fa-solid:before {
	content: "\e537"; /* Set icon at postcompSlider */
}
@media (min-width: 60rem) {
	#postcomponent .nkMellowSlides > .sliderBox .sliderInitiated > div {
		justify-content: center;
	}
}
#component [id^="nkSliderBoxControl"],
#postcomponent [id^="nkSliderBoxControl"] {
	padding-bottom: 0.75em;
	padding-top: 1.25em;
}
#component [id^="nkSliderBoxControl"] a,
#postcomponent [id^="nkSliderBoxControl"] a {
	border: solid 2px #707070;
	border-radius: 2px;
	margin: 0 0.125em;
}
#component [id^="nkSliderBoxControl"] a.jsActive,
#postcomponent [id^="nkSliderBoxControl"] a.jsActive {
	background: #707070;
}
#postcomponent .imgLayer-bottom {
	overflow: hidden;
}
#postcomponent .imgLayer-bottom > img {
	display: block;
	max-width: 100%;
	height: auto;
}
.imgLayer-bottom > p {
	background: rgba(112,112,112,0.75);
	border-top-color: rgba(136,136,136,0.75);
}
#postcomponent .imgLayer-bottom > p  {
	margin-bottom: 0;
	transition: all ease 0.25s;
	overflow: hidden;
	transform: translate(0,0);
}
#postcomponent .imgLayer-bottom > p > span {
  font-size: 0.9em;
  text-transform: none;
  font-weight: normal;
}
#postcomponent .imgLayer-bottom > p > span > b {
	font-size: 1.3em;
	font-weight: 900;
}
#postcomponent .postcompSlider .activeSlide .imgLayer-bottom > p {
	transition: all ease 0.25s 0.5s;
}
#postcomponent .postcompSlider .inActiveSlide .imgLayer-bottom > p {
	padding: 0;
	transform: translate(0,101%);
}

/* BOTTOM ----------------------------------------------------------------------------------------*/
/* NEWS Bottom */
#bottom,
#newsBottom {
	background-color: rgba(160, 160, 160, 0.075);
	padding: 3em 0;
}




/* DSGVO SHowcase -------------------------------------------------------------------------------*/
#gmaps,
.dsgvoShowcase {
	background-color: #ddd;
}
#gmaps div,
.dsgvoShowcase div {
	background: rgba(0, 0, 0, 0.4);
	color: #fff;
	border-color: #888;
	border-radius: 0.25em;
}
#gmaps p a,
#component .dsgvoShowcase p a,
.dsgvoShowcase p a {
	background: #707070;
	color: #fff;
}
#gmaps p a:hover,
.dsgvoShowcase p a:hover,
#component .dsgvoShowcase p a:hover{
    background: #333;
		color: #fff;
}


/* PRE FOOTER -----------------------------------------------------------------------------------*/
#prefooter {
	background: #888;
	color: #fff;
}
#prefooter > div {
  padding-top: 4em;
  padding-bottom: 6em;
}

/* FOOTER ---------------------------------------------------------------------------------------*/
footer {
	font-size: 0.8em;
	letter-spacing: 0.05em;
	font-weight: normal;
	background: #f2f2f2;
	color: #707070;
	text-transform: none;
	border-top: solid 1px rgba(160, 160, 160, 0.3);
}
footer a {
  color: #707070;
}


/* ------------------------------ GENERAL HTML TAGS ---------------------------------------------*/
/* Tables ------------------------------------- */
table {
	font-size: 0.9em;
}
table tbody tr {
	border-color: rgba(160, 160, 160, 0.3);
}
table tbody tr:nth-child(2n + 1) {
	background-color: rgba(160, 160, 160, 0.075);
}
table th {
	color: #3c3b3b;
	font-size: 0.9em;
	font-weight: 700;
}
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 alternate */
table.alt tbody tr td {
	border: solid 1px rgba(160, 160, 160, 0.3);
}
/* HEADINGS ------------------------------------- */
h1 {
	font-size: 3.6em;
	font-weight: 900;
}
h2 {
	font-size: 1.8em;
	font-weight: 600;
}
h3 {
	font-size: 1.5em;
	font-weight: normal;
}
h3 {
	font-size: 1.25em;
	font-weight: bold;
}
h4 {
	font-size: 1em;
	font-weight: 600;
	margin-bottom: 1em;
}
main h2,
#afterMain h2  {
	margin-bottom: 0.75em;
}
main h3, main h4,
#afterMain h3, #afterMain h4 {
	margin-bottom: 0.5em;
}
main p + h2,
main p + h3,
main p + h3,
main ul ~ h2,
#afterMain p + h2,
#afterMain p + h3,
#afterMain p + h3,
#afterMain ul ~ h2  {
	padding-top: 0.2em;
}
/* underline rounded */
body.h2UnderlineRounded #componentContainer h2,
body *.h2UnderlineRounded h2,
*.underlineRounded,
.childH2UnderlineRounded h2,
body.h2UnderlineRounded .news-list-view {
	position: relative;
	padding-bottom: 0.25em;
}
body.h2UnderlineRounded #componentContainer h2:after,
body *.h2UnderlineRounded h2:after,
*.underlineRounded:after,
.childH2UnderlineRounded h2:after,
body.h2UnderlineRounded .news-list-view:after {
	content: "";
	position: absolute;
	bottom: 0;
	display: block;
	left: 0;
	right: 0;
	height: 0.25rem;
	background: #888;
	border-radius: 0.09em;
	opacity: 0.8;
}
/* PARAGRAPHS, LISTS ------------------------------------- */
/* Paragraph */
main p, main li, main td,
#afterMain p, #afterMain li, #afterMain td  {
	line-height: 1.5em;
}
p b, li b {
	font-weight: normal;
}
p strong, li strong {
	font-weight: normal;
}
/* Lists */
/* Rounded Squares (global or single) */
body.listsRoundedSquares #componentContainer ul > li:before,
#componentContainer ul.roundedSquares > li:before {
	background-color: #707070;
	opacity: 0.7; /* less visibility */
}


/* BUTTONS ----------------------------------------------- */
input[type="submit"],
input[type="reset"],
input[type="button"],
button,
.button,
.btn-default,
.btn-default:visited,
.btn-default:focus,
.btn-default:active {
	transition: background-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
	background-color: transparent;
	border: 0;
	box-shadow: inset 0 0 0 1px rgba(112, 112, 112, 0.3);
	cursor: pointer;
	display: inline-block;
	font-size: 0.8em;
	font-weight: 800;
	letter-spacing: 0.25em;
	padding: 0.7em 2em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	border-radius: 0.25em;
	background-color: #707070;
	color: #fff;
}

input[type="submit"]:hover:active,
input[type="reset"]:hover:active,
input[type="button"]:hover:active,
button:hover:active,
.button:hover:active,
.button:hover:active,
.btn-default:hover:active,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
button:hover,
.button:hover,
.button:hover,
.btn-default:hover {
	background-color: #333;
	color: #fff;
}





/* ################################################################################################## */
/* ################################    ONLY    THIS     WEBSITE    ################################## */

/* Labels vor Gesichtern auf STartseite abschwächen */
@media (max-width: 39.99rem) {
	#headerimage h1,
	#headerimage h2,
	.separateLabels.white span,
	.nkMellowSlides .separateLabels.white span {
		background: rgba(255,255,255,0.7);
		color: #333;
		border-radius: 0.25rem;
		border: solid 1px rgba(255,255,255,0.9);
	}
}


/* Hide "STEP" Header in this form */
#kontaktformular-59 > h2 {
	display: none;
}

.b5f3c6b4-35ce-4e30-87cc-c02e3b3b85dd {
	fill: none;
	fill: transparent;
	stroke: #707070;
	stroke-miterlimit: 10;
	stroke-width: 3px;
	transition: all ease 0.5s;
  }
a:hover .b5f3c6b4-35ce-4e30-87cc-c02e3b3b85dd {
	stroke: #333;
}

/* News extension erzeugt h1 */
.news-single h1 {
	font-size: 2em;
}
.img-responsive {
	max-width: 100%;
	height: auto;
	margin-bottom: 1em;
}