/*
Petrol 1
HEX #0F6A79

Petrol 2
HEX #00FFE5

Petrol 3
HEX #278392

Gelb
HEX #FFB703

Grau
HEX #C4C4C4
*/


/*Base styles mobile*/
body, html {
	font-size: 36px;
	line-height: normal;
	padding: 0;
	margin: 0;
	font-family: 'Museo', sans-serif;
	font-weight: 300;
	color: #0F6A79;	
	background: radial-gradient(50% 50% at 50% 50%, #FFCB03 0%, #FFDE03 50.48%, #FFB703 100%);
}
body:before {
	background: url('../img/dots_bg.svg') no-repeat center;
	background-size: auto 100%;
	width: 100%;
	height: 548px;
	content: "";
	z-index: 1;
	position: absolute;
	background-position: top center;
	max-height: 60vw;
}
b {
	font-weight: 700;
}

header, main, footer {
	width: 1440px;
	max-width: 100%;
	margin:auto;
}

header {
	height: 548px;
	display: flex;
	gap: 0;
	padding: 65px 0;
	justify-content: center;
	overflow-y: visible;
	position: relative;
	box-sizing: border-box;
	max-height: 60vw;
}

.logo {
	width: 400px;
	z-index: 2;
	align-self: center;
	height: 33vw;
	max-height: 350px;
}
.logo img {
	height: 100%;
	display: block;
	float: right;
}
.leuchtturm {
	height: 100%;
	z-index: 2;
	max-height: 50vw;
}
.leuchtturm img {
	height: 100%;	
	z-index: 2;
	margin-right: 60px;
	display: block;
}

section {
	width: 1110px;
	max-width: calc(100% - 80px);
	margin: 60px auto;
}
.section1 {
	display: flex;
	gap: 0; 
	justify-content: center;
	margin-top: 70px;
	margin-bottom: 120px;
	flex-wrap: wrap;
}
.section1 p {
	width: 100%;
	max-width: 100%;
}

.section2 {
	margin-bottom: 80px;
}
.teaser_video {
	width: 100%;
	position: relative;
	aspect-ratio: 1090/817;
	background: url('../img/poster/poster_teaser.jpg');
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 75px;
	z-index: 3;
	background-size: 100%;
}
.teaser_video:before {
	background: url('../img/schriftzuege/schriftzug1.svg') no-repeat top left;
	background-size: 100%;
	width: 40%;
	height: 50%;
	right: 80px;
	top: -100px;
	position: absolute;
	content: "";
	overflow: visible;
}
.video_wrapper {
	position: relative;
	z-index: 2;
}
.video_wrapper:before, 
.img.left:before {
	background: #00FFE5;
	background-size: 100%;
	width: 100%;
	height: 100%;
	right: -20px;
	bottom: -20px;
	position: absolute;
	content: "";
	z-index: 1;
	border-radius: 75px;
}
.img.left:before {
	border-radius: 40px;
	right: -12px;
	bottom: -12px;
}
.play_button {
	width: 175px;
	height: 175px;
	background: #00FFE5;
	border-radius: 90px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}
.play_button_wrapper {
	position: relative;
	cursor: pointer;
}
.play_button_wrapper:before {
	content: "";
	width: 175px;
	height: 175px;
	background: #0F6A79;
	border-radius: 90px;
	position: absolute;
	z-index: 1;
	right: -10px;
	bottom: -10px;
}
.play_button svg {
	width: 90px;
}

.play_button_wrapper:hover:before, 
.videos_wrapper .play_button_wrapper:hover:before {
	background: #00FFE5;
}
.play_button_wrapper:hover .play_button {
	background: #0F6A79;
	color: #00FFE5;
}
.play_button_wrapper:hover .play_button svg path {
	fill: #00FFE5 !important;
}

.section3 {
	display: flex;
	justify-content: space-between;
	gap: 60px;
	flex-wrap: wrap;
}
.img.left {
	position: relative;
	z-index: 2;
	width: 580px;
	max-width: 100%;
	align-self: center;
}
.img_text {
	width: 580px;
	max-width: 100%;
	position: relative;
	z-index: 3;
}
.img_text:before {
	background: url('../img/schriftzuege/schriftzug2.svg') no-repeat top left;
	background-size: 100%;
	width: 40%;
	height: 50%;
	left: -30px;
	top: -40px;
	position: absolute;
	content: "";
	overflow: visible;
}
.img_text img {
	max-width: 100%;
	border-radius: 40px;
	overflow: hidden;
	display: block;
}
.full_width {
	flex: 100%;
}
.text.right {
	flex: 1;
	align-self: center;
}
.text p {
	font-size: 24px;
}
.section4 {
	min-height: 120px;
}
.zuhoerer_section {
	margin: 120px auto;
}
.img_zuhoerer:before {
	background: url('../img/schriftzuege/schriftzug3.svg') no-repeat top left;
	background-size: 100%;
	width: 40%;
	height: 50%;
	left: auto;
	top: auto;
	right: -30px;
	bottom: -120px;
	position: absolute;
	content: "";
	overflow: visible;
}
.table_wrapper {
	border-radius: 20px;
	padding: 32px;
	color: #FFB703;
	background: #0F6A79;
}
.table_wrapper a {
	color: #FFB703;
}
.table_wrapper p {
	font-size: 22px;
}
.table_inside {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.button_table {
	width: 616px;
	max-width: 100%;
	box-sizing: border-box;
	margin-top: -50px;
	z-index: 1;
	margin-left: 6px;
	font-size: 30px;
	max-height: 0;
	transition: all 1s;
	box-sizing: border-box;
	overflow: hidden;
	border-radius: 0 0 20px 20px;
}
.tActive .button_table {
	max-height: 1000px;
}
.tActive .button svg {
	transform: rotate(90deg);
	transition: all .5s;
}
.button_table.table_wrapper {
	padding: 0
}
.button_table p {
	font-size: 22px;
	margin-left: 40px;
	position: relative;
}
p.address:before {
	content: "";
	background: url('../img/address.svg') no-repeat top left;
	width: 25px;
	height: 25px;
	background-size: 100%;
	position: absolute;
	top: 0;
	left: -50px;
}
p.contact:before {
	content: "";
	background: url('../img/contact.svg') no-repeat top left;
	width: 30px;
	height: 30px;
	background-size: 100%;
	position: absolute;
	top: 0;
	left: -53px;
}
.table_inner {
	margin: 100px 32px 45px 50px;
}

/*Small videos*/
.small_video {
	width: 100%;
	position: relative;
	aspect-ratio: 1090/817;
	background: url('../img/poster/poster_teaser.jpg');
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 75px;
	z-index: 3;
	background-size: 100%;
}
.small_video.video1 {
	background: url('../img/poster/video1.jpg');
	background-size: 100%;
}
.small_video.video2 {
	background: url('../img/poster/video2.jpg');
	background-size: 100%;
}
.small_video.video3 {
	background: url('../img/poster/video3.jpg');
	background-size: 100%;
}
.small_video.video4 {
	background: url('../img/poster/video4.jpg');
	background-size: 100%;
}
.small_video:before {
	background: url('../img/schriftzuege/schriftzug4.svg') no-repeat top left;
	background-size: 100%;
	width: 60%;
	height: 50%;
	left: 0px;
	top: -50px;
	position: absolute;
	content: "";
	overflow: visible;
}
.video_wrapper {
	position: relative;
	z-index: 2;
}
.videos_wrapper .video_wrapper:before {
	background: #00FFE5;
	background-size: 100%;
	width: 100%;
	height: 100%;
	right: -10px;
	bottom: -10px;
	position: absolute;
	content: "";
	z-index: 1;
	border-radius: 35px;
}
.videos_wrapper {
	display: flex;
	gap: 80px 60px;
	flex-wrap: wrap;
	margin-top: 80px;
}
.videos_wrapper .video_wrapper {
	flex: calc(50% - 30px);
}
.videos_wrapper .video_wrapper .small_video {
	border-radius: 35px;
}

.videos_wrapper .play_button {
	width: 80px;
	height: 80px;
	background: #00FFE5;
	border-radius: 40px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}
.videos_wrapper .play_button_wrapper {
	position: relative;
	cursor: pointer;
}
.videos_wrapper .play_button_wrapper:before {
	content: "";
	width: 80px;
	height: 80px;
	background: #0F6A79;
	border-radius: 40px;
	position: absolute;
	z-index: 1;
	right: -5px;
	bottom: -5px;
}
.videos_wrapper .play_button svg {
	width: 50px;
}
.dibaba .teaser_video:before {
	background: url('../img/schriftzuege/dibaba.svg') no-repeat top left;
	background-size: 100%;
}
.dibaba .teaser_video {
	background:#C4C4C4;
	background-size: 100%;
}
.section6 {
	margin-top: 150px;
}

/*Buttons
Petrol 1
HEX #0F6A79

Petrol 2
HEX #00FFE5
*/
.button {
	width: 610px;
	max-width: 100%;
	border-radius: 37px;
	display: flex;
	gap: 30px;
	background: #00FFE5;
	color: #0F6A79;
	z-index: 3;
	position: relative;
	font-size: 37px;
	font-weight: 700;
	height: 90px;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	max-width: 100%;
}
.button_wrapper {
	position: relative;
	z-index: 2;	
	max-width: 100%;
}
.button_wrapper:before {
	position: absolute;
	z-index: 1;
	right: -6px;
	bottom: -6px;
	border-radius: 37px;
	content: "";
	width: 100%;
	height: 100%;
	background: #0F6A79;
}
.button_row {
	display: flex;
	justify-content: center;
	margin: 40px 0;
}

.button_wrapper:hover:before {
	background: #00FFE5;
}
.button_wrapper:hover .button {
	background: #0F6A79;
	color: #00FFE5;
}
.button_wrapper:hover .button svg path {
	fill: #00FFE5 !important;
}
.button svg {	
	transform: rotate(0);
}

/*Footer*/
footer {
	background: #0F6A79;
	height: 110px;
	display: flex;
	align-items: center;
	margin-top: 120px;
	width: 100%;
}
footer section {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 900px;
}
footer a {
	text-decoration: none;
	font-weight: 700;
	font-size: 16px;
	color: #00FFE5 !important;
}
.footer_links {
	display: flex;
	gap: 40px;
}
.footer_logo {
	width: 100px;
}
.footer_logo img {
	max-width: 100%;
}

/*Formular*/
form {
	margin-left: 40px;
}
.form_table p {
	font-size: 22px;
	margin-left: 40px;
	position: relative;
}
form div {
	position: relative;
	margin-bottom: 10px;
}
div.address:before {
	content: "";
	background: url('../img/address.svg') no-repeat top left;
	width: 25px;
	height: 25px;
	background-size: 100%;
	position: absolute;
	top: 0;
	left: -50px;
}
div.contact:before {
	content: "";
	background: url('../img/contact.svg') no-repeat top left;
	width: 30px;
	height: 30px;
	background-size: 100%;
	position: absolute;
	top: 0;
	left: -53px;
}
div.phone:before {
	content: "";
	background: url('../img/phone.svg') no-repeat top left;
	width: 30px;
	height: 30px;
	background-size: 100%;
	position: absolute;
	top: 0;
	left: -53px;
}
div.email:before {
	content: "";
	background: url('../img/mail.svg') no-repeat top left;
	width: 30px;
	height: 30px;
	background-size: 100%;
	position: absolute;
	top: 0;
	left: -53px;
}
input, select, textarea {
	background: #d9d9d9;
	width: calc(100% - 40px);
	padding: 13px 15px;
	font-size: 22px;
	color: #0F6A79;
	border: none;
	box-sizing: border-box;
	display: block;
}
:focus, :focus-visible {
	border: none;
	outline: none;
}
div.street {
	display: flex;
	gap: 10px;
}
input.plz {
	width: 100px;
}
input.ort {
	width: calc(100% - 150px);
}
input.hnr {
	width: 70px;
}
input.strasse {
	width: calc(100% - 120px);
}
ol {
	margin: 0;
	padding: 0;
}
ol li {
	color: #FFB703;
	margin-left: 90px;
	width: calc(100% - 90px);
	font-size: 22px;
	margin-bottom: 10px;
}
.formSection .tActive .button_table {
	max-height: 2000px;
}
.table_entry .button {
	width: calc(100% - 40px);
	max-width: 100%;
	border-radius: 37px;
	display: flex;
	background: #00FFE5;
	color: #0F6A79;
	z-index: 3;
	position: relative;
	font-size: 30px;
	font-weight: 700;
	height: 90px;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	margin-left: 40px;
	margin-top: 50px;
}
.table_entry .button_wrapper {
	position: relative;
	z-index: 2;	
}
.table_entry .button_wrapper:before {
	position: absolute;
	z-index: 1;
	right: -6px;
	bottom: -6px;
	border-radius: 37px;
	content: "";
	width: calc(100% - 40px);
	height: 100%;
	background: #FFB703;
}
.table_entry .button_row {
	display: flex;
	justify-content: center;
	margin: 40px 0;
}

.table_entry .button_wrapper:hover:before {
	background: #00FFE5;
}
.table_entry .button_wrapper:hover .button {
	background: #FFB703;
	color: #0F6A79;
}
.return {
	display: none;
}

#modal_wrapper {
	display: none;
	transition: all 1s;
	width: 100vw;
	height: 100svh;
	z-index: 99999;
	position: fixed;
}
.modal_inner {
	display: flex;
	background: #00FFE5AA;
	position: fixed;
	top: 0;
	left: 0;
	overflow: hidden;
	width: 100vw;
	height: 100svh;
	align-items: center;
	justify-content: center;
	z-index: 99999;
}
#modal {
	border-radius: 40px;
	background: #0F6A79;
	color: #FFB703;
	padding: 20px 40px 20px;
	box-sizing: border-box;
	width: 1440px;
	max-width: calc(100% - 20px);
	position: relative;
	max-height: calc(100% - 20px);
}
#return {
	border: 2px solid #FFB703;
	padding: 15px;
	box-sizing: border-box;
	font-size: 22px;
	margin: 40px 0 40px 40px;
	width: calc(100% - 40px);
}
#headline {
	color: #FFB703;
	font-size: 38px;
	font-weight: 700;
	margin-bottom: 10px;
}
.close {
	position: absolute;
	right: 10px;
	top: 20px;
	width: 32px;
	height: 32px;
	opacity: 0.9;
	z-index: 999;
}
video {
	width: 100%;
	border-radius: 30px;
}
.video {
	overflow: hidden;
	position: relative;
	margin: auto;
	max-width: 100%;
	max-height: calc(100svh - 120px);
	aspect-ratio: 16/9;
}
.close::before, .close::after {
	position: absolute;
	content: ' ';
	height: 33px;
	width: 2px;
	background-color: #FFB703;
}
.close::before {
	transform: rotate(45deg);
}
.close::after {
	transform: rotate(-45deg);
}

