/*******************************************************************
	0. BREAKPOINTS
*******************************************************************/

/* Extra kleine Geräte (Hochformat-Handys, bis 576px) */
@media (max-width: 576px) {}

/* Kleine Geräte (Querformat-Handys, bis 768px) */
@media (max-width: 768px) {}

/* Mittlere Geräte (Tablets, bis 992px) */
@media (min-width: 769px) and (max-width: 992px) {}

/* Große Geräte (Desktops, bis 1200px) */
@media (min-width: 993px) and (max-width: 1200px) {}

/* Extra große Geräte (große Desktops ab 1201px) */
@media (min-width: 1201px) {}

/*******************************************************************
	1. ALLGEMEIN
*******************************************************************/

*
{
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}

html
{
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
}

body
{
	background: lightcoral;
	background-size: 100%;
	font-size: 1em;
	line-height: 1.4em;
	color: darkblue;
	overflow-x: hidden;
}

b, strong
{
	font-family: Arial, sans-serif;
}

i, em
{
	font-family: Arial, sans-serif;
	font-style: italic;
}

p 
{
	margin: 0px 0px 15px 0px;
	font-family: Arial, sans-serif;
	font-size: 1em;
	line-height: 1.4em;
}

ul,
ol,
li
{
	font-family: Arial, sans-serif;
	font-size: 1em;
	line-height: 1.4em;
}

a:link, a:visited
{
	text-decoration: underline;
	color:  darkblue;
}

a:hover, a:active, a:focus
{
	text-decoration: none;
	color:  darkblue;
	outline: none;
}

h1
{
	font-family: Arial, sans-serif;
	font-size: 1.8em;
	line-height: 1em;
	margin: 30px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	text-align: left;
	color: darkgreen;
	text-transform: uppercase;
}

h2
{
	font-family: Arial, sans-serif;
	font-size: 1.4em;
	line-height: 1em;
	margin: 45px 0px 15px 0px;
	text-transform: uppercase;
	color: darkgreen;
}

h3, h4, h5
{
	font-family: Arial, sans-serif;
	font-size: 1.2em;
	line-height: 1em;
	margin: 45px 0px 0px 0px;
	text-transform: uppercase;
	color: darkgreen;
}

.kleiner
{
	font-size: 0.875em;
	line-height: 1em;
	margin: -20px 0px 0px 0px;
}

sub
{
	font-size: 0.75em;
	line-height: 1em;
}

sup
{
	position: relative;
	font-size: 0.75em;
	line-height: 1em;
	top: -4px;
}

table
{
}

	tr
	{
	}
	
		td
		{
		}
		
ul
{
	margin: 0px 0px 15px 0px;
	font-family: Arial, sans-serif;
	font-size: 1em;
	line-height: 1.4em;
}

	li
	{
		margin: 0px 0px 0px 30px;
		list-style-type: circle;
	}

.unknown_block
{
	background: red;
	color: white;
	text-align: center;
	padding: 30px 0px 30px 0px;
	margin: 0px 0px 0px 0px;
	display: block;
}

#background_mousetrap
{
	position: fixed;
	background: rgba(255,255,255,0.1);
	width: 100vw;
	height: 100vh;
	z-index: 5;
	display: none;
}

.text_red
{
	color: red;
}

/*******************************************************************
	2. GRID
*******************************************************************/

[class^='column']
{
	width: 100%;
	clear: both;
	margin: 0px 0px 8px 0px;
}

@media screen and (min-width : 768px) {

	[class^='column']
	{
		clear: none;
		float: left;
	}
	
	.column_20
	{
		width: 20%;
	}
	
	.column_25
	{
		width: 25%;
	}
	
	.column_30
	{
		width: 30%;
	}

	.column_33
	{
		width: 33.33%;
	}
	
	.column_50
	{
		width: 50%;
	}

	.column_66
	{
		width: 66.66%;
	}
	
	.column_70
	{
		width: 70%;
	}
	
	.column_75
	{
		width: 75%;
	}
	
	.column_80
	{
		width: 80%;
	}

	.column_100
	{
		width: 100%;
	}
}

/*******************************************************************
	4. HEADLINE UND MENUE
*******************************************************************/

#container_headline
{}

	#wrap_headline
	{}
		
		#container_contextmenu
		{}
		
			.list_contextmenu
			{}
			
				.item_contextmenu
				{
					list-style-type: none;
				}
				
				.item_contextmenu:hover
				{}
				
					.item_contextmenu > a:link,
					.item_contextmenu > a:visited
					{}
					
					.item_contextmenu > a:hover,
					.item_contextmenu > a:active,
					.item_contextmenu > a:focus
					{}
			
					.list_context_submenu
					{}
					
						.item_context_submenu
						{}
		
		#logo
		{}
		
		.link_logo:link
		{}
		
		#container_menu
		{}
		
			#wrap_menu
			{}
		
				#list_menu
				{}
				
					#list_menu li
					{	
						margin: 0px;
						list-style: none;
					}
					
					#list_menu ul
					{}
					
					#list_menu ul:hover
					{}
					
					#list_menu > li
					{
					}
					
					#list_menu li:hover > ul,
					#list_menu li.sfHover > ul
					{}
					
					#list_menu a
					{}
					
						#list_menu a > i
						{}
					
					#list_menu > li > a:hover
					{}
					
					#list_menu > li.menu_active,
					#list_menu > li.menu_active > a:link
					{}
					
					#list_menu > li.menu_active > a:hover
					{}
						.menu_icon
						{}
					
					#list_menu ul ul
					{}
					
						#list_menu > li > ul
						{}
						
							#list_menu > li > ul > li > a:link
							{}
						
							#list_menu > li > ul > li > a:hover
							{}
				
			nav:not(.mm-menu)
			{}
			
			#mobile_menu
			{}
			
			#hamburger
			{}
			
				#hamburger > a
				{}

/*******************************************************************
	4. CONTENT BLOCKS
*******************************************************************/

.container_content
{}

	.wrap_content
	{}

/*******************************************************************
	4.1 HERO IMAGE
*******************************************************************/

.container_hero
{
	
}

	.container_hero video
	{
		
	}

