/*******************************************************************
	0. RIFT
*******************************************************************/

@charset "utf-8";

@font-face {
	font-family: 'Roboto_Condensed_Bold';
	src: url('../SHARED/fonts/roboto/RobotoCondensed-Bold.eot');
	src: url('../SHARED/fonts/roboto/RobotoCondensed-Bold.eot?#iefix') format('embedded-opentype'),
		url('../SHARED/fonts/roboto/RobotoCondensed-Bold.woff2') format('woff2'),
		url('../SHARED/fonts/roboto/RobotoCondensed-Bold.woff') format('woff'),
		url('../SHARED/fonts/roboto/RobotoCondensed-Bold.ttf') format('truetype'),
		url('../SHARED/fonts/roboto/RobotoCondensed-Bold.svg#RobotoCondensed-Bold') format('svg');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Roboto_Condensed_Regular';
	src: url('../SHARED/fonts/roboto/RobotoCondensed-Regular.eot');
	src: url('../SHARED/fonts/roboto/RobotoCondensed-Regular.eot?#iefix') format('embedded-opentype'),
		url('../SHARED/fonts/roboto/RobotoCondensed-Regular.woff2') format('woff2'),
		url('../SHARED/fonts/roboto/RobotoCondensed-Regular.woff') format('woff'),
		url('../SHARED/fonts/roboto/RobotoCondensed-Regular.ttf') format('truetype'),
		url('../SHARED/fonts/roboto/RobotoCondensed-Regular.svg#RobotoCondensed-Regular') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Roboto_Condensed_Italic';
	src: url('../SHARED/fonts/roboto/RobotoCondensed-Italic.eot');
	src: url('../SHARED/fonts/roboto/RobotoCondensed-Italic.eot?#iefix') format('embedded-opentype'),
		url('../SHARED/fonts/roboto/RobotoCondensed-Italic.woff2') format('woff2'),
		url('../SHARED/fonts/roboto/RobotoCondensed-Italic.woff') format('woff'),
		url('../SHARED/fonts/roboto/RobotoCondensed-Italic.ttf') format('truetype'),
		url('../SHARED/fonts/roboto/RobotoCondensed-Italic.svg#RobotoCondensed-Italic') format('svg');
	font-weight: normal;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Rift_Soft_Light';
	src: url('../SHARED/fonts/rift/RiftSoft-Light.eot');
	src: url('../SHARED/fonts/rift/RiftSoft-Light.eot?#iefix') format('embedded-opentype'),
		url('../SHARED/fonts/rift/RiftSoft-Light.woff2') format('woff2'),
		url('../SHARED/fonts/rift/RiftSoft-Light.woff') format('woff'),
		url('../SHARED/fonts/rift/RiftSoft-Light.ttf') format('truetype'),
		url('../SHARED/fonts/rift/RiftSoft-Light.svg#RiftSoft-Light') format('svg');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Rift_Soft_Bold';
	src: url('../SHARED/fonts/rift/RiftSoft-Bold.eot');
	src: url('../SHARED/fonts/rift/RiftSoft-Bold.eot?#iefix') format('embedded-opentype'),
		url('../SHARED/fonts/rift/RiftSoft-Bold.woff2') format('woff2'),
		url('../SHARED/fonts/rift/RiftSoft-Bold.woff') format('woff'),
		url('../SHARED/fonts/rift/RiftSoft-Bold.ttf') format('truetype'),
		url('../SHARED/fonts/rift/RiftSoft-Bold.svg#RiftSoft-Bold') format('svg');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}

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

body
{
	background: #2e2e2e url('../images/static/background_pattern.svg') repeat;
	background-size: 50%;
	font-size: 1em;
	line-height: 1.4em;
	color: #606060;
}

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

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

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

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

h1
{
	font-family: 'Rift_Soft_Bold', Arial, sans-serif;
	font-size: 1.5em;
	line-height: 1em;
	margin: 30px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	text-align: left;
	color: #1e1e1e;
}

@media screen and (min-width : 1024px) {
	h1
	{
		font-size: 2.5em;
		margin: 0px 0px 30px 0px;
	}
}

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

h3
{
	font-family: 'Rift_Soft_Light', Arial, sans-serif;
	font-size: 1.2em;
	line-height: 1.4em;
	margin: 45px 0px 15px 0px;
}

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

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

/*******************************************************************
	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%;
	}
}

/*******************************************************************
	3. INDIVIDUELLE STYLES
*******************************************************************/

.container_floatingbutton
{
	position: fixed;
	width: 100%;
	top: calc(100vh - 3.625em);
	right: 0px;
	z-index: 2;
}

@media screen and (min-width : 1024px) {
	.container_floatingbutton
	{
		top: 20px;
	}
}

	.wrap_floatingbutton
	{
		position: absolute;
		width: 100%;
		top: 0px;
		right: 0px;
		background: #a12918;
		border-radius: none;
		box-shadow: 0px 0px 5px rgba(0,0,0,0.3);
	}

	@media screen and (min-width : 1024px) {
		.wrap_floatingbutton
		{
			width: auto;
			right: 10%;
			border-radius: 10px;
			text-align: center;
		}
	}
		
		.wrap_floatingbutton > a:link,
		.wrap_floatingbutton > a:visited
		{
			padding: 20px 40px 20px 40px;
			width: 50%;
			display: block;
			float: left;
			color: white !important;
			text-decoration: none !important;
			text-align: center;
			font-family: 'Roboto_Condensed_Bold', Arial, sans-serif;
			font-size: 1.125em;
			border-right: 1px solid white;
		}
		
		@media screen and (min-width : 1024px) {	
			.wrap_floatingbutton > a:link,
			.wrap_floatingbutton > a:visited
			{
				width: auto;
				font-size: 1.2em;
			}
		}
		
		.wrap_floatingbutton > a:link:last-child
		{
			border-right: none;
		}
		
		.wrap_floatingbutton > a:hover,
		.wrap_floatingbutton > a:active,
		.wrap_floatingbutton > a:focus
		{
			font-family: 'Roboto_Condensed_Bold', Arial, sans-serif;
		}

#popup_background,
#intro_background
{
	display: block;
	position: fixed;
	background: rgba(0,0,0,0.8);
	width: 100%;
	height: 100vh;
	top: 0px;
	left: 0px;
	z-index: 100;
}

	#intro_background
	{
		background: white;
	}
	
	#popup_container,
	#intro_container
	{
		display: block;
		position: relative;
		width: 90vw;
		height: 90vw;
		top: 20vh;
		margin: auto auto;
	}
	
	@media screen and (min-width : 1023px) {
		#popup_container,
		#intro_container
		{
			width: 80vh;
			height: 80vh;
			top: 10vh;
		}
	}
	
		.popup_image,
		.intro_image
		{
			width: 100%;
		}
		
		.popup_close
		{
			position: absolute;
			background: white;
			width: 50px;
			height: 50px;
			top: -25px;
			right: -25px;
			border-radius: 25px;
			border: 3px solid black;
			cursor: pointer;
			z-index: 2;
		}
		
			.popup_close > i
			{
				position: relative;
				font-size: 2.1em;
				top: 6px;
				left: 9px;
				color: black;
			}
			
		.popup_link
		{
			position: absolute;
			display: block;
			width: 100%;
			height: 100%;
			top: 0px;
			left: 0px;
			z-index: 1;
		}
		
		.indicator_container
		{
			position: relative;
			background: rgb(215, 215, 215);
			width: 50%;
			height: 5px;
			border-radius: 5px;
			margin: auto auto;
			padding: 0px;
		}
		
		.indicator_bar {
			background: #b8c0b3;
			height: 5px;
			left: 0;
			border-radius: 5px;
			animation: progressAnimationStrike 4s;
		}
		
		@keyframes progressAnimationStrike {
			from { width: 0 }
			to { width: 100% }
		}

.text_red
{
	color: #ba372a;
}