main.impressum {
	background: #0F6A79;
	color: #00FFE5;
	font-size: 24px;
	width: 100%;
}
.impressum section {
	margin: 0 auto !important;
	width: 1110px;
	max-width: calc(100% - 80px);
}
footer.impressum {
	margin: 0;
	background: #ff0087;
	justify-content: center;
}
footer.impressum section {
	justify-content: center;
}
.impressum .content {
	width: 1110px;
	max-width: 100%;
}
.impressum a {
	color: #00FFE5 !important;
}
div.border {
	height: 1px;
	margin: 20px 0;
	width: 100%;
	background: #FFB703;
}

/*Responsive Media Queries*/
@media only screen and (max-width: 798px) {
	.teaser_video {
		border-radius: 22px;
	}
	.video_wrapper::before, .img.left::before {
		right: -10px;
		bottom: -10px;
		border-radius: 22px;
	}
	.play_button {
		width: 52px;
		height: 52px;nt: center;
		z-index: 2;
	}
	.play_button_wrapper::before {
		width: 52px;
		height: 52px;
		right: -3px;
		bottom: -3px;
	}
	.play_button svg {
		width: 30px;
	}
	.teaser_video::before {
		width: 40vw;
		height: 50%;
		right: 0;
		top: -10vw;
	}
	.section1 {
		margin-bottom: 40px;
		margin-top: 40px;
	}
	.section2 {
		margin-top: 0px;
	}
	.section1 p {
		hyphens: auto;
		word-wrap: normal;
		word-break: break-word;
		font-size: 24px;
	}
	.img_text::before {
		width: 40vw;
		height: 50%;
		left: -13px;
		top: -5vw;
	}
	.img_text img {
		border-radius: 22px;
	}
}
@media only screen and (max-width: 524px) {
	section {
		max-width: calc(100% - 40px);
	}
	header {
		padding: 35px 0;
		max-height: 60vw;
	}
	.leuchtturm {
		max-height: 80vw;
	}
	.button, 
	.table_entry .button {
		width: 320px;
		max-width: 100%;
		border-radius: 20px;
		display: flex;
		gap: 15px;
		background: #00FFE5;
		color: #0F6A79;
		z-index: 3;
		position: relative;
		font-size: 20px;
		height: 52px;
	}
	.button_wrapper::before {
		right: -3px;
		bottom: -3px;
		border-radius: 20px;
	}
	.button svg {
		width: 35px;
	}
	.button_table {
		width: 320px;
		margin-top: -30px;
		z-index: 1;
		margin-left: 3px;
		font-size: 16px;
		border-radius: 0 0 20px 20px;
	}
	.table_inner {
		margin: 50px 20px 20px 20px;
	}
	.button_table p {
		font-size: 18px;
		margin-left: 25px;
		position: relative;
	}
	p.address::before {
		width: 20px;
		height: 20px;
		left: -30px;
	}
	p.contact::before {
		width: 25px;
		height: 25px;
		left: -33px;
	}
	#headline {
		font-size: 24px;
		margin-bottom: 10px;
	}
	#modal {
		padding: 20px 20px 20px;
	}
	video {
		border-radius: 15px;
	}
	.section3 {
		gap: 40px;
	}
	.zuhoerer_section {
		margin: 120px auto 40px;
	}
	footer {
		margin-top: 60px;
	}
	footer section {
		flex-direction: column;
	}
	.formSection .button_table p {
		margin-left: 0;
	}
	input, select, textarea {
		background: #d9d9d9;
		width: calc(100% - 0px);
		padding: 10px 10px;
		font-size: 16px;
		color: #0F6A79;
		border: none;
		box-sizing: border-box;
		display: block;
	}
	form {
		margin-left: 25px;
	}
	input.plz {
		width: 70px;
	}
	input.ort {
		width: calc(100% - 70px);
	}
	ol li {
		color: #FFB703;
		margin-left: 30px;
		width: calc(100% - 30px);
		font-size: 18px;
		margin-bottom: 10px;
	}
	div.address::before, 
	div.contact::before, 
	div.phone::before, 
	div.email::before {
		width: 18px;
		height: 18px;
		left: -25px;
	}
	.table_entry .button {
		margin-left: 0;
		margin-top: 20px;
	}
	.table_entry .button_wrapper::before {
		right: -3px;
		bottom: -3px;
		border-radius: 20px;
		width: 100%;
	}
	#return {
		border: 2px solid #FFB703;
		padding: 10px;
		box-sizing: border-box;
		font-size: 18px;
		margin: 20px 0 20px 0;
		width: 100%;
	}
	.impressum section {
		margin: 0 auto !important;
		width: 1110px;
		max-width: calc(100% - 40px);
		font-size: 18px;
	}
	.impressum .section1 p {
		hyphens: auto;
		word-wrap: normal;
		word-break: break-word;
		font-size: 24px;
		margin: 10px 0;
		font-size: 18px;
	}
	h2 {
		hyphens: auto;
		font-size: 24px;
	}
}
@media only screen and (min-width: 1201px) and (max-width: 1450px) { /*Notebook 125%*/
	
}
/*Responsive Media Queries*/
@media only screen and (min-width: 1201px) and (max-width: 1600px) { /*Notebook 125%*/

}
@media only screen and (min-width: 1280px) and (max-width: 1600px) { /*Notebook 125%*/

}
@media only screen and (max-width: 1400px) { /*Notebook 150%*/

}


@media only screen and (min-width: 1280px) and (max-width: 1530px) { /*Surface*/

}

@media only screen and (min-width: 1280px) {
	
}