.superhero
{
	
}

	#wrap_hero
	{
		
	}
	
		#slogan_hero
		{
			
		}
		
			.preline_hero
			{
				
			}
		
			.headline_hero
			{
				
			}
			
			.cta_button_hero:link,
			.cta_button_hero:visited,
			.cta_button_hero:hover,
			.cta_button_hero:active,
			.cta_button_hero:active
			{
			}

/*******************************************************************
	4.2 MINI HERO
*******************************************************************/

.container_minihero
{
	
}

/*******************************************************************
	4.3 TEXT
*******************************************************************/

.block_text
{}

	.wrap_text
	{}
	
		.wrap_text > ul, ol
		{
		}
		
			.wrap_text > ul li,
			.wrap_text > ol li
			{
			}
			
			.wrap_text > ul > li > ul,
			.wrap_text > ol > li > ol
			{
			}
			
			.wrap_text > ul > li > ul > li,
			.wrap_text > ol > li > ol > li
			{
			}

/*******************************************************************
	4.4 BILD-TEXT
*******************************************************************/

.block_textimage {
	display: flex;
	align-items: center; /* Zentriert den kleineren Block vertikal */
	width: 100%;
	background: white;
}
	
	/* Basis-Stile für Bild- und Text-Container */
	.wrap_image_right,
	.wrap_image_left,
	.wrap_text_left,
	.wrap_text_right {
		flex: 1; /* Standardmäßig gleiche Breite */
		min-height: 100px;
		display: flex;
		justify-content: center;
	}
	
	.wrap_text_left,
	.wrap_text_right {
		flex-direction: column;
		align-items: flex-start; /* bewirkt, dass die Kind-Elemente nicht automatisch die volle Breite einnehmen */
		display: flex;
		justify-content: center;
	}
	
		.wrap_text_left p,
		.wrap_text_right p
		{
			width: 100%;
		}

	
	/* Video-Container */
	.wrap_image_right,
	.wrap_image_left {
		position: relative;
		overflow: hidden;
		align-items: center; /* Falls Video kleiner als Container ist */
	}
	
	/* Das Video selbst */
	.wrap_image_right video,
	.wrap_image_left video {
		width: 100%; /* Volle Breite des Containers */
		height: 100%; /* Volle Höhe des Containers */
		object-fit: cover; /* Sorgt dafür, dass das Video nicht verzerrt wird */
	}
	
	/* Für eingebundene Bilder */
	.wrap_image_right img,
	.wrap_image_left img {
		width: 100%;   /* Volle Breite des Containers */
		height: 100%;  /* Volle Höhe des Containers */
		object-fit: cover; /* Verhindert Verzerrungen, ähnlich wie beim Video */
	}
	
	/* Standardmäßige Reihenfolge für Bild/Text */
	.wrap_image_right {
		order: 1;
	}
	
	.wrap_text_left {
		order: 2;
	}
	
	.wrap_image_left {
		order: 2;
	}
	
	.wrap_text_right {
		order: 1;
	}
	
	/* Flexibilität für Breitenanpassung */
	.block_textimage .wrap_image_right,
	.block_textimage .wrap_image_left,
	.block_textimage .wrap_text_left,
	.block_textimage .wrap_text_right {
		flex-basis: 50%;
	}
	
	/* Dynamische Breitenveränderung */
	.block_textimage[data-size="60-40"] .wrap_image_right,
	.block_textimage[data-size="60-40"] .wrap_image_left {
		flex-basis: 60%;
	}
	
	.block_textimage[data-size="60-40"] .wrap_text_left,
	.block_textimage[data-size="60-40"] .wrap_text_right {
		flex-basis: 40%;
	}

@media screen and (max-width: 768px) {
	.block_textimage {
		flex-direction: column;
	}

	.wrap_image_right,
	.wrap_image_left,
	.wrap_text_left,
	.wrap_text_right {
		order: unset; /* Zurücksetzen der Order für natürliche Reihenfolge */
		width: 100%;
		flex-basis: auto;
		min-height: auto;
	}

	.wrap_image_right,
	.wrap_image_left {
		height: auto;
		max-height: 50vh; /* Begrenzung, damit das Bild/Video nicht zu viel Platz einnimmt */
	}

	.wrap_image_right video,
	.wrap_image_left video,
	.wrap_image_right img,
	.wrap_image_left img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.wrap_text_left,
	.wrap_text_right {
		padding: 30px 5% 40px 5% !important; /* Abstand für bessere Lesbarkeit */
		align-items: flex-start;
		text-align: left;
	}
}


/*******************************************************************
	4.5 FEATURE
*******************************************************************/

.block_feature
{}

	.wrap_feature
	{}
		.list_feature
		{}
		
			.item_feature
			{
				margin: 0px;
				list-style-type: none;
			}
			
				.feature_image
				{}
				
				.feature_text
				{}
				
				.feature_link:link, .feature_link:visited, .feature_link:hover, .feature_link:focus, .feature_link:active
				{}

/*******************************************************************
	4.6 BILD-FEATURE
*******************************************************************/

.block_image-feature
{}

	.wrap_image-feature
	{
	}
	
		ul.list_image-feature
		{
		}
		
		li.item_image-feature:nth-child(1), li:nth-child(4) 
		{
		}
		
		li.item_image-feature:nth-child(2), li:nth-child(3)
		{
		}
		
		.item_image-feature img
		{
		}

/*******************************************************************
	4.7 GALERIE
*******************************************************************/

.block_gallery,
.block_gallery_alt
{}

	.wrap_gallery
	{}
	
		.list_gallery
		{}
		
			.item_gallery
			{
				list-style-type: none;
			}

/*******************************************************************
	4.8 GRID-GALERIE
*******************************************************************/

.block_grid_gallery
{}

	.wrap_grid_gallery
	{
	}
	
		.wrap_grid_gallery > #grid > li > a > img
		{
		}

/*******************************************************************
	4.9 MITARBEITER
*******************************************************************/

.block_team
{}

	.wrap_team
	{}
		
		.list_team
		{}
	
			.item_team
			{
				list-style-type: none;
			}
			
				.team_image
				{}
					
				.team_headline
				{}
				
				.team_position
				{}

/*******************************************************************
	4.10 ZITAT
*******************************************************************/