#container_headline
{
	position: relative;
	background: transparent;
	width: 100%;
	z-index: 5;
}

	#wrap_headline
	{
		position: relative;
		width: 100%;
		height: 80px;
		max-width: 100%;
		margin: auto auto;
	}
	
	@media screen and (min-width : 1024px) {
		#wrap_headline
		{
			position: relative;
			width: 100%;
			height: 200px;
			max-width: 100%;
			margin: auto auto;
		}
	}
		
		#container_contextmenu
		{
			display: none;
		}
		
		@media screen and (min-width : 1024px) {
			#container_contextmenu
			{
				display: block;
				position: absolute;
				top: 40px;
				right: 5%;
				width: 35%;
				height: 35px;
				padding: 6px 0px 0px 0px;
				text-align: right;
				z-index: 10;
			}
		}
		
		@media screen and (min-width : 1300px) {
			#container_contextmenu
			{
				right: 10%;
				width: 33%;
			}
		}
		
		@media screen and (min-width : 1800px) {
			#container_contextmenu
			{
				right: 20%;
				width: 25%;
			}
		}
		
			.list_contextmenu
			{}
			
				.item_contextmenu
				{
					float: right;
					font-family: 'Roboto_Condensed_Bold', Arial, sans-serif;
					font-size: 1.25em;
					margin: 0px 0px 0px 40px;
					color: #979797;
					cursor: pointer;
				}
				
				.item_contextmenu:hover
				{
					color: white;
				}
				
					.item_contextmenu > a:link,
					.item_contextmenu > a:visited
					{
						font-family: 'Roboto_Condensed_Bold', Arial, sans-serif;
						font-size: 1em;
						text-decoration: none;
						color: #979797;
					}
					
					.item_contextmenu > a:hover,
					.item_contextmenu > a:active,
					.item_contextmenu > a:focus
					{
						color: white;
					}
			
					.list_context_submenu
					{
						display: none;
						position: relative;
						background: rgba(255,255,255,0.8);
						padding: 5px 15px 5px 15px;
						border-radius: 10px;
						position: 20;
					}
					
						.item_context_submenu
						{
							padding: 5px 0px 5px 0px;
						}
		
		#logo
		{
			background: url('../images/logos/logo_rift_mobile.svg') 50% 0px no-repeat;
			background-size: 80px;
			position: relative;
			height: 60px;
			top: 8px;
		}
		
		.link_logo:link
		{
			display: none;
		}
		
		@media screen and (min-width : 1024px) {
			#logo
			{
				position: relative;
				background: url('../images/logos/logo_rift.svg') 0px 0px no-repeat;
				background-size: 120px;
				width: 120px;
				height: 90px;
				top: 20px;
				left: calc(50% - 60px);
				z-index: 5;
			}
		}
		
		@media screen and (min-width : 1024px) {
			.link_logo:link
			{
				display: block;
				width: 120px;
				height: 90px;
			}
		}
		
		#container_menu
		{
			position: absolute;
			width: 100%;
			height: 60px;
			top: 125px;
			z-index: 6;
		}
		
			#wrap_menu
			{
				position: absolute;
				width: 90%;
				max-width: 90%;
				left: 5%;
				bottom: 15px;
			}
		
			@media screen and (min-width : 1300px) {
				#wrap_menu
				{
					position: absolute;
					width: 90%;
					max-width: 90%;
					left: 5%;
					bottom: 0px;
				}
			}
		
		#list_menu
		{
			display: none;
		}

		@media screen and (min-width : 1024px) {
			#list_menu
			{
				display: block;
				height: 60px;
				top: 0px;
				right: 0px;
				box-shadow: 0px 0px 0px rgba(0,0,0,0);
				z-index: 2;
				text-align: center;
			}
		}
		
			#list_menu li
			{
				display: inline-block;
			}
			
			#list_menu ul
			{
				position: absolute;
				display: none;
				left: 0;
				z-index: 1;
				text-align: center;
				/* border-bottom: 6px solid transparent; */
			}
			
			#list_menu ul:hover
			{
				/* border-top: 6px solid transparent; */
			}
			
			#list_menu > li
			{
				display: inline-block;
				*display: inline; /*IE7*/
				*zoom: 1; /*IE7*/
			}
			
			#list_menu li:hover > ul,
			#list_menu li.sfHover > ul
			{
				display: inline-block;
			}
			
			#list_menu a
			{
				display: block;
				position: relative;
				font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
				font-size: 0.875em;
				font-style: normal;
				font-size: 1.4em;
				text-decoration: none;
				color: white;
				text-transform: none;
				padding: 22px 15px 16px 15px;
			}
			
			@media screen and (min-width : 1500px) {
				#list_menu a
				{
					padding: 2px 30px 16px 30px;
				}
			}
			
				#list_menu a > i
				{
					position: relative;
					top: -2px;
					left: 5px;
					color: #b0b0b0;
					font-size: 0.4em;
				}
			
			#list_menu > li > a:hover
			
			{
				color: #979797;
				font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
				
			}
			
			#list_menu > li.menu_active,
			#list_menu > li.menu_active > a:link
			{
				border-bottom: 0px solid transparent;
				color: white;
				font-family: 'Roboto_Condensed_Bold', Arial, sans-serif;
				
			}
			
			#list_menu > li.menu_active > a:hover
			{
				border-bottom: 0px solid transparent;
				color: #979797;
			}
				.menu_icon
				{
					position: relative;
					width: 40px;
					height: 40px;
					top: 10px;
					margin: 0px 10px 0px 0px;
				}
			
			#list_menu ul ul
			{
				top: 0;
				left: 100%;
			}
			
				#list_menu > li > ul
				{
					background: white;
				}
				
					#list_menu > li > ul > li > a:link
					{
						/* border-bottom: 6px solid transparent; */
					}
				
					#list_menu > li > ul > li > a:hover
					{
						color: #2e2e2e;
						font-family: 'Roboto_Condensed_Bold', Arial, sans-serif;
						/* border-bottom: 6px solid #dedc00; */
					}
				
		nav:not(.mm-menu)
		{
			display: none;
		}
		
		#mobile_menu
		{
			font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
		}
		
		@media screen and (min-width : 770px) {
			#mobile_menu
			{
				display: none;
			}
		}
		
		#hamburger
		{
			position: absolute;
			display: block;
			width: 57px;
			height: 57px;
			top: 8px;
			left: 0px;
			font-size: 2em;
			z-index: 999;
		}
		
		@media screen and (min-width : 1024px) {
			#hamburger
			{
				display: none;
			}
		}
		
			#hamburger > a
			{
				display: block;
				padding: 18px 0px 13px 20px;
				color: #979797;
			}
			
#icon_chat
{
	position: fixed;
	bottom: 30px;
	right: 30px;
	width: 50px;
	height: 50px;
	border-radius: 25px;
	padding: 7px 0px 0px 6px;
	background: red;
	cursor: pointer;
	z-index: 100;
}

	#icon_chat > i
	{
		font-size: 2em;
	}
	
#container_chat
{
	display: none;
	position: fixed;
	width: 355px;
	height: 500px;
	right: 10px;
	bottom: 10px;
	border-radius: 15px;
	background: white;
	box-shadow: 0px 0px 5px rgba(0,0,0,0.5);
	z-index: 101;
}

