/**
 **
 ** BASISFORMATIERUNG
 **
 **/
html {
	box-sizing:border-box;
	font-size:16px;
	line-height:1.4;
}
*, *:before, *:after {
	box-sizing:inherit;
}

html, body {
	margin:0;
	padding:0;
}

body {
	position:relative;
	overflow-y:scroll;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary, img { display: block; }

p, h1, h2, h3, h4, h5, h6, span, ul, ul li { margin:0; padding:0; }
img { border:0; }
form { display:inline; }

th, td { padding:0; margin:0; vertical-align:middle; }
table { border-collapse:collapse; border-spacing:0; margin:0 auto; }

ol { margin:3px 0; padding-left:30px; }
ul li { list-style:none; }

nav ul, nav li, nav a, nav a span { position:relative; display:block; padding:0; margin:0; }


/**
 **
 ** Schriften
 **
 **/
@font-face {
	font-family: 'Karla';
	src: url('fonts/Karla-Regular.woff2') format('woff2'),
		url('fonts/Karla-Regular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Karla';
	src: url('fonts/Karla-Bold.woff2') format('woff2'),
		url('fonts/Karla-Bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Old Standard TT';
	src: url('fonts/OldStandardTT-Regular.woff2') format('woff2'),
		url('fonts/OldStandardTT-Regular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Old Standard TT';
	src: url('fonts/OldStandardTT-Bold.woff2') format('woff2'),
		url('fonts/OldStandardTT-Bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}


/**
 **
 ** Text
 **
 **/
body {
	font-family:"Old Standard TT", serif;
	font-size:0.875rem;
	color:#fff;
}
body a {
	text-decoration:underline;
	transition:color 0.3s;
}
body a:hover,
body a:focus {
	text-decoration:underline;
}

.button {
	border:2px solid #fff;
	border-radius:48px;
	min-height:56px;
	padding:8px 40px;
	text-align:center;
	font-size:16px;
	color:#fff;
	transition-timing-function: ease-in-out;
	transition-property: background-color, color;
	transition-duration: 0.3s;
	font-weight: 700;
	overflow-wrap: break-word;
	font-family: "Karla", sans-serif;
	display:inline-flex;
	justify-content: center;
	flex-direction: column;
	background-color:transparent;
	text-decoration:none;
	letter-spacing: 2px;
}
.button:hover,
.button:focus {
	text-decoration:none;
	background-color:#fff;
	color:#000;
}

@media (max-width: 1024px) {
	.button {
		font-size:14px;
	}
}


/*
 HEADER
*/
header {
	background-image: linear-gradient(
		to bottom, 
		rgba(0, 0, 0, 0.2) 0%, 
		rgba(0, 0, 0, 0.2) 100%), 
		url("img/header-bg.webp"
	);
	background-repeat: no-repeat;
	background-blend-mode:normal;
	background-size:auto, cover;
	background-position:center center;
	background-attachment: fixed;
}

/* @media (max-width: 1024px) {
	header {
		background-attachment: unset;
	}
} */


header > div,
main section > div {
	width:76%;
	margin:0 auto;
	padding:7rem 0;
}
header > div {
	padding:4rem 0 7rem;
}
@media (max-width: 1024px) {
	header > div,
	main section > div {
		width:100%;
		padding:4rem 2rem;
	}
}

header #logo {
	display:block;
	align-self:center;
	height:160px;
	margin:0 auto;
	background:url(img/logo.png) no-repeat center center;
	background-size:cover;
	aspect-ratio:348 / 200;
}
@media (max-width: 1024px) {
	header #logo {
		height:120px;
	}
}

header div div {
	width:85%;
	margin-top:14rem;
}
@media (max-width: 1024px) {
	header div div {
		width:100%;
		margin-top:10rem;
	}
}

header h1 {
	/* margin-top:4rem; */
	white-space: pre-line;
	letter-spacing: 4px;
	line-height: 1.2;
	max-width: 100%;
	overflow-wrap: break-word;
	font-family: "Karla", sans-serif;
	font-size: 56px;
	font-weight:700;
}
@media (max-width:1536px) {
	header h1 {
		font-size: 54px;
	}
}
@media (max-width:1280px) {
	header h1 {
		font-size: 42px;
	}
}
@media (max-width: 768px) {
	header h1  {
		font-size: 35px;
	}
}

header h2 {
	margin-top:16px;
	font-size:30px;
	font-weight: 700;
	line-height:1.5;
	letter-spacing:2px;
	overflow-wrap: break-word;
}
@media (max-width:1280px) {
	header h2 {
		font-size: 28px;
	}
}
@media (max-width: 768px) {
	header h2  {
		font-size: 26px;
	}
}

header .button {
	margin-top: 20px;
}


/*
 INFO
*/
#info {
	background-color: rgb(108, 178, 78);
}
#info > div {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	gap:3rem 4rem;
}
@media (max-width: 780px) {
	#info > div {
		flex-direction:column;
	}
}

#info h3 {
	width:100%;
	text-align:center;
	line-height:1.4;
	letter-spacing:2px;
	font-size:32px;
	font-weight:700;
	overflow-wrap: break-word;
	font-family: "Karla", sans-serif;
	margin-bottom:2rem;
}
@media (max-width: 1536px) {
	#info h3 {
		font-size: 28px;
	}
}
@media (max-width: 1280px) {
	#info h3 {
		font-size: 26px;
	}
}
@media (max-width: 768px) {
	#info h3 {
		font-size: 25px;
	}
}
@media (max-width: 780px) {
	#info h3 {
		margin-bottom:0;
	}
}

