/* ##################################################################### */
/* #### custom properties (variables) ################################## */

:root {
	--color_value_primary:rgb(255,230,11);
}


/* ##################################################################### */
/* #### Fonts ########################################################## */

	/* pt-sans-regular - latin */
	@font-face {
		font-display: swap;
		font-family: 'PT Sans';
		font-style: normal;
		font-weight: 400;
		src: url('../Fonts/pt-sans-v17-latin-regular.woff2') format('woff2'),
			url('../Fonts/pt-sans-v17-latin-regular.ttf') format('truetype');
	}
	/* pt-sans-italic - latin
	@font-face {
		font-display: swap;
		font-family: 'PT Sans';
		font-style: italic;
		font-weight: 400;
		src: url('../Fonts/pt-sans-v17-latin-italic.woff2') format('woff2'),
			url('../Fonts/pt-sans-v17-latin-italic.ttf') format('truetype');
	} */
	/* pt-sans-700 - latin */
	@font-face {
		font-display: swap;
		font-family: 'PT Sans';
		font-style: normal;
		font-weight: 700;
		src: url('../Fonts/pt-sans-v17-latin-700.woff2') format('woff2'),
			url('../Fonts/pt-sans-v17-latin-700.ttf') format('truetype');
	}
	/* pt-sans-700italic - latin 
	@font-face {
		font-display: swap;
		font-family: 'PT Sans';
		font-style: italic;
		font-weight: 700;
		src: url('../Fonts/pt-sans-v17-latin-700italic.woff2') format('woff2'),
			url('../Fonts/pt-sans-v17-latin-700italic.ttf') format('truetype');
	} */


/* ##################################################################### */
/* #### HTML5 display definitions ###################################### */

	article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display:block; }


/* ##################################################################### */
/* #### Base ########################################################### */

	*,
	*::before,
	*::after{ box-sizing:border-box; }

	html{
		/* overflow-y:scroll;	Scrollbar (allerdings bei Lightbox unschoen) */
		color:#000;
		background-color:#fff;
		font-size: clamp(0.9375rem, 0.875rem + 0.3125vw, 1.25rem);
		line-height:1.4;
		/*
		Prevents iOS text size adjust after orientation change, without disabling user zoom
		www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
		*/
		-webkit-text-size-adjust:100%;
		-ms-text-size-adjust:100%;
		/* OS-X fonts like Windows */
		-webkit-font-smoothing:antialiased;
		-moz-osx-font-smoothing:grayscale;
		height:100%; /* for footer-positioning */
		/*
		-moz-hyphens:auto; -webkit-hyphens:auto; hyphens:auto;
		*/
		scroll-behavior:smooth;
	}

	html, button, input, select, textarea{
		/* addresses font-family inconsistency between form elements. */
		font-family:'PT Sans', sans-serif;
	}

	body{
		margin:0; /* addresses margins handled incorrectly in IE6/7 */
		min-height:100%; display:flex; flex-direction:column; /* for footer-positioning (Bei IE11 hängt er unter dem content, aber o.k.) */
		overflow-x:hidden; /* wegen rotieter Objekte */
	}
		#stage{ flex:1 0 auto; } /* for footer-positioning (with this notation no overlapping in IE11) */


