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
Dieser Commit ist enthalten in:
@@ -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 */
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
<!-- Hero Section -->
|
||||
<section class="hero" id="hero">
|
||||
<div class="hero-overlay"></div>
|
||||
<div class="container hero-content">
|
||||
<div class="hero-content">
|
||||
<div class="hero-brand">
|
||||
<h1 class="hero-title">AegisSight Monitor</h1>
|
||||
<p class="hero-tagline">KI-gestützte Echtzeit-Lagebilder aus offenen Quellen, <span class="gold">vollautomatisch.</span></p>
|
||||
@@ -166,10 +166,10 @@
|
||||
<button class="hero-dot" data-slide="3" aria-label="Globale Abdeckung"></button>
|
||||
<button class="hero-dot" data-slide="4" aria-label="Flexibel einsetzbar"></button>
|
||||
</div>
|
||||
<div class="hero-slider-arrows">
|
||||
<button class="hero-arrow hero-arrow-prev" aria-label="Vorheriger Slide">←</button>
|
||||
<button class="hero-arrow hero-arrow-next" aria-label="Nächster Slide">→</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hero-slider-arrows">
|
||||
<button class="hero-arrow hero-arrow-prev" aria-label="Vorheriger Slide">←</button>
|
||||
<button class="hero-arrow hero-arrow-next" aria-label="Nächster Slide">→</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren