From c6931142e7cbe8a58b7a3027cc9d970fc51a68df Mon Sep 17 00:00:00 2001 From: Claude Code Date: Tue, 21 Apr 2026 01:11:22 +0200 Subject: [PATCH] Vorschau Hero: Video in voller Hero-Breite mit Overlay-Text Hero-Slider umgebaut auf Vollbreiten-Video: - Video fuellt gesamte Hero-Section (object-fit:cover, inset:0) - Titel + Tagline als Overlay oben (ueber Gradient) - Slide-Bottom (Beispieltext+CTA) als Overlay unten - Pfeile auf Hero-Mitte seitlich, Dots zentriert unten - Gradient-Overlay pro Slide (dunkel oben/unten, Safe-Zone Mitte) - Mobile-Anpassungen (Pfeile ausgeblendet, kleinere Fonts) - Tote Klassen entfernt (hero-claim, hero-cta, hero-slide-inner etc.) Rollback-Punkt: a38a6e1 --- vorschau/css/style.css | 113 +++++++++++++++++++++-------------------- vorschau/index.html | 10 ++-- 2 files changed, 64 insertions(+), 59 deletions(-) diff --git a/vorschau/css/style.css b/vorschau/css/style.css index d21cbe0..0ae41ca 100644 --- a/vorschau/css/style.css +++ b/vorschau/css/style.css @@ -60,54 +60,63 @@ 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 ==================== */ -.hero { position:relative; min-height:88vh; display:flex; align-items:center; padding-top:var(--nav-height); 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; } - - -.hero-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(10,24,50,0.95) 0%,rgba(19,40,68,0.98) 50%,rgba(10,24,50,0.95) 100%); z-index:1; } - -.hero-content { position:relative; z-index:2; max-width:700px; padding:80px 24px; color:var(--white); } -.hero-title { font-size:3.4rem; font-weight:700; line-height:1.1; margin-bottom:20px; letter-spacing:-0.02em; color:var(--white); } -.hero-claim { font-size:1.45rem; font-weight:300; line-height:1.5; margin-bottom:24px; color:rgba(255,255,255,0.9); } +/* ==================== HERO (Full-Width Video) ==================== */ +.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; } -.hero-sub { font-size:0.95rem; color:rgba(255,255,255,0.55); line-height:1.7; margin-bottom:36px; } -.hero-cta { display:flex; gap:16px; flex-wrap:wrap; } +/* Overlay-Layer für Text + Navigation, über dem Video-Slider */ +.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); } /* ==================== HERO SLIDER ==================== */ -.hero-brand { margin-bottom:28px; } -.hero-tagline { font-size:1.05rem; font-weight:300; color:rgba(255,255,255,0.6); margin-top:8px; } +.hero-slider { position:absolute; inset:0; z-index:1; } +.hero-slide { position:absolute; inset:0; opacity:0; transition:opacity 0.6s ease; pointer-events:none; } +.hero-slide.active { opacity:1; pointer-events:auto; } +.hero-slide.exiting { opacity:0; transition:opacity 0.4s ease; } -.hero-slider { position:relative; } -.hero-slide { position:absolute; top:0; left:0; width:100%; opacity:0; transform:translateY(12px); transition:opacity 0.6s ease, transform 0.6s ease; pointer-events:none; } -.hero-slide.active { position:relative; opacity:1; transform:translateY(0); pointer-events:auto; } -.hero-slide.exiting { opacity:0; transform:translateY(-12px); transition:opacity 0.4s ease, transform 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%); +} -.hero-slide-inner { display:flex; gap:40px; align-items:flex-start; } -.hero-slide-text-col { flex:1; min-width:0; } -.hero-slide-media-col { flex:0 0 360px; display:none; } -.hero-slide-media-col:has(img) { display:block; } -.hero-slide-media-col img { width:100%; height:auto; border-radius:var(--radius-lg); box-shadow:0 8px 32px rgba(0,0,0,0.3); } - -.hero-slide-label { display:inline-block; padding:4px 14px; border-radius:20px; font-size:0.72rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; background:var(--gold); color:var(--navy); margin-bottom:14px; } -.hero-slide-headline { font-size:2rem; font-weight:700; line-height:1.15; margin-bottom:16px; color:var(--white); letter-spacing:-0.01em; } -.hero-slide-text { font-size:1.05rem; font-weight:300; line-height:1.65; color:rgba(255,255,255,0.8); margin-bottom:12px; max-width:640px; } -.hero-slide-example { font-size:0.88rem; font-weight:400; line-height:1.5; color:var(--gold); opacity:0.85; margin-bottom:24px; max-width:640px; padding-left:14px; border-left:2px solid rgba(200,168,81,0.4); } -.hero-slide-cta { display:flex; gap:16px; flex-wrap:wrap; } +/* 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); } +.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; } -.hero-slider-nav { display:flex; align-items:center; gap:20px; margin-top:32px; } -.hero-slider-dots { display:flex; gap:10px; } +/* 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; } +.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 { display:flex; gap:8px; margin-left:auto; } -.hero-arrow { width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,0.3); background:transparent; color:var(--white); font-size:1rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.2s; } -.hero-arrow:hover { border-color:var(--gold); color:var(--gold); } -/* ==================== HERO SLIDE VIDEO ==================== */ -.hero-slide-video { width:100%; border-radius:var(--radius-lg); overflow:hidden; margin-bottom:16px; } -.hero-slide-video video { display:block; width:100%; height:auto; } -.hero-slide-bottom { } +.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-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) */ +.hero-overlay { display:none; } /* ==================== BUTTONS ==================== */ .btn { display:inline-flex; align-items:center; justify-content:center; padding:12px 28px; border-radius:var(--radius); font-family:inherit; font-size:0.95rem; font-weight:600; cursor:pointer; transition:all 0.2s; border:2px solid transparent; text-decoration:none; } @@ -295,10 +304,9 @@ a { color:inherit; text-decoration:none; } @media(max-width:1024px) { .grid-3 { grid-template-columns:repeat(2,1fr); } .grid-4 { grid-template-columns:repeat(2,1fr); } - .hero-title { font-size:2.8rem; } + .hero-title { font-size:2.5rem; } .section { padding:64px 0; } .workflow-connector { width:40px; } - .hero-slide-media-col { flex:0 0 280px; } } @media(max-width:768px) { @@ -306,24 +314,20 @@ 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-content { padding:48px 24px; } - .hero-title { font-size:2.1rem; } - .hero-claim { font-size:1.15rem; } + .hero-brand { top:calc(var(--nav-height) + 24px); 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; } + .hero-slide-example { font-size:0.95rem; margin-bottom:18px; } + .hero-slide-cta { flex-direction:column; } + .hero-slide-cta .btn { width:100%; } + .hero-slider-nav { bottom:65px; } + .hero-slider-arrows { display:none; } .section { padding:48px 0; } .section-title { font-size:1.6rem; } .workflow { flex-direction:column; align-items:center; gap:8px; } .workflow-connector { width:2px; height:32px; margin:0; } .workflow-step { max-width:100%; padding:16px 0; } - .hero-cta { flex-direction:column; } - .hero-cta .btn { width:100%; } - .hero-slider { min-height:320px; } - .hero-slide-headline { font-size:1.5rem; } - .hero-slide-text { font-size:0.95rem; } - .hero-slide-inner { flex-direction:column; gap:20px; } - .hero-slide-media-col { flex:none; width:100%; } - .hero-slider-arrows { display:none; } - .hero-slide-cta { flex-direction:column; } - .hero-slide-cta .btn { width:100%; } .footer-content { flex-direction:column; text-align:center; gap:16px; } #map-container { height:300px; } @@ -342,9 +346,10 @@ a { color:inherit; text-decoration:none; } } @media(max-width:480px) { - .hero-title { font-size:1.8rem; } + .hero-title { font-size:1.65rem; } + .hero-tagline { font-size:0.9rem; } + .hero-slide-example { font-size:0.9rem; } .container { padding:0 16px; } - } /* Marker-Cluster Dark Theme */ diff --git a/vorschau/index.html b/vorschau/index.html index 92a5f37..a9b95f8 100644 --- a/vorschau/index.html +++ b/vorschau/index.html @@ -81,7 +81,7 @@
-
+

AegisSight Monitor

KI-gestützte Echtzeit-Lagebilder aus offenen Quellen, vollautomatisch.

@@ -166,10 +166,10 @@
-
- - -
+
+
+ +