From 8488d371b9763c63567ef25151af420d40bf96ea Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 11 Aug 2026 22:42:26 +0000 Subject: [PATCH] refactor(home): Rundgang-Hinweis raus, Topbar benannt, Bruecke aufgeraeumt (v68) Nachdem v67 den Rundgang dauerhaft in den Hero gestellt hat, stand der wegklickbare Hinweis als zweite Einladung darunter - und die Topbar bot "Loslegen" an, das dasselbe tat wie "Sofort loslegen" zwei Zeilen tiefer. Der Hinweis ist weg, der Topbar-Knopf heisst jetzt "Daten-Kompass" und benennt sein Ziel. Mit dem Hinweis entfiel sein einziger Leser: `datenlotse_tour` wurde danach nur noch geschrieben und von niemandem mehr gelesen. Der Schluessel, tourSeen(), markTourSeen() und refreshTourHint() sind deshalb mit entfernt worden, statt als toter Zustand liegen zu bleiben. DatenGraf-Bruecke: das DatenGraf-Zeichen (fa-circle-nodes, dasselbe wie in Topbar und Seitenleiste) ersetzt das CSV-Zeichen, der lila Rand links ist weg. Das echte DatenGraf-Logo war nicht zu beschaffen - die Netzwerkrichtlinie sperrt datengraf.nozilla.net und der Repo-Zugriff reicht nicht weiter. Beim Herausschneiden der .tour-hint-Regeln nahm der Schnitt die daneben- stehende Abdunkel-Regel body.tour-on::before mit; der Test aus v66 machte es rot, weil er die Farbe misst statt die Regel zu suchen. Behoben. 1 neuer Test (379 gesamt), eine Mutation geprueft. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_011QxDJcLg9h8zdL9ZpTTty7 --- CLAUDE.md | 12 ++++--- README.md | 2 +- assets/fonts/fa/icons.min.css | 2 +- .../webfonts/fa-regular-400.subset.woff2 | Bin 2332 -> 2332 bytes .../fonts/webfonts/fa-solid-900.subset.woff2 | Bin 9952 -> 9948 bytes css/styles.css | 34 +----------------- datenschutz/index.html | 2 +- index.html | 22 ++++-------- js/app.js | 24 ++----------- tests/tour.spec.js | 27 +++++++------- tools/generate-wissen.js | 2 +- wissen/glossar/index.html | 2 +- wissen/index.html | 2 +- wissen/kommunale-satzungen/index.html | 2 +- wissen/lizenzen/index.html | 2 +- wissen/pruefwerkzeuge/index.html | 2 +- wissen/rechtsgrundlagen-laender/index.html | 2 +- wissen/rechtsgrundlagen/index.html | 2 +- wissen/reifegrad-modelle/index.html | 2 +- 19 files changed, 42 insertions(+), 101 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 2d3776d..4151f3a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -11,7 +11,7 @@ Dieses Dokument beschreibt Architektur, Konventionen und wichtige Implementierun - **Einstiegspunkt:** `index.html` - **Styles:** `css/styles.css` (Layout & Komponenten) + `css/tokens.css` (Design-Tokens) - **Logik:** `js/app.js` (eine einzige Datei) -- **Aktuelle Version:** `v67` (Script-Tag: ` + ``` ### Externe Aufrufe @@ -142,7 +142,6 @@ Präfix `datenlotse_` (analog DatenGrafs `datengraf_`). Immer try/catch um JSON- | `datenlotse_inventory` | Inventar inkl. Clearing-Antworten/-Ergebnis (`d._clearing`, `d.clearing`) als JSON | | `datenlotse_governance` | Governance-Fragebogen-Antworten (`governanceAnswers`) als JSON | | `datenlotse_kompass` | Daten-Kompass-Status je Checklisten-Item (`kompassState`, `"dim.item" → status`) als JSON | -| `datenlotse_tour` | `'done'`, sobald der Rundgang beendet oder der Hinweis weggeklickt wurde | | `datenlotse_kompass_verlauf` | Festgehaltene Reifegrad-Stände (`kompassHistory`, `[{ date, score }]`) als JSON | | `datenlotse_kompass_profil` | Angabe zur Rechtspflicht (`kompassProfil`, `{ rechtspflicht: ''\|'ja'\|'nein'\|'unklar' }`) als JSON | @@ -450,7 +449,9 @@ Geführter Durchlauf durch die Bausteine (`TOUR_STEPS`, `tour = { i, active }`). > ⚠️ **Die Stapelreihenfolge ist dreiteilig und hängt an einer Eigenheit von `position: fixed`.** Ein fixiertes Element bildet einen **eigenen Stapelkontext** – die Karte in `#tour-layer` kann dessen `z-index` also nie überbieten, egal welchen Wert sie selbst trägt. Bis v65 stand das Abdunkeln am Layer (1200) und `.tour-highlight` darüber (1201); das hervorgehobene Zielelement zeichnete damit **in die Karte hinein** (bei Schritt 3 stand der Fragebogentext über Titel und Knöpfen) und fing dort auch die Klicks ab. Seit v66 gilt: **Abdunkeln `body.tour-on::before` (1200) < Hervorhebung (1201) < Layer mit Karte (1202)**. Das Abdunkeln muss dafür *außerhalb* des Layers liegen – daher die Body-Klasse, die `startTour()` setzt und `endTour()` entfernt (sonst bliebe die Seite dauerhaft dunkel). -**Bewusst kein Auto-Start als Modal beim ersten Laden** – das nimmt Erstnutzern die Kontrolle. Stattdessen ein wegklickbarer Hinweis `#tour-hint` auf der Startseite (`refreshTourHint()` in `showView('home')` + beim Laden) und ein Dauer-Einstieg `#sidebar-tour`. Gesehen-Status unter `datenlotse_tour` (`'done'`). +**Bewusst kein Auto-Start als Modal beim ersten Laden** – das nimmt Erstnutzern die Kontrolle. Angeboten wird er an zwei dauerhaften Stellen: `#hero-tour-btn` im Hero und `#sidebar-tour` in der Seitenleiste. + +> ⚠️ **Der wegklickbare Hinweis `#tour-hint` ist mit v68 entfallen** – seit der Hero den Rundgang dauerhaft anbietet, war er die zweite Einladung auf derselben Seite. Mit ihm entfiel sein **einziger Leser**: `datenlotse_tour` wurde danach nur noch geschrieben. Der Schlüssel, `tourSeen()`, `markTourSeen()` und `refreshTourHint()` sind deshalb mit entfernt worden, statt als toter Zustand liegen zu bleiben (dieselbe Lehre wie bei `REQUIRED_FIELDS`). Ein Test hält fest, dass nach einem vollständigen Rundgang **nichts** mehr in den Speicher geschrieben wird. Schritte mit `needsData` brauchen ein Inventar. Statt still Beispieldaten zu laden – eine Nebenwirkung, die niemand bestellt hat – bietet der Schritt den Import an (`#tour-sample`) und lässt die Entscheidung beim Menschen. Ein Test prüft, dass jedes `target` in der jeweiligen View wirklich existiert; sonst zeigt der Rundgang ins Leere, sobald sich Markup ändert. @@ -634,7 +635,7 @@ Nach Änderungen an `app.js` `?v=N` im Script-Tag **und** die `v{N}` im Footer e | Hochwertige Datensätze (HVD) | `hvdIssues()`, `guessHvd()`, `hvdVorschlaege()`, `hvdCategoryUri()`, `hvdFromURI()`, `hvdSelectHTML()`, `migrateHvd()`, `renderHvdHinweise()`, `HVD_CATEGORIES`, `HVD_META`, `HVD_LICENSES`, `HVD_ELI`, `HVD_BNA` | `[data-field="hvd"]`, `.inv-hvd`, `.inv-hvd-uri`, `#quality-hvd`, `.qual-hvd` | | DCAT-AP.de-Qualitätsprüfung | `validateDataset(d)`, `qualityStatus()`, `renderQuality()`, `jumpToInventoryCard(idx)` | `#tab-quality`, `#quality-panel`, `#quality-summary`, `.qual-card`, `.qual-fix` | | Wissens- & Methodik-Center | `renderWissen()`, `GLOSSARY`, `LEGAL_BASIS`, `LEGAL_BASIS_LAENDER`, `LAENDER_KIND`, `KOMMUNAL_SATZUNGEN`, `METHOD_MODELS`, `wissenFilter` | `#wissen-view`, `#wissen-search`, `#wissen-land`, `#wissen-glossary`, `#wissen-laws`, `#wissen-laender`, `#wissen-kommunal`, `#wissen-models` | -| Onboarding-Rundgang | `startTour()`, `endTour()`, `tourGo()`, `renderTour()`, `refreshTourHint()`, `TOUR_STEPS`, `tour` (State) | `#tour-layer`, `#tour-card`, `#tour-hint`, `#sidebar-tour`, `.tour-highlight`, `datenlotse_tour` | +| Onboarding-Rundgang | `startTour()`, `endTour()`, `tourGo()`, `renderTour()`, `TOUR_STEPS`, `tour` (State) | `#tour-layer`, `#tour-card`, `#hero-tour-btn`, `#sidebar-tour`, `.tour-highlight` | | Vorlagen & Musterdokumente | `generateDoc(doc, fmt)`, `printDoc()`, `docShell()`, `policyBodyHTML/Markdown`, `dsfaBodyHTML/Markdown`, `freigabeBodyHTML`, `vvtBodyHTML/CSV`, `orgName()` | `#vorlagen-view`, `.vorlage-card`, `[data-doc][data-fmt]` | | Status-Einseiter | `statusKennzahlen()`, `statusNaechsteSchritte()`, `statusBodyHTML()` | `[data-doc="status"]` | | PDF-Bericht Inventar/Clearing | `buildInventoryReportHTML()`, `printInventoryReport()` | `#btn-print-inventory` | @@ -696,6 +697,7 @@ Nach Änderungen an `app.js` `?v=N` im Script-Tag **und** die `v{N}` im Footer e | v16 | Daten-Kompass (Herzstück) – eigene View + Hero-Haupt-CTA (Topbar-„Loslegen" zeigt ebenfalls darauf): ausführliche Open-Data-Reifegrad-Checkliste nach ODRA / EU Open Data Maturity / 5-Sterne / DCAT-AP.de / DSGVO·FAIR (7 Dimensionen, Quellenangaben), Status je Item mit Score & Ampel, Vorbelegung aus dem App-Stand, adaptive Sprünge in die passenden Bausteine, Persistenz (`datenlotse_kompass`) und PDF-Export; leeres „Loslegen"-Platzhalter-Modal entfernt | | v17 | Weiterer Ausbau (1/4) – Inventar Suche, Filter & Sortierung: `renderInventory()` in `renderInventory()` + `renderInventoryBody()` aufgeteilt; `.inv-controls` (Volltextsuche + Schutzbedarf-/Clearing-Ampel-Filter + Sortierung Titel/Vollständigkeit) über `invFilter`-State und `filteredInventory()`; der echte `idx` wird durch den Filter mitgeführt, sodass Editieren über gefilterten Teilmengen weiterhin den richtigen Datensatz trifft; Live-Meta „X von Y" + Empty-State | | v18 | Weiterer Ausbau (2/4) – Pseudonymisierung erweitert: drei neue Muster (Sozialversicherungsnummer, Steuer-ID *kontextgetriggert*, Kfz-Kennzeichen), Aktenzeichen um Geschäftszeichen/„Gz." und buchstabenhaltige Kerne erweitert, zusätzliche Geburtsdatum-Trigger („Geburtsdatum"/„Geburtstag"); Mapping-Export als CSV (`buildPseudoMappingCSV` + Button im Mapping-Kopf); Demo-Text und Grenzen-Liste aktualisiert; verifiziert auf Determinismus, Platzhalter-Konsistenz und Null-Falschtreffer auf neutralem Verwaltungstext | +| v68 | **Zwei Einladungen für dieselbe Sache, zwei Knöpfe mit demselben Ziel.** Nachdem v67 den Rundgang dauerhaft in den Hero gestellt hatte, stand der wegklickbare Hinweis `#tour-hint` als zweite Einladung darunter – und die Topbar bot „Loslegen" an, das dasselbe tat wie „Sofort loslegen" zwei Zeilen tiefer. Beides bereinigt: der Hinweis ist weg, der Topbar-Knopf heißt jetzt „Daten-Kompass" und benennt sein Ziel. **Mit dem Hinweis entfiel sein einziger Leser:** `datenlotse_tour` wurde danach nur noch geschrieben und von niemandem mehr gelesen. Der Schlüssel und die drei Funktionen darum sind deshalb mit entfernt worden, statt als toter Zustand liegen zu bleiben – dieselbe Lehre wie bei `REQUIRED_FIELDS` in v65, diesmal aber gleich mit aufgeräumt. In der DatenGraf-Brücke ersetzt das DatenGraf-Zeichen (`fa-circle-nodes`, dasselbe wie in Topbar und Seitenleiste) das CSV-Zeichen, und der lila Rand links ist weg. ⚠️ **Nicht das echte DatenGraf-Logo:** die Netzwerkrichtlinie sperrt `datengraf.nozilla.net`, und der Repo-Zugriff dieser Sitzung reicht nicht über `daimpad/datenlotse` hinaus – die Datei war nicht zu beschaffen. Wer sie ins Repo legt, tauscht in `.graf-bridge-icon` das `` gegen ein ``. **Ein eigener Fehler, den erst der Test fand:** beim Herausschneiden der `.tour-hint`-Regeln nahm mein Schnitt die direkt danebenstehende Abdunkel-Regel `body.tour-on::before` mit – der Rundgang wäre ohne Abdunkeln erschienen. Der Test aus v66 machte es rot, weil er die Farbe **misst** statt die Regel zu suchen. 1 neuer Test. | | v67 | **Der Einstieg sagte nicht, wer hier spricht – und der Hauptknopf nur die Hälfte.** Drei gemeldete Punkte, alle am ersten Bildschirm. **(1)** Titel und Aussage standen als *ein* Satz mit Doppelpunkt in einer Farbe und einer Größe; die Marke „DatenLotse" ging in ihrer eigenen Überschrift unter. Jetzt trägt sie 46 px in der Akzentfarbe, der Claim steht kleiner und in der Textfarbe darunter, durch eine dünne Linie abgesetzt. Der Test **misst** Größe und Farbe – eine Prüfung auf Klassennamen bliebe grün, wenn beide wieder gleich aussähen, und genau das ist die Regression, um die es geht. **(2)** Der Hero bot nur „Daten-Kompass starten". Wer sich erst orientieren wollte, fand dort keinen Weg zum Rundgang – der lag im wegklickbaren Hinweis und in der Seitenleiste, also genau an den zwei Stellen, an denen ein Erstnutzer nicht sucht. Jetzt stehen beide Einstiege nebeneinander: „Sofort loslegen" und „Rundgang starten". **(3)** Die DatenGraf-Zeile stand als graues Kleingedrucktes unter dem Hauptknopf – an der prominentesten Stelle der Seite, für eine Minderheit, und ohne zu erklären, was die Brücke eigentlich leistet. Sie ist jetzt ein eigener Abschnitt **unterhalb der Modul-Karten** mit Erklärung (Schema 1:1, Vorbelegung aus der Kartierung, was nachzuerfassen bleibt) und zwei Wegen – Import direkt in den Dateidialog, ohne das Erklär-Modal, das hier niemand mehr braucht, und ein Verweis auf DatenGraf für alle, die noch nicht kartiert haben. 3 neue Tests, drei Mutationen einzeln geprüft. | | v66 | **Ein Darstellungs-Durchgang – und dreimal dieselbe Lehre: eine Regel, die nicht greift, fällt niemandem auf.** Der auffälligste Fund kam aus der Benutzung: im Rundgang zeichnete das hervorgehobene Zielelement **in die Karte hinein** – bei Schritt 3 stand der Fragebogentext über Titel und Knöpfen, und Klicks dort trafen den Fragebogen statt „Weiter". Ursache ist eine Eigenheit von `position: fixed`: der Layer bildet einen **eigenen Stapelkontext**, die Karte darin kann dessen `z-index` also nie überbieten, egal welchen Wert man ihr gibt. Ein höherer Wert an der Karte wäre wirkungslos geblieben – das Abdunkeln musste **aus dem Layer heraus** (jetzt `body.tour-on::before`), damit die Reihenfolge Abdunkeln < Hervorhebung < Karte überhaupt darstellbar ist. Zweiter Fund derselben Art: der Wissens-Generator schrieb `
`, und **eine solche Regel gibt es im Stylesheet gar nicht** – die App heißt `site-footer`. Die neun statischen Seiten trugen ihre Linkzeile also seit jeher ungestylt und ohne Grund am unteren Rand. Dritter: `showView()` führte eine **Liste von IDs** plus einen Sonderfall für `.consult-cta`; der neue Startseiten-Abschnitt wäre auf allen sechs Unterseiten stehen geblieben, ohne dass etwas rot geworden wäre – jetzt entscheidet die Klasse `.home-only`, und ein Test geht alle Unterseiten durch. Dazu der inhaltliche Teil: der Hero trug sieben Bausteine (Logo, Titel, Einleitung, Chips, Zusage, Aktion, Import-Zeile) und sagte in Titel wie Einleitung „Datenmanagement" – **wofür das Werkzeug gebaut ist, nämlich Daten zu öffnen, kam nirgends vor**. Die vier Schritte stehen jetzt in einem eigenen Abschnitt, Titel, Einleitung und die drei Meta-Beschreibungen benennen Open Data. 5 neue Tests, sechs Mutationen einzeln geprüft. | | v65 | **Die Initiative Transparente Zivilgesellschaft – mit sichtbar gemachter Quellenlage.** Nachgezogen auf Wunsch: die freiwillige Selbstverpflichtung ist strukturell dasselbe wie ein Transparenzgesetz – ein fester Katalog, den man abarbeitet, nur eben freiwillig – und damit der passendste Anker für gemeinnützige Organisationen. Dazu der Praxisleitfaden von Bernhard Krabina (Bertelsmann Stiftung), der ausdrücklich für zivilgesellschaftliche Akteure geschrieben ist. **Beide haben die schwächste Quellenlage im ganzen Werkzeug:** die Angaben stammen aus Suchergebnissen, nicht aus dem Volltext, weil die Netzwerkrichtlinie beide Seiten sperrt. Belegt sind fünf der zehn Punkte. Der Eintrag behauptet deshalb keine Vollständigkeit, sondern nennt sie als Ausschnitt und verweist für den Wortlaut auf die Quelle – und **drei Tests halten genau diese Zurückhaltung fest**, damit sie beim nächsten Bearbeiten nicht verlorengeht. Beim Schreiben fiel auf, dass ich die Lizenz des Leitfadens in einer früheren Auswertung mit „CC BY 4.0" angegeben hatte, obwohl die Suche das nie hergab; der Eintrag führt deshalb keine Lizenzangabe, und ein Test verbietet sie. **Dazu ein Doku-Abgleich gegen den Code** nach der Methode aus v52 (Zahlen im Browser ausgelesen, nicht aus dem Gedächtnis geschrieben): die Zählwerte stimmten alle, die *Beschreibungen* nicht. In CLAUDE.md stand die Sektion „Vollständigkeit (Ampel)" seit v63 im Widerspruch zur MQA-Sektion drei Absätze darüber – sie behauptete weiter das Zählen gefüllter Pflichtfelder; die Rechtspflicht-Sektion kündigte „genau zwei" Stellen an und führte dann drei auf (v56 hatte die dritte ergänzt, ohne den Satz mitzuziehen); die Feature-Tabelle hatte keine MQA-Zeile. Im README fehlten `sample-verein.csv` (v58) sowie `risiko.spec.js` und `tour.spec.js` in der Dateistruktur, Font Awesome stand noch mit „solid, regular, brands", obwohl v45 die Brands-Familie ganz entfernt hat, an drei Stellen war von „Verwaltungstexten" die Rede, die v58 gerade aufgelöst hatte, und die Prüfwerkzeuge nannten vier von neun. Nebenbei kam heraus, dass **`REQUIRED_FIELDS` von der App gar nicht mehr gelesen wird** – seit v63 greift die Qualitätsprüfung direkt auf `DCAT_REQUIRED` zu, die Konstante steht nur noch als Handgriff für `tests/inventory.spec.js`; das ist jetzt an der Stelle vermerkt, statt als stille Falle liegen zu bleiben. | diff --git a/README.md b/README.md index e554dab..04183d5 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ | | Feature | Beschreibung | |---|---|---| -| 🗺️ | **Onboarding-Rundgang** | Elf Schritte durch alle Bausteine – der Rundgang wechselt selbst in die passende Ansicht und hebt hervor, worum es gerade geht. Wird **angeboten statt aufgedrängt** (wegklickbarer Hinweis, jederzeit über die Seitenleiste wiederholbar); Schritte, die Daten brauchen, bieten den Beispielimport an, statt ihn heimlich auszuführen | +| 🗺️ | **Onboarding-Rundgang** | Elf Schritte durch alle Bausteine – der Rundgang wechselt selbst in die passende Ansicht und hebt hervor, worum es gerade geht. Wird **angeboten statt aufgedrängt** – kein Auto-Start, sondern zwei dauerhafte Einstiege (Hero und Seitenleiste); Schritte, die Daten brauchen, bieten den Beispielimport an, statt ihn heimlich auszuführen | | 📈 | **Kompass-Verlauf** | Reifegrad-Stände auf Knopfdruck festhalten und die Entwicklung als Balken samt Trend sehen – belegbarer Fortschritt gegenüber Leitung oder Gremium. Bewusst **kein automatischer Mitschnitt**: festgehalten wird, was man festhalten will | | 🧭 | **Daten-Kompass** | Open-Data-Reifegrad-Checkliste nach anerkannten Modellen (ODRA, EU Open Data Maturity, 5-Sterne-Open-Data, DCAT-AP.de, DSGVO/FAIR, Data Orchard Data Maturity): **8 Dimensionen mit 33 Prüfpunkten**, Score + Ampel, Vorbelegung aus dem aktuellen Stand, adaptive Empfehlungen der nächsten Bausteine und PDF-Export – der Haupteinstieg | | ⚖️ | **Rechtspflicht der Organisation** | Eine einzige, **optionale** Angabe: Unterliegt Ihre Organisation einem Informationsfreiheits- oder Open-Data-Gesetz? Wer *nein* wählt (Verein, Stiftung, gGmbH), bekommt den Prüfpunkt zu den Rechtsgrundlagen als *nicht relevant* vorbelegt – er zählt dann nicht in den Reifegrad –, keine Vorschläge zu hochwertigen Datensätzen, weil die EU-Verordnung dazu öffentliche Stellen bindet, und einen Fehler bei der Lizenz „Amtliches Werk nach § 5 UrhG", deren Lizenzfreiheit an der amtlichen Herkunft hängt und nicht an einer Entscheidung des Herausgebers. Bewusst **nicht** die Frage „Behörde oder NGO": dazwischen liegen Stadtwerke, Hochschulen und Belehnte, die ein Zwei-Wege-Schalter falsch einsortiert. Alles Übrige gilt unverändert | diff --git a/assets/fonts/fa/icons.min.css b/assets/fonts/fa/icons.min.css index bd49d18..44a9f43 100644 --- a/assets/fonts/fa/icons.min.css +++ b/assets/fonts/fa/icons.min.css @@ -8,5 +8,5 @@ */ @font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:swap;src:url(../webfonts/fa-regular-400.subset.woff2) format("woff2")} @font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:swap;src:url(../webfonts/fa-solid-900.subset.woff2) format("woff2")} -.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-regular,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-brands:before,.fa-regular:before,.fa-solid:before,.fa:before,.fab:before,.far:before,.fas:before{content:var(--fa)}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-trash-can{--fa:"\f2ed"}.fa-file-lines{--fa:"\f15c"}.fa-file-csv{--fa:"\f6dd"}.fa-gavel{--fa:"\f0e3"}.fa-table{--fa:"\f0ce"}.fa-compass{--fa:"\f14e"}.fa-bars{--fa:"\f0c9"}.fa-lightbulb{--fa:"\f0eb"}.fa-circle-exclamation{--fa:"\f06a"}.fa-square-check{--fa:"\f14a"}.fa-lock{--fa:"\f023"}.fa-share-nodes{--fa:"\f1e0"}.fa-bookmark{--fa:"\f02e"}.fa-wand-magic-sparkles{--fa:"\e2ca"}.fa-globe{--fa:"\f0ac"}.fa-spell-check{--fa:"\f891"}.fa-city{--fa:"\f64f"}.fa-file-arrow-up{--fa:"\f574"}.fa-map-location-dot{--fa:"\f5a0"}.fa-table-columns{--fa:"\f0db"}.fa-handshake{--fa:"\f2b5"}.fa-circle-check{--fa:"\f058"}.fa-file-import{--fa:"\f56f"}.fa-scroll{--fa:"\f70e"}.fa-shield-halved{--fa:"\f3ed"}.fa-square{--fa:"\f0c8"}.fa-question{--fa:"\3f"}.fa-hand-holding-heart{--fa:"\f4be"}.fa-arrow-up-right-from-square{--fa:"\f08e"}.fa-chart-pie{--fa:"\f200"}.fa-chart-line{--fa:"\f201"}.fa-arrow-right{--fa:"\f061"}.fa-recycle{--fa:"\f1b8"}.fa-clipboard-check{--fa:"\f46c"}.fa-circle-question{--fa:"\f059"}.fa-route{--fa:"\f4d7"}.fa-pen{--fa:"\f304"}.fa-cubes{--fa:"\f1b3"}.fa-arrow-left{--fa:"\f060"}.fa-align-left{--fa:"\f036"}.fa-circle-nodes{--fa:"\e4e2"}.fa-circle-info{--fa:"\f05a"}.fa-landmark{--fa:"\f66f"}.fa-check-double{--fa:"\f560"}.fa-minus{--fa:"\f068"}.fa-flask{--fa:"\f0c3"}.fa-download{--fa:"\f019"}.fa-file-circle-check{--fa:"\e5a0"}.fa-id-card{--fa:"\f2c2"}.fa-house{--fa:"\f015"}.fa-arrow-right-arrow-left{--fa:"\f0ec"}.fa-file-arrow-down{--fa:"\f56d"}.fa-arrows-turn-to-dots{--fa:"\e4c1"}.fa-book-open-reader{--fa:"\f5da"}.fa-gauge-high{--fa:"\f625"}.fa-boxes-stacked{--fa:"\f468"}.fa-link{--fa:"\f0c1"}.fa-play{--fa:"\f04b"}.fa-magnifying-glass{--fa:"\f002"}.fa-chevron-down{--fa:"\f078"}.fa-code-compare{--fa:"\e13a"}.fa-list-check{--fa:"\f0ae"}.fa-user-shield{--fa:"\f505"}.fa-diagram-project{--fa:"\f542"}.fa-plus{--fa:"\2b"}.fa-xmark{--fa:"\f00d"}.fa-ruler-combined{--fa:"\f546"}.fa-map{--fa:"\f279"}.fa-rocket{--fa:"\f135"}.fa-arrow-trend-up{--fa:"\e098"}.fa-traffic-light{--fa:"\f637"}.fa-rotate{--fa:"\f2f1"}.fa-gears{--fa:"\f085"}.fa-award{--fa:"\f559"}.fa-file-export{--fa:"\f56e"}.fa-arrow-trend-down{--fa:"\e097"}.fa-scale-balanced{--fa:"\f24e"}.fa-table-list{--fa:"\f00b"}.fa-book{--fa:"\f02d"}.fa-diagram-successor{--fa:"\e47a"}.fa-triangle-exclamation{--fa:"\f071"}.fa-database{--fa:"\f1c0"}.fa-circle-xmark{--fa:"\f057"}.fa-arrows-spin{--fa:"\e4bb"}.fa-print{--fa:"\f02f"}.fa-users-gear{--fa:"\f509"}.fa-building-columns{--fa:"\f19c"}.fa-graduation-cap{--fa:"\f19d"} +.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-regular,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-brands:before,.fa-regular:before,.fa-solid:before,.fa:before,.fab:before,.far:before,.fas:before{content:var(--fa)}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-trash-can{--fa:"\f2ed"}.fa-file-lines{--fa:"\f15c"}.fa-file-csv{--fa:"\f6dd"}.fa-gavel{--fa:"\f0e3"}.fa-table{--fa:"\f0ce"}.fa-compass{--fa:"\f14e"}.fa-bars{--fa:"\f0c9"}.fa-lightbulb{--fa:"\f0eb"}.fa-circle-exclamation{--fa:"\f06a"}.fa-square-check{--fa:"\f14a"}.fa-lock{--fa:"\f023"}.fa-share-nodes{--fa:"\f1e0"}.fa-bookmark{--fa:"\f02e"}.fa-wand-magic-sparkles{--fa:"\e2ca"}.fa-globe{--fa:"\f0ac"}.fa-spell-check{--fa:"\f891"}.fa-city{--fa:"\f64f"}.fa-file-arrow-up{--fa:"\f574"}.fa-map-location-dot{--fa:"\f5a0"}.fa-table-columns{--fa:"\f0db"}.fa-handshake{--fa:"\f2b5"}.fa-circle-check{--fa:"\f058"}.fa-file-import{--fa:"\f56f"}.fa-scroll{--fa:"\f70e"}.fa-shield-halved{--fa:"\f3ed"}.fa-square{--fa:"\f0c8"}.fa-question{--fa:"\3f"}.fa-hand-holding-heart{--fa:"\f4be"}.fa-arrow-up-right-from-square{--fa:"\f08e"}.fa-chart-pie{--fa:"\f200"}.fa-chart-line{--fa:"\f201"}.fa-arrow-right{--fa:"\f061"}.fa-recycle{--fa:"\f1b8"}.fa-clipboard-check{--fa:"\f46c"}.fa-circle-question{--fa:"\f059"}.fa-route{--fa:"\f4d7"}.fa-pen{--fa:"\f304"}.fa-cubes{--fa:"\f1b3"}.fa-arrow-left{--fa:"\f060"}.fa-align-left{--fa:"\f036"}.fa-circle-nodes{--fa:"\e4e2"}.fa-circle-info{--fa:"\f05a"}.fa-landmark{--fa:"\f66f"}.fa-check-double{--fa:"\f560"}.fa-minus{--fa:"\f068"}.fa-flask{--fa:"\f0c3"}.fa-download{--fa:"\f019"}.fa-file-circle-check{--fa:"\e5a0"}.fa-id-card{--fa:"\f2c2"}.fa-house{--fa:"\f015"}.fa-arrow-right-arrow-left{--fa:"\f0ec"}.fa-file-arrow-down{--fa:"\f56d"}.fa-arrows-turn-to-dots{--fa:"\e4c1"}.fa-book-open-reader{--fa:"\f5da"}.fa-gauge-high{--fa:"\f625"}.fa-boxes-stacked{--fa:"\f468"}.fa-link{--fa:"\f0c1"}.fa-magnifying-glass{--fa:"\f002"}.fa-chevron-down{--fa:"\f078"}.fa-code-compare{--fa:"\e13a"}.fa-list-check{--fa:"\f0ae"}.fa-user-shield{--fa:"\f505"}.fa-diagram-project{--fa:"\f542"}.fa-plus{--fa:"\2b"}.fa-xmark{--fa:"\f00d"}.fa-ruler-combined{--fa:"\f546"}.fa-map{--fa:"\f279"}.fa-rocket{--fa:"\f135"}.fa-arrow-trend-up{--fa:"\e098"}.fa-traffic-light{--fa:"\f637"}.fa-rotate{--fa:"\f2f1"}.fa-gears{--fa:"\f085"}.fa-award{--fa:"\f559"}.fa-file-export{--fa:"\f56e"}.fa-arrow-trend-down{--fa:"\e097"}.fa-scale-balanced{--fa:"\f24e"}.fa-table-list{--fa:"\f00b"}.fa-book{--fa:"\f02d"}.fa-diagram-successor{--fa:"\e47a"}.fa-triangle-exclamation{--fa:"\f071"}.fa-database{--fa:"\f1c0"}.fa-circle-xmark{--fa:"\f057"}.fa-arrows-spin{--fa:"\e4bb"}.fa-print{--fa:"\f02f"}.fa-users-gear{--fa:"\f509"}.fa-building-columns{--fa:"\f19c"}.fa-graduation-cap{--fa:"\f19d"} .fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}.fa-brands,.fab{font-weight:400}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}.fa-solid,.fas{font-weight:900} diff --git a/assets/fonts/webfonts/fa-regular-400.subset.woff2 b/assets/fonts/webfonts/fa-regular-400.subset.woff2 index b37989f50d6ac25c6d28e600e6bcb6f5ab743ce5..063f6ad01070168fca36eb5164d62bbe548acba9 100644 GIT binary patch delta 2261 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 jG)Yrh8#wvf= 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 diff --git a/css/styles.css b/css/styles.css index 62684cc..2827718 100644 --- a/css/styles.css +++ b/css/styles.css @@ -276,7 +276,6 @@ a { color: var(--c-accent); } .graf-bridge-panel { background: #fff; border: 1px solid var(--glass-border); - border-left: 4px solid var(--c-accent); border-radius: 18px; box-shadow: var(--shadow-md); padding: 26px 28px; @@ -291,7 +290,7 @@ a { color: var(--c-accent); } display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #420093 0%, #6c2fbf 100%); color: #fff; - font-size: 18px; + font-size: 22px; } .graf-bridge-body { min-width: 0; } .graf-bridge-title { @@ -1493,37 +1492,6 @@ a { color: var(--c-accent); } } /* ── Onboarding-Rundgang ──────────────────────────────────────── */ -.tour-hint.hidden { display: none; } -.tour-hint { - display: flex; - align-items: center; - justify-content: space-between; - gap: 14px; - flex-wrap: wrap; - max-width: 1180px; - margin: 0 auto var(--home-gap); - padding: 14px 18px; - background: #fff; - border: 1px solid var(--c-border-s); - border-left: 4px solid var(--c-accent); - border-radius: var(--radius); - box-shadow: var(--shadow-sm); - min-width: 0; -} -.tour-hint-text { font-size: 14px; color: var(--c-text); display: flex; align-items: center; gap: 9px; min-width: 0; } -.tour-hint-text i { color: var(--c-accent); } -.tour-hint-btns { display: flex; align-items: center; gap: 8px; } -.tour-hint-close { - background: none; - border: none; - color: var(--c-muted); - font-size: 15px; - cursor: pointer; - padding: 6px 8px; - border-radius: 7px; -} -.tour-hint-close:hover { background: rgba(66, 0, 147, 0.07); color: var(--c-accent); } - /* Das Abdunkeln liegt UNTER der hervorgehobenen Stelle (1201) und deshalb an body::before, nicht am Layer: `position: fixed` macht den Layer zum eigenen Stapelkontext, aus dem die Karte nicht herauskommt – sie stünde diff --git a/datenschutz/index.html b/datenschutz/index.html index 49d481a..287e95c 100644 --- a/datenschutz/index.html +++ b/datenschutz/index.html @@ -42,7 +42,7 @@ } - + diff --git a/index.html b/index.html index ee2f7c7..2c9086f 100644 --- a/index.html +++ b/index.html @@ -125,10 +125,10 @@ - + - - + + @@ -170,7 +170,7 @@ DatenLotse
- + Zu DatenGraf @@ -228,14 +228,6 @@

So kommen Sie zu offenen Da - -
@@ -333,7 +325,7 @@

Risiko & Pseudonymisierung

der Stelle, an der sie die Module ohnehin überflogen haben. -->
-
+

Schon mit DatenGraf kartiert?

Dann brauchen Sie hier nicht von vorn anzufangen. DatenLotse liest genau das CSV-Schema, das DatenGraf exportiert: Aus jeder Kombination aus Quelle und Datentyp wird ein Datensatz-Kandidat nach DCAT-AP.de – samt Vorbelegung von Zugriffsrechten und Aktualisierungszyklus aus Ihrer Kartierung. Sie ergänzen nur noch, was DatenGraf nicht kennt: Lizenz, Schlagwörter und die Adresse, unter der die Daten liegen.

@@ -923,7 +915,7 @@

Umsetzung besprechen

Brands-Familie und hätte dafür 116 KB Schrift nachgeladen. --> - v67 + v68

@@ -1139,7 +1131,7 @@

Lizenz-Wegweiser

- +