/* source-sans-pro-200 - latin 
@font-face {
	font-family: 'Source Sans Pro';
	font-style: normal;
	font-weight: 200;
	font-display: swap;
	src: url('../fonts/source-sans-pro-v14-latin-200.eot');
	src: local(''), url('../fonts/source-sans-pro-v14-latin-200.eot?#iefix') format('embedded-opentype'), url('../fonts/source-sans-pro-v14-latin-200.woff2') format('woff2'), url('../fonts/source-sans-pro-v14-latin-200.woff') format('woff'), url('../fonts/source-sans-pro-v14-latin-200.ttf') format('truetype'), url('../fonts/source-sans-pro-v14-latin-200.svg#SourceSansPro') format('svg');
}

/* source-sans-pro-200italic - latin 
@font-face {
	font-family: 'Source Sans Pro';
	font-style: italic;
	font-weight: 200;
	font-display: swap;
	src: url('../fonts/source-sans-pro-v14-latin-200italic.eot');
	src: local(''), url('../fonts/source-sans-pro-v14-latin-200italic.eot?#iefix') format('embedded-opentype'), url('../fonts/source-sans-pro-v14-latin-200italic.woff2') format('woff2'), url('../fonts/source-sans-pro-v14-latin-200italic.woff') format('woff'), url('../fonts/source-sans-pro-v14-latin-200italic.ttf') format('truetype'), url('../fonts/source-sans-pro-v14-latin-200italic.svg#SourceSansPro') format('svg');
}

/* source-sans-pro-300 - latin
@font-face {
	font-family: 'Source Sans Pro';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('../fonts/source-sans-pro-v14-latin-300.eot');
	src: local(''), url('../fonts/source-sans-pro-v14-latin-300.eot?#iefix') format('embedded-opentype'), url('../fonts/source-sans-pro-v14-latin-300.woff2') format('woff2'), url('../fonts/source-sans-pro-v14-latin-300.woff') format('woff'), url('../fonts/source-sans-pro-v14-latin-300.ttf') format('truetype'), url('../fonts/source-sans-pro-v14-latin-300.svg#SourceSansPro') format('svg');
}

/* source-sans-pro-300italic - latin 
@font-face {
	font-family: 'Source Sans Pro';
	font-style: italic;
	font-weight: 300;
	font-display: swap;
	src: url('../fonts/source-sans-pro-v14-latin-300italic.eot');
	src: local(''), url('../fonts/source-sans-pro-v14-latin-300italic.eot?#iefix') format('embedded-opentype'), url('../fonts/source-sans-pro-v14-latin-300italic.woff2') format('woff2'), url('../fonts/source-sans-pro-v14-latin-300italic.woff') format('woff'), url('../fonts/source-sans-pro-v14-latin-300italic.ttf') format('truetype'), url('../fonts/source-sans-pro-v14-latin-300italic.svg#SourceSansPro') format('svg');
}

/* source-sans-pro-regular - latin */
@font-face {
	font-family: 'Source Sans Pro';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/source-sans-pro-v14-latin-regular.eot');
	src: local(''), url('../fonts/source-sans-pro-v14-latin-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/source-sans-pro-v14-latin-regular.woff2') format('woff2'), url('../fonts/source-sans-pro-v14-latin-regular.woff') format('woff'), url('../fonts/source-sans-pro-v14-latin-regular.ttf') format('truetype'), url('../fonts/source-sans-pro-v14-latin-regular.svg#SourceSansPro') format('svg');
}

