/* === Bratonien CI-Farben === */ :root { --ci-darkgreen: #104f3a; --ci-gold: #c8aa49; --ci-blue: #1a3765; --ci-beige: #d9c27f; --ci-creamwhite: #f7f3e8; } /* === Reset & Grundstruktur === */ *, *::before, *::after { box-sizing: border-box; } html, body { margin: 0; padding: 0; min-height: 100dvh; width: 100%; overflow-x: hidden; /* horizontales Scrollen verhindern, vertikal zulassen */ overflow-y: auto; font-family: sans-serif; color: var(--ci-creamwhite); background: linear-gradient(180deg, var(--ci-darkgreen), var(--ci-blue)); background-size: cover; background-repeat: no-repeat; display: flex; flex-direction: column; } /* === Hauptbereich === */ main { display: flex; flex-direction: column; height: 100%; width: 100%; } /* === Überschrift === */ main > h1 { flex: 0 0 auto; font-size: 1.8rem; text-align: center; margin: 0.5rem 0; padding: 0 1rem; } /* === Bildcontainer === */ .kalenderbild { flex: 1 1 auto; position: relative; /* Bezugsrahmen für Overlay */ display: flex; align-items: center; justify-content: center; overflow: hidden; padding: 0.5rem; } /* === Bild selbst === */ .kalenderbild img { display: block; max-width: 100%; max-height: calc(95dvh - 3rem); /* Platz für h1 */ height: auto; width: auto; border: 4px solid var(--ci-gold); border-radius: 12px; } /* === FOOTER === */ .main-footer { background-color: #104f3a; /* CI-Dunkelgrün */ color: #f7f3e8; /* CI-Cremeweiß */ text-align: center; padding: 2rem 1rem; font-size: 0.9rem; margin-top: 4rem; border-top: 3px solid #c8aa49; /* Goldene Linie */ } .footer-inner { display: flex; flex-direction: column; align-items: center; gap: 0.6rem; } .footer-brand { font-weight: 600; letter-spacing: 0.03em; } .footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem 1rem; } .footer-links a { color: #c8aa49; text-decoration: none; transition: color 0.2s ease; } .footer-links a:hover { color: #f7f3e8; text-decoration: underline; } .footer-links .divider { color: rgba(247, 243, 232, 0.4); } .legal-note { margin-top: 1rem; font-size: 0.75rem; color: rgba(247, 243, 232, 0.7); } /* === RESPONSIVE === */ @media (max-width: 600px) { .footer-links { flex-direction: column; gap: 0.4rem; } .footer-links .divider { display: none; } } /* === Grundstruktur Header === */ .main-header { display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 1000; padding: 0.75rem 2rem; background: rgba(16, 79, 58, 0.85); /* CI-Grün mit Transparenz */ backdrop-filter: blur(6px); color: #f7f3e8; border-bottom: 2px solid #c8aa49; } /* === Logo === */ .main-header .logo { flex-shrink: 0; display: flex; align-items: center; } .main-header .logo img { display: block; height: 42px; width: auto; max-width: 100%; vertical-align: middle; } @media (max-width: 600px) { .main-header .logo img { height: 36px; } } /* === Titel === */ .main-header .header-title { flex: 1; text-align: center; } .main-header .header-title h1 { margin: 0; font-size: 1.6rem; font-weight: 600; letter-spacing: 0.05em; color: #f7f3e8; } @media (max-width: 600px) { .main-header .header-title h1 { font-size: 1.2rem; } } /* === Navigation === */ .main-header .main-nav { display: flex; gap: 1.5rem; } .main-header .main-nav ul { list-style: none; display: flex; gap: 1.5rem; margin: 0; padding: 0; } .main-header .main-nav a { color: #f7f3e8; text-decoration: none; font-weight: 500; transition: color 0.2s ease; } .main-header .main-nav a:hover { color: #c8aa49; } /* === Burger-Menü === */ .burger { display: none; flex-direction: column; justify-content: center; align-items: center; gap: 4px; width: 32px; height: 32px; background: none; border: none; cursor: pointer; z-index: 1200; } .burger span { display: block; width: 24px; height: 2px; background: #f7f3e8; border-radius: 2px; transition: all 0.3s ease; } /* === Burger aktiv === */ .burger.active span:nth-child(1) { transform: translateY(6px) rotate(45deg); } .burger.active span:nth-child(2) { opacity: 0; } .burger.active span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); } /* === Mobile Navigation === */ @media (max-width: 900px) { .main-header { flex-wrap: wrap; } .burger { display: flex; } .main-nav { position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: center; background: rgba(16, 79, 58, 0.95); backdrop-filter: blur(8px); max-height: 0; overflow: hidden; transition: max-height 0.3s ease; } .main-nav.active { max-height: 300px; /* oder auto, wenn du willst */ } .main-nav ul { flex-direction: column; gap: 1rem; padding: 1.5rem 0; } .main-nav a { font-size: 1.1rem; } } /* === Scrollverhalten === */ .main-header.scrolled { background: rgba(16, 79, 58, 0.95); border-bottom-color: #a08a36; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); }