
main .sidebar {
  float: left;
  width: 280px;
  margin-right: 20px;
}
main .komponente-wrapper {
  float: right;
  width: calc(100% - 300px);
}













header.header {

}
header.header .header-main {
  position: relative;
}
header.header.slider-nein .header-main {
  padding: 15px;
}
header.header .logo {
  width: 240px;
  z-index: 1001;  
}
header.header.slider-ja .logo {
  margin-top: -50px;
  position: absolute;
  bottom: 50px;
  left: 0;
  background-color: #fff;
  padding: 25px 50px;
  width: 400px;
  border-radius: 0 0 25px 0;
}
header.header.slider-nein .logo {
	margin-top: 0;
	position: relative;
	bottom: 0;
	left: 0;
}

header.header .logo a,
header.header .logo a:hover,
header.header .logo a:focus {
    display: block;
	line-height: 0;
	text-decoration: none;	
}





header.header .mod-languages .mod-languages__select.btn-group {
	display: block !important;
}
header.header .mod-languages .mod-languages__select.btn-group button.btn {
	padding: 5px 10px;
	border-radius: 0;
	background-color: #a80d2e;
	border: 1px solid #a80d2e;
}
header.header .mod-languages .dropdown-menu {
	padding: 0;
	border: 0 none;
	border-radius: 0;
}
header.header .mod-languages .dropdown-menu li {
	margin: 0;
	padding: 0;
}
header.header .mod-languages .dropdown-menu li a {
	padding: 5px 7px;
	display: block;
	background-color: #a80d2e;
	color: #fff;
}
header.header .mod-languages .dropdown-menu li a:hover, 
header.header .mod-languages .dropdown-menu li a:focus {
	padding: 5px 7px;
	display: block;
	background-color: #d30030;
	color: #fff;
}
header.header .mod-languages .dropdown-menu li.lang-active a {
	background-color: #d30030;
	color: #fff;
}
header.header .mod-languages .dropdown-menu li.lang-active a:focus, 
header.header .mod-languages .dropdown-menu li.lang-active a:hover {
	cursor: normal;
}
.menu-desktop {
  display: block;
  background-color: #d30030;
}
#bp-nav-trigger {
  display: none;
}

@media (max-width: 1279px) {

}
@media (max-width: 1023px) {
	nav.menu-desktop {
	  display: none;
	}
	#bp-nav-trigger {
	  display: block;
	  z-index: 99;
	}
	
	header.header.slider-nein .header-main, 
	header.header.slider-ja .header-main {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 60px;
		background-color: #fff;
		padding: 0;
		border-bottom: 1px solid #d30030;
		z-index: 1;
	}
	header.header.slider-ja .logo, 
	header.header.slider-nein .logo	{
		margin-top: 10px;
		bottom: inherit;
		left: 15px;
		top: 0;
		width: 173px;
		z-index: 2;
		padding: 0;
		border-radius: 0;
	}
	swiper.bp-swiper {
		margin-top: 60px;
	}
	
	
}
@media (max-width: 768px) {

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

}


nav.menu-desktop {
	text-align: center;
	position: relative;
}
nav.menu-desktop ul {
	display: block;
}
nav.menu-desktop ul > li {
  display: inline-block;
}
nav.menu-desktop ul > li a {
  color: #fff;
  display: block;
  padding: 20px 15px;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 400;
}
nav.menu-desktop ul > li a:hover {
  font-weight: 600;
}
nav.menu-desktop ul > li.current a {
  font-weight: 600;
}


.mod-languages {
	display: block;
    margin-top: -50px;
	margin-left: 20px;
	width: 150px;
}




/** mobiles Menü **/
#bp-nav-trigger {
  position: absolute;
  top: 0px;
  right: 0px;
  height: 50px;
  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: 30px;
  background: #d30030;
}
#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: #A80D2E;
}
.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%;
}
.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: #A80D2E;
}
#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: #d30030;
  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: #A80D2E;
}
.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);
}





#bp-mobile-navigation.nav-container .bp-nav-inner nav.menu-mobile ul.mod-menu {
  display: block;
}
#bp-mobile-navigation.nav-container .bp-nav-inner nav.menu-mobile ul.mod-menu > li {
  display: block;
  border-bottom: 1px solid #ccc;
}
#bp-mobile-navigation.nav-container .bp-nav-inner nav.menu-mobile ul.mod-menu > li a {
  display: block;
  text-decoration: none;
  padding: 15px 15px;
  font-size: 18px;
}


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













.bp-slider-main .ein-slide {
    height: 700px;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    background-position: center center;
}
.bp-slider-main .ein-slide .inner {    
    position: absolute;
    left: 3%;
    bottom: 100px;
    color: #fff;    
}
@media (max-width: 1279px) {
	.bp-slider-main .ein-slide {
		height: 600px;
	}
}
@media (max-width: 1023px) {
	.bp-slider-main .ein-slide {
		height: 500px;
	}
}
@media (max-width: 768px) {
	.bp-slider-main .ein-slide {
		height: 400px;
	}
}
@media (max-width: 640px) {
	.bp-slider-main .ein-slide {
		height: 300px;
	}
}
@media (max-width: 480px) {
	.bp-slider-main .ein-slide {
		height: 250px;
	}
}