.block_quote
{}

	.wrap_quote
	{}
	
		.wrap_quote > h1,
		.wrap_quote > h2
		{}
		
		.wrap_quote > p
		{}

/*******************************************************************
	4.11 KONTAKTFORMULAR
*******************************************************************/

.block_contact
{}

	.wrap_contact
	{}
	
		::-webkit-input-placeholder
		{
		}
		
		:-moz-placeholder
		{
		}
		
		::-moz-placeholder
		{
		}
		
		:-ms-input-placeholder
		{
		}
		
		.container_support,
		#container_danke
		{
		}
		
		#wrap_support_userdata,
		#wrap_support_select
		{
		}
		
		#wrap_support_select
		{
		}
		
		.wrap_support_message
		{
		}
		
		.container_checkoutbuttons
		{
		}
			
		input[type='submit'],
		button
		{
		}
		
		input[type='submit']:hover,
		button:hover
		{
		}
		
			.checkout_button_forward
			{
			}
		
			.checkout_button_forward:hover
			{
			}
		
			.checkout_button_backward
			{
			}
		
			.checkout_button_backward:hover
			{
			}
			
		input[type='text'],
		select
		{
		}
		
			.field
			{
			}
			
				.mobile_input
				{
				}
			
			.input_label
			{
			}
			
			.checkbox_label
			{
			}
			
			label
			{
			}
			
			input:invalid + label
			{
			}
			
			input:valid + label
			{
			}
			
			input:focus
			{
			}
			
			input:focus + label
			{
			}
			
		textarea
		{
		}
		
		.headline_content
		{
		}

/*******************************************************************
	4.12 STANDORT
*******************************************************************/

.block_map
{}

	.wrap_map
	{}
	
		#mapid
		{}

/*******************************************************************
	4.13 POPUP / INTRO
*******************************************************************/

#popup_background,
#intro_background
{
	
}

	#intro_background
	{
		
	}
	
	#popup_container,
	#intro_container
	{
		
	}
	
		.popup_image,
		.intro_image
		{
			
		}
		
		.popup_close
		{
			
		}
		
			.popup_close > i
			{
				
			}
			
		.popup_link
		{
			
		}
		
		.indicator_container
		{
			
		}
		
		.indicator_bar {
			background: red;
			height: 5px;
			left: 0;
			border-radius: 5px;
			animation: progressAnimationStrike 4s;
		}
		
		@keyframes progressAnimationStrike {
			from { width: 0 }
			to { width: 100% }
		}

/*******************************************************************
	4.14 YOUTUBE
*******************************************************************/

.block_youtube
{}

	.wrap_youtube
	{
	}

/*******************************************************************
	4.15 BLOGEINTRAG
*******************************************************************/

.block_blog
{}

	.wrap_blog
	{
	}
	
		.blog_link:link,
		.blog_link:visited
		{
		}
		
		.blog_link:hover,
		.blog_link:active,
		.blog_link:focus
		{
		}
		
		.blog_image
		{
		}
		
			.blog_image > img
			{
			}
		
		.blog_text
		{
		}

/*******************************************************************
	4.16 FLOATING BUTTON
*******************************************************************/

.block_floating-button
{
	
}

	.wrap_floating-button
	{
		
	}
	
		.list_floating-button
		{
			
		}
		
			.item_floating-button
			{
				
			}
		
				.item_floating-button > a:link,
				.item_floating-button > a:visited
				{
					
				}
				
				.item_floating-button > a:link:last-child
				{
					
				}
				
				.item_floating-button > a:hover,
				.item_floating-button > a:active,
				.item_floating-button > a:focus
				{
					
				}

/*******************************************************************
	4.18 PRODUKT
*******************************************************************/

.block_product
{}

	.wrap_product
	{
	}
	
		.list_product
		{}
		
			.item_product
			{
				list-style: none;
			}
			
				.product_image
				{
				}
				
				.item_product > h1
				{
				}
				
				.item_product > h2
				{
				}
				
				.item_product span
				{
				}
				
/* Shop category products: equal-height cards + subtle rating/price */
.block_product[data-block-type="shop-category-products"] .list_product,
.block_product[data-block-type="shop_crossselling"] .list_product,
.block_product[data-block-type="shop-crossselling"] .list_product
{}

.block_product[data-block-type="shop-category-products"] .item_product,
.block_product[data-block-type="shop_crossselling"] .item_product,
.block_product[data-block-type="shop-crossselling"] .item_product
{
	position: relative;
}

.block_product[data-block-type="shop-category-products"] .product_card_link,
.block_product[data-block-type="shop_crossselling"] .product_card_link,
.block_product[data-block-type="shop-crossselling"] .product_card_link
{
	position: absolute;
	inset: 0;
	z-index: 4;
	display: block;
}

.block_product[data-block-type="shop-category-products"] .product_badges,
.block_product[data-block-type="shop_crossselling"] .product_badges,
.block_product[data-block-type="shop-crossselling"] .product_badges
{
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 5;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
	pointer-events: none;
}

.block_product[data-block-type="shop-category-products"] .product_badge,
.block_product[data-block-type="shop_crossselling"] .product_badge,
.block_product[data-block-type="shop-crossselling"] .product_badge
{
	display: inline-block;
	padding: 2px 7px;
	border-radius: 10px;
	font-size: 0.63em;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.2;
	background: rgba(30, 30, 30, 0.82);
	color: #ffffff;
}

.block_product[data-block-type="shop-category-products"] .product_badge_new,
.block_product[data-block-type="shop_crossselling"] .product_badge_new,
.block_product[data-block-type="shop-crossselling"] .product_badge_new
{
	background: rgba(24, 122, 77, 0.9);
}

.block_product[data-block-type="shop-category-products"] .product_badge_sale,
.block_product[data-block-type="shop_crossselling"] .product_badge_sale,
.block_product[data-block-type="shop-crossselling"] .product_badge_sale
{
	background: rgba(195, 96, 0, 0.9);
}

.block_product[data-block-type="shop-category-products"] .product_badge_sold_out,
.block_product[data-block-type="shop_crossselling"] .product_badge_sold_out,
.block_product[data-block-type="shop-crossselling"] .product_badge_sold_out
{
	background: rgba(138, 26, 26, 0.92);
}

