/*
		30.01.17 carsten  		ie 9+ (ohne edge) hack fuer fehlendes column-count in seo-kategorie-seiten (ganz unten vor media queries)
								Style Angaben fuer das moderne und schlichte Design (eingefuehrt ab X-Artikelsystem(Flaechenvorhaenge), ohne linkem Menue (ausser die Filter))
		20180517	menu-anweisungen nach /css/menu.css ausgelagert
		21.03.2019	Tim			"body strong" { font-weight } hinzugefuegt, weil "body" mit { font-weight } auch "body strong" ueberschreibt
		27.01.2020	Tim			angepasst / erweitert fuer mobiles Layout
		24.03.2020	Swen		#COVID Style eingebaut
		08.04.2020	Tim			text_bevor wieder eingeblendet (bei bildschirm < 768px display:none entfernt)
		24.09.2020	Tim			min-height bei .inhalt_mitte fuer neuen (2020) Rollo-Konfigurator von 600px auf 300 reduziert
		08.10.2020	Swen		@media (max-width: 1220px) auf 1425px gesetzt
		30.03.2021  Tim			globale html, body Definition wieder rausgenommen (mit height 100% und overflow scroll)
		12.09.2022	David D.	Variablen f�r Shopfarben eingebaut
		14.09.2022	Swen		Variablen f�r Shopfarben in /css/variables.css ausgelagert
		23.11.2022	David S.	html * {box-sizing: border-box} entfernt weil das auf diversen Seiten zu Anzeigefehlern f�hrt (u.a. in den Konfiguratoren)
		20221125	carschten	schmaler header
		09.12.2022	David D. .layout_leiste_menue -> z-index: 10;
		10.01.2023	Tim			.inhalt und .inhalt_mitte gemerged
		20240612	carschtn	a bisserl am tablet layout gebastelt
*/


@import url('/css/fonts.css?cache=12122022');
@import url('/css/variables.css?cache=0312202501');
@import url('/css/menu.css?cache=2026030601');


/************************************************************/
/*															*/
/*							GLOBAL							*/
/*															*/
/************************************************************/




svg {
	--svgColor: #000;
	--background: #fff;
	width: auto;
	height: auto;
}

.button.btn4 svg {
	--svgColor: #fff;
}

div#fancybox-wrap {
	box-sizing: content-box;
}

body {
	color: var(--primary-brand);
	font-family: var(--primaryFont);
	font-weight: 300;
	line-height: 1.5em;
	margin: 0;
}

h1,
h2,
h3,
h4 {
	font-weight: 500;
	margin-top: 0;
	font-family: var(--secondaryFont);
}

h1 {
	font-size: 2em;

}

h2 {
	font-size: 1.75em;
}

h3 {
	font-size: 1.5em;
}

h4 {}

p {
	font-size: 1em;
}

img {
	border: 0;
}

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

label {
	cursor: pointer;
}

input[type="search"] {
	-webkit-appearance: none;
	-moz-appearance: textfield;
}

input,
textarea,
select,
select>option,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
	padding: 1em;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	outline: 1px solid transparent;
	background: #F2F2F4;
	border: 0;
	transition: outline 0.25s, background 0.25s;
}

input:focus,
textarea:focus {
	outline: 1px solid var(--primary-brand);
	background: #fff;
}

input[type="checkbox"],
input[type="radio"] {
	outline: 0;
}

textarea {
	height: 5em;
}

button,
.button,
a.button,
.meinung_eigene_block input[type="submit"]:focus {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	background-color: var(--btn1Bg);
	color: var(--btn1Color);
	border-color: var(--btn1BorderColor);
	text-decoration: none;
	cursor: pointer;
	border-radius: 0;
	font-weight: 400;
	color: #FFFFFF;
	padding: 1em;
	border: 0;
	transition: background 0.25s, border 0.25s, outline 0.25s;
	outline: 2px solid transparent;
}

button:hover,
.button:hover,
a.button:hover {
	background-color: var(--btn1BgHover);
	color: var(--btn1ColorHover);
	border-color: var(--btn1BorderColorHover);
	outline-color: var(--btn1BorderColorHover);
}

/* Tim: disabled-Button gibt es im Warenkorb (Bestellbutton), wenn ein zu grosser Artikel (z.B. ungeteilte Flaechenvorhangstange) im Warnkorb liegt */
button:disabled,
.button.disabled,
a.button.disabled {
	cursor: not-allowed;
	color: gray;
}

button:disabled,
.button.disabled,
a.button.disabled {
	opacity: 0.3;
	transition: opacit;
}

button:disabled:hover,
.button.disabled:hover,
a.button.disabled:hover {
	border-color: var(--btn3BorderColor) !important;
	outline-color: transparent !important;
	/*background-color: var(--btn1Bg);*/
}

button.btn2,
.button.btn2,
a.button.btn2 {
	background-color: var(--btn2Bg);
	color: var(--btn2Color);
	border-color: var(--btn2BorderColor);
}

button.btn2:hover,
.button.btn2:hover,
a.button.btn2:hover {
	background-color: var(--btn2BgHover);
	color: var(--btn2ColorHover);
	border-color: var(--btn2BorderColorHover);
	outline-color: var(--btn2BorderColorHover);
}

button.btn3,
.button.btn3,
a.button.btn3 {
	background-color: transparent;
	color: var(--btn3Color);
	border: 1px solid;
	border-color: var(--btn3BorderColor);
	backdrop-filter: blur(1em);
}