footer.footer {

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

}


footer.footer .footer-main {
  background-color: #D30030;
  color: #fff;
  padding: 75px 0;
}
footer.footer .footer-main a {
  color: #fff;
  text-decoration: none;
}


footer.footer .footer-main .footer-logo {
	width: 360px;
	float: left;
	margin-left: 100px;
}

footer.footer .footer-main .footer-inhalt {
	float: right;
	margin-right: 100px;
}

footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li {
  float: left;
  padding-left: 50px;
  margin-left: 80px;
}
footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li:first-child {
  margin-left: 0;
}


footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li.adresse .firma {
  font-weight: 600;
  height: 35px;
  display: block;
}
footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li.adresse {
	position: relative;
}

footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li .daten {
  position: relative;
}

footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li.adresse .daten::before {
	font-family: icomoon;
	content: "\e901";
	font-size: 38px;
	line-height: 46px;
	position: absolute;
	left: -40px;
	top: 0px;
	color: #fff;  
}

footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li.tel {
	position: relative;
	margin-top: 35px;
}

footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li.tel .daten::before {
	font-family: icomoon;
	content: "\e902";  
	font-size: 38px;
	line-height: 46px;
	position: absolute;
	left: -44px;
	top: 0px;
	color: #fff;  
}

footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li.web {
	position: relative;
	margin-top: 35px;
}
footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li.web .daten::before {
	font-family: icomoon;
	content: "\e900";
	font-size: 38px;
	line-height: 46px;
	position: absolute;
	left: -46px;
	top: 0px;
	color: #fff;  
}



footer.footer .sub-footer {
  background-color: #A80D2E;
  text-align: center;
}
footer.footer .sub-footer nav ul {
  display: block;
}
footer.footer .sub-footer nav ul > li {
	display: inline-block;
}
footer.footer .sub-footer nav ul > li:first-child {
	
}
footer.footer .sub-footer nav ul > li a {
	display: block;
	color: #fff;
	padding: 10px 15px;
	text-decoration: none;
}
footer.footer .sub-footer nav ul > li.current a {
	font-weight: 600;
}

@media (max-width: 1600px) {
	footer.footer .footer-main .footer-logo {
		margin-left: 40px;
	}

	footer.footer .footer-main .footer-inhalt {
		margin-right: 40px;
	}

	footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li {
	  margin-left: 30px;
	}
}
@media (max-width: 1279px) {
	footer.footer .footer-main .footer-logo {
		width: 300px;
		margin-left: 25px;
	}

	footer.footer .footer-main .footer-inhalt {
		margin-right: 25px;
	}

	footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li {
	  margin-left: 15px;
	}
	
	footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li.adresse .firma {
	  height: 25px;
	}	
	footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li.adresse .daten::before {
	  font-size: 34px;
	  line-height: 44px;
	  left: -35px;
	}	
	footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li.tel {
		margin-top: 25px;
	}
	
	footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li.tel .daten::before {	
		font-size: 34px;
		line-height: 44px;
		left: -40px;
	}

	footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li.web {
		margin-top: 25px;
	}
	footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li.web .daten::before {
		font-size: 34px;
		line-height: 44px;
		left: -40px;
	}	
	
	
}
@media (max-width: 1023px) {
	footer.footer .footer-main .inner {
		width: 724px;
		margin-left: auto;
		margin-right: auto;
	}
	footer.footer .footer-main .footer-logo {
		float: none;
		width: 250px;
		margin-left: 0;
		margin-bottom: 35px;
	}
	footer.footer .footer-main .footer-inhalt {
		margin-right: 0;
		float: none;
	}
	footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li {
		float: none;
		padding-left: 40px;
		margin-left: 0;
	}
		
	footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li.adresse .daten::before {
		font-size: 34px;
		line-height: 44px;
		left: -42px;
	}	
	footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li.tel .daten::before {	
		font-size: 32px;
		line-height: 44px;
		left: -40px;
	}
	footer.footer .footer-main .footer-inhalt .footer-main-wrapper ul > li.web .daten::before {
		font-size: 32px;
		line-height: 44px;
		left: -40px;
	}	
	
}
@media (max-width: 768px) {
	footer.footer .footer-main .inner {
		width: 100%;
		padding-left: 15px;
		padding-right: 15px;
		box-sizing: border-box;
	}
	
	footer.footer .sub-footer {
		text-align: left;
	}
	footer.footer .sub-footer nav ul > li {
		display: block;
	}
}
@media (max-width: 640px) {

}






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


