/*
		30.01.17 carsten  		ie 9+ (ohne edge) hack fï¿½r 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
*/


@import url('/css/fonts.css?cache=12122022');
@import url('/css/variables.css?cache=12122022');
@import url('/css/menu.css?cache=12122022');


/************************************************************/
/*															*/
/*							GLOBAL							*/
/*															*/
/************************************************************/



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;
	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-block;
	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;
	border-radius: 6px;
}

button:hover, .button:hover, a.button:hover {
	background-color: var(--btn1BgHover);
	color: var(--btn1ColorHover);
	border-color: var(--btn1BorderColorHover);
	outline-color: var(--btn1BorderColorHover);
	border-radius: 6px;
}

/* 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:hover, .button.disabled:hover, a.button.disabled:hover {
		border-color: transparent;
		outline-color: transparent;
		background-color: var(--btn1Bg);
}

button.btn2, .button.btn2, a.button.btn2 {
	background-color: var(--btn2Bg);
	background: var(--secondary-color-light);
	color: var(--secondary-text-color);
	border-color: var(--btn2BorderColor);
	border-radius: 6px;
}
button.btn2:hover, .button.btn2:hover, a.button.btn2:hover {
	background: var(--btn2BgHover);
	color: var(--btn2ColorHover);
	border-color: var(--btn2BorderColorHover);
	outline-color: transparent;
}

button.btn3, .button.btn3, a.button.btn3 {
	background-color: transparent;
	color: var(--btn3Color);
	border: 2px 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: var(--btn5Bg);
	color: var(--btn5Color);
	border-color: var(--btn5BorderColor);
	border-radius: 6px;
}
.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.btn6, .button.btn6, a.button.btn6 {
	background: var(--btn2BgHover);
	color: var(--btn2ColorHover);
	border-color: var(--btn2BorderColorHover);
	outline-color: transparent;
	border-radius: 6px;
}
.buttonBox a.button.btn6::after {
	content: url("/img/icon-arrow-forward_right_white.svg");
  position: absolute;
  margin-top: -3px;
  padding-left: 10em;
}

button.highlight, .button.highlight, a.button.highlight {
	background-color: var(--primary-color);
}
a {
	color: #000;
	font-weight: 400;
}
.schaltflaechenButton {
	width: 10.25em;
	height: 2.68em;
	border: solid 0px var(--btn3BorderColor);
	border-radius: 6px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	margin: 1em 1.25em;
	background: var(--secondary-color);
	color: white;
}
/*
.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(180deg, #E62D0059 -50%, #fff 30%);
}
 .layout_option_header_schmal .layout_leiste_full, .layout_leiste_full.layout_option_header_schmal::after, .flexBanner .niceToKnow > span {
	display:none;
}

.logoHeader{
	margin: 1em;
}
.layout_option_header_schmal .logoHeader{
	width: 10em;
	margin: 0.3em;
}

/*
#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;
}

.hinweisLight{
	box-shadow: 0px 8px 26px #00000042;
	border-radius: 12px;
	align-items: center;
	position: relative;
	margin-bottom: 2em;
	display: grid;
	grid-template-columns: 7em calc(100% - 17em) 10em;
	grid-template-rows: auto auto auto;
}
	.hinweisLight.hinweisLightBildGross{
		grid-template-columns: 25% calc(75% - 10em) 10em;
	}
	.hinweisLight.hinweisLightBildGross img{
		max-width: 80%;
		border-radius: 12px 12px 0 0;
	}

	.hinweisLight p{
		margin: 1em 2em;
	}

	.hinweisLight .icon, .hinweisLight > picture{
		grid-column: 1;
		grid-row: 2;
		align-self: center;
		justify-self: center;
	}

	.hinweisLight > picture{
		text-align: center;
	}
	.hinweisLight .icon{
		max-width: 5em;
		justify-self: end;
	}

	.hinweisLight .textHeader, .hinweisLight .textButtonbereich{
		grid-column: 2;
	}
	.hinweisLight .textHauptbereich{
		grid-column: 2 / span 2;
	}


	.hinweisLight .highlightTipp{
		background-color: var(--accent-color);
		padding: 0.6em 1em;
		color: #ffffff;
		border-radius: 0px 12px;
		grid-column: 3;
		grid-row: 1;
		justify-self: end;
		align-self: flex-start;
	}
		.hinweisLight .highlightTipp span{
			font-weight: 500;
			display: block;
			text-transform: uppercase;
		}
	.hinweisLight .button, .hinweisLight .button.btn6{
		border-radius: 4px 0px 0px 4px;
		padding: 0.5em 1em;
		grid-column: 3;
		grid-row: 3;
		margin-bottom: 2em;
		text-align: center;
	}
	.hinweisLight .button::after{
		content: url(/bilder/icons/pfeil_rechts_weiss.svg);
		vertical-align: middle;
	}

	@media (max-width: 768px) {
		.hinweisLight{
			grid-template-columns: 9em calc(100% - 15em) 6em;
			grid-template-rows: auto auto auto auto auto;
		}
				.hinweisLight .icon{
					grid-row: 1 / span 2;
					margin: 1em 0;
					justify-self: center;
				}
				.hinweisLight .textHeader{
					margin: 0;
					grid-row: 1 / span 2;
				}
				.hinweisLight .textHauptbereich:not(.hinweisLight.hinweisLightBildGross .textHauptbereich), .hinweisLight .textButtonbereich{
					grid-column: 1 / span 3;
				}
				.hinweisLight .button, .hinweisLight .button.btn6{
					grid-row: 5;
					grid-column: 2 / span 2;
					max-width: 10em;
					justify-self: end;
				}
	}

	@media (max-width: 500px) {
		.hinweisLight.hinweisLightBildGross picture{
			grid-column: 1 / span 3;
			grid-row: 1 / span 2;
		}
		.hinweisLight.hinweisLightBildGross picture img{
			max-width: 100%;
			width: 100%;
		}
		.hinweisLight.hinweisLightBildGross .textHauptbereich{
			grid-column: 1 / span 3;
		}		
	}

	@media (max-width: 380px) {
		.hinweisLight .icon{
			grid-row: 1;
			grid-column: 1 / span 2;
		}
		.hinweisLight .textHeader{
			grid-row: 2;
			grid-column: 1 / span 3 ;
		}

		.hinweisLight p, .hinweisLight .textHeader{
			margin: 1em 0.5em;
		}
	}



	.wrapperTabelle{
		max-width: 100%;
		overflow: auto;
	}

	.tabelleBlauGrau {
		border-collapse: collapse; 
		width: 100%;
		margin: 2em 0;
	}
	.tabelleBlauGrau th{
		font-weight: 400;
	}
	.tabelleBlauGrau tr:nth-child(even) td {
		background-color: #EDF3F7;
	}
	.tabelleBlauGrau tr:nth-child(even) td:first-child{	/*erste Spalte andere Farbe*/
		background-color: #F2F0F0;
	}

	.tabelleBlauGrau td, .tabelleBlauGrau th {
		border-right: 2px solid rgb(227, 222, 222);
		text-align: left;
		padding: 1em 1.5em;
	}
	.tabelleBlauGrau td:first-child {
		text-align: center;
	}



	.tabelleGhost th, .tabelleGhost td, .tabelleGhost tr{
			background-color: transparent !important;
			text-align: left;
			padding-right: 2em;
	}
	.tabelleGhost td{
		font-weight: 400;
	}

/************************************************************/
/*															*/
/*						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;
	background-color: linear-gradient(to right, red , yellow);
}
.flexBanner a {
	text-decoration: none;
}
.flexBanner, .flexBanner > div {
	display: flex;
	align-items: center;
	gap: 3em;
	background: #fff;
	color: #7c7c7c;
}
.flexBanner, .flexBanner * {
	color: #fff;
}
.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;
	background: transparent;
}
.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: var(--accent-color-text);
	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 {
	line-height: 1.1em;
	display: flex;
	height: 30px;
	align-items: center;
}
.flexBanner .muster, .flexBanner .faq {
	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 .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 {
	max-height: 80px;
	height: 100%;
	margin: 1em 0;
}
.layout_option_header_schmal .flexBanner > div:nth-child(2) img {
	max-height: 50px;
	height: 100%;
	margin: .5em 0;
}
.flexBanner form {
	display: flex;
	justify-content: end;
	margin: 0;
	width: 280px;
	transition: width 0.25s;
}
.flexBanner input {
	font-family: var(--primaryFont);
	padding: 0.8em;
	border-bottom: 2px solid white;
	outline: 0;
	width: 90%; /*war vorher auf 90%*/
	transition: border 0.25s;
	background: transparent;
}
.flexBanner input::placeholder{
	color: #FFFFFF;
}
.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: 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(--accent-color-text);
	background-color: transparent;
}
.flexBanner .bannerWarenkorb {
	width: 4.5em;
	position: relative;
	flex: 0 0 50px;
}
.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;
	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);
	right: 1.6em;
}
/*
.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 {
	background-image: var(--secondary-color);
  	max-width: inherit;
}
	.contentWidthMax.flexBanner,
	.contentWidthMax.layout_leiste_breadcrumb,
	.contentWidthMax .artikel_alle,
	.contentWidthMax.footerHauptbereich {
		padding: 0 3em;
	}
.layout_leiste_full_sssssss {
	padding-top: 2em;
	background: #f2f2f4;
	background-image: linear-gradient(#e2e2e2 0%, #fff 100%)
}
.layout_leiste_full {
	background: #f2f2f4;
}
.layout_leiste_menue > * {
	white-space: nowrap;
}
.layout_leiste_menue {
	position: relative;
	display: flex;
	align-items: center;
	height: 50px;
	background: #F6F6F6;
	/*color: black;*/
	padding: 0 3em;
	justify-content: center;
	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;*/
}
@media (max-width: 1600px) {
	.serviceText {
		display: none;
	}
}

