:root
{
	--schriftfarbe: #4e4e4f;
	/* --buttonfarbe: #f60; */
	--buttonfarbe: rgb(0, 50, 160);
	--hauptFarbeTransparent: rgba(0, 50, 160,0.8);
	--hintergrundfarbe: #fff;
	--hintergrundfarbe2: #eee;
	--schriftfarbe2: #ABABAB;
	--footerBottomFarbe: #4E4E4F;
	--randFarbe: #e8e8e8;
	--kategorieSectionBildHintergrund: rgba(74,74,74,.5);
	--kategorieSectionTextFarbe: #fff;
}

*
{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	outline: 0;
}

html, body
{
	overflow-x: hidden;
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.4;
	font-weight: 400;
	color: var(--schriftfarbe);
	min-width: 320px;
	min-height: 100%;
	position: relative;
	width: 100%;
	background-color: var(--hintergrundfarbe);
	font-family: sans-serif;
}

html.lock
{
	overflow: hidden;
}

a
{
	text-decoration: none;
	color: var(--schriftfarbe);
}

svg
{
	overflow: hidden;
	vertical-align: middle;
}

section
{
	padding: 50px 0;
}

.button
{
	border-radius: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	text-decoration: none;
	font-weight: bold;
	font-size: 16px;
	text-transform: uppercase;
	height: 55px;
	transition: 0.4s;
	background: var(--buttonfarbe);
	color: #FFFFFF;
}

.button:hover
{
	opacity: .8;
}

/* !Slider Einstellungen */

.slider-block
{
	position: relative;
	width: 100%;
	display: inline-block;
}

.slider-bg
{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 490px;
	min-height: 490px;
	background-position: center;
	background-size: cover;
	z-index: 9;
	background-repeat: no-repeat;
	overflow: hidden;
	top: -15px;
}

.slick-slide, .sliderWrapper
{
	height: 490px;
	min-height: 490px;
	position: relative;
}

.slick-slide img
{
	height: 490px !important;
}

.slider
{
	width: 100%;
	margin: 0 auto;
}

.sliderWrapper .slick-dots
{
	bottom: 45px;
}

.slick-dots li button:before
{
	color: var(--hintergrundfarbe);
	opacity: 1;
	font-size: 20px;
	height: 20px;
	width: 20px;
	line-height: 20px;
}

.slick-dots li.slick-active button:before
{
	color: var(--buttonfarbe);
}

.sliderContainer > div:first-child
{
	z-index: 10;
}

.sliderContainer .slick-prev
{
	left: 25px;
}

.sliderContainer .slick-next
{
	right: 25px;
}

.sliderContainer .slick-next svg:hover path, .sliderContainer .slick-prev svg:hover path
{
	stroke: var(--buttonfarbe);
}

header
{
	border-bottom: solid 1px var(--schriftfarbe2);
}

/* !Oberer Header Design */

.header-top
{
	padding: 12px 0;
}

.header-top-telefon
{
	display: flex;
}

.header-top-telefon-icon
{
	flex: 0 0 15px;
	margin-right: 8px;
	padding-top: 4px;
}

.header-top-telefon span
{
	font-size: 10px;
	color: var(--schriftfarbe);
}

span.header-top-telefon-nummer
{
	font-size: 14px;
}

.header-top-wrapper, .header-center-wrapper
{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header-top-item
{
	display: flex;
	align-items: center;
}

.header-top-item-icon
{
	flex: 0 0 23px;
	height: 22px;
	margin-right: 12px;
}

.header-top-item p
{
	margin: 0;
	font-size: 10px;
	line-height: 130%;
	text-transform: uppercase;
	white-space: nowrap;
}

.header-top-item-icon svg,
.header-center-wrapper svg
{
	stroke: var(--buttonfarbe);
}

/* !Mittlerer Header Design */

.header-center
{
	background-color: var(--hintergrundfarbe2);
	padding: 25px 0;
}

.header-center-btn
{
	max-width: 160px;
	height: 30px;
	font-size: 12px;
}

.header-center-email
{
	display: flex;
	align-items: center;
}

.header-center-email span
{
	display: flex!important;
	flex: 0 0 15px;
	margin-right: 8px;
}

.header-center-email p
{
	font-size: 13px;
	line-height: 15px;
}

/* !Header Navigation */

.header-bottom
{
	padding: 28px 0;
}


.header-bottomWrapper
{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header-logo
{
	max-width: 150px;
	flex: 0 0 150px;
}

.header-logo svg
{
	width: 100%;
	height: auto;
	stroke: none !important;
}

.header-logo svg path:first-child,
.footerLogo svg path:first-child
{
	/* fill: var(--buttonfarbe) !important; */
}

.header-logo svg path:not(:first-child),
.footerLogo svg path:not(:first-child)
{
	/* fill: var(--schriftfarbe) !important; */
}

.header-menu-list
{
	display: flex;
	align-items: center;
}

.header-menu-list li
{
	list-style-type: none;
}

.header-menu-list li:not(:last-child)
{
	margin-right: 20px;
}

.header-menu-list li a
{
	font-size: 14px;
	text-transform: uppercase;
	color: var(--schriftfarbe);
	font-weight: 700;
}

.header-menu-list li a:hover
{
	color: var(--buttonfarbe);
}

.header-right-block
{
	display: flex;

}

.header-cart
{
	position: relative;
	margin: 0 20px;
}

.header-cart:hover svg
{
	stroke: var(--buttonfarbe);
}


.header-cart-count
{
	background: var(--buttonfarbe);
	color: #fff;
	text-align: center;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	line-height: 20px;
	position: absolute;
	font-size: 12px;
	right: -5px;
	top: -5px;
}

.header-burger svg
{
	stroke: var(--buttonfarbe);
	cursor: pointer;
	stroke-width: 2;
	display: none;
}

/* !Header Menu */
.header-menu-wrapper
{
	display: flex;
	position: absolute;
	right: -120vw;
	top: 0;
	z-index: 101;
	background: #F5F5F5;
	max-width: 100%;
	width: 100%;
	height: 100vh;
	overflow-y: scroll;
	overflow-x: hidden;
	transition: 0.8s;
}

.header-menu-wrapper.show
{
	right: 0px !important;
}

.header-menu-left
{
	min-height: 1037px;
	max-width: 18%;
	width: 100%;
	padding: 100px 25px;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background: rgba(0, 0, 0, 0.2);
	display: none;
}

.header-menu-right
{
	/* max-width: 82%; */
	width: 100%;
	/* padding-right: 18%; */
	position: relative;
}

.header-menu-right > .header-menu-container > .header-menu-subContainer > span
{
	font-weight: 700;
	font-size: 53px;
	color: var(--buttonfarbe);
	line-height: 100%;
	margin-bottom: 15px;
	/* display: block; */
	display: none;
}

.header-menu-right > .header-menu-container > .header-menu-subContainer > a
{
	display: block;
	font-weight: 700;
	font-size: 30px;
	text-transform: uppercase;
	color: var(--buttonfarbe);
	margin-bottom: 26px;
}

.header-menu-close
{
	position: absolute;
	right: 3%;
	top: 5%;
	cursor: pointer;
	transition: 0.4s;
	cursor: pointer;
}

.header-menu-close:hover
{
	transform: scale(1.1);
}


.header-menu-close svg
{
	stroke: var(--buttonfarbe);
	height: 40px;
	width: 40px;
}

.mobileCloseMenuIcon
{
	display: none;
}

.header-menu-container
{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.header-menu-container > div
{
	padding: 90px 95px;
	flex: 0 0 50%;
	max-width: 50%;
	width: 100%;
}

.header-menu-container > div:first-child
{
	/* border-bottom: 1px solid var(--buttonfarbe);
	border-right: 1px solid var(--buttonfarbe); */
}

.header-menu-container > div:nth-child(2)
{
	/* border-bottom: 1px solid var(--buttonfarbe); */
}


.header-menu-container > div:nth-child(3)
{
	/* border-right: 1px solid var(--buttonfarbe); */
}





.aktion-banner
{
	background: var(--buttonfarbe);
	display: block;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	padding: 12px;
	min-height: 40px;
	margin-top: -1px;
	padding-bottom: 0;
}

.aktion-banner > div
{
	max-width: 1354px;
	margin: 0 auto;
	display: flex;
	width: 100%;
	justify-content: space-between;
}

.aktion-banner > div > span
{
	padding-bottom: 12px;
	display: inline-block;
}

.aktion-banner a
{
	color: #fff;
	text-transform: uppercase;
	padding-bottom: 12px;
}

.container
{
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}

.page_title
{
	padding-bottom: 45px;
	text-align: center;
}

.page_title span
{
	font-family: Roboto;
	font-style: normal;
	font-weight: bold;
	font-size: 30px;
	line-height: 35px;
	letter-spacing: 0.005em;
	color: var(--buttonfarbe);
}

.page_title p
{
	font-family: Roboto;
	font-style: normal;
	font-weight: normal;
	font-size: 18px;
	line-height: 21px;
	letter-spacing: 0.005em;
	color: var(--schriftfarbe2);
	margin: 8px 0 0 0;
}

.unsere_produkte_wrapper, .newsBlock_wrapper
{
	display: flex;
	flex-wrap: wrap;
	margin-left: -15px;
	margin-right: -15px;
	justify-content: space-between;
}

.unsere_produkte_wrapper > div
{
	flex: 0 0 33.333333%;
	max-width: 33.333333%;
	position: relative;
	width: 100%;
	min-height: 1px;
	padding-right: 15px;
	padding-left: 15px;
	margin-bottom: 35px;
}

.produkt_block
{
	position: relative;
	margin-bottom: 0;
}

.produkt_block .produkt_block_image
{
	height: 100%;
	min-height: 211px;
	background-size: cover;
	background-position: center;
	border-radius: 30px;
}

.produkt_block span
{
	position: absolute;
	top: 0;
	bottom: 0;
	margin-top: auto;
	margin-bottom: auto;
	height: 20px;
	width: 100%;
	text-align: center;
	font-family: Roboto;
	font-style: normal;
	font-weight: bold;
	font-size: 18px;
	line-height: 21px;
	letter-spacing: 0.005em;
	color: #FFFFFF;
	z-index: 11;
}

.produkt_block .produkt_block_image:before
{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0.5;
	transition: all .4s ease;
	z-index: 10;
	border-radius: 30px;
}

.produkt_block .produkt_block_image:hover:before
{
	opacity: 1;
}

section.wiesowir
{
	background-color: var(--hintergrundfarbe2);
}

.wiesowir_wrapper
{
	display: flex;
	flex-wrap: wrap;
	margin-left: -15px;
	margin-right: -15px;
	column-gap: 15px;
	justify-content: center;
}

.wiesowir_block
{
	display: flex;
	align-items: center;
	flex: 0 0 30%;
	max-width: 30%;
	margin-bottom: 50px;
	background-color: var(--hintergrundfarbe);
	border-radius: 30px;
	box-shadow: 0px 0px 10px rgb(0 0 0 / 10%);
}

.wiesowir_block_icon
{
	max-width: 65px;
	width: 100%;
	height: 65px;
	background: #FFFFFF;
	border-radius: 50%;
	position: relative;
	margin-right: 10px;
}

.wiesowir_block_icon svg
{
	position: absolute;
	top: 0;
	bottom: 0;
	margin-top: auto;
	margin-bottom: auto;
	margin-left: auto;
	margin-right: auto;
	left: 0;
	right: 0;
	width: 35px;
	height: 35px;
}

.wiesowir_block_icon svg
{
	stroke: var(--buttonfarbe);
}

.wiesowir_text
{
	max-width: 246px;
	width: 100%;
}

.wiesowir_text span
{
	font-family: Roboto;
	font-style: normal;
	font-weight: normal;
	font-size: 18px;
	line-height: 130%;
	color: #4E4E4F;
}

.gallerie_wrapper
{
	padding: 0 55px;
}

.gallerieSliderContainer .slick-list
{
	margin-left: -7.5px;
	margin-right: -7.5px;

}

.gallerieSliderContainer .slick-slide
{
	margin: 0 7.5px;
}

.gallerieSliderContainer .slick-prev
{
	left: -60px;
	z-index: 9;
}

.gallerieSliderContainer .slick-next
{
	right: -60px;
	z-index: 9;
}

.gallerieSliderBlock
{
	position: relative;
}

.gallerieSliderItem img
{
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.gallerie_wrapper .slick-slide .gallerieSliderBlock:before
{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0;
	transition: all .4s ease;
	z-index: 10;
}

.gallerie_wrapper .slick-slide .gallerieSliderBlock:hover:before
{
	opacity: 1;
}

.gallerieFooter
{
	background: var(--buttonfarbe);
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 11;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	line-height: 50px;
	opacity: 0;
	transition: all .4s ease;
}

.gallerieFooter svg
{
	stroke: var(--hintergrundfarbe);
	stroke-width: 2;
}

.gallerie_wrapper .slick-slide .gallerieSliderBlock:hover .gallerieFooter
{
	opacity: 1;
}

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box;
}

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}

.mfp-preloader a {
  color: #CCC;
}

.mfp-preloader a:hover {
  color: #FFF;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
}

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1;
}

.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent;
}

.mfp-arrow:active {
  margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1;
}

.mfp-arrow:before,
.mfp-arrow:after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}

.mfp-arrow-left {
  left: 0;
}

.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px;
}

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
  right: 0;
}

.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px;
}

.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}

.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444;
}

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px;
}

.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

.gallerieSliderContainer .slick-arrow svg
{
	stroke: var(--schriftfarbe);
	height: 35px;
	width: 35px;
	stroke-width: 3;
}

.gallerieSliderContainer .slick-arrow:hover svg
{
	stroke: var(--buttonfarbe);
}

section.news
{
	background-color: var(--hintergrundfarbe);
}

.newsBlock_wrapper > div
{
	flex: 0 0 49%;
	max-width: 49%;
	position: relative;
	width: 100%;
	min-height: 1px;
	padding-right: 15px;
	padding-left: 15px;
	margin-bottom: 0;
}

.news_block
{
	align-items: center;
	display: flex;
	padding-left: 15px;
}

.newsBlock_wrapper .news_block:nth-child(1)
{
	padding: 30px 15px;
	border-right: 1px solid var(--buttonfarbe);
}

/* .newsBlock_wrapper .news_block:nth-last-child(-n+2)
{
	padding:0px 15px;
} */

.news_img
{
	margin-right: 30px;
	min-width: 200px;
}

.news_info h5
{
	font-family: Roboto;
	font-style: normal;
	font-weight: normal;
	font-size: 18px;
	line-height: 130%;
	color: var(--schriftfarbe);
	margin-bottom: 20px;
	max-width: 250px;
	height: 45px;
	border: none;
	overflow: hidden;
}

.news_info h5 a
{
	color: var(--schriftfarbe);
}

.news_info a.link
{
	font-family: Roboto;
	font-style: normal;
	font-weight: normal;
	font-size: 18px;
	line-height: 21px;
	letter-spacing: 0.005em;
	color: var(--buttonfarbe);
	display: flex;
	align-items: baseline;
}

.news_info a.link svg
{
	width: 19px;
	height: 15px;
	margin-right: 10px;
	vertical-align: middle;
	stroke-width: 2;
}

.newsletter .page_title span
{
	font-size: 26px;
}

.newsletterContainer
{
	display: flex;
}

.newsletterContainer > div
{
	flex: 0 0 50%;
	max-width: 50%;
}

.form_fields
{
	position: relative;
}

.email_wrapper
{
	position: relative;
	margin-bottom: 0px;
}

.form_fields input, form textarea
{
	height: 2.5rem;
	margin: 0 0 1.6875rem;
	transition: box-shadow 0.5s,border-color 0.25s ease-in-out;
}

.form_fields input[type=email]
{
	background: #F5F5F5;
	border-radius: 30px;
	width: 100%;
	border: 0;
	padding: 26px 32px;
	font-family: Roboto;
	font-style: normal;
	font-weight: normal;
	font-size: 13px;
	line-height: 15px;
	color: var(--schriftfarbe2);
	margin-bottom: 0;
}

.form_submit_wrapper
{
	position: absolute!important;
	width: 85%!important;
	right: -43%!important;
	margin-top: -52px!important;
}

.form_fields input[type=submit]
{
	background: var(--buttonfarbe);
	border-radius: 0px 30px 30px 0px;
	width: 50%;
	border: 0;
	height: 52px;
	margin-bottom: 0;
	font-family: Roboto;
	font-style: normal;
	font-weight: bold;
	font-size: 16px;
	line-height: 19px;
	letter-spacing: 0.005em;
	text-transform: uppercase;
	color: #FFFFFF;
	cursor: pointer;
}

footer
{
	background-color: var(--hintergrundfarbe2);
	padding: 50px 0 50px 0;
}

.footerWrapper
{
	display: flex;
}

.footerWrapper > .footerColumn
{
	flex: 0 0 25%;
	max-width: 25%;
}

.footerLogo
{
}

.footerLogo svg
{
	transform: scale(50%);
}

.footer_menu
{
	margin-top: 10px;
}

.footer_menu li
{
	list-style-type: none;
}

.footer_menu li:not(:last-child)
{
	margin-bottom: 10px;
}

.footer_menu li a
{
	font-family: Roboto;
	font-style: normal;
	font-weight: normal;
	font-size: 16px;
	line-height: 19px;
	letter-spacing: 0.005em;
	color: var(--schriftfarbe);
}

.footer_menu li a:hover
{
	color: var(--buttonfarbe);
}

.footer_menu li
{
	font-family: Roboto;
	font-style: normal;
	font-weight: normal;
	font-size: 16px;
	line-height: 19px;
	letter-spacing: 0.005em;
	color: var(--schriftfarbe);
}

.footer_menu_last li
{
	display: inline-block;
	position: relative;
}

.footer_menu_last li:first-child
{
	padding-right: 10px;
}

.footer_menu_last li:first-child:after
{
	content: '|';
	color: var(--schriftfarbe);
	position: absolute;
	right: 0;
}

.footer_menu_last li:last-child
{
	padding-left: 4px;
}

.footer_bottom
{
	background-color: var(--buttonfarbe);
	margin-top: 0px;
	padding: 18px 0;
	color: var(--hintergrundfarbe);
}

.footer_bottom span a
{
	color: var(--hintergrundfarbe);
}

.footer_bottom span a:hover
{
	color: var(--schriftfarbe2);
}

.breadcrumb_row
{
	line-height: 20px;
	margin-top: 20px;
	margin-bottom: 30px;
}

.breadcrumb_row > ul
{
	display: flex;
	flex-direction: row;
	gap: 20px;
	list-style-type: none;
}

.breadcrumb_row > ul > li
{
	position: relative;
	font-size: 16px;
}

.breadcrumb_row > ul > li:not(:last-child):after
{
	content: ">";
	width: 20px;
	position: absolute;
	right: -26px;
	color: var(--schriftfarbe);
	font-size: 14px;
}

strong.ueberschrifth2,
strong.ueberschrifth3
{
	margin-bottom: .5rem;
	line-height: 1.3em;
	font-size: 2rem;
	font-weight: 500;
}

strong.ueberschrifth2 + p,
strong.ueberschrifth3 + p
{
	margin-bottom: 1rem;
	font-family: Roboto;
	font-style: normal;
	font-weight: normal;
	font-size: 16px;
	line-height: 24px;
	color: var(--schriftfarbe);
	margin-top: 10px;
}

#page ul li,
#page ol li,
#page p.datenschutz
{
	font-weight: 300;
	font-size: 14px;
	line-height: 22px;
	color: var(--schriftfarbe);
}

.product-main-block
{
	display: flex;
}

.product-main-block > div
{
	flex: 0 0 50%;
	max-width: 50%;
}

.productMainImage
{
	overflow: hidden;
	max-height: 510px;
	margin-bottom: 5px;
}

.productMainImage img
{
	max-width: 100%;
	object-fit: cover;
	object-position: center center;
}

.productThumbnails
{
	display: flex;
	overflow: auto;
}

.productThumbnails > div
{
	margin: 0 5px;
	width: 120px;
	min-width: 120px;
	height: 90px;
	overflow: hidden;
	border: 0;
}

.productThumbnails img
{
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: 100%;
	object-fit: cover;
}

.productInfoBlock
{
	padding: 0px 20px;
}

.produktPreisSpan
{
	font-size: 22px;
	font-weight: 700;
	color: #417505;
}

.produktPreisSpan.alterPreis
{
	text-decoration: line-through;
	color: var(--schriftfarbe);
}

.productDeliveryInfo
{
	display: block;
	margin-top: 10px;
	line-height: 1.3;
	padding-bottom: 15px;
}

.productDeliveryInfo div
{
	display: flex;
	align-items: center;
}

.productDeliveryInfo div svg
{
	width: 35px;
	height: auto;
	margin-right: 10px;
	stroke-width: 1;
	stroke: var(--schriftfarbe);
}

.product-variants-block
{
	padding-top: 20px;
}

accordion
{
	display: flex;
	flex-direction: column;
}

accordion ac-head
{
	position: relative;
	display: block;
	border-bottom: 1px solid var(--schriftfarbe2);
	cursor: pointer;
	transition: .2s border linear;
}

accordion ac-head::before, accordion ac-head::after
{
	position: absolute;
	background: var(--buttonfarbe);
	content: "";
	display: block;
	transform: translateY(-50%);
	top: 50%;
	width: 2px;
	height: 14px;
	right: 20px;
	transition: all .2s ease-in-out;
}

accordion ac-head::before
{
	transform: translateY(-50%) rotate(90deg);
}


accordion ac-head:hover
{
	border-bottom-color: var(--buttonfarbe);
}

accordion ac-head h3
{
	margin: 0;
	padding: 10px;
	font-size: 20px;
}

.variantenContainer, form.addToCart
{
	display: flex;
	flex-wrap: wrap;
	width: 50%;
	gap: 20px;
	margin-top: 30px;
	row-gap: 30px;
}

form.addToCart
{
	width: 100%;
}

.variantenContainer > .input-field, .variantenContainer > .select-field, 
form.addToCart > .input-field, form.addToCart > .select-field, .input-field
{
	flex: 0 0 calc(50% - 20px);
	position: relative;
	border: 1px solid var(--randFarbe);
	height: 50px;
	padding: 0;
	margin: 0;
	width: 100%;
}

form.addToCart > .checkboxGroup,
.variantenContainer > .checkboxGroup
{
	flex: 0 0 calc(100% - 20px);
	position: relative;
	padding: 0;
	margin: 0;
	width: 100%;
}

.checkbox-container
{
	display: flex;
    justify-content: left;
    height: 30px;
    flex-flow: row;
    align-items: center;
}

.checkbox-container > input
{
	margin: 0px;
	height: auto;
}

.checkbox-container > label
{
	margin-left: 7px;
}

.variantenContainer > .input-field[data-einheit]::after,
form.addToCart > .input-field[data-einheit]::after
{
	content: attr(data-einheit);
	right: 0px;
	top: 1px;
	position: absolute;
	color: var(--schriftfarbe2);
	height: calc(100% - 2px);
	width: 60px;
	display: flex;
	justify-content: center;
	border-left: 1px solid var(--randFarbe);
	align-items: center;
	border-radius: 0px 12px 12px 0px;
}

.input-field
{
	position: relative;
}

.input-field label, .select-field label
{
	position: absolute;
	top: -15px;
	left: 0px;
	font-size: 11px;
	line-height: 1;
}

input
{
	outline: unset;
	border-radius: 0;
	max-width: 100%;
	border: 0;
	padding: 0px;
	font-size: 16px;
	line-height: 1.6;
}

