/* Globale Einstellungen */
@font-face {
	font-family: "DxDynamix";
	src: url("font/DxDynamix-Bold.woff");
	font-weight: bold;
	font-style: normal;
}
* {
	box-sizing: border-box;
}

/* Basis-Setup */
body {
	font-family: Arial, sans-serif;
	font-size: 1rem;
	margin: 0;
	padding: 0;
	height: 100%;
	/* background-image: url("images/Startup.jpg") no-repeat; */
	/* background-position: center; */
	/* background-repeat: no-repeat; */
	min-height: 100vh;
	/* min-width: 500px; */
	color: #000;
	display: flex;
	flex-direction: column;
	align-items: center;
}

main {
	width: 100%;
	max-width: 768px;
	margin: 0 auto;
}

main > * {
	margin: auto;
}

h1,
h2,
h3,
.orange {
	font-family: "DxDynamix", Arial, sans-serif;
}

video {
	width:100%;
	height:auto;
}

/* Header-Styling */
.header {
	/* margin-top: 60px; */
	text-align: center;
	margin-bottom: 4rem;
}

.header h1 {
	font-size: 4rem;
	background-color: rgba(255, 255, 255, 0.8);
	padding: 14px 15px 10px 15px;
	border-radius: 4rem;
	border: 3px solid #000;
}

h2,
.pfeil img,
h3 {
	font-size: 3.8rem;
	margin: 0.8rem;
	margin-top: 1.3rem;
	width: auto;
}

.pfeil img {
	height: calc(3.8rem * 1); /* von font-size für pfeil */
}

.pfeil {
	height: fit-content;
}

.pfeil img {
	margin-left: 1.3rem;
	margin-right: 1.3rem;
}

h2.ueber-uns {
	font-size: 3.2rem;
}

h3 {
	font-size: 1.8rem;
	margin: 0;
}

.header.klein {
	margin-top: 4rem;
}

.header.klein h1 {
	font-size: 3rem;
	color: white;
	background: black;
	border-radius: 1rem;
	display: inline;
}

.ecke-rund {
	border-radius: 1.2rem;
}

.grau {
	background-color: rgb(217, 217, 217);
	/* background-color: white; */
	border: 3px solid #000;
	color: black;
}

/* Navigation hauptseite */
.navigation {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	margin-top: 120px;
}

.navigation a {
	border-radius: 40px;
	padding: 25px 40px;
	font-size: 2rem;
	text-decoration: none;
	color: #000;
	font-weight: bold;
	text-align: center;
	transition: background-color 0.3s ease;
	width: 100%;
}

.navigation a:hover {
	background-color: #bbb;
}

/* unterseiten */
.flex {
	display: flex;
	flex-wrap: wrap;
}

.nav.flex {
	gap: 2rem;
}
.nav .pfeil {
	flex-basis: calc(3.8rem + 2 * 0.8rem);
}

.container {
	/* width: 100%; */
	margin-bottom: 2rem;
	padding: 1rem;
}

.grid {
	display: grid;
	gap: 1rem;
}

.grid.nav {
	grid-template-columns: 6rem 1fr;
}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
	.grid.staedte,
	.grid.projekt {
		grid-template-columns: 1fr 1fr 1fr;
	}
}

.vertical {
	margin-top: 1rem;
	grid-template-columns: 1fr;
	grid-template-rows: 3rem 1fr;
	/* align-items: end; */
}

.vertical:first-child {
	/* align-self: end; */
}

.flexcontainer {
	display: flex;
	/* flex-wrap: wrap; */
}
.flexgrow {
	flex-grow: 2;
}

.center {
	text-align: center;
	vertical-align: middle;
	width: 100%;
}

.flexitem.stadt {
	flex-basis: 33%;
	padding: 1rem;
}
img {
	width: 100%;
	height: auto;
}

.grid.rad {
	grid-template-columns: 300px 1fr;
}