@media screen and (min-width : 1024px) {
	#container_chat
	{
		width: 400px;
		right: 30px;
		bottom: 30px;
		border-radius: 15px;
	}
}

	#close_chat > i
	{
		position: absolute;
		background: white;
		font-size: 2em;
		border-radius: 2em;
		cursor: pointer;
		top: 5px;
		right: 5px;
		z-index: 102;
	}
	
	#content_chat
	{
		width: 400px;
		height: 425px;
		padding: 10px;
	}
	
	@media screen and (min-width : 1024px) {
		#content_chat
		{
			padding: 30px;
		}
	}
	
		#list_chat
		{
			overflow-y: scroll;
			height: 370px;
			display: flex;
			flex-direction: column-reverse;
			padding: 0px 5px 10px 5px;
		}
		
			.item_chat_right,
			.item_chat_left
			{
				position: relative;
				width: 55%;
				background: lightgreen;
				border-radius: 10px;
				border-top-right-radius: 0px;
				padding: 10px;
				margin: 10px 0px 0px calc(45% - 45px);
				font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
				box-shadow: 0px 3px 5px rgba(0,0,0,0.15);
			}
			
			.item_chat_left
			{
				border-radius: 10px;
				border-top-left-radius: 0px;
				background: lightblue;
				margin: 10px 0px 0px 0px;
				box-shadow: 0px 3px 5px rgba(0,0,0,0.15);
			}
		
			@media screen and (min-width : 1024px) {
				.item_chat_right,
				.item_chat_left
				{
					margin: 10px 0px 0px 45%;
				}
				
				.item_chat_left
				{
					margin: 10px 0px 0px 0px;
				}
			}
			
				.chat_timestamp
				{
					position: absolute;
					font-size: 0.6em;
					bottom: 0px;
					right: 10px;
					color: #616161;
				}
		
		#chat_message
		{
			width: 275px;
			margin: 0px 15px 0px 15px;
			border-radius: 5px;
		}
		
		@media screen and (min-width : 1024px) {
			#chat_message
			{
				width: 290px;
				margin: 0px 5px 0px 35px;
				border-radius: 5px;
			}
		}


.container_minihero
{
	position: relative;
	background-image: url('../images/static/hero_home.jpg');
	background-size: cover;
	background-repeat: no-repeat;
	/* background-attachment: fixed; */
	background-position: 50% 0px; 
	top: 0px;
	width: 100%;
	height: 65vw;
	margin: 0px 0px 0px 0px;
	z-index: 1;
}

@media screen and (min-width : 1024px) {
	.container_minihero
	{
		background-position: 100% 0px; 
		height: 25vw;
	}
}


.container_hero
{
	position: relative;
	background-color: white;
	width: 100%;
	height: 40vw;
	margin: 0px 0px 0px 0px;
	z-index: 1;
}

	.container_hero video {
		width: 100%;
		height: auto;
		max-height: 40vw; /* Optional: Limitiert die Höhe, passt diese aber an das Seitenverhältnis an */
	}

.superhero
{
	height: 40vw;
}

	#wrap_hero
	{
		position: absolute;
		width: 100%;
		max-width: 80%;
		height: 100%;
		z-index: 2;
		top: 0px;
		left: 10%;
	}
	
		#slogan_hero
		{
			display: none;
		}
	
		@media screen and (min-width : 1024px) {
			#slogan_hero
			{
				display: block;
				position: absolute; 
				left: 0; 
				right: 0;
				top: 50%;
				transform: translateY(-50%);
				margin-left: auto; 
				margin-right: auto;
				width: 50%;
			}
		}
		
			.preline_hero
			{
				font-family: 'Rift_Soft_Light', Arial, sans-serif;
				margin: 0px 0px 0px 0px;
				padding: 0px 0px 0px 0px;
				font-size: 3em;
				text-align: center;
				color: white;
				text-shadow: 0px 0px 5px rgba(0,0,0,0.3);
			}
		
			.headline_hero
			{
				width: 100%;
				padding: 0px 0px 0px 0px;
				font-family: 'Rift_Soft_Bold', Arial, sans-serif;
				font-size: 5em;
				text-align: center;
				color: white;
				text-shadow: 0px 0px 5px rgba(0,0,0,0.3);
			}
			
			.cta_hero:link,
			.cta_hero:visited,
			.cta_hero:hover,
			.cta_hero:active,
			.cta_hero:active
			{
				position: relative;
				margin: auto auto;
				text-align: center;
				padding: 20px;
				width: 250px;
				border-radius: 14px;
				display: block;
				background: #a12918;
				color: white;
				text-decoration: none;
				font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
			}

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

	.wrap_content
	{
		position: relative;
		width: 60%;
		max-width: 60%;
		margin: auto auto;
		padding: 20px 20px 20px 20px;
	}

	@media screen and (min-width : 1024px) {
		.wrap_content
		{
			padding: 30px 0px 30px 0px;
		}
	}

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

@media screen and (min-width : 1024px)
{
	.container_rental
	{
		overflow: hidden;
	}
}
	
			.list_rental_steps
			{
				position: relative;
				width: 100%;
				overflow: hidden;
				margin: 0px 0px 0px 0px;
			}
		
				.item_rentalstep
				{
					float: left;
					width: 25%;
					color: lightgray;
					font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
					font-size: 1em;
					text-transform: uppercase;
					text-align: center;
					border-bottom: 10px solid lightgray;
				}
				
				.rentalstep_active
				{
					color: #9cce75;
					border-bottom: 10px solid #9cce75;
				}
				
					.item_rentalstep > .rental_stepcount
					{
						background: grey;
						color: white;
						position: relative;
						text-align: center;
						top: -3px;
						display: inline-block;
						width: 20px;
						height: 20px;
						border-radius: 10px;
						font-size: 1.2rem;
						line-height: 1.2rem;
						padding: 0px 0px 0px 0px;
						margin: 0px 5px 0px 25px;
						display: none;
					}
				
					.rentalstep_active > .rental_stepcount
					{
						display: none;
						background: #81CB24;
					}
					
					.rental_text
					{
						display: none;
					}
					
					@media screen and (min-width : 1024px) {
						.rental_text
						{
							display: block;
						}
					}
			
			#rental_step
			{
				position: relative;
				width: 98%;
				background: white;
				border-radius: 10px;
				padding: 30px 30px 80px 30px;
				margin: 50px 0px 50px 0px;
				box-shadow: 0 0 5px rgba(0,0,0,0.3);
			}
			
			@media screen and (min-width : 1024px)
			{		
				#rental_step
				{
					overflow: hidden;
					padding: 30px 30px 18px 30px;
				}
			}
			
				.columns_products
				{
					border-bottom: 1px solid rgb(195, 195, 195);
					margin-bottom: 100px; padding-bottom: 80px;
				}
				
					.products_thumbnails
					{
						width: 100%;
					}
				
					.columns_products img 
					{
						width: 100%;
					}
					
					.description_padding
					{
						padding: 0px 0px 0px 0px;
					}
					
					@media screen and (min-width : 1023px) {
						.description_padding
						{
							padding: 0px 0px 0px 50px;
						}
					}
					
				.rentalitem_headline
				{
					position: relative;
					text-align: center;
				}
				
				@media screen and (min-width : 1023px) {
					.rentalitem_headline
					{
						position: relative;
						text-align: left;
					}
				}
				
				.rentalitem_price
				{
					position: relative;
					top: -20px;
					text-align: center;
				}
				
				@media screen and (min-width : 1023px) {
					.rentalitem_price
					{
						top: -73px;
						text-align: right;
					}
				}
				
				.rentalitem_checkbox
				{
					margin: 0px 8px 0px 0px;
				}
				
				.rental_step3_checkbox
				{
					position: relative;
					top: -3px;
					margin: 0px 8px 0px 0px;
				}
				
				.rental_submit
				{
					float: right;
				}
			
			#rental_cart
			{
				width: 100%;
				background: #f7f7f7;
				padding: 30px;
				margin: 50px 0px 50px 0px;
				overflow: hidden;
				border-radius: 10px;
				box-shadow: 0 0 5px rgba(0,0,0,0.3);
			}
	
