/*******************************************************************
	0. FONTS
*******************************************************************/

@charset "utf-8";

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

@font-face {
	font-family: 'SourceSansPro-Light';
	src:url('../SHARED/fonts/sourcesanspro/SourceSansPro-Light.woff') format('woff'),
			url('../SHARED/fonts/sourcesanspro/SourceSansPro-Light.woff2') format('woff2'),
			url('../SHARED/fonts/sourcesanspro/SourceSansPro-Light.eot'),
			url('../SHARED/fonts/sourcesanspro/SourceSansPro-Light.eot?#iefix') format('embedded-opentype'),
			url('../SHARED/fonts/sourcesanspro/SourceSansPro-Light.otf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'SourceSansPro-Bold';
	src:url('../SHARED/fonts/sourcesanspro/SourceSansPro-Bold.woff') format('woff'),
			url('../SHARED/fonts/sourcesanspro/SourceSansPro-Bold.woff2') format('woff2'),
			url('../SHARED/fonts/sourcesanspro/SourceSansPro-Bold.eot'),
			url('../SHARED/fonts/sourcesanspro/SourceSansPro-Bold.eot?#iefix') format('embedded-opentype'),
			url('../SHARED/fonts/sourcesanspro/SourceSansPro-Bold.otf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'SourceSansPro-Semibold';
	src:url('../SHARED/fonts/sourcesanspro/SourceSansPro-Semibold.woff') format('woff'),
			url('../SHARED/fonts/sourcesanspro/SourceSansPro-Semibold.woff2') format('woff2'),
			url('../SHARED/fonts/sourcesanspro/SourceSansPro-Semibold.eot'),
			url('../SHARED/fonts/sourcesanspro/SourceSansPro-Semibold.eot?#iefix') format('embedded-opentype'),
			url('../SHARED/fonts/sourcesanspro/SourceSansPro-Semibold.otf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

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

body
{
	background: black;
	font-size: 1em;
	line-height: 1.4em;
	color: black;
}

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

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

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

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

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

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

h2
{
	font-family: 'SourceSansPro-Bold', Arial, sans-serif;
	font-size: 1.5em;
	line-height: 1em;
	margin: 45px 0px 15px 0px;
	text-transform: uppercase;
	color: black;
}

h3
{
	font-family: 'SourceSansPro-Light', Arial, sans-serif;
	font-size: 1.6em;
	line-height: 1.4em;
	margin: 45px 0px 15px 0px;
	color: black;
}

/*******************************************************************
	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
*******************************************************************/

#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;
}
	
	#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;
			}
			
		.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: black;
			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: white;
	width: 100%;
	z-index: 2;
}

	#wrap_headline
	{
		position: relative;
		width: 100%;
		height: 70px;
		max-width: 100%;
		margin: auto auto;
	}
		
		#logo
		{
			background: url('../images/logos/logo_source_mobile.svg') 50% 2px no-repeat;
			background-size: 100px;
			position: relative;
			background-size: 90px;
			height: 75px;
		}
		
		.link_logo:link
		{
			display: none;
		}
		
		@media screen and (min-width : 1024px) {
			#logo
			{
				background: url('../images/logos/logo_source.svg') 0px 0px no-repeat;
				background-size: 120px;
				width: 120px;
				height: 90px;
				top: 27px;
				left: 10%;
			}
		}
		
		@media screen and (min-width : 1024px) {
			.link_logo:link
			{
				display: block;
				width: 120px;
				height: 90px;
			}
		}
		
			
		
		#container_menu
		{
			position: absolute;
			width: 100%;
			height: 80px;
		}
		
			#wrap_menu
			{
				position: relative;
				width: 100%;
				max-width: 80%;
				margin: auto auto;
			}
		
		#list_menu
		{
			display: none;
		}

		@media screen and (min-width : 1024px) {
			#list_menu
			{
				display: block;
				position: absolute;
				height: 60px;
				top: -60px;
				right: 0px;
				z-index: 2;
			}
		}
		
			#list_menu li
			{
				position: relative;
			}
			
			#list_menu ul
			{
				position: absolute;
				display: none;
				left: 0;
				z-index: 99;
				border-bottom: 6px solid transparent;
			}
			
			#list_menu ul:hover
			{
				border-top: 6px solid transparent;
			}
			
			#list_menu > li
			{
				float: left;
			}
			
			#list_menu li:hover > ul,
			#list_menu li.sfHover > ul
			{
				display: block;
			}
			
			#list_menu a
			{
				display: block;
				position: relative;
				font-family: 'SourceSansPro-Bold', Arial, sans-serif;
				font-size: 0.875em;
				font-style: normal;
				font-size: 1em;
				text-decoration: none;
				color: #816926;
				padding: 22px 30px 16px 30px;
			}
			
				#list_menu a > i
				{
					position: relative;
					top: -3px;
					left: 5px;
					color: #b0b0b0;
				}
			
			#list_menu > li > a:hover,
			#list_menu > li.menu_active
			{
				border-bottom: 6px solid transparent;
			}
			
			#list_menu > li.menu_active > a:hover
			{
				border-bottom: none;
			}
			
			#list_menu ul ul
			{
				top: 0;
				left: 100%;
				background:red;
			}
			
				#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
					{
						border-bottom: 6px solid transparent;
					}
				
		nav:not(.mm-menu)
		{
			display: none;
		}
		
		#mobile_menu
		{
			font-family: 'SourceSansPro-Light', Arial, sans-serif;
		}
		
		@media screen and (min-width : 770px) {
			#mobile_menu
			{
				display: none;
			}
		}
		
		#hamburger
		{
			position: absolute;
			display: block;
			width: 57px;
			height: 57px;
			top: -68px;
			left: -40px;
			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: white;
			}
			
#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: 'SourceSansPro-Light', 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: -70px;
			width: 100%;
			height: 35vw;
			margin: 0px 0px -70px 0px;
			z-index: 1;
		}
		
		@media screen and (min-width : 1023px) {
			.container_minihero
			{
				background-image: url('../images/static/hero_home.jpg');
				background-size: cover;
				background-repeat: no-repeat;
				/* background-attachment: fixed; */
				background-position: 0px 0px; 
				height: 20vw;
				z-index: 1;
			}
		}
			