input[type=number]
{
	-webkit-appearance: textfield;
	-moz-appearance: textfield;
	appearance: textfield;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button
{
  -webkit-appearance: none;
  margin: 0;
}

.input-field input
{
	min-width: 49px;
	background: rgba(0,0,0,0);
	padding: 0 10px 0;
	transition: background .2s linear;
	width: 100%;
	font-weight: 200;
	height: 100%;
}

.input-field input[type=text]:read-only
{
	background: var(--randFarbe);
}

.select-field
{
	position: relative;
	border: 1px solid var(--randFarbe);
	height: 50px;
	padding: 0;
	margin: 0px;
	width: calc(100% - 20px);
	cursor: pointer;
	transition: background .5s linear;
	width: 100%;
}

.select-field select
{
	width: 100%;
	display: none;
}

.select-field div.selected
{
	padding: 5px 5px 6px 10px;
	transition: .2s transform linear,.2s filter linear;
	display: flex;
	align-items: center;
	height: 100%;
}

.select-field ul
{
	display: none;
	z-index: 5;
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: #fff;
	border: 1px solid var(--randFarbe);
	margin: 0 -1px;
	max-height: 330px;
	overflow-y: auto;
	pointer-events: auto;
}

.select-field ul li
{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	height: 50px;
	line-height: 1;
	background: var(--randFarbe);
	cursor: pointer;
	border: 1px solid var(--randFarbe);
	pointer-events: auto;
}

.select-field ul li.selected
{
	border: 1px solid var(--buttonfarbe);
}

.select-field ul li:hover
{
	background: var(--hintergrundfarbe);
}

.select-field ul li .main
{
	padding: 0 10px;
	flex: auto;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: normal;
}

.select-field[selectWithImage] label
{
	left: 0px ;
}

.selectImage
{
	margin: 0px 0 0 -10px;
	height: 48px;
}

.selectImage img, .selectListImage img
{
	display: block;
	height: 48px;
	width: 48px;
	object-fit: cover;
}

.selectImage + .main
{
	padding: 0px 12px;
}

.selectListImage
{
	min-width: 50px;
	overflow: hidden;
}

ac-navigation
{
	display: flex;
	justify-content: space-between;
	height: 80px;
	padding: 10px 10px 20px;
	border-bottom: 1px solid var(--randFarbe);
}

ac-navigation > button
{
	display: block;
	position: relative;
	padding: 9px 15px;
	border-radius: 0;
	font-size: 16px;
	letter-spacing: 1px;
	width: auto;
	background: var(--hintergrundfarbe);
	color: var(--schriftfarbe);
	border: 1px solid var(--randFarbe);
	transition: .2s all linear;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
	cursor: pointer;
	text-transform: uppercase;
	min-height: 44px;
	line-height: 1.9;
}

ac-navigation > button:hover
{
	background-color: var(--buttonfarbe);
	color: var(--hintergrundfarbe);
}

.product-variants-block accordion:first-child ac-navigation
{
	justify-content: right !important;
}

accordion ac-body
{
	transition: all .4s ease-in-out;
	visibility: visible;
	opacity: 1;
	max-height: auto;
}

accordion[data-open="false"] ac-body, accordion[data-open="false"] ac-navigation
{
	visibility: hidden;
	opacity: 0;
	max-height: 0;
	padding: 0;
}

accordion[data-open="true"] ac-head
{
	border-bottom-color: transparent;
}

accordion[data-open="true"] ac-head:hover
{
	border-bottom-color: var(--buttonfarbe);
}


accordion[data-open="true"] ac-head::after
{
	display: none !important;
}

.variantenBoxGruppe
{
	display: flex;
	/* flex-direction: column; */
	column-gap: 20px;
	row-gap: 20px;
	border: 1px solid var(--randFarbe);
	padding: 10px;
	width: 100%;
	flex-wrap: wrap;
}

.variantenBoxGruppe .select-field
{
	flex: 0 0 calc(50% - 20px);
	position: relative;
	border: 1px solid var(--randFarbe);
	height: 50px;
	padding: 0;
	margin: 0;
	width: 100%;
}

.variantBoxTitle
{
	flex: 0 0 100%;
}

.product-tabs
{
	width: 70%;
	padding-top: 50px;
}

.product-tabs nav
{
	display: flex;
	white-space: nowrap;
	overflow-y: hidden;
	overflow-x: auto;
}

.product-tabs nav label
{
	cursor: pointer;
	padding: 15px 30px;
	border: 0;
	color: var(--schriftfarbe);
	transition: .2s color linear,.2s border-bottom linear;
}

.product-tabs input
{
	display: none;
}

.tab-text-container > div
{
	display: none!important;
	margin: 0!important;
	padding: 20px;
	width: 100%;
}

.product-tabs #tab-1:checked~.tab-text-container .tab-1,
.product-tabs #tab-2:checked~.tab-text-container .tab-2,
.product-tabs #tab-3:checked~.tab-text-container .tab-3,
.product-tabs #tab-4:checked~.tab-text-container .tab-4,
.product-tabs #tab-5:checked~.tab-text-container .tab-5,
.product-tabs #tab-6:checked~.tab-text-container .tab-6,
.product-tabs #tab-7:checked~.tab-text-container .tab-7,
.product-tabs #tab-8:checked~.tab-text-container .tab-8,
.product-tabs #tab-9:checked~.tab-text-container .tab-9
{
	display: block!important;
}

.product-tabs #tab-1:checked~nav label[for=tab-1],
.product-tabs #tab-2:checked~nav label[for=tab-2],
.product-tabs #tab-3:checked~nav label[for=tab-3],
.product-tabs #tab-4:checked~nav label[for=tab-4],
.product-tabs #tab-5:checked~nav label[for=tab-5],
.product-tabs #tab-6:checked~nav label[for=tab-6],
.product-tabs #tab-7:checked~nav label[for=tab-7],
.product-tabs #tab-8:checked~nav label[for=tab-8],
.product-tabs #tab-9:checked~nav label[for=tab-9]
{
	position: relative;
	color: var(--buttonfarbe);
}

.product-tabs #tab-1:checked~nav label[for=tab-1]:after,
.product-tabs #tab-2:checked~nav label[for=tab-2]:after,
.product-tabs #tab-3:checked~nav label[for=tab-3]:after,
.product-tabs #tab-4:checked~nav label[for=tab-4]:after,
.product-tabs #tab-5:checked~nav label[for=tab-5]:after,
.product-tabs #tab-6:checked~nav label[for=tab-6]:after,
.product-tabs #tab-7:checked~nav label[for=tab-7]:after,
.product-tabs #tab-8:checked~nav label[for=tab-8]:after,
.product-tabs #tab-9:checked~nav label[for=tab-9]:after
{
	content: "";
	display: block;
	position: absolute;
	height: 2px;
	width: 100%;
	background: var(--buttonfarbe);
	left: 0;
	bottom: -1px;
	z-index: 1;
}

.tab-text-container
{
	border-top: solid var(--randFarbe);
	border-width: 1px 0 0;
}

.selected .main
{
	font-weight: 200;
}

.warenkorbRow
{
	display: grid;
	align-items: center;
	grid-template-columns: 160px 31% 10% 10% 10% 5%;
	grid-gap: 30px;
	justify-content: space-between;
	padding: 30px 0;
	border-bottom: 1px solid var(--randFarbe);
}

.warenkorbThumbnail img
{
	max-width: 100%;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain;
	padding: 0 !important;
	margin: 0;
}

.warenkorbProductQuantity .quantity 
{
	align-items: center;
	display: flex;
}

.warenkorbProductQuantity .quantity .btn_minus
{
	margin-left: 0;
	margin-right: 15px;
	cursor: pointer;
}

.warenkorbProductQuantity .quantity .btn_plus
{
	margin-right: 0;
	margin-left: 15px;
	cursor: pointer;
}

.warenkorbProductQuantity .quantity svg,
.warenkorbProductRemove svg
{
	stroke: var(--schriftfarbe2);
}

.warenkorbProductQuantity .quantity input[type=number]
{
	background: var(--hintergrundfarbe2);
	border: 0;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	padding: 10px;
	font-weight: bold;
	font-size: 18px;
	line-height: 21px;
	color: var(--schriftfarbe);
	-moz-appearance: textfield;
	appearance: textfield;
	text-align: center;
	margin: 0;
	vertical-align: middle;
}

/* Chrome, Safari, Edge, Opera */
.warenkorbProductQuantity .quantity input::-webkit-outer-spin-button,
.warenkorbProductQuantity .quantity input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.warenkorbErgebnisRow
{
	display: block;
	border-bottom: 0;
}

.warenkorbErgebnisRowWrapper
{
	display: flex;
	justify-content: end;
	width: 100%;
}

.warenkorbGesamtSummeContainer
{
	display: block;
	width: 30%;
	font-size: 14px !important;
	line-height: 16px;
}

.warenkorbGesamtSummeRow
{
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.warenkorbProductRemove svg
{
	cursor: pointer;
}

.warenkorbRabattRow
{
	color: #da0b0b;
	font-weight: 400;
}

.warenkorbGesamtRow
{
	font-weight: bold;
	line-height: 20px;
}

.warenkorbGesamtRow > .warenkorbGesamtSumme
{
	font-size: 16px;
}

.warenkorbGesamtSummeRow
{
	padding-bottom: 10px;
}

.product-cart-row
{
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	overflow: hidden;
}

.product-menge
{
	display: flex;
	align-items: center;
	max-width: 100px;
	flex-basis: 100px;
}

.product-menge input
{
	text-align: center;
	padding: 0;
	margin: 0;
}

.product-menge label
{
	text-align: center;
	width: 100%;
	left: unset;
	top: 5px;
	display: none;
}

.product-cart-row .product-menge span
{
	width: 25px;
	text-align: center;
	height: 100%;
	font-size: 20px;
	padding-top: 14px;
	line-height: 1;
	cursor: pointer;
	background: #fff;
	color: var(--schriftfarbe);
	transition: .2s color linear,.2s background linear;
}

.product-cart-row .product-menge span:hover
{
	background: var(--buttonfarbe);
	color: #fff;
}

.product-cart-row .product-cart-submit
{
	min-width: 270px;
	margin: 0px 10px;
}


.product-cart-row .btn,
.konfigurator_preisanzeige-buttonContainer .btn,
.Kasse .btn,
.warenkorbGesamtSummeContainer .btn
{
	padding: 10px 30px 10px 20px;
	border: 1px solid var(--buttonfarbe);
	background: var(--buttonfarbe);
	color: #fff;
	height: 50px;
	display: flex;
	align-items: center;
	width: auto;
	text-decoration: none;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
	cursor: pointer;
	text-transform: uppercase;
	min-height: 44px;
	line-height: 1.9;
	border-radius: 0;
	font-size: 16px;
	letter-spacing: 1px;
	font-weight: 400;
}

.product-cart-row .btn:hover,
.konfigurator_preisanzeige-buttonContainer .btn:hover,
.Kasse .btn:hover,
.warenkorbGesamtSummeContainer .btn:hover
{
	opacity: .8;
}

.konfigurator_preisanzeige-buttonContainer .btn
{
	font-size: 12px;
	padding: 10px 15px 10px 20px;
	height: auto;
}

.warenkorbProductOptions
{
	font-size: 75%;
	font-weight: 100;
	line-height: 20px;
}

.kategorie-section-wrapper
{
	position: relative;
	overflow: hidden !important;
}

.kategorie-section-image
{
	height: 300px;
	width: 100%;
}

.kategorie-section-image img
{
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: cover;
	object-position: center center;
}

.kategorie-section-wrapper .kategorie-section-titel
{
	position: absolute;
	top: 0;
	height: 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-color: var(--kategorieSectionBildHintergrund);
}

.kategorie-section-wrapper .kategorie-section-titel h1
{
	color: var(--kategorieSectionTextFarbe);
	text-transform: uppercase;
	font-size: 36px;
}

.kategorie-main-section-wrapper
{
	display: flex;
	max-width: 1300px;
	width: 100%;
	flex-wrap: wrap;
}

.kategorie-main-section-left-col
{
	width: 300px;
	display: block;
	padding: 15px;
	margin: 0;
}

.kategorie-main-section-right-col
{
	width: calc(100% - 300px);
	padding: 15px;
}

.kategorie-artikelWrap
{
	display: flex;
	flex-wrap: wrap;
}

.kategorie-artikelWrap > .kategorieArtikelItem
{
	width: 33.3333333333%;
	padding: 10px;
	margin: 0;
	display: flex;
	flex-direction: column;
}

.kategorieArtikelItem-Link
{
	display: grid;
	grid-template: 
	"image image"
	"titel titel"
	"stichpunkte stichpunkte"
	"preis preis"
	"button grundpreis";
	border: 1px solid var(--randFarbe);
	grid-template-columns: 50% 50%;
	grid-template-rows: 180px 68px 0 32px 50px;
	transition: .2s background linear;
}

.kategorieArtikelItem-Link:hover
{
	cursor: pointer;
	opacity: 1;
}

.kategorieArtikelItem-Image
{
	grid-area: image;
	height: 100%;
}

.kategorieArtikelItem-Label
{
	grid-area: label;
}

.kategorieArtikelItem-titel
{
	grid-area: titel;
	margin: 10px;
	font-size: 16px;
	font-weight: 700;
	text-transform: none;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1;
}

.kategorieArtikelItem-ImageWrapper
{
	overflow: hidden;
	width: 100%;
	height: 100%;
	position: relative;
}

.kategorieArtikelItem-ImageWrapper img
{
	width: 100%;
	max-width: 100%;
	object-fit: cover;
	object-position: center center;
	height: 100%;
}

.kategorieArtikelItem-ImageWrapper .rabattBadge
{
	position: absolute;
	bottom: 0;
	right: 0;
	background-color: var(--hauptFarbeTransparent);
	color: #fff;
	padding: 5px 10px;
}

.kategorieArtikelItem-Bewertung
{
	grid-area: bewertung;
}

.kategorieArtikelItem-Stichpunkte
{
	grid-area: stichpunkte;
	padding: 0 10px;
	overflow: hidden;
	font-size: 12px !important;
	display: none;
}

.productStichpunkte
{
	padding-top: 15px;
}

.kategorieArtikelItem-Stichpunkte ul,
.productStichpunkte ul
{
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.kategorieArtikelItem-Stichpunkte ul li,
.productStichpunkte ul li
{
	position: relative;
	line-height: 19px!important;
	margin-left: 15px!important;
	font-size: inherit!important;
}

.kategorieArtikelItem-Stichpunkte ul li::before,
.productStichpunkte ul li::before
{
	content: "\25CF";
	position: absolute;
	top: 0px;
	left: -15px;
	color: var(--buttonfarbe);
}

.kategorieArtikelItem-Grundpreis
{
	grid-area: grundpreis;
	font-weight: 700;
	padding-right: 10px;
	display: flex;
	align-items: center;
	font-size: 80%;
	justify-content: flex-end;
}

.kategorieArtikelItem-Preis
{
	grid-area: preis;
	text-align: right;
	padding: 0 10px 0 0;
	font-size: 16px !important;
	font-weight: 700;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.kategorieArtikelItem-Button
{
	grid-area: button;
	padding: 10px 10px;
	margin: 0 5px;
	margin-bottom: 10px;
	font-size: 14px;
	text-align: center;
	transition: .2s background linear,.2s color linear;
	background-color: var(--buttonfarbe);
	color: var(--hintergrundfarbe);
	align-self: center;
}

.kategorieArtikelItem-Link:hover .kategorieArtikelItem-Button,
.kategorieArtikelItem-Button:hover
{
	background-color: var(--buttonfarbe);
	color: var(--hintergrundfarbe);
	opacity: .8;
}

.kategorieArtikelItem-Preis s
{
	color: var(--schriftfarbe2);
	display: block;
	line-height: 1;
}

.tab-text-container h1, .tab-text-container h2, .tab-text-container h3
{
	color: var(--buttonfarbe);
}

.breadcrumb_row a:hover
{
	color: var(--buttonfarbe);
}

.kategorie-main-section-left-colWrapper ul
{
	list-style-type: none;
}

.kategorie-main-section-left-colWrapper ul .kategorie-link-ItemWrapper
{
	cursor: pointer;
	margin: 7px 0 6px;
	padding: 0 9px;
	list-style: none;
	line-height: 24px;
	vertical-align: top;
}

.kategorie-main-section-left-colWrapper ul .kategorie-link-ItemWrapper strong
{
	color: var(--buttonfarbe);
}

.kategorie-main-section-left-titel
{
	font-weight: 700;
	color: var(--buttonfarbe);
}

.konfigurator_preisanzeige
{
	position: fixed;
	bottom: 0;
	left: 50%;
	transform: translate(-50%);
	width: 100%;
	max-width: 500px;
	min-height: 72px;
	background-color: var(--randFarbe);
	z-index: 5;
	border: 1px solid var(--schriftfarbe2);
	border-bottom-width: 0px;
}

.konfigurator_preisanzeigeWrapper
{
	display: flex;
	justify-content: space-evenly;
	align-items: center;
	min-height: 72px;
}

.konfigurator_preisanzeige-PreisContainer
{
	display: flex;
	flex-direction: column;
	align-items: end;
}

.tab-text-container p
{
	font-weight: 300;
	font-size: 14px !important;
}

.tab-text-container p a
{
	font-weight: 400;
	text-decoration: underline;
}

.productGrundpreis
{
	font-weight: 100;
}

.kategorie-Beschreibung
{
	margin-bottom: 20px;
}

.kategorie-Beschreibung h1,
.kategorie-Beschreibung h2,
.kategorie-Beschreibung h3
{
	color: var(--buttonfarbe);
}

.kategorie-Beschreibung h1
{
	padding-bottom: 18px;
	font-size: 18px;
}

.kategorie-Beschreibung h2
{
	padding: 20px 0;
	font-size: 16px;
}

.kategorie-Beschreibung h3
{
	padding: 20px 0;
	font-size: 14px;
}

.kategorie-Beschreibung p
{
	font-weight: 300;
}

.kategorie-Beschreibung ul,
.tab-text-container ul,
.tab-text-container ol
{
	padding: 10px 0;
	margin-left: 20px;
}

.kategorie-Beschreibung ul > li
{
	font-size: inherit !important;
}


.kategorie-Beschreibung ul > li:not(:last-child),
.tab-text-container ul > li:not(:last-child)
{
	margin-bottom: 5px;
}

.kategorie-Beschreibung p a,
.tab-text-container ul li a
{
	text-decoration: underline;
	font-weight: 400;
}

.tab-text-container h2, .tab-text-container h3
{
	padding: 20px 0px;
}

li[active] a
{
	color:var(--buttonfarbe);
}

.Kasse .Kassenav
{
	display: flex;
	gap: 20px;
	list-style-type: none;
}

.Kasse .Kassenav > li
{
	position: relative;
}

.Kasse .Kassenav > li:not(:last-child):after
{
	content: ">";
	position: absolute;
	right: -15px;

}

.Kasse .formWrapper
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.Kasse section
{
	padding-top: 30px;
}

.Kasse section h2
{
	padding-bottom: 15px;
}

.Kasse .btn
{
	height: 30px;
	font-size: 14px;
	padding: 5px 10px;
}

.Kasse .button-row
{
	display: flex;
	justify-content: right;
	grid-column: 1 / 3;
	padding-top: 10px;
}

.zahlungsartWrapper
{
	border-radius: 10px;
	border: 1px solid var(--randFarbe);
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.sectionRow
{
	flex-basis: 100%;
	height: 50px;
	border-bottom: 1px solid #ccc;
}

.sectionRow:last-child
{
	border-bottom: 0;
}

.sectionRow > .sectionRowWrapper
{
	height: 100%;
	display: flex;
}

.sectionRow > .sectionRowWrapper > .radioBox
{
	display: flex;
	flex-direction: row;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 0 10px;
}

.sectionRow > .sectionRowWrapper > .radioBox > label
{
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	gap: 10px;
}

.sectionRow > .sectionRowWrapper > .radioBox > label:hover
{
	cursor: pointer;
}

.Kasse .uebersichtContainer
{
	margin-top: 30px;
}

.Kasse .uebersichtContainerWrapper, .sectionTableWrapper
{
	border: 1px solid var(--randFarbe);
	border-radius: 10px;
	padding: 10px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	row-gap: 10px;
}

.Kasse .uebersichtContainerWrapper > .uebersichtContainerRow
{
	display: flex;
	justify-content: space-between;
	margin: 0px 10px;
	flex-basis: 100%;
	column-gap: 10px;
	font-size: 13px;
}

.Kasse .uebersichtContainerWrapper > .uebersichtContainerRow:not(:last-child)
{
	border-bottom: 1px solid var(--randFarbe);
	padding-bottom: 10px;
}

.Kasse .uebersichtContainerWrapper > .uebersichtContainerRow > .containerRowBeschreibung
{
	color: var(--schriftfarbe2);
	font-weight: 400;
	flex-basis: 150px;
	min-width: 150px;
}

.Kasse .uebersichtContainerWrapper > .uebersichtContainerRow > .containerRowInhalt
{
	/* padding: 0 10px; */
	flex-basis: -webkit-fill-available;
	flex-basis: fill;
}

.Kasse .uebersichtContainerWrapper > .uebersichtContainerRow > a
{
	color: var(--buttonfarbe);
	cursor: pointer;
	flex-basis: 100px;
	display: flex;
	justify-content: end;
}

.ZahlungsartSection input
{
	height: auto;
	margin: 0;
}

.sectionTableWrapper .sectionRow
{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	height: 30px;
}

.sectionTableWrapper .sectionRow > div:first-child
{
	font-weight: 400;
	color: var(--schriftfarbe2);
}

.sectionTableWrapper .sectionRow > div:last-child
{
	font-weight: 200;
}

.warenkorbGesamtSummeContainer .button-row
{
	display: flex;
	justify-content: end;
}

.checkbox-container a 
{
	font-weight: 400;
	/* color: var(--schriftfarbe2); */
	text-decoration: underline;
}

.KasseWrapper
{
	display: flex;
	flex-direction: row;
}

.KasseWrapper > div
{
	flex-basis: 50%;
	column-gap: 10px;
}

.KasseWrapper > div:first-child
{
	border-right: 1px solid var(--randFarbe);
	padding-right: 10px;
}

.KasseWrapper > div:last-child
{
	padding-left: 10px;
}

.AbschlussWrapper > div
{
	flex-basis: 100% !important;
	border: none !important;
}

.kasseWarenkorbRow
{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	height: auto;
	column-gap: 10px;
	padding: 10px 0px;
}

.kasseWarenkorbRow > .kasseWarenKorbRowImage
{
	flex-basis: 150px;
	min-width: 150px;
	position: relative;
}

.kasseWarenkorbRow > .kasseWarenKorbRowImage > .kasseWarenKorbRowImg
{
	max-width: 100%;
	border-radius: 10px;
	height: auto;
	object-fit: cover;
	object-position: center center;
	position: relative;
	display: block;
}

.kasseWarenkorbRow > .kasseWarenKorbRowImage::before
{
	content: attr(data-anzahl);
	position: absolute;
	right: -2px;
	top: -5px;
	width: 20px;
	height: 20px;
	background-color: var(--buttonfarbe);
	z-index: 10;
	color: #fff;
	border-radius: 50%;
	font-size: 10px;
	display: flex;
	justify-content: center;
	line-height: 20px;
	font-weight: 600;
}


.kasseWarenkorbRow > .kasseWarenKorbRowBeschreibung
{
	flex-basis: -webkit-fill-available;
	flex-basis: fill;
}

.kasseWarenkorbRow > .kasseWarenKorbRowBeschreibung > .produktTitel
{
	font-size: 12px;
	font-weight: 600;
}

.kasseWarenkorbRow > .kasseWarenKorbRowBeschreibung > .produktTitel+p
{
	font-weight: 200;
	font-size: 10px;
	color: var(--schriftfarbe2);
}


.kasseWarenkorbRow > .kasseWarenKorbRowPreis
{
	flex-basis: 100px;
	min-width: 100px;
	text-align: right;
}

.kasseWarenkorbAnzeigenMobile
{
	display: none;
}

.Kasse .checkbox-container
{
	height: auto;
	grid-column: 1/3;
}

.kasseKostenWrapper div,
.checkbox-container > label
{
	font-size: 13px;
}

.zusammenFassungAbschluss
{
	margin: 20px;
}

.zusammenFassungUl
{
	column-count: 2;
	list-style-type: none;
}

.zusammenFassungUl li
{
	position: relative;
	font-size: 16px !important;
	padding-left: 10px;
}

.zusammenFassungUl li::before
{
	content: "\2714";
	position: absolute;
	top: 0px;
	left: -15px;
	color: var(--buttonfarbe);
}

.bankDatenBoxWrapper
{
	margin: 10px 0;
	border: 1px solid var(--buttonfarbe);
	padding: 10px;
}

.bankDatenBoxContainer > span > strong+strong,
.zusammenFassungUl li span
{
	color: var(--buttonfarbe);
}

.cookieWrapper
{
	width: 100vw;
	margin: 0 auto;
	display: flex;
	position: fixed;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.5);
	top: 0;
	left: 0;
	justify-content: center;
	align-items: center;
	z-index: 999999;
}

.cookieWrapper > .cookieContainer
{
	display: block;
	max-width: 550px;
	width: 100vw;
	border: 1px solid var(--randFarbe);
	background-color: var(--hintergrundfarbe);
	padding: 15px;
	min-height: 200px;
	border-radius: 4px;

}

.cookieContainer > .cookieBoxTitle
{
	font-size: 1.2em;
	line-height: 30px;
	display: flex;
	justify-content: center;
}

.cookieContainer > .cookieTextDescription
{
	margin-top: 10px;
	font-size: .8em;
	font-weight: 300;
}

.cookieContainer > .cookieTextDescription > a
{
	font-weight: 400;
	text-decoration: underline;
}

.cookieContainer > .cookieCheckboxContainer
{
	display: flex;
	justify-content: space-around;
	margin: 10px 0;
}

.cookieContainer > .cookieCheckboxContainer label
{
	line-height: 1.6;
	font-size: .8em;
}

.cookieContainer > .cookieCheckboxContainer > .cookieCheckboxColumn
{
	height: 20px;
	display: flex;
	align-items: center;
	column-gap: 3px;
}

.cookieContainer > .cookieButtonContainer
{
	display: flex;
	flex-direction: column;
	row-gap: 10px;
}

.buttonFullWidth
{
	border: 1px solid var(--buttonfarbe);
	background: var(--buttonfarbe);
	color: #fff;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	text-decoration: none;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
	cursor: pointer;
	text-transform: uppercase;
	min-height: 44px;
	line-height: 1.9;
	border-radius: 0;
	font-size: 16px;
	letter-spacing: 1px;
	font-weight: 400;
	width: 100%;
}

.buttonFullWidth:hover
{
	opacity: .8;
}

.badgeRow
{
	display: flex;
	justify-content: center;
	gap: 10vw;
	margin: 50px 0;
}

.badgeRow img
{
	width: 120px;
}

.Blog h1,
.textContainer h1
{
	font-weight: 400;
	font-size: 1.4em;
	padding: 5px 0;
}

.Blog h2,
.textContainer h2
{
	font-weight: 400;
	font-size: 1.2em;
}

.Blog h3,
.textContainer h3
{
	font-weight: 400;
	font-size: 1.0em;
}

.Blog p,
.textContainer p
{
	padding: 8px 10px;
	font-weight: 300;
	font-size: 0.8em;
}

.Blog ul
{
	margin-left: 20px;
}

.Blog ul li
{
	font-size: .8em !important;
}

.zahlungsArtenFooter
{
	margin-top: 10px;
}

.zahlungsArtenFooter > .zahlungsArtenFooterWrapper
{
	display: flex;
	row-gap: 10px;
	flex-direction: column;
}

.zahlungsArtenFooter > .zahlungsArtenFooterWrapper  img
{
	max-height: 20px;
	max-width: 150px;
}

.zahlungsArtDiv > span
{
	color: var(--buttonfarbe);
	font-size: .8em;
	font-weight: 600;
	letter-spacing: .3em;
	text-transform: uppercase;
}

.header-submenu
{
	list-style-type: none;
	padding-left: 10px;
}

.header-submenu li
{
	padding: 5px 0;
}

.header-submenu li a:hover
{
	color: var(--buttonfarbe);
}

.slider-bg .container
{
	height: 100%;
	position: relative;
	z-index: 10;
}

.slider-bg .container .slider-text-container
{
	padding: 0 30px;
	position: absolute;
	height: 90px;
	margin: auto 0;
	top: 0;
	bottom: 0;
}

.slider-bg .container .slider-text-container span
{
	font-weight: bold;
	color: var(--kategorieSectionTextFarbe);
	line-height: 43px;
	font-size: 40px;
	letter-spacing: 0.005em;
}

.slider-bg::after
{
	content: '';
	background: rgba(0,0,0,0.2);
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
}

.slider-btn
{
	display: flex;
	background-color: var(--buttonfarbe);
	padding: 15px 20px;
	color: #FFF;
	width: 100%;
	max-width: 300px;
	text-transform: uppercase;
	font-size: 16px;
	justify-content: center;
	font-weight: 300;
	border-radius: 15px;
	margin-top: 20px;
	letter-spacing: 0.003em;
	cursor: pointer;
}

.slider-btn:hover
{
	opacity: 0.8;
}

.adminBar
{
	position: fixed;
	top: 0px;
	width: 100%;
	background-color: var(--buttonfarbe);
	padding: 5px 10px;
}

.adminBar a
{
	color: #fff !important;
}

.adminPage
{
	padding-top: 30px;
}

.headerWrapper
{
	display: flex;
	justify-content: space-between;
	gap: 50px;
}

.footerColumn > .footerTitle
{
	color: var(--buttonfarbe);
	font-size: 1em;
}

.Impressum p
{
	margin-bottom: 20px !important;
}
.Impressum p:last-child a
{
	color: var(--buttonfarbe);
	text-decoration: underline;
}

.Impressum strong
{
	color: var(--buttonfarbe);
}

.gallerie_startseite
{
	background-color: var(--hintergrundfarbe2);
}

.unsere_produkte
{
	background-color: var(--hintergrundfarbe);
}

.header-bottomWrapper .header-top-telefon
{
	display: none;
}

.configuratorTabContainer
{
	border:1px solid var(--buttonfarbe);
	border-top-width: 0;
	padding-top: 20px;
}

.configuratorTabContainer[data-show="false"], .configuratorTabContainer[data-show="false"] ac-navigation
{
	visibility: hidden;
	opacity: 0;
	max-height: 0;
	padding: 0;
}

.configuratorTabNavigation
{
	display: flex;
	min-height: 30px;
	align-items: center;
	border-bottom:1px solid var(--buttonfarbe);
	padding-left: 10px;
}

.configuratorTabNavigation > label
{
	padding: 10px 10px;
	background-color: transparent;
	border: 1px solid var(--randFarbe);
	border-bottom: transparent;
	font-weight: 300;
}

.configuratorTabNavigation > label[data-active="true"]
{
	background-color: var(--buttonfarbe);
	color: var(--hintergrundfarbe);
}

.configuratorTabContainer .variantenContainer,
.configuratorTabContainer .variantenGruppenTabWrapper .faqAccordionContainer
{
	margin-top: 0px;
	padding: 20px;
	align-self: baseline;
}

.configuratorTabNavigation > label:hover
{
	cursor: pointer;
}

.configuratorTabContainer .variantenGruppenTabWrapper
{
	display: flex;
}

.configuratorTabContainer .variantenGruppenTabWrapper .faqAccordionContainer
{
	display: flex;
	width: 50%;
	flex-direction: column;
}

.configuratorTabContainer .variantenGruppenTabWrapper .faqAccordionContainer accordion
{
	width: 100%;
}

.accordionBodyContainer
{
	border-bottom: 1px solid var(--buttonfarbe);
	padding: 10px;
	font-weight: 300;
	font-size: 14px;
}

.aufmassBox
{
	border: 1px solid var(--buttonfarbe);
	padding: 20px;
	max-width: 400px;
}

.productTitle
{
	font-size: 2em;
	font-weight: bold;
}

.vsg-table {
	width: 100%;
	border-collapse: collapse;
	margin: 2rem 0;
	font-size: 15px;
	color: #333;
	background-color: #fff;
  }
  
  .vsg-table thead {
	background-color: #f4f4f4;
  }
  
  .vsg-table th,
  .vsg-table td {
	padding: 12px 16px;
	text-align: left;
	border-bottom: 1px solid #ddd;
  }
  
  .vsg-table th {
	font-weight: 600;
	color: #1c1c1c;
  }
  
  .vsg-table tbody tr:hover {
	background-color: #f8f8f8;
  }
  
  .vsg-table td strong {
	font-weight: 600;
	color: #000;
  }

  .tooltip-icon {
	display: inline-block;
	margin-left: 6px;
	margin-top: -3px;
	cursor: pointer;
	position: relative;
	font-weight: bold;
	color: #004a7c;
	font-size: 14px;
	line-height: 1;
	user-select: none;
  }
  
  .tooltip-icon::after {
	content: "?";
	display: inline-block;
	width: 20px;
	height: 20px;
	font-size: 13px;
	line-height: 23px;
	text-align: center;
	border-radius: 50%;
	background: #004a7c;
	color: #fff;
	margin-top: -10px;
}
  
  .tooltip-text {
	display: none;
	position: absolute;
	top: 28px;
	left: 50%;
	transform: translateX(-50%);
	background: #ffffff;
	color: #333;
	padding: 12px 14px;
	border-radius: 8px;
	border: 1px solid #ccc;
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
	width: 280px;
	font-size: 14px;
	line-height: 1.5;
	z-index: 1000;
  }
  
  .tooltip-icon.active .tooltip-text {
	display: block;
  }
  
  /* Pfeil nach oben */
  .tooltip-text::before {
	content: "";
	position: absolute;
	top: -16px;
	left: 50%;
	transform: translateX(-50%);
	border-width: 8px;
	border-style: solid;
	border-color: transparent transparent #ccc transparent;
  }

  .wintergarten-schritt, .wintergarten-intro, .wintergarten-cta, .wintergarten-garantie
  {
	padding: 0px!important;
  }
  
  .rechteck {
	position: relative;
	width: 150px;
	height: 300px;
	border: 2px solid black;
	margin: 50px auto;
  }

  .kante {
	position: absolute;
	font-family: Arial, sans-serif;
	font-size: 16px;
	font-weight: normal;
  }

  .kante-a {
	top: -25px;
	left: 50%;
	transform: translateX(-50%);
  }

  .kante-b {
	right: -20px;
	top: 40%;
	transform: translateY(-50%) rotate(270deg);
	transform-origin: right center;
  }

  .kante-c {
	bottom: -25px;
	left: 50%;
	transform: translateX(-50%);
  }

  .kante-d {
	left: -20px;
	top: 60%;
	transform: translateY(-50%) rotate(-90deg);
	transform-origin: left center;
  }


  .containerRowInhaltKommentar
  {
	width: 100%;
  }

  .containerRowInhaltKommentar textarea
  {
	width: 100%;
	padding: 10px;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 300;
	resize: none;
	min-height: 100px;
	overflow: auto;
	
  }

.login-page {
	min-height: calc(100vh - 200px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 50px 15px;
}

.login-container {
	max-width: 480px;
	width: 100%;
	background: var(--hintergrundfarbe);
	border-radius: 30px;
	box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
	padding: 50px 40px;
}

.login-header {
	text-align: center;
	margin-bottom: 40px;
}

.login-header h1 {
	font-family: Roboto, sans-serif;
	font-weight: bold;
	font-size: 30px;
	line-height: 35px;
	color: var(--buttonfarbe);
	margin-bottom: 10px;
}

.login-header p {
	font-family: Roboto, sans-serif;
	font-size: 16px;
	color: var(--schriftfarbe2);
	line-height: 1.4;
}

.login-form {
	display: flex;
	flex-direction: column;
	gap: 25px;
}

.login-input-field {
	position: relative;
	border: 1px solid var(--randFarbe);
	border-radius: 10px;
	height: 55px;
	transition: border-color 0.3s;
}

.login-input-field:focus-within {
	border-color: var(--buttonfarbe);
}

.login-input-field label {
	position: absolute;
	top: -10px;
	left: 15px;
	font-size: 11px;
	line-height: 1;
	color: var(--schriftfarbe);
	background: var(--hintergrundfarbe);
	padding: 0 5px;
	font-weight: 500;
}

.login-input-field input {
	width: 100%;
	height: 100%;
	border: none;
	background: transparent;
	padding: 0 20px;
	font-size: 16px;
	line-height: 1.6;
	color: var(--schriftfarbe);
	font-weight: 200;
}

/* Input mit Icon links */
.login-input-field input.input-with-icon {
	padding-left: 50px;
}

.login-input-field input:focus {
	outline: none;
}

.login-input-field input::placeholder {
	color: var(--schriftfarbe2);
	opacity: 0.5;
}

.login-checkbox-container {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
}

.login-checkbox-container input[type="checkbox"] {
	width: 18px;
	height: 18px;
	cursor: pointer;
	accent-color: var(--buttonfarbe);
}

.login-checkbox-container label {
	cursor: pointer;
	color: var(--schriftfarbe);
	user-select: none;
	display: flex;
	align-items: center;
	gap: 8px;
}

.login-btn {
	border-radius: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	text-decoration: none;
	font-weight: bold;
	font-size: 16px;
	text-transform: uppercase;
	height: 55px;
	transition: 0.4s;
	background: var(--buttonfarbe);
	color: #FFFFFF;
	border: none;
	cursor: pointer;
	letter-spacing: 0.5px;
}

.login-btn:hover {
	opacity: .8;
}

.login-btn:active {
	transform: scale(0.98);
}

.login-links {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 14px;
	padding-top: 10px;
}

.login-links a {
	color: var(--buttonfarbe);
	text-decoration: none;
	transition: opacity 0.3s;
	display: flex;
	align-items: center;
	gap: 5px;
}

.login-links a:hover {
	opacity: 0.7;
	text-decoration: underline;
}

.login-divider {
	text-align: center;
	margin: 35px 0;
	position: relative;
}

.login-divider::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	height: 1px;
	background: var(--randFarbe);
}

.login-divider span {
	background: var(--hintergrundfarbe);
	padding: 0 20px;
	position: relative;
	color: var(--schriftfarbe2);
	font-size: 14px;
}

.login-register-btn {
	border-radius: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	text-decoration: none;
	font-weight: bold;
	font-size: 16px;
	text-transform: uppercase;
	height: 55px;
	transition: 0.4s;
	background: transparent;
	color: var(--buttonfarbe);
	border: 2px solid var(--buttonfarbe);
	cursor: pointer;
	letter-spacing: 0.5px;
}

.login-register-btn:hover {
	background: var(--buttonfarbe);
	color: #FFFFFF;
}

/* Alert Messages */
.alert {
	padding: 15px 20px;
	border-radius: 10px;
	margin-bottom: 25px;
	font-size: 14px;
	line-height: 1.5;
	display: flex;
	align-items: center;
	gap: 10px;
}

.alert-error {
	background: #fee;
	border: 1px solid #fcc;
	color: #c33;
}

.alert-success {
	background: #efe;
	border: 1px solid #cfc;
	color: #3c3;
}

.alert-info {
	background: #eef;
	border: 1px solid #ccf;
	color: #33c;
}

/* Passwort-Sichtbarkeit Toggle */
.password-toggle {
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	cursor: pointer;
	padding: 5px;
	line-height: 1;
	transition: opacity 0.3s;
}

.password-toggle:hover {
	opacity: 0.7;
}

/* Loading State */
.login-btn.loading {
	opacity: 0.6;
	pointer-events: none;
}

/* Responsive */
@media (max-width: 768px) {
	.login-container {
		padding: 40px 25px;
		border-radius: 20px;
	}
	
	.login-header h1 {
		font-size: 24px;
	}
	
	.login-links {
		flex-direction: column;
		gap: 15px;
		text-align: center;
	}
}

/* Tooltip */
.tooltip {
	position: relative;
	display: inline-flex;
	align-items: center;
}

.tooltip .tooltiptext {
	visibility: hidden;
	width: 200px;
	background-color: var(--schriftfarbe);
	color: #fff;
	text-align: center;
	border-radius: 6px;
	padding: 8px;
	position: absolute;
	z-index: 1;
	bottom: 125%;
	left: 50%;
	margin-left: -100px;
	opacity: 0;
	transition: opacity 0.3s;
	font-size: 12px;
}

.tooltip:hover .tooltiptext {
	visibility: visible;
	opacity: 1;
}

.icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
}

.icon-large {
    width: 24px;
    height: 24px;
}

.icon-small {
    width: 16px;
    height: 16px;
}

/* ================================================================
   LOGIN ICONS
   ================================================================ */

/* Email Icon */
.icon-email,
.icon-mail {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234e4e4f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");
}

/* Email Icon - Blue Version (für Buttons) */
.icon-email-blue {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(0, 50, 160)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");
}

/* Lock Icon (Passwort) */
.icon-lock,
.icon-password {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234e4e4f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
}

/* Lock Closed Icon (Anmelden) */
.icon-lock-closed {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
}

/* Lock Open Icon (Abmelden) */
.icon-lock-open {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234e4e4f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 9.9-1'/%3E%3C/svg%3E");
}

/* Key Icon (Passwort vergessen) */
.icon-key {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(0, 50, 160)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4'/%3E%3C/svg%3E");
}

/* Eye Icon (Passwort anzeigen) */
.icon-eye,
.icon-show {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ABABAB' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}

/* Eye Off Icon (Passwort verbergen) */
.icon-eye-off,
.icon-hide {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ABABAB' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'/%3E%3Cline x1='1' y1='1' x2='23' y2='23'/%3E%3C/svg%3E");
}

/* User Icon */
.icon-user,
.icon-profile {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234e4e4f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}

/* User Plus Icon (Registrieren) */
.icon-user-plus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(0, 50, 160)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='8.5' cy='7' r='4'/%3E%3Cline x1='20' y1='8' x2='20' y2='14'/%3E%3Cline x1='23' y1='11' x2='17' y2='11'/%3E%3C/svg%3E");
}

/* ================================================================
   ALERT ICONS
   ================================================================ */

/* Check Circle (Success) */
.icon-check-circle,
.icon-success {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2333cc33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
}

/* Alert Circle (Error) */
.icon-alert-circle,
.icon-error {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cc3333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E");
}

/* Info Circle */
.icon-info-circle,
.icon-info {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233333cc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E");
}

/* Alert Triangle (Warning) */
.icon-alert-triangle,
.icon-warning {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffaa00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");
}

/* ================================================================
   UTILITY ICONS
   ================================================================ */

/* Arrow Left (Zurück) */
.icon-arrow-left,
.icon-back {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(0, 50, 160)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='19' y1='12' x2='5' y2='12'/%3E%3Cpolyline points='12 19 5 12 12 5'/%3E%3C/svg%3E");
}

/* Arrow Right (Weiter) */
.icon-arrow-right,
.icon-next {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E");
}

/* Check Icon */
.icon-check {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2333cc33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}

/* X Icon (Schließen) */
.icon-x,
.icon-close {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234e4e4f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");
}

/* Help Circle (Hilfe/Tooltip) */
.icon-help-circle,
.icon-help {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ABABAB' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");
}

/* Shield Check (Sicherheit) */
.icon-shield-check,
.icon-security {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2333cc33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpolyline points='9 12 11 14 15 10'/%3E%3C/svg%3E");
}

/* ================================================================
   ICON IN INPUT FIELDS
   ================================================================ */

/* Input mit Icon links */
.input-with-icon {
    position: relative;
    padding-left: 45px !important;
}

.input-icon-left {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}

/* Input mit Icon rechts */
.input-icon-right {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
}

/* ================================================================
   BUTTON ICONS
   ================================================================ */

/* Icon vor Text im Button */
.btn-with-icon {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.btn-icon-left {
    order: -1;
}

.btn-icon-right {
    order: 1;
}

/* ================================================================
   LOADING SPINNER
   ================================================================ */

.icon-spinner,
.icon-loading {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='2' x2='12' y2='6'/%3E%3Cline x1='12' y1='18' x2='12' y2='22'/%3E%3Cline x1='4.93' y1='4.93' x2='7.76' y2='7.76'/%3E%3Cline x1='16.24' y1='16.24' x2='19.07' y2='19.07'/%3E%3Cline x1='2' y1='12' x2='6' y2='12'/%3E%3Cline x1='18' y1='12' x2='22' y2='12'/%3E%3Cline x1='4.93' y1='19.07' x2='7.76' y2='16.24'/%3E%3Cline x1='16.24' y1='7.76' x2='19.07' y2='4.93'/%3E%3C/svg%3E");
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* ================================================================
   COLORED VARIATIONS
   ================================================================ */

/* White Icons (für dunkle Backgrounds) */
.icon-white {
    filter: brightness(0) invert(1);
}

/* Blue Icons (für Akzente) */
.icon-blue {
    filter: brightness(0) saturate(100%) invert(17%) sepia(88%) saturate(2431%) hue-rotate(201deg) brightness(92%) contrast(107%);
}

/* Gray Icons */
.icon-gray {
    filter: brightness(0) saturate(100%) invert(35%) sepia(0%) saturate(0%) hue-rotate(159deg) brightness(95%) contrast(88%);
}

/* ================================================================
   HOVER EFFECTS
   ================================================================ */

.icon-hover-blue:hover {
    filter: brightness(0) saturate(100%) invert(17%) sepia(88%) saturate(2431%) hue-rotate(201deg) brightness(92%) contrast(107%);
    transition: filter 0.3s;
}

.icon-clickable {
    cursor: pointer;
    transition: transform 0.2s, opacity 0.2s;
}

.icon-clickable:hover {
    transform: scale(1.1);
    opacity: 0.8;
}

.icon-clickable:active {
    transform: scale(0.95);
}


  @media (max-width: 600px) {
	.tooltip-text {
	  width: 90vw;
	  left: -50vw;
	  transform: none;
	  top: 36px;
	}
  
	.tooltip-text::before {
	  left: calc(50vw);
	  transform: none;
	}
  }
  
  
@media screen and (max-width: 800px) and (orientation: landscape),
screen and (max-height: 300px) {

  /**
	   * Remove all paddings around the image on small screen
	   */
  .mfp-img-mobile .mfp-image-holder {
	padding-left: 0;
	padding-right: 0;
  }

  .mfp-img-mobile img.mfp-img {
	padding: 0;
  }

  .mfp-img-mobile .mfp-figure:after {
	top: 0;
	bottom: 0;
  }

  .mfp-img-mobile .mfp-figure small {
	display: inline;
	margin-left: 5px;
  }

  .mfp-img-mobile .mfp-bottom-bar {
	background: rgba(0, 0, 0, 0.6);
	bottom: 0;
	margin: 0;
	top: auto;
	padding: 3px 5px;
	position: fixed;
	box-sizing: border-box;
  }

  .mfp-img-mobile .mfp-bottom-bar:empty {
	padding: 0;
  }

  .mfp-img-mobile .mfp-counter {
	right: 5px;
	top: 3px;
  }

  .mfp-img-mobile .mfp-close {
	top: 0;
	right: 0;
	width: 35px;
	height: 35px;
	line-height: 35px;
	background: rgba(0, 0, 0, 0.6);
	position: fixed;
	text-align: center;
	padding: 0;
  }
}

@media all and (max-width: 900px) {
  .mfp-arrow {
	-webkit-transform: scale(0.75);
	transform: scale(0.75);
  }

  .mfp-arrow-left {
	-webkit-transform-origin: 0;
	transform-origin: 0;
  }

  .mfp-arrow-right {
	-webkit-transform-origin: 100%;
	transform-origin: 100%;
  }

  .mfp-container {
	padding-left: 6px;
	padding-right: 6px;
  }
}



@media (min-width: 576px)
{
	.container
	{
		max-width: 540px;
	}
}

@media screen and (min-width: 768px)
{
	.newsBlock_wrapper .news_img
	{
		max-width: 225px;
		height: 155px;
		width: 100%;
	}

	.newsBlock_wrapper .news_img img
	{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.container
	{
		max-width: 720px;
	}
}

@media screen and (min-width: 992px)
{
	.container
	{
		max-width: 960px;
	}	
}

@media screen and (min-width: 1200px)
{
	.container
	{
		max-width: 1140px;
	}
}

@media (min-width: 1439px) {
	.container {
		max-width: 1375px;
	}
	.produkt_block
	{
		height: 260px;
	}
}

@media screen and (max-width: 1437px)
{
	.header-menu
	{
		margin: 0 15px;
	}
	.header-menu-list li:not(:last-child)
	{
		margin-right: 15px;
	}


	.select-field ul li .main
	{
		font-size: 11px;
	}

	.selected .main
	{
		font-size: 11px;
		align-self: center;
	}
	.select-field div.selected
	{
		height: 100%;
	}

	.input-field input
	{
		font-size: 13px;
	}
}

@media screen and (max-width: 1199px)
{
	.header-menu-list li:not(:last-child)
	{
		margin-right: 12px;
	}

	.header-cart-count
	{
		width: 15px;
		height: 15px;
		font-size: 8px;
		line-height: 180%;
	}

	.header-center-btn
	{
		font-size: 9px;
		max-width: 120px;
		height: 25px;
	}

	.header-center-email span
	{
		width: 12px;
		height: 12px;
		margin-right: 3px;
	}

	.header-center-email span svg
	{
		width: 100%;
		height: 100%;
	}

	.header-top-item-icon
	{
		width: 12px;
		height: 12px;
		margin-right: 3px;
	}

	.header-top-item-icon svg
	{
		width: 100%;
		height: 100%;
	}

	.headerWrapper
	{
		gap: 20px;
	}

	.header-center-email p
	{
		font-size: 11px;
		white-space: nowrap;
	}
	

	.warenkorbRow
	{
		grid-template-columns: 120px 30% 10% 15% 10% 5%;
		font-size: 14px !important;
	}

	.warenkorbProductQuantity .quantity .btn_minus
	{
		margin-right: 7px;
	}
	.warenkorbProductQuantity .quantity input[type=number]
	{
		width: 40px;
		height: 40px;
		font-size: 16px;
		line-height: 18px;
	}
	.warenkorbProductQuantity .quantity .btn_plus
	{
		margin-left: 7px;
	}

}

@media screen and (max-width: 1050px)
{
	.slick-slide, .sliderWrapper, .slider-bg
	{
		height: 350px;
		min-height: 175px;
	}

	.slick-slide img
	{
		height: 350px!important;
		min-height: 175px!important;
	}


	.sliderContainer .slick-prev
	{
		left: 15px;
	}

	.slick-dots li
	{
		width: 8px;
		height: 8px;
	}

	section
	{
		padding: 40px 0;
	}

	.container
	{
		max-width: 100%!important;
	}

	.page_title
	{
		padding-bottom: 25px;
	}

	.home_product .col-md-4
	{
		flex: 0 0 33%;
		max-width: 33%;
	}

	.selected .main
	{
		font-size: 13px;
	}

	.headerWrapper
	{
		flex-flow: column;
		gap: 10px;
	}

	.slider-bg .container .slider-text-container span
	{
		font-size: 30px;
		line-height: 32px;
	}
}

@media screen and (max-width: 991px)
{
	.header-top, .header-menu
	{
		display: none;
	}

	.header-center, .header-bottom
	{
		padding: 18px 0;
	}

	.header-menu-wrapper
	{
		display: block;
		top: 206px;
		z-index: 101;
		background-color: var(--hintergrundfarbe);
		width: 100vw;
		height: calc(100vh - 206px);
		border-top: 1px solid var(--schriftfarbe2);
		overflow-y: scroll;
	}

	.header-menu-left
	{
		display: none;
	}

	.header-menu-right
	{
		padding-right: unset;
		max-width: unset;
	}

	.header-menu-container
	{
		display: block;
		margin: 30px 30px 0px 30px;
	}

	.header-menu-container > div
	{
		margin-bottom: 15px;
		position: relative;
		padding: unset;
		flex: unset;
		max-width: unset;
		width: 100%;
		border: unset !important;
	}

	.header-menu-right > .header-menu-container > .header-menu-subContainer > span
	{
		display: none;
	}

	.header-menu-right > .header-menu-container > .header-menu-subContainer > a
	{
		font-size: 20px;
		margin-bottom: 0px;
	}

	.header-logo
	{
		max-width: 100px;
	}

	.header-menu-close
	{
		display: none;
	}

	.slider-bg
	{
		top: -15px;
	}

	.header-menu-list li a
	{
		font-size: 9px;
	}
}

@media screen and (max-width: 890px)
{
	.wiesowir_block
	{
		flex: 0 0 50%;
		max-width: 50%;
		margin-bottom: 20px;
	}

	.newsBlock_wrapper > div
	{
		flex: 0 0 100%;
		max-width: 100%;
	}

	.news_img
	{
		margin-right: 15px;
		margin-bottom: 0;
	}

	.news_img img
	{
		width: 100%;
		height: auto;
		max-width: 425px;
	}

	.news_info h5
	{
		margin-bottom: 5px;
		font-size: 14px;
		height: auto;
	}

	.warenkorbRow
	{
		grid-template-columns: 100px 30% 10% 13% 11% 3%;
		padding: 15px 0px;
	}
}

@media screen and (max-width: 768px)
{
	.slick-slide, .sliderWrapper, .slider-bg
	{
		height: 175px;
	}

	.slick-slide img
	{
		height: 175px !important;
	}
	
	.aktion-banner > div > span
	{
		display: none;
	}

	.container
	{
		max-width: 100%!important;
	}

	.unsere_produkte_wrapper > div
	{
		flex: 0 0 100%;
		max-width: 100%;
		margin-bottom: 15px;
	}

	.page_title span, .newsletter .page_title span
	{
		font-size: 20px;
		line-height: 23px;
	}

	.page_title p
	{
		font-size: 14px;
	}

	.newsletterContainer
	{
		flex-flow: column;
	}

	.newsletterContainer > div
	{
		flex: 0 0 100%;
		max-width: 100%;
	}

	.form_fields input[type=submit]
	{
		font-size: 14px;
	}

	footer
	{
		padding: 30px 0 0;
	}

	.container
	{
		max-width: 100%!important;
	}

	.footerWrapper
	{
		flex-flow: column;
	}

	.footerWrapper > .footerColumn
	{
		flex: 0 0 100%;
		max-width: 100%;
	}

	.footer_menu
	{
		margin-bottom: 15px;
	}

	.footerColumn svg
	{
		margin-left: -50px;
	}

	.wiesowir_text span
	{
		font-size: 14px;
	}

	.gallerie_wrapper
	{
		padding: 0;
	}

	.gallerieSliderItem
	{
		height: auto;
	}

	.gallerieSliderContainer .slick-slide
	{
		margin: 0 50px;
		height: auto;
		min-height: unset;
	}

	.gallerieSliderContainer .slick-list
	{
		height: auto;
	}

	.gallerieSliderContainer .slick-prev
	{
		left: 0px;
	}

	.gallerieSliderContainer .slick-next
	{
		right: 0px;
	}

	.product-main-block
	{
		flex-direction: column;
	}

	.product-main-block > div
	{
		flex: 0 0 100%;
		max-width: 100%;
	}

	.variantenContainer
	{
		width: 100%;
	}

	.variantenContainer > .input-field, .variantenContainer > .select-field,
	.variantenBoxGruppe .select-field,
	form.addToCart > .input-field, form.addToCart > .select-field
	{
		flex: 0 0 calc(100% - 20px);
	}

	.productInfoBlock
	{
		padding: 0;
	}

	.product-tabs
	{
		width: 100%;
	}

	.product-tabs nav label
	{
		padding: 10px 15px;
	}


	.warenkorbRow
	{
		grid-template-columns: 100px 25% 9% 13% 11% 3%;
		font-size: 12px !important;
	}

	.warenkorbProductQuantity .quantity input[type=number]
	{
		width: 30px;
		height: 30px;
		font-size: 13px;
		padding: 6px;
	}

	.kategorie-section-image
	{
		height: 200px;
	}

	.kategorie-main-section-wrapper
	{
		flex-wrap: wrap;
	}

	.kategorie-main-section-left-col
	{
		width: 100%;
	}

	.kategorie-main-section-right-col
	{
		width: 100%;
		padding: 0;
	}

	.kategorie-artikelWrap > .kategorieArtikelItem
	{
		width: 50%;
	}

	.kategorieArtikelItem-Link
	{
		grid-template-areas: 
			"image image"
			"titel titel"
			"stichpunkte stichpunkte"
			"grundpreis grundpreis"
			"preis preis"
			"button button";
		
	}

	.product-menge
	{
		width: 200px;
		flex-basis: 200px;
		max-width: 200px;
	}

	.product-cart-row
	{
		row-gap: 10px;
		flex: 0 0 calc(100% - 20px)
	}

	.product-cart-row > div
	{
		width: 100%;
		flex-basis: 100%;
		max-width: unset;
		margin: 0 !important;
	}

	form.addToCart
	{
		justify-content: center;
	}

	.product-cart-row .btn
	{
		width: 100%;
		justify-content: center;
	}

	.KasseWrapper
	{
		flex-direction: column-reverse;
	}

	.KasseWrapper > div
	{
		padding: 0;
		border: 0;
	}

	.KasseWrapper > div:first-child
	{
		border: 0px;
		padding: 0;
	}

	.kasseWarenkorbAnzeigenMobile
	{
		width: 100%;
		height: 50px;
		border: 0;
		background-color: var(--buttonfarbe);
		font-size: 16px;
		color: #fff;
		cursor: pointer;
		display: block;
	}

	.KasseWarenkorbSection
	{
		display: none;
	}

	.headerWrapper
	{
		display: none;
	}

	.slider-bg .container .slider-text-container span
	{
		font-size: 22px;
		line-height: 25px;
	}

	.configuratorTabContainer .variantenGruppenTabWrapper
	{
		flex-wrap: wrap;
	}

	.configuratorTabContainer .variantenGruppenTabWrapper .faqAccordionContainer
	{
		width: 100%;
	}
}

@media only screen and (max-width: 600px)
{
	.wiesowir_block
	{
		flex: 0 0 100%;
		max-width: 100%;
		margin-bottom: 20px;
	}
	
}

@media screen and (max-width: 480px)
{
	.news_block
	{
		flex-wrap: wrap;
	}
	.news_img
	{
		flex: 0 0 100%;
		width: 100%;
		margin-bottom: 30px;
	}

	.warenkorbRow
	{
		grid-template: 
		"thumb thumb thumb"
		"name name name"
		"einzelpreis anzahl gesamtpreis"
		". loeschen .";
		justify-items: center;
		grid-gap: 15px;
	}
	.warenkorbThumbnail
	{
		grid-area: thumb;
		height: 180px;
	}
	.warenkorbProductName
	{
		grid-area: name;
		display: flex;
		flex-direction: column;
	}

	.warenkorbProductPrice
	{
		grid-area: einzelpreis;
		display: flex;
	}
	.warenkorbProductQuantity
	{
		grid-area: anzahl;
		display: flex;
	}
	.warenkorbProductSubTotal
	{
		grid-area: gesamtpreis;
		display: flex;
	}
	.warenkorbProductRemove
	{
		grid-area: loeschen;
		display: flex;
	}

	.warenkorbGesamtSummeContainer
	{
		width: 70%;
	}

	.Kasse .formWrapper
	{
		grid-template-columns: 1fr;
	}

	.Kasse .formWrapper > div
	{
		grid-column: 1/2;
	}

	.kasseWarenkorbRow
	{
		flex-direction: column;
		flex-wrap: wrap;
	}

	.kasseWarenkorbRow > .kasseWarenKorbRowBeschreibung
	{
		flex-basis: auto;
	}

	.kasseWarenkorbRow > .kasseWarenKorbRowPreis
	{
		flex-basis: auto;
	}

	.input-field label, .select-field label, .input-field input
	{
		font-weight: 500;
	}

	.Kasse .Kassenav > li
	{
		font-size: 11px !important;
	}

	.Kasse .uebersichtContainerWrapper > .uebersichtContainerRow
	{
		flex-direction: column;
	}

	.Kasse .uebersichtContainerWrapper > .uebersichtContainerRow > .containerRowBeschreibung,
	.Kasse .uebersichtContainerWrapper > .uebersichtContainerRow > .containerRowInhalt
	{
		flex-basis: auto;
	}

	.Kasse .uebersichtContainerWrapper > .uebersichtContainerRow > a
	{
		justify-content: center;
		flex-basis: auto;
		padding-top: 15px;
	}

	.badgeRow
	{
		gap: 3vw;
	}

	.badgeRow img 
	{
		width: 25vw;
	}
	
	.breadcrumb_row > ul > li:last-child,
	.breadcrumb_row > ul > li:nth-last-child(2):after
	{
		display: none;
	}
	
	.footerLogo
	{
		display: none;
	}

	footer
	{
		padding: 20px 0px;
	}

	.breadcrumb_row
	{
		margin-bottom: 10px;
	}

	.Blog h1, .textContainer h1
	{
		font-size: 1em;
	}

	.Blog h2, .textContainer h2
	{
		font-size: .8em;
	}

	.Blog p, .textContainer p
	{
		font-size: .6em;
	}

	.kategorie-main-section-left-col
	{
		display: none;
	}

	.page_title
	{
		padding-bottom: 10px;
	}

	.kategorieArtikelItem-titel
	{
		overflow-wrap: break-word;
		font-size: .8em;
	}

	.kategorieArtikelItem-Preis
	{
		font-size: .8em !important;
	}

	.kategorieArtikelItem-Link
	{
		grid-template-rows: 180px 68px 0 32px 30px;
	}
	.kategorie-artikelWrap > .kategorieArtikelItem
	{
		padding: 5px;
	}
	.sliderWrapper .slick-dots
	{
		bottom: 15px;
	}
	.slider-bg .container .slider-text-container span
	{
		line-height: 19px;
		font-size: 16px;
	}

	.slider-btn
	{
		max-width: 120px;
		padding: 8px 10px;
		font-size: 12px;
		margin-top: 10px;
	}

	.zusammenFassungUl
	{
		column-count: 1;
	}

	.cookieWrapper
	{
		width: 100% !important;
	}

	.cookieWrapper > .cookieContainer
	{
		max-width: 100%;
		margin: 0 20px;
	}

	.slick-dots li button:before
	{
		font-size: 14px;
	}
	.wiesowir_wrapper
	{
		padding: 0 20px;
	}

	.header-top-telefon span p 
	{
		display: none;
	}
	.header-menu-wrapper
	{
		top: 157px;
		height: calc(100vh - 157px);
	}

	.newsBlock_wrapper .news_block:nth-child(1)
	{
		border: none ;
	}

	.header-center .header-top-telefon
	{
		display: none;
	}

	.header-bottomWrapper .header-top-telefon
	{
		display: flex;
	}

	.configuratorTabNavigation
	{
		padding-left: 0;
		overflow-x: scroll;
	}

	.configuratorTabNavigation > label
	{
		flex: 0 0 auto;
	}

	.header-burger svg:first-child
	{
		display: block;
	}

	.cookieContainer > .cookieButtonContainer
	{
		row-gap: 20px;
	}
	.menu_item_footer a{
		padding-bottom: 10px;
	}
}

@media screen and (max-width: 480px) and (max-height: 568px)
{
	.cookieWrapper > .cookieContainer
	{
		max-height: 90vh;
	}

	.cookieContainer > .cookieTextDescription
	{
		max-height: 290px;
		overflow-y: scroll;
	}
}