@media (max-width: 1000px) {
	.layout_leiste_menue{
		padding: 0 1em;
	}
}		
/************************************************************/
/*															*/
/*						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;
	margin-top: 120px;
}
#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 {
	background: linear-gradient(to right, #F7EDEB , #F9F5EA);
}
#layout_footer_content .footerHauptbereich {
	clear: both;
	display: flex;
	justify-content: space-around;
	flex-flow: row wrap;
	/*padding-bottom: 50px;*/
	padding: 0 1em 7rem 1em;
}
#layout_footer .menuFooter {
	display: flex;
	justify-content: center;
	gap: 4em;
}
#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;
}
#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, #layout_footer .bottom_center a {
	text-align: center;
	padding: 1.5em 0;
	color: #CECECE;
	font-size: 1rem;
	background: var(--primary-brand);
}
#layout_footer .bottom_center a {
	font-weight: 500;
}
#layout_footer .domainname {
	text-transform: uppercase;
}

#layout_footer .zahlarten{
	max-width: 350px;
}
		#layout_footer .zahlarten li:not(#layout_footer .zahlarten .ue){
			display: inline-block;
			margin-right: 0.5em;
		}
		#layout_footer .zahlarten li img{
			max-width: 100%;
		}

#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:60px;
}
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;
}





/*
#######################################################
#													  #
#					cookiebanner    				  #
#													  #
#######################################################
*/

#cookieBanner {
	max-width: 81.5em;
	width: 62%;
	min-height: 6.375em;
	background-color: #FFFFFF;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	box-shadow: 0px -6px 40px #0000008A;
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	padding: 1em;
	bottom: 0;
	display: flex;
	align-items: center;
	gap: .5em;
	z-index: 12;
	justify-content: space-around;
}

#cookieBanner.hide {
	display: none;
}
#cookieBanner .cookieBannerContentWrapper {
	flex-grow: 1;
}
#cookieBanner .primaryButton {
	white-space: nowrap;
	font-size: 1em;
}
#cookieBanner .bannerButtonWrapper {
	display: flex;
	gap: 2em;
	font-size: 1em;
}
#cookieBanner .bannerButtonWrapper .linkButton {
	font-size: 1em;
}
	#cookieBanner .headLineBanner {
		font-size: 1.125em;
		display: block;
		font-weight: 600;
	}
	#cookieBanner .contentBanner {
		max-width: 45.125em;
		display: block;
	}

	