.container_hero
{
	position: relative;
	background-size: cover;
	background-repeat: no-repeat;
	background-color: white;
	/* background-attachment: fixed; */
	background-position: 100% 0px; 
	top: -65px;
	width: 100%;
	height: 55vh;
	margin: 0px 0px -65px 0px;
	z-index: 1;
}

@media screen and (min-width : 1024px) {
	.container_hero
	{
		background-size: cover;
		background-repeat: no-repeat;
		background-color: white;
		background-position: 0px 0px; 
		height: 45vw;
		z-index: 1;
	}
}

	.container_hero picture,
	.container_hero img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover; /* Bild wird zugeschnitten, um den Container zu füllen */
	}

.superhero
{
	width: 100%;
	height: 65vh;
	object-fit: cover;
	margin: 0px 0px -72px 0px;
}

@media screen and (min-width : 1024px) {
	.superhero
	{
		height: 45vw;
	}
}

	#wrap_hero
	{
		position: absolute;
		top: 0px;
		left: 10%;
		width: 100%;
		max-width: 80%;
		height: 100%;
		margin: auto auto;
		z-index: 2;
	}
	
		#slogan_hero
		{
			display: none;
		}
	
		@media screen and (min-width : 1024px) {
			#slogan_hero
			{
				display: block;
				position: absolute;
				bottom: 20vh;
				left: 0px;
			}
		}
		
			.preline_hero
			{
				font-family: 'SourceSansPro-Light', Arial, sans-serif;
				font-size: 1em;
				text-transform: uppercase;
				margin: 0px 0px 0px 0px;
				padding: 0px 0px 0px 20px;
				color: black;
				text-align: right;
			}
			
			@media screen and (min-width : 1024px) {
				.preline_hero
				{
					font-size: 1.25em;
					padding: 0px 0px 0px 0px;
				}
			}
			
			.headline_hero
			{
				font-family: 'SourceSansPro-Light', Arial, sans-serif;
				font-size: 2em;
				text-transform: uppercase;
				text-align: right;
				padding: 0px 0px 0px 20px;
				color: black;
			}
			
			@media screen and (min-width : 1024px) {
				.headline_hero
				{
					font-size: 3.75em;
					padding: 0px 0px 0px 0px;
				}
			}

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

	.wrap_content
	{
		position: relative;
		width: 100%;
		max-width: 80%;
		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;
	overflow: hidden;
}

	.wrap_rental
	{
		position: relative;
		width: 100%;
		max-width: 100%;
		margin: auto auto;
		padding: 20px 20px 20px 20px;
	}
	
	@media screen and (min-width : 1024px) {
		.wrap_rental
		{
			max-width: 80%;
			padding: 30px 0px 30px 0px;
		}
	}
	
			.list_rental_steps
			{
				position: relative;
				width: 70%;
				overflow: hidden;
				margin: 0px 0px 0px 13%;
			}
		
				.item_rentalstep
				{
					float: left;
					width: 25%;
					color: grey;
					font-family: 'SourceSansPro-Light', Arial, sans-serif;
					font-size: 1.6em;
					text-transform: uppercase;
					text-align: center;
				}
				
				.rentalstep_active
				{
					color: #81CB24;
				}
				
					.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;
					}
				
					.rentalstep_active > .rental_stepcount
					{
						background: #81CB24;
					}
					
			#rental_step
			{
				width: 98%;
				background: white;
				overflow: hidden;
				border-radius: 10px;
				padding: 30px 30px 18px 30px;
				margin: 50px 0px 50px 0px;
				box-shadow: 0 0 5px rgba(0,0,0,0.3);
			}
			
				.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;
				}
				
				.rentalitem_price
				{
					position: relative;
					top: -69px;
					text-align: right;
					color: green;
				}
				
				.rentalitem_checkbox
				{
					background: red;
					margin: 0px 8px 0px 20px;
				}
			
			#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: 'SourceSansPro-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: 'SourceSansPro-Bold', Arial, sans-serif;
			font-size: 1.7em;
			text-transform: uppercase;
			margin: 0px 0px 30px 0px;
			padding: 0px 0px 5px 0px;
			color: #f5d064;
		}
		
		.wrap_booking > ul
		{
			margin: 0px 0px 15px 0px;
			padding: 0px 0px 0px 50px;
		}
		
			.wrap_booking > ul li,
			.wrap_booking > ol li
			{
				font-family: 'SourceSansPro-Light', Arial, sans-serif;
				font-size: 1em;
				line-height: 1.6em;
				margin: 3px 0px 3px 0px;
				list-style: square;
			}
		
		
		.booking_price
		{
			font-family: 'SourceSansPro-Light', Arial, sans-serif;
			margin: 40px 0px 40px 0px;
		}
		
			.booking_price > b
			{
				font-size: 1.2em;
				color: #f5d064;
				margin: 0px 0px 0px 6px;
			}
		
		.booking_form
		{
			
		}
		
			#container_shippingaddress
			{
				display: none;
			}
		
			.wrap_inputs
			{
				overflow: hidden;
				margin: 0px 0px 10px 0px;
			}
			
				.booking_label
				{
					font-family: 'SourceSansPro-Light', 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: #f5d064 !important;
					}
					
			.wrap_confirmations
			{
				margin: 30px 0px 30px 0px;
			}

