diff --git a/vorschau/css/style.css b/vorschau/css/style.css index 0ae41ca..9d1570b 100644 --- a/vorschau/css/style.css +++ b/vorschau/css/style.css @@ -60,18 +60,19 @@ a { color:inherit; text-decoration:none; } .mobile-overlay { position:fixed; inset:0; background:rgba(10,24,50,0.3); z-index:998; opacity:0; pointer-events:none; transition:opacity 0.3s; } .mobile-overlay.open { opacity:1; pointer-events:all; } -/* ==================== HERO (Full-Width Video) ==================== */ +/* ==================== HERO (Full-Video mit Endcard) ==================== */ .hero { position:relative; min-height:88vh; overflow:hidden; background:var(--navy); clip-path:polygon(0 0, 100% 0, 100% calc(100% - 60px), 50% 100%, 0 calc(100% - 60px)); margin-bottom:-60px; z-index:1; } .gold { color:var(--gold); font-weight:600; } -/* Overlay-Layer für Text + Navigation, über dem Video-Slider */ +/* Overlay-Layer für Text + Navigation */ .hero-content { position:absolute; inset:0; z-index:4; color:var(--white); pointer-events:none; } .hero-content > * { pointer-events:auto; } -/* Brand (Titel + Tagline) als Overlay oben, über dem Top-Gradient */ -.hero-brand { position:absolute; top:calc(var(--nav-height) + 40px); left:0; right:0; padding:0 24px; text-align:center; } -.hero-title { font-size:3rem; font-weight:700; line-height:1.1; letter-spacing:-0.02em; color:var(--white); margin:0; text-shadow:0 2px 20px rgba(0,0,0,0.55); } -.hero-tagline { font-size:1.15rem; font-weight:300; color:rgba(255,255,255,0.95); margin-top:12px; text-shadow:0 1px 16px rgba(0,0,0,0.55); } +/* Brand (Titel + Tagline): nur während Endcard sichtbar, in Hero-Mitte */ +.hero-brand { position:absolute; top:50%; left:0; right:0; padding:0 24px; text-align:center; transform:translateY(-50%); opacity:0; transition:opacity 0.5s ease; pointer-events:none; } +.hero.endcard .hero-brand { opacity:1; transition-delay:0.35s; pointer-events:auto; } +.hero-title { font-size:3.2rem; font-weight:700; line-height:1.1; letter-spacing:-0.02em; color:var(--white); margin:0; } +.hero-tagline { font-size:1.2rem; font-weight:300; color:rgba(255,255,255,0.9); margin-top:12px; } /* ==================== HERO SLIDER ==================== */ .hero-slider { position:absolute; inset:0; z-index:1; } @@ -79,43 +80,32 @@ a { color:inherit; text-decoration:none; } .hero-slide.active { opacity:1; pointer-events:auto; } .hero-slide.exiting { opacity:0; transition:opacity 0.4s ease; } -/* Video füllt den gesamten Slide */ -.hero-slide-video { position:absolute; inset:0; overflow:hidden; } -.hero-slide-video video { display:block; width:100%; height:100%; object-fit:cover; } -/* Gradient über dem Video: dunkel oben/unten, klar in der Mitte (Safe-Zone) */ -.hero-slide-video::after { - content:''; - position:absolute; - inset:0; - pointer-events:none; - background:linear-gradient(to bottom, - rgba(10,24,50,0.72) 0%, - rgba(10,24,50,0.20) 18%, - rgba(10,24,50,0) 42%, - rgba(10,24,50,0) 58%, - rgba(10,24,50,0.55) 82%, - rgba(10,24,50,0.92) 100%); -} +/* Video füllt den Slide (contain = komplett sichtbar, Navy-Letterbox) */ +.hero-slide-video { position:absolute; inset:0; overflow:hidden; transition:opacity 0.4s ease; } +.hero-slide-video video { display:block; width:100%; height:100%; object-fit:contain; background:var(--navy); } +/* Beim Endcard-State Video ausfaden */ +.hero-slide.ended .hero-slide-video { opacity:0; } -/* Per-Slide-Bottom (Beispieltext + CTA) als Overlay unten, über dem Bottom-Gradient */ -.hero-slide-bottom { position:absolute; left:0; right:0; bottom:130px; padding:0 32px; text-align:center; } -.hero-slide-example { font-size:1.1rem; font-weight:400; line-height:1.55; color:var(--white); margin:0 auto 22px; max-width:820px; padding:0; border:0; opacity:1; text-shadow:0 1px 14px rgba(0,0,0,0.65); } +/* Per-Slide-Bottom (Beispieltext + CTA): nur während Endcard sichtbar, unter dem Titel */ +.hero-slide-bottom { position:absolute; left:0; right:0; bottom:140px; padding:0 32px; text-align:center; opacity:0; transition:opacity 0.5s ease; pointer-events:none; } +.hero-slide.ended .hero-slide-bottom { opacity:1; transition-delay:0.5s; pointer-events:auto; } +.hero-slide-example { font-size:1.15rem; font-weight:400; line-height:1.55; color:rgba(255,255,255,0.9); margin:0 auto 24px; max-width:820px; padding:0; border:0; } .hero-slide-cta { display:flex; gap:16px; flex-wrap:wrap; justify-content:center; } .hero-slide-cta .btn-placeholder { opacity:0.5; cursor:default; border-style:dashed; pointer-events:none; } -/* Slider-Navigation: Dots zentriert unten, Pfeile seitlich auf Hero-Mitte */ -.hero-slider-nav { position:absolute; left:0; right:0; bottom:75px; display:flex; justify-content:center; padding:0 24px; pointer-events:none; } +/* Slider-Navigation: Dots zentriert unten, Pfeile seitlich auf Hero-Mitte. Immer sichtbar. */ +.hero-slider-nav { position:absolute; left:0; right:0; bottom:75px; display:flex; justify-content:center; padding:0 24px; pointer-events:none; z-index:5; } .hero-slider-dots { display:flex; gap:12px; pointer-events:auto; } .hero-dot { width:10px; height:10px; border-radius:50%; border:2px solid var(--gold); background:transparent; cursor:pointer; transition:all 0.3s; padding:0; } .hero-dot.active { background:var(--gold); } -.hero-slider-arrows { /* Container - Pfeile sind absolut auf Hero positioniert */ } -.hero-arrow { position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%; border:1px solid rgba(255,255,255,0.4); background:rgba(10,24,50,0.4); color:var(--white); font-size:1.2rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.2s; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); } +.hero-slider-arrows { /* Container - Pfeile positionieren sich absolut relativ zu hero-content */ } +.hero-arrow { position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%; border:1px solid rgba(255,255,255,0.35); background:rgba(10,24,50,0.35); color:var(--white); font-size:1.2rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.2s; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); z-index:5; } .hero-arrow:hover { border-color:var(--gold); color:var(--gold); background:rgba(10,24,50,0.6); } .hero-arrow-prev { left:24px; } .hero-arrow-next { right:24px; } -/* Altes hero-overlay wird nicht mehr gebraucht (Gradient ist jetzt im Video-Layer) */ +/* Altes hero-overlay nicht mehr verwendet */ .hero-overlay { display:none; } /* ==================== BUTTONS ==================== */ @@ -314,7 +304,7 @@ a { color:inherit; text-decoration:none; } .mobile-menu-toggle { display:flex; } .grid-3,.grid-4 { grid-template-columns:1fr; gap:20px; } .hero { min-height:75vh; } - .hero-brand { top:calc(var(--nav-height) + 24px); padding:0 20px; } + .hero-brand { padding:0 20px; } .hero-title { font-size:1.9rem; } .hero-tagline { font-size:0.95rem; margin-top:8px; } .hero-slide-bottom { bottom:110px; padding:0 20px; } diff --git a/vorschau/index.html b/vorschau/index.html index a9b95f8..c6a21dc 100644 --- a/vorschau/index.html +++ b/vorschau/index.html @@ -91,7 +91,7 @@