#cookieSettings {
	max-width: 52.5em;
	width: 70%;
	height: 85vh;
	background-color: #FFFFFF;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	box-shadow: 0px -6px 40px -6px  #0000008A;
	position: fixed;
	transform: translate(-50%, -50%);
	display: flex;
	flex-direction: column;
	padding: 1em;
	padding-bottom: 4em;
	top: 50%;
	left: 50%;
	z-index: 11000;
}
#cookieSettings.hide {
	display: none;
}
	#cookieSettings .headLineCookieSettings {
		font-size: 1.75em;
		display: flex;
		flex-direction: column;
		align-items: center;
		font-weight: 800;
		margin-top: 0.5em;
	}

	#cookieSettings .headLineSettings {
		font-size: 1.222em;
		display: block;
		font-weight: 600;
		margin-bottom: 0.625em;
		margin-top: 1em;
		display: flex;
		justify-content: space-between;
		user-select: none;
	}
	#cookieSettings .contentBannerSettings {
		max-width: 45.125em;
		display: block;
		font-weight: lighter;
		margin-top: 1em;
		margin-bottom: 1.75em;
	}
	#cookieSettings .contentLine {
		width: 100%;		
		border-color: transparent;
		background: #E8EBED;
	}
	#cookieSettings .contentBannerChoices {
		max-width: 43em;
		display: block;
		font-weight: lighter;
		margin-bottom: 1.25em;
	}
	#cookieSettings .contentChoices .ghostButton {
		float: right;
		margin-top: 2em;
		font-size: 1em;
	}

	#cookieSettings .settingsButton {
		display: flex;
		justify-content: flex-end;
		gap: 2em;

	}
	#cookieSettings .scrollContent {
		height: 100%;
		overflow: auto;	
		padding: 0 4em;
	}

	#cookieSettings .scrollContent img {
		width: 3.438em;
		display: flex;
  		margin-left: auto;
  		margin-right: auto;
	}

	#cookieSettings .footerContent {
		width: 100%;
		height: 3em;
		background-color: #E8EBED;
		left: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 4.563em;
		position: fixed;
  		bottom: 0;
		
	}
	#cookieSettings .footerContent a {
		color: var(--black);
	}
	.cookieBannerContentWrapperLeft {
		display: flex;
    	gap: 1em;
	}

	@media (max-width: 850px) {
		#cookieBanner {
			width: 95%;
			transform: translate(-50%, -50%);
			top: 70%;
			bottom: unset;
			border-radius: 8px;
			flex-direction: column;
			max-width: 27.111em;
			padding: 1em 1em .5em 1em;
		}
		#cookieBanner .headLineBanner {
			margin-bottom: 0.667em;
			font-size: 1.2em;
		}
		#cookieBanner .contentBanner {
			font-size: 1em;
		}
		#cookieBanner .bannerButtonWrapper {
			width: 100%;
		}
		#cookieBanner .bannerButtonWrapper > * {
			width: 50%;
		}
		.cookieBannerContentWrapperLeft img {
			order: 2;
		}
	}


@media (max-width: 700px) {
	#cookieSettings .scrollContent {
		padding: 0 1.5em;
	} 
}
@media (max-width: 450px) {
	#cookieSettings .scrollContent {
		padding: 0 0.5em;
	} 
	#cookieSettings .headLineCookieSettings {		
		font-size: 1.125em;
	}
	#cookieSettings .headLineSettings {
		font-size: 1em;
	}
	#cookieSettings .contentChoices .ghostButton {
		width: 100%;
	}
	#cookieSettings .footerContent {
		gap: 2em;
	}
}








/************************************************************/
/*															*/
/*						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: ". ." "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 .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						*/
/*															*/
/************************************************************/
@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) {
	.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;
	}
}
@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 , h2 {
		font-size: 1.5em;
	}

	h3 {
		font-size: 1.375em;
	}
	h4 {

	}
	.contentWidthMax.flexBanner,
	.contentWidthMax.layout_leiste_breadcrumb,
	.contentWidthMax .artikel_alle,
	.contentWidthMax.footerHauptbereich {
		padding: 0 1em;
	}
	.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
		  , .layout_option_mobile_noheaderfooter .banner_wrapper_ws, .layout_option_mobile_noheaderfooter #menuDropdown
		{
				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;
}











#fancybox-content img{ 	/*damit Bilder in Fancybox nicht über den Rand raus gehen || 23.12.2024 David S.*/	
    max-width: 100%; 
}