.container_booking
{
	position: relative;
	width: 100%;
	background: white;
}

	.wrap_booking
	{
		position: relative;
		width: 100%;
		max-width: 100%;
		margin: auto auto;
		padding: 20px 20px 20px 20px;
	}

	@media screen and (min-width : 1024px) {
		.wrap_booking
		{
			max-width: 80%;
			padding: 30px 0px 30px 0px;
		}
	}
	
		.booking_subline
		{
			font-family: 'Roboto_Condensed_Bold', Arial, sans-serif;
			font-size: 1em;
			text-transform: uppercase;
			margin: 0px 0px 0px 0px;
			padding: 0px 0px 5px 0px;
		}
		
		.booking_headline
		{
			position: relative;
			font-family: 'Roboto_Condensed_Bold', Arial, sans-serif;
			font-size: 1.7em;
			text-transform: uppercase;
			margin: 0px 0px 30px 0px;
			padding: 0px 0px 5px 0px;
			color: #dedc00;
		}
		
		.wrap_booking > ul
		{
			margin: 0px 0px 15px 0px;
			padding: 0px 0px 0px 50px;
		}
		
			.wrap_booking > ul li,
			.wrap_booking > ol li
			{
				font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
				font-size: 1em;
				line-height: 1.6em;
				margin: 3px 0px 3px 0px;
				list-style: square;
			}
		
		
		.booking_price
		{
			font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
			margin: 40px 0px 40px 0px;
		}
		
			.booking_price > b
			{
				font-size: 1.2em;
				color: #dedc00;
				margin: 0px 0px 0px 6px;
			}
		
		.booking_form
		{
			
		}
		
			#container_shippingaddress
			{
				display: none;
			}
		
			.wrap_inputs
			{
				overflow: hidden;
				margin: 0px 0px 10px 0px;
			}
			
				.booking_label
				{
					font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
					font-size: 1em;
					line-height: 1.6em;
					margin: 3px 0px 3px 0px;
					list-style: square;
				}
				
				.wrap_inputs > .column_50:nth-child(1)
				{
					padding: 0px 30px 0px 0px;
				}
				
				.wrap_inputs > .column_50:nth-child(2)
				{
					padding: 0px 0px 0px 30px;
				}
				
					.input_select_booking,
					.input_text_booking
					{
					}
					
					.input_submit_booking
					{
						background: #dedc00 !important;
					}
					
			.wrap_confirmations
			{
				margin: 30px 0px 30px 0px;
			}

.block_feature,
.block_team,	
.block_text,
.block_tables,
.block_gallery,
.block_gallery_alt,
.block_quote,
.block_module,
.block_contact,
.block_map,
.block_youtube,
.block_textimage,
.block_link_gallery,
.block_filelist,
.block_blog,
.block_cookies,
.block_product,
.block_testimonial,
.block_grid_gallery,
.block_image-feature
{
	position: relative;
	width: 100%;
	background: white;
	padding: 1px 0px 1px 0px;
}

.block_gallery_alt,
.block_link_gallery
{
	background: white;
}

.block_testimonial
{
	background: #f4f5f7;
}

.block_blog
{
	padding: 20px 0px 20px 0px;
}

.block_textimage
{
	background: #fafafa;
	padding: 50px 10% 50px 10%;
}

@media screen and (min-width : 1024px) {
	.block_textimage
	{
		background: #fafafa;
		padding: 50px calc(5% - 100px) 50px 5%;
	}
}

@media screen and (min-width : 1300px) {
	.block_textimage
	{
		background: #fafafa;
		padding: 50px calc(10% - 100px) 50px 10%;
	}
}

