@charset "UTF-8";
/* CSS Document */

* {
  font-family: Montserrat, sans-serif;
}

.header{
	padding-top: 15px;
	padding-left: 15px;
}

h1{
	font-size: 11.5pt;
	font-weight: 600;
	font-stretch: semi-expanded;
	margin-bottom: 0;
}

h2{
	font-size: 11pt;
	font-weight: 500;
	margin-top: 0px;
	margin-bottom: 5px;
}

h3{
	font-size: 10pt;
	font-weight: 400;
	margin-top: 5px;
	margin-bottom: 20px;
}

h4{
	font-size: 10pt;
	font-weight: 400;
	margin-top: 5px;
	margin-bottom: 20px;
}

h5{
	font-size: 10pt;
	font-weight: 500;
	line-height: 150%;
	letter-spacing: 0.1px;
	padding-left: 15px;
	padding-right: 15px;
}

h6{
	font-size: 8.5pt;
	font-weight: 400;
	padding-left: 15px;
	padding-right: 15px;;
}

	@media screen and (max-width: 768px){
		.flex-container{
			flex-direction: column;
			max-width: 800px;
			margin: 0 auto;
			display: flex;
			flex-wrap: wrap;
		}
	
		nav{
			flex-direction: column;
			text-decoration: none;
		}
	}

a{
	text-decoration: none;
	color: black;
	line-height: 150%;
	}
p{
	font-size: 8pt;
	line-height: 140%;
  	color: black;
}

main{
	flex-basis: 65%;
	line-height: 120%;
}

aside{
	text-decoration: none;
	font-size: 8pt;
	line-height: 180%;
  	color: black;
	text-transform: uppercase;
	flex-basis: 35%;
	margin: 0 0 25px 0;
	
}

nav ul{
	list-style: none;
	padding-left: 20;
}

.container {
  height: auto;
  overflow: hidden;
}

img {
  max-width: 100%;
  height: auto;
  display: block; /* verhindert kleine Lücken */
}

.flex-container{
	max-width: 800px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

/* ---------------- Label ---------------- */

.project-header {
  display: flex;
  align-items: baseline; /* sorgt dafür, dass Label und H2 auf einer Linie sitzen */
  gap: 10px;             /* Abstand zwischen H2 und Label */
}

.project-header h2 {
  margin: 0;             /* falls nötig, Abstand oben/unten entfernen */
}

.project-label {
  font-size: 8pt;        /* kleiner als H2 */
  color: #919191;           /* Grau */
  text-transform: uppercase;
  letter-spacing: 1px;
}
/* ---------------- Label Ende ---------------- */


/* ---------------- BURGERMENU ---------------- */
.burger {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 20px;   /* kleineres Quadrat */
  height: 20px;  /* kleineres Quadrat */
  background: none;
  border: none;
  cursor: pointer;
  margin: 10px 0 10px 20px;
  padding: 0;
}

.burger span {
  display: block;
  height: 3px;       /* wieder kräftiger */
  width: 100%;       
  background: black;
  border-radius: 0;  /* eckig */
}

/* Hover UND aktive Seite */
nav a {
  color: black;
  text-decoration: none;
}

nav a:hover {
  color: #FF3235; /* rot beim Hover */
}

nav a.active {
  color: #FF3235; /* rot wenn aktiv (geklickt/aktuelle Seite) */
}


/* ---------------- MOBILE ---------------- */
@media screen and (max-width: 768px) {
  .flex-container {
    flex-direction: column;
  }

  aside {
    width: 100%;
    flex-basis: auto;
  }

  .burger {
    display: flex;
  }

  nav {
    display: none;
    width: 100%;
  }

  body.menu-open nav {
    display: block;
    background: white;
    padding: 10px 20px;
  }
}
/* ---------------- BURGERMENU Ende ---------------- */