button.btn3:hover,
.button.btn3:hover,
a.button.btn3:hover {
	color: var(--btn3ColorHover);
	border-color: transparent;
	outline-color: var(--btn3BorderColorHover);
}

.btn4,
button.btn4,
.button.btn4,
a.button.btn4 {
	background-color: var(--btn4Bg);
	color: var(--btn4Color);
	border-color: var(--btn4BorderColor);

}

.btn4:hover,
button.btn4:hover,
.button.btn4:hover,
a.button.btn4:hover {
	background-color: var(--btn4BgHover);
	color: var(--btn4ColorHover);
	border-color: var(--btn4BorderColorHover);
	outline-color: var(--btn4BorderColorHover);
}

.btn4:disabled,
button.btn4:disabled,
.button.btn4:disabled,
a.button.btn4:disabled {
	background-color: var(--btn4BgDisabled);
	color: var(--btn4ColorDisabled);
	border-color: var(--btn4BgDisabled);
	outline-color: var(--btn4BgDisabled);
}

.btn5,
button.btn5,
.button.btn5,
a.button.btn5 {
	background-color: var(--btn5Bg);
	color: var(--btn5Color);
	border-color: var(--btn5BorderColor);
}

.btn5:hover,
button.btn5:hover,
.button.btn5:hover,
a.button.btn5:hover {
	background-color: var(--btn5BgHover);
	color: var(--btn5ColorHover);
	border-color: var(--btn5BorderColorHover);
	outline-color: var(--btn5BorderColorHover);
}

.btn5:disabled,
button.btn5:disabled,
.button.btn5:disabled,
a.button.btn5:disabled {
	background-color: var(--btn5BgDisabled);
	color: var(--btn5ColorDisabled);
	border-color: var(--btn5BgDisabled);
	outline-color: var(--btn5BgDisabled);
}

button.highlight,
.button.highlight,
a.button.highlight {
	background-color: var(--primary-color);
}

a {
	color: #000;
	font-weight: 400;
}

/*
.btn {
	font-size: 1rem !important;
	padding: 0.75em 1.5em !important;
	cursor: pointer !important;
	transition: background 0.25s !important;
}
.btn.primaer {
	background: var(--primary-color) !important;
	color: var(--primary-color-text) !important;
	border: 1px solid var(--primary-color) !important;
}
.btn.primaer:hover {
	background: var(--btn1BgHover) !important;
	color: var(--primary-color-text) !important;
}
*/



#layout_entirePage {
	top: 0;
	position: relative;
	/* margin-bottom: 2em; */
}

.layout_leiste_full::after {
	content: "";
	display: block;
	width: 100%;
	padding: 1em 0;
	background-image: linear-gradient(0deg, #fff 0%, #e3e3e3 100%);
}

.logoSmallHeader,
.layout_option_header_schmal .layout_leiste_full,
.layout_option_header_schmal .logoBigHeader,
.layout_leiste_full.layout_option_header_schmal::after,
.flexBanner .niceToKnow>span {
	display: none;
}

.layout_option_header_schmal .logoSmallHeader {
	display: block;
}

/*
#layout_entirePage::after {
	content: "";
	display: block;
	width: 100%;
	padding: 1em 0;
	background-image: linear-gradient(0deg, #fff 0%, #e3e3e3 100%);
}
*/
#layout_header:not(.layout_option_header_schmal #layout_header),
.layout_option_header_schmal .banner_wrapper_ws {
	border-top: 3px solid var(--primary-brand);
	background: #fff;
}

/*
.layout_option_header_schmal .flexBanner {
	box-shadow: 0px 12px 40px #CECECEB3;
	max-width:none;
	opacity:.7;
}
*/
.layout_option_header_schmal .banner_wrapper_ws {
	box-shadow: 0px 12px 40px #CECECEB3;
	/*max-width:none;*/
	opacity: .7;
	transition: opacity 0.25s;
}

.layout_option_header_schmal .banner_wrapper_ws:hover {
	opacity: 1;
}

.call_filter_mobile {
	display: none;
}

/************************************************************/
/*															*/
/*						Header-Layout						*/
/*															*/
/************************************************************/

#layout_header * {
	/*transition: all ease 0.4s;*/
	box-sizing: border-box;
}

.flexBanner {
	gap: 2em;
	/*font-family: var(--secondaryFont);*/
	font-size: 1.0625em;
	font-weight: 400;
	line-height: 30px;
}

.flexBanner a {
	text-decoration: none;
}

.flexBanner,
.flexBanner>div {
	display: flex;
	align-items: center;
	gap: 3em;
	background: #fff;
	color: #7c7c7c;
}

.flexBanner,
.flexBanner * {
	color: #7c7c7c;
}

.flexBanner>div {
	gap: 1em;
}

.flexBanner>div {
	flex: 1 1 27%;
}

.flexBanner>div:first-child {
	opacity: 1;
	transition: margin 0.25s, opacity 0.25s;
}

.flexBanner>div:nth-child(2) {
	flex: 1 1 auto;
}

.flexBanner>div:last-child {
	justify-content: end;
}

.flexBanner #dropdownMenuButton {
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	cursor: pointer;
	width: 9em;
	min-width: 38px;
	min-height: 38px;
	position: relative;
}