@media screen and (min-width : 1800px) {
	.block_textimage
	{
		background: #fafafa;
		padding: 50px calc(20% - 100px) 50px 20%;
	}
}
	
	.wrap_product
	{
		position: relative;
		width: 90%;
		margin: 60px auto 60px auto;
	}
	
	@media screen and (min-width : 1300px) {
		.wrap_product
		{
			width: 80%;
			margin: 80px auto 80px auto;
		}
	}
	
	@media screen and (min-width : 1800px) {
		.wrap_product
		{
			width: 60%;
			margin: 80px auto 80px auto;
		}
	}

	.wrap_testimonial
	{
		position: relative;
		width: 60%;
		margin: auto auto;
	}
	
	.wrap_grid_gallery
	{
		position: relative;
		width: 90%;
		margin: auto auto;
	}
	
	@media screen and (min-width : 1300px) {
		.wrap_grid_gallery
		{
			width: 80%;
		}
	}
	
	@media screen and (min-width : 1800px) {
		.wrap_grid_gallery
		{
			width: 60%;
		}
	}
	
		.wrap_grid_gallery > #grid > li > a > img
		{
			width: 100%;
			height: auto;
		}
	
	.wrap_image-feature
	{
		position: relative;
		width: 90%;
		margin: 5% auto 40px auto;
	}
	
	@media screen and (min-width : 1300px) {
		.wrap_image-feature
		{
			width: 80%;
			margin: 60px auto 60px auto;
		}
	}
	
	@media screen and (min-width : 1800px) {
		.wrap_image-feature
		{
			width: 60%;
			margin: 80px auto 80px auto;
		}
	}
	
		ul.list_image-feature
		{
			display: grid;
			width: 100%;
			grid-template-columns: repeat(1, 1fr);
			grid-template-rows: auto auto;
			column-gap: 20px; 
			row-gap: 15px;
			list-style-type: none;
			padding: 0;
			margin: 0 auto;
		}
		
		@media screen and (min-width : 1024px) {
			ul.list_image-feature
			{
				grid-template-columns: repeat(3, 1fr);
			}
		}
		
		li.item_image-feature:nth-child(1), li:nth-child(4) {
			grid-column: span 1;
		}
		
		li.item_image-feature:nth-child(2), li:nth-child(3) {
			grid-column: span 2;
		}
		
		.item_image-feature img {
			width: 100%;
			height: auto;
		}
		
	
		.list_testimonial
		{
			position: relative;
			display: block;
			width: 100%;
			overflow: hidden;
			z-index: 2;
		}
		
			.testimonial_navigation
			{
				position: absolute;
				width: 100%;
				height: 40px;
				top: calc(50% - 20px);
			}
			
				#testimonial_previous,
				#testimonial_next
				{
					position: absolute;
					cursor: pointer;
					font-size: 2em;
					color: lightgray;
				}
			
				#testimonial_previous
				{
					left: 0px;
				}
				
				#testimonial_next
				{
					right: 0px;
				}
		
			.item_testimonial
			{
				width: 100%;
				text-align: center;
				padding: 100px 0px 100px 0px;
				margin: 0px 0px 0px 0px;
				display: none;
			}
			
				.testimonial_image
				{
					width: 120px;
					height: 120px;
					margin: 0px 0px 20px 0px;
					text-align: center;
					border-radius: 60px;
					border: 5px solid white;
					box-shadow: 0px 0px 5px rgba(0,0,0,0.3);
				}
	
		.list_product
		{
			display: block;
			position: relative;
			width: 80%;
			top: 0px;
			margin: auto auto;
			overflow: hidden;
			z-index: 2;
		}
	
		@media screen and (min-width : 1024px) {
			.list_product
			{
				width: 100%;
			}
		}
		
			.item_product
			{
				clear: none;
				position: relative;
				width: 100%;
				padding: 0px 0px 20px 0px;
				float: left;
				text-align: center;
			}
			
			@media screen and (min-width : 1024px) {
				.item_product
				{
					clear: none;
					width: calc(25% - 20px);
					padding: 0px 0px 40px 0px;
					margin: 0px 26.6666666667px 0px 0px;
				}
				
				.item_product:nth-child(4n)
				{
					margin: 0px 0px 0px 0px;
				}
			}
			
				.product_image
				{
					width: 100%;
					height: auto;
					margin: 0px 0px 20px 0px;
					text-align: center;
				}
				
				.item_product > h1
				{
					font-size: 1.6em;
				}
				
				.item_product > h2
				{
					font-family: 'Roboto_Condensed_Bold', Arial, sans-serif;
					font-size: 1.3em;
					color: #1e1e1e;
				}
				
				.item_product span
				{
					color: black;
					text-decoration: none !important;
					background: #f8d35e;
					padding: 4px 12px 4px 12px;
					margin: 0px 5px 0px 0px;
					border-radius: 1.2em;
					text-align: center;
				}
				
	.wrap_blog
	{
		position: relative;
		width: calc(100% - 40px);
		margin: auto auto;
		padding: 0px;
		border: 1px solid #a12918;
		overflow: hidden;
	}
	
	@media screen and (min-width : 1023px) {
		.wrap_blog
		{
			width: 60%;
			padding: 30px;
		}
	}

		.blog_link:link,
		.blog_link:visited
		{
			position: absolute;
			background: transparent;
			top: 0px;
			left: 0px;
			width: 100%;
			height: 100%;
			display: block;
			transition: 0.3s;
			z-index: 10;
		}
		
		.blog_link:hover,
		.blog_link:active,
		.blog_link:focus
		{
			background: rgba(210, 36, 124, 0.1);
		}
		
		.blog_image
		{
			position: relative;
			width: 80vw;
			max-width: 300px;
			height: 12vw;
			max-height: 200px;
			margin: 4.5vw 0px 80vw 4.5vw;
			clear: both;
		}
		
		@media screen and (min-width : 1023px) {
			.blog_image
			{
				position: relative;
				margin: 0px;
				
				width: 12vw;
				max-width: 200px;
				height: 12vw;
				max-height: 200px;
				float: left;
			}
		}
		
			.blog_image > img
			{
				width: 100%;
			}
		
		.blog_text
		{
			width: 100%;
			margin: 0px;
			padding: 0px 20px 0px 20px;
		}
		
		@media screen and (min-width : 1023px) {
			.blog_text
			{
				width: calc(100% - 13.5vw);
				margin: 0px 0px 0px 13.5vw;
			}
		}
		
	.wrap_cookies
	{
		position: relative;
		padding: 0px 0px 0px 0px;
		overflow: hidden;
	}
	
	@media screen and (min-width : 1367px) {
		.wrap_cookies
		{
			position: relative;
			width: 80vw;
			padding: 0px 0px 0px 0px;
			margin: auto auto;
		}
	}

	/* ===== Ergänzungen auf Basis deines Codes ===== */
	:root{
	  --gap: 0;                 /* Spaltengap am Desktop (wir überlappen eh) */
	  --overlap-desktop: 10%;   /* wie weit der Text ins Bild ragt (Desktop) */
	  --overlap-mobile: 40px;   /* vertikale Überlappung auf Mobile */
	  --card-bg: rgba(0,0,0,0.6);
	}
	
	/* Grund-Feinschliff */
	.block_textimage{
	  gap: var(--gap);
	  position: relative;
	}
	.wrap_text_left,
	.wrap_text_right{
	  background: var(--card-bg);
	  border-radius: 12px;
	  padding: 28px 20px;
	  box-shadow: 0 10px 28px rgba(0,0,0,0.12);
	  z-index: 2; /* liegt über dem Bild */
	}
	
	/* ===== Desktop / ab 1024px: nebeneinander + horizontale Überlappung ===== */
	@media (min-width:1024px){
	  /* Standard: 50/50 – deine data-size-Regeln (60-40) bleiben weiterhin aktiv */
	  .block_textimage .wrap_image_right,
	  .block_textimage .wrap_image_left,
	  .block_textimage .wrap_text_left,
	  .block_textimage .wrap_text_right{
		flex-basis: 50%;
	  }
	
	  /* Text wirkt „~60%“, indem er in die Bildhälfte hineinragt */
	  .wrap_text_left{
		/* Bild steht (per deiner Order-Regel) daneben – wir ziehen den Text nach links ins Bild */
		margin-left: calc(-1 * var(--overlap-desktop));
		/* optisch breiter machen */
		width: calc(100% + var(--overlap-desktop));
	  }
	  .wrap_text_right{
		/* in die andere Richtung überlappen */
		margin-right: calc(-1 * var(--overlap-desktop));
		width: calc(100% + var(--overlap-desktop));
	  }
	
	  /* etwas großzügiger am Desktop */
	  .wrap_text_left,
	  .wrap_text_right{
		padding: 48px 56px 40px;
		border-radius: 16px;
	  }
	}
	
	/* ===== Mobile / bis 768px: stack + beide 90% + vertikale Überlappung ===== */
	@media (max-width:768px){
	  /* beide Container 90% Breite, mittig */
	  .block_textimage > .wrap_image_right,
	  .block_textimage > .wrap_image_left,
	  .block_textimage > .wrap_text_left,
	  .block_textimage > .wrap_text_right{
		width: 90%;
		max-width: 90%;
		margin-left: auto;
		margin-right: auto;
	  }
	
	  /* Text-Karte ragt leicht nach oben ins Bild */
	  .wrap_text_left,
	  .wrap_text_right{
		margin-top: calc(-1 * var(--overlap-mobile));
	  }
	}
	
	/* (Optional, falls Bilder sehr hoch sind): ein Verhältnis geben */
	.wrap_image_right,
	.wrap_image_left{
	  aspect-ratio: 16 / 9;      /* bei Bedarf anpassen/entfernen */
	}

	
	/* mobile view of content element */
	.wrap_ti_image_mobile
	/* {
		position: relative;
		width: calc(100% - 40px);
		left: 0px;
	} */
	
		.wrap_ti_image_mobile > img
		{
			position: relative;
			width: 100%;
		}
		
	/* .wrap_ti_text_mobile
	{
		position: relative;
		width: calc(100% - 40px);
		top: 0px;
		padding: 0px 0px 20px 0px;
		margin: 0px 0px 0px 0px;
	} */
	
	/* @media screen and (min-width : 1024px) {
		.wrap_ti_text_mobile
		{
			position: relative;
			width: 80%;
			top: -90px;
			padding: 20px 0px 10px 0px;
			margin: 0px 0px -30px 10%;
			background: rgba(255, 255, 255, 0.9);
			box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
		}
	} */
	
		.wrap_ti_text_mobile h1
		{
			text-align: center;
			margin: 20px 0px 30px 0px;
		}
		
		.wrap_ti_text_mobile h2
		{
			margin: 0px 0px 0px 0px;
			text-transform: none;
			font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
			color: #606060;
			font-size: 1.2em;
			text-align: center;
			margin: -30px 0px 30px 0px
		}

.block_quote
{
	padding: 0px 0px 60px 0px;
}

