Dashboard overhaul: New modern fire/hazard aesthetic, descriptive PDF naming, and logo integration

This commit is contained in:
2026-04-14 19:29:09 +02:00
parent eb6e5d1267
commit 1c40173c2c
8 changed files with 187 additions and 85 deletions
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

+184 -82
View File
@@ -3,22 +3,28 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>LFS Sachsen | CBRN-Erkundung - Local Mirror</title> <title>CBRN-Erkundungswagen (ErkW)</title>
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='50' fill='%23ea580c'/%3E%3Cpolygon points='50,8 86,71 14,71' fill='%23023e8a'/%3E%3C/svg%3E">
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700&display=swap" rel="stylesheet">
<style> <style>
:root { :root {
--primary: #004a99; --primary: #f97316;
--accent: #e4003a; --primary-glow: rgba(249, 115, 22, 0.3);
--bg: #0f172a; --accent: #ef4444;
--card-bg: rgba(255, 255, 255, 0.05); --bg-core: #09090b;
--card-hover: rgba(255, 255, 255, 0.1); --bg-glow: #1c1917;
--text: #f8fafc; --card-bg: rgba(24, 24, 27, 0.6);
--card-hover: rgba(39, 39, 42, 0.8);
--text-main: #f8fafc;
--text-muted: #a1a1aa;
} }
body { body {
font-family: 'Outfit', sans-serif; font-family: 'Outfit', sans-serif;
background: radial-gradient(circle at top left, #1e293b, #0f172a); background: var(--bg-core);
color: var(--text); background-image: radial-gradient(circle at top right, var(--bg-glow) 0%, transparent 50%),
radial-gradient(circle at bottom left, rgba(153, 27, 27, 0.05) 0%, transparent 40%);
color: var(--text-main);
margin: 0; margin: 0;
padding: 2rem; padding: 2rem;
min-height: 100vh; min-height: 100vh;
@@ -27,26 +33,54 @@
.container { .container {
max-width: 1200px; max-width: 1200px;
margin: 0 auto; margin: 0 auto;
position: relative;
}
.header-wrapper {
text-align: center;
margin-bottom: 1.75rem;
padding-right: 25%;
margin-top: 1.75rem;
animation: fadeInDown 0.8s ease-out;
} }
header { header {
text-align: center; display: inline-block;
margin-bottom: 4rem; text-align: left;
animation: fadeInDown 0.8s ease-out;
} }
.header-logo {
position: absolute;
top: 0rem;
right: 0;
height: 180px;
max-width: 25%;
width: auto;
object-fit: contain;
animation: fadeInDown 0.8s ease-out;
z-index: -1;
}
h1 { h1 {
font-size: 3rem; font-size: 3rem;
font-weight: 700; font-weight: 700;
background: linear-gradient(90deg, #60a5fa, #fb7185); background: linear-gradient(135deg, #fb923c, #ef4444);
-webkit-background-clip: text; -webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent; -webkit-text-fill-color: transparent;
margin-bottom: 0.5rem; margin: 0 0 0.2rem 0;
letter-spacing: -0.5px;
white-space: nowrap;
} }
.subtitle { .subtitle {
font-size: 1.2rem; font-size: 1.75rem;
color: #94a3b8; color: var(--text-main);
font-weight: 600;
text-align: center;
margin: 0;
opacity: 0.9;
} }
.grid { .grid {
@@ -59,24 +93,26 @@
.section-title { .section-title {
grid-column: 1 / -1; grid-column: 1 / -1;
font-size: 1.8rem; font-size: 1.8rem;
border-bottom: 2px solid var(--card-bg); border-bottom: 1px solid rgba(249, 115, 22, 0.2);
padding-bottom: 1rem; padding-bottom: 1rem;
margin-top: 3rem; margin-top: 3rem;
display: flex; display: flex;
align-items: center; align-items: center;
gap: 1rem; gap: 1rem;
letter-spacing: 0.5px;
} }
.section-title span { .section-title span {
color: var(--primary); color: var(--primary);
font-size: 2.5rem; font-size: 2.2rem;
text-shadow: 0 0 15px var(--primary-glow);
} }
.card { .card {
background: var(--card-bg); background: var(--card-bg);
backdrop-filter: blur(12px); backdrop-filter: blur(12px);
border: 1px solid rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.05);
border-radius: 20px; border-radius: 16px;
padding: 1.5rem; padding: 1.5rem;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
position: relative; position: relative;
@@ -86,13 +122,14 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
} }
.card:hover { .card:hover {
transform: translateY(-10px) scale(1.02); transform: translateY(-8px);
background: var(--card-hover); background: var(--card-hover);
border-color: var(--primary); border-color: rgba(249, 115, 22, 0.5);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), 0 0 15px var(--primary-glow);
} }
.card::before { .card::before {
@@ -100,62 +137,85 @@
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
width: 4px; width: 3px;
height: 100%; height: 100%;
background: var(--primary); background: linear-gradient(to bottom, var(--primary), var(--accent));
opacity: 0; opacity: 0.5;
transition: opacity 0.3s; transition: opacity 0.3s, width 0.3s;
} }
.card:hover::before { .card:hover::before {
opacity: 1; opacity: 1;
width: 5px;
} }
.card h3 { .card h3 {
margin: 0 0 1rem 0; margin: 0 0 1rem 0;
font-size: 1.2rem; font-size: 1.3rem;
font-weight: 600; font-weight: 600;
} }
.card p { .card p {
color: #94a3b8; color: var(--text-muted);
font-size: 0.9rem; font-size: 0.95rem;
margin-bottom: 1.5rem; margin-bottom: 2rem;
line-height: 1.5;
} }
.btn { .btn {
display: inline-block; display: inline-block;
background: var(--primary); background: rgba(249, 115, 22, 0.1);
color: white; color: var(--primary);
border: 1px solid rgba(249, 115, 22, 0.3);
padding: 0.6rem 1.2rem; padding: 0.6rem 1.2rem;
border-radius: 12px; border-radius: 10px;
font-weight: 600; font-weight: 600;
text-align: center; text-align: center;
transition: background 0.3s; transition: all 0.3s;
cursor: pointer; cursor: pointer;
text-transform: uppercase;
font-size: 0.85rem;
letter-spacing: 0.5px;
} }
.btn-pdf { background: #dc2626; } .card:hover .btn {
background: var(--primary);
color: var(--bg-core);
box-shadow: 0 0 15px var(--primary-glow);
}
.btn-pdf {
color: var(--accent);
border-color: rgba(239, 68, 68, 0.3);
background: rgba(239, 68, 68, 0.1);
}
.card:hover .btn-pdf {
background: var(--accent);
color: var(--bg-core);
box-shadow: 0 0 15px rgba(239, 68, 68, 0.4);
}
.tag { .tag {
font-size: 0.7rem; font-size: 0.75rem;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 1px; letter-spacing: 1.5px;
color: #60a5fa; color: #fb923c;
margin-bottom: 0.5rem; margin-bottom: 0.8rem;
display: block; display: inline-block;
} background: rgba(251, 146, 60, 0.1);
padding: 0.2rem 0.6rem;
@keyframes fadeInDown { border-radius: 4px;
from { opacity: 0; transform: translateY(-30px); }
to { opacity: 1; transform: translateY(0); }
} }
.status-badge { .status-badge {
position: fixed; position: fixed;
bottom: 2rem; bottom: 2rem;
right: 2rem; right: 2rem;
background: #10b981; background: rgba(24, 24, 27, 0.8);
backdrop-filter: blur(8px);
border: 1px solid rgba(249, 115, 22, 0.3);
color: var(--text-muted);
padding: 0.5rem 1rem; padding: 0.5rem 1rem;
border-radius: 99px; border-radius: 99px;
font-size: 0.8rem; font-size: 0.8rem;
@@ -163,78 +223,120 @@
display: flex; display: flex;
align-items: center; align-items: center;
gap: 0.5rem; gap: 0.5rem;
box-shadow: 0 10px 20px rgba(0,0,0,0.2); box-shadow: 0 10px 20px rgba(0,0,0,0.4), 0 0 10px rgba(249, 115, 22, 0.1);
transition: all 0.3s;
z-index: 100;
}
.status-badge:hover {
color: var(--text-main);
border-color: rgba(249, 115, 22, 0.6);
box-shadow: 0 10px 20px rgba(0,0,0,0.4), 0 0 15px rgba(249, 115, 22, 0.3);
}
@keyframes fadeInDown {
from { opacity: 0; transform: translateY(-20px); filter: blur(5px); }
to { opacity: 1; transform: translateY(0); filter: blur(0); }
}
@media (max-width: 768px) {
.header-logo {
position: static;
display: block;
margin: 0 auto 1.5rem auto;
height: 120px;
max-width: 80%;
}
.header-wrapper {
margin-top: 0;
padding-right: 0;
margin-bottom: 2rem;
}
header {
display: block;
text-align: center;
}
h1 {
white-space: normal;
font-size: 2rem;
}
.subtitle {
font-size: 1.1rem;
}
} }
</style> </style>
</head> </head>
<body> <body>
<div class="container"> <div class="container">
<img src="fw-logo.png" class="header-logo" alt="Feuerwehr Logo">
<div class="header-wrapper">
<header> <header>
<h1>LFS Sachsen | ABC (CBRN)-Erkundung</h1> <h1>CBRN-Erkundungswagen (ErkW)</h1>
<p class="subtitle">Offline Dashboard & Archive Mirror</p> <p class="subtitle">L363 - Fortbildung ABC (CBRN)-Erkundung</p>
</header> </header>
</div>
<div class="grid"> <div class="grid">
<h2 class="section-title"><span></span> Webtrainings (Interactive 360°)</h2> <h2 class="section-title"><span></span> Webtrainings (Interactive 360°)</h2>
<a href="Trainings/WBT_ErkW_1_Einfuehrung/story.html" class="card"> <a href="Trainings/WBT_ErkW_1_Einfuehrung/story.html" class="card">
<div><span class="tag">Module 1</span><h3>Einführung</h3><p>Erkunder Aufbau & Systemüberblick.</p></div><div class="btn">Launch Training</div> <div><span class="tag">Module 1</span><h3>Einführung</h3><p>Erkunder Aufbau & Systemüberblick.</p></div><div class="btn">Modul Starten</div>
</a> </a>
<a href="Trainings/WBT_ErkW_2_Aufbau_und_Ueberblick_Bedienoberflaeche/story.html" class="card"> <a href="Trainings/WBT_ErkW_2_Aufbau_und_Ueberblick_Bedienoberflaeche/story.html" class="card">
<div><span class="tag">Module 2</span><h3>Bedienoberfläche</h3><p>Software und Mess-Interface.</p></div><div class="btn">Launch Training</div> <div><span class="tag">Module 2</span><h3>Bedienoberfläche</h3><p>Software und Mess-Interface.</p></div><div class="btn">Modul Starten</div>
</a> </a>
<a href="Trainings/WBT_ErkW_3_Einsatzbereitschaft_herstellen/story.html" class="card"> <a href="Trainings/WBT_ErkW_3_Einsatzbereitschaft_herstellen/story.html" class="card">
<div><span class="tag">Module 3</span><h3>Einsatzbereitschaft</h3><p>Vorbereitung und Systemstart.</p></div><div class="btn">Launch Training</div> <div><span class="tag">Module 3</span><h3>Einsatzbereitschaft</h3><p>Vorbereitung und Systemstart.</p></div><div class="btn">Modul Starten</div>
</a> </a>
<a href="Trainings/WBT_ErkW_4_Aufgesessene_Messung/story.html" class="card"> <a href="Trainings/WBT_ErkW_4_Aufgesessene_Messung/story.html" class="card">
<div><span class="tag">Module 4</span><h3>Aufgesessene Messung</h3><p>Durchführung der Messung im Fahrzeug.</p></div><div class="btn">Launch Training</div> <div><span class="tag">Module 4</span><h3>Aufgesessene Messung</h3><p>Durchführung der Messung im Fahrzeug.</p></div><div class="btn">Modul Starten</div>
</a> </a>
<a href="Trainings/WBT_ErkW_5_Abgesetzte_Messung/story.html" class="card"> <a href="Trainings/WBT_ErkW_5_Abgesetzte_Messung/story.html" class="card">
<div><span class="tag">Module 5</span><h3>Abgesetzte Messung</h3><p>Externes Messen mit abgesetztem Sensor.</p></div><div class="btn">Launch Training</div> <div><span class="tag">Module 5</span><h3>Abgesetzte Messung</h3><p>Externes Messen mit abgesetztem Sensor.</p></div><div class="btn">Modul Starten</div>
</a> </a>
<a href="Trainings/WBT_ErkW_6_Administration_erw_Funktionen_Internet/story.html" class="card"> <a href="Trainings/WBT_ErkW_6_Administration_erw_Funktionen_Internet/story.html" class="card">
<div><span class="tag">Module 6</span><h3>Administration & Internet</h3><p>Vernetzung und erweiterte Funktionen.</p></div><div class="btn">Launch Training</div> <div><span class="tag">Module 6</span><h3>Administration & Internet</h3><p>Vernetzung und erweiterte Funktionen.</p></div><div class="btn">Modul Starten</div>
</a> </a>
<a href="Trainings/Fahrzeug_und_Geraetekunde_CBRN_ErkW/story.html" class="card"> <a href="Trainings/Fahrzeug_und_Geraetekunde_CBRN_ErkW/story.html" class="card">
<div><span class="tag">Equipment</span><h3>Fahrzeug- & Gerätekunde</h3><p>360° Beladeplan und Ausrüstung.</p></div><div class="btn">Launch Training</div> <div><span class="tag">Equipment</span><h3>Fahrzeug- & Gerätekunde</h3><p>360° Beladeplan und Ausrüstung.</p></div><div class="btn">Modul Starten</div>
</a> </a>
<a href="Trainings/Bedienung_Photoionisationsdetektor_TIGER/story.html" class="card"> <a href="Trainings/Bedienung_Photoionisationsdetektor_TIGER/story.html" class="card">
<div><span class="tag">PID</span><h3>PID TIGER</h3><p>Photoionisationsdetektor Bedienung.</p></div><div class="btn">Launch Training</div> <div><span class="tag">PID</span><h3>PID TIGER</h3><p>Photoionisationsdetektor Bedienung.</p></div><div class="btn">Modul Starten</div>
</a> </a>
<a href="Trainings/CoMo-170_ZS-2/story.html" class="card"> <a href="Trainings/CoMo-170_ZS-2/story.html" class="card">
<div><span class="tag">Kontamination</span><h3>CoMo-170 ZS-2</h3><p>Kontaminationsnachweisgerät.</p></div><div class="btn">Launch Training</div> <div><span class="tag">Kontamination</span><h3>CoMo-170 ZS-2</h3><p>Kontaminationsnachweisgerät.</p></div><div class="btn">Modul Starten</div>
</a> </a>
<a href="Trainings/IMS/story.html" class="card"> <a href="Trainings/IMS/story.html" class="card">
<div><span class="tag">IMS</span><h3>IMS Spektrometer</h3><p>Ionenmobilitätsspektrometer.</p></div><div class="btn">Launch Training</div> <div><span class="tag">IMS</span><h3>IMS Spektrometer</h3><p>Ionenmobilitätsspektrometer.</p></div><div class="btn">Modul Starten</div>
</a> </a>
<a href="Trainings/RadEye_PRD-ER4_BBK_DLM/story.html" class="card"> <a href="Trainings/RadEye_PRD-ER4_BBK_DLM/story.html" class="card">
<div><span class="tag">Dosisleistung</span><h3>RadEye PRD-ER4</h3><p>Dosisleistungsmessgerät.</p></div><div class="btn">Launch Training</div> <div><span class="tag">Dosisleistung</span><h3>RadEye PRD-ER4</h3><p>Dosisleistungsmessgerät.</p></div><div class="btn">Modul Starten</div>
</a> </a>
<a href="Trainings/MGMG_Gase_und_Messprinzipien/story.html" class="card"> <a href="Trainings/MGMG_Gase_und_Messprinzipien/story.html" class="card">
<div><span class="tag">MGMG</span><h3>MGMG Gase</h3><p>Dräger X-am 8500 Messprinzipien.</p></div><div class="btn">Launch Training</div> <div><span class="tag">MGMG</span><h3>MGMG Gase</h3><p>Dräger X-am 8500 Messprinzipien.</p></div><div class="btn">Modul Starten</div>
</a> </a>
<a href="Trainings/MGMG_Material/story.html" class="card"> <a href="Trainings/MGMG_Material/story.html" class="card">
<div><span class="tag">MGMG</span><h3>MGMG Material</h3><p>Zubehör und Hardware.</p></div><div class="btn">Launch Training</div> <div><span class="tag">MGMG</span><h3>MGMG Material</h3><p>Zubehör und Hardware.</p></div><div class="btn">Modul Starten</div>
</a> </a>
<a href="Trainings/MGMG_Menue/story.html" class="card"> <a href="Trainings/MGMG_Menue/story.html" class="card">
<div><span class="tag">MGMG</span><h3>MGMG Menü</h3><p>Software-Navigation und Einstellungen.</p></div><div class="btn">Launch Training</div> <div><span class="tag">MGMG</span><h3>MGMG Menü</h3><p>Software-Navigation und Einstellungen.</p></div><div class="btn">Modul Starten</div>
</a> </a>
<a href="Trainings/MGMG_Wartung/story.html" class="card"> <a href="Trainings/MGMG_Wartung/story.html" class="card">
<div><span class="tag">MGMG</span><h3>MGMG Wartung</h3><p>Instandhaltung und Pflege.</p></div><div class="btn">Launch Training</div> <div><span class="tag">MGMG</span><h3>MGMG Wartung</h3><p>Instandhaltung und Pflege.</p></div><div class="btn">Modul Starten</div>
</a> </a>
</div> </div>
@@ -242,38 +344,38 @@
<h2 class="section-title"><span></span> Documents & PDFs</h2> <h2 class="section-title"><span></span> Documents & PDFs</h2>
<a href="Documents/Ergaenzungspaket.pdf" class="card"> <a href="Documents/Ergaenzungspaket.pdf" class="card">
<div><span class="tag">Update</span><h3>ErkW Ergänzungspaket</h3><p>Zusätzliche Handreichungen.</p></div><div class="btn btn-pdf">Open PDF</div> <div><span class="tag">Update</span><h3>ErkW Ergänzungspaket</h3><p>Zusätzliche Handreichungen für den CBRN-Erkunder.</p></div><div class="btn btn-pdf">PDF Öffnen</div>
</a> </a>
<a href="Documents/Begleitheft_PSA.pdf" class="card"> <a href="Documents/Begleitheft_PSA.pdf" class="card">
<div><span class="tag">Manual</span><h3>Begleitheft PSA</h3><p>Umgang mit Schutzausrüstung.</p></div><div class="btn btn-pdf">Open PDF</div> <div><span class="tag">Manual</span><h3>Begleitheft PSA</h3><p>Sichere Handhabung und Umgang mit der CBRN-Schutzausrüstung.</p></div><div class="btn btn-pdf">PDF Öffnen</div>
</a> </a>
<a href="Documents/Materialliste_2025.pdf" class="card"> <a href="Documents/Materialliste_2025.pdf" class="card">
<div><span class="tag">Inventory</span><h3>Materialliste 2025</h3><p>Offizielle Inventarliste.</p></div><div class="btn btn-pdf">Open PDF</div> <div><span class="tag">Inventory</span><h3>Materialliste 2025</h3><p>Offizielle Inventarliste mit Ausstattungsmerkmalen.</p></div><div class="btn btn-pdf">PDF Öffnen</div>
</a> </a>
<a href="Documents/Document_50446.pdf" class="card"> <a href="Documents/Bewirtschaftungsrundschreiben_2026.pdf" class="card">
<div><span class="tag">Document</span><h3>Anlage 50446</h3><p>Kursmaterialien.</p></div><div class="btn btn-pdf">Open PDF</div> <div><span class="tag">Circular</span><h3>Bewirtschaftungsrundschreiben</h3><p>Haushaltsjahr 2026. Finanzielle Rahmenbedingungen durch das BBK.</p></div><div class="btn btn-pdf">PDF Öffnen</div>
</a> </a>
<a href="Documents/Document_50447.pdf" class="card"> <a href="Documents/CBRN_Selbsthilfeset_BBK.pdf" class="card">
<div><span class="tag">Document</span><h3>Anlage 50447</h3><p>Kursmaterialien.</p></div><div class="btn btn-pdf">Open PDF</div> <div><span class="tag">Resource</span><h3>CBRN-Selbsthilfeset</h3><p>Übersicht des Selbsthilfesets als Bestandteil der CBRN-PSA.</p></div><div class="btn btn-pdf">PDF Öffnen</div>
</a> </a>
<a href="Documents/Document_50454.pdf" class="card"> <a href="Documents/Anleitung_PID_Dauerladekabel.pdf" class="card">
<div><span class="tag">Document</span><h3>Anlage 50454</h3><p>Kursmaterialien.</p></div><div class="btn btn-pdf">Open PDF</div> <div><span class="tag">Guide</span><h3>PID Dauerladekabel</h3><p>Einbau des Kabels zur dauerhaften Ladestromversorgung für den PID TIGER.</p></div><div class="btn btn-pdf">PDF Öffnen</div>
</a> </a>
<a href="Documents/Document_50455.pdf" class="card"> <a href="Documents/Anleitung_PID_Teststift.pdf" class="card">
<div><span class="tag">Document</span><h3>Anlage 50455</h3><p>Kursmaterialien.</p></div><div class="btn btn-pdf">Open PDF</div> <div><span class="tag">Guide</span><h3>PID Teststift (Bump-Test)</h3><p>Anleitung zur Durchführung des Anzeigetests vor dem Messeinsatz.</p></div><div class="btn btn-pdf">PDF Öffnen</div>
</a> </a>
<a href="Documents/Document_50456.pdf" class="card"> <a href="Documents/Hinweise_Phosphorsaeureester_Pruef.pdf" class="card">
<div><span class="tag">Document</span><h3>Anlage 50456</h3><p>Kursmaterialien.</p></div><div class="btn btn-pdf">Open PDF</div> <div><span class="tag">Testing</span><h3>Phosphorsäureester-Röhrchen</h3><p>Einsatzweise und korrekte Lesung der Organophosphat-Prüfröhrchen.</p></div><div class="btn btn-pdf">PDF Öffnen</div>
</a> </a>
<a href="Documents/Document_50457.pdf" class="card"> <a href="Documents/B_Analytik_Gefahrenlage.pdf" class="card">
<div><span class="tag">Document</span><h3>Anlage 50457</h3><p>Kursmaterialien.</p></div><div class="btn btn-pdf">Open PDF</div> <div><span class="tag">Protocol</span><h3>B-Analytik Gefahrenlage</h3><p>Protokoll zur Prüfung auf biologische Stoffe und weiterführende Maßnahmen.</p></div><div class="btn btn-pdf">PDF Öffnen</div>
</a> </a>
</div> </div>
</div> </div>
<div class="status-badge"> <div class="status-badge">
<div style="width: 8px; height: 8px; background: white; border-radius: 50%;"></div> <div style="width: 8px; height: 8px; background: #f97316; border-radius: 50%; box-shadow: 0 0 8px #f97316;"></div>
Ready for Offline Use Stand: April 2026
</div> </div>
</body> </body>
</html> </html>