.block_product[data-block-type="shop-category-products"] .product_rating,
.block_product[data-block-type="shop_crossselling"] .product_rating,
.block_product[data-block-type="shop-crossselling"] .product_rating
{
	margin: 0px;
	color: #d4af37;
	font-size: 0.9em;
	letter-spacing: 1px;
	min-height: 1.2em;
	line-height: 1.2em;
}

.block_product[data-block-type="shop-category-products"] .product_rating_placeholder,
.block_product[data-block-type="shop_crossselling"] .product_rating_placeholder,
.block_product[data-block-type="shop-crossselling"] .product_rating_placeholder
{
	display: inline-block;
	min-width: 1px;
}

.block_product[data-block-type="shop-category-products"] .product_meta_top,
.block_product[data-block-type="shop_crossselling"] .product_meta_top,
.block_product[data-block-type="shop-crossselling"] .product_meta_top
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0px 0px 8px 0px;
}

.block_product[data-block-type="shop-category-products"] .product_brand,
.block_product[data-block-type="shop_crossselling"] .product_brand,
.block_product[data-block-type="shop-crossselling"] .product_brand
{
	font-size: 0.8em;
	color: #7a7a7a;
	text-align: right;
	letter-spacing: 0.02em;
}

.block_product[data-block-type="shop-category-products"] .product_headline,
.block_product[data-block-type="shop_crossselling"] .product_headline,
.block_product[data-block-type="shop-crossselling"] .product_headline
{
	transform: scale(1);
	transform-origin: 50% 50%;
	transition: transform 0.86s ease;
	will-change: transform;
}

.block_product[data-block-type="shop-category-products"] .item_product:hover .product_headline,
.block_product[data-block-type="shop_crossselling"] .item_product:hover .product_headline,
.block_product[data-block-type="shop-crossselling"] .item_product:hover .product_headline
{
	transform: scale(1.015);
}

.block_product[data-block-type="shop-category-products"] .product_price,
.block_product[data-block-type="shop_crossselling"] .product_price,
.block_product[data-block-type="shop-crossselling"] .product_price
{
	margin: 12px 0px 0px 0px;
	padding-top: 0px;
	border-top: 0;
	font-family: inherit;
	color: #8f8f8f;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: normal;
	line-height: inherit;
	text-align: right;
}

.shop_price_old,
.product_price .shop_price_old,
.shop_buy_box_price .shop_price_old
{
	color: #9a9a9a;
	margin-right: 6px;
	white-space: nowrap;
}

.shop_price_new,
.product_price .shop_price_new,
.shop_buy_box_price .shop_price_new
{
	color: inherit;
	white-space: nowrap;
}

.shop_price_badge,
.product_price .shop_price_badge,
.shop_buy_box_price .shop_price_badge
{
	display: inline-block;
	margin-left: 5px;
	padding: 0 4px;
	border-radius: 6px;
	border: 1px solid #c7a600;
	background: #ecc000;
	color: #5f4d00;
	font-size: 0.58em;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	vertical-align: text-top;
	transform: translateY(3px);
}

.block_product[data-block-type="shop-category-products"] .product_content,
.block_product[data-block-type="shop_crossselling"] .product_content,
.block_product[data-block-type="shop-crossselling"] .product_content
{
	min-height: 3.2em;
}

@media screen and (min-width : 1024px) {
	.block_product[data-block-type="shop-category-products"] .item_product,
	.block_product[data-block-type="shop_crossselling"] .item_product,
	.block_product[data-block-type="shop-crossselling"] .item_product
	{
		min-height: 540px;
	}
}

/*******************************************************************
	4.19 TESTEMONIAL
*******************************************************************/

.block_testimonial
{}

	.wrap_testimonial
	{
	}
	
		.list_testimonial
		{
		}
		
			.testimonial_navigation
			{
			}
			
				#testimonial_previous,
				#testimonial_next
				{
				}
			
				#testimonial_previous
				{
				}
				
				#testimonial_next
				{
				}
		
			.item_testimonial
			{
			}
			
				.testimonial_image
				{
					list-style-type: none;
				}

/*******************************************************************
	4.20 TEXT-LISTE
*******************************************************************/

/*******************************************************************
	4.21 DATEI-LISTE
*******************************************************************/

.block_filelist
{}

	.wrap_filelist
	{}
	
		.list_files
		{}
		
		.item_files
		{
		}

/*******************************************************************
	4.22 LINK-LISTE
*******************************************************************/

/* ist im Contentblock-Parser noch auskommentiert */

/*******************************************************************
	4.23 EVENTS
*******************************************************************/

/* ist im Contentblock-Parser noch auskommentiert */

/*******************************************************************
	4.24 EVENT-LISTE
*******************************************************************/

/* ist im Contentblock-Parser noch auskommentiert */

/*******************************************************************
	4.25 LOGIN
*******************************************************************/

/* ist im Contentblock-Parser noch auskommentiert */

/*******************************************************************
	4.26 LINK-GALERIE
*******************************************************************/

.block_link_gallery
{}

	.wrap_link_gallery
	{}
	
		.list_link_gallery
		{}
		
			.item_link_gallery
			{
				list-style-type: none;
			}
			
				.item_link_gallery img
				{}
			
			.item_link_gallery:nth-child(2n)
			{}

/*******************************************************************
	4.27 IIQ-CHECK
*******************************************************************/

/*******************************************************************
	4.28 COOKIE-BANNER
*******************************************************************/

.block_cookies
{}

	.wrap_cookies
	{}

/*******************************************************************
	4.29 MIETPROZESS
*******************************************************************/

