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

:root {
	/*font-family:Georgia, 'Times New Roman', Times, serif;
	line-height: 1.6em;
	letter-spacing: 0.05em;
*/
	/* 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 {
	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;
}




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;
}


/* desktop */
@media screen and (min-width: 1025px) {
	
	p, li, table { 
		line-height: 1.5;
	}
	.kalenderkacheln {
		padding-bottom: 10px;
	}
	.kalenderkacheln div {
		font-size: var(--smallest);
	}
	.highlight {
		line-height: 1.5;
	}
	#bloginhalt {
		padding-left: 10%;
		padding-right: 10%;
	}
	.textContainer {
		flex-grow: 2;
		width: 55%;
		max-width: 700px;
		margin-left: 7%;
		padding-right: 3%;
		margin-top: 60px;
	}
	.bildContainer {
		width: 15%;
		max-width: 400px;
		flex-direction: column; 
		margin-top: 60px;
	}
	.bildContainer img {
		width: 100%;
		max-width: 300px;
	}
	.bildContainer>div:not(:first-child) {
		margin-top: 40px !important;
	}

}

/* tablets */
@media screen and (min-width: 601px) and (max-width: 1024px) {
	
	p, li, table { 
		line-height: 1.5;
	}
	.kalenderkacheln div {
		font-size: var(--normal);
	}
	.highlight {
		line-height: 1.5;
	}
	#bloginhalt {
		padding-left: 3%;
		padding-right: 3%;
	}
	.textContainer {
		margin-top: 50px;
	}
	.bildContainer {
		flex-direction: row; 
		flex-wrap: wrap;
		justify-content: center; /* Center items horizontally */
		align-items: center; /* Center items vertically within each row */
		gap: 40px;
		margin-top: 45px;
		width: 100%;
		
	}
	.bildContainer div {
		height: 200px; /* Same height for all items */
    	flex: 0 1 auto;
	}
	.bildContainer img {
		height: 200px;
	}
	
	.bildContainer div:only-child {
		width: 100%;
		height: auto;
	}
	.bildContainer div:only-child img {
		width: 100%;
		height: auto;
		object-fit:cover;
	}
}

/* phones */
@media screen and (max-width: 600px) {
	p {
		width: 100%;
	}
	p, li, table { 
		line-height: 1.5;
		
	}
	
	.kalenderkacheln div {
		font-size: var(--bigger);
		margin-left: 20px;
		margin-top: 20px;
		display: inline;
	}
	.highlight {
		line-height: 1.5;
	}
	#bloginhalt {
		padding-left: 2%;
		padding-right: 3%;
	}
	.textContainer {
		margin-top: 40px;
	}
	.bildContainer {
		flex-direction: row; 
		flex-wrap: wrap;
		justify-content: center; /* Center items horizontally */
		align-items: center; /* Center items vertically within each row */
		gap: 20px;
		margin-top: 45px;
	}
	.bildContainer div {
		height: 200px; /* Same height for all items */
    	flex: 0 1 auto;
	}
	.bildContainer img {
		height: 200px;
	}
	.bildContainer div:only-child {
		width: 100%;
		height: auto;
	}
	.bildContainer div:only-child img {
		width: 100%;
		height: auto;
		object-fit:cover;
	}
}



/* 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,
p + h2 {
	margin-top: 40px;
}
h1 + h2 {
	margin-top: 20px;
}
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;
}

#weiter, #zurueck {
	width: 40px;
	border-style: none;
	position: fixed;
	top: 250px;
}
#zurueck {
	left: 10%;
	text-align: left;
}

#weiter {
	right: 10%;
	text-align: top;
}


.container_for_responsive_text {
	display: flex;
	justify-content: center; /* Horizontal centering */
	/* align-items: center; /* Vertical centering */
	/* height: 70vh; /* Full viewport height */
	padding-top: 3vh;
	padding-bottom: 5vh;
}
.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;
}


/* kachel-scroll */
.kachel_scroll_box {
    position: relative;
    display: flex;
    align-items: center;
}

.kalenderkacheln {
    display: flex; /* Align divs in a row */
    overflow-x: auto; /* Horizontal scroll */
    white-space: nowrap; /* Prevent items from wrapping */
    width: 90%; /* Set a width for the scrollable area */
	margin-left: auto;
	margin-right: auto;
    scroll-behavior: smooth; /* Smooth scrolling effect */
}

.kalenderkacheln div {
    font-size: var(--bigger);
    margin-left: 20px;
    margin-top: 20px;
    display: inline-block; /* Ensure divs act like inline blocks */
}

.scroll-left, .scroll-right {
    cursor: pointer;
    padding: 10px;
   
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    z-index: 1;
}

.scroll-left {
    left: 0;
}

.scroll-right {
    right: 0;
}

.hidden {
    display: none; /* Hide arrows when not needed */
}








/* 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: #000033;
}
#weiter, #zurueck {
	color: silver;
	background-color: transparent;
}
#zurueck:hover,
#weiter:hover {
	color: black;
}
.dayAktiv, .kalenderKachel1:hover, .kalenderKachel2:hover {
	cursor: pointer;
	background-color: #adad85;
	color: white;
}