/* source-sans-pro-italic - latin
@font-face {
	font-family: 'Source Sans Pro';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/source-sans-pro-v14-latin-italic.eot');
	src: local(''), url('../fonts/source-sans-pro-v14-latin-italic.eot?#iefix') format('embedded-opentype'), url('../fonts/source-sans-pro-v14-latin-italic.woff2') format('woff2'), url('../fonts/source-sans-pro-v14-latin-italic.woff') format('woff'), url('../fonts/source-sans-pro-v14-latin-italic.ttf') format('truetype'), url('../fonts/source-sans-pro-v14-latin-italic.svg#SourceSansPro') format('svg');
}

/* source-sans-pro-600 - latin */
@font-face {
	font-family: 'Source Sans Pro';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('../fonts/source-sans-pro-v14-latin-600.eot');
	src: local(''), url('../fonts/source-sans-pro-v14-latin-600.eot?#iefix') format('embedded-opentype'), url('../fonts/source-sans-pro-v14-latin-600.woff2') format('woff2'), url('../fonts/source-sans-pro-v14-latin-600.woff') format('woff'), url('../fonts/source-sans-pro-v14-latin-600.ttf') format('truetype'), url('../fonts/source-sans-pro-v14-latin-600.svg#SourceSansPro') format('svg');
}

/* source-sans-pro-600italic - latin
@font-face {
	font-family: 'Source Sans Pro';
	font-style: italic;
	font-weight: 600;
	font-display: swap;
	src: url('../fonts/source-sans-pro-v14-latin-600italic.eot');
	src: local(''), url('../fonts/source-sans-pro-v14-latin-600italic.eot?#iefix') format('embedded-opentype'), url('../fonts/source-sans-pro-v14-latin-600italic.woff2') format('woff2'), url('../fonts/source-sans-pro-v14-latin-600italic.woff') format('woff'), url('../fonts/source-sans-pro-v14-latin-600italic.ttf') format('truetype'), url('../fonts/source-sans-pro-v14-latin-600italic.svg#SourceSansPro') format('svg');
}

/* source-sans-pro-700 - latin */
@font-face {
	font-family: 'Source Sans Pro';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('../fonts/source-sans-pro-v14-latin-700.eot');
	src: local(''), url('../fonts/source-sans-pro-v14-latin-700.eot?#iefix') format('embedded-opentype'), url('../fonts/source-sans-pro-v14-latin-700.woff2') format('woff2'), url('../fonts/source-sans-pro-v14-latin-700.woff') format('woff'), url('../fonts/source-sans-pro-v14-latin-700.ttf') format('truetype'), url('../fonts/source-sans-pro-v14-latin-700.svg#SourceSansPro') format('svg');
}

/* source-sans-pro-700italic - latin
@font-face {
	font-family: 'Source Sans Pro';
	font-style: italic;
	font-weight: 700;
	font-display: swap;
	src: url('../fonts/source-sans-pro-v14-latin-700italic.eot');
	src: local(''), url('../fonts/source-sans-pro-v14-latin-700italic.eot?#iefix') format('embedded-opentype'), url('../fonts/source-sans-pro-v14-latin-700italic.woff2') format('woff2'), url('../fonts/source-sans-pro-v14-latin-700italic.woff') format('woff'), url('../fonts/source-sans-pro-v14-latin-700italic.ttf') format('truetype'), url('../fonts/source-sans-pro-v14-latin-700italic.svg#SourceSansPro') format('svg');
}

/* source-sans-pro-900 - latin
@font-face {
	font-family: 'Source Sans Pro';
	font-style: normal;
	font-weight: 900;
	font-display: swap;
	src: url('../fonts/source-sans-pro-v14-latin-900.eot');
	src: local(''), url('../fonts/source-sans-pro-v14-latin-900.eot?#iefix') format('embedded-opentype'), url('../fonts/source-sans-pro-v14-latin-900.woff2') format('woff2'), url('../fonts/source-sans-pro-v14-latin-900.woff') format('woff'), url('../fonts/source-sans-pro-v14-latin-900.ttf') format('truetype'), url('../fonts/source-sans-pro-v14-latin-900.svg#SourceSansPro') format('svg');
}

/* source-sans-pro-900italic - latin 
@font-face {
	font-family: 'Source Sans Pro';
	font-style: italic;
	font-weight: 900;
	font-display: swap;
	src: url('../fonts/source-sans-pro-v14-latin-900italic.eot');
	src: local(''), url('../fonts/source-sans-pro-v14-latin-900italic.eot?#iefix') format('embedded-opentype'), url('../fonts/source-sans-pro-v14-latin-900italic.woff2') format('woff2'), url('../fonts/source-sans-pro-v14-latin-900italic.woff') format('woff'), url('../fonts/source-sans-pro-v14-latin-900italic.ttf') format('truetype'), url('../fonts/source-sans-pro-v14-latin-900italic.svg#SourceSansPro') format('svg');
} */

