.bg-gelb {
	background-color: #f4cf32;
	color: #707070;
}
.bg-gelb h1,
.bg-gelb h2,
.bg-gelb h3,
.bg-gelb h4 {
	color: #707070;
}
.bg-gelb a {
	color: #555;
}
.bg-gelb a:hover, 
.bg-gelb a:focus {
	color: #000;
}



.bg-grau {
	background-color: #707070;
	color: #fff;
}
.bg-grau h1,
.bg-grau h2,
.bg-grau h3,
.bg-grau h4 {
	color: #fff;
}
.bg-grau a {
	color: #f4cf32;
}
.bg-grau a:hover, 
.bg-grau a:focus {
	color: #000;
}




header.header {

}


header.header .header-top {
  padding: 10px 0;
  font-size: 16px;
  line-height: 20px;
  text-align: center;
}
header.header .header-top ul > li {
  display: inline-block;
  position: relative;
  padding-left: 25px;
  margin: 0 15px;
}
header.header .header-top ul > li a {
	color: #707070;
}

header.header .header-top ul > li::before {
	font-family: icomoon;
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	font-size: 20px;
}

header.header .header-top ul > li.adresse::before {
	content: "\e90a";
}
header.header .header-top ul > li.zeiten::before {
	content: "\e906";
}
header.header .header-top ul > li.telefon::before {
	content: "\e90c";
}
header.header .header-top ul > li.mail::before {
	content: "\e904";
}




header.header .header-main {
  padding-top: 15px;
  padding-bottom: 25px;
}


header.header .header-main .logo {
    width: 240px;
    z-index: 1001;
	float: left;
}
header.header .header-main a,
header.header .header-main a:hover,
header.header .header-main a:focus {
    display: block;
	line-height: 0;
	text-decoration: none;	
}

header.header .header-main nav.menu-desktop {
	float: right;
	margin-top: 30px;  
}
header.header .header-main nav.menu-desktop .megamenu.level0 > li {
	font-size: 20px;
	line-height: 30px;
}


header.header .header-main nav.menu-desktop #js-mainnavcss3 span.menu-title {
	font-size: 22px;
	line-height: 30px;
}


.menu-desktop {
  display: block;
}
#bp-nav-trigger {
  display: none;
}

@media (max-width: 1279px) {

}
@media (max-width: 1023px) {
	header.header .header-top .bp-width {
		width: 100%;
		padding: 0 15px;
	}
	header.header .header-top {
		text-align: left;
	}
	header.header .header-top ul > li.adresse, 
	header.header .header-top ul > li.zeiten {
		display: none;
	}
	header.header .header-top ul > li {	  
	  padding-left: 16px;
	  margin: 0 10px 0 0;
	  font-size: 13px;
	}	
	header.header .header-top ul > li::before {
		font-size: 13px;
	}
	.menu-desktop {
	  display: none;
	}
	#bp-nav-trigger {
	  display: block;
	}
	header.header .header-main {
		padding-top: 15px;
		padding-bottom: 15px;
	}
	header.header .header-main .logo {
		width: 200px;
		float: none;
		margin: 0 auto;
	}
}
@media (max-width: 768px) {

}
@media (max-width: 640px) {

}



/** mobiles Menü **/
#bp-nav-trigger {
  position: absolute;
  top: 0px;
  right: 0px;
  height: 41px;
  width: 50px;
  overflow: hidden;
  color: transparent;
  white-space: nowrap;
  text-indent: 100%;
}
#bp-nav-trigger span,
#bp-nav-trigger span::before,
#bp-nav-trigger span::after {
  position: absolute;
  height: 3px;
  width: 25px;
  background: #707070;
}
#bp-nav-trigger span {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: background .3s;
}
#bp-nav-trigger span::before,
#bp-nav-trigger span::after {
  content: '';
  top: 0;
  left: 0;
  transition: background .3s, transform .3s;
}
#bp-nav-trigger span::before {
  transform: translateY(-8px);
}

#bp-nav-trigger span::after {
  transform: translateY(8px);
}
#bp-nav-trigger:hover span, 
#bp-nav-trigger:hover span::before,
#bp-nav-trigger:hover span::after {
  background: #555;
}
.nav-open #bp-nav-trigger span {
  background: transparent;
}
.nav-open #bp-nav-trigger span::before,
.nav-open #bp-nav-trigger span::after {
  background: #1F2B3D;
}
.nav-open #bp-nav-trigger span::before {
  transform: rotate(-45deg);
}
.nav-open #bp-nav-trigger span::after {
  transform: rotate(45deg);
}