.flexBanner #dropdownMenuButton div {
	margin-left: 4em;
	/*width: 7em;*/
	font-size: initial;
}

.flexBanner #dropdownMenuButton.burger span,
.flexBanner #dropdownMenuButton.burger span::before,
.flexBanner #dropdownMenuButton.burger span::after {
	content: "";
	position: absolute;
	width: 38px;
	background: #000;
	height: 3px;
	display: block;
	transition: transform 0.25s cubic-bezier(0.23, 1, 0.32, 1);
}

.flexBanner #dropdownMenuButton.burger span:before {
	margin-top: -10px;
}

.flexBanner #dropdownMenuButton.burger span:after {
	margin-top: 10px
}

.flexBanner #dropdownMenuButton.aktiv span {
	background: transparent;
}

.flexBanner #dropdownMenuButton.aktiv span::before,
.layout_option_header_schmal .flexBanner #dropdownMenuButton.aktiv span::before {
	transform: rotate(45deg);
	margin-top: 0;
}

.flexBanner #dropdownMenuButton.aktiv span::after,
.layout_option_header_schmal .flexBanner #dropdownMenuButton.aktiv span::after {
	transform: rotate(-45deg);
	margin-top: 0;
}

.flexBanner #dropdownMenuButton~span,
.flexBanner #dropdownMenuButton~a {
	font-weight: 300;
	font-size: small;
	line-height: 1.5em;
}

.flexBanner .niceToKnow {
	display: flex;
	gap: 1em;
	flex-flow: row nowrap;
	align-items: center;
	flex: 1 1 100%;
	justify-content: end;
}

.flexBanner .niceToKnow a,
.flexBanner .massanfertigungen {
	line-height: 1.1em;
	display: flex;
	height: 30px;
	align-items: center;
}

.flexBanner .muster,
.flexBanner .faq,
.flexBanner .massanfertigungen {
	background: url("/bilder/layout/icon_gratis_muster.svg") no-repeat 0 50%;
	background-size: 2.5em auto;
	padding-left: 3em;
	font-size: 0.875em;
}

.flexBanner .massanfertigungen {
	background-image: url("/bilder/layout/icon_massanfertigung.svg");
}

.flexBanner .faq {
	background-image: url("/bilder/layout/icon_faq.svg");
}

.flexBanner .faq {
	background-image: url("/bilder/layout/icon_faq.svg");
}

.flexBanner>div:nth-child(2) a {
	display: block;
	margin: auto;
}

.flexBanner>div:nth-child(2) img {
	height: 80px;
	margin: 1em 0;
}

.layout_option_header_schmal .flexBanner>div:nth-child(2) img {
	height: 50px;
	margin: .5em 0;
}

.flexBanner form {
	display: flex;
	justify-content: end;
	margin: 0;
	width: 82%;
	transition: width 0.25s;
}

.flexBanner input {
	font-family: var(--primaryFont);
	padding: 0.8em;
	border: 1px solid transparent;
	border-right-width: 0;
	outline: 0;
	width: 90%;
	transition: border 0.25s;
}

.flexBanner form input+input,
.flexBanner form input+input:focus {
	border: 1px solid transparent;
	border-left: 0;
	padding-right: 1.5em;
	border-right-width: 1px;
	background: #F2F2F4 url("/bilder/layout/icon_banner_suche.svg") no-repeat 50% 50%;
	background-size: 100% auto;
	outline: 0;
	cursor: pointer;
	width: 3em;
}

.layout_option_header_schmal .flexBanner form input+input,
.flexBanner form input+input:focus {
	/*background-size: 1.5em auto;*/
}

.flexBanner form input:focus,
.flexBanner form input:focus+input {
	border-color: var(--primary-brand);
	background-color: #fff;
}

.flexBanner .bannerWarenkorb {
	padding-left: 1.5em;
	width: 4.5em;
	position: relative;
	flex: 0 0 76.5px;
}

.layout_option_header_schmal .flexBanner .bannerWarenkorb {
	width: 70px;
}

/*
@media (max-width: 1500px) {
	.layout_option_header_schmal .flexBanner #dropdownMenuButton {
			margin-left:1em;
	}
	.layout_option_header_schmal .flexBanner .bannerWarenkorb {
			margin-right: 1em;
	}
}
*/
.layout_option_header_schmal .flexBanner input[type="search"],
.layout_option_header_schmal .flexBanner input[type="submit"] {
	padding: .5em;
	height: 40px;
	margin-top: 5px;
}

.flexBanner .bannerWarenkorb img {
	width: 100%;
}

.flexBanner .bannerWarenkorb span {
	display: none;
}

.flexBanner .bannerWarenkorb .nicht-leer {
	position: absolute;
	left: 1em;
	display: block;
	width: 1.5em;
	height: 1.5em;
	border-radius: 100%;
	text-align: center;
	line-height: 1em;
	background: var(--btn4Bg);
	padding: 0.25em;
	color: var(--btn4Color);
}

@media (max-width: 1159px){
		.banner_suche {
			flex-direction: column;
		}
}

/*
.layout_option_header_schmal .flexBanner .bannerWarenkorb .nicht-leer {
	width: .8em;
	height: .8em;
	line-height: .7em;
}*/
.contentWidthMax {
	width: 100%;
	max-width: 1672px;
	margin: auto;
	box-sizing: border-box;
	/*padding: 0 3em;*/
}