html {
	scroll-padding-top: 200px;
}

body {
	margin: 0;
	line-height: 1.15;
	font-size: 25px;
	font-family: 'Source Sans Pro',sans-serif;
	max-width: 100vw;
	overflow-x: hidden;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	max-width: 100vw;
	overflow-x: hidden;
	color: #FFFFFF;
	font-weight: 600;
	letter-spacing: 0.033em;
}

body>div {
	max-width: 100vw;
	overflow-x: hidden;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	background-color: white;
}

p {
	margin-top: 0;
	margin-bottom: 1em;
	/* font-weight: 600; */
}

a {
	text-decoration: none;
	color: #FFFFFF;
	text-decoration: underline;
}

p.highlight {
	color: #008b68;
}

h1, h2, h3, h4, h5, h6 {
	margin-bottom: 1em;
	line-height: 1.1;
	font-family: 'Source Sans Pro',sans-serif;
	font-weight: bold;
}

h1 {
	font-weight: 300;
	margin: 0.5em 0;
	line-height: 1.16;
	font-weight: 200;
	font-weight: bold;
	font-size: 1.5em;
}

h2 {
	font-size: 1.35em;
}

h3 {
	font-size: 1.2em;
	/* clear: both; */
	font-weight: 500;
	position: relative;
	margin-top: 0.66em;
	display: block;
	margin-bottom: 0.5em;
	/* text-transform: uppercase; */
	font-weight: bold;
}

h4 {
	font-size: 20px;
	font-weight: 500;
	/* color: #008b68; */
	text-transform: uppercase;
	font-weight: bold;
}

h5 {
	font-size: 18px;
}

h6 {
	font-size: 16px;
}

h1+h2, h2+h3, h3+h4, h4+h5, h5+h6 {
	margin-top: 0.5em;
}

h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
	margin-top: 0.5em;
}

img{
	max-width: 100%; 
}

.kontaktoverlay {
	position: fixed;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100vh;
	width: 100vw;
	color: #212121;
	background-color: #0008;
	text-align: center;
	z-index: 10000;
	box-shadow: 0.125em 0.25px 0.25em #0008;
	display: none;
}

.kontaktoverlay a {
	color: #212121;
}

.kontaktoverlay>div {
	width: 25em;
	padding: 1em;
	background-color: #cac0ad;
	max-width: 80vw;
	max-height: 80vh;
	position: relative;
}

.kontaktoverlay>div>.text {
	overflow-y: auto;
	max-height: 100%;
}

.kontaktoverlay>div>.text p {
	margin-bottom: 0.25em;
	margin-top: 0.25em;
}

.kontaktoverlay .close {
	position: absolute;
	right: 0;
	top: 0;
	background-color: #4c4f55;
	color: #cac0ad;
	font-size: 1.5em;
	padding: 0.25em;
	transform: translate(50%,-50%);
	transition: all 0.3s ease;
	cursor: pointer;
	border-radius: 100%;
	width: 1.5em;
	height: 1.5em;
}

.kontaktoverlay .close i {
	transition: all 0.3s ease;
	text-align: center;
	left: 2px;
	top: 0px;
	position: relative;
}

.kontaktoverlay .close:hover i {
	transform: rotate(90deg);
}

.formsec {
	background-color: #007a5e;
	padding: 5em 0;
}

.contactform {
	position: relative;
}

.contactform .spacer {
	padding: 0.5em;
}