.bp-mobile-nav-overlay {
  position: fixed;
  z-index: 10001;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0;
  visibility: hidden;
  transition: opacity .5s, visibility .5s;
}
.nav-open .bp-mobile-nav-overlay {
  opacity: .8;
  visibility: visible;
}
body.nav-open {
  overflow: hidden;
}




#bp-mobile-navigation.nav-container {
	position: fixed;
	z-index: 10002;
	top: 0;
	right: 0;
	height: 100%;
	width: 90%;
	max-width: 300px;
	background: #F3F3F3;
	transform: translateZ(0);
	transform: translateX(100%);
	transition: transform .5s cubic-bezier(.07,.23,.34,1);
	box-sizing: border-box;
	padding-bottom: 50px;
}
#bp-mobile-navigation.nav-container .bp-nav-inner {
	overflow: auto;
	height: 100%;
	width: 100%;
}
#bp-mobile-navigation.nav-container .bp-nav-inner .logo-burger-menu {
  padding: 15px;
}
.nav-open #bp-mobile-navigation.nav-container {
  transform: translateX(0);
}

#bp-mobile-navigation #bp-close-the-nav {
	display: none;
	position: absolute;
	left: 10px;
	bottom: 10px;
	width: 30px;
	height: 30px;
}
.nav-open #bp-mobile-navigation #bp-close-the-nav {
	display: block;
}

#bp-mobile-navigation #bp-close-the-nav span::before,
#bp-mobile-navigation #bp-close-the-nav span::after {
  content: '';
}
#bp-mobile-navigation #bp-close-the-nav:hover span::before,
#bp-mobile-navigation #bp-close-the-nav:hover span::after {
  background: #000;
}
#bp-mobile-navigation #bp-close-the-nav span {
  background: transparent;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.nav-open #bp-mobile-navigation #bp-close-the-nav span::before,
.nav-open #bp-mobile-navigation #bp-close-the-nav span::after {
  position: absolute;
  height: 3px;
  width: 30px;
  background: #3E3E3E;
  top: 14px;
}
.nav-open #bp-mobile-navigation #bp-close-the-nav:hover span::before,
.nav-open #bp-mobile-navigation #bp-close-the-nav:hover span::after {
  background: #000;
}
.nav-open #bp-mobile-navigation #bp-close-the-nav span::before {
  transform: rotate(-45deg);
}
.nav-open #bp-mobile-navigation #bp-close-the-nav span::after {
  transform: rotate(45deg);
}


.nav-open #bp-mobile-navigation .cookie-einstellungen ul > li span {
  padding: 15px;
  display: block;
  border-bottom: 1px solid #f4cf32;
}
.nav-open #bp-mobile-navigation .cookie-einstellungen ul > li span:hover {
  cursor: pointer;
  background-color: #ddd;
}
























.banner-wrapper .bp-slider-main.bp-slick ul.slick-dots {
    bottom: 10px;
    line-height: 0;
    height: 15px;
}
.banner-wrapper .bp-slider-main .ein-slide {
    height: 700px;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    background-position: center center;
}
.banner-wrapper {
  position: relative;
}
.banner-wrapper > .inner {
  position: absolute;
  bottom: 100px;
  left: 0;
  width: 100%;
}
.banner-wrapper > .inner div.text {
	color: #f4cf32;
	line-height: 1.2;
	text-transform: uppercase;
}
.banner-wrapper > .inner div.text .text-all {
	position: relative;
}
.banner-wrapper > .inner div.text .text-all .zeile-1 {
  white-space: nowrap;
  font-size: 55px;
  line-height: 65px;
  display: block;
  padding-left: 45px;
}
.banner-wrapper > .inner div.text .text-all .zeile-1 > .text-inner {
	background-color: #fff;
	display: inline-block;
	padding-left: 8px;
	padding-right: 8px;
}
.banner-wrapper > .inner div.text .text-all .zeile-2 {	
	white-space: nowrap;
	font-size: 55px;
	line-height: 65px;
	display: block;
	margin-top: 5px;
}
.banner-wrapper > .inner div.text .text-all .zeile-2 > .text-inner {
	background-color: #fff;
	display: inline-block;
	padding-left: 8px;
	padding-right: 8px;
}



.banner-wrapper > .inner div.button {
	margin-top: 25px;
}
.banner-wrapper > .inner div.button > a {
  display: inline-block;
  background-color: #f4cf32;
  color: #fff;
  padding: 12px 30px;
  border-radius: 10px;
  font-size: 25px;
  line-height: 30px;
}
.banner-wrapper > .inner div.button > a:hover,
.banner-wrapper > .inner div.button > a:focus {
  background-color: #707070;
  color: #fff;
}



@media (max-width: 1279px) {
	.banner-wrapper .bp-slider-main .ein-slide {
		height: 600px;
	}
	.banner-wrapper > .inner div.text .text-all .zeile-1,
	.banner-wrapper > .inner div.text .text-all .zeile-2 {	
	  font-size: 45px;
	  line-height: 55px;	 
	}
	.banner-wrapper > .inner div.text .text-all .zeile-1 {	
	  padding-left: 35px;
	}
	.banner-wrapper > .inner div.text .text-all .zeile-1 > .text-inner ,
	.banner-wrapper > .inner div.text .text-all .zeile-2 > .text-inner {
		padding-left: 5px;
		padding-right: 5px;
	}

}
@media (max-width: 1023px) {
	.banner-wrapper .bp-slider-main .ein-slide {
		height: 500px;
	}
	.banner-wrapper > .inner div.text .text-all .zeile-1,
	.banner-wrapper > .inner div.text .text-all .zeile-2 {	
	  font-size: 40px;
	  line-height: 50px;	 
	}
	.banner-wrapper > .inner div.text .text-all .zeile-1 {	
	  padding-left: 30px;
	}

}
@media (max-width: 768px) {
	.banner-wrapper .bp-slider-main .ein-slide {
		height: 400px;
	}	
	.banner-wrapper > .inner {
	  position: relative;
	  bottom: 0;
	  background-color: #EEE;
	  padding: 10px 0;
	  text-align: center;
	}
	.banner-wrapper > .inner div.text .text-all {
	  font-size: 30px;
	  line-height: 1.3;
	}
	.banner-wrapper > .inner div.text .text-all .zeile-1 > .text-inner,
	.banner-wrapper > .inner div.text .text-all .zeile-2 > .text-inner {
		background-color: transparent;
		padding-left: 0;
		padding-right: 0;
	}
	.banner-wrapper > .inner div.text .text-all .zeile-1,
	.banner-wrapper > .inner div.text .text-all .zeile-2 {	
	  font-size: inherit;
	  line-height: inherit;	 
	  padding-left: 0;
	  margin-top: 0;
	}
	
		
	
}
@media (max-width: 640px) {
	.banner-wrapper .bp-slider-main .ein-slide {
		height: 300px;
	}
	.banner-wrapper > .inner div.text .text-all {
	  font-size: 22px;
	}
}
@media (max-width: 480px) {
	.banner-wrapper .bp-slider-main .ein-slide {
		height: 250px;
	}
}
@media (max-width: 360px) {
	.banner-wrapper > .inner div.text .text-all {
	  font-size: 20px;
	}
}





footer.footer {

}
footer.footer a,
footer.footer a:hover,
footer.footer a:focus{	

}




footer.footer .bg-grau a {
  color: #fff;
}
footer.footer .bg-grau a:hover, 
footer.footer .bg-grau a:focus {
  color: #f4cf32;
}


footer.footer .footer-main-wrapper .logo {
  float: left;
  width: 30%;
}
footer.footer .footer-main-wrapper .logo img {
	max-width: 250px;
}


footer.footer .footer-main-wrapper .adresse-oeffnungszeiten {
  float: left;
  width: 30%;
}


footer.footer .footer-main-wrapper .adresse-oeffnungszeiten li.adresse {
	position: relative;
	height: 52px;
	padding-left: 40px;
}
footer.footer .footer-main-wrapper .adresse-oeffnungszeiten li.adresse::before {
	font-family: icomoon;
	content: "\e90a";
	position: absolute;
	left: 0;
	top: 8px;
	font-size: 30px;
	display: block;
	line-height: 30px;

}

footer.footer .footer-main-wrapper .adresse-oeffnungszeiten li.oeffnungszeiten {
	margin-top: 20px;
	position: relative;
	height: 52px;
	padding-left: 40px;
}

footer.footer .footer-main-wrapper .adresse-oeffnungszeiten li.oeffnungszeiten::before {
	font-family: icomoon;
	content: "\e906";
	position: absolute;
	left: 0;
	top: 8px;
	font-size: 30px;
	display: block;
	line-height: 30px;

}


footer.footer .footer-main-wrapper .tel-mail {
  float: left;
  width: 20%;
}