.block_features,	
.block_text,
.block_tables,
.block_gallery,
.block_gallery_alt,
.block_quote,
.block_module,
.block_contact,
.block_map,
.block_youtube,
.block_textimage,
.block_link_gallery
{
	position: relative;
	width: 100%;
	background: white;
	padding: 1px 0px 1px 0px;
}

.block_gallery_alt,
.block_link_gallery
{
	background: #f5d064;
}

.block_textimage
{
	background: white;
	padding: 0px 0px 0px 0px;
}

	.wrap_image_right,
	.wrap_image_left
	{
		position: relative;
		display: flex;
		width: 100vw;
		min-height: 30vw;
		padding: 80px 0px 80px 0px;
	}

	@media screen and (min-width : 1023px) {
		.wrap_image_right,
		.wrap_image_left
		{
			width: 60vw;
		}
	}
	
	.wrap_image_right
	{
		left: 0vw;
	}
	
	@media screen and (min-width : 1023px) {
		.wrap_image_right
		{
			left: 40vw;
		}
	}
	
		.wrap_text_right,
		.wrap_text_left
		{
			position: relative;
			background: rgba(255,255,255,0.85);
			width: 80%;
			left: 10%;
			align-self: center;
			padding: 40px 40px 20px 40px;
			border-radius: 15px;
		}
	
		@media screen and (min-width : 1023px) {
			.wrap_text_right,
			.wrap_text_left
			{
				background: rgba(255,255,255,0.85);
				box-shadow: 0px 0px 5px rgba(0,0,0,0.5);
				width: 85%;
				left: 65%;
			}
		}
		
		.wrap_text_left
		{
			left: 10%;
		}
		
		@media screen and (min-width : 1023px) {
			.wrap_text_left
			{
				left: -50%;
			}
		}
		
			.wrap_text > h1
			{
				margin: 0px 0px 15px 0px;
			}
		

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

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

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

	@media screen and (min-width : 1024px) {
		.wrap_features
		{
			max-width: 80%;
			padding: 30px 0px 30px 0px;
		}
	}
		
		#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;
			}
		}

			.item_feature
			{
				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 #f5d064;
				}
			}
		
			.feature_image
			{
				width: 120px;
				height: 120px;
				margin: 20px 0px -30px calc(50% - 60px);
				text-align: center;
				border-radius: 60px;
				border: 6px solid white;
				box-shadow: 0px 0px 5px rgba(0,0,0,0.3);
			}
			
			@media screen and (min-width : 1024px) {
				.feature_image
				{
					width: 160px;
					height: 160px;
					margin: 20px 0px -30px calc(50% - 80px);
					border-radius: 80px;
					border: 8px solid white;
					box-shadow: 0px 0px 8px rgba(0,0,0,0.3);
				}
			}
				
				.feature_headline
				{
					color: #f5d064;
					text-align: center;
					font-family: 'SourceSansPro-Bold', Arial, sans-serif;
				}
			
				.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: black;
					padding: 20px 20px 20px 20px;
					margin: 0px 15px 30px 0px;
					color: white;
					text-align: center;
					text-decoration: none;
					font-family: 'SourceSansPro-Bold', Arial, sans-serif;
					border-radius: 5px;
					font-size: 0.875em;
					outline: none;
					float: left;
				}

	.wrap_text
		{
			position: relative;
			width: 100%;
			max-width: 100%;
			margin: auto auto;
			padding: 30px 20px 20px 20px;
		}
	
		@media screen and (min-width : 1024px) {
			.wrap_text
			{
				max-width: 80%;
				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: 'SourceSansPro-Light', Arial, sans-serif;
				font-size: 1em;
				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 0px 0px;
				padding: 0px 0px 0px 30px;
			}
			
		table
		{
			font-family: 'SourceSansPro-Light', Arial, sans-serif;
			font-size: 1em;
			line-height: 1.6em;
			margin: 35px 0px 30px 0px;
		}
	
			.wrap_tables> tr:first-child
			{
				font-family: 'SourceSansPro-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: 'SourceSansPro-Light', Arial, sans-serif;
			font-size: 1em;
			line-height: 1.6em;
			margin: 35px 0px 30px 0px;
		}
		
			.wrap_tables > tr:first-child
			{
				font-family: 'SourceSansPro-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: #deebcb;
		border: 1px solid #f5d064;
	}

	@media screen and (min-width : 1024px) {
		.wrap_quote
		{
			max-width: 60%;
			padding: 30px 30px 15px 30px;
		}
	}
	
		.wrap_quote > h2
		{
			margin: 0px 0px 20px 0px;
		}
		
		.wrap_quote > p
		{
			margin: 0px 0px 15px 0px;
		}
		
	.wrap_youtube
	{
		position: relative;
		width: 60%;
		margin: auto auto;
	}
	
		.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%;
			}
		
	.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: 80%;
			margin: auto auto;
			padding: 1px 0px 1px 0px;
		}
	}
	
	.wrap_map
	{
		position: relative;
		width: 100%;
		background: red;
	}
	
	.wrap_module 
	{
		overflow: hidden;
	}
	
	.wrap_module > ul
	{
		width: 100%;
		min-height: 160px;
		margin: 0px 0px 30px 0px;
		font-family: 'SourceSansPro-Light', Arial, sans-serif;
		font-size: 1em;
		border: 1px solid #f5d064;
		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: 'SourceSansPro-Bold', Arial, sans-serif;
		font-size: 0.85em;
		text-transform: uppercase;
		margin: 0px 0px 0px 0px;
		padding: 0px 0px 5px 0px;
	}

	.wrap_module > ul > li:nth-child(2)
	{
		position: relative;
		font-family: 'SourceSansPro-Bold', Arial, sans-serif;
		font-size: 1.2em;
		text-transform: uppercase;
		margin: 0px 0px 30px 0px;
		padding: 0px 0px 5px 0px;
		color: #f5d064;
	}
	
		.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: 'SourceSansPro-Light', Arial, sans-serif;
			color: black;
			font-size: 1rem;
		}
	
		.wrap_module > ul > li > ul
		{
			
		}
		
		.wrap_module > ul > li:nth-child(2) > ul
		{
			display: none;
			font-family: 'SourceSansPro-Light', Arial, sans-serif;
			font-size: 1em;
			text-transform: none;
			color: black;
		}
		
			.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;
			background: #f5d064;
			color: white;
			border-radius: 5px;
		}
		
			.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;
				padding: 15px;
			}
		
		