.contactform .erfolgreich {
	display: none;
}

.contactform .serverfehler {
	display: none;
}

.contactform.sending:before {
	position: absolute;
	content: "";
	width: calc(100% + 2em);
	left: -1em;
	height: calc(100% + 2em);
	top: -1em;
	background-color: #4c4f55bb;
	z-index: 1;
	backdrop-filter: blur(2px);
	border-radius: 2em;
}

.contactform.sending:after {
	position: absolute;
	content: "Ihre Daten werden verarbeitet. Bitte warten...";
	bottom: 2em;
	right: 50%;
	transform: translateX(50%);
	z-index: 2;
	color: white;
	padding: 1em;
	z-index: 1000000000000;
	text-align: center;
	background: #212121;
	border-radius: 1em;
}

.contactform .tuer input {
	display: none;
}

.contactform .tuer+.jsdetect {
	display: none;
}

.contactform .textinfo {
	margin-bottom: 1em;
}

.contactform .numberfield input {
	border-radius: 100%;
	text-align: center;
	border: 0.1em solid #cac0ad;
	outline: 0.2em solid #212121;
	background-color: #212121;
	font-size: 1em;
	color: #cac0ad;
	height: 1.75em;
	width: 1.75em;
	margin: 0 0.5em;
}

.contactform .numberfield .controlerbox {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	vertical-align: middle;
}

.contactform .numberfield .controlerbox span {
	cursor: pointer;
	padding: 0.25em;
}

.contactform .textareafield, .contactform .selectfield, .contactform .textfield {
	display: flex;
	flex-direction: column;
	margin-bottom: 1.5em;
}

.contactform .textfield>div {
	display: flex;
	width: 100%;
	box-shadow: 0.125em 0.25px 0.25em #0008;
}

.contactform .textfield label {
	padding: 0.75em;
	padding-right: 1.5em;
	padding-left: 1em;
	font-size: 1em;
	background-color: #212121;
	text-transform: uppercase;
	white-space: nowrap;
}

.contactform .textfield label small {
	text-transform: none;
	font-size: 0.5em;
	letter-spacing: 0.01em;
}

.contactform .textfield input {
	padding: 0.75em 1em;
	font-size: 1em;
	flex-grow: 1;
	background-color: hsl(165deg 21% 83%);
	border: none;
	color: #4C4F55;
	flex-shrink: 23;
	min-width: 0;
}

.contactform .textfield input:focus {
	background-color: #fff;
	border: none;
	outline: none;
}

.contactform .textfield input::placeholder {
	color: #4C4F5588;
}

.contactform .textareafield textarea {
	border: 1px solid #008b68;
	padding: 5px;
	font-size: 1em;
	min-height: 6em;
	resize: vertical;
}

.contactform .selectfield select {
	border: 1px solid #008b68;
	padding: 5px;
	font-size: 1em;
	height: 34px;
}

.contactform .textfield input[type="number"] {
	text-align: right;
}

.contactform .checkboxfield {
	display: flex;
	flex-direction: column;
	margin-bottom: 1em;
}

.contactform .checkboxfield>div {
	display: flex;
	flex-direction: row;
}

.contactform .checkboxfield>div>input {
	width: 5px;
	height: 5px;
	opacity: 0;
	position: relative;
	left: 2.3em;
	top: 1.5em;
	font-size: 1em;
	z-index: -1;
}

.contactform .checkboxfield>div>label {
	display: flex;
	flex-direction: row;
}

.contactform .checkboxfield>div>label>.button {
	width: 2em;
	height: 2em;
	margin-right: 0.25em;
	background-color: #cbddd8;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	cursor: pointer;
	flex-shrink: 0;
	margin-left: 0.75em;
}

.contactform .checkboxfield>div>label>.desc {
	margin-left: 2em;
}

.contactform .radiofield>div>label>.desc {
	margin-left: 2em;
	max-width: 60%;
}

