/* Element-Selektoren mit geringem Gewicht
ueberschreiben keine css-klassen */

:root {
	
	/* font */
	--big: calc(var(--normal)*1.4);
	--bigger: calc(var(--normal)*1.2);
	--normal: 16px;
	--smaller: calc(var(--normal)*0.95);
	--smallest: calc(var(--normal)*0.9);
}


@font-face {
	font-family: CooperHewitt;
	src: url(fonts/CooperHewitt-Light.otf), 
		url(fonts/CooperHewitt-LightItalic.otf);
}
@font-face {
	font-family: CooperHewittBold;
	src: url(fonts/CooperHewitt-Semibold.otf),
		url(fonts/CooperHewitt-SemiboldItalic.otf);
}
	@font-face {
	font-family: CooperHewittBook;
	src: url(fonts/CooperHewitt-Book.otf), 
		url(fonts/CooperHewitt-BookItalik.otf);
}
@font-face {
	font-family: MerriweatherLight;
	src: url(fonts/Merriweather-Light.ttf),
	url(fonts/Merriweather-LightItalic.ttf);
}
@font-face {
	font-family: MerriweatherBold;
	src: url(fonts/Merriweather-Bold.ttf),
		url(fonts/Merriweather-BoldItalic.ttf);
		line-height: 1.6;
}
@font-face {
	font-family: Montserrat;
	src: url(fonts/Montserrat-VariableFont_wght.ttf),
	url(fonts/Montserrat-Italic-VariableFont_wght.ttf);
}
@font-face {
	font-family: Bodoni;
	src: url(fonts/LibreBodoni-VariableFont_wght.ttf),
	url(fonts/LibreBodoni-Italic-VariableFont_wght.ttf);
	font-weight: 200;
}
@font-face {
	font-family: Josefin;
	src: url(fonts/JosefinSlab-VariableFont_wght.ttf),
	url(fonts/JosefinSlab-Italic-VariableFont_wgth.ttf);
}
@font-face {
	font-family: Noto;
	src: url(fonts/NotoSansSymbols-VariableFont_wght.ttf);
}

/* for all devices */
html, body {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
}
html {
	width: 100%;
}
body {
	justify-content: space-between; /* Ensures footer is pushed to the bottom */
	min-height: 100vh; /* Body takes at least the full viewport height */
	padding: 0;
	margin: 0;
}

#body_content {
	flex: 1;  /* Ensures the content area takes up remaining space */
	text-align: center;
}

footer {
	
	padding-top: 20px;
	padding-bottom: 20px;
	margin: 0;
	margin-top: 50px;
	text-align: center;
}



/* Fonts *//* Fonts *//* Fonts *//* Fonts *//* Fonts */
/* Fonts *//* Fonts *//* Fonts *//* Fonts *//* Fonts */
/* Fonts *//* Fonts *//* Fonts *//* Fonts *//* Fonts */


p, li, table, .dialogue, .dialogue-stacked {
	font-size: var(--normal);
	font-family: Noto;
	font-weight: 100;
	
}
li {
	text-align: left;
}
#navi, #us, footer {
	font-family: 'Montserrat', sans-serif;
}
.kalenderkacheln div {
	font-family: Josefin;
	font-size: var(--smallest);
	padding: 3px;
}

.dialogue {
	display: grid;
	grid-template-columns: max-content 1fr;
	line-height: 1.5;
	gap: 0.2em 0.8em;
	text-align: left;
	
}

.dialogue dt {
	font-weight: 200;
	white-space: nowrap;
	
}

.dialogue dd {
	margin: 0;
}
.dialogue-stacked {
	text-align: left;
	margin: 0;
	padding: 0;
}

.dialogue-stacked dt {
	font-weight: bold;
	margin-top: 1em; /* space between speakers */
	margin-bottom: 0.2em;
}

.dialogue-stacked dd {
	margin: 0;
}

h1,h2, figcaption, .nachtrag,
.nachtrag p {
	font-family: Josefin;
}
.nachtrag p, .nachtrag {
	font-weight: 300;
}

.highlight {
	display: inline-block;
}

p {
	width: 100%;
	text-align: justify;
}


p em, p .quotation, q {
     display: inline;
   	font-family: inherit; 
    font-style: italic;
	font-weight: inherit;
}

p b {
	font-family: inherit; 
	font-weight: 400;
}

#weiter, #zurueck {
	font: oblique 60px Noto;
}


.shrink_box {
	
    height: 30px; 
	width: 100px;       /* Limits initial height */
    overflow: hidden;        /* Hides overflow content */
    text-overflow: ellipsis; /* Adds ellipsis for overflow */
    white-space: nowrap;     /* Keeps text on one line for ellipsis */
	cursor: pointer;
	transition: max-height 0.3s ease;
}