/* ##################################################################### */
/* #### Allg. Formatierungen ########################################### */

	/* Remove text-shadow in selection highlight. These selection declarations have to be separate. */
	::-moz-selection{ background:#b3d4fc; text-shadow:none; }
	::selection{ background:#b3d4fc; text-shadow:none; }
		

	/*###
	//# Links
	###*/

	a{ color:inherit; }
	/*
	a:visited{ color:#551a8b; }
	a:hover{ color:#06e; }
	*/
	a:focus, button:focus{ outline:thin dotted; } /* Addresses outline displayed oddly in Chrome */
	a:hover, a:active{ outline:0; }
	
	a.prev, a.next{ font-weight:bold; }
	a.prev:before{
		/*SVG umgewandelt mit ImageOptim + urlencoder.org*/
		content:url(data:image/svg+xml;charset=utf-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20height%3D%2225%22%20viewBox%3D%220%200%2025%2025%22%20width%3D%2225%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22nonzero%22%3E%3Cpath%20d%3D%22m0%200h25v25h-25z%22%20fill%3D%22%23000%22%2F%3E%3Cpath%20d%3D%22m18%205v15l-11-7.5z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);
		margin-right:5px; vertical-align:sub;
	}
	a.prev:hover:before{
		content:url(data:image/svg+xml;charset=utf-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20height%3D%2225%22%20viewBox%3D%220%200%2025%2025%22%20width%3D%2225%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22nonzero%22%3E%3Cpath%20d%3D%22m0%200h25v25h-25z%22%20fill%3D%22%23FFE60B%22%2F%3E%3Cpath%20d%3D%22m18%205v15l-11-7.5z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);
	}
	a.next:after{
		/*SVG umgewandelt mit ImageOptim + urlencoder.org*/
		content:url(data:image/svg+xml;charset=utf-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20height%3D%2225%22%20viewBox%3D%220%200%2025%2025%22%20width%3D%2225%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22nonzero%22%3E%3Cpath%20d%3D%22m0%200h25v25h-25z%22%20fill%3D%22%23000%22%2F%3E%3Cpath%20d%3D%22m7%205v15l11-7.5z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);
		margin-left:5px; vertical-align:sub;
	}
	a.next:hover:after{
		content:url(data:image/svg+xml;charset=utf-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20height%3D%2225%22%20viewBox%3D%220%200%2025%2025%22%20width%3D%2225%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22nonzero%22%3E%3Cpath%20d%3D%22m0%200h25v25h-25z%22%20fill%3D%22%23FFE60B%22%2F%3E%3Cpath%20d%3D%22m7%205v15l11-7.5z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);
	}

	/*###
	//# Typography
	###*/

	h1{ font-size:1.7rem; line-height:1.2; font-weight:bold; margin:0 0 1rem 0; }
	
	h2{ font-size:1.5rem; line-height:1.2; font-weight:bold; margin:1rem 0 1rem 0; }

	h3{ font-size:1.2rem; line-height:1.2; font-weight:bold; margin:1rem 0 0 0; }

	.frame > header > h2{
		color:#fff; background-color:#000; transform:rotate(-3deg); transform-origin:top left;
		padding:0.4rem 1.5rem; margin:4rem 0 0.5rem -0.5rem; display:inline-block;
	}
	.frame > header > h2.odd{ color:#000; background-color:var(--color_value_primary); }

	

	p{ margin:0 0 1em 0; }

	/* automatische Silbentrennung: p{ -webkit-locale:de; -webkit-hyphens:auto; hyphens:auto; -moz-hyphens:auto; } */

	b, strong{ font-weight:bold; }

	small{ font-size:85%; }

	/* Position subscript and superscript content without affecting line-height:h5bp.com/k */
	sub, sup{ font-size:75%; line-height:0; position:relative; vertical-align:baseline; }
	sup{ top:-0.5em; }
	sub{ bottom:-0.25em; }


	/*###
	//# Quotes
	###*/
	blockquote{
		/*reset*/
		/* margin:0; font-size:100%; */
		padding:0; border:0; outline:0; vertical-align:baseline; background:transparent; quotes:none;
		/*change*/
		margin:0; font-size:30px; line-height:1.3;
	}
	blockquote:before, blockquote:after{ content:''; content:none; }
		blockquote p{ margin:0 0 0.5em 0; }


	/*###
	//# Lists
	###*/

	ul, ol{ margin:1em 0; padding:0 0 0 40px; }

	ul, ol{ margin:0 0 1em 0; padding:0 0 0 16px; }
	
	.ce-bodytext ul{ padding:0; }
		.ce-bodytext ul li{ padding:0 0 0 1.3em; list-style:none; position:relative; }
		.ce-bodytext ul li:after{ content:""; position:absolute; left:0.4em; top:0.5em; display:block; box-sizing:border-box; width:0.4em; height:0.4em; border-radius:50%; background-color:#000; }

	ul.categories{
		margin:0 0 1em 0; padding:0; list-style:none;
		column-count:3;
		column-gap:4.35%;
	}
	@media screen and  (max-width:650px) {
		ul.categories{ column-count: unset; }
	}
		ul.categories li{ margin:0; padding:0 0 0 1rem; position:relative; }
		ul.categories li::after{ content:""; position:absolute; left:0.1em; top:0.4em; display:block; box-sizing:border-box; width:0.5em; height:0.5em; background-color:#000; border:none; border-radius:0; }
		ul.categories li:nth-child(1)::after{ background-color:rgb(148,192,31); }
		ul.categories li:nth-child(2)::after{ background-color:rgb(229,0,125); }
		ul.categories li:nth-child(3)::after{ background-color:rgb(144,47,118); }
		ul.categories li:nth-child(4)::after{ background-color:rgb(238,125,0); }
		ul.categories li:nth-child(5)::after{ background-color:rgb(0,142,56); }
		ul.categories li:nth-child(6)::after{ background-color:rgb(0,179,212); }
		ul.categories li:nth-child(7)::after{ background-color:rgb(227,6,19); }
		ul.categories li:nth-child(8)::after{ background-color:rgb(0,137,62); }


	
	ul.f3-widget-paginator{ margin:1em 0; padding:0; list-style:none; text-align:center; }
		ul.f3-widget-paginator li{ margin:0 15px 10px 0; }
		ul.f3-widget-paginator li.next{ margin-right:0; }
		ul.f3-widget-paginator li,
		ul.f3-widget-paginator a{ display:inline-block; min-width:2em; line-height:2em; text-align:center; }
		ul.f3-widget-paginator li:only-child{ display:none; }
		ul.f3-widget-paginator li.current{ background-color:rgb(20,25,35); color:#fff; padding:0 2px; }
			ul.f3-widget-paginator a{ color:rgb(20,25,35); background-color:#edf0f4; text-decoration:none; padding:0 2px; }
			ul.f3-widget-paginator a:hover{ background-color:rgb(20,25,35); color:#fff; }
			ul.f3-widget-paginator .next a, ul.f3-widget-paginator .previous a{ background-color:transparent; color:#787878; }
			ul.f3-widget-paginator .next a:hover, ul.f3-widget-paginator .previous a:hover{ background-color:transparent; color:rgb(20,25,35); }

	@media screen and (max-width:575px){
		ul.f3-widget-paginator li:not(.next){ margin-right:8px; }
	}
	@media screen and (max-width:510px){
		ul.f3-widget-paginator li{ display:none; }
		ul.f3-widget-paginator li.previous,
		ul.f3-widget-paginator li.current,
		ul.f3-widget-paginator li.next{ display:inline-block; }
	}
	
	
	dd{ margin:0 0 0 40px; }
	
	
	/*###
	//# Embedded content
	###*/

	img{
		border:0; /* Removes border when inside 'a' element in IE6/7/8/9, FF3 */
		-ms-interpolation-mode:bicubic; vertical-align:middle; /* Improves image quality when scaled in IE7 */
		max-width:100%;
		height:auto;
		box-sizing:border-box;
	}

	img.icon-intext{ margin-right:2px; vertical-align: middle; }

	/*###
	//# Figures
	###*/
	
	figure{ margin:0; } /* Set margin to 0. Addresses margin not present in IE6/7/8/9, S5, O11 */

	/* Fix for img max-width Bug in IE11 (darf außerdem kein <main> haben)
	.ce-gallery figure,
	.ce-gallery figcaption{ display:block; }
	*/


	/*###
	//# hr ("paragraph-level thematic break")
	###*/

	/* Druck kompatible Trennlinie */
	hr.ce-div{
		display:block; width:auto; height:0; margin:0 0 1em 0; background:transparent; border:none; border-top:1px solid #ccc;
	}


	/*###
	//# Tables
	###*/

	.ce-bodytext table{ margin:0 0 1em 0; border-collapse:collapse; border-spacing:0; width:100%; }
	/* p + .ce-bodytext table{ margin-top:-1em; } */
		.ce-bodytext table tr:nth-child(odd){ background-color:var(--color_value_primary); }
		.ce-bodytext table td,
		.ce-bodytext table th{ font-weight:inherit; text-align:left; padding:4px 0 4px 10px; vertical-align:top; }
		.ce-bodytext table td:last-child,
		.ce-bodytext table th:last-child{ padding-right:10px; }



/* ##################################################################### */
/* #### non-semantic helper classes #################################### */

	.text-right{ text-align:right; }
	.text-center{ text-align:center; }

	/* Contain floats
	.clearfix:before, .clearfix:after{ content:""; display:table; }
	.clearfix:after{ clear:both; }
	*/

	.frame-space-before-small{ margin-top:4vh; }
	.frame-space-after-small{ margin-bottom:4vh; }
	.frame-space-before-medium{ margin-top:8vh; }
	.frame-space-after-medium{ margin-bottom:8vh; }
	.frame-space-before-large{ margin-top:12vh; }
	.frame-space-after-large{ margin-bottom:12vh; }
	

/* ##################################################################### */
/* #### Indexsuche ##################################################### */

	.tx-indexedsearch-searchbox{ margin:0 0 1em 0; }
		/*
		.tx-indexedsearch-searchbox fieldset{ margin:0; padding:0; border:none; }
			.tx-indexedsearch-searchbox legend{ display:none; }
		*/
	
	/* "Größe", "Erstellt", "Geändert" und "Pfad" ausblenden: */
	dl.tx-indexedsearch-info{ display:none; }
	
	ul.tx-indexedsearch-browsebox{ margin:2em 0; padding:0; list-style:none; }
		ul.tx-indexedsearch-browsebox li{ margin:0; padding:0; display:inline; }
			ul.tx-indexedsearch-browsebox li:after{ content:"|"; margin:0 10px;  }
			ul.tx-indexedsearch-browsebox li:last-child:after{ display:none; }
				ul.tx-indexedsearch-browsebox li.tx-indexedsearch-browselist-currentPage a{ color:#000; }


/* ##################################################################### */
/* #### Formulare ###################################################### */

	input,
	button,
	select,
	optgroup,
	textarea {
		margin: 0;
		font-family:inherit;
		font-size:inherit;
		line-height:inherit;
	}

	.frame-type-form_formframework{ margin-bottom:2em; }
	.form-element{ margin:0.5em 0 0 0; clear:left; }
	/* label.control-label{ width:110px; display:block; float:left; } */

	
	/*###
	/# input
	###*/

	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="number"],
	textarea{
		padding:2px 5px; border:1px solid rgb(146,145,145); font-size:1rem; width:100%; /*width:300px;*/
		box-shadow: inset 0 1px 3px rgba(0,0,0,.2);
		border-radius: 0.25em; /* em unit to keep it proportional to the set font-size */
	}
	/*textarea{ height:100px; }*/
	/*input[type="number"]{ width:auto; }*/
			
	input[type="checkbox"]{ margin-right:6px; }


	/*###
	//# error
	###*/

	.has-error input[type="text"],
	.has-error input[type="email"],
	.has-error input[type="tel"],
	.has-error textarea{ border-color:#cc0000; }

	span.error{ display:block; padding:0 0 0.5em 0; font-size:smaller; color:#cc0000; }
	/*.form-check, .frame-type-form_formframework .frame{ padding:0 0 0 110px; }*/
			
	/*.form-navigation{ clear:both; padding:10px 0 0 110px; }*/


	/*###
	//# submit
	###*/

	.cta,
	.btn,
	input[type="submit"]{
		display:inline-block; box-sizing:border-box; min-width:150px; padding:0 5px; border:none; text-align:center; font-weight:bold;
		font-size:1em; line-height:40px; margin-bottom:1em; text-decoration:none; color:#fff; background-color:#BFBFBF; cursor:pointer;
		border-radius:8px; margin:10px 0;
	}
	.cta,
	.btn.btn-primary,
	input[type="submit"]{
		background-color:var(--color_value_primary); color:#000;
	}


/* ##################################################################### */
/* #### Swiper Slider ################################################## */
	
	.swiper-container.logo-slider{ /*margin-left:20px;*/ position:relative; overflow:hidden; }
		.swiper-wrapper{
			align-items:center;

			-webkit-transition-timing-function:linear!important;
			-o-transition-timing-function:linear!important;
			transition-timing-function:linear!important;
		}
			.swiper-slide { width:120px; }
				.swiper-slide a{ display:inline-block; }
					.swiper-slide img{ max-width:100%; height:auto; }


	/*###
	//# Direction Nav
	###*/
 
	.touch .custom-swiper-button-prev,
	.touch .custom-swiper-button-next{ display:none; }
		 
	.custom-swiper-button-prev,
	.custom-swiper-button-next{
		position:absolute; top:50%; z-index:3; margin-top:-20px; height:50px; width:50px;
		display:block; box-sizing:border-box; background-color:#000;
		text-indent:-9999px; cursor:pointer; transition:all 0.3s ease-in-out; opacity:0.5;
		border:5px solid #fff;
	}
	.custom-swiper-button-prev{ left:-50px; }
	.custom-swiper-button-next{ right:-50px; }

	.custom-swiper-button-prev::after,
	.custom-swiper-button-next::after{
		content:""; position:absolute; top:9px; width:20px; height:20px;
		border:solid var(--color_value_primary); border-width:0 4px 4px 0;
	}
	.custom-swiper-button-prev::after{ transform:rotate(135deg); right:5px; }
	.custom-swiper-button-next::after{ transform:rotate(-45deg); left:5px; }

	.custom-swiper-button-prev:focus,
	.custom-swiper-button-next:focus,
	.custom-swiper-button-prev:hover,
	.custom-swiper-button-next:hover{ background-color:var(--color_value_primary); }

	.custom-swiper-button-prev:focus::after,
	.custom-swiper-button-next:focus::after,
	.custom-swiper-button-prev:hover::after,
	.custom-swiper-button-next:hover::after{ border-color:#fff; }
 
	.custom-swiper-button-prev:focus,
	.custom-swiper-button-next:focus,
	.custom-swiper-button-prev:active,
	.custom-swiper-button-next:active{ outline:none; }
 
	.swiper-container:focus-within .custom-swiper-button-prev,
	.swiper-container:hover .custom-swiper-button-prev{ left:5%; opacity:1; }
	.swiper-container:focus-within .custom-swiper-button-next,
	.swiper-container:hover .custom-swiper-button-next{ right:5%; opacity:1; }
	
	.swiper-notification{ display:none; }
 

/* ##################################################################### */
/* #### Sektionsindex Menü ############################################# */

	.frame-type-menu_section ul{ margin:0; padding:0; list-style:none; font-weight:bold; }
		.frame-type-menu_section li{ display:inline;  }
		.frame-type-menu_section li::before{ content: ' '; /* for Chrome in case the HTML will be minified with *no whitespaces* between </li><li> */ }
		.frame-type-menu_section li::after{
			content:' '; word-spacing:1em;
			background: url("data:image/svg+xml;charset=utf-8,\<svg height='16' viewBox='0 0 2 16' width='2' xmlns='http://www.w3.org/2000/svg'>\<path d='m0 0h2v16h-2z' fill-rule='evenodd'/>\</svg>");
			background-position:center; background-repeat:no-repeat;
		}
			.frame-type-menu_section a{ text-decoration:none; white-space:nowrap; }
			.frame-type-menu_section a:hover{ text-decoration:underline; }


/* ##################################################################### */
/* #### Dreispalter im RTE ############################################# */

		.r2columns3{/*background-color:#dedede;*/ display:grid; grid-template-columns:1fr 4.35% 1fr 4.35% 1fr;}
			.r2col3-1,.r2col3-2,.r2col3-3{box-sizing:border-box;/*background-color:#efefef;*/}
			.r2col3-1{grid-column:1/2; grid-row:1/2;}
			.r2col3-2{grid-column:3/4; grid-row:1/2;}
			.r2col3-3{grid-column:5/6; grid-row:1/2;}

	@media screen and  (max-width:650px) {
		.r2columns3{ display:block; }
	}


/* ##################################################################### */
/* #### Service-Icons ################################################## */

		.frame-type-r2_iconlist ul{ margin:0; padding:0; list-style:none; display:flex; flex-wrap:wrap;	}
			.frame-type-r2_iconlist li{	margin:0; padding:0 0 2vh 0; width:50%; }
				.frame-type-r2_iconlist figure{	display:flex; align-items:center; }
					.frame-type-r2_iconlist figure figcaption{ padding:0 1em; }
						.frame-type-r2_iconlist figcaption > div:first-child{ font-weight:bold; }

	@media screen and (max-width:700px){
		.frame-type-r2_iconlist ul{ display:block; }
			.frame-type-r2_iconlist li{	width:auto; }
	}


/* ##################################################################### */
/* #### "Text und Bilder" Inhaltselement ############################### */

	.ce-intext.ce-right .ce-gallery { margin-left: 4.35%; }
	.ce-intext.ce-left .ce-gallery { margin-right: 4.35%; }
	.ce-intext.ce-right .ce-gallery, .ce-intext.ce-left .ce-gallery, .ce-above .ce-gallery{ margin-bottom:4vh; }

	.ce-intext .ce-gallery{ max-width:30.43%; }

	@media screen and (max-width:600px){
		.ce-intext .ce-column,
		.ce-intext.ce-left .ce-gallery,
		.ce-intext.ce-right .ce-gallery{ margin-left:0; margin-right:0; float:none; max-width:none; }
		.ce-intext .ce-gallery figure{ margin:0 auto; }
	}


/* ##################################################################### */
/* #### Geschäfte-Liste ################################################ */

	.frame-type-r2_storelist ul{ margin:0; padding:0; list-style:none; display:flex; flex-wrap:wrap; }
		.frame-type-r2_storelist li{ margin:0; padding:0; width:calc(100% / 48 * 10); margin:calc(100% / 48); text-align:center; display:flex;/* make <a> height 100% */ }

	@media screen and (max-width:800px){
		.frame-type-r2_storelist li{ width:calc(100% / 48 * 14); }
	}
	@media screen and (max-width:500px){
		.frame-type-r2_storelist li{ width:calc(100% / 48 * 22); position:relative; }
	}
			
			.frame-type-r2_storelist a{ width:100%; text-decoration:none; display:flex; }
			.frame-type-r2_storelist a:hover{ background-color:var(--color_value_primary); }

				.frame-type-r2_storelist figure{ display:flex; flex-direction:column; width:100%; border:1px solid var(--color_value_primary); }
					.frame-type-r2_storelist .item{ display:grid; flex:1 0 auto; /*background-color:#efefef;*/ }
						.frame-type-r2_storelist .image{ grid-column-start:1; grid-row-start:1; display:flex; align-items:center; justify-content:center; padding:1em; /*background-color:blue;*/ }
						.frame-type-r2_storelist figure:hover .image{ visibility:hidden; }
							.frame-type-r2_storelist .image::before{ content:""; display:block;	padding-top:50%; float:left; }
						.frame-type-r2_storelist .additional{ grid-column-start:1; grid-row-start:1; visibility:hidden; padding:1em; display:flex; flex-direction:column; align-items:center; justify-content:center; /*background-color:yellow;*/ }
						.frame-type-r2_storelist figure:hover .additional{ visibility:visible; }
							.frame-type-r2_storelist .additional > div:first-child{ font-weight:bold; }
					
					.frame-type-r2_storelist figcaption{ padding:1em 0.5em; }
						.frame-type-r2_storelist figcaption > div:first-child{ font-weight:bold; }


/* ##################################################################### */
/* #### News ########################################################### */

	.frame-type-r2_menu_news_listview .news-items{
		display:flex;
		flex-wrap:wrap;
	}
		.frame-type-r2_menu_news_listview article{
			width: calc(100% / 48 * 14);
			box-sizing:border-box;
			margin:calc(100% / 48);
			position:relative;
		}
			.frame-type-r2_menu_news_listview article img{ display:block; width:100%; height:auto; }
		  
	@media screen and (max-width:500px){
		.frame-type-r2_menu_news_listview article{ width: calc(100% / 48 * 46); }
	}

/* ##################################################################### */
/* #### Gestaltungsraster ############################################## */

	#stage{ padding:6vh 0 6vh 0; }

		.frame > header{ margin-left:0; margin-right:0; }
	@media screen and (min-width:1500px){
		.frame > header{ margin-left:auto; margin-right:auto; width:1500px; }
	}

		.frame > header > h1,
		.frame > header > h3,
		.frame-type-text .ce-bodytext,
		.frame-type-indexedsearch_pi2,
		.frame-type-menu_section > .menu/* Sektionsindex Menü */,
		.frame-type-form_formframework form,
		.frame-type-form_formframework > div/* Bestätigungsmeldung */,
		.frame-type-r2_iconlist > div,
		.ce-image,
		.ce-textpic,
		.news-paginator{ margin-left:auto; margin-right:auto; width:92%; max-width:952px; }
		
		.frame-type-form_formframework .frame-type-text .ce-bodytext{ width:auto; } /* Text im Formular nicht einrücken */
	


		.news-items,
		.frame-type-r2_storelist > div{ margin-left:auto; margin-right:auto; width:96%;  max-width:1344px; }



	/*###
	//# Header
	###*/

	/* #region: Header */

		#header{
			height:0; padding-bottom:42.85%; /* ≈ 16:9 */ background-color:#efefef; position:relative;
			background-size:cover; background-position:center; 
		}

		#header::after{
			position:absolute; left:0; bottom:-1px; /* -1 = Fix: Blitzer im Safari je nach Bildschirmbreite */
			content:""; display:block; height:0; width:100%; padding-top:5.214%; /* ### 5.214% => 3° ### */
			background-color:#fff; clip-path: polygon(0 100%, 100% 0, 100% 100%);
		}


		/*###
		//# Overlay / Menü
		###*/

			#logo{ position:absolute; top:50px; right:50px; z-index:1; transition: all 0.1s ease; }

			/* #region: ### toggleMenu ### */

			#toggleMenu{
				position:absolute; left:25px; top:25px;
				cursor:pointer; border:none; margin:0; padding:0 0 0 40px;
				display:block; height:32px; line-height:32px;
				text-indent:-9999px; background-color:transparent;
				transition:opacity .15s;
			}
			#toggleMenu:hover{ opacity:0.7; }
			
				#toggleMenu .icon,
				#toggleMenu .icon:before,
				#toggleMenu .icon:after{ display:block; position:absolute; left:0; width:40px; height:4px; border-radius:2px; background-color:#000; }
				#toggleMenu .icon{ top:50%; margin-top:-2px; transition-property:transform; transition-timing-function:cubic-bezier(.55,.055,.675,.19); transition-duration:.22s; }

				#toggleMenu .icon:before,
				#toggleMenu .icon:after{ content:""; }
				#toggleMenu .icon:before{ top:-10px; transition:top .1s ease-in .25s,opacity .1s ease-in; }
				#toggleMenu .icon:after { bottom:-10px; transition: bottom .1s ease-in .25s,transform .22s cubic-bezier(.55,.055,.675,.19);	}

				#toggleMenu[aria-expanded="true"] .icon{ transition-delay:.12s; transition-duration:.22s; transition-timing-function: cubic-bezier(.215,.61,.355,1); transform:rotate(225deg);	}
				#toggleMenu[aria-expanded="true"] .icon:before{ top:0; transition:top .1s ease-out,opacity .1s ease-out .12s; opacity:0; }
				#toggleMenu[aria-expanded="true"] .icon:after { bottom:0; transition: bottom .1s ease-out,transform .22s cubic-bezier(.215,.61,.355,1) .12s; transform:rotate(-90deg); }

			/* #endregion */

			@media screen and  (min-width:1000px) {
				#toggleMenu{ display:none; }
				#mainNavExpandable{ height:auto !important; }
			}
			@media screen and  (max-width:999px) {
				#logo{ top:25px; right:25px; }
				#mainNavExpandable{ overflow:hidden; transition: height .25s ease; }
				#toggleMenu[aria-expanded="false"] + #mainNavExpandable{ display:none; }
			}

			#mainNavExpandable{
				position:absolute; z-index:1; left:-10px; top:100px; font-size:1.3rem;
				transform: rotate(-3deg); 
			}
				#mainNav ul{ margin:0; padding:0.8rem 40px; list-style:none; background-color:#000; }
					#mainNav li{ margin:0.4rem 0; }
						#mainNav a{ color:#fff; text-decoration:none; font-weight:bold; }
						#mainNav a.act,
						#mainNav a:hover{ color:var(--color_value_primary); }
	/* #endregion */

	
	/*###
	//# Footer
	###*/

		/*###
		//# stickyNav
		###*/

			/* #region: stickyNav */
			#stickyNav{ margin:0; padding:0; list-style:none; position:fixed; z-index:2; right:0; top:250px; text-align:right; }

				#stickyNav > li{
					text-align:right; font-weight:bold; line-height:30px; display:block; float:right; clear:right; position:relative;
					background-position:right top; background-repeat:no-repeat; background-color:#000; margin-bottom:10px;
				}
				#stickyNav > li:focus-within,
				#stickyNav > li:hover{ background-color:var(--color_value_primary); }

				#stickyNav li.search{ background-image:url(../Images/StickyNav/Suche.svg); }
				#stickyNav li.oeffnungszeiten{ background-image:url(../Images/StickyNav/Oeffnungszeiten.svg); }
				#stickyNav li.anfahrt{ background-image:url(../Images/StickyNav/Anfahrt.svg); }
				#stickyNav li.parken{ background-image:url(../Images/StickyNav/Parken.svg); }
				#stickyNav li.toTop{ background-image:url(../Images/StickyNav/NachOben.svg); }
				html:not(.show-toTop) #stickyNav li.toTop{ display:none; }

					#stickyNav > li > a,
					#stickyNav > li > div{ display:block; padding:0 50px 0 0; height:50px; max-width:50px; transition:all 0.3s; }

						#stickyNav span,
						#stickyNav form{ display:block; white-space:nowrap; overflow:hidden; padding:9px 0;}

					#stickyNav #quicksearch-term{
						border-radius:0; border:0; border-bottom:2px solid #fff; color:#000; font-size:1rem;
						background-color:transparent; overflow:hidden; padding:0 0 0 3px; line-height:28px; width:100%;
						-webkit-appearance:none;	-moz-appearance:none; appearance:none; box-shadow:none;
					}
					#stickyNav #quicksearch-term:focus{
						outline:none; background-color:#fff;
					}

					#stickyNav #quicksearch-submit{ display:none; position:absolute; top:0; right:0; color:#fff; }
					#stickyNav > li.search:focus-within,
					#stickyNav > li.search:hover{ background-image:none; }
					#stickyNav > li.search:focus-within #quicksearch-submit,
					#stickyNav > li.search:hover #quicksearch-submit{ display:block; }
		
		@media screen and (min-width:500px){
			html.show-toTop:not(.after-scroll-1) #stickyNav li.toTop{ display:none; }

			#stickyNav > li:focus-within > a,
			#stickyNav > li:hover > a,
			#stickyNav > li:focus-within > ul,
			#stickyNav > li:hover > ul,
			#stickyNav > li:focus-within > div,
			#stickyNav > li:hover > div{ max-width:250px; padding-left:10px; text-decoration:none; visibility:visible; }

			#stickyNav #quicksearch-term::placeholder{ color:#000; }
		}
		@media screen and (max-width:499px){
			#stickyNav{ position:static; margin:2rem 0; text-align:center; padding:0 20px; }
				#stickyNav > li{ margin:5px; float:none; display:inline-block; }
				#stickyNav > li.toTop{ margin-top:3rem; display:none; }
				#stickyNav > li.search{ display:block; background-image:none; background-color:transparent; margin-top:2rem; }
					#stickyNav > li.search > div{ max-width:initial; padding-left:30px; }
					#stickyNav #quicksearch-term{ border-color:#000; }
					#stickyNav #quicksearch-submit{ display:block; filter:invert(1); }
		}
			/* #endregion */


		/*###
		//# Social-Media, MetaNav, Copyright
		###*/

		#footer > .closing{
			background-color:#000; color:#fff; text-align:right;
		}
		#footer > .closing::before{
			content:""; display:block; height:0; padding-top:5.214%; /* ### 5.214% => 3° ### */
			background-color:#fff; clip-path: polygon(100% 0, 0 100%, 0 0);
		}

			#footer > .closing > .inner{
				padding:0 20px 20px 20px; 
				transform: rotate(-3deg); transform-origin:top left;
				margin-top:20px;
				/*background-color:red;*/
			}

				#footer > .closing a{ color:var(--color_value_primary); font-weight:bold; }

				ul#social-lang{ margin:0 0 20px 0; padding:0; list-style:none; }
					#social-lang li{ display:inline; margin:0 0 0 15px; padding:0; }
					#social-lang li:first-child{ margin-left:0; }
						#social-lang li a{ display:inline-block; }

				ul#metaNav{ margin:0; padding:0; list-style:none; }
					#metaNav li{ display:inline; margin:0 0 0 10px; padding:0; }
					#metaNav li:first-child{ margin-left:0; }
					#metaNav li:after{ content:"|"; margin-left:10px; }
					#metaNav li:last-child:after{ content:""; margin:0; }

						#metaNav a{ text-decoration:none; }
						#metaNav a.cur, #metaNav a:hover{ text-decoration:underline; }


/* ##################################################################### */
/* #### Print styles (Inlined to avoid the additional HTTP request) #### */
	
	@media print {
		*,
		*:before,
		*:after,
		*:first-letter,
		*:first-line {
			background:transparent !important;
			color:#000 !important; /* Black prints faster */
			box-shadow:none !important;
			text-shadow:none !important;
		}
		html{ background-color:white !important; }
		
		pre, blockquote{ /*border:1px solid #999;*/ page-break-inside:avoid; }
		thead{ display:table-header-group; }
		tr, img{ page-break-inside:avoid; }
		img{ max-width:100% !important; }
		p, h2, h3{ orphans:3; widows:3; }
		h2, h3{ page-break-after:avoid; }
		
		
		/*###
		//# custom styles
		###*/
		
		/*
		#mixednav,
		#footer,
		.flexslider,
		.quick-access{ display:none !important; }
		
		.centered{ width:auto; }
		*/
	}
