@font-face {
	font-family: typewrite;
	src: url("https://kgv-weissenberg.de/fonts/typewrite_b.ttf");
}

@font-face {
	font-family: Simone;
	src: url("https://kgv-weissenberg.de/fonts/Rosellia-Simone.ttf");
}

@font-face {
	font-family: Springlake;
	src: url("https://kgv-weissenberg.de/fonts/Springlake.ttf");
}

@font-face {
	font-family: ltoval;
	src: url("https://kgv-weissenberg.de/fonts/ltoval-regular.otf");
}

@font-face {
    font-family: merienda;
    src: url("https://kgv-weissenberg.de/fonts/MeriendaOne-Regular.ttf");
}

body {
	max-width: 900px; /* Breite des Elements */
	margin: 0 auto;  /* Automatischer Abstand */
	padding: 0 25px;
	font-family: 'merienda', Arial, sans-serif;
	background: #80D184;
}

header {
	max-width: 900px; /* Breite des Elements */
	margin-left: auto;  /* Automatischer Abstand links */
	margin-right: auto; /* Automatischer Abstand rechts */
	background: #4CAF50;
	color: white;
	border-radius: 12px;
}
.content {
	width:100%;
	max-width:900px;
	background: #70c174;
	border-radius: 12px;
}
	
.visit {
	position: absolute;
	top: 44px;
	display: inline-block;
}
.menu-toggle {
	display: none;
	font-size: 24px;
	cursor: pointer;
}

nav.menu {
    padding: 10px;
}

.button {
	background: linear-gradient(to bottom, #68c068 5%, #284028 100%);
	border-radius: 4px;
	color: #f8ffff;
	font-weight: bold;
	cursor: pointer;
	text-align: center;
	position: relative;
	padding: 10px;
	margin: 10px;
	width: 150px; /* Gleiche Breite wie im schmalen Design */
}

.button:hover {
	background: linear-gradient(to bottom, #284028 5%, #68c068 100%);
}

.submenu {
	display: none;
	position: absolute;
	background: #4CAF50;
	top: 100%; /* Unterhalb des Buttons */
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	border-radius: 5px;
}

.submenu .button {
	display: block;
	margin: 0;
	width: 170px; /* Gleiche Breite wie im schmalen Design */
}

.button:hover .submenu {
	display: block;
}

.image-container {
  width: 100%; /* Container wird die volle Breite einnehmen */
  max-width: 900px; /* Maximale Breite des Containers */
  margin: 0 auto; /* Zentriert den Container */
}

.float-image {
	float: left; /* Bild nach rechts schieben */
	margin-right: 10px; /* Abstand zwischen Bild und Text */
	margin-bottom: 5px; /* Abstand zwischen Bild und unterem Text */
}

.image-container::after {
	content: "";
	display: block;
	clear: both; /* Entfernt das Float und lässt den Text darunter normal fließen */
}

.imgmax {
	max-width: 100%; /* Passt die Breite des Bildes an den Container an */
	height: auto; /* Behält das Seitenverhältnis des Bildes bei */
}

.container {
	margin: 0 auto;
	background: #00cc00;
	padding: 20px;
	border-radius: 8px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.form-group {
	display: flex;
	margin-bottom: 15px;
}

.form-group label {
	width: 30%;
	text-align: right;
	padding-right: 10px;
	color: #003300;
	line-height: 2;
}

.form-group input {
	padding: 4px;
	font-size: 14px;
	border: 1px solid #ccc;
	border-radius: 6px;
	max-width: 320px;
}

.checkbox-group {
	display: flex;
	align-items: center;
	margin-bottom: 15px;
}

.checkbox-group label {
	text-align: left;
	width: auto;
	padding-right: 10px;
	line-height: normal;
}
input.small {
	width: 40px;
}
input.norm {
	width: 232px;
}
select.norm {
	width: 242px;
}

input.wide {
	width: 182px;
}
.eye-icon {
    position: absolute;
    right: 10px;
    cursor: pointer;
    font-size: 20px;
    color: #888;
}

.password-container {
    position: relative;
    display: flex;
    align-items: center;
}

#password {
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 5px;
    width: 220px;
}

#password_confirm {
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 5px;
    width: 220px;
}

td.day, td.sat, td.sun, td.out,
th.day, th.sat, th.sun, th.out {
	border: 1px solid #060;
	padding: 8px;
	text-align: center;
	height: 60px;
}
tr.day, tr.sat, tr.sun, tr.out {
	min-height: 60px;
}

td.edit {
	border: 1px solid #060;
	background-color: #0c0;
}
th.edit {
	border: 1px solid #060;
	background-color: #090;
}
	.table-wrapper {
	width: 100%;
	overflow-x: auto;   /* aktiviert waagerechtes Scrollen */
	overflow-y: hidden; /* kein senkrechtes Scrollen */
	border: 1px solid #ccc;
	border-radius: 8px;
}

table {
	border-collapse: collapse;
	min-width: 800px; /* zwingt bei vielen Spalten zum Scrollen */
	width: 100%;
}

th, td {
	padding: 4px;
	background: #5fa463;
	border: 1px solid #006600;
/*	border-bottom: 1px solid #006600;*/
	text-align: left;
	white-space: nowrap; /* verhindert Zeilenumbruch */
}
/* Erste Spalte fixieren */
th:first-child, td:first-child {
	position: sticky;
	left: 0;
	background: #549157;
	z-index: 3; /* überlappt andere Spalten */
	border-right: 1px solid #006600;
}
th {
	background-color: #549157;
	position: sticky; /* optional: Kopfzeile bleibt oben */
	top: 0;
}

button {
	padding: 4px 10px;
	border: 1px solid #999;
	border-radius: 5px;
	background: #eee;
	cursor: pointer;
}

button:hover {
	background: #ddd;
}

/* Event-Stil bleibt unverändert */
.event {
	font-size: 0.9em;
	color: #333;
}

/* Hintergrundfarben */
.day {
	background-color: #0c0;
}
.sat {
	background-color: #8c0;
}
.sun {
	background-color: #c66;
}
.out {
	background-color: #aaa;
}

.kalender {
	width:61px;
	height:78px;
	background-image:url(/images/kalender.png);
	line-height:15px;
	background-position: top center;
	background-repeat: no-repeat;
	padding-top:4px;
	text-align: center;
	vertical-align: top;
}

@media (max-width: 700px) {
	.float-image {
		float: none;
		margin: 0 auto; /* Zentriert das Bild, wenn gewünscht */
		display: block;
	}
}

@media (max-width: 592px) {
	#logoimg {
	display: none;
	}
}