.container_rental
{}

	.wrap_rental
	{}
	
		.list_rental_steps
		{
			
		}
	
			.item_rentalstep,
			.item_eventstep
			{
				margin: 0px;
				list-style-type: none;
			}
			
			.item_eventstep
			{
			}
			
			.rentalstep_active
			{
				
			}
			
				.item_rentalstep > .rental_stepcount
				{
					
				}
			
				.rentalstep_active > .rental_stepcount
				{
					
				}
				
				.rental_text
				{
					
				}
		
		#rental_filters
		{}
		
			.rental_filter_button
			{}
			
			.rental_filter_button.active 
			{}
			
			.rental_filter_button:hover 
			{}
		
		#rental_step
		{}
		
			.columns_products
			{}
			
				.rentalitem_gallery_list {
					display: flex;
					flex-wrap: wrap; /* Elemente umbrechen, damit sie untereinander erscheinen */
					gap: 1.5%; /* Abstand zwischen den Elementen */
					padding: 0;
					margin: 0;
					list-style: none;
				}
				
				.rentalitem_gallery_item {
					list-style: none;
					padding: 0;
					margin: 0;
				}
				
				/* Erstes Bild nimmt 100% Breite */
				.rentalitem_gallery_item:first-child {
					width: 100%;
				}
				
				/* Alle weiteren Bilder nehmen 33.333% Breite ein */
				.rentalitem_gallery_item:nth-child(n+2) {
					width: calc(33.333% - 1%);
				}


					
						.products_thumbnails
						{}
			
				.columns_products img 
				{}
				
				.description_padding
				{}
				
			.rentalitem_preheadline
			{}
				
			.rentalitem_headline
			{}
			
			.rentalitem_price
			{}
			
			.rentalitem_checkbox
			{}
			
			.rental_step3_checkbox
			{}
			
			.rental_submit,
			.rental_cancel
			{
				width: 50%;
				border-radius: 0px;
			}
			
				.cancel_link
				{
					color: white !important;
					text-decoration: none !important;
					width: 100%;
					display:inline-block;
					position: relative;
					top: -10px;
					padding: 15px 0px 15px 0px;
				}
			
			.rental_submit
			{
				border-top-right-radius: 5px;
				border-bottom-right-radius: 5px; 
			}
			
			.rental_cancel
			{
				border-top-left-radius: 5px;
				border-bottom-left-radius: 5px;
				background: rgb(154, 154, 154);
			}
		
		#rental_cart
		{}
		
		.standalone
		{}
		
/*******************************************************************
	4.30 MIETANFRAGE
*******************************************************************/

.container_rental_request
{
	position: relative;
	width: 100%;
	background: white;
}

	.wrap_rental_request
	{
		position: relative;
		width: 80%;
		background: white;
		margin: auto auto;
	}

/*******************************************************************
	4.31 CHAT
*******************************************************************/

#icon_chat
	{
		
	}
	
		#icon_chat > i
		{
			
		}
		
	#container_chat
	{
		
	}
	
		#close_chat > i
		{
			
		}
		
		#content_chat
		{
			
		}
		
			#list_chat
			{
				
			}
			
				.item_chat_right,
				.item_chat_left
				{
					list-style-type: none;
				}
				
				.item_chat_left
				{
					
				}
				
					.chat_timestamp
					{
						
					}
			
			#chat_message
			{
				
			}

/*******************************************************************
	4.32 EVENT MODULE
*******************************************************************/

.block_module 
{
	width: 100%;
	margin: 0 auto; /* Zentriert den Container */
}

	.wrap_module 
	{
		width: 100%;
	}

		.list_module
		{
			display: flex;
			flex-wrap: wrap; /* Umbruch bei Platzmangel */
			gap: 20px; /* Abstand zwischen den Boxen */
			padding-left: 0; /* Entfernt Einrückungen */
			list-style-type: none; /* Entfernt Standard-Listenelemente */
			margin: 0px;		}

			.item_module
			{
				flex: 1 1 calc(50% - 20px); /* Zwei Boxen nebeneinander (50% minus Abstand) */
				box-sizing: border-box;
				padding: 20px;
				border: 1px solid #ccc;
				background-color: #f9f9f9;
				margin: 0;
				transition: all 0.3s ease; 
				list-style-type: none; /
			}

			.module_content
			{
				display: none; /* Standardmäßig ausgeblendet */
				margin-top: 10px;
			}
	
	
			
/*******************************************************************
	4.33 EVENTS
*******************************************************************/
			
			.table_events
			{
			}
			
				.table_events tr:nth-child(odd)
				{
				}
				
					.table_events td
					{
					}
				
					.table_events td:nth-child(1)
					{
					}
				
					.table_events td:nth-child(3),
					.table_events td:nth-child(5)
					{
					}

/*******************************************************************
	4.34 EVENT BUCHUNG
*******************************************************************/

.container_booking
{
}

	.wrap_booking
	{
	}
	
		.booking_subline
		{
		}
		
		.booking_headline
		{
		}
		
		.wrap_booking > ul
		{
		}
		
			.wrap_booking > ul li,
			.wrap_booking > ol li
			{
			}
		
		
		.booking_price
		{
		}
		
			.booking_price > b
			{
			}
		
		.booking_form
		{
			
		}
		
			#container_shippingaddress
			{
			}
		
			.wrap_inputs
			{
			}
			
				.booking_label
				{
				}
				
				.wrap_inputs > .column_50:nth-child(1)
				{
				}
				
				.wrap_inputs > .column_50:nth-child(2)
				{
				}
				
					.input_select_booking,
					.input_text_booking
					{
					}
					
					.input_submit_booking
					{
					}
					
			.wrap_confirmations
			{
			}
						
/*******************************************************************
	4.35 PAYWALL
*******************************************************************/

#list_paywall
{}

	.item_paywall
	{}
	
	.item_paywall:last-child
	{}
	
		.button_payment
		{}
					
/*******************************************************************
	4.36 NEWSLETTER
*******************************************************************/

.block_newsletter
{
	position: relative;
	background: white;
	width: 100%;
	padding: 100px 0px 100px 0px;
}

	.wrap_newletter
	{
		position: relative;
		text-align: center;
		color: white;
		margin: auto auto;
		width: 40%;
		background: #f4f3e9;
		padding: 50px 100px 50px 100px;
	}
	
		.wrap_newletter h1
		{
			color: black;
			text-align: center;
		}
		
		.wrap_newletter p
		{
			color: black;
			text-align: left;
		}
		
		.newletter_columns
		{
			width: 100%;
			background: red;
			overflow: hidden;
		}

/*******************************************************************
	4.37 LOGOS
*******************************************************************/
/* Block auf 80% Breite, mittig */
.block_logos 
{
	width: 80%;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 44px 1fr 44px; /* Button | Viewport | Button */
	align-items: center;
	gap: 12px;
}