.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: black;
			}
		
	
	
		.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: 'SourceSansPro-Bold', Arial, sans-serif;
			font-size: 1em;
			text-transform: uppercase;
			margin: 0px 0px 0px 0px;
			padding: 0px 0px 20px 0px;
			color: #f5d064;
		}
		
		@media screen and (min-width : 1024px) {
			.preline_content
			{
				font-size: 1.4em;
			}
		}
		
		.headline_content
		{
			font-family: 'SourceSansPro-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: 'SourceSansPro-Light', Arial, sans-serif;
			font-size: 1em;
			text-transform: uppercase;
			margin: 0px 0px 0px 0px;
			padding: 30px 0px 0px 0px;
			color: #f5d064;
		}
		
		@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: 'SourceSansPro-Light', Arial, sans-serif;
				font-size: 1em;
				line-height: 1.6em;
			}
		
		.list_gallery,
		.list_employees,
		.list_link_gallery
		{
			position: relative;
			width: 100%;
			overflow: hidden;
			padding: 0px 0px 30px 0px;
		}
		
		@media screen and (min-width : 1024px) {
			.list_gallery,
			.list_employees,
			.list_link_gallery
			{
				width: 80%;
				padding: 0px 0px 50px 0px;
				margin: auto auto;
			}
		}
		
			.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 -6px 0px;
			}
		
			@media screen and (min-width : 1024px) {
				.item_gallery,
				.item_employees
				{
					width: 25%;
				}
			}
			
			.item_gallery:nth-child(2n),
			.item_employees:nth-child(2n)
			{
				margin: 0px 0px -6px 0px;
			}
			
			.item_gallery:nth-child(4n),
			.item_employees:nth-child(4n)
			{
				margin: 0px 0px -6px 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: 100%;
		max-width: 80%;
		margin: auto auto;
		padding: 30px 0px 30px 0px;
		overflow: hidden;
	}
	
		#footer_socialmedia
		{
			width: 100%;
			text-align: center;
		}
	
		@media screen and (min-width : 1024px) {
			#footer_socialmedia
			{
				width: 50%;
				text-align: left;
				float: left;
			}
		}
		
			.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: #f5d064;
				outline: none;
			}
			
		#footer_copyright
		{
			width: 100%;
			color: #979797;
			font-family: 'SourceSansPro-Light', Arial, sans-serif;
			font-size: 0.75em;
			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: 'SourceSansPro-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 : 1280px) {
	#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 : 1280px)
{
	.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: 'SourceSansPro-Light', 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: #f5d064;
		width: 50%;
		height: 50px;
		line-height: 0.9em;

	}

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

	.checkout_button_forward:hover
	{
		background: #d24107;
	}

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

	@media screen and (min-width : 1280px)
	{
		.checkout_button_backward
		{
			background: black;
			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: 'SourceSansPro-Light', 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: 'SourceSansPro-Light', Arial, sans-serif;
	
	}
	
		.mobile_input
		{
			display: block;
		}
	
		@media screen and (min-width : 1280px)
		{
			.mobile_input
			{
				display: none;
			}
		}
	
	.input_label
	{
		font-family: 'SourceSansPro-Light', Arial, sans-serif;
	}

textarea
{
	height: 150px;
	padding: 10px;
	font-family: 'SourceSansPro-Light', 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: #f5d064;
	padding: 12px 12px 12px 12px;
	margin: 0px 15px 0px 0px;
	color: black;
	text-align: center;
	text-decoration: none;
	font-family: 'SourceSansPro-Bold', Arial, sans-serif;
	border-radius: 5px;
	font-size: 1em;
	outline: none;
}

.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;
	width: 180px;
	background: black;
	padding: 20px 20px 20px 20px;
	margin: 0px 0px 30px calc(50% - 90px);
	color: black;
	text-align: center;
	text-decoration: none;
	font-family: 'SourceSansPro-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: 45% !important;
	float: left !important;
	background: url('../images/static/icon_calendar.svg') calc(100% - 8px) 9px no-repeat !important;
	background-size: 18px 18px !important;
}

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