/* Variablen */

:root {
	--schriftart: 'CutiveMono', serif;
	--schriftart2: 'Gotu', sans-serif;
	--schriftgroesse1: calc(11px + 1vw);
	--schriftgroesse2: calc(11px + 0vw);
	--schriftgroesse3: calc(11px + 2.5vw);
	--schriftfarbe1: rgba(50, 180, 50, 1);
}


/* Grid-System Body */

body {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: auto auto auto auto auto 1fr auto;
	gap: 0.0em;
	grid-template-areas: 
		". . nav3 . ."
		". . . nav4 ."
		"header header header . aside"
		"nav1 . . . ."
		". nav2 . . ."
		"main main main main main"
		"footer footer . . .";
}

header {
	grid-area: header;
}

main {
	grid-area: main;
}

nav.nav1 {
	grid-area: nav1;
}

nav.nav2 {
	grid-area: nav2;
}

nav.nav3 {
	grid-area: nav3;
}

nav.nav4 {
	grid-area: nav4;
}

aside {
	grid-area: aside;
}

footer {
	grid-area: footer;
}


/* Grid-System Main */

main {
	display: grid;
	grid-template-columns: repeat(3, 1fr);  
	gap: 1em;

	section.textfeld {
		grid-column: 2 / span 2;
	}

	section.grossesTextfeld {
		grid-column: 2 / -1;
	}

	section.grossesBild {
		grid-column: 1 / -1;
	}
}


/* Grid-System bei kleinen Bildschirmen */

@media only screen and (max-width: 800px) {
	body {
		grid-template-columns: repeat(2, 1fr);
		grid-template-areas: 
			". nav3"
			". nav4"
			"header ."
			". nav1"
			"nav2 ."
			"main main"
			"aside aside"
			"footer footer";
	}
	
	main {
		grid-template-columns: none; 
		
		section.textfeld {
			grid-column: auto;
		}
	}
}


/* Allgemeine Stile */

html {
	scroll-behavior: smooth;
}

body {
	min-height: calc(100vh - 2em);
	margin: 1em;
	font-family: var(--schriftart);
	font-size: var(--schriftgroesse1);
}

* {
	color: var(--schriftfarbe1);
}

header, nav {
	text-transform: uppercase;
	text-align: center;
	font-family: var(--schriftart2);
}

nav {
	white-space: nowrap; 
	z-index: 1;
}

img {
	/*filter: grayscale(1);*/
	color: transparent;
	max-height: 50vh;
}

img.startseitebild
{
	filter: none;
	width: 100%;
	max-height: none;
}

main {
	margin: 3em 0;
}

section.textfeld {
	font-size: var(--schriftgroesse1);
	hyphens: auto;
}

section.textfeld img
{
	max-height: 50vh;
}

footer {
	font-size: var(--schriftgroesse2);
	opacity: 0.5;
}


/* Teaser Arbeit */

section.teaserArbeit {
  transition: transform 0.1s ease-in-out; /* Übergangseffekt für die Skalierung */
}

section.teaserArbeit:hover {
  transform: scale(1.1); /* Skalierung bei Hover */
}

section.teaserArbeit img {
	object-fit: contain;
	width: 100%;
	height: 20em;
	box-sizing: border-box;
	padding: 0em 1em 4em 1em;
	filter: grayscale(0);
}


/* Große Abbildung */

img.grossesBild {
	filter: none;
	object-fit: contain;
	width: 100%;
	height: calc(100vh - 2em);
    margin-top: 1em;
}


/* Listen */

ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

summary {
	cursor: pointer;
	list-style: none;
	list-style-type: none;
}

/*details ul
{
	display: block;
	position: absolute;
	background-color: silver;
}
*/

/* Überschriften */

h1, h2
{
	font-size: var(--schriftgroesse1);
	margin: 0;
	font-weight: normal;
}

header h1 {
	font-size: var(--schriftgroesse3);
	margin: 0;
	padding: 0;
}


/* Pfeile */

.pfeil:before {
	content: '⯈';
	line-height: 1em;
}

.pfeil:empty {
	display: block;
	height: 1em;
	width: 1em;
}


/* Links */

a {
	text-decoration: none;
}



/* Figure */

figure.abbildung {
	display: block;
	text-align: center;
	margin: 0.5em 0 0.5em 0;

	* {
		font-size: var(--schriftgroesse2) !important;
	}

	figcaption {
		padding: 0;
	}

	img {
		object-fit: contain;
		max-width: 100%;
		max-height: 640px;
		height: auto;
	}
}

figure.abbildungTextzeile
{
	display: inline;
	margin: 0;
	font-style: italic;

	* {
		color: rgba(0, 0, 255, 1);
	}

	figcaption:before {
		content: 'Abb.: ';
	}

	figcaption {
		display: inline;
	}

	img {
		height: 1em;
		vertical-align: middle;
		margin-top: -0.25em;
	}
}


/* Aside */

aside {
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	margin: 0.2em 0;

	position: sticky;
	top: calc(1em - 0.3em);

	a {
		display: block;
		width: 2em;
		height: 2em;
		background-size: 60%;
		background-repeat: no-repeat;
		background-position: center;
	}

	a.sm_instagram {
		background-color: var(--schriftfarbe1);
		background-image: url('teilen_instagram.svg');
	}
}


/* Anweisung für große Bildschirme */

@media only screen and (min-width: 800px) {	
	nav	{
		position: sticky;
		top: 1em;
	}
}


/* Anweisung für kleine Bildschirme */

@media only screen and (max-width: 800px) {	
	nav.nav1, nav.nav2 {
		position: sticky;
		top: 1em;
	}

	nav.nav2 { margin-top: -1px; }
	nav.nav4 { border-top-width: 0; }

	section.teaserArbeit img {
		width: 100%;
		height: 40vh;
		border: none;
	}
	
	aside {
		flex-direction: row;
	}
}

@font-face
{
	font-family: 'Gotu';
	src: local('Gotu Regular'), local('Gotu-Regular'), url('Gotu-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
}

@font-face
{
	font-family: 'CutiveMono';
	src: local('CutiveMono Regular'), local('CutiveMono-Regular'), url('CutiveMono-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
}