.orange {
	font-size: 1.8rem;
	background-color: rgb(233, 78, 27);
	padding: 1.5rem;
	color: white;
	text-decoration: none;
	margin: auto;
	margin-top: 1rem;
	width: auto;
}

.orange:hover {
	outline: 3px solid black;
}

.ueberschrift {
	/* height: 8rem; */
}

/* Hintergrund */
.hintergrund {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: url("images/Startup.jpg") no-repeat center;
	background-size: cover;
	z-index: -1;
}

/*
mobile layout
*/

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 768px) {
	h2,
	h2.ueber-uns,
	h3 {
		font-size: 2rem;
		margin: 0.8rem;
		margin-top: 1.3rem;
		height: fit-content;
		width: auto;
	}

	.pfeil img {
		height: calc(2rem * 1); /* von font-size für pfeil */
	}
	.grid:not(.staedte) {
		grid-template-columns: 1fr;
	}

	.vertical {
		/* grid-template-columns: 1fr; */
		grid-template-rows: unset;
		/* align-items: end; */
	}

	.header.klein h1 {
		font-size: 1.4rem;
	}

	.container {
		margin-left: 1rem;
		margin-right: 1rem;
	}

	.flexcontainer.ueberschrift {
		flex-basis: 300px;
	}
}

@media only screen and (max-width: 500px) {
	.flexcontainer.pfeil {
		order: 2;
	}
}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (max-width: 992px) {
}
/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (max-width: 768px) {
}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
}

.projekt-links {
	gap: 1rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	/* column-gap: 6rem; Nur horizontaler Abstand */
	row-gap: 1rem; /* Optional: vertikal beibehalten */
	margin-top: 1rem;
}

.projekt-links a {
	text-decoration: none;
}

.feld-klein {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 2rem;
	background-color: #d9d9d9;
	border: 3px solid #000;
	border-radius: 1.2rem;
	transition: background-color 0.3s ease;
	height: 30px;
	color: #000;
	cursor: pointer;
}

.feld-klein:hover {
	background-color: #bbb;
}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (max-width: 1200px) {
	.feld-klein {
		height: fit-content;
	}
	.projekt-links,
	.grid.staedte {
		flex-basis: 50%;
		grid-template-columns: 2fr; /* untereinander */
	}

	.feld-klein h3 {
		margin: 0;
		color: #000;
		text-decoration: none;
		font-size: 1.8rem;
		pointer-events: none; /* verhindert, dass h3 Hover- oder Klick-Events blockiert */
	}
}

/* Responsive für kleine Bildschirme */
@media only screen and (max-width: 768px) {
	.projekt-links,
	.grid.staedte {
		flex-basis: 100%;
		grid-template-columns: 1fr; /* untereinander */
	}
	.projekt-links {
		width: 100%;
	}
}

/* Links standardmäßig ohne Unterstreichung und in schwarz */
a {
	text-decoration: none;
	color: inherit;
}
.bild-gross {
	display: block;
	margin: 20px auto;
	max-width: 100%;
	height: auto;
	border-radius: 12px;
}
h1 a,
h2 a,
h3 a {
	color: inherit;
	text-decoration: none;
}

h1,
h2,
h3,
.orange {
	/* font-family: "DxDynamix", Arial, sans-serif; */
	font-family: Arial, sans-serif;
}
h1,
h2,
h3 {
	font-family: "DxDynamix", Arial, sans-serif;
	font-weight: bold;
}

a h3:visited,
a h3:active,
a h3:hover {
	color: inherit !important;
	text-decoration: none !important;
}

.extra-padding {
	padding: 3rem; /* oder z. B. 2rem 1.5rem für oben/unten & rechts/links */
}

/* Mobile phones */
@media only screen and (max-width: 600px) {
	body {
		font-size: 1.2rem;
	}

	h1 {
		font-size: 2rem;
	}

	h2 {
		font-size: 1.6rem;
	}

	h3 {
		font-size: 1.2rem;
	}

	.feld-klein {
		padding: 1.2rem;
	}
}