.block_youtube
{
	padding: 0px 0px 60px 0px;
}

	.wrap_feature,
	.wrap_team
	{
		position: relative;
		width: 90%;
		max-width: 90%;
		margin: auto auto;
		padding: 20px 20px 20px 20px;
	}
	
	@media screen and (min-width : 1024px) {
		.wrap_feature,
		.wrap_team
		{
			padding: 30px 0px 30px 0px;
		}
	}
	
	@media screen and (min-width : 1300px) {
		.wrap_feature,
		.wrap_team
		{
			max-width: 80%;
			padding: 30px 0px 30px 0px;
		}
	}
	
	@media screen and (min-width : 1800px) {
		.wrap_feature,
		.wrap_team
		{
			max-width: 60%;
		}
	}
		
		.list_feature
		{
			display: block;
			position: relative;
			background: white;
			width: 100%;
			top: 0px;
			box-shadow: 0px 0px 8px rgba(0,0,0,0.3);
			margin: 0px 0px 0px 0px;
			overflow: hidden;
			z-index: 2;
		}
		
		@media screen and (min-width : 1024px) {
			.list_feature
			{
				top: -130px;
				margin: 0px 0px -130px 0px;
			}
		}
		
		.list_team
		{
			display: block;
			position: relative;
			background: white;
			width: 100%;
			top: 0px;
			margin: 0px 0px 0px 0px;
			overflow: hidden;
			z-index: 2;
		}

			.item_feature,
			.item_team
			{
				clear: both;
				position: relative;
				width: 100%;
				padding: 0px 20px 0px 20px;
			}
		
			@media screen and (min-width : 1024px) {
				.item_feature
				{
					clear: none;
					width: 33.3333333333%;
					float: left;
					padding: 0px 40px 0px 40px;
					border-bottom: 10px solid #a12918;
				}
				
				.item_team
				{
					clear: none;
					width: 25%;
					float: left;
					padding: 0px 40px 0px 40px;
					text-align: center;
				}
			}
		
			.feature_image
			{
				width: 80px;
				height: 80px;
				margin: 20px 0px 20px calc(50% - 40px);
				text-align: center;
			}
			
			@media screen and (min-width : 1024px) {
				.feature_image
				{
					width: 100px;
					height: 100px;
					margin: 40px 0px 40px calc(50% - 50px);
				}
			}
			
			.team_image
			{
				width: 120px;
				height: 120px;
				margin: 20px 0px 0px 0px;
				border-radius: 60px;
				text-align: center;
			}
			
			@media screen and (min-width : 1024px) {
				.team_image
				{
					width: 160px;
					height: 160px;
					border-radius: 80px;
				}
			}
				
				.team_headline
				{
					color: #a12918;
					text-align: center;
					font-family: 'Roboto_Condensed_Bold', Arial, sans-serif;
				}
				
				.team_position
				{
					
				}
			
				.feature_text
				{
					margin: 0px 0px 30px 0px;
				}
				
				.feature_link:link, .feature_link:visited, .feature_link:hover, .feature_link:focus, .feature_link:active
				{
					position: relative;
					display: inline-block;
					background: #3c3c3b;
					padding: 20px 20px 20px 20px;
					margin: 0px 0px 30px 0px;
					color: white;
					text-align: center;
					text-decoration: none;
					font-family: 'Roboto_Condensed_Bold', Arial, sans-serif;
					border-radius: 5px;
					font-size: 0.875em;
					outline: none;
				}

	.wrap_text,
	.wrap_rental
		{
			position: relative;
			width: 100%;
			max-width: 100%;
			margin: auto auto;
			padding: 30px 20px 20px 20px;
		}
		
		@media screen and (min-width : 1024px) {
			.wrap_text,
			.wrap_rental
			{
				max-width: 90%;
				padding: 30px 0px 30px 0px;
			}
		}
		
		@media screen and (min-width : 1300px) {
			.wrap_text,
			.wrap_rental
			{
				max-width: 80%;
				padding: 30px 0px 30px 0px;
			}
		}
		
		@media screen and (min-width : 1800px) {
			.wrap_text,
			.wrap_rental
			{
				max-width: 60%;
				padding: 30px 0px 30px 0px;
			}
		}
		
		.wrap_text > ul, ol
		{
			margin: 0px 0px 15px 0px;
			padding: 0px 0px 0px 50px;
		}
		
			.wrap_text > ul li,
			.wrap_text > ol li
			{
				font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
				font-size: 1.3em;
				line-height: 1.6em;
				margin: 3px 0px 3px 0px;
				list-style: square;
			}
			
			.wrap_text > ul > li > ul,
			.wrap_text > ol > li > ol
			{
				margin: 0px 0px 15px 0px;
				padding: 0px 0px 0px 30px;
			}
			
			.wrap_text > ul > li > ul > li,
			.wrap_text > ol > li > ol > li
			{
				font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
				font-size: 1em;
				line-height: 1.6em;
				margin: 3px 0px 3px 0px;
				list-style: square;
			}
			
		table
		{
			font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
			font-size: 1.3em;
			line-height: 1.6em;
			margin: 35px 0px 30px 0px;
		}
	
			.wrap_tables> tr:first-child
			{
				font-family: 'Roboto_Condensed_Bold', Arial, sans-serif;
				background: #deebcb;
			}
			
			tr
			{
				border: none;
			}
			
				td
				{
					margin: 0px 0px 0px 0px;
					padding: 5px 20px 5px 0px;
				}
		
		.table_events
		{
			width: 100%;
		}
		
			.table_events tr:nth-child(odd)
			{
				background: rgba(0,0,0,0.1);
			}
			
				.table_events td
				{
					margin: 0px 0px 0px 0px;
					padding: 5px 20px 5px 20px;
				}
			
				.table_events td:nth-child(1)
				{
					width: 250px;
				}
			
				.table_events td:nth-child(3),
				.table_events td:nth-child(5)
				{
					text-align: right;
				}
				
		.wrap_tables > table
		{
			font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
			font-size: 1em;
			line-height: 1.6em;
			margin: 35px 0px 30px 0px;
		}
		
			.wrap_tables > tr:first-child
			{
				font-family: 'Roboto_Condensed_Bold', Arial, sans-serif;
				background: #deebcb;
			}
			
				.wrap_tables > td
				{
					margin: 0px 0px 0px 0px;
					padding: 5px 20px 5px 20px;
					border: 1px solid #dadada;
				}
		
	.wrap_quote
	{
		position: relative;
		width: 100%;
		max-width: calc(100% - 40px);
		margin: auto auto;
		padding: 20px 20px 5px 20px;
		background: #b8c0b3;
		border: 1px solid #2e2e2e;
	}

	@media screen and (min-width : 1024px) {
		.wrap_quote
		{
			max-width: 80%;
			padding: 30px 30px 15px 30px;
		}
	}
	
		.wrap_quote > h1,
		.wrap_quote > h2
		{
			margin: 0px 0px 20px 0px;
		}
		
		.wrap_quote > p
		{
			color: #2e2e2e;
			margin: 0px 0px 15px 0px;
		}
		
	.wrap_youtube
	{
		position: relative;
		width: 60%;
		margin: auto auto;
	}
		
	.wrap_tables,
	.wrap_gallery,
	.wrap_module,
	.wrap_contact,
	.wrap_link_gallery
	{
		position: relative;
		width: 100%;
		max-width: 100%;
		padding: 1px 20px 1px 20px;
	}
		
	@media screen and (min-width : 1024px) {
		.wrap_tables,
		.wrap_gallery,
		.wrap_module,
		.wrap_contact,
		.wrap_link_gallery
		{
			max-width: 90%;
			margin: auto auto;
			padding: 1px 0px 1px 0px;
		}
	}
	
	@media screen and (min-width : 1300px) {
		.wrap_tables,
		.wrap_gallery,
		.wrap_module,
		.wrap_contact,
		.wrap_link_gallery
		{
			max-width: 80%;
		}
	}
	
	@media screen and (min-width : 1800px) {
		.wrap_tables,
		.wrap_gallery,
		.wrap_module,
		.wrap_contact,
		.wrap_link_gallery
		{
			max-width: 60%;
		}
	}
	
	.wrap_map
	{
		position: relative;
		position: relative;
		width: 100%;
		z-index: 3;
	}
	
	.wrap_module 
	{
		overflow: hidden;
	}
	
	.wrap_module > ul
	{
		width: 100%;
		min-height: 160px;
		margin: 0px 0px 30px 0px;
		font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
		font-size: 1em;
		border: 1px solid #dedc00;
		padding: 10px;
	}
	
	@media screen and (min-width : 1024px) {
		.wrap_module > ul
		{
			position: relative;
			width: calc(50% - 15px);
			min-height: 160px;
			margin: 0px 30px 30px 0px;
			float: left;
		}
	}
	
	.wrap_module > ul:nth-child(even)
	{
		margin: 0px 0px 30px 0px;
	}

	.wrap_module > ul > li:nth-child(1)
	{
		font-family: 'Roboto_Condensed_Bold', Arial, sans-serif;
		font-size: 0.85em;
		text-transform: none;
		margin: 0px 0px 0px 0px;
		padding: 0px 0px 5px 0px;
	}

	.wrap_module > ul > li:nth-child(2)
	{
		position: relative;
		font-family: 'Libre-Baskerville', Arial, sans-serif;
		font-size: 1.2em;
		line-height: 1em;
		text-transform: none;
		margin: 0px 0px 30px 0px;
		padding: 0px 0px 5px 0px;
		color: #1e1e1e;
	}
	
		.clickMe
		{
			cursor: pointer;
		}
	
		.wrap_module > ul > li:nth-child(2):after
		{
			content: 'mehr Infos';
			position: absolute;
			top: 0px;
			right: 0px;
			z-index: 10;
			text-transform: none;
			font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
			color: #3c3c3b;
			font-size: 1rem;
		}
	
		.wrap_module > ul > li > ul
		{
			
		}
		
		.wrap_module > ul > li:nth-child(2) > ul
		{
			display: none;
			font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
			font-size: 1em;
			text-transform: none;
			color: #3c3c3b;
		}
		
			.wrap_module > ul > li:nth-child(2) > ul > li
			{
				list-style: square;
				margin: 5px 0px 10px 40px;
				font-size: 1rem;
			}
		
			.wrap_module > ul > li:nth-child(3) > ul
			{
				padding: 10px 0px 0px 0px;
			}
		
				.wrap_module > ul > li:nth-child(3) > ul > li
				{
					padding: 0px 0px 7px 0px;
				}
				
		.wrap_module > ul > li:last-child
		{
			position: absolute;
			bottom: 10px;
			right: 10px;
			color: white;
		}
		
			.wrap_module > ul > li:last-child > a:link,
			.wrap_module > ul > li:last-child > a:visited,
			.wrap_module > ul > li:last-child > a:active,
			.wrap_module > ul > li:last-child > a:focus,
			.wrap_module > ul > li:last-child > a:hover
			{
				color: white;
				text-decoration: none;
				display: block;
				background:  #a12918;
				padding: 15px;
				border-radius: 5px;
			}
			
			.module_content
			{
				display: none;
			}
		
		
