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 */
}
}