/* Buttons links/rechts */
.block_logos .logos_nav
{
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 999px;
	background: rgba(0,0,0,.08);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	line-height: 1;
	user-select: none;
}

.block_logos .logos_nav:hover
{
	background: rgba(0,0,0,.14);
}

.block_logos .logos_nav:active
{
	transform: scale(0.98);
}

/* Viewport sorgt fürs "Fenster" */
.block_logos .logos_viewport
{
	overflow-x: auto;           /* <-- scrollt */
	overflow-y: hidden;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;

	/* optional: Scrollbar dezenter */
	scrollbar-width: thin;
}

/* Horizontale Liste, scrollbar-fähig */
.block_logos .list_logos
{
	list-style: none;
	margin: 0 auto;            /* ⬅️ wichtig: zentriert die gesamte Liste */
	padding: 8px 2px;

	display: flex;
	align-items: center;        /* vertikal zentriert */
	justify-content: center;    /* ⬅️ Logos zentrieren, wenn Platz da ist */
	gap: 18px;

	width: fit-content;         /* ⬅️ Liste nur so breit wie Inhalt */

	overflow: visible;            /* <-- Liste selbst scrollt nicht */
	scroll-snap-type: x mandatory;/* snap bleibt ok */

	/* Scrollbar optional dezenter machen */
	scrollbar-width: thin;      /* Firefox */
}


/* Items: feste Höhe 100px, Inhalt zentriert */
.block_logos .item_logos
{
	height: 100px;
	flex: 0 0 auto;             /* nicht schrumpfen */
	display: flex;
	align-items: center;
	justify-content: center;
	scroll-snap-align: center;  /* optional: snap */
}