.contentWidthMax.flexBanner,
.contentWidthMax.layout_leiste_breadcrumb,
.contentWidthMax .artikel_alle,
.contentWidthMax.footerHauptbereich {
	padding: 0 1em;
}

.layout_leiste_full_sssssss {
	padding-top: 2em;
	background: #f2f2f4;
	background-image: linear-gradient(#e2e2e2 0%, #fff 100%)
}

.layout_leiste_full {
	background: #f6f6f6;
}

.layout_leiste_menue>* {
	white-space: nowrap;
}

.layout_leiste_menue {
	position: relative;
	display: flex;
	align-items: center;
	background: #F6F6F6;
	/*color: black;*/
	padding: 0 3em;
	justify-content: space-between;
	transition: height 0.25s;
	overflow: hidden;
	z-index: 10;
}

.layout_option_header_schmal .banner_wrapper_ws {
	height: 4rem;
	margin: 0;
	padding: 0;
	/*background: #fff none repeat scroll 0 0;*/
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 1000;
	/*opacity: 1;*/
}

.layout_leiste_menue .layout_leiste_menue_logos {
	flex-wrap: wrap;
	justify-content: center;
}

.layout_leiste_menue .layout_leiste_menue_logos img {
	height: 25px;
	padding: 0 0.5em;
}

.layout_leiste_menue .layout_leiste_menue_logos,
.layout_leiste_menue .produkte,
.layout_leiste_menue .zahlarten,
.layout_leiste_menue .versanddienstleister {
	display: flex;
	align-items: center;
}

.layout_leiste_menue .zahlarten {
	margin-right: 2em;
}

.layout_leiste_menue .telefon {
	display: flex;
	align-items: center;
	font-weight: 600;
}

@media (max-width: 1200px) {
	.layout_leiste_menue {
		flex-direction: column;
	}

	.layout_leiste_menue .produkte {
		justify-content: center;
		order: 2;
	}

	.layout_leiste_menue .layout_leiste_menue_logos {
		padding: 1em 0;
		justify-content: space-between;
		order: 1;
		flex-wrap: wrap;
	}
}

@media (max-width: 800px) {

	.layout_leiste_menue .layout_leiste_menue_logos {
		width: 100%;
	}
}


/*Rabattaktion 01.02.2024 */
.leisteRabatt {
	background-color: black;
	color: white;
	padding: 0.45em;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.1em;
	white-space: nowrap;
}

.leisteRabatt .symbolRabatt {
	width: 1.5em;
	margin: 0 0.5em;
}

.leisteRabatt .rabattsatz {
	font-weight: 400;
}

.layout_option_header_schmal .leisteRabatt {
	display: none;
}

@media (max-width: 800px) {
	.leisteRabatt {
		font-size: 0.8em;
	}
}


/************************************************************/
/*															*/
/*						breadcrumb							*/
/*															*/
/************************************************************/
#feste_breite {
	/*padding: 1em;*/
}

.feste_breite {
	/*max-width: 1920px;
	max-width: 100%;*/
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.layout_leiste_breadcrumb {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	min-height: 50px;
	/*padding: 0 2.7%;*/
}

.layout_breadcrumb {
	position: relative;
	display: flex;
	align-items: center;
	margin-top: 0;
}

.breadcrumb_erklaerung {
	color: #888;
	text-transform: uppercase;
	display: inline-block;
}

.breadcrumb_erklaerung::after {
	content: "|";
	margin-left: 1em;
}

.breadcrumbs {
	color: #888;
	display: inline-block;
}

.breadcrumbs>span::after {
	content: '>';
}

.breadcrumbs>span:last-child::after {
	content: '';
}

.breadcrumbs a:link,
.breadcrumbs a:active,
.breadcrumbs a:visited {
	color: #888;
	text-decoration: none;
}

.breadcrumbs .item {
	display: inline-block;
	margin-top: 4px;
	margin-bottom: 4px;
	padding-left: 10px;
	padding-right: 10px;
	padding-top: 0;
	padding-bottom: 0;
	font-size: 0.875em;
}

/************************************************************/
/*															*/
/*						Inhalt-Layout						*/
/*															*/
/************************************************************/
.inhalt {
	background-color: #ffffff;
	min-height: 300px;
	padding: 0 1em;
}

/************************************************************/
/*															*/
/*						Footer-Layout						*/
/*															*/
/************************************************************/
#layout_footer {
	background-color: #f6f6f6;
}

#layout_footer.eingeklappt {
	/*relevant in den Konfis*/
	position: fixed;
	bottom: 0;
	left: 0.5%;
	right: 0.5%;
	z-index: 1;
	width: 99%;
	background-color: #ffffff;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
}

.eingeklappt #layoutFooterAusklappButton {
	font-size: 2.5em;
	position: fixed;
	left: 0;
	bottom: 0;
	cursor: pointer;
	display: inline-block;
}

#layout_footer_content .footerHauptbereich {
	clear: both;
	display: flex;
	justify-content: space-around;
	flex-flow: row wrap;
	/*padding-bottom: 50px;*/
	padding: 0 3em 7rem 3em;
}

#layout_footer .menuFooter {
	display: flex;
	justify-content: center;
	gap: 4em;
	flex-direction: column;
	margin-left: 2em;
	margin-right: 2em;
}