/* Menü für schmale Bildschirme */
@media (max-width: 768px) {
	.menu {
		display: none; /* Menü standardmäßig verstecken */
		width: 200px; /* Menü-Breite auf 100% setzen */
		position: absolute; /* Menü unterhalb der Header */
		top: 190px; /* Abstand vom oberen Rand */
		right: 0;
		box-sizing: border-box;
		text-align: center;
	}

	.menu.visible {
		display: block; /* Menü sichtbar machen, wenn die Klasse "visible" hinzugefügt wird */
	}

	/* Button im Menü */
	.button {
		width: 150px;  /* Button-Breite im schmalen Design */
		margin: 10px 0; /* Vertikaler Abstand zwischen Buttons */
		padding: 10px;
		position: relative;
		z-index:10;
	}

	/* Submenu - Button */
	.submenu {
		display: none;
		position: absolute;
		top: 0%;
		left: -115px;
		width: 150px;
	}


	/* Toggle-Button */
	.menu-toggle {
		display: inline-table;
		position: relative;
		right: 10px;
		font-size: 30px;
		cursor: pointer;
	}

	/* Logo und Besucherzähler unterhalb des Textes */
	.header-content {
		display: inline-table;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		margin-top: 20px;
	}

	/* Besucherzähler und Logo unterhalb des Textes */
	.logo {
		text-align: center;
	}
}

/* Für das normale (breite) Layout */
@media (min-width: 769px) {
    nav.menu {
        display: flex; /* Menü im normalen Layout (nebeneinander) */
    }

    .button {
        width: auto; /* Buttons in der normalen Breite */
    }

    .menu-toggle {
        display: none; /* Toggle-Button im breiten Modus ausblenden */
    }
}

.error {
    color: #ffffff; /* Weißer Text */
    background-color: #cc4d4d; /* Auffälliges Rot */
    border: 1px solid #cc0000; /* Dunklerer Rotton für den Rand */
    border-radius: 5px; /* Abgerundete Ecken */
    padding: 10px; /* Innenabstand */
    font-size: 1rem; /* Lesbare Schriftgröße */
    font-weight: bold; /* Fettschrift für Betonung */
    text-align: center; /* Zentrierter Text */
    margin: 10px 0; /* Abstand nach oben und unten */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Leichter Schatten */
}

/* Optional: Animation für Aufmerksamkeit */
@keyframes shake {
    0% { transform: translateX(0); }
    10% { transform: translateX(-15px); }
    20% { transform: translateX(15px); }
    30% { transform: translateX(-15px); }
    40% { transform: translateX(15px); }
    50% { transform: translateX(-15px); }
    60% { transform: translateX(15px); }
    70% { transform: translateX(-15px); }
    80% { transform: translateX(15px); }
    90% { transform: translateX(-15px); }
    100% { transform: translateX(0); }
}

.error.animated {
    animation: shake 1.5s ease-in-out;
}

/* Galerie-Container */
.gallery-container {
    display: flex;
    flex-wrap: wrap; /* Elemente umbrechen, wenn der Platz nicht reicht */
    gap: 15px;
    justify-content: center; /* Zentriere die Galerie */
    padding: 10px;
}

.gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    background-color: #fff;
}

.gallery-item img {
    display: block;
    width: 200px; /* Feste Breite der Bilder */
    height: auto;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.gallery-item:hover img {
    transform: scale(1.1);
}

/* Lightbox Styling */
.lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.lightbox img {
    max-width: 80%;
    max-height: 80%;
    border-radius: 10px;
}

.hidden {
    display: none;
}

.close {
    position: absolute;
    top: 20px;
    right: 40px;
    font-size: 40px;
    color: white;
    cursor: pointer;
    z-index: 1001;
}

/* Navigations-Buttons */
.nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.6);
    border: none;
    font-size: 30px;
    color: #333;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 1001;
}

#prev {
    left: 20px;
}

#next {
    right: 20px;
}

.nav-btn:hover {
    background: white;
}

