erster brauchbarer stand.

This commit is contained in:
maik
2026-08-18 15:32:41 +02:00
commit 553247cdfb
460 changed files with 13751 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
# op-dz — Hugo-Theme
Theme im Corporate Design des Dokumentationszentrums (OP·DZ), aufgebaut auf
**UIkit 3**. Alle Ressourcen werden lokal ausgeliefert (DSGVO-konform).
## Merkmale
- **UIkit 3** (lokal, gepinnt auf 3.21.13) unter `static/vendor/uikit/`
- **Schrift ABC Favorit** komplett lokal (`static/fonts/favorit/`, `@font-face`
in `assets/css/fonts.css`, WOFF2 + WOFF, alle Schnitte LightUltra)
- **Design-Tokens** als CSS-Custom-Properties (`assets/css/main.css`),
Primärfarbe `#1e2758` (aus dem Logo-SVG verifiziert)
- CSS wird gebündelt, im Production-Build minifiziert und mit
Subresource-Integrity-Hash ausgeliefert
- Navbar-Dropdowns, mobiles Offcanvas und Footer-Spalten werden aus
**einem** Hugo-Menü (`main`) generiert
- barrierefrei: Skip-Link, sichtbarer Fokus, `prefers-reduced-motion`,
ARIA-Labels
- **Interaktive Karte** (Leaflet 1.9.4, lokal) mit OpenStreetMap-Kacheln,
farbigen Kategorie-Markern, Kategorie-Filter und Popups. Marker-Daten werden
statisch als JSON in die Seite eingebettet (kein externer Request).
Bausteine: `partials/karte.html`, `assets/js/map.js`, Section-Layouts unter
`layouts/schauplaetze/`. Kartendaten kommen aus Schauplatz-Seiten
(Frontmatter `lat`/`lng`/`kategorien`) + `data/kategorien.yaml` (Farben).
## Struktur
```
theme.toml
assets/css/ fonts.css + main.css (Hugo-Pipeline)
layouts/
_default/ baseof.html, list.html, single.html
index.html Startseite (Hero, Veranstaltungen, Leitbild,
Neuigkeiten, Galerie, Newsletter)
partials/ head, topbar, search-modal, navbar, offcanvas, footer
static/
vendor/uikit/ UIkit CSS/JS (lokal)
fonts/favorit/ ABC Favorit (WOFF2/WOFF)
images/logos/ Logo_OP_DZ_* (SVG/PNG)
images/formen/ Bögen & Raster (SVG/PNG)
design-source/ NICHT veröffentlicht: OTF, EPS, Prototyp-HTML
```
## Konfiguration
Menüs und alle Texte/Kontaktdaten kommen aus der Site-`hugo.toml`
(`[menus]`, `[params]`). Siehe das Root-README des Projekts für Details.
## Abhängigkeit
Hugo **Extended** ≥ 0.116 (Asset-Pipeline).
+118
View File
@@ -0,0 +1,118 @@
/* =========================================================================
ABC Favorit lokal gehostet (DSGVO: keine Third-Party-Font-Requests)
Dateien: /static/fonts/favorit/ → ausgeliefert unter /fonts/favorit/
Pfade relativ zur gebundelten CSS (/css/…) ⇒ funktioniert auch unter
Subpfad-baseURL.
========================================================================= */
/* --- Light 300 --- */
@font-face {
font-family: "ABC Favorit";
src: url("../fonts/favorit/ABCFavorit-Light.woff2") format("woff2"),
url("../fonts/favorit/ABCFavorit-Light.woff") format("woff");
font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
font-family: "ABC Favorit";
src: url("../fonts/favorit/ABCFavorit-LightItalic.woff2") format("woff2"),
url("../fonts/favorit/ABCFavorit-LightItalic.woff") format("woff");
font-weight: 300; font-style: italic; font-display: swap;
}
/* --- Book 350 --- */
@font-face {
font-family: "ABC Favorit";
src: url("../fonts/favorit/ABCFavorit-Book.woff2") format("woff2"),
url("../fonts/favorit/ABCFavorit-Book.woff") format("woff");
font-weight: 350; font-style: normal; font-display: swap;
}
@font-face {
font-family: "ABC Favorit";
src: url("../fonts/favorit/ABCFavorit-BookItalic.woff2") format("woff2"),
url("../fonts/favorit/ABCFavorit-BookItalic.woff") format("woff");
font-weight: 350; font-style: italic; font-display: swap;
}
/* --- Regular 400 --- */
@font-face {
font-family: "ABC Favorit";
src: url("../fonts/favorit/ABCFavorit-Regular.woff2") format("woff2"),
url("../fonts/favorit/ABCFavorit-Regular.woff") format("woff");
font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
font-family: "ABC Favorit";
src: url("../fonts/favorit/ABCFavorit-RegularItalic.woff2") format("woff2"),
url("../fonts/favorit/ABCFavorit-RegularItalic.woff") format("woff");
font-weight: 400; font-style: italic; font-display: swap;
}
/* --- Medium 500 --- */
@font-face {
font-family: "ABC Favorit";
src: url("../fonts/favorit/ABCFavorit-Medium.woff2") format("woff2"),
url("../fonts/favorit/ABCFavorit-Medium.woff") format("woff");
font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
font-family: "ABC Favorit";
src: url("../fonts/favorit/ABCFavorit-MediumItalic.woff2") format("woff2"),
url("../fonts/favorit/ABCFavorit-MediumItalic.woff") format("woff");
font-weight: 500; font-style: italic; font-display: swap;
}
/* --- Bold 700 --- */
@font-face {
font-family: "ABC Favorit";
src: url("../fonts/favorit/ABCFavorit-Bold.woff2") format("woff2"),
url("../fonts/favorit/ABCFavorit-Bold.woff") format("woff");
font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
font-family: "ABC Favorit";
src: url("../fonts/favorit/ABCFavorit-BoldItalic.woff2") format("woff2"),
url("../fonts/favorit/ABCFavorit-BoldItalic.woff") format("woff");
font-weight: 700; font-style: italic; font-display: swap;
}
/* --- Extrabold 800 --- */
@font-face {
font-family: "ABC Favorit";
src: url("../fonts/favorit/ABCFavorit-Extrabold.woff2") format("woff2"),
url("../fonts/favorit/ABCFavorit-Extrabold.woff") format("woff");
font-weight: 800; font-style: normal; font-display: swap;
}
@font-face {
font-family: "ABC Favorit";
src: url("../fonts/favorit/ABCFavorit-ExtraboldItalic.woff2") format("woff2"),
url("../fonts/favorit/ABCFavorit-ExtraboldItalic.woff") format("woff");
font-weight: 800; font-style: italic; font-display: swap;
}
/* --- Black 900 --- */
@font-face {
font-family: "ABC Favorit";
src: url("../fonts/favorit/ABCFavorit-Black.woff2") format("woff2"),
url("../fonts/favorit/ABCFavorit-Black.woff") format("woff");
font-weight: 900; font-style: normal; font-display: swap;
}
@font-face {
font-family: "ABC Favorit";
src: url("../fonts/favorit/ABCFavorit-BlackItalic.woff2") format("woff2"),
url("../fonts/favorit/ABCFavorit-BlackItalic.woff") format("woff");
font-weight: 900; font-style: italic; font-display: swap;
}
/* --- Ultra 950 (schwerster Schnitt) --- */
@font-face {
font-family: "ABC Favorit";
src: url("../fonts/favorit/ABCFavorit-Ultra.woff2") format("woff2"),
url("../fonts/favorit/ABCFavorit-Ultra.woff") format("woff");
font-weight: 950; font-style: normal; font-display: swap;
}
@font-face {
font-family: "ABC Favorit";
src: url("../fonts/favorit/ABCFavorit-UltraItalic.woff2") format("woff2"),
url("../fonts/favorit/ABCFavorit-UltraItalic.woff") format("woff");
font-weight: 950; font-style: italic; font-display: swap;
}
+832
View File
@@ -0,0 +1,832 @@
/* =========================================================================
OP·DZ Theme-Styles (UIkit-3-Overrides)
Webfonts: siehe fonts.css (wird zusammen mit dieser Datei gebundelt)
========================================================================= */
/* =========================================================================
1. DESIGN-TOKENS (CSS Custom Properties)
========================================================================= */
:root {
--op-blau: #1e2758; /* Primär / Nacht verifiziert gegen Logo_OP_DZ_blau.svg */
--op-blau-dunkel: #141b45; /* Hover */
--op-gelb: #edf489; /* Sekundär / Signalfarbe */
--op-gelb-hell: #f7fbc9;
--op-papier: #fafae1; /* Creme Markenhintergrund (offener-prozess.de) */
--op-koralle: #ff6900; /* Akzent für Kategorie-Labels (Marke) */
--op-linie: #d9dbcf; /* Rahmen */
--op-text: #23242a; /* Fließtext */
--op-radius: 5px; /* dezente Rundung wie auf offener-prozess.de */
--op-font: "ABC Favorit", Helvetica, Arial, sans-serif;
}
/* =========================================================================
2. BASIS / RESET-ERGÄNZUNGEN
========================================================================= */
html { scroll-behavior: smooth; }
body {
font-family: var(--op-font);
color: var(--op-text);
background: #fff;
}
/* Dezente Marken-Rundung auf den zentralen Komponenten */
.uk-button, .uk-input, .uk-textarea, .uk-select, .uk-card,
.op-oeffnungsbox, .op-scard, .op-scard__img, .op-map, .op-side-box,
.op-content-box, .op-map-filter__item, .op-kategorie, .op-search input,
.op-bild, .leaflet-popup-content-wrapper {
border-radius: var(--op-radius);
}
/* Textauswahl: gelb mit blauem Text */
::selection { background: var(--op-gelb); color: var(--op-blau); }
/* Sichtbarer Tastaturfokus */
:focus-visible {
outline: 3px solid var(--op-blau);
outline-offset: 2px;
}
/* Utility: gelber Textmarker */
.op-marker {
background-image: linear-gradient(var(--op-gelb), var(--op-gelb));
background-repeat: no-repeat;
background-position: 0 0.15em;
background-size: 100% 0.85em;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
padding: 0 0.05em;
}
/* =========================================================================
3. TYPOGRAFIE (UIkit-Overrides)
========================================================================= */
h1, h2, h3, h4, h5, h6,
.uk-h1, .uk-h2, .uk-h3, .uk-h4 {
color: var(--op-blau);
font-weight: 700;
letter-spacing: -0.01em;
}
h1, .uk-h1 {
font-size: clamp(2.4rem, 6vw, 4.2rem);
line-height: 1.05;
}
a {
color: var(--op-blau);
text-decoration: underline;
text-underline-offset: 3px;
}
a:hover { color: var(--op-blau-dunkel); }
/* =========================================================================
4. BUTTONS
========================================================================= */
.uk-button {
font-weight: 700;
letter-spacing: 0.01em;
text-transform: none;
text-decoration: none;
transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
/* primary = blaue Fläche / weißer Text */
.uk-button-primary {
background: var(--op-blau);
color: #fff;
border: 2px solid var(--op-blau);
}
.uk-button-primary:hover,
.uk-button-primary:focus {
background: var(--op-blau-dunkel);
border-color: var(--op-blau-dunkel);
color: #fff;
}
/* secondary = gelbe Fläche / blauer Text */
.uk-button-secondary {
background: var(--op-gelb);
color: var(--op-blau);
border: 2px solid var(--op-blau);
}
.uk-button-secondary:hover,
.uk-button-secondary:focus {
background: var(--op-gelb-hell);
color: var(--op-blau-dunkel);
border-color: var(--op-blau-dunkel);
}
/* default = blaue Outline, bei Hover gefüllt */
.uk-button-default {
background: transparent;
color: var(--op-blau);
border: 2px solid var(--op-blau);
}
.uk-button-default:hover,
.uk-button-default:focus {
background: var(--op-blau);
color: #fff;
border-color: var(--op-blau);
}
/* uk-button-text mit gelber Unterstreichung */
.uk-button-text {
color: var(--op-blau);
text-transform: none;
font-weight: 700;
}
.uk-button-text::before {
border-bottom: 3px solid var(--op-gelb);
}
/* =========================================================================
5. NAVBAR
========================================================================= */
.op-navbar,
.op-navbar.uk-navbar-container {
background: var(--op-gelb);
border-bottom: 0;
}
.op-navbar .uk-navbar-nav > li > a {
color: var(--op-blau);
font-weight: 700;
text-transform: none;
text-decoration: none;
min-height: 72px;
}
.op-navbar .uk-navbar-nav > li:hover > a,
.op-navbar .uk-navbar-nav > li > a:focus,
.op-navbar .uk-navbar-nav > li.uk-active > a,
.op-navbar .uk-navbar-nav > li > a[aria-current="page"] {
color: var(--op-blau-dunkel);
box-shadow: inset 0 -5px 0 var(--op-blau);
}
.op-navbar .uk-navbar-toggle { color: var(--op-blau); }
/* Sprachumschalter */
.op-langswitch { position: relative; display: inline-flex; align-items: center; }
.op-langswitch__flag { font-size: 1.2rem; line-height: 1; }
/* Toggle-Button (Navbar) */
.op-langswitch__toggle {
display: inline-flex; align-items: center; gap: .4rem;
background: transparent; border: 0; cursor: pointer;
padding: .4rem .55rem; min-height: 40px; border-radius: var(--op-radius);
color: var(--op-blau); font-family: var(--op-font); font-weight: 700; font-size: .85rem;
}
.op-langswitch__toggle:hover,
.op-langswitch__toggle:focus-visible { background: rgba(30,39,88,.10); }
.op-langswitch__code { letter-spacing: .03em; }
.op-langswitch__caret {
width: .45rem; height: .45rem; margin-left: .05rem;
border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
transform: rotate(45deg); transition: transform .15s ease;
}
/* Dropdown-Panel */
.op-langswitch__drop { min-width: 170px; padding: .5rem; background: var(--op-papier); border: 0; box-shadow: 0 14px 36px rgba(20,27,69,.18); }
.op-langswitch__drop .uk-dropdown-nav > li > a {
display: flex; align-items: center; gap: .55rem;
color: var(--op-blau); text-decoration: none; font-weight: 700;
padding: .5rem .6rem; border-radius: var(--op-radius); min-height: 40px;
}
.op-langswitch__drop .uk-dropdown-nav > li > a:hover { color: var(--op-blau-dunkel); background: var(--op-gelb-hell); }
.op-langswitch__drop .uk-dropdown-nav > li.uk-active > a { box-shadow: inset 0 0 0 2px var(--op-blau); }
/* Liste (mobiles Offcanvas) */
.op-langswitch--list { flex-direction: column; align-items: stretch; gap: .25rem; }
.op-langswitch--list .op-langswitch__item {
display: inline-flex; align-items: center; gap: .5rem;
padding: .5rem .3rem; text-decoration: none; color: #fff; font-weight: 700;
}
.op-langswitch--list .op-langswitch__item.is-current { box-shadow: inset 0 -3px 0 var(--op-gelb); }
/* Dropdown-Panel wie auf offener-prozess.de: cremefarben, weicher Schatten, kein Rahmen */
.uk-navbar-dropdown {
background: var(--op-papier);
border: 0;
border-radius: 0;
box-shadow: 0 14px 36px rgba(20,27,69,.18);
padding: 1.6rem 1.9rem;
min-width: 264px;
}
.uk-navbar-dropdown-nav > li > a {
color: var(--op-blau);
text-decoration: none;
font-weight: 700;
font-size: 1rem;
line-height: 1.25;
padding: .55rem 0;
}
.uk-navbar-dropdown-nav > li > a:hover,
.uk-navbar-dropdown-nav > li > a:focus {
color: var(--op-blau-dunkel);
background: transparent;
text-decoration: underline;
text-underline-offset: 3px;
}
/* Logo */
.op-logo {
display: inline-flex;
align-items: center;
gap: .6rem;
text-decoration: none;
}
.op-logo__img {
display: block;
height: 40px;
width: auto;
}
.op-navbar .op-logo__img { height: 44px; }
/* =========================================================================
6. TOPBAR
========================================================================= */
.op-topbar {
background: var(--op-gelb);
border-bottom: 1px solid rgba(30,39,88,.12);
font-size: .85rem;
}
.op-topbar a { text-decoration: none; color: var(--op-blau); }
.op-topbar .uk-subnav > li > a {
color: var(--op-blau);
text-transform: none;
font-weight: 700;
}
.op-topbar .uk-subnav > li.uk-active > a { color: var(--op-blau); }
.op-topbar .uk-subnav > li.uk-active > a::after {
content: "";
display: block;
height: 3px;
background: var(--op-blau);
margin-top: 2px;
}
/* =========================================================================
7. CARDS
========================================================================= */
.uk-card-default {
background: #fff;
border: 1px solid var(--op-linie);
box-shadow: none !important;
transition: border-color .15s ease;
}
.uk-card-default:hover { border-color: var(--op-blau); }
.op-card-datum {
color: var(--op-blau);
font-weight: 700;
letter-spacing: .01em;
}
.op-card-titel a { text-decoration: none; }
.op-card-titel a:hover { text-decoration: underline; }
/* Kategorie-Label */
.op-kategorie {
display: inline-block;
background: var(--op-gelb);
color: var(--op-blau);
text-transform: uppercase;
letter-spacing: .08em;
font-size: .72rem;
font-weight: 700;
padding: .25em .6em;
}
.op-meta { color: #555; font-size: .82rem; }
/* =========================================================================
8. FORMULARE
========================================================================= */
.uk-input,
.uk-textarea,
.uk-select {
border: 2px solid var(--op-blau);
background: #fff;
color: var(--op-text);
}
.uk-input:focus,
.uk-textarea:focus,
.uk-select:focus {
border-color: var(--op-blau);
background: var(--op-gelb-hell);
}
.uk-checkbox {
border: 2px solid var(--op-blau);
background: #fff;
}
.uk-checkbox:checked,
.uk-checkbox:indeterminate {
background-color: var(--op-blau);
border-color: var(--op-blau);
}
.uk-form-label { font-weight: 700; color: var(--op-blau); }
/* =========================================================================
9. BILD-PLATZHALTER
========================================================================= */
.op-bild {
position: relative;
border: 1px solid var(--op-linie);
background-color: var(--op-papier);
background-image: repeating-linear-gradient(
45deg,
var(--op-papier) 0,
var(--op-papier) 10px,
var(--op-gelb-hell) 10px,
var(--op-gelb-hell) 20px
);
display: flex;
align-items: center;
justify-content: center;
}
.op-bild__label {
background: #fff;
border: 1px solid var(--op-linie);
color: var(--op-blau);
font-size: .78rem;
font-weight: 700;
padding: .2em .6em;
text-transform: uppercase;
letter-spacing: .05em;
}
.op-bild--16-9 { aspect-ratio: 16 / 9; }
.op-bild--4-3 { aspect-ratio: 4 / 3; }
.op-bild--1-1 { aspect-ratio: 1 / 1; }
/* =========================================================================
10. SEKTIONS-FARBEN & DIVIDER
========================================================================= */
.op-section-gelb { background: var(--op-gelb); }
.op-section-muted { background: var(--op-papier); }
.op-section-blau { background: var(--op-blau); color: #fff; }
.op-oeffnungsbox {
background: #fff;
border: 2px solid var(--op-blau);
padding: 1.75rem;
}
.op-divider { display: block; width: 100%; height: 46px; }
/* Bogen-Illustration (Formen-Asset) */
.op-bogen { display: block; width: 100%; height: auto; }
/* =========================================================================
11. SLIDER / DOTNAV
========================================================================= */
.uk-dotnav > * > * {
border: 1px solid var(--op-blau);
background: transparent;
}
.uk-dotnav > .uk-active > * { background: var(--op-blau); }
.op-slidenav { color: var(--op-blau); }
/* =========================================================================
12. FOOTER
========================================================================= */
.op-footer { position: relative; overflow: hidden; }
/* Punktraster („Teppich") rechts, angeschnitten wie im dunklen Bereich der Vorlage */
.op-footer::before {
content: ""; position: absolute; top: 0; bottom: 0; right: 0;
width: 44%; max-width: 640px; pointer-events: none;
background-image: radial-gradient(rgba(237,244,137,.30) 2px, transparent 2.6px);
background-size: 22px 22px;
background-position: right center;
-webkit-mask-image: linear-gradient(to left, #000 55%, transparent);
mask-image: linear-gradient(to left, #000 55%, transparent);
}
.op-footer > * { position: relative; } /* Inhalt über der Deko */
.op-footer a { color: #fff; text-decoration: none; }
.op-footer a:hover { color: var(--op-gelb); }
.op-footer .op-footer-head {
color: var(--op-gelb);
text-transform: uppercase;
letter-spacing: .08em;
font-size: .8rem;
font-weight: 700;
}
.op-footer hr { border-top: 1px solid rgba(255,255,255,.25); }
.op-footer .uk-subnav > li > a { color: #fff; text-transform: none; }
.op-footer .uk-subnav > li > a:hover { color: var(--op-gelb); }
.op-foerder {
border: 2px dashed rgba(255,255,255,.5);
color: rgba(255,255,255,.85);
padding: 2rem 1rem;
text-align: center;
font-size: .85rem;
}
/* Förderlogo auf weißem Panel (dunkle Grafik wäre auf Blau unsichtbar) */
.op-foerder--logo {
background: #fff;
border: 0;
padding: 1.5rem;
border-radius: var(--op-radius);
}
.op-foerder--logo img { max-width: 640px; width: 100%; height: auto; }
/* =========================================================================
13. SKIP-LINK
========================================================================= */
.op-skip-link {
position: absolute;
left: 1rem;
top: -60px;
z-index: 2000;
background: var(--op-gelb);
color: var(--op-blau);
font-weight: 700;
padding: .6rem 1rem;
text-decoration: none;
transition: top .15s ease;
}
.op-skip-link:focus { top: 1rem; }
/* =========================================================================
14. SUCH-ICON
========================================================================= */
.op-such-icon { color: var(--op-blau); }
/* =========================================================================
15. KARTE (Leaflet + OpenStreetMap)
========================================================================= */
.op-map {
width: 100%;
height: 560px;
border: 2px solid var(--op-blau);
background: var(--op-papier);
z-index: 0; /* unter der Sticky-Navbar halten */
}
.op-map--klein { height: 320px; }
/* Leaflet-Popup im Hausstil: Bild oben, gelber Body (wie im Original) */
.leaflet-popup-content-wrapper {
background: var(--op-gelb) !important; /* niemals weiß */
padding: 0; overflow: hidden; border: 0;
box-shadow: 0 4px 16px rgba(20,27,69,.28);
}
.leaflet-popup-content { margin: 0 !important; background: var(--op-gelb); }
.leaflet-popup-tip { background: var(--op-gelb); border: 0; box-shadow: none; }
.op-popup { display: block; text-decoration: none; background: var(--op-gelb); }
.op-popup__img {
display: block; width: 100%; height: 150px;
background-size: cover; background-position: center;
}
.op-popup__body { display: block; padding: .9rem 1rem 1.1rem; }
.op-popup__title {
display: block; color: var(--op-blau); font-weight: 700;
font-size: 1.15rem; line-height: 1.15;
}
.op-popup__addr {
display: block; margin-top: .5rem;
color: var(--op-blau); opacity: .8; font-size: .85rem;
}
/* Cluster-Bubbles im Hausstil (Blau/Gelb) */
.marker-cluster { background: transparent; }
.marker-cluster div {
background: var(--op-blau); color: #fff;
font-family: var(--op-font); font-weight: 700;
border: 2px solid var(--op-gelb);
}
.marker-cluster span { line-height: 30px; }
/* Pin-Marker (Tropfenform, Kategoriefarbe) Standard-DivIcon-Look entfernen */
.op-pinwrap { background: transparent !important; border: 0 !important; }
.op-pin {
display: block;
filter: drop-shadow(0 2px 2px rgba(0,0,0,.35));
transition: transform .1s ease;
transform-origin: 50% 100%;
}
.op-pinwrap:hover .op-pin,
.op-pinwrap:focus-visible .op-pin { transform: scale(1.18); }
.op-pinwrap:focus-visible { outline: 3px solid var(--op-blau); outline-offset: 3px; }
/* --- 15a. Split-View (Karte + Liste), Vorbild map.offener-prozess.de --- */
.op-split { display: flex; align-items: flex-start; }
.op-split__list { width: 50%; padding: 2rem clamp(1rem, 3vw, 2.5rem); }
.op-split__map {
width: 50%;
position: sticky;
top: 75px; /* Höhe der sticky Navbar */
height: calc(100vh - 75px);
}
.op-split__map .op-map { height: 100%; border: 0; border-left: 3px solid var(--op-blau); }
@media (max-width: 959px) {
.op-split { display: block; }
.op-split__list, .op-split__map { width: 100%; }
.op-split__map { position: static; height: 60vh; }
.op-split__map .op-map { border-left: 0; border-top: 3px solid var(--op-blau); }
.op-split__list { order: 2; }
}
/* Listenkopf: Ergebniszahl + Suche */
.op-listhead { margin-bottom: 1.5rem; }
.op-listhead__count { font-weight: 700; color: var(--op-blau); font-size: 1.1rem; }
.op-search { position: relative; margin-top: .75rem; }
.op-search input {
width: 100%; border: 2px solid var(--op-blau); background: #fff;
padding: .6rem .8rem; font-family: var(--op-font); color: var(--op-text);
}
.op-search input:focus { outline: none; background: var(--op-gelb-hell); }
/* Aufklappbarer Kategorie-Filter (standardmäßig eingeklappt), dezent */
.op-filter { margin: 0 0 1.25rem; }
.op-filter__summary {
list-style: none; cursor: pointer;
display: inline-flex; align-items: center; gap: .45rem;
color: var(--op-blau); font-size: .9rem; font-weight: 600;
padding: .3rem 0; user-select: none;
}
.op-filter__summary::-webkit-details-marker { display: none; }
.op-filter__summary::before {
content: ""; width: .5rem; height: .5rem; flex: 0 0 auto;
border-right: 2px solid var(--op-blau); border-bottom: 2px solid var(--op-blau);
transform: rotate(-45deg); transition: transform .15s ease;
margin-right: .1rem;
}
.op-filter[open] .op-filter__summary::before { transform: rotate(45deg); }
.op-filter__summary:focus-visible { outline: 3px solid var(--op-blau); outline-offset: 2px; }
.op-filter__state { color: #6a6d78; font-weight: 400; }
.op-filter__panel { padding-top: .75rem; }
/* Filter-Aktionen: Alle auswählen / abwählen */
.op-filter-actions {
display: flex; align-items: center; flex-wrap: wrap; gap: .5rem;
margin-bottom: .75rem;
}
.op-filter-btn {
font-family: var(--op-font); font-weight: 700; font-size: .8rem;
color: var(--op-blau); background: #fff;
border: 2px solid var(--op-blau); border-radius: var(--op-radius);
padding: .4rem .8rem; min-height: 40px; cursor: pointer;
transition: background-color .12s ease, color .12s ease;
}
.op-filter-btn:hover,
.op-filter-btn:focus-visible { background: var(--op-blau); color: #fff; }
/* Kategorie-Filter (kompakte Chips, dezent) */
.op-map-filter {
display: flex; flex-wrap: wrap; gap: .4rem .5rem;
margin: 0;
}
.op-map-filter__item {
display: inline-flex; align-items: center; gap: .4rem;
font-size: .78rem; font-weight: 500; color: var(--op-blau);
cursor: pointer; border: 1px solid var(--op-linie);
padding: .25rem .5rem; user-select: none;
}
.op-map-filter__item input { margin: 0; }
.op-map-filter__swatch {
width: 12px; height: 12px; display: inline-block;
border: 1px solid rgba(0,0,0,.15);
}
/* --- 15b. Schauplatz-Card (gelb, Original-Anmutung) --- */
/* Kartengitter: fester Gap + gleiche Zeilenhöhe → einheitliche Kachelhöhe */
.op-scards {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
grid-auto-rows: 1fr;
gap: 1.25rem;
}
@media (max-width: 639px) { .op-scards { grid-template-columns: 1fr; } }
.op-scard {
display: flex; flex-direction: column;
background: var(--op-gelb);
border: 1px solid var(--op-gelb); text-decoration: none;
height: 100%;
transition: outline-color .12s ease;
outline: 3px solid transparent; outline-offset: -3px;
}
.op-scard:hover, .op-scard:focus-visible { outline-color: var(--op-blau); }
.op-scard.is--hidden { display: none; }
.op-scard__img {
display: block; flex: 0 0 auto;
aspect-ratio: 3 / 2; /* responsiv: Höhe skaliert mit der Kartenbreite */
background-color: var(--op-gelb-hell);
background-size: cover; background-position: center;
border-bottom: 1px solid rgba(30,39,88,.12);
border-radius: var(--op-radius) var(--op-radius) 0 0;
position: relative; overflow: hidden;
}
/* Echtes Bild füllt den Rahmen ohne Verzerrung (schneidet nur bei Bedarf zu) */
.op-scard__photo {
display: block; width: 100%; height: 100%;
object-fit: cover; object-position: center;
}
/* Platzhalter (kein Foto): Punktraster + Bogen in Kategoriefarbe (Marken-Motiv) */
.op-scard__img--ph {
background-color: var(--op-papier);
background-image: radial-gradient(currentColor 1.6px, transparent 1.7px);
background-size: 13px 13px;
display: flex; align-items: flex-end; justify-content: center;
}
.op-scard__bogen { width: 78%; height: auto; display: block; }
.op-scard__tipp {
position: absolute; top: .5rem; left: .5rem;
background: var(--op-blau); color: #fff;
font-size: .65rem; font-weight: 700; letter-spacing: .06em;
text-transform: uppercase; padding: .2em .5em;
}
.op-scard__body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 1rem 1.1rem 1.2rem; }
.op-scard__cat {
display: inline-block; margin: 0 0 .4rem;
color: var(--op-blau); /* hoher Kontrast auf Gelb; Farbcode steckt im Punkt */
font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
}
.op-scard__title {
display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
color: var(--op-blau); font-weight: 700; font-size: 1.15rem; line-height: 1.15; margin: 0;
}
.op-scard__sub {
display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
color: var(--op-blau); opacity: .8; font-size: .85rem; margin: .3rem 0 0;
}
.op-scard__addr {
display: flex; align-items: flex-start; gap: .35rem;
color: var(--op-blau); font-size: .8rem;
margin-top: auto; padding-top: .9rem; /* Adresse unten bündig */
}
.op-scard__dot {
flex: 0 0 auto; width: 11px; height: 11px; margin-top: .15rem;
border: 1px solid rgba(0,0,0,.15);
}
/* --- 15c. Detailseite (Hero-Band + Sidebar), Original-Anmutung --- */
.op-detail-hero { background: var(--op-gelb); position: relative; overflow: hidden; }
.op-detail-hero > * { position: relative; z-index: 1; }
/* Punktraster („Teppich") oben rechts blau auf gelb */
.op-detail-hero::before {
content: ""; position: absolute; top: -12px; right: -12px;
width: 280px; height: 150px; pointer-events: none; z-index: 0;
background-image: radial-gradient(rgba(30,39,88,.26) 2px, transparent 2.6px);
background-size: 19px 19px;
-webkit-mask-image: linear-gradient(225deg, #000 45%, transparent 80%);
mask-image: linear-gradient(225deg, #000 45%, transparent 80%);
}
/* Großer angeschnittener Ring („Kringel") links hinter der Überschrift */
.op-detail-hero::after {
content: ""; position: absolute; left: -160px; top: 50%;
width: 360px; height: 360px; transform: translateY(-50%);
border-radius: 50%; border: 40px solid rgba(30,39,88,.07);
pointer-events: none; z-index: 0;
}
.op-detail-hero .op-breadcrumb { color: var(--op-blau); font-weight: 700; font-size: .9rem; }
.op-detail-hero .op-breadcrumb a { text-decoration: none; }
.op-side-box {
background: var(--op-gelb);
padding: 0;
margin-bottom: 1.5rem;
}
.op-side-box__pad { padding: 1.25rem 1.35rem; }
.op-side-box .op-map { border: 0; }
.op-side-box__cat { font-size: 1.1rem; font-weight: 700; color: var(--op-blau); }
.op-side-box__date { color: var(--op-blau); margin-top: .4rem; }
.op-directions { display: inline-block; margin-top: .6rem; font-weight: 700; }
.op-content-box { background: var(--op-gelb); padding: 1.75rem; }
/* Bildnachweis (Foto-Credit unter dem Bild) */
.op-bildnachweis { font-size: .75rem; color: #5a5d68; margin-top: 0; }
.op-bildnachweis a { color: inherit; }
.op-theme-blau .op-bildnachweis { color: rgba(255,255,255,.7); }
.op-theme-blau .op-bildnachweis a { color: var(--op-gelb); }
.op-content-box .op-quelle-head { font-weight: 700; color: var(--op-blau); margin-top: 1.5rem; }
/* =========================================================================
16. TOUCH-KIOSK & BARRIEREFREIHEIT
========================================================================= */
/* Etwas größere Basisschrift für Lesbarkeit auf Distanz (Kiosk) */
html { font-size: 17px; }
/* Tap-Ziele ≥ 4448px, angenehmes Antippen */
a, button, label, summary, .op-scard { -webkit-tap-highlight-color: rgba(30,39,88,.15); }
.uk-button {
min-height: 48px;
padding-top: .7rem; padding-bottom: .7rem;
display: inline-flex; align-items: center; justify-content: center;
}
.op-search input { min-height: 52px; font-size: 1.05rem; }
.op-map-filter__item {
min-height: 42px; padding: .5rem .7rem; font-size: .82rem; gap: .5rem;
}
.op-map-filter__item input[type="checkbox"] {
width: 22px; height: 22px; flex: 0 0 auto;
}
/* Topbar: Sprachen & Suche gut antippbar */
.op-topbar a,
.op-topbar .uk-subnav > li > a { display: inline-block; padding: .5rem .35rem; }
.op-such-icon { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
/* Leaflet-Bedienelemente vergrößern (Zoom, Popup-Close, Attribution) */
.leaflet-bar a {
width: 44px; height: 44px; line-height: 44px; font-size: 22px;
}
.leaflet-touch .leaflet-bar a { width: 44px; height: 44px; line-height: 44px; }
.leaflet-popup-close-button {
top: 8px !important; right: 8px !important;
width: 30px !important; height: 30px !important;
line-height: 28px !important; font-size: 22px !important;
color: var(--op-blau) !important;
background: rgba(255,255,255,.9); border-radius: 50%;
}
.op-popup__link { padding: .85em .9em 1em; min-height: 44px; }
.leaflet-control-attribution a { padding: 0; }
/* Karten-Cluster gut sicht- und antippbar */
.marker-cluster div { width: 40px; height: 40px; line-height: 36px; margin-left: -5px; margin-top: -5px; }
/* Deutlich sichtbarer Tastatur-/Touch-Fokus überall */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
.op-scard:focus-visible {
outline: 3px solid var(--op-blau);
outline-offset: 2px;
}
/* Fokus auf die Filter-Chips (Checkbox darin) sichtbar machen */
.op-map-filter__item:focus-within {
outline: 3px solid var(--op-blau);
outline-offset: 2px;
}
/* Auf Touch-Geräten (kein Hover): Aktiv-Feedback statt Hover */
@media (hover: none) {
.op-scard:active { outline-color: var(--op-blau); }
.uk-card-default:active { border-color: var(--op-blau); }
}
/* =========================================================================
17. INVERTIERTES THEMA (Erinnerungsorte): Blau statt Gelb im Vordergrund
========================================================================= */
/* Navbar → blau, Logo weiß */
.op-theme-blau .op-navbar,
.op-theme-blau .op-navbar.uk-navbar-container { background: var(--op-blau); }
.op-theme-blau .op-navbar .op-logo__img { filter: brightness(0) invert(1); }
.op-theme-blau .op-navbar .uk-navbar-nav > li > a { color: #fff; }
.op-theme-blau .op-navbar .uk-navbar-nav > li:hover > a,
.op-theme-blau .op-navbar .uk-navbar-nav > li.uk-active > a,
.op-theme-blau .op-navbar .uk-navbar-nav > li > a[aria-current="page"] {
color: #fff; box-shadow: inset 0 -5px 0 var(--op-gelb);
}
.op-theme-blau .op-navbar .uk-navbar-toggle,
.op-theme-blau .op-langswitch__toggle { color: #fff; }
.op-theme-blau .op-langswitch__toggle:hover,
.op-theme-blau .op-langswitch__toggle:focus-visible { background: rgba(255,255,255,.14); }
/* Hero-Band → blau, helle Schrift */
.op-theme-blau .op-detail-hero { background: var(--op-blau); }
.op-theme-blau .op-detail-hero h1 { color: #fff; }
.op-theme-blau .op-detail-hero .uk-text-lead,
.op-theme-blau .op-detail-hero .op-breadcrumb,
.op-theme-blau .op-detail-hero .op-breadcrumb a { color: var(--op-gelb); }
.op-theme-blau .op-detail-hero::before { color: rgba(237,244,137,.5); } /* Punktraster gelb */
.op-theme-blau .op-detail-hero::after { border-color: rgba(255,255,255,.10); } /* Ring hell */
/* Cards → blau, helle Schrift, gelbe Akzente */
.op-theme-blau .op-scard { background: var(--op-blau); border-color: var(--op-blau); }
.op-theme-blau .op-scard:hover,
.op-theme-blau .op-scard:focus-visible { outline-color: var(--op-gelb); }
.op-theme-blau .op-scard__img { background-color: #2a3566; border-bottom-color: rgba(255,255,255,.12); }
.op-theme-blau .op-scard__title { color: #fff; }
.op-theme-blau .op-scard__cat { color: var(--op-gelb); }
.op-theme-blau .op-scard__sub { color: rgba(255,255,255,.82); opacity: 1; }
.op-theme-blau .op-scard__addr { color: var(--op-gelb); }
.op-theme-blau .op-scard__dot { background: var(--op-gelb) !important; }
/* Detailseite: Inhalts- & Sidebar-Boxen → blau */
.op-theme-blau .op-content-box,
.op-theme-blau .op-side-box { background: var(--op-blau); color: #fff; }
.op-theme-blau .op-content-box a,
.op-theme-blau .op-content-box .op-quelle-head,
.op-theme-blau .op-side-box__date,
.op-theme-blau .op-side-box a,
.op-theme-blau .op-directions { color: var(--op-gelb); }
.op-theme-blau .op-content-box a:hover,
.op-theme-blau .op-side-box a:hover { color: #fff; }
/* Gelbes „Art"-Label auf blauem Grund */
.op-kategorie--gelb { background: var(--op-gelb); color: var(--op-blau); }
/* =========================================================================
18. REDUCED MOTION
========================================================================= */
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
*,
*::before,
*::after {
animation-duration: 0.001ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.001ms !important;
}
}
+195
View File
@@ -0,0 +1,195 @@
/* =========================================================================
OP·Karte Leaflet + OpenStreetMap
- farbige Kreis-Marker je Kategorie, Clustering (markercluster)
- Kategorie-Filter (Checkboxen) + Textsuche, synchron mit der Card-Liste
- Klick auf Card öffnet den zugehörigen Marker
Daten kommen aus <script type="application/json" id="op-map-data">.
========================================================================= */
(function () {
"use strict";
function init() {
var el = document.getElementById("op-map");
if (!el || typeof L === "undefined") return;
var dataNode = document.getElementById("op-map-data");
if (!dataNode) return;
var payload = JSON.parse(dataNode.textContent || "{}");
var places = payload.places || [];
var colors = payload.colors || {};
var defaultColor = payload.defaultColor || "#1e2758";
var tileUrl = payload.tileUrl || "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png";
var attribution = payload.attribution ||
'&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>-Mitwirkende';
var map = L.map(el, { scrollWheelZoom: false });
L.tileLayer(tileUrl, { maxZoom: 19, attribution: attribution }).addTo(map);
map.on("focus", function () { map.scrollWheelZoom.enable(); });
map.on("blur", function () { map.scrollWheelZoom.disable(); });
var useCluster = places.length > 1 && typeof L.markerClusterGroup === "function";
var group = useCluster
? L.markerClusterGroup({ maxClusterRadius: 45, showCoverageOnHover: false })
: L.featureGroup();
map.addLayer(group);
var byUrl = {};
var records = [];
places.forEach(function (p) {
if (typeof p.lat !== "number" || typeof p.lng !== "number") return;
var cat = (p.categories && p.categories[0]) || "";
var color = colors[cat] || defaultColor;
var marker = L.marker([p.lat, p.lng], {
icon: pinIcon(color),
riseOnHover: true,
keyboard: true,
title: p.title, // nativer Browser-Tooltip / a11y
alt: "Schauplatz: " + p.title
});
// Popup ohne autoPan, damit die Karte beim Hover nicht springt
marker.bindPopup(popupHtml(p, cat, color), { autoPan: false, closeButton: true, minWidth: 250, maxWidth: 250 });
// Beim Drüberfahren (Desktop) öffnet sich die Kurzinfo; Tap/Klick ebenso
marker.on("mouseover", function () { marker.openPopup(); });
var rec = { p: p, marker: marker, cats: p.categories || [], text: (p.title + " " + (p.subtitle || "") + " " + (p.address || "")).toLowerCase() };
records.push(rec);
if (p.url) byUrl[p.url] = rec;
});
var allBounds = records.length ? L.latLngBounds(records.map(function (r) { return r.marker.getLatLng(); })) : null;
// --- Filter-Status ---
var activeCats = null; // null = alle
var query = "";
function visible(rec) {
if (query && rec.text.indexOf(query) === -1) return false;
if (activeCats) {
var ok = rec.cats.some(function (c) { return activeCats[c]; });
if (!ok) return false;
}
return true;
}
function apply() {
group.clearLayers();
var shown = 0, bounds = L.latLngBounds([]);
records.forEach(function (rec) {
var v = visible(rec);
if (v) { group.addLayer(rec.marker); shown++; bounds.extend(rec.marker.getLatLng()); }
});
// Cards synchronisieren
cards.forEach(function (card) {
var url = card.getAttribute("data-url");
var rec = url && byUrl[url];
var show;
if (rec) show = visible(rec);
else {
// Cards ohne Koordinaten: nur Textsuche greift
var t = (card.getAttribute("data-text") || "").toLowerCase();
show = !query || t.indexOf(query) !== -1;
}
card.classList.toggle("is--hidden", !show);
});
var countCards = cards.filter(function (c) { return !c.classList.contains("is--hidden"); }).length;
if (countEl) countEl.textContent = countCards;
if (bounds.isValid()) map.fitBounds(bounds.pad(0.15));
else if (allBounds) map.fitBounds(allBounds.pad(0.15));
}
// --- DOM-Hooks ---
var cards = Array.prototype.slice.call(document.querySelectorAll("[data-op-card]"));
var countEl = document.querySelector("[data-op-count]");
var searchEl = document.querySelector("[data-op-search]");
var filterEl = document.querySelector("[data-op-map-filter]");
if (filterEl) {
var stateEl = document.querySelector("[data-op-filter-state]");
var wordAll = (stateEl && stateEl.getAttribute("data-word-all")) || "alle";
var wordOf = (stateEl && stateEl.getAttribute("data-word-of")) || "von";
var updateState = function () {
if (!stateEl) return;
var boxes = filterEl.querySelectorAll("input[type=checkbox]");
var total = boxes.length, on = 0;
boxes.forEach(function (cb) { if (cb.checked) on++; });
stateEl.textContent = on === total ? "· " + wordAll : "· " + on + " " + wordOf + " " + total;
};
var updateCats = function () {
var boxes = filterEl.querySelectorAll("input[type=checkbox]");
activeCats = {};
var anyUnchecked = false;
boxes.forEach(function (cb) { activeCats[cb.value] = cb.checked; if (!cb.checked) anyUnchecked = true; });
if (!anyUnchecked) activeCats = null; // alle aktiv → kein Filter
updateState();
apply();
};
filterEl.addEventListener("change", updateCats);
updateState(); // Anfangszustand im eingeklappten Filter anzeigen
// Schnellauswahl: alle auswählen / abwählen
var setAll = function (state) {
filterEl.querySelectorAll("input[type=checkbox]").forEach(function (cb) { cb.checked = state; });
updateCats();
};
var btnAll = document.querySelector("[data-op-filter-all]");
var btnNone = document.querySelector("[data-op-filter-none]");
if (btnAll) btnAll.addEventListener("click", function () { setAll(true); });
if (btnNone) btnNone.addEventListener("click", function () { setAll(false); });
}
if (searchEl) {
var deb;
searchEl.addEventListener("input", function () {
clearTimeout(deb);
deb = setTimeout(function () { query = searchEl.value.trim().toLowerCase(); apply(); }, 150);
});
}
// Cards sind normale Links → Klick führt direkt zur Detailseite.
// (Die Verortung passiert über die Marker/Popups auf der Karte.)
// Vorbelegung aus URL (?q=…), z.B. von der Kopf-Suche
try {
var q0 = new URLSearchParams(location.search).get("q");
if (q0) { query = q0.trim().toLowerCase(); if (searchEl) searchEl.value = q0; }
} catch (e) {}
// Erstanzeige (apply() befüllt die Layer-Gruppe und setzt den Ausschnitt)
if (!records.length) map.setView([50.9, 11.6], 6);
apply();
}
function pinIcon(color) {
var svg =
'<svg class="op-pin" width="30" height="42" viewBox="0 0 30 42" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">' +
'<path d="M15 41 C15 41 3 24 3 14 A12 12 0 1 1 27 14 C27 24 15 41 15 41 Z" fill="' + color + '" stroke="#ffffff" stroke-width="2.5"/>' +
'<circle cx="15" cy="14" r="5" fill="#ffffff"/>' +
'</svg>';
return L.divIcon({
html: svg,
className: "op-pinwrap",
iconSize: [30, 42],
iconAnchor: [15, 41],
popupAnchor: [0, -36]
});
}
function popupHtml(p, cat, color) {
var tag = p.url ? "a" : "div";
var href = p.url ? ' href="' + p.url + '"' : "";
var h = "<" + tag + ' class="op-popup"' + href + ">";
if (p.img) h += '<span class="op-popup__img" style="background-image:url(\'' + p.img + '\')"></span>';
h += '<span class="op-popup__body">';
h += '<span class="op-popup__title">' + esc(p.title) + "</span>";
var meta = p.address || p.subtitle || "";
if (meta) h += '<span class="op-popup__addr">' + esc(meta) + "</span>";
h += "</span></" + tag + ">";
return h;
}
function esc(s) {
return String(s == null ? "" : s).replace(/&/g, "&amp;").replace(/</g, "&lt;")
.replace(/>/g, "&gt;").replace(/"/g, "&quot;");
}
if (document.readyState !== "loading") init();
else document.addEventListener("DOMContentLoaded", init);
})();
Binary file not shown.
Binary file not shown.
+928
View File
@@ -0,0 +1,928 @@
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Dokumentationszentrum Startseite (Prototyp)</title>
<!--
Startseiten-Prototyp „Dokumentationszentrum" im Stil einer YOOtheme-Pro-Website.
Alle Inhalte sind Platzhalter.
HINWEIS ASSETS: Die hier eingebundenen CDN-Ressourcen (UIkit) dienen NUR der
Vorschau. Produktiv die Assets lokal hosten (DSGVO keine Third-Party-Requests
an jsDelivr) und die Version pinnen (kein „latest"). Gleiches gilt für Fonts.
-->
<!-- UIkit 3 CDN nur für Vorschau; produktiv lokal hosten und Version pinnen -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/uikit@3.21.13/dist/css/uikit.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/uikit@3.21.13/dist/js/uikit.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/uikit@3.21.13/dist/js/uikit-icons.min.js"></script>
<style>
/* =========================================================================
1. DESIGN-TOKENS (CSS Custom Properties)
========================================================================= */
:root {
--op-blau: #1f2a63; /* Primär. TODO: gegen Logo-SVG verifizieren */
--op-blau-dunkel: #141b45; /* Hover */
--op-gelb: #edf489; /* Sekundär / Signalfarbe */
--op-gelb-hell: #f7fbc9;
--op-papier: #f6f6f1; /* muted Hintergrund */
--op-linie: #d9dbcf; /* Rahmen */
--op-text: #23242a; /* Fließtext */
--op-font: "ABC Favorit", Helvetica, Arial, sans-serif;
}
/* =========================================================================
2. WEBFONTS (produktiv aktivieren WOFF2 lokal unter /fonts/ ablegen)
========================================================================= */
/*
@font-face {
font-family: "ABC Favorit";
src: url("/fonts/abc-favorit-regular.woff2") format("woff2");
font-weight: 400;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: "ABC Favorit";
src: url("/fonts/abc-favorit-bold.woff2") format("woff2");
font-weight: 700;
font-style: normal;
font-display: swap;
}
*/
/* =========================================================================
3. BASIS / RESET-ERGÄNZUNGEN
========================================================================= */
html { scroll-behavior: smooth; }
body {
font-family: var(--op-font);
color: var(--op-text);
background: #fff;
}
/* Kantige Anmutung: border-radius überall aus */
*,
*::before,
*::after { border-radius: 0 !important; }
/* Textauswahl: gelb mit blauem Text */
::selection { background: var(--op-gelb); color: var(--op-blau); }
/* Sichtbarer Tastaturfokus */
:focus-visible {
outline: 3px solid var(--op-blau);
outline-offset: 2px;
}
/* Utility: gelber Textmarker */
.op-marker {
background-image: linear-gradient(var(--op-gelb), var(--op-gelb));
background-repeat: no-repeat;
background-position: 0 0.15em;
background-size: 100% 0.85em;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
padding: 0 0.05em;
}
/* =========================================================================
4. TYPOGRAFIE (UIkit-Overrides)
========================================================================= */
h1, h2, h3, h4, h5, h6,
.uk-h1, .uk-h2, .uk-h3, .uk-h4 {
color: var(--op-blau);
font-weight: 700;
letter-spacing: -0.01em;
}
h1, .uk-h1 {
font-size: clamp(2.4rem, 6vw, 4.2rem);
line-height: 1.05;
}
a {
color: var(--op-blau);
text-decoration: underline;
text-underline-offset: 3px;
}
a:hover { color: var(--op-blau-dunkel); }
/* =========================================================================
5. BUTTONS
========================================================================= */
.uk-button {
font-weight: 700;
letter-spacing: 0.01em;
text-transform: none;
text-decoration: none;
transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
/* primary = blaue Fläche / weißer Text */
.uk-button-primary {
background: var(--op-blau);
color: #fff;
border: 2px solid var(--op-blau);
}
.uk-button-primary:hover,
.uk-button-primary:focus {
background: var(--op-blau-dunkel);
border-color: var(--op-blau-dunkel);
color: #fff;
}
/* secondary = gelbe Fläche / blauer Text */
.uk-button-secondary {
background: var(--op-gelb);
color: var(--op-blau);
border: 2px solid var(--op-blau);
}
.uk-button-secondary:hover,
.uk-button-secondary:focus {
background: var(--op-gelb-hell);
color: var(--op-blau-dunkel);
border-color: var(--op-blau-dunkel);
}
/* default = blaue Outline, bei Hover gefüllt */
.uk-button-default {
background: transparent;
color: var(--op-blau);
border: 2px solid var(--op-blau);
}
.uk-button-default:hover,
.uk-button-default:focus {
background: var(--op-blau);
color: #fff;
border-color: var(--op-blau);
}
/* uk-button-text mit gelber Unterstreichung */
.uk-button-text {
color: var(--op-blau);
text-transform: none;
font-weight: 700;
}
.uk-button-text::before {
border-bottom: 3px solid var(--op-gelb);
}
/* =========================================================================
6. NAVBAR
========================================================================= */
.op-navbar {
background: #fff;
border-bottom: 3px solid var(--op-blau);
}
.op-navbar .uk-navbar-nav > li > a {
color: var(--op-blau);
font-weight: 700;
text-transform: none;
text-decoration: none;
min-height: 72px;
}
.op-navbar .uk-navbar-nav > li:hover > a,
.op-navbar .uk-navbar-nav > li > a:focus,
.op-navbar .uk-navbar-nav > li.uk-active > a,
.op-navbar .uk-navbar-nav > li > a[aria-current="page"] {
color: var(--op-blau-dunkel);
box-shadow: inset 0 -6px 0 var(--op-gelb);
}
.op-navbar .uk-navbar-toggle { color: var(--op-blau); }
.uk-navbar-dropdown { background: #fff; border: 1px solid var(--op-linie); }
.uk-navbar-dropdown-nav > li > a {
color: var(--op-blau);
text-decoration: none;
}
.uk-navbar-dropdown-nav > li > a:hover {
color: var(--op-blau-dunkel);
background: var(--op-gelb-hell);
}
/* Logo-Platzhalter */
.op-logo {
display: inline-flex;
align-items: center;
gap: .6rem;
text-decoration: none;
}
.op-logo__mark {
width: 44px;
height: 44px;
background: var(--op-blau);
color: #fff;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: .7rem;
font-weight: 700;
letter-spacing: .05em;
}
.op-logo__mark--invert { background: var(--op-gelb); color: var(--op-blau); }
.op-logo__word {
color: var(--op-blau);
font-weight: 700;
line-height: 1.05;
font-size: .95rem;
letter-spacing: .01em;
}
.op-logo__word span { display: block; }
/* =========================================================================
7. TOPBAR
========================================================================= */
.op-topbar {
background: var(--op-papier);
border-bottom: 1px solid var(--op-linie);
font-size: .85rem;
}
.op-topbar a { text-decoration: none; color: var(--op-blau); }
.op-topbar .uk-subnav > li > a {
color: var(--op-blau);
text-transform: none;
font-weight: 700;
}
.op-topbar .uk-subnav > li.uk-active > a { color: var(--op-blau); }
.op-topbar .uk-subnav > li.uk-active > a::after {
content: "";
display: block;
height: 3px;
background: var(--op-gelb);
margin-top: 2px;
}
/* =========================================================================
8. CARDS
========================================================================= */
.uk-card-default {
background: #fff;
border: 1px solid var(--op-linie);
box-shadow: none !important;
transition: border-color .15s ease;
}
.uk-card-default:hover { border-color: var(--op-blau); }
.op-card-datum {
color: var(--op-blau);
font-weight: 700;
letter-spacing: .01em;
}
.op-card-titel a { text-decoration: none; }
.op-card-titel a:hover { text-decoration: underline; }
/* Kategorie-Label */
.op-kategorie {
display: inline-block;
background: var(--op-gelb);
color: var(--op-blau);
text-transform: uppercase;
letter-spacing: .08em;
font-size: .72rem;
font-weight: 700;
padding: .25em .6em;
}
.op-meta { color: #555; font-size: .82rem; }
/* =========================================================================
9. FORMULARE
========================================================================= */
.uk-input,
.uk-textarea,
.uk-select {
border: 2px solid var(--op-blau);
background: #fff;
color: var(--op-text);
}
.uk-input:focus,
.uk-textarea:focus,
.uk-select:focus {
border-color: var(--op-blau);
background: var(--op-gelb-hell);
}
.uk-checkbox {
border: 2px solid var(--op-blau);
background: #fff;
}
.uk-checkbox:checked,
.uk-checkbox:indeterminate {
background-color: var(--op-blau);
border-color: var(--op-blau);
}
.uk-form-label { font-weight: 700; color: var(--op-blau); }
/* =========================================================================
10. BILD-PLATZHALTER
========================================================================= */
.op-bild {
position: relative;
border: 1px solid var(--op-linie);
background-color: var(--op-papier);
background-image: repeating-linear-gradient(
45deg,
var(--op-papier) 0,
var(--op-papier) 10px,
var(--op-gelb-hell) 10px,
var(--op-gelb-hell) 20px
);
display: flex;
align-items: center;
justify-content: center;
}
.op-bild__label {
background: #fff;
border: 1px solid var(--op-linie);
color: var(--op-blau);
font-size: .78rem;
font-weight: 700;
padding: .2em .6em;
text-transform: uppercase;
letter-spacing: .05em;
}
.op-bild--16-9 { aspect-ratio: 16 / 9; }
.op-bild--4-3 { aspect-ratio: 4 / 3; }
.op-bild--1-1 { aspect-ratio: 1 / 1; }
/* =========================================================================
11. SEKTIONS-FARBEN & DIVIDER
========================================================================= */
.op-section-gelb { background: var(--op-gelb); }
.op-section-muted { background: var(--op-papier); }
.op-section-blau { background: var(--op-blau); color: #fff; }
.op-oeffnungsbox {
background: #fff;
border: 2px solid var(--op-blau);
padding: 1.75rem;
}
.op-divider { display: block; width: 100%; height: 46px; }
/* =========================================================================
12. SLIDER / DOTNAV
========================================================================= */
.uk-dotnav > * > * {
border: 1px solid var(--op-blau);
background: transparent;
}
.uk-dotnav > .uk-active > * { background: var(--op-blau); }
.op-slidenav { color: var(--op-blau); }
/* =========================================================================
13. FOOTER
========================================================================= */
.op-footer a { color: #fff; text-decoration: none; }
.op-footer a:hover { color: var(--op-gelb); }
.op-footer .op-footer-head {
color: var(--op-gelb);
text-transform: uppercase;
letter-spacing: .08em;
font-size: .8rem;
font-weight: 700;
}
.op-footer hr { border-top: 1px solid rgba(255,255,255,.25); }
.op-footer .uk-subnav > li > a { color: #fff; text-transform: none; }
.op-footer .uk-subnav > li > a:hover { color: var(--op-gelb); }
.op-foerder {
border: 2px dashed rgba(255,255,255,.5);
color: rgba(255,255,255,.85);
padding: 2rem 1rem;
text-align: center;
font-size: .85rem;
}
/* =========================================================================
14. SKIP-LINK
========================================================================= */
.op-skip-link {
position: absolute;
left: 1rem;
top: -60px;
z-index: 2000;
background: var(--op-gelb);
color: var(--op-blau);
font-weight: 700;
padding: .6rem 1rem;
text-decoration: none;
transition: top .15s ease;
}
.op-skip-link:focus { top: 1rem; }
/* =========================================================================
15. SUCH-ICON
========================================================================= */
.op-such-icon { color: var(--op-blau); }
/* =========================================================================
16. REDUCED MOTION
========================================================================= */
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
*,
*::before,
*::after {
animation-duration: 0.001ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.001ms !important;
}
}
</style>
</head>
<body>
<!-- 1. SKIP-LINK -->
<a class="op-skip-link" href="#hauptinhalt">Zum Hauptinhalt springen</a>
<!-- 2. TOPBAR (nur ab @m) -->
<div class="op-topbar uk-visible@m">
<div class="uk-container uk-container-expand">
<div class="uk-flex uk-flex-between uk-flex-middle" style="min-height:44px;">
<div>
<a href="#">Leichte Sprache</a>
</div>
<div class="uk-flex uk-flex-middle">
<nav aria-label="Sprachauswahl">
<ul class="uk-subnav uk-margin-remove">
<li class="uk-active"><a href="#" aria-current="true" lang="de">Deutsch</a></li>
<li><a href="#" lang="en">English</a></li>
<li><a href="#" lang="ar">العربية</a></li>
<li><a href="#" lang="el">ελληνικά</a></li>
<li><a href="#" lang="tr">Türkçe</a></li>
<li><a href="#" lang="uk">українська</a></li>
</ul>
</nav>
<a class="op-such-icon uk-margin-small-left" href="#op-suche"
uk-toggle="target: #op-suche" aria-label="Suche öffnen"
uk-icon="icon: search"></a>
</div>
</div>
</div>
</div>
<!-- SUCH-MODAL (vollflächig) -->
<div id="op-suche" class="uk-modal-full" uk-modal>
<div class="uk-modal-dialog uk-flex uk-flex-center uk-flex-middle" style="min-height:100vh;" uk-height-viewport>
<button class="uk-modal-close-full uk-close-large" type="button" uk-close aria-label="Suche schließen"></button>
<div class="uk-width-2-3@m uk-text-center">
<form action="#" role="search" aria-label="Website durchsuchen">
<label class="uk-form-label uk-margin-small-bottom uk-display-block" for="op-suchfeld">Suche</label>
<div class="uk-search uk-search-large uk-width-1-1">
<span uk-search-icon></span>
<input id="op-suchfeld" class="uk-search-input" type="search" placeholder="Suchbegriff eingeben …" aria-label="Suchbegriff">
</div>
</form>
</div>
</div>
</div>
<!-- 3. STICKY NAVBAR -->
<header>
<div uk-sticky="animation: uk-animation-slide-top; sel-target: .op-navbar; cls-active: uk-navbar-sticky">
<nav class="op-navbar uk-navbar-container" aria-label="Hauptnavigation" uk-navbar>
<div class="uk-container uk-container-expand">
<div uk-navbar>
<!-- Logo -->
<div class="uk-navbar-left">
<a class="op-logo uk-navbar-item uk-logo" href="#" aria-label="Dokumentationszentrum Startseite">
<span class="op-logo__mark" aria-hidden="true">SVG</span>
<span class="op-logo__word"><span>Dokumentations&shy;</span><span>zentrum</span></span>
</a>
</div>
<!-- Desktop-Navigation -->
<div class="uk-navbar-right uk-visible@l">
<ul class="uk-navbar-nav">
<li class="uk-active"><a href="#" aria-current="page">Aktuelles</a></li>
<li>
<a href="#" aria-haspopup="true">Besuch <span uk-navbar-parent-icon></span></a>
<div class="uk-navbar-dropdown">
<ul class="uk-nav uk-navbar-dropdown-nav">
<li><a href="#">Öffnungszeiten &amp; Anfahrt</a></li>
<li><a href="#">Barrierefreiheit</a></li>
<li><a href="#">Führungen buchen</a></li>
<li><a href="#">Häufige Fragen</a></li>
</ul>
</div>
</li>
<li>
<a href="#" aria-haspopup="true">Programm <span uk-navbar-parent-icon></span></a>
<div class="uk-navbar-dropdown">
<ul class="uk-nav uk-navbar-dropdown-nav">
<li><a href="#">Veranstaltungen</a></li>
<li><a href="#">Ausstellungen</a></li>
<li><a href="#">Kooperationen</a></li>
</ul>
</div>
</li>
<li>
<a href="#" aria-haspopup="true">Lernen <span uk-navbar-parent-icon></span></a>
<div class="uk-navbar-dropdown">
<ul class="uk-nav uk-navbar-dropdown-nav">
<li><a href="#">Angebote für Schulen</a></li>
<li><a href="#">Workshops</a></li>
<li><a href="#">Materialien</a></li>
<li><a href="#">Fortbildungen</a></li>
</ul>
</div>
</li>
<li>
<a href="#" aria-haspopup="true">Recherche <span uk-navbar-parent-icon></span></a>
<div class="uk-navbar-dropdown">
<ul class="uk-nav uk-navbar-dropdown-nav">
<li><a href="#">Archiv &amp; Bestände</a></li>
<li><a href="#">Bibliothek</a></li>
<li><a href="#">Digitale Sammlung</a></li>
</ul>
</div>
</li>
</ul>
</div>
<!-- Mobile-Toggle -->
<div class="uk-navbar-right uk-hidden@l">
<a class="uk-navbar-toggle" href="#op-offcanvas" uk-toggle
uk-navbar-toggle-icon aria-label="Menü öffnen"></a>
</div>
</div>
</div>
</nav>
</div>
</header>
<!-- OFFCANVAS (mobil) -->
<div id="op-offcanvas" uk-offcanvas="overlay: true; flip: true">
<div class="uk-offcanvas-bar">
<button class="uk-offcanvas-close" type="button" uk-close aria-label="Menü schließen"></button>
<nav aria-label="Mobile Navigation">
<ul class="uk-nav uk-nav-primary uk-nav-parent-icon" uk-nav>
<li class="uk-active"><a href="#" aria-current="page">Aktuelles</a></li>
<li class="uk-parent">
<a href="#">Besuch</a>
<ul class="uk-nav-sub">
<li><a href="#">Öffnungszeiten &amp; Anfahrt</a></li>
<li><a href="#">Barrierefreiheit</a></li>
<li><a href="#">Führungen buchen</a></li>
<li><a href="#">Häufige Fragen</a></li>
</ul>
</li>
<li class="uk-parent">
<a href="#">Programm</a>
<ul class="uk-nav-sub">
<li><a href="#">Veranstaltungen</a></li>
<li><a href="#">Ausstellungen</a></li>
<li><a href="#">Kooperationen</a></li>
</ul>
</li>
<li class="uk-parent">
<a href="#">Lernen</a>
<ul class="uk-nav-sub">
<li><a href="#">Angebote für Schulen</a></li>
<li><a href="#">Workshops</a></li>
<li><a href="#">Materialien</a></li>
<li><a href="#">Fortbildungen</a></li>
</ul>
</li>
<li class="uk-parent">
<a href="#">Recherche</a>
<ul class="uk-nav-sub">
<li><a href="#">Archiv &amp; Bestände</a></li>
<li><a href="#">Bibliothek</a></li>
<li><a href="#">Digitale Sammlung</a></li>
</ul>
</li>
</ul>
</nav>
</div>
</div>
<!-- HAUPTINHALT -->
<main id="hauptinhalt">
<!-- 4. HERO -->
<section class="op-section-gelb uk-section uk-section-large">
<div class="uk-container">
<div class="uk-grid-large uk-flex-middle" uk-grid>
<div class="uk-width-2-3@m">
<h1>Wie erinnern wir <span class="op-marker">gemeinsam</span> an das, was nicht vergessen werden darf?</h1>
</div>
<div class="uk-width-1-3@m">
<div class="op-oeffnungsbox">
<h2 class="uk-h4 uk-margin-small-bottom">Öffnungszeiten</h2>
<ul class="uk-list uk-margin-small">
<li><strong>Di Fr</strong> · 10 18 Uhr</li>
<li><strong>Sa So</strong> · 11 17 Uhr</li>
<li><strong>Mo</strong> · geschlossen</li>
</ul>
<p class="op-meta uk-margin-small">Der Eintritt ist frei. Platzhaltertext zu Feiertagsregelungen.</p>
<a class="uk-button uk-button-primary" href="#">Anfahrt</a>
</div>
</div>
</div>
</div>
<!-- Vollbreiter Wellen-Divider („Vorhang"-Motiv) -->
<svg class="op-divider uk-margin-large-top" viewBox="0 0 1200 46" preserveAspectRatio="none" aria-hidden="true" focusable="false">
<path d="M0,46 L0,20 C60,4 120,4 180,20 C240,36 300,36 360,20 C420,4 480,4 540,20 C600,36 660,36 720,20 C780,4 840,4 900,20 C960,36 1020,36 1080,20 C1140,4 1170,4 1200,20 L1200,46 Z" fill="#edf489"/>
</svg>
</section>
<!-- 5. VERANSTALTUNGEN -->
<section class="uk-section">
<div class="uk-container">
<h2>Veranstaltungen</h2>
<div class="uk-child-width-1-2@s uk-child-width-1-4@l uk-grid-match uk-margin-medium-top" uk-grid>
<div>
<div class="uk-card uk-card-default uk-card-body">
<span class="op-kategorie">Vortrag</span>
<p class="op-card-datum uk-margin-small-top uk-margin-remove-bottom">Do, 21. Aug · 19 Uhr</p>
<h3 class="uk-h5 op-card-titel uk-margin-small"><a href="#">Platzhaltertitel einer Abendveranstaltung</a></h3>
<p class="op-meta uk-margin-remove">Kurzer Teaser-Platzhalter in zwei bis drei Zeilen, der neugierig auf den Inhalt macht.</p>
</div>
</div>
<div>
<div class="uk-card uk-card-default uk-card-body">
<span class="op-kategorie">Führung</span>
<p class="op-card-datum uk-margin-small-top uk-margin-remove-bottom">Sa, 23. Aug · 14 Uhr</p>
<h3 class="uk-h5 op-card-titel uk-margin-small"><a href="#">Platzhaltertitel einer Führung durch das Haus</a></h3>
<p class="op-meta uk-margin-remove">Kurzer Teaser-Platzhalter in zwei bis drei Zeilen mit Blindtext für die Vorschau.</p>
</div>
</div>
<div>
<div class="uk-card uk-card-default uk-card-body">
<span class="op-kategorie">Workshop</span>
<p class="op-card-datum uk-margin-small-top uk-margin-remove-bottom">Mi, 27. Aug · 16 Uhr</p>
<h3 class="uk-h5 op-card-titel uk-margin-small"><a href="#">Platzhaltertitel eines Workshops für Jugendliche</a></h3>
<p class="op-meta uk-margin-remove">Kurzer Teaser-Platzhalter in zwei bis drei Zeilen zur inhaltlichen Einordnung.</p>
</div>
</div>
<div>
<div class="uk-card uk-card-default uk-card-body">
<span class="op-kategorie">Gespräch</span>
<p class="op-card-datum uk-margin-small-top uk-margin-remove-bottom">Fr, 29. Aug · 18 Uhr</p>
<h3 class="uk-h5 op-card-titel uk-margin-small"><a href="#">Platzhaltertitel eines Podiumsgesprächs</a></h3>
<p class="op-meta uk-margin-remove">Kurzer Teaser-Platzhalter in zwei bis drei Zeilen für die Übersicht.</p>
</div>
</div>
</div>
<div class="uk-margin-medium-top">
<a class="uk-button uk-button-default" href="#">Alle Veranstaltungen</a>
</div>
</div>
</section>
<!-- 6. LEITBILD -->
<section class="op-section-muted uk-section">
<div class="uk-container">
<div class="uk-grid-large uk-flex-middle" uk-grid>
<div class="uk-width-3-5@m">
<h2>Unser Leitbild</h2>
<p class="uk-text-lead">Ein Platzhalter-Leitsatz, der in einem Satz beschreibt, wofür das Dokumentationszentrum steht und arbeitet.</p>
<p>Fließtext-Platzhalter: Lorem-ipsum-artiger Blindtext, der den Umfang eines einleitenden Absatzes andeutet und die Typografie im Fließtext demonstriert. Der Text dient ausschließlich der Vorschau und wird produktiv ersetzt.</p>
<p>Ein zweiter Absatz mit weiterem Platzhaltertext, der zeigt, wie mehrere Absätze im Layout wirken und wie viel Raum das Leitbild einnimmt.</p>
<a class="uk-button uk-button-text" href="#">Mehr erfahren</a>
</div>
<div class="uk-width-2-5@m">
<!-- Vorhang-Illustration: geschwungene vertikale Linien, abwechselnd blau/gelb -->
<svg viewBox="0 0 400 300" width="100%" role="img" aria-label="Illustration: geschwungene Vorhangbahnen">
<rect x="0" y="0" width="400" height="300" fill="#ffffff"/>
<path d="M40,0 C20,75 60,150 40,225 C20,285 40,300 40,300" fill="none" stroke="#1f2a63" stroke-width="8"/>
<path d="M100,0 C80,75 120,150 100,225 C80,285 100,300 100,300" fill="none" stroke="#edf489" stroke-width="8"/>
<path d="M160,0 C140,75 180,150 160,225 C140,285 160,300 160,300" fill="none" stroke="#1f2a63" stroke-width="8"/>
<path d="M220,0 C200,75 240,150 220,225 C200,285 220,300 220,300" fill="none" stroke="#edf489" stroke-width="8"/>
<path d="M280,0 C260,75 300,150 280,225 C260,285 280,300 280,300" fill="none" stroke="#1f2a63" stroke-width="8"/>
<path d="M340,0 C320,75 360,150 340,225 C320,285 340,300 340,300" fill="none" stroke="#edf489" stroke-width="8"/>
</svg>
</div>
</div>
</div>
</section>
<!-- 7. NEUIGKEITEN -->
<section class="uk-section">
<div class="uk-container">
<h2>Neuigkeiten</h2>
<div class="uk-child-width-1-3@m uk-grid-match uk-margin-medium-top" uk-grid>
<div>
<div class="uk-card uk-card-default">
<div class="uk-card-media-top">
<div class="op-bild op-bild--16-9"><span class="op-bild__label">Bild 16:9</span></div>
</div>
<div class="uk-card-body">
<h3 class="uk-h5 op-card-titel"><a href="#">Platzhaltertitel eines Beitrags aus dem Haus</a></h3>
<p class="op-meta uk-margin-small">von Vorname Nachname · 12. Aug 2026</p>
<p class="uk-margin-remove">Anriss-Platzhalter: kurzer Textausschnitt, der den Beitrag anteasert und zum Weiterlesen einlädt.</p>
</div>
</div>
</div>
<div>
<div class="uk-card uk-card-default">
<div class="uk-card-media-top">
<div class="op-bild op-bild--16-9"><span class="op-bild__label">Bild 16:9</span></div>
</div>
<div class="uk-card-body">
<h3 class="uk-h5 op-card-titel"><a href="#">Platzhaltertitel eines Berichts zur Recherche</a></h3>
<p class="op-meta uk-margin-small">von Vorname Nachname · 8. Aug 2026</p>
<p class="uk-margin-remove">Anriss-Platzhalter: kurzer Textausschnitt mit Blindtext für die Vorschau der Kachel.</p>
</div>
</div>
</div>
<div>
<div class="uk-card uk-card-default">
<div class="uk-card-media-top">
<div class="op-bild op-bild--16-9"><span class="op-bild__label">Bild 16:9</span></div>
</div>
<div class="uk-card-body">
<h3 class="uk-h5 op-card-titel"><a href="#">Platzhaltertitel einer Ankündigung</a></h3>
<p class="op-meta uk-margin-small">von Vorname Nachname · 3. Aug 2026</p>
<p class="uk-margin-remove">Anriss-Platzhalter: kurzer Textausschnitt, der die Neuigkeit knapp zusammenfasst.</p>
</div>
</div>
</div>
</div>
<div class="uk-margin-medium-top">
<a class="uk-button uk-button-default" href="#">Alle Neuigkeiten</a>
</div>
</div>
</section>
<!-- 8. BILDERGALERIE -->
<section class="op-section-muted uk-section">
<div class="uk-container">
<h2>Aus der Bildergalerie</h2>
</div>
<div class="uk-margin-medium-top uk-container uk-container-expand">
<div uk-slider="container-expand: true">
<div class="uk-position-relative">
<ul class="uk-slider-items uk-child-width-1-2 uk-child-width-1-3@m uk-grid">
<li><div class="op-bild op-bild--4-3"><span class="op-bild__label">Galerie 1</span></div></li>
<li><div class="op-bild op-bild--4-3"><span class="op-bild__label">Galerie 2</span></div></li>
<li><div class="op-bild op-bild--4-3"><span class="op-bild__label">Galerie 3</span></div></li>
<li><div class="op-bild op-bild--4-3"><span class="op-bild__label">Galerie 4</span></div></li>
<li><div class="op-bild op-bild--4-3"><span class="op-bild__label">Galerie 5</span></div></li>
<li><div class="op-bild op-bild--4-3"><span class="op-bild__label">Galerie 6</span></div></li>
</ul>
<a class="uk-position-center-left uk-position-small op-slidenav" href="#" uk-slidenav-previous uk-slider-item="previous" aria-label="Vorheriges Bild"></a>
<a class="uk-position-center-right uk-position-small op-slidenav" href="#" uk-slidenav-next uk-slider-item="next" aria-label="Nächstes Bild"></a>
</div>
<ul class="uk-slider-nav uk-dotnav uk-flex-center uk-margin-medium-top"></ul>
</div>
</div>
</section>
<!-- 9. NEWSLETTER -->
<section class="op-section-gelb uk-section">
<div class="uk-container">
<div class="uk-grid-large uk-flex-middle" uk-grid>
<div class="uk-width-1-2@m">
<h2>Newsletter</h2>
<p class="uk-text-lead">Platzhaltersatz: Bleiben Sie über Veranstaltungen und Neuigkeiten auf dem Laufenden.</p>
</div>
<div class="uk-width-1-2@m">
<form action="#" method="post" novalidate>
<div class="uk-margin">
<label class="uk-form-label" for="op-newsletter-mail">E-Mail-Adresse</label>
<div class="uk-form-controls">
<input class="uk-input" id="op-newsletter-mail" type="email" name="email"
autocomplete="email" placeholder="name@beispiel.de" required>
</div>
</div>
<div class="uk-margin">
<label>
<input class="uk-checkbox" type="checkbox" name="datenschutz" required>
Ich habe die <a href="#">Datenschutzerklärung</a> zur Kenntnis genommen und stimme der Verarbeitung meiner Daten zu.
</label>
</div>
<div class="uk-margin">
<button class="uk-button uk-button-primary" type="submit">Anmelden</button>
</div>
</form>
</div>
</div>
</div>
</section>
</main>
<!-- 10. FOOTER -->
<footer class="op-footer op-section-blau uk-section">
<div class="uk-container">
<div class="uk-child-width-1-2@s uk-child-width-1-4@m uk-grid-large" uk-grid>
<div>
<nav aria-label="Footer: Besuch">
<p class="op-footer-head">Besuch</p>
<ul class="uk-nav uk-nav-default">
<li><a href="#">Öffnungszeiten &amp; Anfahrt</a></li>
<li><a href="#">Barrierefreiheit</a></li>
<li><a href="#">Führungen buchen</a></li>
<li><a href="#">Häufige Fragen</a></li>
</ul>
</nav>
</div>
<div>
<nav aria-label="Footer: Programm">
<p class="op-footer-head">Programm</p>
<ul class="uk-nav uk-nav-default">
<li><a href="#">Veranstaltungen</a></li>
<li><a href="#">Ausstellungen</a></li>
<li><a href="#">Kooperationen</a></li>
</ul>
</nav>
</div>
<div>
<nav aria-label="Footer: Lernen">
<p class="op-footer-head">Lernen</p>
<ul class="uk-nav uk-nav-default">
<li><a href="#">Angebote für Schulen</a></li>
<li><a href="#">Workshops</a></li>
<li><a href="#">Materialien</a></li>
<li><a href="#">Fortbildungen</a></li>
</ul>
</nav>
</div>
<div>
<nav aria-label="Footer: Recherche">
<p class="op-footer-head">Recherche</p>
<ul class="uk-nav uk-nav-default">
<li><a href="#">Archiv &amp; Bestände</a></li>
<li><a href="#">Bibliothek</a></li>
<li><a href="#">Digitale Sammlung</a></li>
</ul>
</nav>
</div>
</div>
<hr class="uk-margin-large">
<div class="uk-grid-large uk-flex-middle" uk-grid>
<div class="uk-width-auto">
<a class="op-logo" href="#" aria-label="Dokumentationszentrum Startseite">
<span class="op-logo__mark op-logo__mark--invert" aria-hidden="true">SVG</span>
<span class="op-logo__word" style="color:#fff;"><span>Dokumentations&shy;</span><span>zentrum</span></span>
</a>
</div>
<div class="uk-width-expand@s">
<address style="font-style:normal;">
Musterstraße 1<br>
12345 Musterstadt<br>
<a href="#">post@beispiel.de</a> · +49 (0)000 000000
</address>
</div>
<div class="uk-width-auto">
<a href="#" aria-label="Instagram" uk-icon="icon: instagram; ratio: 1.3"></a>
</div>
<div class="uk-width-auto">
<nav aria-label="Weitere Links">
<ul class="uk-subnav uk-margin-remove">
<li><a href="#">Presse</a></li>
<li><a href="#">Ausschreibungen</a></li>
<li><a href="#">Jobs</a></li>
</ul>
</nav>
</div>
</div>
<div class="op-foerder uk-margin-large-top">
Platzhalterfläche für Förderlogos
</div>
<hr class="uk-margin-large">
<div class="uk-flex uk-flex-between uk-flex-wrap uk-text-small">
<span>© 2026 Dokumentationszentrum</span>
<nav aria-label="Rechtliches">
<a href="#">Impressum</a> · <a href="#">Datenschutzinformation</a>
</nav>
</div>
</div>
</footer>
</body>
</html>
+13
View File
@@ -0,0 +1,13 @@
{{ define "main" }}
<section class="op-detail-hero uk-section uk-section-large">
<div class="uk-container">
<p class="op-breadcrumb"><a href="{{ "/" | relLangURL }}">{{ i18n "home" }}</a></p>
<h1 class="uk-margin-small-top uk-margin-remove-bottom">{{ i18n "notFoundTitle" }}</h1>
<p class="uk-text-lead uk-margin-small-top">{{ i18n "notFoundText" }}</p>
<div class="uk-margin-top">
<a class="uk-button uk-button-primary" href="{{ "/" | relLangURL }}">{{ i18n "toMap" }}</a>
<a class="uk-button uk-button-default uk-margin-small-left" href="{{ "/schauplaetze/" | relLangURL }}">{{ i18n "allLocations" }}</a>
</div>
</div>
</section>
{{ end }}
+23
View File
@@ -0,0 +1,23 @@
<!doctype html>
<html lang="{{ site.Language.LanguageCode | default "de" }}">
<head>
{{ partial "head.html" . }}
</head>
<body{{ if eq .Section "erinnerungsorte" }} class="op-theme-blau"{{ end }}>
<!-- 1. SKIP-LINK -->
<a class="op-skip-link" href="#hauptinhalt">{{ i18n "skipLink" }}</a>
{{ partial "navbar.html" . }}
{{ partial "offcanvas.html" . }}
<main id="hauptinhalt">
{{ block "main" . }}{{ end }}
</main>
{{ partial "footer.html" . }}
{{ partial "scripts.html" . }}
</body>
</html>
+21
View File
@@ -0,0 +1,21 @@
{{ define "main" }}
<section class="uk-section">
<div class="uk-container">
<h1>{{ .Title }}</h1>
{{ with .Content }}<div class="uk-margin-medium">{{ . }}</div>{{ end }}
<div class="uk-child-width-1-2@s uk-child-width-1-3@l uk-grid-match uk-margin-medium-top" uk-grid>
{{ range .Pages }}
<div>
<div class="uk-card uk-card-default uk-card-body">
{{ with .Params.kategorie }}<span class="op-kategorie">{{ . }}</span>{{ end }}
{{ if not .Date.IsZero }}<p class="op-card-datum uk-margin-small-top uk-margin-remove-bottom">{{ time.Format "Mon, 2. Jan 2006" .Date }}</p>{{ end }}
<h2 class="uk-h5 op-card-titel uk-margin-small"><a href="{{ .RelPermalink }}">{{ .Title }}</a></h2>
<p class="op-meta uk-margin-remove">{{ .Params.teaser | default .Summary }}</p>
</div>
</div>
{{ end }}
</div>
</div>
</section>
{{ end }}
+22
View File
@@ -0,0 +1,22 @@
{{ define "main" }}
<section class="op-detail-hero uk-section uk-section-small">
<div class="uk-container uk-container-small">
{{ with .Params.kategorie }}<span class="op-kategorie">{{ . }}</span>{{ end }}
<h1 class="uk-margin-remove-bottom">{{ .Title }}</h1>
{{ if or .Params.author (not .Date.IsZero) }}
<p class="op-meta uk-margin-small-top uk-margin-remove-bottom">
{{ with .Params.author }}von {{ . }}{{ if not $.Date.IsZero }} · {{ end }}{{ end }}
{{ if not .Date.IsZero }}{{ time.Format "2. Jan 2006" .Date }}{{ end }}
</p>
{{ end }}
</div>
</section>
<article class="uk-section">
<div class="uk-container uk-container-small">
{{ $img := .Resources.GetMatch "{cover,*featured*,image}.*" }}
{{ with $img }}<img class="uk-margin-bottom" src="{{ .RelPermalink }}" alt="">{{ end }}
{{ .Content }}
</div>
</article>
{{ end }}
+9
View File
@@ -0,0 +1,9 @@
{{ define "main" }}
<section class="op-detail-hero uk-section uk-section-small">
<div class="uk-container">
<p class="op-breadcrumb"><a href="{{ "/schauplaetze/" | relLangURL }}">{{ i18n "breadcrumbLocations" }}</a> &raquo; {{ partial "kat-label.html" .Title }}</p>
<h1 class="uk-margin-remove-top uk-margin-remove-bottom">{{ partial "kat-label.html" .Title }}</h1>
</div>
</section>
{{ partial "explorer.html" (dict "pages" .Pages) }}
{{ end }}
@@ -0,0 +1,10 @@
{{ define "main" }}
<section class="op-detail-hero op-hero-home uk-section uk-section-small">
<div class="uk-container uk-container-expand">
<h1 class="uk-margin-remove">{{ with .Params.heroTitle }}{{ . | safeHTML }}{{ else }}{{ .Title }}{{ end }}</h1>
{{ with .Params.heroLead }}<p class="uk-text-lead uk-margin-small-top uk-margin-remove-bottom uk-width-2-3@l">{{ . }}</p>{{ end }}
</div>
</section>
{{ partial "explorer.html" (dict "pages" .Pages "showFilter" false "markerColor" "#1e2758") }}
{{ end }}
@@ -0,0 +1,59 @@
{{ define "main" }}
<!-- Hero-Band -->
<section class="op-detail-hero uk-section uk-section-small">
<div class="uk-container">
<p class="op-breadcrumb">
<a href="{{ "/erinnerungsorte/" | relLangURL }}">{{ i18n "breadcrumbMemorials" }}</a>
</p>
<h1 class="uk-margin-small-top uk-margin-remove-bottom">{{ .Title }}</h1>
{{ with .Params.subtitle }}<p class="uk-text-lead uk-margin-small-top">{{ . }}</p>{{ end }}
</div>
</section>
<section class="uk-section">
<div class="uk-container">
<div class="uk-grid-large" uk-grid>
<!-- Inhalt -->
<div class="uk-width-2-3@m">
<div class="op-content-box">
{{ $img := .Resources.GetMatch "{cover,*featured*,image}.*" }}
{{ with $img }}<img class="uk-margin-small-bottom" src="{{ .RelPermalink }}" alt="{{ $.Title }}" loading="lazy">{{ end }}
{{ with .Params.bildnachweis }}<p class="op-bildnachweis uk-margin-bottom">{{ . | safeHTML }}</p>{{ end }}
{{ .Content }}
{{ with .Params.quelle }}
<p class="op-quelle-head">{{ i18n "externalSource" }}</p>
<p class="op-meta uk-margin-remove-top"><a href="{{ . }}" target="_blank" rel="noopener">{{ . }}</a></p>
{{ end }}
</div>
</div>
<!-- Sidebar -->
<div class="uk-width-1-3@m">
{{ if and .Params.lat .Params.lng }}
<div class="op-side-box">
{{ partial "karte.html" (dict "pages" (slice .) "klein" true "markerColor" "#1e2758") }}
<div class="op-side-box__pad">
{{ with .Params.address }}<p class="uk-margin-remove"><span uk-icon="icon: location"></span> {{ . }}</p>{{ end }}
<a class="op-directions" target="_blank" rel="noopener"
href="https://www.openstreetmap.org/?mlat={{ .Params.lat }}&mlon={{ .Params.lng }}#map=17/{{ .Params.lat }}/{{ .Params.lng }}">↳ {{ i18n "directions" }}</a>
</div>
</div>
{{ end }}
{{ if or .Params.art .Params.datum }}
<div class="op-side-box">
<div class="op-side-box__pad">
{{ with .Params.art }}<span class="op-kategorie op-kategorie--gelb">{{ . }}</span>{{ end }}
{{ with .Params.datum }}<p class="op-side-box__date uk-margin-small-top uk-margin-remove-bottom">{{ . }}</p>{{ end }}
</div>
</div>
{{ end }}
</div>
</div>
<p class="uk-margin-medium-top"><a class="uk-button uk-button-text" href="{{ "/erinnerungsorte/" | relLangURL }}">← {{ i18n "allMemorials" }}</a></p>
</div>
</section>
{{ end }}
+161
View File
@@ -0,0 +1,161 @@
{{ define "main" }}
<!-- HERO -->
<section class="op-section-gelb uk-section uk-section-large">
<div class="uk-container">
<div class="uk-grid-large uk-flex-middle" uk-grid>
<div class="uk-width-2-3@m">
<h1>{{ with .Params.heroTitle }}{{ . | safeHTML }}{{ else }}Wie erinnern wir <span class="op-marker">gemeinsam</span> an das, was nicht vergessen werden darf?{{ end }}</h1>
</div>
<div class="uk-width-1-3@m">
<div class="op-oeffnungsbox">
<h2 class="uk-h4 uk-margin-small-bottom">Öffnungszeiten</h2>
<ul class="uk-list uk-margin-small">
{{ range site.Params.openingHours }}
<li><strong>{{ .label }}</strong> · {{ .time }}</li>
{{ end }}
</ul>
{{ with site.Params.openingNote }}<p class="op-meta uk-margin-small">{{ . }}</p>{{ end }}
<a class="uk-button uk-button-primary" href="{{ site.Params.anfahrtURL | default "#" }}">Anfahrt</a>
</div>
</div>
</div>
</div>
<!-- Vollbreiter Wellen-Divider („Vorhang"-Motiv) -->
<svg class="op-divider uk-margin-large-top" viewBox="0 0 1200 46" preserveAspectRatio="none" aria-hidden="true" focusable="false">
<path d="M0,46 L0,20 C60,4 120,4 180,20 C240,36 300,36 360,20 C420,4 480,4 540,20 C600,36 660,36 720,20 C780,4 840,4 900,20 C960,36 1020,36 1080,20 C1140,4 1170,4 1200,20 L1200,46 Z" fill="#edf489"/>
</svg>
</section>
<!-- VERANSTALTUNGEN -->
{{ $veranstaltungen := where site.RegularPages "Section" "veranstaltungen" }}
{{ with $veranstaltungen }}
<section class="uk-section">
<div class="uk-container">
<h2>Veranstaltungen</h2>
<div class="uk-child-width-1-2@s uk-child-width-1-4@l uk-grid-match uk-margin-medium-top" uk-grid>
{{ range first 4 (sort . "Date" "asc") }}
<div>
<div class="uk-card uk-card-default uk-card-body">
{{ with .Params.kategorie }}<span class="op-kategorie">{{ . }}</span>{{ end }}
<p class="op-card-datum uk-margin-small-top uk-margin-remove-bottom">{{ time.Format "Mon, 2. Jan · 15:04 Uhr" .Date }}</p>
<h3 class="uk-h5 op-card-titel uk-margin-small"><a href="{{ .RelPermalink }}">{{ .Title }}</a></h3>
<p class="op-meta uk-margin-remove">{{ .Params.teaser | default .Summary }}</p>
</div>
</div>
{{ end }}
</div>
<div class="uk-margin-medium-top">
<a class="uk-button uk-button-default" href="{{ "/veranstaltungen/" | relLangURL }}">Alle Veranstaltungen</a>
</div>
</div>
</section>
{{ end }}
<!-- LEITBILD -->
<section class="op-section-muted uk-section">
<div class="uk-container">
<div class="uk-grid-large uk-flex-middle" uk-grid>
<div class="uk-width-3-5@m">
<h2>{{ .Params.leitbildTitle | default "Unser Leitbild" }}</h2>
{{ with .Params.leitbildLead }}<p class="uk-text-lead">{{ . }}</p>{{ end }}
{{ .Content }}
{{ with .Params.leitbildMehrURL }}<a class="uk-button uk-button-text" href="{{ . }}">Mehr erfahren</a>{{ end }}
</div>
<div class="uk-width-2-5@m">
<!-- Bogen-Illustration (Formen-Asset) -->
<img class="op-bogen" src="{{ "images/formen/BogenGroup_nacht.svg" | relURL }}"
alt="" role="presentation" width="420" height="290">
</div>
</div>
</div>
</section>
<!-- NEUIGKEITEN -->
{{ $neuigkeiten := where site.RegularPages "Section" "neuigkeiten" }}
{{ with $neuigkeiten }}
<section class="uk-section">
<div class="uk-container">
<h2>Neuigkeiten</h2>
<div class="uk-child-width-1-3@m uk-grid-match uk-margin-medium-top" uk-grid>
{{ range first 3 . }}
<div>
<div class="uk-card uk-card-default">
<div class="uk-card-media-top">
{{ $img := .Resources.GetMatch "{cover,*featured*,image}.*" }}
{{ with $img }}
<img src="{{ .RelPermalink }}" alt="" loading="lazy">
{{ else }}
<div class="op-bild op-bild--16-9"><span class="op-bild__label">Bild 16:9</span></div>
{{ end }}
</div>
<div class="uk-card-body">
<h3 class="uk-h5 op-card-titel"><a href="{{ .RelPermalink }}">{{ .Title }}</a></h3>
<p class="op-meta uk-margin-small">{{ with .Params.author }}von {{ . }} · {{ end }}{{ time.Format "2. Jan 2006" .Date }}</p>
<p class="uk-margin-remove">{{ .Params.teaser | default .Summary }}</p>
</div>
</div>
</div>
{{ end }}
</div>
<div class="uk-margin-medium-top">
<a class="uk-button uk-button-default" href="{{ "/neuigkeiten/" | relLangURL }}">Alle Neuigkeiten</a>
</div>
</div>
</section>
{{ end }}
<!-- BILDERGALERIE -->
<section class="op-section-muted uk-section">
<div class="uk-container">
<h2>Aus der Bildergalerie</h2>
</div>
<div class="uk-margin-medium-top uk-container uk-container-expand">
<div uk-slider="container-expand: true">
<div class="uk-position-relative">
<ul class="uk-slider-items uk-child-width-1-2 uk-child-width-1-3@m uk-grid">
{{ range seq (site.Params.galerieCount | default 6) }}
<li><div class="op-bild op-bild--4-3"><span class="op-bild__label">Galerie {{ . }}</span></div></li>
{{ end }}
</ul>
<a class="uk-position-center-left uk-position-small op-slidenav" href="#" uk-slidenav-previous uk-slider-item="previous" aria-label="Vorheriges Bild"></a>
<a class="uk-position-center-right uk-position-small op-slidenav" href="#" uk-slidenav-next uk-slider-item="next" aria-label="Nächstes Bild"></a>
</div>
<ul class="uk-slider-nav uk-dotnav uk-flex-center uk-margin-medium-top"></ul>
</div>
</div>
</section>
<!-- NEWSLETTER -->
<section class="op-section-gelb uk-section">
<div class="uk-container">
<div class="uk-grid-large uk-flex-middle" uk-grid>
<div class="uk-width-1-2@m">
<h2>Newsletter</h2>
<p class="uk-text-lead">{{ site.Params.newsletterText | default "Platzhaltersatz: Bleiben Sie über Veranstaltungen und Neuigkeiten auf dem Laufenden." }}</p>
</div>
<div class="uk-width-1-2@m">
<form action="{{ site.Params.newsletterAction | default "#" }}" method="post" novalidate>
<div class="uk-margin">
<label class="uk-form-label" for="op-newsletter-mail">E-Mail-Adresse</label>
<div class="uk-form-controls">
<input class="uk-input" id="op-newsletter-mail" type="email" name="email"
autocomplete="email" placeholder="name@beispiel.de" required>
</div>
</div>
<div class="uk-margin">
<label>
<input class="uk-checkbox" type="checkbox" name="datenschutz" required>
Ich habe die <a href="{{ site.Params.datenschutzURL | default "#" }}">Datenschutzerklärung</a> zur Kenntnis genommen und stimme der Verarbeitung meiner Daten zu.
</label>
</div>
<div class="uk-margin">
<button class="uk-button uk-button-primary" type="submit">Anmelden</button>
</div>
</form>
</div>
</div>
</div>
</section>
{{ end }}
@@ -0,0 +1,56 @@
{{/*
Split-View "Explorer": links Card-Liste mit Suche & Kategorie-Filter,
rechts sticky Karte. Aufruf: (dict "pages" <slice>)
*/}}
{{ $pages := sort .pages "Title" "asc" }}
{{ $cats := site.Data.kategorien | default dict }}
{{ $showFilter := true }}{{ if isset . "showFilter" }}{{ $showFilter = .showFilter }}{{ end }}
{{ $markerColor := .markerColor }}
<div class="op-split">
<div class="op-split__list">
<div class="op-listhead">
<div class="op-listhead__count" aria-live="polite"><span data-op-count>{{ len $pages }}</span>&nbsp;{{ i18n "results" }}</div>
<div class="op-search">
<input type="search" data-op-search placeholder="{{ i18n "searchPlaceholder" }}" aria-label="{{ i18n "searchAria" }}">
</div>
</div>
{{ if $showFilter }}
<details class="op-filter">
<summary class="op-filter__summary">
<span class="op-filter__label">{{ i18n "filterToggle" }}</span>
<span class="op-filter__state" data-op-filter-state
data-word-all="{{ i18n "wordAll" }}" data-word-of="{{ i18n "wordOf" }}"></span>
</summary>
<div class="op-filter__panel">
<div class="op-filter-actions">
<button type="button" class="op-filter-btn" data-op-filter-all>{{ i18n "filterSelectAll" }}</button>
<button type="button" class="op-filter-btn" data-op-filter-none>{{ i18n "filterDeselectAll" }}</button>
</div>
<div class="op-map-filter" data-op-map-filter role="group" aria-label="{{ i18n "filterGroupAria" }}">
{{ range $cat, $data := $cats }}
<label class="op-map-filter__item">
<input type="checkbox" value="{{ $cat }}" checked>
<span class="op-map-filter__swatch" style="background:{{ $data.color }}"></span>
{{ partial "kat-label.html" $cat }}
</label>
{{ end }}
</div>
</div>
</details>
{{ end }}
<div class="op-scards">
{{ range $pages }}
{{ partial "schauplatz-card.html" . }}
{{ end }}
</div>
</div>
<div class="op-split__map">
{{ partial "karte.html" (dict "pages" $pages) }}
</div>
</div>
+80
View File
@@ -0,0 +1,80 @@
<!-- FOOTER -->
<footer class="op-footer op-section-blau uk-section">
<div class="uk-container">
<!-- Spalten aus dem Hauptmenü (Einträge mit Unterpunkten) -->
<div class="uk-child-width-1-2@s uk-child-width-1-4@m uk-grid-large" uk-grid>
{{ range site.Menus.main }}
{{ if .HasChildren }}
<div>
<nav aria-label="Footer: {{ .Name }}">
<p class="op-footer-head">{{ .Name }}</p>
<ul class="uk-nav uk-nav-default">
{{ range .Children }}
<li><a href="{{ partial "menu-url.html" .URL }}">{{ .Name }}</a></li>
{{ end }}
</ul>
</nav>
</div>
{{ end }}
{{ end }}
</div>
<hr class="uk-margin-large">
<div class="uk-grid-large uk-flex-middle" uk-grid>
<div class="uk-width-auto">
<a class="op-logo" href="{{ site.Home.RelPermalink }}" aria-label="{{ site.Title }} Startseite">
<img class="op-logo__img" src="{{ "images/logos/Logo_OP_DZ_negativ.png" | relURL }}"
alt="{{ site.Title }}" height="40">
</a>
</div>
<div class="uk-width-expand@s">
<address style="font-style:normal;">
{{ with site.Params.address }}
{{ with .street }}{{ . }}<br>{{ end }}
{{ with .city }}{{ . }}<br>{{ end }}
{{ end }}
{{ with site.Params.email }}<a href="mailto:{{ . }}">{{ . }}</a>{{ end }}
{{ with site.Params.phone }} · {{ . }}{{ end }}
</address>
</div>
{{ with site.Params.instagramURL }}
<div class="uk-width-auto">
<a href="{{ . }}" target="_blank" rel="noopener" aria-label="Instagram: Offener Prozess" uk-icon="icon: instagram; ratio: 1.3"></a>
</div>
{{ end }}
{{ with site.Menus.meta }}
<div class="uk-width-auto">
<nav aria-label="Weitere Links">
<ul class="uk-subnav uk-margin-remove">
{{ range . }}<li><a href="{{ partial "menu-url.html" .URL }}"{{ if hasPrefix .URL "http" }} target="_blank" rel="noopener"{{ end }}>{{ .Name }}</a></li>{{ end }}
</ul>
</nav>
</div>
{{ end }}
</div>
{{ with site.Params.foerderLogo }}
<div class="op-foerder op-foerder--logo uk-margin-large-top">
<img src="{{ . | relURL }}" alt="Gefördert durch den Freistaat Sachsen Sächsisches Staatsministerium für Soziales, Gesundheit und gesellschaftlichen Zusammenhalt; Weltoffenes Sachsen" loading="lazy">
</div>
{{ else }}
<div class="op-foerder uk-margin-large-top">
{{ site.Params.foerderHinweis | default "Platzhalterfläche für Förderlogos" }}
</div>
{{ end }}
<hr class="uk-margin-large">
<div class="uk-flex uk-flex-between uk-flex-wrap uk-text-small">
<span>© {{ now.Year }} {{ site.Title }}</span>
{{ with site.Menus.legal }}
<nav aria-label="Rechtliches">
{{ range $i, $e := . }}{{ if $i }} · {{ end }}<a href="{{ partial "menu-url.html" $e.URL }}">{{ $e.Name }}</a>{{ end }}
</nav>
{{ end }}
</div>
</div>
</footer>
+32
View File
@@ -0,0 +1,32 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ if .IsHome }}{{ site.Title }}{{ else }}{{ .Title }} {{ site.Title }}{{ end }}</title>
{{/* Startseite zeigt denselben Karten-Explorer wie /schauplaetze/ → dort ist die kanonische URL */}}
{{ if .IsHome }}<link rel="canonical" href="{{ "/schauplaetze/" | absLangURL }}">{{ end }}
{{ with .Description | default site.Params.description }}<meta name="description" content="{{ . }}">{{ end }}
{{/* hreflang-Alternates für Sprachversionen */}}
{{ range .AllTranslations }}
<link rel="alternate" hreflang="{{ .Language.Lang }}" href="{{ .Permalink }}">
{{ end }}
{{/* UIkit 3 lokal gehostet (DSGVO: keine Third-Party-Requests) */}}
<link rel="stylesheet" href="{{ "vendor/uikit/css/uikit.min.css" | relURL }}">
<script defer src="{{ "vendor/uikit/js/uikit.min.js" | relURL }}"></script>
<script defer src="{{ "vendor/uikit/js/uikit-icons.min.js" | relURL }}"></script>
{{/* Theme-CSS: Fonts + Styles gebündelt, minifiziert, fingerprinted */}}
{{ $fonts := resources.Get "css/fonts.css" }}
{{ $main := resources.Get "css/main.css" }}
{{ $css := slice $fonts $main | resources.Concat "css/theme.css" }}
{{ if hugo.IsProduction }}{{ $css = $css | minify | fingerprint }}{{ end }}
<link rel="stylesheet" href="{{ $css.RelPermalink }}"{{ with $css.Data.Integrity }} integrity="{{ . }}"{{ end }}>
{{/* Leaflet-CSS nur auf Karten-Seiten (Home + Schauplätze) */}}
{{ if or .IsHome (eq .Type "schauplaetze") (eq .Type "kategorien") (eq .Type "erinnerungsorte") }}
<link rel="stylesheet" href="{{ "vendor/leaflet/leaflet.css" | relURL }}">
<link rel="stylesheet" href="{{ "vendor/markercluster/MarkerCluster.css" | relURL }}">
<link rel="stylesheet" href="{{ "vendor/markercluster/MarkerCluster.Default.css" | relURL }}">
{{ end }}
{{ block "head" . }}{{ end }}
+45
View File
@@ -0,0 +1,45 @@
{{/*
Karten-Partial. Aufruf mit dict:
(dict "pages" <slice von Schauplatz-Seiten> "klein" false)
Baut den Leaflet-Container und bettet die Marker-Daten als JSON ein
(kein externer Request → CORS-frei, statisch). Der Filter kommt aus explorer.html.
*/}}
{{ $pages := .pages }}
{{ $klein := .klein }}
{{ $default := .markerColor | default site.Params.kategorieFarbeDefault | default "#1e2758" }}
{{/* Farb-Map (Kategorie → Hex) für map.js aus data/kategorien.yaml */}}
{{ $colorMap := dict }}
{{ range $k, $v := site.Data.kategorien }}{{ $colorMap = merge $colorMap (dict $k $v.color) }}{{ end }}
{{/* Marker-Daten aufbauen */}}
{{ $places := slice }}
{{ range $pages }}
{{ $img := "" }}
{{ with .Resources.GetMatch "{cover,*featured*,image}.*" }}{{ $img = .RelPermalink }}
{{ else }}{{ with .Params.image }}{{ $img = . | relURL }}{{ end }}{{ end }}
{{ if and .Params.lat .Params.lng }}
{{ $places = $places | append (dict
"title" .Title
"subtitle" (.Params.subtitle | default "")
"url" .RelPermalink
"lat" .Params.lat
"lng" .Params.lng
"categories" (.Params.kategorien | default slice)
"img" $img
) }}
{{ end }}
{{ end }}
{{ $payload := dict
"places" $places
"colors" $colorMap
"defaultColor" $default
"tileUrl" (site.Params.map.tileURL | default "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png")
"attribution" (site.Params.map.attribution | default `&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>-Mitwirkende`)
}}
<div id="op-map" class="op-map{{ if $klein }} op-map--klein{{ end }}"
role="application" aria-label="{{ i18n "mapAria" }}"></div>
<script type="application/json" id="op-map-data">{{ $payload | jsonify | safeJS }}</script>
@@ -0,0 +1,4 @@
{{- /* Gibt die Markerfarbe für eine Kategorie (String als Kontext) zurück */ -}}
{{- $c := site.Params.kategorieFarbeDefault | default "#1e2758" -}}
{{- with index site.Data.kategorien . -}}{{- with .color -}}{{- $c = . -}}{{- end -}}{{- end -}}
{{- $c -}}
@@ -0,0 +1,6 @@
{{- /* Gibt das lokalisierte Anzeige-Label für eine Kategorie (String als Kontext) zurück */ -}}
{{- $lbl := . -}}
{{- if eq site.Language.Lang "en" -}}
{{- with index site.Data.kategorien . -}}{{- with .en -}}{{- $lbl = . -}}{{- end -}}{{- end -}}
{{- end -}}
{{- $lbl -}}
@@ -0,0 +1,46 @@
{{- /* Sprachumschalter. Aufruf: (dict "page" . "variant" "dropdown"|"list") */ -}}
{{ $cur := .page }}
{{ $variant := .variant | default "dropdown" }}
{{ if eq $variant "list" }}
{{/* Einfache Liste (mobiles Offcanvas) */}}
<nav class="op-langswitch op-langswitch--list" aria-label="Sprache / Language">
{{ range site.Sites }}
{{ $s := . }}
{{ $link := $s.Home.RelPermalink }}
{{ range $cur.AllTranslations }}{{ if eq .Language.Lang $s.Language.Lang }}{{ $link = .RelPermalink }}{{ end }}{{ end }}
{{ $isCurrent := eq $s.Language.Lang site.Language.Lang }}
<a class="op-langswitch__item{{ if $isCurrent }} is-current{{ end }}" href="{{ $link }}"
hreflang="{{ $s.Language.Lang }}" lang="{{ $s.Language.Lang }}"{{ if $isCurrent }} aria-current="true"{{ end }}>
<span class="op-langswitch__flag" aria-hidden="true">{{ $s.Language.Params.flag }}</span>
<span class="op-langswitch__name">{{ $s.Language.LanguageName }}</span>
</a>
{{ end }}
</nav>
{{ else }}
{{/* Dropdown (Navbar) */}}
<div class="op-langswitch">
<button class="op-langswitch__toggle" type="button" aria-haspopup="true"
aria-label="{{ site.Language.LanguageName }} Sprache wählen / choose language">
<span class="op-langswitch__flag" aria-hidden="true">{{ site.Language.Params.flag }}</span>
<span class="op-langswitch__code">{{ upper site.Language.Lang }}</span>
<span class="op-langswitch__caret" aria-hidden="true"></span>
</button>
<div class="op-langswitch__drop" uk-dropdown="mode: click; pos: bottom-right; offset: 4; boundary: .op-navbar">
<ul class="uk-nav uk-dropdown-nav">
{{ range site.Sites }}
{{ $s := . }}
{{ $link := $s.Home.RelPermalink }}
{{ range $cur.AllTranslations }}{{ if eq .Language.Lang $s.Language.Lang }}{{ $link = .RelPermalink }}{{ end }}{{ end }}
{{ $isCurrent := eq $s.Language.Lang site.Language.Lang }}
<li class="{{ if $isCurrent }}uk-active{{ end }}">
<a href="{{ $link }}" hreflang="{{ $s.Language.Lang }}" lang="{{ $s.Language.Lang }}"{{ if $isCurrent }} aria-current="true"{{ end }}>
<span class="op-langswitch__flag" aria-hidden="true">{{ $s.Language.Params.flag }}</span>
<span class="op-langswitch__name">{{ $s.Language.LanguageName }}</span>
</a>
</li>
{{ end }}
</ul>
</div>
</div>
{{ end }}
@@ -0,0 +1,4 @@
{{- /* Interne Menü-URLs (beginnen mit /) bekommen das Sprach-Präfix; externe bleiben unverändert */ -}}
{{- $u := . -}}
{{- if hasPrefix $u "/" -}}{{- $u = $u | relLangURL -}}{{- end -}}
{{- $u -}}
+51
View File
@@ -0,0 +1,51 @@
<!-- STICKY NAVBAR -->
<header>
<div uk-sticky="animation: uk-animation-slide-top; sel-target: .op-navbar; cls-active: uk-navbar-sticky">
<nav class="op-navbar uk-navbar-container" aria-label="Hauptnavigation">
<div class="uk-container uk-container-expand">
<div uk-navbar="mode: click; dropbar: false">
<!-- Logo -->
<div class="uk-navbar-left">
<a class="op-logo uk-navbar-item uk-logo" href="{{ site.Home.RelPermalink }}" aria-label="{{ site.Title }}">
<img class="op-logo__img" src="{{ "images/logos/Logo_OP_DZ_blau.svg" | relURL }}"
alt="{{ site.Title }}" width="115" height="44">
</a>
</div>
<!-- Desktop-Navigation -->
<div class="uk-navbar-right uk-visible@m">
<ul class="uk-navbar-nav">
{{ range site.Menus.main }}
{{ if .HasChildren }}
<li class="{{ if $.IsMenuCurrent "main" . }}uk-active{{ end }}">
<a href="{{ partial "menu-url.html" .URL }}" aria-haspopup="true">{{ .Name }} <span uk-navbar-parent-icon></span></a>
<div class="uk-navbar-dropdown">
<ul class="uk-nav uk-navbar-dropdown-nav">
{{ range .Children }}
<li><a href="{{ partial "menu-url.html" .URL }}">{{ .Name }}</a></li>
{{ end }}
</ul>
</div>
</li>
{{ else }}
<li class="{{ if $.IsMenuCurrent "main" . }}uk-active{{ end }}">
<a href="{{ partial "menu-url.html" .URL }}"{{ if $.IsMenuCurrent "main" . }} aria-current="page"{{ end }}>{{ .Name }}</a>
</li>
{{ end }}
{{ end }}
</ul>
<div class="uk-navbar-item">{{ partial "language-switcher.html" (dict "page" . "variant" "dropdown") }}</div>
</div>
<!-- Mobile-Toggle -->
<div class="uk-navbar-right uk-hidden@m">
<a class="uk-navbar-toggle" href="#op-offcanvas" uk-toggle
uk-navbar-toggle-icon aria-label="Menü öffnen"></a>
</div>
</div>
</div>
</nav>
</div>
</header>
@@ -0,0 +1,27 @@
<!-- OFFCANVAS (mobil) -->
<div id="op-offcanvas" uk-offcanvas="overlay: true; flip: true">
<div class="uk-offcanvas-bar">
<button class="uk-offcanvas-close" type="button" uk-close aria-label="Menü schließen"></button>
<nav aria-label="Mobile Navigation">
<ul class="uk-nav uk-nav-primary uk-nav-parent-icon" uk-nav>
{{ range site.Menus.main }}
{{ if .HasChildren }}
<li class="uk-parent">
<a href="{{ partial "menu-url.html" .URL }}">{{ .Name }}</a>
<ul class="uk-nav-sub">
{{ range .Children }}
<li><a href="{{ partial "menu-url.html" .URL }}">{{ .Name }}</a></li>
{{ end }}
</ul>
</li>
{{ else }}
<li class="{{ if $.IsMenuCurrent "main" . }}uk-active{{ end }}">
<a href="{{ partial "menu-url.html" .URL }}"{{ if $.IsMenuCurrent "main" . }} aria-current="page"{{ end }}>{{ .Name }}</a>
</li>
{{ end }}
{{ end }}
</ul>
<div class="op-offcanvas-lang uk-margin-top">{{ partial "language-switcher.html" (dict "page" . "variant" "list") }}</div>
</nav>
</div>
</div>
@@ -0,0 +1,41 @@
{{/* Erwartet eine Schauplatz-Seite als Kontext (.) */}}
{{ $default := site.Params.kategorieFarbeDefault | default "#1e2758" }}
{{ $cat := "" }}
{{ with .Params.kategorien }}{{ $cat = index . 0 }}{{ end }}
{{ $color := $default }}
{{ with $cat }}{{ $color = partial "kat-color.html" . }}{{ end }}
{{ $img := "" }}
{{ with .Resources.GetMatch "{cover,*featured*,image}.*" }}{{ $img = .RelPermalink }}
{{ else }}{{ with .Params.image }}{{ $img = . | relURL }}{{ end }}{{ end }}
<a class="op-scard" data-op-card
href="{{ .RelPermalink }}"
data-url="{{ .RelPermalink }}"
data-text="{{ .Title }} {{ .Params.subtitle }} {{ .Params.address }}"
data-cats="{{ delimit (.Params.kategorien | default slice) `|` }}">
{{ if $img }}
<span class="op-scard__img">
<img class="op-scard__photo" src="{{ $img }}" alt="" loading="lazy">
{{ if .Params.featured }}<span class="op-scard__tipp">Tipp!</span>{{ end }}
</span>
{{ else }}
<span class="op-scard__img op-scard__img--ph" style="color:{{ $color }}">
<svg class="op-scard__bogen" viewBox="0 0 210 105" aria-hidden="true" focusable="false">
<path d="M0,105 A105,105 0 0 1 210,105" fill="none" stroke="currentColor" stroke-width="14" opacity=".55"/>
<path d="M40,105 A65,65 0 0 1 170,105" fill="none" stroke="currentColor" stroke-width="14" opacity=".28"/>
</svg>
{{ if .Params.featured }}<span class="op-scard__tipp">Tipp!</span>{{ end }}
</span>
{{ end }}
<span class="op-scard__body">
{{ if $cat }}<span class="op-scard__cat">{{ partial "kat-label.html" $cat }}</span>
{{ else }}{{ with .Params.art }}<span class="op-scard__cat">{{ . }}</span>{{ end }}{{ end }}
<span class="op-scard__title">{{ .Title }}</span>
{{ with .Params.subtitle }}<span class="op-scard__sub">{{ . }}</span>{{ end }}
{{ with .Params.address }}
<span class="op-scard__addr">
<span class="op-scard__dot" style="background:{{ $color }}"></span>
<span>{{ . }}</span>
</span>
{{ end }}
</span>
</a>
@@ -0,0 +1,8 @@
{{/* Karten-JS nur auf Karten-Seiten (Home + Schauplätze) laden */}}
{{ if or .IsHome (eq .Type "schauplaetze") (eq .Type "kategorien") (eq .Type "erinnerungsorte") }}
<script src="{{ "vendor/leaflet/leaflet.js" | relURL }}"></script>
<script src="{{ "vendor/markercluster/leaflet.markercluster.js" | relURL }}"></script>
{{ $map := resources.Get "js/map.js" }}
{{ if hugo.IsProduction }}{{ $map = $map | minify | fingerprint }}{{ end }}
<script src="{{ $map.RelPermalink }}"{{ with $map.Data.Integrity }} integrity="{{ . }}"{{ end }}></script>
{{ end }}
@@ -0,0 +1,16 @@
<!-- SUCH-MODAL (vollflächig) -->
<div id="op-suche" class="uk-modal-full" uk-modal>
<div class="uk-modal-dialog uk-flex uk-flex-center uk-flex-middle" style="min-height:100vh;" uk-height-viewport>
<button class="uk-modal-close-full uk-close-large" type="button" uk-close aria-label="Suche schließen"></button>
<div class="uk-width-2-3@m uk-text-center">
<form action="{{ site.Home.RelPermalink }}" method="get" role="search" aria-label="Schauplätze durchsuchen">
<label class="uk-form-label uk-margin-small-bottom uk-display-block" for="op-suchfeld">Schauplätze durchsuchen</label>
<div class="uk-search uk-search-large uk-width-1-1">
<span uk-search-icon></span>
<input id="op-suchfeld" class="uk-search-input" type="search" name="q" placeholder="Nach Titel, Person oder Ort suchen …" aria-label="Suchbegriff">
</div>
<p class="uk-text-meta uk-margin-small-top">Enter drücken die Karte zeigt dann die passenden Schauplätze.</p>
</form>
</div>
</div>
</div>
+18
View File
@@ -0,0 +1,18 @@
<!-- TOPBAR (nur ab @m) -->
{{ with site.Params.languages }}
<div class="op-topbar uk-visible@m">
<div class="uk-container uk-container-expand">
<div class="uk-flex uk-flex-right uk-flex-middle" style="min-height:44px;">
<nav aria-label="Sprachauswahl">
<ul class="uk-subnav uk-margin-remove">
{{ range . }}
<li{{ if .active }} class="uk-active"{{ end }}>
<a href="{{ .url | default "#" }}" lang="{{ .lang }}"{{ if .active }} aria-current="true"{{ end }}>{{ .name }}</a>
</li>
{{ end }}
</ul>
</nav>
</div>
</div>
</div>
{{ end }}
@@ -0,0 +1,11 @@
{{ define "main" }}
<section class="op-detail-hero op-hero-home uk-section uk-section-small">
<div class="uk-container uk-container-expand">
{{/* Hero-Texte kommen aus content/_index.md, damit / und /schauplaetze/ identisch bleiben */}}
<h1 class="uk-margin-remove">{{ with site.Home.Params.heroTitle }}{{ . | safeHTML }}{{ else }}{{ $.Title }}{{ end }}</h1>
{{ with site.Home.Params.heroLead }}<p class="uk-text-lead uk-margin-small-top uk-margin-remove-bottom uk-width-2-3@l">{{ . }}</p>{{ end }}
</div>
</section>
{{ partial "explorer.html" (dict "pages" .Pages) }}
{{ end }}
@@ -0,0 +1,65 @@
{{ define "main" }}
{{ $cats := .Params.kategorien | default slice }}
{{ $cat := index $cats 0 }}
<!-- Hero-Band -->
<section class="op-detail-hero uk-section uk-section-small">
<div class="uk-container">
<p class="op-breadcrumb">
<a href="{{ "/schauplaetze/" | relLangURL }}">{{ i18n "breadcrumbLocations" }}</a>
{{ with $cat }} &raquo; <a href="{{ (printf "/kategorien/%s/" (urlize .)) | relLangURL }}">{{ partial "kat-label.html" . }}</a>{{ end }}
</p>
<h1 class="uk-margin-small-top uk-margin-remove-bottom">{{ .Title }}</h1>
{{ with .Params.subtitle }}<p class="uk-text-lead uk-margin-small-top">{{ . }}</p>{{ end }}
</div>
</section>
<section class="uk-section">
<div class="uk-container">
<div class="uk-grid-large" uk-grid>
<!-- Inhalt -->
<div class="uk-width-2-3@m">
<div class="op-content-box">
{{ $img := .Resources.GetMatch "{cover,*featured*,image}.*" }}
{{ with $img }}<img class="uk-margin-small-bottom" src="{{ .RelPermalink }}" alt="{{ $.Title }}" loading="lazy">{{ end }}
{{ with .Params.bildnachweis }}<p class="op-bildnachweis uk-margin-bottom">{{ . | safeHTML }}</p>{{ end }}
{{ .Content }}
{{ with .Params.quelle }}
<p class="op-quelle-head">{{ i18n "externalSource" }}</p>
<p class="op-meta uk-margin-remove-top">{{ . | safeHTML }}</p>
{{ end }}
</div>
</div>
<!-- Sidebar -->
<div class="uk-width-1-3@m">
{{ if and .Params.lat .Params.lng }}
<div class="op-side-box">
{{ partial "karte.html" (dict "pages" (slice .) "klein" true) }}
<div class="op-side-box__pad">
{{ with .Params.address }}<p class="uk-margin-remove"><span uk-icon="icon: location"></span> {{ . }}</p>{{ end }}
<a class="op-directions" target="_blank" rel="noopener"
href="https://www.openstreetmap.org/?mlat={{ .Params.lat }}&mlon={{ .Params.lng }}#map=17/{{ .Params.lat }}/{{ .Params.lng }}">↳ {{ i18n "directions" }}</a>
</div>
</div>
{{ end }}
{{ if or $cats .Params.datum }}
<div class="op-side-box">
<div class="op-side-box__pad">
{{ range $cats }}
<span class="op-kategorie" style="background:{{ partial "kat-color.html" . }};color:#fff">{{ partial "kat-label.html" . }}</span>
{{ end }}
{{ with .Params.datum }}<p class="op-side-box__date uk-margin-small-top uk-margin-remove-bottom">{{ . }}</p>{{ end }}
</div>
</div>
{{ end }}
</div>
</div>
<p class="uk-margin-medium-top"><a class="uk-button uk-button-text" href="{{ "/schauplaetze/" | relLangURL }}">← {{ i18n "allLocations" }}</a></p>
</div>
</section>
{{ end }}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Ebene_1" xmlns="http://www.w3.org/2000/svg" width="148.343mm" height="102.376mm" version="1.1" viewBox="0 0 420.5 290.2">
<!-- Generator: Adobe Illustrator 29.4.0, SVG Export Plug-In . SVG Version: 2.1.0 Build 152) -->
<defs>
<style>
.st0, .st1 {
isolation: isolate;
}
.st1 {
fill: #f6f4bf;
mix-blend-mode: screen;
}
</style>
</defs>
<g class="st0">
<g id="Ebene_11">
<g>
<path class="st1" d="M384.5,117.3c-47.9-47.9-125.7-47.9-173.6,0l-1.7,1.7,34.1,28.4h0c.3-.3.5-.5,1.4-1.3,30.8-28.2,78.7-27.4,108.5,2.5,30.7,30.7,30.7,80.4,0,111.1-.7.7-1.5,1.5-2.3,2.2l34.1,28.4.8-.8c46.5-48,46-124.7-1.4-172.1h.1v-.1Z"/>
<path class="st1" d="M176.8,143.4c-.3.3-.4.4-1.3,1.2-30.9,28.1-78.8,27.1-108.5-2.8-30.6-30.8-30.4-80.5.4-111.1.7-.7,1.5-1.5,2.3-2.2L35.5,0c0,.1-.3.2-.7.7-46.7,47.9-46.4,124.5.9,172.1,47.8,48.1,125.5,48.4,173.6.6.7-.7,1-1,1.6-1.7l-34.1-28.5h0v.2h0Z"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Ebene_1" xmlns="http://www.w3.org/2000/svg" width="148.343mm" height="102.376mm" version="1.1" viewBox="0 0 420.5 290.2">
<!-- Generator: Adobe Illustrator 29.4.0, SVG Export Plug-In . SVG Version: 2.1.0 Build 152) -->
<defs>
<style>
.st0, .st1 {
isolation: isolate;
}
.st1 {
fill: #3d487f;
mix-blend-mode: screen;
}
</style>
</defs>
<g class="st0">
<g id="Ebene_11">
<g>
<path class="st1" d="M384.5,117.3c-47.9-47.9-125.7-47.9-173.6,0l-1.7,1.7,34.1,28.4h0c.3-.3.5-.5,1.4-1.3,30.8-28.2,78.7-27.4,108.5,2.5,30.7,30.7,30.7,80.4,0,111.1-.7.7-1.5,1.5-2.3,2.2l34.1,28.4.8-.8c46.5-48,46-124.7-1.4-172.1h.1v-.1Z"/>
<path class="st1" d="M176.8,143.4c-.3.3-.4.4-1.3,1.2-30.9,28.1-78.8,27.1-108.5-2.8-30.6-30.8-30.4-80.5.4-111.1.7-.7,1.5-1.5,2.3-2.2L35.5,0c0,.1-.3.2-.7.7-46.7,47.9-46.4,124.5.9,172.1,47.8,48.1,125.5,48.4,173.6.6.7-.7,1-1,1.6-1.7l-34.1-28.5h0v.2h0Z"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Ebene_1" xmlns="http://www.w3.org/2000/svg" width="74.401mm" height="73.766mm" version="1.1" viewBox="0 0 210.9 209.1">
<!-- Generator: Adobe Illustrator 29.4.0, SVG Export Plug-In . SVG Version: 2.1.0 Build 152) -->
<defs>
<style>
.st0, .st1 {
isolation: isolate;
}
.st1 {
fill: #3d487f;
mix-blend-mode: screen;
}
</style>
</defs>
<g class="st0">
<g id="Ebene_11">
<path class="st1" d="M177.6,143.4c-.3.3-.4.4-1.3,1.2-30.9,28.1-78.8,27.1-108.5-2.8-30.6-30.8-30.4-80.5.4-111.1.7-.7,1.5-1.5,2.3-2.2L36.3,0c0,.1-.3.2-.7.7-46.7,47.9-46.4,124.5.9,172.1,47.8,48.1,125.5,48.4,173.6.6.7-.7,1-1,1.6-1.7l-34.1-28.5h0v.2h0Z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 763 B

Binary file not shown.
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Ebene_2" xmlns="http://www.w3.org/2000/svg" width="74.542mm" height="73.695mm" version="1.1" viewBox="0 0 211.3 208.9">
<!-- Generator: Adobe Illustrator 29.4.0, SVG Export Plug-In . SVG Version: 2.1.0 Build 152) -->
<defs>
<style>
.st0, .st1 {
isolation: isolate;
}
.st1 {
fill: #f6f4bf;
mix-blend-mode: screen;
}
</style>
</defs>
<g class="st0">
<g id="Ebene_11">
<path class="st1" d="M175.4,35.9C127.5-12,49.7-12,1.8,35.9l-1.7,1.7,34.1,28.4h0c.3-.3.5-.5,1.4-1.3,30.8-28.2,78.7-27.4,108.5,2.5,30.7,30.7,30.7,80.4,0,111.1-.7.7-1.5,1.5-2.3,2.2l34.1,28.4.8-.8c46.5-48,46-124.7-1.4-172.1h.1v-.1Z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 743 B

Binary file not shown.
File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 378 KiB

Binary file not shown.
@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Ebene_1" data-name="Ebene 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 361.078 156.405">
<path d="M40.242,37.595h9.411l-.049-18.283h14.215l.049,18.283h9.411l-.049-18.283h8.234v-7.058h-8.234v-1.274c0-1.045.302-1.887.907-2.525.605-.637,1.414-.956,2.426-.956.849,0,1.675.204,2.475.613.801.409,1.511.94,2.132,1.593l2.059-6.323c-1.046-1.013-2.369-1.83-3.97-2.451-1.601-.62-3.219-.931-4.853-.931-2.189,0-4.068.433-5.637,1.299-1.568.866-2.786,2.067-3.652,3.602-.866,1.537-1.298,3.366-1.298,5.49v1.863h-14.215v-1.274c0-1.045.302-1.887.907-2.525.604-.637,1.414-.956,2.426-.956.849,0,1.675.204,2.475.613.801.409,1.511.94,2.132,1.593l2.059-6.323c-1.046-1.013-2.369-1.83-3.97-2.451-1.602-.62-3.219-.931-4.853-.931-2.19,0-4.068.433-5.637,1.299-1.568.866-2.786,2.067-3.652,3.602-.867,1.537-1.299,3.366-1.299,5.49v1.863h-4.314v7.058h4.314l.049,18.283Z" fill="#1d1d1b"/>
<path d="M84.16,32.007c1.307,2.092,3.161,3.709,5.563,4.853,2.402,1.143,5.138,1.715,8.21,1.715,1.732,0,3.39-.213,4.975-.636,1.584-.425,3.006-1.021,4.264-1.79,1.258-.767,2.246-1.658,2.966-2.671l-4.853-4.265c-.752.818-1.757,1.488-3.014,2.01-1.258.523-2.573.784-3.945.784-1.177,0-2.223-.179-3.137-.539-.915-.36-1.65-.882-2.205-1.569-.557-.686-.899-1.502-1.03-2.451h17.204c.196-.424.334-.963.417-1.617.081-.654.122-1.291.122-1.912,0-2.516-.563-4.722-1.691-6.617-1.127-1.895-2.696-3.365-4.705-4.411-2.01-1.046-4.354-1.569-7.034-1.569-2.81,0-5.286.556-7.425,1.666-2.141,1.112-3.783,2.704-4.926,4.779-1.145,2.075-1.716,4.436-1.716,7.083,0,2.68.653,5.066,1.96,7.156ZM92.591,20.023c.425-.735.948-1.299,1.569-1.69.62-.393,1.307-.589,2.058-.589s1.429.189,2.034.564c.604.376,1.07.923,1.397,1.642.326.719.506,1.585.539,2.598h-8.332c.065-.947.31-1.789.735-2.525Z" fill="#1d1d1b"/>
<path d="M122.147,23.822c0-.915.163-1.683.49-2.304.326-.62.792-1.11,1.397-1.471.604-.359,1.299-.539,2.083-.539.914,0,1.65.294,2.206.882.555.588.833,1.422.833,2.5v14.705h9.461v-17.94c0-1.634-.328-3.055-.981-4.264-.654-1.209-1.561-2.132-2.72-2.769-1.16-.637-2.541-.956-4.142-.956-1.928,0-3.628.483-5.098,1.446-1.47.964-2.647,2.328-3.529,4.093h-.049l-1.519-4.951h-7.891v25.341h9.46v-13.773Z" fill="#1d1d1b"/>
<path d="M148.689,36.86c2.402,1.143,5.138,1.715,8.21,1.715,1.732,0,3.39-.213,4.975-.636,1.584-.425,3.006-1.021,4.264-1.79,1.258-.767,2.246-1.658,2.966-2.671l-4.853-4.265c-.752.818-1.757,1.488-3.014,2.01-1.258.523-2.573.784-3.946.784-1.177,0-2.223-.179-3.137-.539-.915-.36-1.65-.882-2.205-1.569-.557-.686-.899-1.502-1.03-2.451h17.205c.196-.424.334-.963.416-1.617.081-.654.122-1.291.122-1.912,0-2.516-.563-4.722-1.691-6.617-1.127-1.895-2.696-3.365-4.705-4.411-2.01-1.046-4.354-1.569-7.034-1.569-2.81,0-5.286.556-7.425,1.666-2.141,1.112-3.783,2.704-4.926,4.779-1.145,2.075-1.716,4.436-1.716,7.083,0,2.68.653,5.066,1.96,7.156,1.307,2.092,3.161,3.709,5.563,4.853ZM151.556,20.023c.425-.735.948-1.299,1.569-1.69.62-.393,1.307-.589,2.058-.589s1.429.189,2.034.564c.605.376,1.07.923,1.397,1.642.326.719.506,1.585.539,2.598h-8.332c.065-.947.31-1.789.735-2.525Z" fill="#1d1d1b"/>
<path d="M191.65,12.744c-1.144-.751-2.483-1.128-4.019-1.128-1.503,0-2.867.425-4.093,1.275-1.225.85-2.181,2.059-2.867,3.627h-.049l-1.519-4.264h-7.45v25.341h9.46v-13.626c0-1.111.139-2.084.417-2.916.278-.834.686-1.478,1.225-1.937.54-.457,1.184-.686,1.937-.686.914,0,1.657.401,2.23,1.201.572.802.907,1.904,1.005,3.308l7.842-2.058c-.163-1.895-.604-3.537-1.323-4.926-.719-1.389-1.651-2.458-2.794-3.21Z" fill="#1d1d1b"/>
<path d="M23.135,55.272c-1.569-1.095-3.399-1.642-5.49-1.642-1.896,0-3.538.475-4.926,1.422-1.389.948-2.493,2.353-3.309,4.216h-.049l-1.519-5H0v35.635h9.46v-15.342h.049c.816,1.863,1.919,3.276,3.308,4.24,1.389.964,2.998,1.446,4.828,1.446,2.058,0,3.88-.548,5.465-1.642,1.584-1.094,2.819-2.638,3.701-4.632.882-1.993,1.323-4.33,1.323-7.01s-.441-5.024-1.323-7.034c-.882-2.01-2.108-3.561-3.676-4.656ZM18.111,69.683c-.409.801-.98,1.446-1.715,1.936-.735.49-1.577.735-2.525.735-.915,0-1.74-.245-2.475-.735-.735-.49-1.316-1.135-1.74-1.936-.425-.801-.637-1.707-.637-2.721s.212-1.928.637-2.745c.424-.816,1.005-1.462,1.74-1.936.736-.473,1.56-.71,2.475-.71s1.748.228,2.5.686c.751.458,1.331,1.103,1.74,1.936.408.834.613,1.757.613,2.769s-.204,1.92-.613,2.721Z" fill="#1d1d1b"/>
<path d="M50.781,54.757c-1.144-.751-2.484-1.128-4.02-1.128-1.503,0-2.867.425-4.093,1.275-1.225.85-2.181,2.059-2.867,3.627h-.049l-1.519-4.264h-7.45v25.341h9.46v-13.626c0-1.111.139-2.084.416-2.916.278-.834.686-1.478,1.225-1.937.54-.457,1.185-.686,1.937-.686.914,0,1.658.401,2.23,1.201.572.802.907,1.904,1.005,3.308l7.842-2.058c-.164-1.895-.605-3.537-1.323-4.926-.719-1.389-1.651-2.458-2.794-3.21Z" fill="#1d1d1b"/>
<polygon points="110.189 54.267 87.2 54.267 87.2 61.129 99.16 61.129 86.71 71.864 86.71 79.609 110.679 79.609 110.679 72.844 97.69 72.844 110.189 62.061 110.189 54.267" fill="#1d1d1b"/>
<path d="M140.161,67.845c.081-.654.122-1.291.122-1.912,0-2.516-.563-4.722-1.691-6.617-1.127-1.895-2.696-3.365-4.705-4.411-2.01-1.046-4.354-1.569-7.034-1.569-2.811,0-5.286.556-7.426,1.666-2.141,1.112-3.783,2.705-4.926,4.779-1.145,2.075-1.716,4.436-1.716,7.083,0,2.68.653,5.066,1.96,7.156,1.307,2.092,3.161,3.709,5.563,4.853,2.402,1.143,5.138,1.715,8.21,1.715,1.732,0,3.39-.213,4.976-.637,1.584-.425,3.006-1.021,4.264-1.79,1.258-.767,2.246-1.658,2.966-2.671l-4.853-4.265c-.752.818-1.757,1.488-3.014,2.01-1.258.523-2.573.784-3.946.784-1.177,0-2.223-.179-3.137-.539-.915-.36-1.65-.882-2.205-1.569-.557-.686-.899-1.502-1.03-2.451h17.205c.196-.424.334-.964.416-1.617ZM122.442,64.561c.065-.947.31-1.789.735-2.525.425-.735.948-1.298,1.569-1.69.62-.393,1.307-.589,2.058-.589s1.429.189,2.034.564c.605.376,1.07.923,1.397,1.642.326.719.506,1.585.539,2.598h-8.332Z" fill="#1d1d1b"/>
<path d="M157.88,74.241c-.622.18-1.324.269-2.108.269-.98,0-1.855-.155-2.622-.466-.769-.31-1.39-.735-1.863-1.275-.474-.539-.728-1.168-.76-1.887l-8.087.735c.065,1.896.669,3.504,1.813,4.828,1.143,1.324,2.638,2.321,4.484,2.99,1.846.669,3.978,1.005,6.397,1.005,2.581,0,4.86-.36,6.837-1.078,1.977-.718,3.505-1.731,4.583-3.039,1.078-1.307,1.618-2.859,1.618-4.656.032-2.255-.695-3.995-2.181-5.22-1.487-1.225-3.865-2.099-7.132-2.622l-3.627-.588c-1.405-.261-2.41-.547-3.014-.858-.605-.31-.891-.693-.858-1.152,0-.393.139-.751.417-1.078.277-.326.678-.572,1.201-.735.523-.164,1.127-.246,1.814-.246,1.143,0,2.091.269,2.843.809.751.539,1.16,1.283,1.225,2.23l7.843-.98c-.131-1.536-.71-2.876-1.74-4.02-1.03-1.143-2.402-2.05-4.118-2.72-1.715-.67-3.635-1.005-5.759-1.005-2.321,0-4.363.343-6.127,1.03-1.764.686-3.121,1.691-4.068,3.014-.948,1.323-1.422,2.867-1.422,4.632,0,2.19.637,3.856,1.911,4.999,1.275,1.144,3.366,1.912,6.274,2.304l3.628.49c1.634.196,2.818.482,3.554.857.735.376,1.086.891,1.054,1.544,0,.393-.18.76-.539,1.103-.36.343-.85.605-1.47.784Z" fill="#1d1d1b"/>
<path d="M186.259,63.826l-3.627-.588c-1.405-.261-2.41-.547-3.014-.858-.605-.31-.891-.693-.858-1.152,0-.393.139-.751.417-1.078.277-.326.678-.572,1.201-.735.522-.164,1.127-.246,1.813-.246,1.143,0,2.091.269,2.843.809.751.539,1.16,1.283,1.225,2.23l7.843-.98c-.131-1.536-.711-2.876-1.74-4.02-1.03-1.143-2.402-2.05-4.118-2.72-1.715-.67-3.635-1.005-5.759-1.005-2.321,0-4.363.343-6.127,1.03-1.764.686-3.121,1.691-4.068,3.014-.948,1.323-1.422,2.867-1.422,4.632,0,2.19.637,3.856,1.911,4.999,1.275,1.144,3.366,1.912,6.274,2.304l3.627.49c1.634.196,2.818.482,3.554.857.735.376,1.086.891,1.054,1.544,0,.393-.181.76-.54,1.103-.36.343-.85.605-1.47.784-.622.18-1.324.269-2.107.269-.981,0-1.855-.155-2.623-.466-.769-.31-1.389-.735-1.863-1.275-.474-.539-.728-1.168-.76-1.887l-8.087.735c.065,1.896.669,3.504,1.813,4.828,1.143,1.324,2.638,2.321,4.484,2.99s3.978,1.005,6.397,1.005c2.581,0,4.86-.36,6.837-1.078,1.977-.718,3.505-1.731,4.583-3.039,1.078-1.307,1.618-2.859,1.618-4.656.032-2.255-.695-3.995-2.181-5.22-1.487-1.225-3.865-2.099-7.132-2.622Z" fill="#1d1d1b"/>
<path d="M46.921,109.616c.793-1.466,1.19-3.254,1.19-5.364,0-3.174-.892-5.616-2.675-7.325-1.784-1.708-4.346-2.563-7.689-2.563h-7.142v19.747h7.142c2.222,0,4.108-.383,5.658-1.149,1.55-.765,2.722-1.881,3.515-3.347ZM42.145,111.129c-1.214.607-2.68.909-4.398.909h-4.817v-15.601h4.817c2.596,0,4.589.677,5.98,2.031,1.391,1.354,2.087,3.281,2.087,5.784,0,1.68-.308,3.095-.924,4.243-.616,1.148-1.531,2.026-2.745,2.633Z" fill="#1d1d1b"/>
<path d="M64.65,111.044c.626-1.148.938-2.478.938-3.991,0-1.531-.312-2.871-.938-4.019-.626-1.149-1.513-2.04-2.661-2.675-1.148-.635-2.46-.952-3.935-.952-1.513,0-2.838.317-3.977.952-1.139.635-2.021,1.526-2.647,2.675-.626,1.148-.938,2.488-.938,4.019,0,1.513.313,2.843.938,3.991.626,1.149,1.508,2.04,2.647,2.675,1.139.635,2.465.952,3.977.952,1.475,0,2.787-.317,3.935-.952,1.148-.635,2.035-1.526,2.661-2.675ZM60.883,112.025c-.822.476-1.765.714-2.829.714-1.083,0-2.036-.238-2.857-.714-.822-.476-1.457-1.143-1.904-2.002-.449-.859-.672-1.849-.672-2.969,0-1.158.224-2.161.672-3.011.448-.849,1.082-1.507,1.904-1.975.821-.466,1.774-.7,2.857-.7,1.064,0,2.007.234,2.829.7.821.468,1.452,1.126,1.891,1.975.438.85.658,1.854.658,3.011,0,1.12-.22,2.11-.658,2.969-.439.859-1.069,1.526-1.891,2.002Z" fill="#1d1d1b"/>
<polygon points="68.389 93.525 68.389 114.112 70.518 114.112 70.518 109.21 72.563 107.081 77.268 114.112 79.845 114.112 74.019 105.541 79.369 99.966 76.54 99.966 70.546 106.353 70.518 106.353 70.518 93.525 68.389 93.525" fill="#1d1d1b"/>
<path d="M92.058,107.978c0,.915-.206,1.746-.616,2.492-.411.747-.99,1.326-1.737,1.737-.747.411-1.587.617-2.52.617-1.139,0-2.036-.355-2.689-1.065-.654-.709-.98-1.662-.98-2.857v-8.936h-2.129v9.132c0,1.158.205,2.152.616,2.983.411.831,1.009,1.47,1.793,1.919.784.448,1.718.672,2.801.672,1.213,0,2.269-.224,3.165-.672.896-.449,1.653-1.11,2.269-1.988h.028l.196,2.101h1.933v-14.145h-2.129v8.012Z" fill="#1d1d1b"/>
<path d="M116.285,102.292c.598.617.896,1.476.896,2.577v9.244h2.157v-9.383c0-1.12-.196-2.077-.588-2.871-.393-.794-.958-1.4-1.694-1.821-.738-.42-1.611-.63-2.619-.63-1.083,0-2.087.238-3.011.714-.924.476-1.694,1.181-2.311,2.114h-.027c-.356-.914-.916-1.615-1.681-2.101-.766-.485-1.699-.728-2.801-.728-1.139,0-2.148.234-3.025.7-.878.466-1.522,1.11-1.933,1.932h-.028l-.224-2.073h-1.848v14.145h2.129v-7.871c0-1.456.382-2.633,1.148-3.529.766-.896,1.811-1.345,3.137-1.345,1.082,0,1.919.309,2.507.925.588.617.882,1.476.882,2.577v9.244h2.157v-7.871c0-.953.168-1.797.504-2.535.336-.738.831-1.312,1.485-1.723.654-.41,1.419-.617,2.297-.617,1.064,0,1.895.309,2.493.925Z" fill="#1d1d1b"/>
<path d="M135.093,112.824c.663-.579,1.143-1.251,1.442-2.017l-1.82-.756c-.392.784-1.032,1.429-1.919,1.932-.887.505-1.872.756-2.955.756-1.009,0-1.919-.209-2.731-.63s-1.475-1.003-1.988-1.751c-.514-.747-.826-1.615-.938-2.605h11.932c.018-.149.028-.294.028-.435v-.406c-.019-1.438-.318-2.731-.897-3.879-.579-1.149-1.387-2.04-2.423-2.675-1.037-.635-2.237-.952-3.6-.952-1.401,0-2.646.321-3.739.966-1.092.644-1.946,1.537-2.563,2.675-.616,1.139-.924,2.419-.924,3.838,0,1.476.336,2.81,1.008,4.005.672,1.195,1.601,2.124,2.787,2.787,1.186.663,2.525.994,4.019.994,1.026,0,1.997-.163,2.912-.49.915-.327,1.704-.78,2.367-1.358ZM125.107,103.524c.449-.691,1.027-1.227,1.737-1.61.709-.383,1.493-.574,2.353-.574s1.624.178,2.296.532c.672.355,1.219.873,1.638,1.555.42.681.677,1.498.771,2.451h-9.691c.149-.878.448-1.662.896-2.354Z" fill="#1d1d1b"/>
<path d="M151.996,114.112v-9.132c0-1.157-.206-2.151-.616-2.983-.411-.83-1.009-1.47-1.793-1.919-.784-.448-1.718-.672-2.801-.672-1.214,0-2.269.224-3.165.672-.896.449-1.653,1.112-2.269,1.988h-.028l-.196-2.101h-1.932v14.145h2.129v-8.011c0-.914.205-1.746.616-2.493.41-.747.99-1.326,1.737-1.737.746-.41,1.586-.616,2.52-.616,1.139,0,2.035.355,2.689,1.065.654.71.98,1.662.98,2.857v8.935h2.129Z" fill="#1d1d1b"/>
<path d="M164.011,109.967c-.112.878-.453,1.573-1.022,2.086-.57.514-1.228.771-1.975.771-.504,0-.948-.117-1.331-.35-.383-.234-.677-.561-.882-.98-.206-.42-.308-.892-.308-1.414v-8.347h6.329v-1.765h-6.329v-4.705l-2.129.503v4.201h-3.109v1.765h3.109v8.571c0,.86.182,1.615.546,2.268.365.654.887,1.168,1.569,1.541.682.373,1.47.559,2.367.559,1.214,0,2.292-.364,3.235-1.091.943-.729,1.508-1.699,1.695-2.913l-1.764-.7Z" fill="#1d1d1b"/>
<path d="M180.9,114.671c.542,0,1.083-.135,1.625-.406s.961-.612,1.26-1.022l-1.176-1.373c-.15.263-.327.468-.533.617-.205.149-.41.224-.616.224-.224,0-.406-.089-.546-.267-.14-.177-.211-.406-.211-.686v-7.142c0-1.045-.256-1.96-.77-2.745-.514-.784-1.242-1.396-2.185-1.835-.943-.438-2.012-.658-3.207-.658s-2.283.215-3.263.644c-.98.43-1.769.99-2.367,1.681-.598.691-.943,1.428-1.036,2.213l1.932.812c.037-.561.261-1.097.672-1.611.41-.513.961-.938,1.653-1.274.691-.336,1.465-.504,2.324-.504.803,0,1.517.122,2.143.364.625.243,1.115.579,1.47,1.009.355.43.532.943.532,1.541,0,.298-.102.546-.308.742-.206.196-.486.303-.841.322l-3.501.448c-2.203.261-3.819.798-4.845,1.61-1.027.812-1.541,1.826-1.541,3.04,0,.821.233,1.559.7,2.212.466.654,1.111,1.158,1.933,1.513.822.355,1.765.532,2.829.532.822,0,1.587-.116,2.297-.35.71-.233,1.335-.569,1.876-1.008.542-.438.981-.957,1.317-1.554h.028l.028.644c.037.43.154.817.35,1.163.196.345.462.616.799.811.336.197.728.294,1.176.294ZM178.547,108.062c0,.915-.22,1.723-.658,2.423-.439.7-1.05,1.251-1.835,1.653-.784.402-1.671.602-2.661.602-1.083,0-1.97-.214-2.661-.644-.691-.43-1.037-1.008-1.037-1.736,0-.672.35-1.251,1.05-1.736.7-.486,1.844-.832,3.431-1.037l4.369-.532v1.008Z" fill="#1d1d1b"/>
<path d="M192.118,112.053c-.57.514-1.228.771-1.975.771-.504,0-.948-.117-1.331-.35-.383-.234-.677-.561-.882-.98-.206-.42-.308-.892-.308-1.414v-8.347h6.329v-1.765h-6.329v-4.705l-2.129.503v4.201h-3.109v1.765h3.109v8.571c0,.86.182,1.615.546,2.268.365.654.887,1.168,1.569,1.541.682.373,1.47.559,2.367.559,1.214,0,2.292-.364,3.235-1.091.943-.729,1.508-1.699,1.694-2.913l-1.764-.7c-.112.878-.453,1.573-1.022,2.086Z" fill="#1d1d1b"/>
<path d="M198.265,97.222c.317,0,.598-.064.84-.196.243-.131.43-.313.56-.546.13-.233.196-.508.196-.826,0-.467-.145-.841-.434-1.121-.29-.28-.677-.42-1.162-.42-.317,0-.593.066-.826.196-.234.131-.416.312-.546.546-.131.234-.196.499-.196.798,0,.467.145.844.434,1.134.289.29.667.433,1.134.433Z" fill="#1d1d1b"/>
<rect x="197.173" y="99.966" width="2.129" height="14.145" fill="#1d1d1b"/>
<path d="M205.968,113.719c1.138.635,2.464.952,3.977.952,1.475,0,2.787-.317,3.936-.952,1.148-.635,2.035-1.526,2.661-2.675.626-1.148.938-2.478.938-3.991,0-1.531-.313-2.871-.938-4.019-.626-1.149-1.513-2.04-2.661-2.675-1.148-.635-2.46-.952-3.936-.952-1.513,0-2.838.317-3.977.952-1.139.635-2.021,1.526-2.647,2.675-.626,1.148-.938,2.488-.938,4.019,0,1.513.312,2.843.938,3.991.626,1.149,1.508,2.04,2.647,2.675ZM205.183,104.042c.448-.849,1.082-1.507,1.904-1.975.821-.466,1.774-.7,2.857-.7,1.064,0,2.007.234,2.829.7.821.468,1.452,1.126,1.891,1.975.438.85.658,1.854.658,3.011,0,1.12-.219,2.11-.658,2.969-.439.859-1.069,1.526-1.891,2.002-.822.476-1.765.714-2.829.714-1.083,0-2.036-.238-2.857-.714-.822-.476-1.456-1.143-1.904-2.002-.449-.859-.672-1.849-.672-2.969,0-1.158.224-2.161.672-3.011Z" fill="#1d1d1b"/>
<path d="M222.409,106.101c0-.914.205-1.746.616-2.493.41-.747.989-1.326,1.737-1.737.746-.41,1.586-.616,2.52-.616,1.138,0,2.035.355,2.689,1.065.654.71.981,1.662.981,2.857v8.935h2.129v-9.132c0-1.157-.206-2.151-.616-2.983-.411-.83-1.009-1.47-1.793-1.919-.784-.448-1.718-.672-2.801-.672-1.214,0-2.269.224-3.165.672-.897.449-1.653,1.112-2.269,1.988h-.028l-.196-2.101h-1.933v14.145h2.129v-8.011Z" fill="#1d1d1b"/>
<path d="M247.379,112.431c.513-.71.77-1.503.77-2.381,0-1.045-.378-1.881-1.134-2.507-.756-.625-1.965-1.115-3.627-1.47l-2.297-.476c-.99-.205-1.704-.462-2.142-.77-.439-.309-.659-.723-.659-1.247.019-.392.164-.765.434-1.12.271-.354.639-.635,1.106-.84.466-.206,1.009-.308,1.625-.308.99,0,1.824.238,2.507.715.681.476,1.068,1.097,1.162,1.862l2.045-.588c-.168-.747-.514-1.415-1.036-2.003-.523-.588-1.19-1.05-2.003-1.386s-1.704-.504-2.675-.504c-.99,0-1.882.187-2.675.559-.794.375-1.42.888-1.876,1.541-.458.654-.686,1.372-.686,2.157,0,1.046.332,1.876.994,2.493.663.616,1.732,1.083,3.207,1.401l2.269.448c1.176.243,2.035.537,2.577.882.542.346.812.799.812,1.359,0,.467-.173.893-.518,1.274-.345.383-.812.686-1.401.911-.588.224-1.256.336-2.002.336-.841,0-1.597-.145-2.269-.435-.672-.289-1.214-.686-1.625-1.19-.411-.505-.644-1.083-.7-1.737l-2.101.42c.075.99.42,1.854,1.037,2.592.616.737,1.419,1.298,2.408,1.68.989.382,2.063.574,3.221.574,1.139,0,2.17-.196,3.095-.588.924-.392,1.642-.942,2.157-1.652Z" fill="#1d1d1b"/>
<polygon points="262.545 112.179 252.126 112.179 262.264 102.348 262.264 99.966 250.109 99.966 250.109 101.928 259.968 101.928 249.829 111.731 249.829 114.112 262.545 114.112 262.545 112.179" fill="#1d1d1b"/>
<path d="M275.191,111.983c-.887.505-1.872.756-2.955.756-1.009,0-1.919-.209-2.731-.63s-1.475-1.003-1.989-1.751c-.514-.747-.826-1.615-.938-2.605h11.932c.018-.149.028-.294.028-.435v-.406c-.019-1.438-.318-2.731-.896-3.879-.579-1.149-1.387-2.04-2.423-2.675-1.037-.635-2.237-.952-3.6-.952-1.401,0-2.646.321-3.739.966-1.092.644-1.946,1.537-2.563,2.675-.616,1.139-.924,2.419-.924,3.838,0,1.476.336,2.81,1.008,4.005.672,1.195,1.601,2.124,2.787,2.787,1.186.663,2.525.994,4.02.994,1.026,0,1.997-.163,2.912-.49.915-.327,1.704-.78,2.367-1.358.663-.579,1.143-1.251,1.442-2.017l-1.82-.756c-.393.784-1.032,1.429-1.919,1.932ZM267.502,103.524c.449-.691,1.027-1.227,1.737-1.61.709-.383,1.493-.574,2.353-.574s1.624.178,2.296.532c.672.355,1.219.873,1.638,1.555.42.681.677,1.498.771,2.451h-9.691c.149-.878.448-1.662.896-2.354Z" fill="#1d1d1b"/>
<path d="M291.981,100.079c-.784-.448-1.718-.672-2.801-.672-1.214,0-2.269.224-3.165.672-.896.449-1.653,1.112-2.269,1.988h-.028l-.196-2.101h-1.932v14.145h2.129v-8.011c0-.914.205-1.746.616-2.493.41-.747.99-1.326,1.737-1.737.746-.41,1.586-.616,2.52-.616,1.139,0,2.035.355,2.689,1.065.654.71.98,1.662.98,2.857v8.935h2.129v-9.132c0-1.157-.206-2.151-.616-2.983-.411-.83-1.009-1.47-1.793-1.919Z" fill="#1d1d1b"/>
<path d="M305.383,112.053c-.57.514-1.228.771-1.975.771-.504,0-.948-.117-1.331-.35-.383-.234-.677-.561-.882-.98-.206-.42-.308-.892-.308-1.414v-8.347h6.329v-1.765h-6.329v-4.705l-2.129.503v4.201h-3.109v1.765h3.109v8.571c0,.86.182,1.615.546,2.268.365.654.887,1.168,1.569,1.541.682.373,1.47.559,2.367.559,1.214,0,2.292-.364,3.235-1.091.943-.729,1.508-1.699,1.694-2.913l-1.764-.7c-.112.878-.453,1.573-1.022,2.086Z" fill="#1d1d1b"/>
<path d="M318.505,99.911c-.616-.355-1.326-.533-2.129-.533-.915,0-1.727.252-2.436.756-.71.505-1.26,1.195-1.653,2.073h-.028l-.224-2.242h-1.792v14.145h2.129v-7.787c0-1.026.154-1.909.462-2.646.308-.737.737-1.307,1.288-1.708.55-.402,1.209-.603,1.975-.603s1.391.263,1.876.785c.485.522.775,1.279.868,2.269l1.904-.589c-.112-.953-.36-1.755-.742-2.409-.383-.653-.883-1.157-1.499-1.512Z" fill="#1d1d1b"/>
<path d="M333.798,107.978c0,.915-.206,1.746-.616,2.492-.411.747-.99,1.326-1.737,1.737-.747.411-1.587.617-2.52.617-1.139,0-2.036-.355-2.689-1.065-.654-.709-.98-1.662-.98-2.857v-8.936h-2.129v9.132c0,1.158.205,2.152.616,2.983.411.831,1.009,1.47,1.793,1.919.784.448,1.718.672,2.801.672,1.213,0,2.269-.224,3.165-.672.896-.449,1.653-1.11,2.269-1.988h.028l.196,2.101h1.933v-14.145h-2.129v8.012Z" fill="#1d1d1b"/>
<path d="M360.49,101.858c-.393-.794-.958-1.4-1.694-1.821-.738-.42-1.611-.63-2.619-.63-1.083,0-2.087.238-3.011.714-.924.476-1.694,1.181-2.311,2.114h-.027c-.356-.914-.916-1.615-1.681-2.101-.766-.485-1.699-.728-2.801-.728-1.139,0-2.148.234-3.025.7-.878.466-1.522,1.11-1.933,1.932h-.028l-.224-2.073h-1.848v14.145h2.129v-7.871c0-1.456.382-2.633,1.148-3.529.766-.896,1.811-1.345,3.137-1.345,1.082,0,1.919.309,2.507.925.588.617.882,1.476.882,2.577v9.244h2.157v-7.871c0-.953.168-1.797.504-2.535.336-.738.831-1.312,1.485-1.723.654-.41,1.419-.617,2.297-.617,1.064,0,1.895.309,2.493.925.598.617.896,1.476.896,2.577v9.244h2.157v-9.383c0-1.12-.196-2.077-.588-2.871Z" fill="#1d1d1b"/>
<polygon points="41.921 138.759 41.921 136.378 29.766 136.378 29.766 138.339 39.625 138.339 29.485 148.143 29.485 150.523 42.202 150.523 42.202 148.591 31.782 148.591 41.921 138.759" fill="#1d1d1b"/>
<path d="M55.254,144.39c0,.915-.206,1.746-.616,2.492-.411.747-.99,1.327-1.737,1.737-.747.411-1.587.617-2.52.617-1.139,0-2.036-.355-2.689-1.065-.654-.709-.981-1.662-.981-2.857v-8.935h-2.129v9.132c0,1.158.205,2.152.616,2.983.411.831,1.009,1.47,1.793,1.919.784.448,1.718.672,2.801.672,1.213,0,2.269-.224,3.165-.672.896-.448,1.653-1.11,2.269-1.988h.028l.196,2.101h1.932v-14.145h-2.129v8.011Z" fill="#1d1d1b"/>
<path d="M80.251,136.449c-.738-.42-1.611-.63-2.619-.63-1.083,0-2.087.238-3.011.714-.925.476-1.694,1.182-2.311,2.114h-.028c-.355-.914-.915-1.614-1.681-2.101-.766-.485-1.699-.727-2.801-.727-1.139,0-2.148.234-3.025.7-.878.466-1.522,1.11-1.932,1.933h-.028l-.224-2.073h-1.848v14.145h2.129v-7.871c0-1.457.382-2.633,1.148-3.529.766-.896,1.811-1.345,3.137-1.345,1.082,0,1.919.309,2.507.925.588.617.882,1.476.882,2.577v9.244h2.157v-7.871c0-.953.168-1.797.504-2.535.336-.738.831-1.311,1.485-1.722.654-.41,1.419-.617,2.297-.617,1.064,0,1.895.309,2.493.925.598.617.896,1.476.896,2.577v9.244h2.157v-9.383c0-1.12-.196-2.077-.588-2.871-.393-.794-.957-1.401-1.694-1.821Z" fill="#1d1d1b"/>
<polygon points="107.49 147.526 107.434 147.526 97.322 130.776 94.214 130.776 94.214 150.523 96.538 150.523 96.538 133.774 96.594 133.774 106.734 150.523 109.842 150.523 109.842 130.776 107.49 130.776 107.49 147.526" fill="#1d1d1b"/>
<path d="M122.811,139.684l-3.193-.756c-1.251-.281-2.157-.672-2.717-1.176-.56-.505-.84-1.176-.84-2.017,0-.672.178-1.283.533-1.834.354-.551.868-.98,1.54-1.288.672-.308,1.438-.462,2.297-.462.841,0,1.601.178,2.283.532.682.355,1.233.836,1.653,1.443.42.606.686,1.311.798,2.114l2.157-.588c-.187-1.102-.593-2.068-1.219-2.899-.626-.83-1.428-1.484-2.408-1.96-.981-.476-2.069-.714-3.263-.714-1.326,0-2.497.257-3.515.771-1.018.514-1.802,1.228-2.353,2.142-.551.915-.826,1.961-.826,3.137,0,1.327.42,2.395,1.26,3.207.84.812,2.137,1.424,3.893,1.835l3.194.728c1.437.336,2.479.776,3.123,1.316.644.542.966,1.251.966,2.129,0,.728-.201,1.377-.602,1.946-.401.57-.98,1.023-1.736,1.359-.756.336-1.639.504-2.647.504-1.12,0-2.147-.224-3.081-.672-.933-.449-1.68-1.074-2.24-1.877-.561-.802-.868-1.699-.925-2.689l-2.297.392c.149,1.327.611,2.516,1.387,3.572.775,1.055,1.783,1.876,3.024,2.465,1.242.588,2.619.882,4.132.882,1.457,0,2.74-.267,3.851-.799,1.111-.532,1.97-1.274,2.577-2.226.607-.953.911-2.025.911-3.221,0-1.363-.481-2.484-1.443-3.362-.962-.877-2.386-1.521-4.271-1.932Z" fill="#1d1d1b"/>
<path d="M144.712,143.129c0,1.176-.233,2.222-.7,3.137-.466.915-1.125,1.625-1.974,2.128-.85.505-1.835.756-2.955.756-1.158,0-2.166-.27-3.025-.812-.859-.541-1.522-1.264-1.988-2.17-.467-.906-.7-1.909-.7-3.011v-12.38h-2.325v12.38c0,1.55.336,2.941,1.009,4.173s1.615,2.189,2.829,2.871c1.213.682,2.613,1.023,4.201,1.023,1.53,0,2.903-.341,4.117-1.023,1.213-.681,2.157-1.638,2.829-2.871s1.008-2.623,1.008-4.173v-12.38h-2.325v12.352Z" fill="#1d1d1b"/>
<rect x="150.398" y="139.208" width="10.363" height="1.96" fill="#1d1d1b"/>
<polygon points="177.931 130.776 175.074 130.776 166.756 139.964 166.728 139.964 166.728 130.776 164.403 130.776 164.403 150.523 166.728 150.523 166.728 142.961 169.305 140.272 175.69 150.523 178.436 150.523 170.845 138.62 177.931 130.776" fill="#1d1d1b"/>
<path d="M190.494,136.771c-1.148-.635-2.46-.952-3.935-.952-1.513,0-2.838.317-3.977.952-1.139.635-2.021,1.526-2.647,2.675-.626,1.148-.938,2.488-.938,4.02,0,1.513.313,2.843.938,3.991.626,1.149,1.508,2.04,2.647,2.675,1.139.635,2.465.952,3.977.952,1.475,0,2.787-.317,3.935-.952s2.035-1.526,2.661-2.675c.626-1.148.938-2.478.938-3.991,0-1.531-.312-2.871-.938-4.02-.626-1.149-1.513-2.04-2.661-2.675ZM191.278,146.434c-.439.859-1.069,1.526-1.891,2.002-.822.476-1.765.714-2.829.714-1.083,0-2.036-.238-2.857-.714-.822-.476-1.457-1.143-1.904-2.002-.449-.859-.672-1.849-.672-2.969,0-1.158.224-2.161.672-3.012.448-.849,1.082-1.507,1.904-1.975.821-.466,1.774-.7,2.857-.7,1.064,0,2.007.234,2.829.7.821.468,1.452,1.126,1.891,1.975.438.851.658,1.854.658,3.012,0,1.12-.219,2.11-.658,2.969Z" fill="#1d1d1b"/>
<path d="M216.402,136.449c-.738-.42-1.611-.63-2.619-.63-1.083,0-2.087.238-3.011.714-.925.476-1.694,1.182-2.311,2.114h-.028c-.355-.914-.915-1.614-1.681-2.101-.766-.485-1.699-.727-2.801-.727-1.139,0-2.148.234-3.025.7-.878.466-1.522,1.11-1.932,1.933h-.028l-.224-2.073h-1.848v14.145h2.129v-7.871c0-1.457.382-2.633,1.148-3.529.766-.896,1.811-1.345,3.137-1.345,1.082,0,1.919.309,2.507.925.588.617.882,1.476.882,2.577v9.244h2.157v-7.871c0-.953.168-1.797.504-2.535.336-.738.831-1.311,1.485-1.722.654-.41,1.419-.617,2.297-.617,1.064,0,1.895.309,2.493.925.598.617.896,1.476.896,2.577v9.244h2.157v-9.383c0-1.12-.196-2.077-.588-2.871-.393-.794-.957-1.401-1.694-1.821Z" fill="#1d1d1b"/>
<path d="M233.221,136.813c-1.083-.663-2.325-.994-3.725-.994-1.158,0-2.208.261-3.151.784-.943.523-1.722,1.261-2.339,2.213h-.028l-.224-2.437h-1.848v20.027h2.129v-8.235h.028c.616.933,1.396,1.653,2.339,2.157.943.504,1.984.756,3.123.756,1.382,0,2.614-.331,3.697-.994,1.082-.662,1.932-1.568,2.548-2.716.616-1.149.925-2.451.925-3.907s-.308-2.764-.925-3.922c-.616-1.158-1.466-2.068-2.548-2.731ZM233.893,146.336c-.448.868-1.078,1.55-1.891,2.045-.812.495-1.723.743-2.731.743-1.027,0-1.937-.247-2.73-.743-.794-.494-1.42-1.176-1.876-2.045-.458-.868-.686-1.825-.686-2.871,0-1.065.228-2.031.686-2.899.457-.868,1.082-1.554,1.876-2.058.793-.505,1.703-.756,2.73-.756.99,0,1.896.248,2.718.742.821.495,1.456,1.177,1.904,2.045.448.868.672,1.844.672,2.927,0,1.045-.224,2.002-.672,2.871Z" fill="#1d1d1b"/>
<rect x="239.494" y="129.937" width="2.129" height="20.587" fill="#1d1d1b"/>
<path d="M255.222,148.394c-.887.505-1.872.756-2.955.756-1.009,0-1.919-.209-2.731-.63-.812-.42-1.475-1.003-1.988-1.751-.514-.747-.826-1.614-.938-2.605h11.932c.018-.149.028-.294.028-.435v-.405c-.019-1.438-.318-2.731-.897-3.879-.579-1.149-1.387-2.04-2.423-2.675-1.037-.635-2.237-.952-3.6-.952-1.401,0-2.646.321-3.739.966-1.092.644-1.946,1.537-2.563,2.675-.616,1.139-.924,2.419-.924,3.838,0,1.476.336,2.811,1.008,4.005.672,1.195,1.601,2.125,2.787,2.787,1.186.663,2.525.994,4.019.994,1.026,0,1.997-.163,2.912-.49.915-.327,1.704-.78,2.367-1.358.663-.578,1.143-1.251,1.442-2.017l-1.82-.756c-.392.784-1.032,1.429-1.919,1.932ZM247.533,139.935c.449-.691,1.027-1.227,1.737-1.61.709-.383,1.493-.575,2.353-.575s1.624.178,2.296.532c.672.355,1.219.873,1.638,1.555.42.681.677,1.498.771,2.451h-9.691c.149-.878.448-1.662.896-2.354Z" fill="#1d1d1b"/>
<polygon points="272.377 136.378 269.884 136.378 266.047 141.896 262.238 136.378 259.773 136.378 264.702 143.185 259.493 150.523 261.957 150.523 266.047 144.529 270.108 150.523 272.657 150.523 267.419 143.185 272.377 136.378" fill="#1d1d1b"/>
<path d="M75.166,69.99c-.018.044-.03.092-.049.134-.376.866-.956,1.544-1.74,2.034-.784.49-1.684.736-2.696.736-1.046,0-1.953-.245-2.72-.736-.768-.49-1.357-1.168-1.765-2.034-.409-.866-.613-1.904-.613-3.113,0-1.274.204-2.353.613-3.235.142-.308.315-.583.501-.842l-6.712-5.593c-.718.725-1.347,1.535-1.876,2.441-1.193,2.043-1.789,4.453-1.789,7.23,0,2.713.596,5.09,1.789,7.132,1.193,2.042,2.868,3.627,5.024,4.754,2.157,1.128,4.673,1.691,7.548,1.691,2.843,0,5.35-.563,7.524-1.691,1.555-.807,2.851-1.852,3.896-3.129l-6.936-5.779Z" fill="#1d1d1b"/>
<path d="M18.258,19.705c.767-.49,1.674-.736,2.72-.736,1.013,0,1.912.245,2.696.736.784.49,1.364,1.176,1.74,2.058.375.882.564,1.96.564,3.235,0,1.209-.189,2.247-.564,3.113-.045.105-.104.198-.155.297l6.841,5.7c.536-.604,1.013-1.261,1.426-1.978,1.177-2.041,1.765-4.419,1.765-7.131,0-2.777-.588-5.187-1.765-7.23-1.176-2.042-2.851-3.627-5.024-4.755-2.174-1.127-4.681-1.691-7.524-1.691-2.876,0-5.392.564-7.549,1.691-1.345.703-2.503,1.585-3.473,2.644l6.783,5.652c.388-.664.889-1.204,1.518-1.605Z" fill="#1d1d1b"/>
<path d="M211.668,79.729c1.186.663,2.525.994,4.02.994,1.026,0,1.997-.163,2.912-.49.915-.326,1.704-.779,2.368-1.358.662-.578,1.143-1.251,1.442-2.017l-1.82-.756c-.393.784-1.032,1.428-1.919,1.933-.887.504-1.872.756-2.955.756-1.009,0-1.919-.21-2.731-.63-.812-.42-1.475-1.003-1.988-1.751-.514-.747-.826-1.615-.938-2.605h11.932c.018-.149.028-.294.028-.434v-.406c-.019-1.437-.318-2.731-.896-3.879-.579-1.148-1.387-2.04-2.423-2.675-1.037-.635-2.237-.952-3.6-.952-1.401,0-2.646.322-3.739.966-1.092.644-1.946,1.536-2.563,2.675-.616,1.138-.924,2.418-.924,3.837,0,1.476.336,2.811,1.008,4.005.672,1.195,1.601,2.125,2.787,2.787ZM210.981,69.575c.449-.691,1.027-1.227,1.737-1.61.709-.383,1.493-.575,2.353-.575s1.624.178,2.296.532c.672.355,1.219.873,1.638,1.555.421.682.677,1.498.771,2.451h-9.691c.149-.878.448-1.662.896-2.353Z" fill="#1d1d1b"/>
<rect x="225.266" y="66.018" width="2.129" height="14.145" fill="#1d1d1b"/>
<path d="M226.358,63.273c.317,0,.598-.065.841-.196.243-.131.429-.313.56-.547.131-.233.196-.508.196-.826,0-.466-.145-.84-.434-1.12-.29-.28-.677-.421-1.162-.421-.317,0-.593.066-.826.196-.234.131-.416.313-.546.547-.131.234-.196.5-.196.798,0,.467.145.845.434,1.134.289.29.667.434,1.134.434Z" fill="#1d1d1b"/>
<path d="M233.164,72.152c0-.914.205-1.746.616-2.493.41-.747.989-1.326,1.737-1.737.746-.41,1.586-.616,2.52-.616,1.139,0,2.035.355,2.689,1.065.654.71.98,1.662.98,2.857v8.935h2.129v-9.131c0-1.158-.206-2.152-.616-2.983-.411-.831-1.008-1.471-1.793-1.919-.784-.449-1.718-.672-2.801-.672-1.214,0-2.269.224-3.165.672-.897.448-1.653,1.111-2.269,1.988h-.028l-.196-2.101h-1.933v14.145h2.129v-8.011Z" fill="#1d1d1b"/>
</svg>

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.
@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Ebene_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 361.1 156.4">
<!-- Generator: Adobe Illustrator 29.3.1, SVG Export Plug-In . SVG Version: 2.1.0 Build 151) -->
<defs>
<style>
.st0 {
fill: #1e2758;
}
</style>
</defs>
<path class="st0" d="M40.2,37.6h9.4v-18.3s14.2,0,14.2,0v18.3h9.5v-18.3s8.2,0,8.2,0v-7.1h-8.2v-1.3c0-1,.3-1.9.9-2.5.6-.6,1.4-1,2.4-1s1.7.2,2.5.6c.8.4,1.5.9,2.1,1.6l2.1-6.3c-1-1-2.4-1.8-4-2.5C77.7.3,76,0,74.4,0s-4.1.4-5.6,1.3c-1.6.9-2.8,2.1-3.7,3.6-.9,1.5-1.3,3.4-1.3,5.5v1.9h-14.2v-1.3c0-1,.3-1.9.9-2.5.6-.6,1.4-1,2.4-1s1.7.2,2.5.6c.8.4,1.5.9,2.1,1.6l2.1-6.3c-1-1-2.4-1.8-4-2.5C54,.3,52.4,0,50.8,0s-4.1.4-5.6,1.3c-1.6.9-2.8,2.1-3.7,3.6-.9,1.5-1.3,3.4-1.3,5.5v1.9h-4.3v7.1h4.3v18.3h0Z"/>
<path class="st0" d="M84.2,32c1.3,2.1,3.2,3.7,5.6,4.9,2.4,1.1,5.1,1.7,8.2,1.7s3.4-.2,5-.6c1.6-.4,3-1,4.3-1.8,1.3-.8,2.2-1.7,3-2.7l-4.9-4.3c-.8.8-1.8,1.5-3,2-1.3.5-2.6.8-3.9.8s-2.2-.2-3.1-.5c-.9-.4-1.7-.9-2.2-1.6-.6-.7-.9-1.5-1-2.5h17.2c.2-.4.3-1,.4-1.6,0-.7.1-1.3.1-1.9,0-2.5-.6-4.7-1.7-6.6-1.1-1.9-2.7-3.4-4.7-4.4-2-1-4.4-1.6-7-1.6s-5.3.6-7.4,1.7c-2.1,1.1-3.8,2.7-4.9,4.8-1.1,2.1-1.7,4.4-1.7,7.1s.7,5.1,2,7.2h0ZM92.6,20c.4-.7.9-1.3,1.6-1.7.6-.4,1.3-.6,2.1-.6s1.4.2,2,.6c.6.4,1.1.9,1.4,1.6.3.7.5,1.6.5,2.6h-8.3c0-.9.3-1.8.7-2.5Z"/>
<path class="st0" d="M122.1,23.8c0-.9.2-1.7.5-2.3.3-.6.8-1.1,1.4-1.5.6-.4,1.3-.5,2.1-.5s1.7.3,2.2.9c.6.6.8,1.4.8,2.5v14.7h9.5v-17.9c0-1.6-.3-3.1-1-4.3-.7-1.2-1.6-2.1-2.7-2.8-1.2-.6-2.5-1-4.1-1s-3.6.5-5.1,1.4c-1.5,1-2.6,2.3-3.5,4.1h0l-1.5-5h-7.9v25.3h9.5v-13.8h0Z"/>
<path class="st0" d="M148.7,36.9c2.4,1.1,5.1,1.7,8.2,1.7s3.4-.2,5-.6c1.6-.4,3-1,4.3-1.8,1.3-.8,2.2-1.7,3-2.7l-4.9-4.3c-.8.8-1.8,1.5-3,2-1.3.5-2.6.8-3.9.8s-2.2-.2-3.1-.5c-.9-.4-1.6-.9-2.2-1.6-.6-.7-.9-1.5-1-2.5h17.2c.2-.4.3-1,.4-1.6,0-.7.1-1.3.1-1.9,0-2.5-.6-4.7-1.7-6.6-1.1-1.9-2.7-3.4-4.7-4.4-2-1-4.4-1.6-7-1.6s-5.3.6-7.4,1.7c-2.1,1.1-3.8,2.7-4.9,4.8-1.1,2.1-1.7,4.4-1.7,7.1s.7,5.1,2,7.2c1.3,2.1,3.2,3.7,5.6,4.9h0ZM151.6,20c.4-.7.9-1.3,1.6-1.7.6-.4,1.3-.6,2.1-.6s1.4.2,2,.6c.6.4,1.1.9,1.4,1.6.3.7.5,1.6.5,2.6h-8.3c0-.9.3-1.8.7-2.5Z"/>
<path class="st0" d="M191.6,12.7c-1.1-.8-2.5-1.1-4-1.1s-2.9.4-4.1,1.3c-1.2.9-2.2,2.1-2.9,3.6h0l-1.5-4.3h-7.4v25.3h9.5v-13.6c0-1.1.1-2.1.4-2.9.3-.8.7-1.5,1.2-1.9.5-.5,1.2-.7,1.9-.7s1.7.4,2.2,1.2c.6.8.9,1.9,1,3.3l7.8-2.1c-.2-1.9-.6-3.5-1.3-4.9s-1.7-2.5-2.8-3.2h0Z"/>
<path class="st0" d="M23.1,55.3c-1.6-1.1-3.4-1.6-5.5-1.6s-3.5.5-4.9,1.4c-1.4.9-2.5,2.4-3.3,4.2h0l-1.5-5H0v35.6h9.5v-15.3h0c.8,1.9,1.9,3.3,3.3,4.2s3,1.4,4.8,1.4,3.9-.5,5.5-1.6c1.6-1.1,2.8-2.6,3.7-4.6.9-2,1.3-4.3,1.3-7s-.4-5-1.3-7-2.1-3.6-3.7-4.7h0ZM18.1,69.7c-.4.8-1,1.4-1.7,1.9-.7.5-1.6.7-2.5.7s-1.7-.2-2.5-.7c-.7-.5-1.3-1.1-1.7-1.9-.4-.8-.6-1.7-.6-2.7s.2-1.9.6-2.7c.4-.8,1-1.5,1.7-1.9.7-.5,1.6-.7,2.5-.7s1.7.2,2.5.7c.8.5,1.3,1.1,1.7,1.9.4.8.6,1.8.6,2.8s-.2,1.9-.6,2.7Z"/>
<path class="st0" d="M50.8,54.8c-1.1-.8-2.5-1.1-4-1.1s-2.9.4-4.1,1.3c-1.2.8-2.2,2.1-2.9,3.6h0l-1.5-4.3h-7.5v25.3h9.5v-13.6c0-1.1.1-2.1.4-2.9.3-.8.7-1.5,1.2-1.9.5-.5,1.2-.7,1.9-.7s1.7.4,2.2,1.2c.6.8.9,1.9,1,3.3l7.8-2.1c-.2-1.9-.6-3.5-1.3-4.9-.7-1.4-1.7-2.5-2.8-3.2h0Z"/>
<polygon class="st0" points="110.2 54.3 87.2 54.3 87.2 61.1 99.2 61.1 86.7 71.9 86.7 79.6 110.7 79.6 110.7 72.8 97.7 72.8 110.2 62.1 110.2 54.3"/>
<path class="st0" d="M140.2,67.8c0-.7.1-1.3.1-1.9,0-2.5-.6-4.7-1.7-6.6-1.1-1.9-2.7-3.4-4.7-4.4-2-1-4.4-1.6-7-1.6s-5.3.6-7.4,1.7c-2.1,1.1-3.8,2.7-4.9,4.8-1.1,2.1-1.7,4.4-1.7,7.1s.7,5.1,2,7.2c1.3,2.1,3.2,3.7,5.6,4.9,2.4,1.1,5.1,1.7,8.2,1.7s3.4-.2,5-.6c1.6-.4,3-1,4.3-1.8,1.3-.8,2.2-1.7,3-2.7l-4.9-4.3c-.8.8-1.8,1.5-3,2-1.3.5-2.6.8-3.9.8s-2.2-.2-3.1-.5c-.9-.4-1.7-.9-2.2-1.6-.6-.7-.9-1.5-1-2.5h17.2c.2-.4.3-1,.4-1.6h0ZM122.4,64.6c0-.9.3-1.8.7-2.5.4-.7.9-1.3,1.6-1.7.6-.4,1.3-.6,2.1-.6s1.4.2,2,.6c.6.4,1.1.9,1.4,1.6.3.7.5,1.6.5,2.6h-8.3Z"/>
<path class="st0" d="M157.9,74.2c-.6.2-1.3.3-2.1.3s-1.9-.2-2.6-.5c-.8-.3-1.4-.7-1.9-1.3-.5-.5-.7-1.2-.8-1.9l-8.1.7c0,1.9.7,3.5,1.8,4.8,1.1,1.3,2.6,2.3,4.5,3s4,1,6.4,1,4.9-.4,6.8-1.1,3.5-1.7,4.6-3c1.1-1.3,1.6-2.9,1.6-4.7,0-2.3-.7-4-2.2-5.2-1.5-1.2-3.9-2.1-7.1-2.6l-3.6-.6c-1.4-.3-2.4-.5-3-.9-.6-.3-.9-.7-.9-1.2,0-.4.1-.8.4-1.1.3-.3.7-.6,1.2-.7.5-.2,1.1-.2,1.8-.2,1.1,0,2.1.3,2.8.8.8.5,1.2,1.3,1.2,2.2l7.8-1c-.1-1.5-.7-2.9-1.7-4-1-1.1-2.4-2-4.1-2.7-1.7-.7-3.6-1-5.8-1s-4.4.3-6.1,1c-1.8.7-3.1,1.7-4.1,3-.9,1.3-1.4,2.9-1.4,4.6s.6,3.9,1.9,5c1.3,1.1,3.4,1.9,6.3,2.3l3.6.5c1.6.2,2.8.5,3.6.9.7.4,1.1.9,1.1,1.5,0,.4-.2.8-.5,1.1-.4.3-.9.6-1.5.8h0Z"/>
<path class="st0" d="M186.3,63.8l-3.6-.6c-1.4-.3-2.4-.5-3-.9-.6-.3-.9-.7-.9-1.2,0-.4.1-.8.4-1.1.3-.3.7-.6,1.2-.7.5-.2,1.1-.2,1.8-.2,1.1,0,2.1.3,2.8.8.8.5,1.2,1.3,1.2,2.2l7.8-1c-.1-1.5-.7-2.9-1.7-4-1-1.1-2.4-2-4.1-2.7-1.7-.7-3.6-1-5.8-1s-4.4.3-6.1,1c-1.8.7-3.1,1.7-4.1,3-.9,1.3-1.4,2.9-1.4,4.6s.6,3.9,1.9,5c1.3,1.1,3.4,1.9,6.3,2.3l3.6.5c1.6.2,2.8.5,3.6.9.7.4,1.1.9,1.1,1.5,0,.4-.2.8-.5,1.1-.4.3-.9.6-1.5.8-.6.2-1.3.3-2.1.3s-1.9-.2-2.6-.5c-.8-.3-1.4-.7-1.9-1.3-.5-.5-.7-1.2-.8-1.9l-8.1.7c0,1.9.7,3.5,1.8,4.8,1.1,1.3,2.6,2.3,4.5,3s4,1,6.4,1,4.9-.4,6.8-1.1,3.5-1.7,4.6-3c1.1-1.3,1.6-2.9,1.6-4.7,0-2.3-.7-4-2.2-5.2-1.5-1.2-3.9-2.1-7.1-2.6h0Z"/>
<path class="st0" d="M46.9,109.6c.8-1.5,1.2-3.3,1.2-5.4,0-3.2-.9-5.6-2.7-7.3-1.8-1.7-4.3-2.6-7.7-2.6h-7.1v19.7h7.1c2.2,0,4.1-.4,5.7-1.1,1.5-.8,2.7-1.9,3.5-3.3h0ZM42.1,111.1c-1.2.6-2.7.9-4.4.9h-4.8v-15.6h4.8c2.6,0,4.6.7,6,2s2.1,3.3,2.1,5.8-.3,3.1-.9,4.2-1.5,2-2.7,2.6h0Z"/>
<path class="st0" d="M64.7,111c.6-1.1.9-2.5.9-4s-.3-2.9-.9-4c-.6-1.1-1.5-2-2.7-2.7s-2.5-1-3.9-1-2.8.3-4,1-2,1.5-2.6,2.7c-.6,1.1-.9,2.5-.9,4s.3,2.8.9,4c.6,1.1,1.5,2,2.6,2.7s2.5,1,4,1,2.8-.3,3.9-1c1.1-.6,2-1.5,2.7-2.7ZM60.9,112c-.8.5-1.8.7-2.8.7s-2-.2-2.9-.7c-.8-.5-1.5-1.1-1.9-2-.4-.9-.7-1.8-.7-3s.2-2.2.7-3c.4-.8,1.1-1.5,1.9-2,.8-.5,1.8-.7,2.9-.7s2,.2,2.8.7c.8.5,1.5,1.1,1.9,2,.4.8.7,1.9.7,3s-.2,2.1-.7,3c-.4.9-1.1,1.5-1.9,2Z"/>
<polygon class="st0" points="68.4 93.5 68.4 114.1 70.5 114.1 70.5 109.2 72.6 107.1 77.3 114.1 79.8 114.1 74 105.5 79.4 100 76.5 100 70.5 106.4 70.5 106.4 70.5 93.5 68.4 93.5"/>
<path class="st0" d="M92.1,108c0,.9-.2,1.7-.6,2.5-.4.7-1,1.3-1.7,1.7s-1.6.6-2.5.6-2-.4-2.7-1.1c-.7-.7-1-1.7-1-2.9v-8.9h-2.1v9.1c0,1.2.2,2.2.6,3,.4.8,1,1.5,1.8,1.9.8.4,1.7.7,2.8.7s2.3-.2,3.2-.7c.9-.4,1.7-1.1,2.3-2h0l.2,2.1h1.9v-14.1h-2.1v8h0Z"/>
<path class="st0" d="M116.3,102.3c.6.6.9,1.5.9,2.6v9.2h2.2v-9.4c0-1.1-.2-2.1-.6-2.9-.4-.8-1-1.4-1.7-1.8-.7-.4-1.6-.6-2.6-.6s-2.1.2-3,.7-1.7,1.2-2.3,2.1h0c-.4-.9-.9-1.6-1.7-2.1-.8-.5-1.7-.7-2.8-.7s-2.1.2-3,.7c-.9.5-1.5,1.1-1.9,1.9h0l-.2-2.1h-1.8v14.1h2.1v-7.9c0-1.5.4-2.6,1.1-3.5.8-.9,1.8-1.3,3.1-1.3s1.9.3,2.5.9c.6.6.9,1.5.9,2.6v9.2h2.2v-7.9c0-1,.2-1.8.5-2.5.3-.7.8-1.3,1.5-1.7.7-.4,1.4-.6,2.3-.6s1.9.3,2.5.9h0Z"/>
<path class="st0" d="M135.1,112.8c.7-.6,1.1-1.3,1.4-2l-1.8-.8c-.4.8-1,1.4-1.9,1.9-.9.5-1.9.8-3,.8s-1.9-.2-2.7-.6-1.5-1-2-1.8c-.5-.7-.8-1.6-.9-2.6h11.9c0-.1,0-.3,0-.4v-.4c0-1.4-.3-2.7-.9-3.9-.6-1.1-1.4-2-2.4-2.7-1-.6-2.2-1-3.6-1s-2.6.3-3.7,1c-1.1.6-1.9,1.5-2.6,2.7-.6,1.1-.9,2.4-.9,3.8s.3,2.8,1,4c.7,1.2,1.6,2.1,2.8,2.8,1.2.7,2.5,1,4,1s2-.2,2.9-.5c.9-.3,1.7-.8,2.4-1.4h0ZM125.1,103.5c.4-.7,1-1.2,1.7-1.6.7-.4,1.5-.6,2.4-.6s1.6.2,2.3.5c.7.4,1.2.9,1.6,1.6.4.7.7,1.5.8,2.5h-9.7c.1-.9.4-1.7.9-2.4Z"/>
<path class="st0" d="M152,114.1v-9.1c0-1.2-.2-2.2-.6-3-.4-.8-1-1.5-1.8-1.9-.8-.4-1.7-.7-2.8-.7s-2.3.2-3.2.7c-.9.4-1.7,1.1-2.3,2h0l-.2-2.1h-1.9v14.1h2.1v-8c0-.9.2-1.7.6-2.5.4-.7,1-1.3,1.7-1.7.7-.4,1.6-.6,2.5-.6s2,.4,2.7,1.1c.7.7,1,1.7,1,2.9v8.9h2.1Z"/>
<path class="st0" d="M164,110c-.1.9-.5,1.6-1,2.1-.6.5-1.2.8-2,.8s-.9-.1-1.3-.3c-.4-.2-.7-.6-.9-1-.2-.4-.3-.9-.3-1.4v-8.3h6.3v-1.8h-6.3v-4.7l-2.1.5v4.2h-3.1v1.8h3.1v8.6c0,.9.2,1.6.5,2.3.4.7.9,1.2,1.6,1.5s1.5.6,2.4.6,2.3-.4,3.2-1.1c.9-.7,1.5-1.7,1.7-2.9l-1.8-.7h0Z"/>
<path class="st0" d="M180.9,114.7c.5,0,1.1-.1,1.6-.4s1-.6,1.3-1l-1.2-1.4c-.1.3-.3.5-.5.6-.2.1-.4.2-.6.2s-.4,0-.5-.3c-.1-.2-.2-.4-.2-.7v-7.1c0-1-.3-2-.8-2.7-.5-.8-1.2-1.4-2.2-1.8-.9-.4-2-.7-3.2-.7s-2.3.2-3.3.6c-1,.4-1.8,1-2.4,1.7s-.9,1.4-1,2.2l1.9.8c0-.6.3-1.1.7-1.6.4-.5,1-.9,1.7-1.3.7-.3,1.5-.5,2.3-.5s1.5.1,2.1.4c.6.2,1.1.6,1.5,1s.5.9.5,1.5-.1.5-.3.7-.5.3-.8.3l-3.5.4c-2.2.3-3.8.8-4.8,1.6-1,.8-1.5,1.8-1.5,3s.2,1.6.7,2.2c.5.7,1.1,1.2,1.9,1.5s1.8.5,2.8.5,1.6-.1,2.3-.3c.7-.2,1.3-.6,1.9-1,.5-.4,1-1,1.3-1.6h0v.6c0,.4.2.8.4,1.2.2.3.5.6.8.8.3.2.7.3,1.2.3h0ZM178.5,108.1c0,.9-.2,1.7-.7,2.4-.4.7-1.1,1.3-1.8,1.7-.8.4-1.7.6-2.7.6s-2-.2-2.7-.6-1-1-1-1.7.4-1.3,1.1-1.7c.7-.5,1.8-.8,3.4-1l4.4-.5v1h0Z"/>
<path class="st0" d="M192.1,112.1c-.6.5-1.2.8-2,.8s-.9-.1-1.3-.3c-.4-.2-.7-.6-.9-1-.2-.4-.3-.9-.3-1.4v-8.3h6.3v-1.8h-6.3v-4.7l-2.1.5v4.2h-3.1v1.8h3.1v8.6c0,.9.2,1.6.5,2.3.4.7.9,1.2,1.6,1.5s1.5.6,2.4.6,2.3-.4,3.2-1.1c.9-.7,1.5-1.7,1.7-2.9l-1.8-.7c-.1.9-.5,1.6-1,2.1h0Z"/>
<path class="st0" d="M198.3,97.2c.3,0,.6,0,.8-.2.2-.1.4-.3.6-.5.1-.2.2-.5.2-.8,0-.5-.1-.8-.4-1.1-.3-.3-.7-.4-1.2-.4s-.6,0-.8.2c-.2.1-.4.3-.5.5-.1.2-.2.5-.2.8,0,.5.1.8.4,1.1s.7.4,1.1.4h0Z"/>
<rect class="st0" x="197.2" y="100" width="2.1" height="14.1"/>
<path class="st0" d="M206,113.7c1.1.6,2.5,1,4,1s2.8-.3,3.9-1c1.1-.6,2-1.5,2.7-2.7.6-1.1.9-2.5.9-4s-.3-2.9-.9-4c-.6-1.1-1.5-2-2.7-2.7s-2.5-1-3.9-1-2.8.3-4,1-2,1.5-2.6,2.7c-.6,1.1-.9,2.5-.9,4s.3,2.8.9,4c.6,1.1,1.5,2,2.6,2.7ZM205.2,104c.4-.8,1.1-1.5,1.9-2,.8-.5,1.8-.7,2.9-.7s2,.2,2.8.7c.8.5,1.5,1.1,1.9,2,.4.8.7,1.9.7,3s-.2,2.1-.7,3c-.4.9-1.1,1.5-1.9,2s-1.8.7-2.8.7-2-.2-2.9-.7c-.8-.5-1.5-1.1-1.9-2-.4-.9-.7-1.8-.7-3s.2-2.2.7-3Z"/>
<path class="st0" d="M222.4,106.1c0-.9.2-1.7.6-2.5.4-.7,1-1.3,1.7-1.7.7-.4,1.6-.6,2.5-.6s2,.4,2.7,1.1c.7.7,1,1.7,1,2.9v8.9h2.1v-9.1c0-1.2-.2-2.2-.6-3-.4-.8-1-1.5-1.8-1.9-.8-.4-1.7-.7-2.8-.7s-2.3.2-3.2.7c-.9.4-1.7,1.1-2.3,2h0l-.2-2.1h-1.9v14.1h2.1v-8h0Z"/>
<path class="st0" d="M247.4,112.4c.5-.7.8-1.5.8-2.4s-.4-1.9-1.1-2.5c-.8-.6-2-1.1-3.6-1.5l-2.3-.5c-1-.2-1.7-.5-2.1-.8-.4-.3-.7-.7-.7-1.2,0-.4.2-.8.4-1.1.3-.4.6-.6,1.1-.8.5-.2,1-.3,1.6-.3,1,0,1.8.2,2.5.7.7.5,1.1,1.1,1.2,1.9l2-.6c-.2-.7-.5-1.4-1-2-.5-.6-1.2-1.1-2-1.4s-1.7-.5-2.7-.5-1.9.2-2.7.6c-.8.4-1.4.9-1.9,1.5-.5.7-.7,1.4-.7,2.2s.3,1.9,1,2.5c.7.6,1.7,1.1,3.2,1.4l2.3.4c1.2.2,2,.5,2.6.9.5.3.8.8.8,1.4s-.2.9-.5,1.3c-.3.4-.8.7-1.4.9-.6.2-1.3.3-2,.3s-1.6-.1-2.3-.4c-.7-.3-1.2-.7-1.6-1.2-.4-.5-.6-1.1-.7-1.7l-2.1.4c0,1,.4,1.9,1,2.6.6.7,1.4,1.3,2.4,1.7s2.1.6,3.2.6,2.2-.2,3.1-.6c.9-.4,1.6-.9,2.2-1.7h0Z"/>
<polygon class="st0" points="262.5 112.2 252.1 112.2 262.3 102.3 262.3 100 250.1 100 250.1 101.9 260 101.9 249.8 111.7 249.8 114.1 262.5 114.1 262.5 112.2"/>
<path class="st0" d="M275.2,112c-.9.5-1.9.8-3,.8s-1.9-.2-2.7-.6-1.5-1-2-1.8c-.5-.7-.8-1.6-.9-2.6h11.9c0-.1,0-.3,0-.4v-.4c0-1.4-.3-2.7-.9-3.9-.6-1.1-1.4-2-2.4-2.7-1-.6-2.2-1-3.6-1s-2.6.3-3.7,1c-1.1.6-1.9,1.5-2.6,2.7-.6,1.1-.9,2.4-.9,3.8s.3,2.8,1,4,1.6,2.1,2.8,2.8c1.2.7,2.5,1,4,1s2-.2,2.9-.5c.9-.3,1.7-.8,2.4-1.4.7-.6,1.1-1.3,1.4-2l-1.8-.8c-.4.8-1,1.4-1.9,1.9h0ZM267.5,103.5c.4-.7,1-1.2,1.7-1.6.7-.4,1.5-.6,2.4-.6s1.6.2,2.3.5c.7.4,1.2.9,1.6,1.6.4.7.7,1.5.8,2.5h-9.7c.1-.9.4-1.7.9-2.4h0Z"/>
<path class="st0" d="M292,100.1c-.8-.4-1.7-.7-2.8-.7s-2.3.2-3.2.7c-.9.4-1.7,1.1-2.3,2h0l-.2-2.1h-1.9v14.1h2.1v-8c0-.9.2-1.7.6-2.5.4-.7,1-1.3,1.7-1.7.7-.4,1.6-.6,2.5-.6s2,.4,2.7,1.1,1,1.7,1,2.9v8.9h2.1v-9.1c0-1.2-.2-2.2-.6-3-.4-.8-1-1.5-1.8-1.9h0Z"/>
<path class="st0" d="M305.4,112.1c-.6.5-1.2.8-2,.8s-.9-.1-1.3-.3c-.4-.2-.7-.6-.9-1-.2-.4-.3-.9-.3-1.4v-8.3h6.3v-1.8h-6.3v-4.7l-2.1.5v4.2h-3.1v1.8h3.1v8.6c0,.9.2,1.6.5,2.3.4.7.9,1.2,1.6,1.5s1.5.6,2.4.6,2.3-.4,3.2-1.1c.9-.7,1.5-1.7,1.7-2.9l-1.8-.7c-.1.9-.5,1.6-1,2.1h0Z"/>
<path class="st0" d="M318.5,99.9c-.6-.4-1.3-.5-2.1-.5s-1.7.3-2.4.8c-.7.5-1.3,1.2-1.7,2.1h0l-.2-2.2h-1.8v14.1h2.1v-7.8c0-1,.2-1.9.5-2.6s.7-1.3,1.3-1.7c.5-.4,1.2-.6,2-.6s1.4.3,1.9.8c.5.5.8,1.3.9,2.3l1.9-.6c-.1-1-.4-1.8-.7-2.4-.4-.7-.9-1.2-1.5-1.5h0Z"/>
<path class="st0" d="M333.8,108c0,.9-.2,1.7-.6,2.5-.4.7-1,1.3-1.7,1.7s-1.6.6-2.5.6-2-.4-2.7-1.1c-.7-.7-1-1.7-1-2.9v-8.9h-2.1v9.1c0,1.2.2,2.2.6,3s1,1.5,1.8,1.9c.8.4,1.7.7,2.8.7s2.3-.2,3.2-.7c.9-.4,1.7-1.1,2.3-2h0l.2,2.1h1.9v-14.1h-2.1v8h0Z"/>
<path class="st0" d="M360.5,101.9c-.4-.8-1-1.4-1.7-1.8-.7-.4-1.6-.6-2.6-.6s-2.1.2-3,.7c-.9.5-1.7,1.2-2.3,2.1h0c-.4-.9-.9-1.6-1.7-2.1-.8-.5-1.7-.7-2.8-.7s-2.1.2-3,.7c-.9.5-1.5,1.1-1.9,1.9h0l-.2-2.1h-1.8v14.1h2.1v-7.9c0-1.5.4-2.6,1.1-3.5.8-.9,1.8-1.3,3.1-1.3s1.9.3,2.5.9c.6.6.9,1.5.9,2.6v9.2h2.2v-7.9c0-1,.2-1.8.5-2.5.3-.7.8-1.3,1.5-1.7.7-.4,1.4-.6,2.3-.6s1.9.3,2.5.9c.6.6.9,1.5.9,2.6v9.2h2.2v-9.4c0-1.1-.2-2.1-.6-2.9h0Z"/>
<polygon class="st0" points="41.9 138.8 41.9 136.4 29.8 136.4 29.8 138.3 39.6 138.3 29.5 148.1 29.5 150.5 42.2 150.5 42.2 148.6 31.8 148.6 41.9 138.8"/>
<path class="st0" d="M55.3,144.4c0,.9-.2,1.7-.6,2.5-.4.7-1,1.3-1.7,1.7-.7.4-1.6.6-2.5.6s-2-.4-2.7-1.1c-.7-.7-1-1.7-1-2.9v-8.9h-2.1v9.1c0,1.2.2,2.2.6,3,.4.8,1,1.5,1.8,1.9.8.4,1.7.7,2.8.7s2.3-.2,3.2-.7,1.7-1.1,2.3-2h0l.2,2.1h1.9v-14.1h-2.1v8h0Z"/>
<path class="st0" d="M80.3,136.4c-.7-.4-1.6-.6-2.6-.6s-2.1.2-3,.7c-.9.5-1.7,1.2-2.3,2.1h0c-.4-.9-.9-1.6-1.7-2.1-.8-.5-1.7-.7-2.8-.7s-2.1.2-3,.7c-.9.5-1.5,1.1-1.9,1.9h0l-.2-2.1h-1.8v14.1h2.1v-7.9c0-1.5.4-2.6,1.1-3.5.8-.9,1.8-1.3,3.1-1.3s1.9.3,2.5.9c.6.6.9,1.5.9,2.6v9.2h2.2v-7.9c0-1,.2-1.8.5-2.5s.8-1.3,1.5-1.7c.7-.4,1.4-.6,2.3-.6s1.9.3,2.5.9c.6.6.9,1.5.9,2.6v9.2h2.2v-9.4c0-1.1-.2-2.1-.6-2.9-.4-.8-1-1.4-1.7-1.8h0Z"/>
<polygon class="st0" points="107.5 147.5 107.4 147.5 97.3 130.8 94.2 130.8 94.2 150.5 96.5 150.5 96.5 133.8 96.6 133.8 106.7 150.5 109.8 150.5 109.8 130.8 107.5 130.8 107.5 147.5"/>
<path class="st0" d="M122.8,139.7l-3.2-.8c-1.3-.3-2.2-.7-2.7-1.2-.6-.5-.8-1.2-.8-2s.2-1.3.5-1.8c.4-.6.9-1,1.5-1.3.7-.3,1.4-.5,2.3-.5s1.6.2,2.3.5c.7.4,1.2.8,1.7,1.4.4.6.7,1.3.8,2.1l2.2-.6c-.2-1.1-.6-2.1-1.2-2.9-.6-.8-1.4-1.5-2.4-2-1-.5-2.1-.7-3.3-.7s-2.5.3-3.5.8c-1,.5-1.8,1.2-2.4,2.1-.6.9-.8,2-.8,3.1s.4,2.4,1.3,3.2c.8.8,2.1,1.4,3.9,1.8l3.2.7c1.4.3,2.5.8,3.1,1.3.6.5,1,1.3,1,2.1s-.2,1.4-.6,1.9c-.4.6-1,1-1.7,1.4s-1.6.5-2.6.5-2.1-.2-3.1-.7c-.9-.4-1.7-1.1-2.2-1.9-.6-.8-.9-1.7-.9-2.7l-2.3.4c.1,1.3.6,2.5,1.4,3.6.8,1.1,1.8,1.9,3,2.5,1.2.6,2.6.9,4.1.9s2.7-.3,3.9-.8,2-1.3,2.6-2.2c.6-1,.9-2,.9-3.2s-.5-2.5-1.4-3.4c-1-.9-2.4-1.5-4.3-1.9h0Z"/>
<path class="st0" d="M144.7,143.1c0,1.2-.2,2.2-.7,3.1-.5.9-1.1,1.6-2,2.1-.9.5-1.8.8-3,.8s-2.2-.3-3-.8c-.9-.5-1.5-1.3-2-2.2-.5-.9-.7-1.9-.7-3v-12.4h-2.3v12.4c0,1.6.3,2.9,1,4.2s1.6,2.2,2.8,2.9c1.2.7,2.6,1,4.2,1s2.9-.3,4.1-1c1.2-.7,2.2-1.6,2.8-2.9s1-2.6,1-4.2v-12.4h-2.3v12.4h0Z"/>
<rect class="st0" x="150.4" y="139.2" width="10.4" height="2"/>
<polygon class="st0" points="177.9 130.8 175.1 130.8 166.8 140 166.7 140 166.7 130.8 164.4 130.8 164.4 150.5 166.7 150.5 166.7 143 169.3 140.3 175.7 150.5 178.4 150.5 170.8 138.6 177.9 130.8"/>
<path class="st0" d="M190.5,136.8c-1.1-.6-2.5-1-3.9-1s-2.8.3-4,1-2,1.5-2.6,2.7c-.6,1.1-.9,2.5-.9,4s.3,2.8.9,4c.6,1.1,1.5,2,2.6,2.7,1.1.6,2.5,1,4,1s2.8-.3,3.9-1,2-1.5,2.7-2.7c.6-1.1.9-2.5.9-4s-.3-2.9-.9-4-1.5-2-2.7-2.7ZM191.3,146.4c-.4.9-1.1,1.5-1.9,2s-1.8.7-2.8.7-2-.2-2.9-.7c-.8-.5-1.5-1.1-1.9-2-.4-.9-.7-1.8-.7-3s.2-2.2.7-3c.4-.8,1.1-1.5,1.9-2,.8-.5,1.8-.7,2.9-.7s2,.2,2.8.7c.8.5,1.5,1.1,1.9,2,.4.9.7,1.9.7,3s-.2,2.1-.7,3Z"/>
<path class="st0" d="M216.4,136.4c-.7-.4-1.6-.6-2.6-.6s-2.1.2-3,.7c-.9.5-1.7,1.2-2.3,2.1h0c-.4-.9-.9-1.6-1.7-2.1-.8-.5-1.7-.7-2.8-.7s-2.1.2-3,.7c-.9.5-1.5,1.1-1.9,1.9h0l-.2-2.1h-1.8v14.1h2.1v-7.9c0-1.5.4-2.6,1.1-3.5.8-.9,1.8-1.3,3.1-1.3s1.9.3,2.5.9c.6.6.9,1.5.9,2.6v9.2h2.2v-7.9c0-1,.2-1.8.5-2.5s.8-1.3,1.5-1.7c.7-.4,1.4-.6,2.3-.6s1.9.3,2.5.9c.6.6.9,1.5.9,2.6v9.2h2.2v-9.4c0-1.1-.2-2.1-.6-2.9-.4-.8-1-1.4-1.7-1.8h0Z"/>
<path class="st0" d="M233.2,136.8c-1.1-.7-2.3-1-3.7-1s-2.2.3-3.2.8c-.9.5-1.7,1.3-2.3,2.2h0l-.2-2.4h-1.8v20h2.1v-8.2h0c.6.9,1.4,1.7,2.3,2.2.9.5,2,.8,3.1.8s2.6-.3,3.7-1c1.1-.7,1.9-1.6,2.5-2.7.6-1.1.9-2.5.9-3.9s-.3-2.8-.9-3.9c-.6-1.2-1.5-2.1-2.5-2.7h0ZM233.9,146.3c-.4.9-1.1,1.6-1.9,2-.8.5-1.7.7-2.7.7s-1.9-.2-2.7-.7c-.8-.5-1.4-1.2-1.9-2-.5-.9-.7-1.8-.7-2.9s.2-2,.7-2.9c.5-.9,1.1-1.6,1.9-2.1.8-.5,1.7-.8,2.7-.8s1.9.2,2.7.7c.8.5,1.5,1.2,1.9,2,.4.9.7,1.8.7,2.9s-.2,2-.7,2.9h0Z"/>
<rect class="st0" x="239.5" y="129.9" width="2.1" height="20.6"/>
<path class="st0" d="M255.2,148.4c-.9.5-1.9.8-3,.8s-1.9-.2-2.7-.6c-.8-.4-1.5-1-2-1.8-.5-.7-.8-1.6-.9-2.6h11.9c0-.1,0-.3,0-.4v-.4c0-1.4-.3-2.7-.9-3.9-.6-1.1-1.4-2-2.4-2.7-1-.6-2.2-1-3.6-1s-2.6.3-3.7,1c-1.1.6-1.9,1.5-2.6,2.7-.6,1.1-.9,2.4-.9,3.8s.3,2.8,1,4c.7,1.2,1.6,2.1,2.8,2.8,1.2.7,2.5,1,4,1s2-.2,2.9-.5c.9-.3,1.7-.8,2.4-1.4s1.1-1.3,1.4-2l-1.8-.8c-.4.8-1,1.4-1.9,1.9h0ZM247.5,139.9c.4-.7,1-1.2,1.7-1.6.7-.4,1.5-.6,2.4-.6s1.6.2,2.3.5c.7.4,1.2.9,1.6,1.6.4.7.7,1.5.8,2.5h-9.7c.1-.9.4-1.7.9-2.4h0Z"/>
<polygon class="st0" points="272.4 136.4 269.9 136.4 266 141.9 262.2 136.4 259.8 136.4 264.7 143.2 259.5 150.5 262 150.5 266 144.5 270.1 150.5 272.7 150.5 267.4 143.2 272.4 136.4"/>
<path class="st0" d="M75.2,70s0,0,0,.1c-.4.9-1,1.5-1.7,2s-1.7.7-2.7.7-2-.2-2.7-.7c-.8-.5-1.4-1.2-1.8-2-.4-.9-.6-1.9-.6-3.1s.2-2.4.6-3.2c.1-.3.3-.6.5-.8l-6.7-5.6c-.7.7-1.3,1.5-1.9,2.4-1.2,2-1.8,4.5-1.8,7.2s.6,5.1,1.8,7.1c1.2,2,2.9,3.6,5,4.8,2.2,1.1,4.7,1.7,7.5,1.7s5.3-.6,7.5-1.7c1.6-.8,2.9-1.9,3.9-3.1l-6.9-5.8h0Z"/>
<path class="st0" d="M18.3,19.7c.8-.5,1.7-.7,2.7-.7s1.9.2,2.7.7c.8.5,1.4,1.2,1.7,2.1.4.9.6,2,.6,3.2s-.2,2.2-.6,3.1c0,.1-.1.2-.2.3l6.8,5.7c.5-.6,1-1.3,1.4-2,1.2-2,1.8-4.4,1.8-7.1s-.6-5.2-1.8-7.2c-1.2-2-2.9-3.6-5-4.8-2.2-1.1-4.7-1.7-7.5-1.7s-5.4.6-7.5,1.7c-1.3.7-2.5,1.6-3.5,2.6l6.8,5.7c.4-.7.9-1.2,1.5-1.6h0Z"/>
<path class="st0" d="M211.7,79.7c1.2.7,2.5,1,4,1s2-.2,2.9-.5c.9-.3,1.7-.8,2.4-1.4.7-.6,1.1-1.3,1.4-2l-1.8-.8c-.4.8-1,1.4-1.9,1.9-.9.5-1.9.8-3,.8s-1.9-.2-2.7-.6-1.5-1-2-1.8c-.5-.7-.8-1.6-.9-2.6h11.9c0-.1,0-.3,0-.4v-.4c0-1.4-.3-2.7-.9-3.9-.6-1.1-1.4-2-2.4-2.7-1-.6-2.2-1-3.6-1s-2.6.3-3.7,1c-1.1.6-1.9,1.5-2.6,2.7-.6,1.1-.9,2.4-.9,3.8s.3,2.8,1,4c.7,1.2,1.6,2.1,2.8,2.8h0ZM211,69.6c.4-.7,1-1.2,1.7-1.6.7-.4,1.5-.6,2.4-.6s1.6.2,2.3.5c.7.4,1.2.9,1.6,1.6.4.7.7,1.5.8,2.5h-9.7c.1-.9.4-1.7.9-2.4Z"/>
<rect class="st0" x="225.3" y="66" width="2.1" height="14.1"/>
<path class="st0" d="M226.4,63.3c.3,0,.6,0,.8-.2s.4-.3.6-.5c.1-.2.2-.5.2-.8,0-.5-.1-.8-.4-1.1-.3-.3-.7-.4-1.2-.4s-.6,0-.8.2c-.2.1-.4.3-.5.5-.1.2-.2.5-.2.8,0,.5.1.8.4,1.1.3.3.7.4,1.1.4h0Z"/>
<path class="st0" d="M233.2,72.2c0-.9.2-1.7.6-2.5.4-.7,1-1.3,1.7-1.7.7-.4,1.6-.6,2.5-.6s2,.4,2.7,1.1c.7.7,1,1.7,1,2.9v8.9h2.1v-9.1c0-1.2-.2-2.2-.6-3-.4-.8-1-1.5-1.8-1.9-.8-.4-1.7-.7-2.8-.7s-2.3.2-3.2.7c-.9.4-1.7,1.1-2.3,2h0l-.2-2.1h-1.9v14.1h2.1v-8h0Z"/>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More