#layout_footer .menuFooterContent {
	margin: 0;
}

.menuFooterContent ul:last-child li {
	/*margin-bottom: 0.5em;
	padding: 0 0.5em;*/
}

.menuFooterContent ul:last-child li:not(.ue) {
	/*border: 1px solid #7c7c7c;*/
}

#layout_footer .menuFooterContent~div {
	display: flex;
}

#layout_footer #toTopFooter {
	text-align: center;
	font-weight: 400;
	font-size: 1rem;
	color: #7C7C7C;
	background: url(/bilder/layout/pfeil_oben.svg) no-repeat 50% 0.75em;
	background-size: 2em auto;
	cursor: pointer;
	margin: auto;
	width: 200px;
	padding: 3em 0 1em 0;
	transition: background 0.25s, color 0.25s;
}

#layout_footer #toTopFooter img {
	margin-top: 1em;
	max-width: 100%;
}

#layout_footer #toTopFooter:hover {
	background: url(/bilder/layout/pfeil_oben.svg) no-repeat 50% 0em;
	background-size: 2em auto;
	color: #7C7C7C;
}

#layout_footer .bottom_center {
	background: var(--primary-brand);
	}

#layout_footer .bottom_center,
#layout_footer .bottom_center a {
	text-align: center;
	padding: 1.5em 0;
	color: #CECECE;
	font-size: 1rem;
}

#layout_footer .bottom_center a {
	font-weight: 500;
}

#layout_footer .domainname {
	text-transform: uppercase;
}

#layout_toTopButton {
	right: 0;
	bottom: 50px;
	cursor: pointer;
	position: fixed;
	z-index: 9999;
	border: 1px solid #888;
	height: 50px;
	transform: scale(0);
	opacity: 0;
	transition: transform 0.5s, opacity 0.5s;
}

#layout_toTopButton.show {
	transform: scale(1);
	opacity: 1;
}

#layout_toTopButton.show img {
	width: 100%;
	height: 100%;
}

#layout_toTopButton.hide {
	transform: scale(0);
}

/************************************************************/
/*															*/
/*						ServiceMenu							*/
/*															*/
/************************************************************/
div.serviceMenuWrapper * {
	box-sizing: border-box;
}

div.serviceMenuWrapper {
	overflow: hidden;
	box-shadow: 0px 3px 6px #00000029;
	border-radius: 0px;
	position: fixed;
	right: 0;
	top: 180px;
	z-index: 55;
	background: #fff;
	transition: width 0.25s, border-radius 0.25s;
}

.layout_option_header_schmal div.serviceMenuWrapper {
	top: 110px;
}

div.serviceMenuWrapper,
div.serviceMenuWrapper .serviceMenu {
	width: 30em;
}

div.serviceMenuWrapper .serviceMenu {
	display: flex;
	flex-flow: column nowrap;
	padding: 1em;
	gap: 1em;
}

div.serviceMenuWrapper .serviceMenu>div:first-child {
	font-family: var(--secondaryFont);
}

div.serviceMenuWrapper .serviceMenu>div:first-child span {
	background: url(/bilder/layout/icon-telefon.svg) no-repeat 0 50%;
	background-size: auto 1.2em;
	padding-left: 1.2em;
	margin-left: 1em;
	font-family: var(--primaryFont);
	font-weight: 500;
}

div.serviceMenuWrapper .serviceMenu .mitarbeiter,
div.serviceMenuWrapper .serviceMenu .mitarbeiter>div {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
	gap: 0.5em;
}

/*
div.serviceMenu .mitarbeiter > div {
	flex-wrap: wrap;

}
*/
div.serviceMenuWrapper .serviceMenu .mitarbeiter>div:first-child img:last-child {
	width: 2em;
	border-radius: 0;
	display: none;
}

div.serviceMenuWrapper .serviceMenu .mitarbeiter>div>img {
	height: 3.5em;
	border-radius: 3.5em;
}

div.serviceMenuWrapper .serviceMenu .serviceBtns {
	display: flex;
	flex-flow: row nowrap;
	gap: 1em;
}

div.serviceMenuWrapper .serviceMenu .serviceBtns .button {
	outline-color: var(--btn3BorderColorHover);
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
	padding: 0.5em;
	flex: 1 1 50%;
}

div.serviceMenuWrapper .serviceMenu .serviceBtns .button>span span:first-child {
	padding-right: 1.5em;
	color: var(--accent-color);
}

div.serviceMenuWrapper .serviceMenu .serviceBtns .btn4 {
	text-transform: uppercase;
}

div.serviceMenuWrapper .serviceMenu .serviceBtns .button img {
	width: 2em;
}

div.serviceMenuWrapper.inaktiv {
	width: 7em;
	border-radius: 50px 0 0 50px;
}

div.serviceMenuWrapper.inaktiv .serviceMenu {
	padding: 0.5em;
}

div.serviceMenuWrapper.inaktiv .serviceMenu>div:first-child,
div.serviceMenuWrapper.inaktiv .serviceMenu>div:last-child,
div.serviceMenuWrapper.inaktiv .serviceMenu .mitarbeiter>div:first-child span {
	display: none;
}

div.serviceMenuWrapper.inaktiv .serviceMenu .mitarbeiter>div:first-child img:last-child {
	display: block;
}