.block_image_text
{
	position: relative;
	width: 100%;
	background: #deebcb;
}

	.wrap_image_text
	{
		position: relative;
		width: 100%;
		padding: 0px 0px 0px 0px;
		overflow: hidden;
	}

	@media screen and (min-width : 1024px) {
		.wrap_image_text
		{
			padding: 0px 0px 0px 0px;
		}
	}

		.wrap_image_text > .column_33 > img
		{
			width: 100%;
		}
	
		.wrap_image_text > .column_66
		{
			padding: 20px 10% 20px 20px;
			height: 33.33vw;
			display: table;
		}
		
			.wrap_image_text > .column_66 > .text_wrapper
			{
				display: table-cell; 
				vertical-align: middle; 
				width: 100%;
				color: #3c3c3b;
			}
		
		.container_video
		{
			position: relative;
			width: 100%;
			height:0;
			padding-bottom: 56.25%;
		}
		
			.container_video > iframe
			{
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
			}
	
		.preline_content
		{
			font-family: 'Roboto_Condensed_Bold', Arial, sans-serif;
			font-size: 1em;
			text-transform: uppercase;
			margin: 0px 0px 0px 0px;
			padding: 0px 0px 20px 0px;
			color: #dedc00;
		}
		
		@media screen and (min-width : 1024px) {
			.preline_content
			{
				font-size: 1.4em;
			}
		}
		
		.headline_content
		{
			font-family: 'Roboto_Condensed_Bold', Arial, sans-serif;
			font-size: 2em;
			text-transform: uppercase;
			text-align: left;
			padding: 0px 0px 0px 0px;
		}
		
		@media screen and (min-width : 1024px) {
			.headline_content
			{
				font-size: 2em;
			}
		}
		
		.h2_content
		{
			font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
			font-size: 1em;
			text-transform: uppercase;
			margin: 0px 0px 0px 0px;
			padding: 30px 0px 0px 0px;
			color: #dedc00;
		}
		
		@media screen and (min-width : 1024px) {
			.h2_content
			{
				font-size: 1.25em;
				margin: 30px 0px 0px 0px;
			}
		}
		
		.list_aufzaehlungen
		{
			width: 100%;
		}
		
			.item_aufzaehlungen
			{
				list-style: square;
				margin: 0px 0px 0px 30px;
				padding: 0px 0px 15px 0px;font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
				font-size: 1em;
				line-height: 1.6em;
			}
		
		.block_gallery
		{
			background: #b8c0b3 url('../images/background_pattern_light.png') repeat;
		}
		
		.list_gallery,
		.list_employees,
		.list_link_gallery,
		.list_files
		{
			position: relative;
			width: 80%;
			overflow: hidden;
			padding: 10% 0px 10% 0px;
			margin: auto auto;
		}
		
		.list_files
		{
			margin: 0px 0px 40px 0px;
		}
		
		@media screen and (min-width : 1024px) {
			.list_gallery,
			.list_employees,
			.list_link_gallery,
			.list_files
			{
				padding: 100px 0px 100px 0px;
			}
		}
		
		.item_files
		{
			margin: 7px 0px 7px 0px;
			font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
			font-weight: 300;
			font-style: normal;
			font-size: 1.2em;
			line-height: 1.6em;
		}
		
			.item_link_gallery
			{
				width: 50%;
				float: left;
				margin: 0px 0px -6px 0px;
			}
			
			@media screen and (min-width : 1024px) {
				.item_link_gallery
				{
					width: 10%;
				}
			}
			
				.item_link_gallery img
				{
					width: 100%;
				}
		
			.item_link_gallery
			{
				width: 50%;
				float: left;
				margin: 0px 0px -6px 0px;
			}
			
			@media screen and (min-width : 1024px) {
				.item_link_gallery
				{
					width: 20%;
				}
			}
			
			.item_link_gallery:nth-child(2n)
			{
				margin: 0px 0px -6px 0px;
			}
		
			.item_gallery,
			.item_employees
			{
				width: 100%;
				float: left;
				margin: 0px 0px 10px 0px;
			}
		
			@media screen and (min-width : 1024px) {
				.item_gallery,
				.item_employees
				{
					width: calc(25% - 15px);
					margin: 0px 15px 11px 0px;
				}
				
				.item_gallery:nth-child(2n),
				.item_employees:nth-child(2n)
				{
					margin: 0px 15px 11px 0px;
				}
				
				.item_gallery:nth-child(4n),
				.item_employees:nth-child(4n)
				{
					margin: 0px 0px 11px 0px;
				}
			}
			
				.gallery_thumbnail,
				.employee_thumbnail
				{
					width: 100%;
				}
				
				.item_employees h2
				{
					margin: 10px 0px 0px 0px;
				}
				
				.item_employees h2
				{
					font-size: 0.9em;
					margin: 10px 0px 0px 0px;
				}
				
				@media screen and (min-width : 1024px) {
					.item_employees h2
					{
						font-size: 1.1em;
						margin: 10px 0px 0px 0px;
					}
				}
				
				.item_employees p
				{
					font-size: 0.75em;
					height: 30px;
				}
				
				@media screen and (min-width : 1024px) {
					.item_employees p
					{
						font-size: 0.875em;
						height: 30px;
					}
				}
				
#container_footer
{
	position: relative;
	width: 100%;
}

	#wrap_footer
	{
		position: relative;
		width: 60%;
		max-width: 60%;
		margin: auto auto;
		padding: 30px 0px 30px 0px;
		overflow: hidden;
	}
	
		#footer_socialmedia
		{
			display: none;
		}
		
		@media screen and (min-width : 1024px) {
			#footer_socialmedia
			{
				position: absolute;
				display: block;
				width: 20%;
				top: 40px;
				left: 5%;
			}
		}
		
		@media screen and (min-width : 1300px) {
			#footer_socialmedia
			{
				position: absolute;
				width: 100%;
				left: 10%;
			}
		}
		
		@media screen and (min-width : 1800px) {
			#footer_socialmedia
			{
				position: absolute;
				width: 15%;
				left: 20%;
			}
		}
	
		
		
			.footer_sociallink:link, .footer_sociallink:visited
			{
				font-size: 2em;
				margin: 0px 10px 0px 0px;
				color: #979797;
			}
			
			.footer_sociallink:hover, .footer_sociallink:active, .footer_sociallink:focus
			{
				color: white;
				outline: none;
			}
			
		#footer_copyright
		{
			width: 100%;
			color: #979797;
			font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
			font-size: 1em;
			line-height: 1.6em;
			text-align: center;
			margin: 30px 0px 30px 0%;
		}
		
		@media screen and (min-width : 1024px) {
			#footer_copyright
			{
				width: 50%;
				text-align: right;
				margin: 0px 0px 0px 50%;
			}
		}
			
			.link_pixel:link, .link_pixel:visited
			{
				font-family: 'Roboto_Condensed_Bold', Arial, sans-serif;
				color: #979797;
				text-decoration: none;
			}
			
			.link_pixel:hover, .link_pixel:active, .link_pixel:focus
			{
				text-decoration: underline;
			}
			
			.link_copyright:link, .link_copyright:visited
			{
				color: #979797;
				text-decoration: underline;
			}
			
			.link_copyright:hover, .link_copyright:active, .link_copyright:focus
			{
				text-decoration: none;
				outline: none;
			}