.contactform .checkboxfield>div>label>.button:before {
	content: "";
	width: 80%;
	height: 80%;
	border: 0.1em solid #212121;
}

.contactform .checkboxfield>div>label>.button:after {
	content: "";
	position: absolute;
	width: 1.8em;
	height: 1em;
	left: 14%;
	top: -4%;
	border: 0.3em solid #212121;
	border-top: none;
	border-right: none;
	transform: rotate(-62deg) skew(-20deg, 0deg);
	opacity: 0;
	transition: all 0.1s ease;
}

.contactform .checkboxfield input:checked+label>.button:after {
	opacity: 1;
}

.contactform .radiofield {
	display: flex;
	flex-direction: column;
	margin-bottom: 1em;
}

.contactform .radiofield>div {
	display: flex;
	flex-direction: row;
}

.contactform .radiofield>div>input {
	width: 2px;
	opacity: 0;
	position: relative;
	left: 2.3em;
	top: 1.5em;
	font-size: 1em;
	z-index: -1;
}

.contactform .radiofield>div>label {
	display: flex;
	flex-direction: row;
}

.contactform .radiofield>div>label>.button {
	width: 2.5em;
	height: 2.5em;
	/* margin-right: 2em; */
	background-color: #cac0ad;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	cursor: pointer;
	flex-shrink: 0;
	border-radius: 100%;
	margin-left: 0.5em;
}

.contactform .radiofield>div>label>.button:before {
	content: "";
	width: 80%;
	height: 80%;
	border: 0.1em solid #212121;
	border-radius: 100%;
}

.contactform .radiofield>div>label>.button:after {
	content: "";
	position: absolute;
	width: 2em;
	height: 1.2em;
	left: 18%;
	top: 0%;
	border: 0.3em solid #212121;
	border-top: none;
	border-right: none;
	transform: rotate(-62deg) skew(-20deg, 0deg);
	opacity: 0;
	transition: all 0.1s ease;
}

.contactform .radiofield input:checked+label>.button:after {
	opacity: 1;
}

.contactform input:focus {
	background-color: #f2f2f2;
}

.contactform label {
}

.contactform .error {
	color: #fff;
	background-color: #8b0000;
	padding: 0.25em 0.5em;
	display: none;
}

.contactform button {
	border: none;
	background-color: #212121;
	color: #cac0ad;
	margin: 0;
	padding: 0.75em 1em;
	text-transform: uppercase;
	font-size: 1em;
	font-weight: 600;
	letter-spacing: inherit;
	cursor: pointer;
	display: inline;
	text-align: left;
	transition: all 0.3s ease;
	box-shadow: 0.125em 0.25px 0.25em #0008;
}

.contactform button:hover {
	background-color: #afcbc4;
	color: #212121;
	padding: 0.75em 1em;
}

.contactform .begleitpersonen>:nth-child(1), .contactform .begleitpersonen>:nth-child(2) {
	display: none;
}

.top-nav {
	background-color: #00644c;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 0.5em 0;
}

.top-nav img {
	margin: 0.5em 3em;
	max-width: 405px;
	min-width: 220px;
	width: 33vw;
}

.top-nav div {
	margin: 0.5em 3em;
}

.intro {
	background-color: #136d54;
	display: flex;
	flex-direction: column;
}

/*
@media (orientation: landscape) {
	.intro .better {
		height: 35vw;
		background: url('../img/intro_bg_w.jpg');
	}
}
@media (orientation: portrait) {
	.intro .better {
		height: 69vw;
		background: url('../img/intro_bg_h.jpg');
	}
}*/
 
.intro .better {
	/* height: 35vw; */
	background: url('../img/intro_bg_w.webp');
	aspect-ratio: 1920  / 914;
	width: 100%;
}
.intro .better {
	flex-grow: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	background-position: center center;
	background-size: cover;
}
.intro .better svg {
	/* width: 32vw; */
	margin: 4vh;
	height: 45vh;
}