.bewertungLink {
	position: fixed;
	right: 0;
	top: 270px;
	z-index: 55;
	padding: 1em 1.3em;
	background: black;
	box-shadow: 0px 3px 6px #00000029;
	border-radius: 50px 0 0 50px;
	display: flex;
	justify-content: center;
	transition: width 0.25s, border-radius 0.25s;
	max-width: 8em;
	text-decoration: none;
	flex-direction: column;
	align-items: center;
	color: #ffffff;
}

.bewertungLink .iconBewertungen {
	width: 1.1em;
}

.bewertungLink .iconBewertungenHover {
	display: none;
}

.bewertungLink .textHover {
	display: none;
}

.layout_option_header_schmal .bewertungLink {
	top: 110px;
}

.bewertungLink:hover {
	background-color: #ffffff;
	color: #000000;
}

.bewertungLink:hover .textHover {
	display: block;
	font-size: 0.75em;
}

.bewertungLink:hover .textDefault {
	display: none;
}

.bewertungLink:hover .iconBewertungenHover {
	display: inline;
}

.bewertungLink:hover .iconBewertungenDefault {
	display: none;
}



@media (max-width: 500px) {
	.bewertungLink {
		display: none;
	}
}









/************************************************************/
/*															*/
/*						AnfrageForm							*/
/*															*/
/************************************************************/
#kontakForm {
	padding: 1em 3%;
	margin: 1em auto;
	max-width: 816px;
	position: relative;
}

.anfrage {
	width: 90%;
	max-width: 1090px;
	margin: 0 auto 1em auto;
}

.anfrage .kontakt {
	display: flex;
}

.anfrage .kontakt p {
	flex: 1 1 auto;
}

.anfrage form * {
	box-sizing: border-box;
}

.anfrage form {
	padding: 0;
	margin: 0;
	font-size: 0.875em;
	font-weight: 400;
	display: grid;
	grid-template-columns: 50% 50%;
	grid-template-rows: auto auto;
	grid-template-areas: ". ." "attachments attachments" "submit submit";
	grid-gap: 0 1em;
}

.anfrage form .input {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	gap: 1em;
	padding: 1em 0 1em 0;
}

.anfrage form .input label {
	display: flex;
	flex-direction: column;
	width: calc(50% - 0.5em);
}

.anfrage form .text label textarea {
	width: 100%;
	resize: vertical;
	height: 9.25em;
}

.anfrage form .text {
	padding: 1em 0 1em 0;
}

.anfrage form .attachments {
	grid-area: attachments;
	min-width: 0;
}

.anfrage form .submit {
	grid-area: submit;
	display: flex;
	gap: 1em;
	justify-content: center;
}

.anfrage form .submit .btn {
	max-width: 15em;
	width: 50%;
}

.anfrage form .input label.spam {
	width: 100%;
	display: grid;
	grid-template-columns: 25% 75%;
	grid-template-rows: auto auto;
	grid-template-areas: "text text" "input spamTxt";
	grid-gap: 0 1em;
}

.anfrage form .input label.spam input {
	grid-area: input;
	text-align: center;
}

.anfrage form .input label.spam input+span {
	grid-area: spamTxt;
	line-height: 2.75em;
	font-size: small;
}

.anfrage form .input label.spam input+span span {
	color: var(--secondary-color);
}

.anfrage .submit {
	margin-bottom: 1em;
}

.anfrage .kleingedrucktes {
	font-size: small;
}

/************************************************************/
/*															*/
/*						WiderrufForm						*/
/*															*/
/************************************************************/
.widerrufformular {
	width: 100%;
	display: grid;
	grid-template-columns: 50% 50%;
	grid-template-rows: auto auto auto auto auto auto auto auto auto auto auto;
	grid-gap: 20px;
}

.widerrufformular .halb {
	grid-template-columns: calc(50% - 8px) calc(50% - 8px);
	grid-gap: 16px;
}

.widerrufformular .formular {
	display: grid;
	grid-column: 1;
	font-weight: 400;
}

.widerrufformular .einDr {
	grid-template-columns: calc(33% - 8px) calc(66% - 8px);
	grid-gap: 16px;
}

.widerrufformular .zwDr {
	grid-template-columns: calc(66% - 8px) calc(33% - 8px);
	grid-gap: 16px;
}

.widerrufformular .formular input,
.widerrufformular .formular textarea {
	width: 100%;
	border: none;
	background: #F2F2F4;
	padding: 1em 0.5em;
	font-size: 1rem;
}

.widerrufformular .formular textarea {
	resize: vertical;
	height: 8em;
}

.widerrufformular .notiz {
	grid-column: 2;
	display: flex;
	align-items: flex-end;
	font-size: 14px;
	color: #A7A7A8;
}

.widerrufformular .formular .spamtext {
	margin-top: 1.4em;
	display: flex;
	align-items: center;
}

.spamcode {
	color: var(--secondary-color);
}

.widerrufformular .achtung {
	display: flex;
	gap: 1em;
}

.widerrufformular .achtung h4 {
	margin: 0;
}

.widerrufformular .formular.buttons {
	display: flex;
	gap: 1em;
	justify-content: end;
}

.widerrufformular .formular.buttons button {
	display: flex;
	gap: 1em;
	align-items: center;
	width: 33.333333%;
	min-width: 6em;
	justify-content: center;
}


/************************************************************/
/*															*/
/*						AGB�s & Co							*/
/*															*/
/************************************************************/
#verwaltung {
	width: 75%;
	margin: auto;
	margin-bottom: 4em;
}