/*******************************************************************
	4. KONTAKTFORMULAR
*******************************************************************/
::-webkit-input-placeholder {
   color: #575756;
}

:-moz-placeholder { /* Firefox 18- */
   color: #575756;
}

::-moz-placeholder {  /* Firefox 19+ */
   color: #575756;
}

:-ms-input-placeholder
{
   color: #575756;
}

.container_support,
#container_danke
{
	position: relative;
	width: 100%;
	margin: 0px 0px 30px 0px;
	overflow: hidden;
}

#wrap_support_userdata,
#wrap_support_select
{
	position: relative;
	width: 100%;
	padding: 30px 0px 30px 0px;
}

@media screen and (min-width : 1024px) {
	#wrap_support_userdata
	{
		width: 50%;
		float: left;
		padding: 15px 30px 0px 0px;
	}
}

#wrap_support_select
{
	width: 100%;
	margin: 0px 0px 10px 0px;
}

.wrap_support_message
{
	width: 100%;
	padding: 30px 0px 15px 0px;
	margin: 0px 0px 0px 0px;
}

@media screen and (min-width : 1024px)
{
	.wrap_support_message
	{
		width: 50%;
		padding: 15px 0px 15px 30px;
		margin: 0px 0px 0px 50%;
	}
}

.container_checkoutbuttons
{
	width: 100%;
	height: 40px;
	margin: -15px 0px 30px 0px;
}
	
input[type='submit'],
button
{
	display: inline-block;
	background: #c4430f;
	height: 40px;
	padding: 10px;
	margin: 0px;
	color: white;
	border: 0px;
	float: left;
	font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
	font-size: 1.125em;
	line-height: 0.5em;
	border-radius: 5px;
	cursor: pointer;
}

input[type='submit']:hover,
button:hover
{
	background: #18978e;
}

	.checkout_button_forward
	{
		background:  #a12918;
		width: 50%;
		height: 50px;
		line-height: 0.9em;

	}

	@media screen and (min-width : 1280px)
	{
		.checkout_button_forward
		{
			height: 40px;
			line-height: 0.5em;
		}
	}

	.checkout_button_forward:hover
	{
		background: #3c3c3b;
	}

	.checkout_button_backward
	{
		background: #3c3c3b;
		width: 50%;
		height: 50px;
		line-height: 0.9em;
	}

	@media screen and (min-width : 1280px)
	{
		.checkout_button_backward
		{
			background: #3c3c3b;
			width: 50%;
			height: 40px;
			line-height: 0.5em;
		}
	}

	.checkout_button_backward:hover
	{
		background: #333;
	}

	@media screen and (min-width : 1280px)
	{
		.checkout_button_forward
		{
			width: 180px;
		}

		.checkout_button_backward
		{
			width: 180px;
		}
	}
	
input[type='text'],
select
{
	display: block;
	background: white;
	width: 90%;
	height: 40px;
	padding: 10px;
	margin: 0px;
	font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
	font-size: 1.125em;
	border: 1px solid #b8b8b8;
	cursor: auto;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	float: left;
	outline: none;
}

	.field
	{
		position: relative;
		width: 100%;
		height: 55px;
		font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
	
	}
	
		.mobile_input
		{
			display: block;
		}
	
		@media screen and (min-width : 1280px)
		{
			.mobile_input
			{
				display: none;
			}
		}
	
	.input_label
	{
		font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
	}
	
	.checkbox_label
	{
		position: relative;
		font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
		font-size: 1.2em;
		top: 2.5px;
		margin: 0px 20px 0px 0px;
	}

textarea
{
	height: 150px;
	padding: 10px;
	font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
	font-size: 1.125em;
	background: white;
	cursor: auto;
	width: 100%;
	margin: 0;
	float: left;
	border: 1px solid #b8b8b8;
	-webkit-border-radius:0;
	border-radius:0;
	-webkit-appearance:none;
	outline:0px !important;
}

/*******************************************************************
5. WYSIWYG ELEMENTE
*******************************************************************/

.wysiwyg_button:link,
.wysiwyg_button:visited,
.wysiwyg_button:hover,
.wysiwyg_button:active,
.wysiwyg_button:focus
{
	position: relative;
	display: inline-block;
	background: #a12918;
	padding: 12px 12px 12px 12px;
	margin: 0px 15px 0px 0px;
	color: white;
	text-align: center;
	text-decoration: none;
	font-family: 'Roboto_Condensed_Regular', Arial, sans-serif;
	font-size: 1em;
	border-radius: 5px;
	outline: none;
}

.wysiwyg_button:hover,
.wysiwyg_button:active,
.wysiwyg_button:focus
{
	background: #3c3c3b;
}



.wysiwyg_button_feature:link,
.wysiwyg_button_feature:visited,
.wysiwyg_button_feature:hover,
.wysiwyg_button_feature:active,
.wysiwyg_button_feature:focus
{
	position: relative;
	display: inline-block;
	background: #3c3c3b;
	padding: 20px 20px 20px 20px;
	margin: 20px 0px 30px 0px;
	color: white;
	text-align: center;
	text-decoration: none;
	font-family: 'Roboto_Condensed_Bold', Arial, sans-serif;
	border-radius: 5px;
	font-size: 0.875em;
	outline: none;
}

.wysiwyg_image_feature
{}

/*******************************************************************
	7. MAP
*******************************************************************/

#mapid
{
	height: 400px;
}

/*******************************************************************
	8. PAYWALL
*******************************************************************/

#list_paywall
{
	width: 50%;
	overflow: hidden;
	margin: 0px 0px 0px 25%;
}

	.item_paywall
	{
		width: 100%;
		clear: both;
		text-align: left;
		padding: 50px 20px 50px 20px;
		font-size: 1rem;
		border-bottom: 1px solid #424242;
		overflow: hidden;
	}
	
	.item_paywall:last-child
	{
		border-bottom: none;
	}
	
		.button_payment
		{
			width: 100%;
		}
		
/*******************************************************************
	9. DATEPICKER
*******************************************************************/

.picker__box
{
	font-family: 'Calps Sans Semilight', Arial, sans-serif;
}

/*******************************************************************
	10. SLIDER
*******************************************************************/
#image-carousel
{
	position: relative;
	top: -70px;
	margin: 0px 0px -70px 0px;
}

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

/*******************************************************************
	11. SPECIAL ELEMENTS
*******************************************************************/

.datepicker,
.timepicker
{
	width: 48% !important;
	float: left !important;
	background: url('../images/static/icon_calendar.svg') calc(100% - 8px) 9px no-repeat !important;
	background-size: 18px 18px !important;
}

.standalone
{
	width: 100% !important;
	margin: 0px 0px 15px 0px !important;
}

@media screen and (min-width : 1280px)
{
	.standalone
	{
		width: 96% !important;
		margin: 0px 0px 0px 0px !important;
	}
}

.timepicker
{
	background: url('../images/static/icon_time.svg') calc(100% - 8px) 10px no-repeat !important;
	background-size: 18px 18px !important;
}

.input_warning
{
	border: 1px solid #A63535 !important;
	background: #ffd8d8 !important;
}

.checkbox_label_warning
{
	color: #A63535;
}