html { scroll-behavior: smooth; } /* Grundstil für die Seite */ body { font-family: "Gowun Dodum", sans-serif; margin: 0; padding: 0; background: linear-gradient(180deg, #fafafa, #f0f0f5); color: #3b3b3b; line-height: 1.6; } header { background-color: #2c2c2c; /* Gleiche Farbe wie die Navigation */ color: #f5f5f5; padding: 30px; text-align: center; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Reduzierter Schatten */ border-bottom: none; /* Entfernt harte Abgrenzung */ position: relative; background-image: url('Bilder/headerBild.jpg'); background-size: cover; background-position: center; background-repeat: no-repeat; background-blend-mode: overlay; background-color: rgba(250, 249, 246, 0.95); /* Transparenter Farbton */ transition: all 0.3s ease; /* Sanfter Übergang */ } header .logoOben { max-width: 130px; border-radius: 20px; filter: drop-shadow(0 5px 8px rgba(0, 0, 0, 0.5)); transition: transform 0.3s ease, filter 0.3s ease; } header .logoOben:hover { transform: scale(1.1); filter: drop-shadow(0 8px 12px rgba(0, 0, 0, 0.6)); } /* Header-Text Styling */ header h1, header h2 { font-family: 'Gowun Dodum', sans-serif; /* Elegante Schrift für Überschriften */ color: #c0c0cc; text-transform: uppercase; letter-spacing: 1px; font-weight: bold; margin: 0; } /* Responsive Anpassungen */ @media (max-width: 768px) { header { padding: 15px; } header h2 { font-size: 1.5em; } header .logo { width: 50px; right: 15px; } } /* Standard Navigation Styling */ nav { background-color: #444; color: white; padding: 10px; position: relative; text-align: center; } .menu-icon { font-size: 24px; cursor: pointer; display: none; /* Nur auf mobilen Geräten sichtbar */ color: white; position: relative; } /* Hamburger Symbol */ .menu-icon::before { opacity: 1; transition: opacity 0.9s ease, transform 0.9s ease; } /* Schließen Symbol */ .menu-icon::after { position: absolute; top: 0; left: 0; opacity: 0; /* Standardmäßig unsichtbar */ transition: opacity 0.8s ease; } .menu-icon.open::before { opacity: 0; /* Hamburger-Symbol ausblenden */ transform: rotate(180deg); /* Dreht das Hamburger-Symbol */ } .menu-icon.open::after { opacity: 1; /* Zeigt das Schließen-Symbol an */ } .navigation ul { list-style-type: none; padding: 0; margin: 0; display: flex; justify-content: center; } /* Mobiles Menü Styling */ @media (max-width: 768px) { .menu-icon { display: inline-block; /* Zeigt das Menü-Icon auf Mobilgeräten an */ position: relative; } .navigation ul { flex-direction: column; max-height: 0; /* Startet geschlossen */ overflow: hidden; /* Verhindert Scrollen, wenn geschlossen */ opacity: 0; /* Unsichtbar, wenn geschlossen */ transition: max-height 0.8s ease, opacity 0.8s ease; /* Animiert Höhe und Transparenz */ position: relative; } .navigation.show ul { max-height: 300px; /* Höhe eine ungefähre maximale Höhe */ opacity: 1; /* Macht das Menü sichtbar */ } /* Listenelemente im Menü */ .navigation li { padding: 10px 15px; text-align: center; /* Zentriert die Links */ } .navigation ul li:last-child { margin-left: 0; /* Entfernt das Standard-Auto-Margin */ margin-top: 15px; /* Abstand nach oben, um es abzuheben */ align-self: flex-end; /* Bewegt Login ans untere Ende */ text-align: center; /* Zentriert den Text */ width: 100%; /* Breite über die gesamte Navigation */ border-top: 1px solid #ddd; /* Optionale Trennungslinie */ } } /* Listenelemente im Menü */ .navigation li { padding: 10px 15px; } .navigation a { color: white; text-decoration: none; } .navigation a.aktiv { background-color: #03855A; color: #ffffff; border-radius: 8px; padding: 6px 12px; font-weight: bold; transition: background-color 0.3s ease; } .navigation a:hover { color: #ffffff; border-radius: 8px; } .navigation li a.aktiv { display: block; /* Lässt den Link die gesamte Zeile einnehmen */ background-color: #04AA6D; /* Hintergrundfarbe */ color: white; /* Textfarbe */ padding: 10px 50px; /* Optional: zusätzlicher Innenabstand */ text-decoration: none; /* Entfernt Unterstreichung */ } /* Verschiebe Login nach rechts */ .navigation ul li:last-child { margin-left: auto; /* Schiebt das letzte Element (Login) nach rechts */ position: absolute; right: 20px; top: 50%; transform: translateY(-50%); /* Zentriert Login vertikal */ } /* Popup-Hintergrund */ .popup { display: none; /* Versteckt das Popup standardmäßig */ position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); /* Halbtransparenter Hintergrund */ z-index: 1000; } /* Popup-Inhalt */ .popup-content { background-color: #fff; margin: 15% auto; padding: 20px; border-radius: 8px; width: 300px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); text-align: center; } .popup-content h3 { color: #444; margin-top: 0; } .popup-content form { display: flex; flex-direction: column; gap: 10px; } .popup-content input { padding: 10px; border: 1px solid #ddd; border-radius: 5px; } .popup-content button { background-color: #04AA6D; color: white; border: none; padding: 10px; border-radius: 5px; cursor: pointer; transition: background-color 0.3s ease; } .popup-content button:hover { background-color: #03855A; } /* Schließen-Button */ .close-button { position: absolute; top: 10px; right: 15px; font-size: 18px; cursor: pointer; color: #333; } /* Willkommenstext */ .willkommenstext { background-color: #FAF9F6; /* Gleiche Hintergrundfarbe wie .menu */ border-radius: 12px; /* Abgerundete Ecken */ border: 1px solid #ddd; /* Gleicher Rand wie .menu */ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Gleicher Schatten wie .menu */ max-width: 1000px; /* Gleiche maximale Breite wie .menu */ width: 90%; /* Gleiche Breite wie .menu */ padding: 25px; /* Gleicher Innenabstand */ margin: 20px auto; /* Zentrierung mit gleichem Abstand */ text-align: center; /* Text zentrieren */ transition: all 0.3s ease; /* Gleiche Übergangseffekte */ } .willkommenstext:hover { box-shadow: 0 8px 18px rgba(0, 0, 0, 0.25); /* Gleicher Hover-Effekt wie .menu */ } .willkommenstext:target { box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3); /* Gleicher Ziel-Effekt wie .menu */ } .willkommenstext p { margin: 0; padding: 0; } .willkommenstext .einleitung { display: block; font-size: 1.3em; font-weight: bold; color: #6c2f3d; margin-bottom: 10px; } .willkommenstext strong { display: block; margin: 15px 0; font-size: 1.2em; color: #333; } .willkommenstext em { display: block; margin-top: 20px; font-family: "Playwrite GB S", cursive; font-size: 1.1em; color: #666; } /* Responsive Anpassungen */ @media (max-width: 768px) { .willkommenstext { padding: 15px; font-size: 1em; } .willkommenstext .einleitung { font-size: 1.2em; } .willkommenstext strong { font-size: 1.1em; } } /* Bewertungen und Footer */ main p, footer p { text-align: center; padding: 20px; } footer { background-color: #333; color: #fff; text-align: center; padding: 20px; } /*Öffnungszeiten */ .oeff { /* Grundstil für die Tabelle */ table { width: 100%; border: 1px solid #ccc; /* Passt sich an die Bildschirmbreite an */ max-width: 700px; margin: 20px auto; /* Zentriert die Tabelle */ border-collapse: collapse; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); /* Weicher Schatten */ overflow: hidden; border-radius: 8px; background-color: #fefefe; transition: transform 0.3s ease; } table:hover{ transform: scale(1.01); } /* Kopfzeilen-Styling */ thead th { background-color: #623c3d; /* Dunklerer, warmer Farbton */ color: #fff; padding: 12px; text-transform: none; font-size: 0.95em; letter-spacing: 1px; } /* Zellen-Styling */ tbody td { padding: 12px; text-align: center; color: #333; border-bottom: 1px solid #e0e0e0; font-size: 0.95em; transition: background-color 0.3s ease, color 0.3s ease; } tbody td:hover{ background-color: #e6e6e6; /* Heller Hintergrund für Hover */ color: #000; /* Kontrastreicherer Text beim Hover */ } /* Zeilen abwechselnd einfärben */ tbody tr:nth-child(even) { background-color: #fafafa; /* Heller Hintergrund für abwechselnde Zeilen */ } tbody tr:nth-child(odd) { background-color: #ffffff; /* Weiß für klare Abgrenzung */ } tbody tr:hover{ background-color: #ddd; color: #000; } /* Responsive Anpassungen für kleine Bildschirme */ @media (max-width: 768px) { thead { display: none; /* Kopfzeile auf kleinen Bildschirmen ausblenden */ } table, tbody, tr, td { display: block; width: 100%; } tr { margin-bottom: 0px; border: 1px solid #ddd; border-radius: 10px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Leichter Schatten für mobile Ansicht */ } td { text-align: right; padding-left: 50%; position: relative; } td::before { content: attr(data-label); /* Label für die Zelle anzeigen */ position: absolute; left: 15px; width: 45%; font-weight: bold; text-align: left; color: #8B4513; /* Passend zum Header-Farbton */ } tbody td:nth-child(1)::before { content: "Montag"; } tbody td:nth-child(2)::before { content: "Dienstag"; } tbody td:nth-child(3)::before { content: "Mittwoch"; } tbody td:nth-child(4)::before { content: "Donnerstag"; } tbody td:nth-child(5)::before { content: "Freitag"; } tbody td:nth-child(6)::before { content: "Samstag"; } tbody td:nth-child(7)::before { content: "Sonntag"; } } } /* Stil für die Überschrift Öffnungszeiten */ h2 { font-size: 1.8em; /* Größe anpassen */ color: #8B4513; /* Passend zum Braunton in der Tabelle */ text-align: center; margin-top: 20px; margin-bottom: 15px; font-weight: bold; padding-bottom: 5px; border-bottom: 2px solid #ddd; /* Dezente Linie unter der Überschrift */ max-width: 80%; margin-left: auto; margin-right: auto; } /* Link "Anfang der Seite" */ a h4 { text-align: center; font-size: 1em; color: #04AA6D; } a h4:hover { color: #333; } /* Zusatzstil für Links */ a { color: #03855A; text-decoration: none; transition: color 0.3s ease; } a:hover { color: #6F4E37; text-decoration: underline; } .menu { background-color: #FAF9F6; border-radius: 12px; border: 1px solid #ddd; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); max-width: 600px; width: 90%; padding: 25px; margin: 20px auto; text-align: center; transition: all 0.3s ease; } .menu:hover { box-shadow: 0 8px 18px rgba(0, 0, 0, 0.25); } .menu { transition: box-shadow 0.3s ease; } .menu:target { box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3); } .category h3 { font-size: 1.6em; color: #6F4E37; margin-top: 0px; margin-bottom: 15px; border-bottom: 2px solid #8B4513; padding-bottom: 5px; text-align: center; font-weight: bold; } .menu ol { list-style: decimal; padding-left: 0; counter-reset: item; } .menu ol li { counter-increment: item; position: relative; margin: 10px 0; font-size: 0.85em; display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid #e6e6e6; transition: background-color 0.2s ease; } /* Stil für das Info-Symbol */ .info-icon { font-size: 0.85em; color: #8B4513; cursor: pointer; margin-left: 10px; transition: color 0.3s ease, transform 0.3s ease; } .info-icon:hover { color: #6F4E37; transform: scale(1.1); } /* Modal-Styling für das Overlay */ .modal { display: none; /* Standardmäßig versteckt */ position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); /* Halbtransparentes Overlay */ } /* Modales Fenster ohne Transparenz */ .modal-content { background-color: #fefefe; /* Vollständig deckend, keine Transparenz */ margin: 15% auto; /* Zentriert das Modal im Fenster */ padding: 20px; border-radius: 10px; width: 80%; max-width: 300px; /* Beschränkt die Breite des Fensters */ box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3); text-align: center; color: #555; /* Textfarbe für bessere Lesbarkeit */ } .tab { overflow: hidden; border-bottom: 1px solid #ccc; } .tab button { background-color: inherit; float: left; border: none; outline: none; cursor: pointer; padding: 10px 20px; transition: 0.3s; font-size: 16.5px; } .tab button:hover { background-color: #ddd; } .tab button.active { background-color: #ccc; } .tabcontent { display: none; padding: 10px; border-top: none; } .tabcontent h4 { margin-top: 0; } .close-button { background: none; border: none; font-size: 1.5em; cursor: pointer; position: absolute; top: 10px; right: 10px; color: #555; } .close-button:hover { color: #333; } /* Hochgestelltes Symbol Styling */ .footnote-symbol { font-size: 0.6em; color: #777; display: inline; vertical-align: top; margin-left: 2px; } /* Fußnotenbereich Styling */ .footnote { font-size: 0.8em; color: #555; margin-top: 10px; } .menu ol li:before { content: counter(item) ". "; font-weight: bold; color: #8B4513; margin-right: 5px; } .menu .price { font-weight: bold; color: #6F4E37; font-size: 0.85em; } hr { border: 0; border-top: 1px solid #ddd; margin: 15px 0; } .menu p.note { font-size: 0.9em; color: #777; text-align: center; margin-top: 20px; } /* Accordion-Bereich */ .accordion-content { display: none; /* Startet versteckt */ padding: 10px; border-top: 1px solid #ddd; margin-top: 10px; } /* Symbol-Styling für die Plus- und Minus-Anzeige */ .toggle-icon { font-size: 1em; color: #8B4513; margin-left: 10px; } /* Stil für Zusatzstoffe-Tabelle */ .zusatzstoffe-table, .allergen-table { width: 100%; border: 1px solid #ccc; max-width: 700px; margin: 20px auto; border-collapse: collapse; overflow: hidden; border-radius: 8px; background-color: #FAF9F6; } .zusatzstoffe-table td, .allergen-table td { padding: 12px; text-align: left; color: #333; border-bottom: 1px solid #ddd; font-size: 0.80em; } .zusatzstoffe-table tr:nth-child(even), .allergen-table tr:nth-child(even) { background-color: #FAF9F6; } .zusatzstoffe-table tr:nth-child(odd), .allergen-table tr:nth-child(odd) { background-color: #FAF9F6; } .zusatzstoffe-table td:first-child, .allergen-table td:first-child { font-weight: bold; color: #8B4513; width: 30%; text-align: center; } /* Footer-Styling */ footer { background-color: #2c2c2c; color: #d1d1d1; padding: 25px; text-align: center; display: flex; flex-direction: column; align-items: center; border-top: 3px solid #555; gap: 10px; } /* Logo im Footer */ footer .logo { width: 80px; height: auto; margin-bottom: 10px; border-radius: 8px; } /* Anschrift im Footer */ footer p { margin: 0; font-size: 0.9em; line-height: 1.5; } /* Social-Media-Icons */ footer .socials { display: flex; gap: 15px; justify-content: center; } footer .socials a { color: #04AA6D; font-size: 1.3em; text-decoration: none; transition: color 0.3s; } footer .socials a:hover { color: #028a5e; } footer .call-icon { color: #04AA6D; transition: color 0.5s; } footer .call-icon:hover { color: #02a85e; } /* Responsive Anpassungen */ @media (max-width: 768px) { footer { padding: 15px; } footer p { font-size: 0.8em; } footer .socials a { font-size: 1.3em; } footer .logo { width: 60px; } } .search-filter { display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 15px; /* Abstand zwischen den Elementen */ padding: 20px; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); margin-bottom: 20px; } .search-filter input[type="text"], .search-filter select { font-family: "Gowun Dodum", sans-serif; font-size: 1em; padding: 10px 15px; width: 250px; /* Breite der Eingabefelder */ max-width: 100%; border: 1px solid #ccc; border-radius: 5px; outline: none; transition: all 0.3s ease; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); } .search-filter input[type="text"]:focus, .search-filter select:focus { border-color: #04aa6d; box-shadow: 0 4px 6px rgba(0, 170, 109, 0.2); } .search-filter select { background-color: #fff; cursor: pointer; } .search-filter select:focus { background-color: #f0fff4; } .search-filter input[type="text"]::placeholder { color: #aaa; font-size: 0.9em; } /* Responsive Anpassungen */ @media (max-width: 768px) { .search-filter { flex-direction: column; /* Stapelt die Elemente untereinander */ gap: 10px; /* Reduzierter Abstand */ } .search-filter input[type="text"], .search-filter select { width: 90%; /* Anpassung für kleinere Bildschirme */ } }