#verwaltung .shopInfo {
	width: 75%;
	display: flex;
	gap: 1em;
	justify-content: space-between;
	margin-bottom: 2em;
}

#verwaltung .shopInfo p {
	margin: 0;
}

#verwaltung .shopName {
	font-weight: 500;
}

#verwaltung ol,
#verwaltung ul {
	padding-left: 1em;
}

#verwaltung.versandInfo {
	text-align: center;
}

#verwaltung.versandInfo img {
	margin-bottom: 2em;
	width: 90%;
	max-width: 600px;
}

#verwaltung.reklaInfos div {
	display: flex;
	gap: 1em;
}

#verwaltung.reklaInfos div img {
	margin: auto;
}

.agbs {
	text-align: justify;
	margin-bottom: 2em;
}

.agbs ol,
/*.agbs h2,*/
.datenschutz ol

/*, .datenschutz h2*/
	{
	counter-reset: secondLevel;
}

/*.agbs h3::before, .agbs ol > li::marker, .datenschutz h3::before,*/
.datenschutz ol>li::marker {
	counter-increment: secondLevel;
	content: counter(secondLevel, lower-alpha) ") ";
	font-weight: 500;
}

#verwaltung .agbs ol li,
#verwaltung .agbs ul li {
	padding-left: 1em;
}

.agbs ol>li,
.datenschutz ol>li {
	counter-increment: secondLevel;
}

#verwaltung ul li {
	list-style: initial;
}

.agbs ol li p {
	margin-left: 0;
	margin-right: 0;
}

/************************************************************/
/*															*/
/*							Artikel							*/
/*															*/
/************************************************************/
.artikel .artikel_table_main {
	display: flex;
}

/************************************************************/
/*															*/
/*							@media�s						*/
/*															*/
/************************************************************/

.inhalt {
	padding: 0 1em;
}

@media (max-width: 1260px) {

	#dropdownMenuButton,
	#banner_suche.default input[type="submit"] {
		background-position: 50% 50%;
		margin-right: 0;
	}

	#dropdownMenuButton span,
	#banner_suche.default::after,
	.banner_rechts_warenkorb {
		display: none;
	}

	#dropdownMenuButton {
		padding-left: 0;
	}

	#banner_suche.default input[type="submit"] {
		padding-left: 100%;
	}

}

@media (max-width: 1024px) {
	.bewertungLink {
		top: 240px;
	}

	.anfrage form {
		display: flex;
		flex-direction: column;
	}

	.anfrage form .input label {
		width: 100%;
	}

	.flexBanner #dropdownMenuButton {
		width: auto;
	}

	.flexBanner .muster,
	.flexBanner .faq {
		padding-top: 2em;
		padding-bottom: 2em;
	}

	.flexBanner form {
		width: 50%;
	}

	.flexBanner .muster span,
	.flexBanner .faq span {
		display: none;
	}

	.onlyDesktop {
		display: none;
	}

	.flexBanner .niceToKnow {
		justify-content: start;
	}

	#layout_footer_content .footerHauptbereich {
		padding: 0 1em 7rem 1em;
	}
}

@media (max-width: 768px) {

	.flexBanner .muster,
	.flexBanner .faq {
		display: none;
	}

	.layout_leiste_breadcrumb {
		display: none;
	}

	.widerrufformular {
		grid-template-columns: 100%;
	}

	.widerrufformular .formular {
		margin-left: 10px;
		margin-right: 10px;
	}

	.widerrufformular .notiz {
		margin-left: 10px;
		margin-right: 10px;
		grid-column: 1;
	}

	.widerrufformular .formular.buttons button {
		width: 50%;
	}

	.flexBanner {
		gap: 1em;
	}

	.flexBanner input[type="search"] {
		/*display: none;*/
	}

	.flexBanner input[type="submit"],
	.flexBanner input[type="submit"]:focus {
		/*background-color: #fff;*/
	}
}

@media (min-width: 501px) {
	body.layout_option_header_schmal {
		margin-top: 80px;
		/*diese Angabe wird u.a. f�r den Plissee Konfi, den Markisentuch Konfi oder den Fl�chenvorhangkonfi ben�tigt*/
		/* 20.01.2023, Tim, Erhoehung von 65px auf 80px um an die anderen Shops anzugleichen. Wenn das anders sein soll, bitte die Shops gleich halten oder mit mir eine Loesung besprechen. (Stichwort fuer mich: "Balkon-Konfigurator in allen Shops") */
	}
}