footer.footer .footer-main-wrapper .tel-mail li.tel {
	position: relative;
	height: 52px;
	padding-left: 40px;
	display: flex;
	align-items: center;
}
footer.footer .footer-main-wrapper .tel-mail li.tel::before {
	font-family: icomoon;
	content: "\e90c";
	position: absolute;
	left: 0;
	top: 8px;
	font-size: 30px;
	display: block;
	line-height: 30px;
}
footer.footer .footer-main-wrapper .tel-mail li.mail {
	margin-top: 20px;
	position: relative;
	height: 52px;
	padding-left: 40px;
	display: flex;
	align-items: center;
}
footer.footer .footer-main-wrapper .tel-mail li.mail::before {
	font-family: icomoon;
	content: "\e904";
	position: absolute;
	left: 0;
	top: 8px;
	font-size: 30px;
	display: block;
	line-height: 30px;

}

footer.footer .footer-main-wrapper .downloads {
  float: left;
  width: 20%;
  text-align: right;
}

footer.footer .footer-main-wrapper .downloads a.download-button {
  color: #f4cf32;
  border: 2px solid #f4cf32;
  padding: 15px 30px;
  border-radius: 10px;
  display: inline-block;
}
footer.footer .footer-main-wrapper .downloads a.download-button:hover {
  color: #fff;
  border: 2px solid #fff;
}




footer.footer .footer-rechtliches-bankverbindungen {
	padding: 10px 0;
	font-size: 18px;
	line-height: 1.4;
}

footer.footer .footer-rechtliches-bankverbindungen .rechtliches {
  float: left;
}


footer.footer .footer-rechtliches-bankverbindungen .rechtliches nav ul {
  text-align: center;
}
footer.footer .footer-rechtliches-bankverbindungen .rechtliches nav ul > li {
  display: inline-block;
  margin-left: 15px;
}
footer.footer .footer-rechtliches-bankverbindungen .rechtliches nav ul > li:first-child {
  margin-left: 0;
}
footer.footer .footer-rechtliches-bankverbindungen .rechtliches nav ul > li a {
	color: #fff;
}
footer.footer .footer-rechtliches-bankverbindungen .rechtliches nav ul > li a:hover {
	color: #000;
}

footer.footer .footer-rechtliches-bankverbindungen .bankverbindungen {
  float: right;
}
footer.footer .footer-rechtliches-bankverbindungen .bankverbindungen .eine-bankverbindung {
  margin-left: 20px;
}
footer.footer .footer-rechtliches-bankverbindungen .bankverbindungen .eine-bankverbindung:first-child {
  margin-left: 0;
}



@media (max-width: 1279px) {
	footer.footer .footer-rechtliches-bankverbindungen {
	  font-size: 16px;
	}
}
@media (max-width: 1023px) {
	footer.footer .footer-main-wrapper .logo {
	  float: none;
	  width: 260px;
	  margin: 0 auto;
	}
	footer.footer .footer-main-wrapper .logo img {
		max-width: 260px;
	}
	footer.footer .footer-main-wrapper .adresse-oeffnungszeiten {
		float: none;
		width: 260px;
		margin: 35px auto;
	}
	footer.footer .footer-main-wrapper .tel-mail {
		float: none;
		width: 260px;
		margin: 0 auto;
	}
	footer.footer .footer-main-wrapper .downloads {
		float: none;
		width: 260px;
		text-align: left;
		margin: 50px auto;
	}
	footer.footer .footer-main-wrapper .downloads a.download-button {
		width: 260px;
		text-align: center;
	}
	
	
	footer.footer .footer-rechtliches-bankverbindungen .rechtliches {
		float: none;
		text-align: center;
	}
	footer.footer .footer-rechtliches-bankverbindungen .bankverbindungen {
	  float: none;
	  text-align: center;
	  margin-top: 15px;
	}
	footer.footer .footer-rechtliches-bankverbindungen .bankverbindungen .eine-bankverbindung {
		margin-left: 20px;
		display: block;
		margin: 5px 0;
	}
}
@media (max-width: 768px) {

}
@media (max-width: 640px) {
	footer.footer .footer-rechtliches-bankverbindungen .bankverbindungen .eine-bankverbindung {
		font-size: 12px;
	}
}






/** 357 Web **/
#cpnb a#cpnb-decline-btn {
    display: none !important;
}

@media (max-width: 1023px) {
	.cpnb-m-cookies-floatButton.cpnb-m-cookies-floatButtonPosition_bottom_left {
		display: none;
	}
}