.intro .kontaktbutton {
	position: absolute;
	bottom: 0;
	text-decoration: none;
	background: #212121;
	padding: 0.5em 1em;
	transition: all 0.3s ease;
	right: 7vw;
	cursor: pointer;
}

.intro .kontaktbutton:hover {
	background: #cac0ad;
	color: #212121;
}

.textintro {
	background-color: #00644c;
	padding: 2em 0;
}

footer {
	background-color: #00644c;
	padding: 3em 0 2em;
}

footer a {
	color: #FFFFFF;
	text-decoration: none;
}

footer .backtotop {
	border: 0.15em solid #212121;
	display: inline-block;
	border-radius: 100%;
	box-shadow: 0 0.25em 0.25em #0009;
	margin-top: 1em;
}

footer .backtotop span {
	width: 1.5em;
	height: 1.5em;
	border: 0.1em solid;
	border-radius: 100%;
	display: inline-block;
	text-align: center;
	line-height: 1.1em;
}

footer hr {
	border: none;
	border-top: 0.1em solid;
	margin: 1em 0 ;
}

footer .adresse, footer .kontakt {
	font-size: 75%;
	margin-bottom: 1em;
}

footer .adresse {
	text-align: right;
}

.aktionen{
	background-color: #007a5e;
	padding: 2em 0;
}
.aktionen .items{
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	display: grid;
	gap: 30px
}
.aktionen .item{
	background-color: #00644c;
	text-align: center;
	padding: 1em;
	border-radius: 10px;
	grid-column: span 2;
}
.aktionen .item:nth-child(3n+1):nth-last-child(2){
	grid-column: 2 / span 2;
}
.aktionen .item:nth-child(3n+1):nth-last-child(1){
	grid-column: 3 / span 2;
}
.aktionen .item>img{
	aspect-ratio: 3 /2 ; 
	object-fit: cover; 
	border-radius: 8px; 
	width: 100%; 
}

.aktionen .item l{
	font-weight: 600;
	display: block;
	margin-bottom: 0.25em;
}

.sm{
	display: flex; 
	justify-content: center; 
	gap: 1em; 
	
}
.sm a{
	transition: all 0.3s ease;
}
.sm a:hover{
	scale: 1.2; 
}
.sm a i{
	padding: 0.5em; 
	aspect-ratio: 1; 
	width: 1.75em;
	height: 1.75em; 
	background-color: white; 
	border-radius: 100%; 
	color: #00644c; 
	font-size: 1.25em; 
	display: flex; 
	justify-content: center; 
	align-items: center; 
}

@media (max-width: 1649px) {
}

@media (max-width: 1200px) {
	body {
		font-size: 20px;
	}

	.intro .better svg {
		/* width: 66vw; */
	}
	
	.aktionen .items{
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
	
	.aktionen .item:nth-child(3n+1):nth-last-child(2){
		grid-column: span 2;
	}
	.aktionen .item:nth-child(2n+1):nth-last-child(1){
		grid-column: 2 / span 2;
	}

}

@media (max-width: 991px) {
}

@media (min-width: 768px) and (max-width: 991px) {
}

@media (max-width: 767px) {
	.aktionen .items{
		grid-template-columns: 1fr; 
	}
	.aktionen .item{
		grid-column: span 1!important;
	}
}

@media (max-width: 599px) {
	.intro .better svg {
		/* width: 80vw; */
	}

	body {
		font-size: 16px;
	}

	.contactform .textfield>div {
		flex-direction: column;
	}

	.contactform .checkboxfield>div>label>.desc, .contactform .radiofield>div>label>.desc {
		margin-left: 1em;
		max-width: 100%;
	}

	.contactform .radiofield>div>label>.button, .contactform .checkboxfield>div>label>.button {
		margin-left: 0.25em;
	}
}

@media (max-width: 479px) {
}

@media (max-width: 350px) {
}

@media (min-width: 2000px) {
}

@media (min-width: 1700px) {
}

@media (min-width: 1370px) {
}