@media (max-width: 500px) {
	h1 {
		font-size: 1.5em;
	}

	h2 {
		font-size: 1.125em;
	}

	h3 {
		font-size: 1.375em;
	}

	h4 {}

	.contentWidthMax.flexBanner,
	.contentWidthMax.layout_leiste_breadcrumb,
	.contentWidthMax .artikel_alle,
	.contentWidthMax.footerHauptbereich {
		padding: 0 2em;
	}

	.anfrage .kontakt {
		flex-direction: column;
	}

	.anfrage form .input label.spam {
		display: flex;
		flex-direction: column;
	}

	.anfrage .submit {
		display: flex;
		gap: 1em;
	}

	.anfrage .submit .btn {
		flex: 1 1 auto;
		margin: 0;
	}

	.anfrage form .submit {
		flex-wrap: wrap;
	}

	.anfrage form .submit .btn {
		width: 100%;
		max-width: none;
	}

	#verwaltung {
		width: 90%;
	}

	#verwaltung h1 {
		font-size: 1.275em;
	}

	#verwaltung h2 {
		font-size: 1.2em;
	}

	#verwaltung h3 {
		font-size: 1.125em;
	}

	#verwaltung .shopInfo {
		flex-direction: column;
		width: 100%;
	}

	.widerrufformular .formular.buttons {
		flex-wrap: wrap;
	}

	.widerrufformular .formular.buttons button {
		width: 100%;
	}

	div.serviceMenuWrapper {
		display: none;
	}


	/*
				fuer die Option "mobile": false (z.B. Plissee-Konfigurator)
				.layout_option_mobile_noheaderfooter
		*/
	.layout_option_mobile_noheaderfooter #layout_header {
		display: none;
	}

}

/************************************************************/
/*															*/
/*						tables/tabellen						*/
/*															*/
/************************************************************/

.slider {
	padding-bottom: 1em;
	width: 100%;
	overflow: auto;
	margin: 4em auto 6.6666666667em auto;
}

.slider thead {
	font-size: 1rem;
	font-weight: 700;
	background: #F8F8F8;
}

.slider tbody {
	font-size: 1rem;
	font-weight: 400;
}

.slider table {
	border-collapse: collapse;
}

.slider th {
	padding: 1em;
}

.slider td {
	padding: 1.25em;
}

.slider td,
.slider th {
	border: 4px solid #EAEAEA;
	width: 16.6666666666666667%;
	box-sizing: border-box;
	min-width: 160px;
}

.slider td {
	text-align: center;
	vertical-align: middle;
}

.slider td:first-child img {
	width: 50%;
	max-width: 40px;
}

.slider tr .group>span,
.slider tr .group.double>span span {
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
}

.slider tr .group.double>span {
	flex-flow: row;
	gap: 1em;
}





/************************************************************/
/*															*/
/*							Buttons							*/
/*															*/
/************************************************************/

.konfigureiren_Button {
	background: #000;
	padding: 0.75em 0;
	padding-left: 1.875em;
	padding-right: 4em;
	color: #fff;
	background-image: url("/bilder/seo/zahnrad_weiss.svg");
	background-repeat: no-repeat;
	background-position-y: center;
	background-position-x: calc(100% - 1.375em);
	display: inline-block;
}

.centerButton {
	text-align: center;
}

.hinweis li {
	font-weight: 100;
}




/************************************************************/
/*															*/
/*						Custom Select						*/
/*															*/
/************************************************************/


.custom-select {
	position: relative;
	max-width: 100%;
	font-size: 1.15rem;
	color: #000;
	margin-top: 3rem;
}

.custom-select * {
	box-sizing: border-box;
}

.custom-select .select-button {
	width: 100%;
	font-size: 1.15rem;
	background-color: #fff;
	color: #000;
	padding: 0.675em 1em;
	border: 1px solid #caced1;
	border-radius: 0.25rem;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.custom-select .selected-value {
	text-align: left;
}

.custom-select .arrow {
	background: url(/XArtikelsystem/bilder/pfeil-unten-grau.svg);
	width: 1em;
	height: 1em;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: 50%;
	transition: transform ease-in-out 0.3s;
}

.custom-select .select-dropdown {
	position: absolute;
	list-style: none;
	width: 100%;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
	background-color: #fff;
	border: 1px solid #caced1;
	border-radius: 4px;
	padding: 10px;
	margin-top: 10px;
	max-height: 300px;
	overflow-y: auto;
	transition: 0.5s ease;

	transform: scaleY(0);
	transform-origin: top;
	opacity: 0;
	visibility: hidden;
}

.custom-select .select-dropdown li {
	position: relative;
	cursor: pointer;
	display: flex;
	gap: 1rem;
	align-items: center;
}



.custom-select .select-dropdown li label {
	width: 100%;
	padding: 8px 10px;
	cursor: pointer;
	display: flex;
	gap: 1rem;
	align-items: center;
}

.custom-select .select-dropdown li.disabled label,
.custom-select .select-dropdown li.disabled input {
	color: #EBEBE4;
	cursor: not-allowed;
}

.custom-select .select-dropdown::-webkit-scrollbar {
	width: 7px;
}

.custom-select .select-dropdown::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 25px;
}

.custom-select .select-dropdown::-webkit-scrollbar-thumb {
	background: #ccc;
	border-radius: 25px;
}

.custom-select .select-dropdown li:hover,
.custom-select .select-dropdown input:checked~label {
	background-color: #f2f2f2;
}

.custom-select .select-dropdown input:focus~label {
	background-color: #dfdfdf;
}

.custom-select .select-dropdown input[type="radio"] {
	position: absolute;
	left: 0;
	opacity: 0;
}

/* interactivity */
.custom-select.active .arrow {
	transform: rotate(180deg);
}

.custom-select.active .select-dropdown {
	opacity: 1;
	visibility: visible;
	transform: scaleY(1);
	z-index: 10;
}


#fancybox-content {
	text-align: center;
}

#fancybox-content img {
	/*damit Bilder in Fancybox nicht �ber den Rand raus gehen || 23.12.2024 David S.*/
	max-width: 100%;
	max-height: 90vh;
}