#info .left,
#info .right {
	flex:1 1 0;
}

#info img {
	width:100%;
}

#info h4 {
	margin-top: 30px;
	margin-bottom: 24px;
	font-size:24px;
	line-height: 1.25;
	font-weight:400;
	letter-spacing: 2px;
	overflow-wrap: break-word;
	text-align: center;
}
@media (max-width: 1536px) {
	#info h4 {
		font-size: 22px;
	}
}

#info p {
	line-height: 1.8;
	font-size: 18px;
	overflow-wrap: break-word;
	letter-spacing: normal;
	text-align: center;
}
@media (max-width: 1536px) {
	#info p {
		font-size: 16px;
	}
}


/*
 CONTACT
*/
#contact {
	background-color:rgb(45, 139, 179);
}
#contact > div {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	gap:3rem 5rem;
}
@media (max-width:780px) {
	#contact > div {
		flex-direction:column;
	}
}

#contact h3 {
	width:100%;
	text-align:center;
	line-height:1.4;
	letter-spacing:2px;
	font-weight:700;
	overflow-wrap: break-word;
	font-family: "Karla", sans-serif;
	margin-bottom:2rem;
    font-size: 42px;
}
@media (max-width: 1536px) {
	#contact h3 {
		font-size: 39px;
	}
}
@media (max-width: 1280px) {
	#contact h3 {
		font-size: 33px;
	}
}
@media (max-width: 1024px) {
	#contact h3 {
		font-size: 30px;
	}
}
@media (max-width: 780px) {
	#contact h3 {
		margin-bottom:0rem;
	}
}

#contact .left,
#contact .right {
	flex:1 1 0;
}
#contact .left {
	display:flex;
	flex-direction:column;
	gap:2rem;
}

#contact h4 {
	margin-bottom: 24px;
	font-size:24px;
	line-height: 1.25;
	font-weight:400;
	letter-spacing: 2px;
	overflow-wrap: break-word;
}
@media (max-width: 1536px) {
	#contact h4 {
		font-size: 22px;
	}
}

#contact p {
	line-height: 1.8;
	font-size: 18px;
	overflow-wrap: break-word;
	letter-spacing: normal;
}
@media (max-width: 1536px) {
	#contact p {
		font-size: 16px;
	}
}

#contact .right p span {
	display:inline-block;
	margin-right:2px;
	min-width:25px;
}


/*
 FOOTER
*/
footer {
	background-color: rgb(211, 75, 58);
	text-align:center;
	padding:3rem 2rem 3rem;
	font-size:16px;
	word-wrap:break-word;

	@media (max-width: 1280px) {
		font-size:14px;
	}

	div {
		display:flex;
		justify-content:center;
		gap:1rem;
		margin-top:2rem;

		a {
			display:inline-block;
			cursor:pointer;
			letter-spacing: 2px;
			word-wrap: break-word;
			font-family: 'Karla', sans-serif;
			font-weight: 700;
			color:#fff;
			text-decoration:none;

			&:hover,
			&:focus {
				text-decoration:underline;
				color:#333;
			}
		}
	}

}


/*
 IMPRESSUM & DATENSCHUTZ
*/
#impressum,
#datenschutz {
	background-color:#fff;

		font-family: 'Karla', sans-serif;
	color:#1b1b1b;
	/* text-align:center; */

	> div {
		width:50%;

		@media (max-width: 1024px) {
			width:60%;
		}

		@media (max-width: 768px) {
			width:100%;
		}
	}

	h1 {
		margin-bottom:3rem;
		font-weight: 700;
		font-size: 23px;
		letter-spacing: 2px;
		word-wrap: break-word;

		@media (max-width: 1536px) {
			font-size: 21px;
		}
	}

	h2 {
		margin:2.5rem 0 0.5rem;
		font-weight: 700;
		font-size: 20px;
		letter-spacing: 2px;
		word-wrap: break-word;

		@media (max-width: 1536px) {
			font-size: 17px;
		}
	}

	p,
	ul {
		word-wrap: break-word;
		font-size: 18px;

		@media (max-width: 1536px) {
			font-size: 16px;
		}
	}

	ul {
		display:block;
		margin:0.5rem 0 1rem;

		li {
			display:flex;
			gap:0.5rem;
			align-items:center;
			line-height:1.6;

			&:before {
				content:"•";
			}
		}
	}
}