/* Expanded style */
.shrink_box.expanded {
	width: auto;
  height: auto; /* Large value to allow full expansion */
  white-space: normal; /* Wrap text */
}


.invisible {
	display: none;
}




/* Margins *//* Margins *//* Margins *//* Margins *//* Margins */
/* Margins *//* Margins *//* Margins *//* Margins *//* Margins */
/* Margins *//* Margins *//* Margins *//* Margins *//* Margins */

h1, h2, p {
	margin: 0;
	padding: 0;
}
img {
	border: none;
	margin: 0px;
	padding: 0px;
	background-repeat: no-repeat;
}

h1 + p {
	margin-top: 30px;
}
h2 + p {
	margin-top: 25px;
}
p + p {
	margin-top: 20px;
}
p + h1,
h2 {
	margin-top: 40px;
}
h1 + h2 {
	margin-top: 20px;
}

h2:first-of-type:not(h1 + h2) {
    margin-top: 0;
}

div + .nachtrag {
	margin-top: 25px;
}
#kopf {
	height: auto;
	width: 100%;
	padding: 0px;
	margin: 0px;
	text-align: center;
	background-color: transparent;
	letter-spacing: 2px;
}



#banner {
	width: 60%;
	margin: 30px auto 30px auto;
	padding: 0px;
}


#navi {
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid black;
}
#navi div {
	display: inline;
	margin-left: 2%;
	margin-right: 2%;
	color: #00bfff;
}
#navi div:hover {
	cursor: pointer;
}
#navi img {
	height: 20px;
}
#weiter, #zurueck {
	margin: 0;
	padding: 0;
}

.lineNumberStore {
	visibility: hidden;
}
.textContainer img {
	margin: 30px 0px 30px 0px;
	padding: 0;
	width: 100%;
}






.project_description {
	width: 60%;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}





.schliesskreuz {
	position: fixed;
	top: 20px;
	right: 20px;
	z-index: 50;
}

#us {
	margin: 40px 0px 30px 0px;
	width: 100%;
	font: normal normal bold 13px;
	letter-spacing: 1px;
	text-align: center;
}

#kopf a {
	list-style: none;
	text-decoration: none;
	
}



#central_text{
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}

#leiste {
	max-width: 90px;
	margin: 0px 0px auto 40px;
	padding: 0px;
	float: left;
	height: auto;
}







.gross {
	font-size: 16px;
	padding: 0px;
	margin: 0px auto 0px auto;
	text-align: left;
}


.container_for_responsive_text {
	width: 60%;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center; /* Horizontal centering */
	/* align-items: center; /* Vertical centering */
	/* height: 70vh; /* Full viewport height */
	padding-top: 3vh;
	padding-bottom: 5vh;
}
.container_for_responsive_text p,
.center {
	text-align: center;
	margin-top: 100px;
}
.responsive_text {
	font-size: 3vw; /* Scales font to 80% of viewport width */
	max-width: 30vw; /* Limits the width to 80% of the viewport */
	word-wrap: break-word;
	text-align: center; /* Centers the text within its container */
}
.instagram_logo {
	margin: 30px;
	margin-bottom: 5vh;
}

.kalenderkacheln {
	display: inline-flex;
	gap: 2%;
	flex-wrap: wrap;
}






/* Fading animation */
.fade {
	-webkit-animation-name: fade;
	-webkit-animation-duration: 2s;
	animation-name: fade;
	animation-duration: 2s;
}

@-webkit-keyframes fade {
	from {opacity: .4}
	to {opacity: 1}
}

@keyframes fade {
	from {opacity: .4}
	to {opacity: 1}
}














/* Colors *//* Colors *//* Colors *//* Colors */
/* Colors *//* Colors *//* Colors *//* Colors */
/* Colors *//* Colors *//* Colors *//* Colors */
body {
	background-color: #F5F7F2;
}
footer {
	background-color: #333;
	color: white;
}
a {
	color: rgb(97, 97, 97);
	text-decoration: none;
}

a:hover {
	color: black;
	cursor: pointer;
}

#us {
	color: rgb(97, 97, 97);
}



.highlight {
	background-color: hsl(150,100%,80%);
}
#kopf a {
	color: #000000;
}
#kopf a:hover {
	color: hsl(150,100%,80%);
}
#weiter, #zurueck {
	color: silver;
	background-color: transparent;
}
#zurueck:hover,
#weiter:hover {
	color: black;
}
.dayAktiv, .kalenderKachel1:hover, .kalenderKachel2:hover {
	cursor: pointer;
	background-color: hsl(150,100%,80%);
}















body {
	width: 100%;
	height: 100%;
	position: relative; /* Ensure relative positioning for children */
}
.line-container {
	position: absolute; /* or absolute */
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none; /* Allow clicks to pass through */
	z-index: 999; /* Ensure the line appears above other content */
}
svg {
	width: 100%;
	height: 100%;
	pointer-events: none;
}