/* Links auch zentriert */
.block_logos .item_logos a
{
	height: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Logos: passen sich der Höhe an, bleiben proportional */
.block_logos .logos_thumbnail
{
	height: 100px;
	width: auto;
	max-width: 240px;           /* Sicherheitslimit, damit ein Logo nicht alles sprengt */
	object-fit: contain;
	display: block;
}

/* Mobile: schmalere Buttons + 100% Breite */
@media (max-width: 700px)
{
	.block_logos
	{
		width: 100%;
		grid-template-columns: 38px 1fr 38px;
		gap: 8px;
	}
	.block_logos .logos_nav
	{
		width: 38px;
		height: 38px;
		font-size: 20px;
	}
	.block_logos .logos_thumbnail
	{
		max-width: 180px;
	}
}

/*******************************************************************
	5. FOOTER
*******************************************************************/

#container_footer
{
}

	#wrap_footer
	{
	}
	
		#footer_socialmedia
		{
		}
		
			.footer_sociallink:link, .footer_sociallink:visited
			{
			}
			
			.footer_sociallink:hover, .footer_sociallink:active, .footer_sociallink:focus
			{
			}
			
		#footer_copyright
		{
		}
			
			.link_pixel:link, .link_pixel:visited
			{
			}
			
			.link_pixel:hover, .link_pixel:active, .link_pixel:focus
			{
			}
			
			.link_copyright:link, .link_copyright:visited
			{
			}
			
			.link_copyright:hover, .link_copyright:active, .link_copyright:focus
			{
			}

/*******************************************************************
	6. WYSIWYG ELEMENTE
*******************************************************************/

.wysiwyg_button:link,
.wysiwyg_button:visited,
.wysiwyg_button:hover,
.wysiwyg_button:active,
.wysiwyg_button:focus
{
}

.wysiwyg_button:hover,
.wysiwyg_button:active,
.wysiwyg_button:focus
{
}

.wysiwyg_button_feature:link,
.wysiwyg_button_feature:visited,
.wysiwyg_button_feature:hover,
.wysiwyg_button_feature:active,
.wysiwyg_button_feature:focus
{
}

.wysiwyg_image_feature
{
}

/*******************************************************************
	7. DATE- / TIMEPICKER
*******************************************************************/

.datepicker,
.timepicker
{}

	.picker__box
	{}
	
		.picker__list > li
		{
			list-style: none;
		}

/*******************************************************************
	8. SLIDER
*******************************************************************/

#image-carousel
{}

.splide__slide img
{}

/*******************************************************************
	9. APP VIEW ELEMENTS
*******************************************************************/

.APP .container_rental_request,
.APP .block_text
{
	background: white !important;
	width: 100%;
}

.APP h1
{
	font-family: Arial, sans-serif !important;
	transform: rotate(0deg) !important;
	background: none !important;
	text-transform: none !important;
	font-size: 2.5em !important;
	font-weight: bold !important;
	line-height: 1em;
	margin: 30px 0px 20px 0px;
	padding: 0px 0px 0px 0px !important;
	text-align: left;
	color: black !important;
	border-radius: 0px !important;
}

	.APP .wrap_rental_request
	{
		width: 100%;
	}
	
		.APP .list_rental_request
		{
			padding: 20px;
		}
		
			.APP .item_rental_request
			{
				background: white;
				margin: 0px 0px 20px 0px;
				border-radius: 15px;
				list-style: none;
				box-shadow: 0px 10px 10px rgba(0,0,0,0.2);
			}
			
				.APP .image_rental_request
				{
					width: 100%;
					border-top-right-radius: 15px;
					border-top-left-radius: 15px;
				}
				
					.APP .content_rental_request
					{
						position: relative;
						padding: 0px 30px 20px 30px;
					}
				
						.APP .organisation_rental_request
						{
							position: relative;
							background: red;
							display: inline-block;
							top: 12px;
							padding: 5px;
							border-radius: 5px;
						}
						
						.APP .organisation_rental_request::after {
							display: block;
							clear: both;
						}
				
						.APP .headline_rental_request
						{
							color: black;
							background: none;
							padding: 0px;
							margin: 15px 0px 30px 0px;
							font-family: Arial, sans-serif;
							text-transform: none;
							font-weight: bold;
							font-size: 2em;
						}
						
						.APP p
						{
							font-family: Arial, sans-serif;
							font-size: 1em;
						}
						
						.APP .button_rental_request
						{
							width: 100%;
							padding: 10px;
							text-align: center;
							margin: auto auto;
						}
						
						.APP .submit_container
						{
							text-align: center;
							width: 100%;
							height: 60px;
						}
						
							.APP .button_rental_request
							{
								display: block;
								padding: 10px 20px;
								background-color: #0073e6;
								color: white;
								text-decoration: none;
								border: none;
								border-radius: 5px;
								font-weight: bold;
								margin: 20px auto;
								width: fit-content;
								text-align: center;
								cursor: pointer;
							}
							
							.APP .form_request
							{
								display: none;
								width: 100%;
								margin: 20px 0px 0px 0px;
							}
							
								.APP .rentalrequest_container_input
								{
									position: relative;
									display: block;
									width: 100%;
									clear: both;
									margin: 0px 0px 20px 0px;
								}
								
									.APP .rentalrequest_input_left,
									.APP .rentalrequest_input_right,
									.APP .rentalrequest_input_full
									{
										width: calc(50% - 10px) !important;
										height: 40px;
										margin: 0px 10px 20px 0px;
									}
									
									.APP .rentalrequest_input_right
									{
										margin: 0px 0px 20px 10px;
									}
									
									.APP .rentalrequest_input_full
									{
										width: 100% !important;
										margin: 0px 0px 20px 0px;
									}
									

/*******************************************************************
	10. SPECIAL OR UNKNOWN ELEMENTS
*******************************************************************/

.input_warning
{}

.checkbox_label_warning
{}


/*******************************************************************
	TAB CONTENT
*******************************************************************/

.block_tab_content .wrap_tab_content
{
	width: 100%;
	padding: 0 60px;
	margin: 0;
}

.list_tab_content
{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.list_tab_content li
{
	list-style: none;
}

.item_tab_content
{
	margin: 0;
	padding: 0;
}

.tab_content_trigger
{
	display: block;
	padding: 10px 16px;
	border: 1px solid #d8d8d8;
	border-bottom: 0;
	border-radius: 6px 6px 0 0;
	background: #f3f3f3;
	color: #4a4a4a;
	font: inherit;
	cursor: pointer;
}

.tab_content_trigger.is_active
{
	background: #ffffff;
	color: #222222;
}

.tab_content_panels
{
	border: 1px solid #d8d8d8;
	padding: 18px 20px;
	background: #ffffff;
}

.tab_content_body[hidden]
{
	display: none;
}

/*******************************************************************
	SHOP BUY BOX
*******************************************************************/

.block_shop_buy_box
{
	margin-bottom: 30px;
}

	.wrap_shop_buy_box
	{
		display: flex;
		flex-wrap: wrap;
		gap: 100px;
		width: 100%;
		padding: 0 60px;
		box-sizing: border-box;
	}

		.shop_buy_box_left,
		.shop_buy_box_right
		{
			width: calc((100% - 100px) / 2);
			box-sizing: border-box;
		}
		
		.shop_buy_box_left
		{
			display: flex;
			flex-direction: column;
			align-items: flex-start;
		}

			.shop_buy_box_main_image_wrap
			{
				width: 100%;
				aspect-ratio: 1 / 1;
				background: #f3f3f3;
				display: flex;
				align-items: center;
				justify-content: center;
				overflow: hidden;
			}
			
				.shop_buy_box_main_image_link
				{
					display: block;
					width: 100%;
					height: 100%;
					text-decoration: none;
				}

				.shop_buy_box_main_image
				{
					width: 100%;
					height: 100%;
					object-fit: cover;
					display: block;
					transition: transform 0.6s ease;
				}
				
				.shop_buy_box_main_image_wrap:hover .shop_buy_box_main_image
				{
					transform: scale(1.06);
				}
				
				.shop_buy_box_gallery_link_hidden
				{
					display: none;
				}

			.shop_buy_box_thumbs
			{
				list-style: none;
				display: flex;
				flex-wrap: wrap;
				justify-content: flex-start !important;
				align-items: flex-start;
				gap: 12px;
				width: 100%;
				margin: 12px 0 0 0 !important;
				margin-left: 0 !important;
				padding: 0 !important;
				padding-left: 0 !important;
			}

				.shop_buy_box_thumb_item
				{
					list-style: none;
					margin: 0 !important;
					padding: 0 !important;
				}

					.shop_buy_box_thumb_btn
					{
						display: block;
						width: 72px;
						height: 72px;
						padding: 0;
						border: 1px solid #d8d8d8;
						background: #fff;
						cursor: pointer;
						overflow: hidden;
					}

					.shop_buy_box_thumb_btn.is_active
					{
						border-color: #8f8f8f;
					}

						.shop_buy_box_thumb_image
						{
							width: 100%;
							height: 100%;
							object-fit: cover;
							display: block;
							transition: transform 0.4s ease;
						}
						
					.shop_buy_box_thumb_btn:hover .shop_buy_box_thumb_image
					{
						transform: scale(1.06);
					}

			.shop_buy_box_price
			{
				color: #8f8f8f;
				font: inherit;
				font-size: 1.2em;
				margin-top: 10px;
			}

			.shop_item_sizes
			{
				margin: 0 0 14px 0;
			}

				.shop_item_sizes_label
				{
					display: block;
					margin: 0 0 8px 0;
				}

				.shop_item_sizes_group
				{
					display: flex;
					flex-wrap: wrap;
					gap: 10px;
				}

					.shop_item_size_option
					{
						display: inline-flex;
						align-items: center;
						justify-content: center;
						margin: 0;
						cursor: pointer;
						position: relative;
					}

					.shop_item_size_option input[type=radio]
					{
						position: absolute;
						opacity: 0;
						pointer-events: none;
					}

					.shop_item_size_option input[type=radio] + span
					{
						display: inline-block;
						min-width: 40px;
						padding: 6px 12px;
						border: 1px solid #d8d8d8;
						background: #fff;
						text-align: center;
					}

					.shop_item_size_option input:checked + span
					{
						border-color: #8f8f8f;
						background: #f3f3f3;
					}

					.shop_item_size_option input[disabled] + span,
					.shop_item_size_option span.is_unavailable
					{
						position: relative;
						color: #a8a8a8;
						border-color: #dddddd;
						background: #f7f7f7;
						cursor: not-allowed;
					}

					.shop_item_size_option input[disabled] + span::after,
					.shop_item_size_option span.is_unavailable::after
					{
						content: "";
						position: absolute;
						left: -2px;
						right: -2px;
						top: 50%;
						border-top: 1px solid #c7c7c7;
						transform: rotate(-32deg);
						transform-origin: center;
						pointer-events: none;
					}

					.shop_item_size_popover
					{
						display: none;
						position: absolute;
						left: 50%;
						top: calc(100% + 10px);
						transform: translateX(-50%);
						z-index: 5;
						width: 320px;
						background: #fff;
						border: 1px solid #d8d8d8;
						box-shadow: 0 4px 14px rgba(0,0,0,0.08);
						padding: 8px;
						gap: 6px;
						align-items: center;
					}

					.shop_item_size_popover::before,
					.shop_item_size_popover::after
					{
						content: "";
						position: absolute;
						left: 50%;
						transform: translateX(-50%);
						width: 0;
						height: 0;
						border-left: 7px solid transparent;
						border-right: 7px solid transparent;
					}

					.shop_item_size_popover::before
					{
						top: -8px;
						border-bottom: 8px solid #d8d8d8;
					}

					.shop_item_size_popover::after
					{
						top: -7px;
						border-bottom: 8px solid #fff;
					}

					.shop_item_size_option.has_unavailable_notice.is_open .shop_item_size_popover,
					.shop_item_size_option.has_unavailable_notice:hover .shop_item_size_popover
					{
						display: flex;
					}

					.shop_item_size_popover_input
					{
						width: 100%;
						flex: 1 1 auto;
						min-width: 0;
						height: 34px;
						padding: 0 8px;
						border: 1px solid #d8d8d8;
						font: inherit;
						font-size: 0.92em;
						color: #4a4a4a;
					}

					.shop_item_size_popover_input:focus
					{
						outline: none;
						border-color: #8f8f8f;
					}

					.shop_item_size_popover_button
					{
						flex: 0 0 auto;
						height: 34px;
						padding: 0 12px;
						max-width: 150px;
						border: 1px solid #5f5f5f;
						background: #5f5f5f;
						color: #fff;
						font: inherit;
						font-size: 0.9em;
						cursor: pointer;
					}

					.shop_item_size_popover_button:hover
					{
						background: #4f4f4f;
						border-color: #4f4f4f;
					}

					.shop_item_size_popover_button.is_success
					{
						background: #5f7a53;
						border-color: #5f7a53;
					}

					.shop_item_size_popover_button.is_error
					{
						background: #8a5a5a;
						border-color: #8a5a5a;
					}

			.shop_item_colors
			{
				margin: 0 0 14px 0;
			}

				.shop_item_colors_label
				{
					display: block;
					margin: 0 0 8px 0;
				}

				.shop_item_colors_list
				{
					list-style: none;
					display: flex;
					flex-wrap: wrap;
					gap: 10px;
					margin: 0;
					padding: 0;
				}

					.shop_item_color_item
					{
						list-style: none;
						margin: 0;
						padding: 0;
					}

					.shop_item_color_link
					{
						display: inline-flex;
						flex-direction: column;
						align-items: center;
						gap: 6px;
						text-decoration: none !important;
						color: inherit;
					}

					.shop_item_color_image,
					.shop_item_color_image_placeholder
					{
						width: 56px;
						height: 56px;
						border: 1px solid #d8d8d8;
						background: #fff;
						display: block;
					}

					.shop_item_color_image
					{
						object-fit: cover;
						transition: transform 0.4s ease;
					}

					.shop_item_color_link:hover .shop_item_color_image
					{
						transform: scale(1.06);
					}

					.shop_item_color_link.is_active .shop_item_color_image
					{
						transform: scale(1.06);
					}

					.shop_item_color_link.is_active .shop_item_color_image,
					.shop_item_color_link.is_active .shop_item_color_image_placeholder
					{
						border: 2px solid #5f5f5f;
						box-shadow: 0 0 0 2px #ececec;
						background: #f7f7f7;
					}

			.shop_item_add_to_cart
			{
				margin: 6px 0 0 0;
			}

				.shop_item_add_to_cart_row
				{
					display: inline-flex;
					align-items: center;
					gap: 0;
				}

					.shop_item_add_to_cart_row input[type=number]
					{
						height: 42px;
						padding: 0 8px;
						border: 1px solid #d8d8d8;
						border-right: 0;
						background: #fff;
						color: #4a4a4a;
						font: inherit;
						font-size: 1em;
						border-radius: 0;
						width: 84px;
					}

					.shop_item_add_to_cart_row input[type=number]:focus
					{
						outline: none;
						border-color: #8f8f8f;
						box-shadow: 0 0 0 2px #ececec;
					}

					.shop_item_add_to_cart_row button[type=submit]
					{
						height: 42px;
						padding: 0 12px;
						min-width: 160px;
						border: 1px solid #5f5f5f;
						background: #5f5f5f;
						color: #fff;
						font: inherit;
						font-size: 0.92em;
						line-height: 1;
						cursor: pointer;
						transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.2s ease;
					}

					.shop_item_add_to_cart_row button[type=submit]:hover
					{
						background: #4f4f4f;
						border-color: #4f4f4f;
						transform: translateY(-1px);
					}

					.shop_item_add_to_cart_row button[type=submit]:focus
					{
						outline: none;
						box-shadow: 0 0 0 2px #ececec;
					}

			.availability_only_text
			{
				color: transparent;
			}

				.availability_only_text [data-item-availability]
				{
					color: #4a4a4a;
				}


@media screen and (max-width: 900px)
{
	.wrap_shop_buy_box
	{
		padding: 0 20px;
	}

	.shop_buy_box_left,
	.shop_buy_box_right
	{
		width: 100%;
	}

	.shop_buy_box_right
	{
		margin-top: 20px;
	}

	.shop_item_add_to_cart_row
	{
		display: flex;
		width: 100%;
		align-items: stretch;
	}

	.shop_item_add_to_cart_row input[type=number]
	{
		width: 80px;
	}

	.shop_item_add_to_cart_row button[type=submit]
	{
		min-width: 0;
		flex: 1 1 auto;
	}
}
