Brandbook.

LH-Virtual.comVersion 1.7August 2026
00 Inhalt

Ein Blau. Ein Gelb. Ein Kranich.

Dieses Brandbook definiert, wie LH Virtual aussieht, klingt und auftritt — auf der Website, auf Social Media und überall dazwischen. Es verbindet die Designsprache von lufthansa.com mit der dunklen Nachtblau-Welt unserer Community.

01 Marke & Haltung

Say yes to the world. Virtually.

LH Virtual ist die virtuelle Airline für Lufthansa-Enthusiasten — kostenlos, non-kommerziell, von der Community getragen. Wir sind so nah an der echten Lufthansa wie möglich, ohne je zu vergessen, dass wir ein Hobby sind.

Markenkern

Realismus.
Echte Flugpläne über die offizielle Lufthansa-API, echte Flottenzahlen, echte Prozeduren. Wer bei uns fliegt, fliegt wie das Original.

Zugänglichkeit.
Kein Druck, keine Hürden. Vom Casual-Piloten bis zum Hardcore-Simmer hat jeder seinen Platz — und Real Life geht immer vor.

Gemeinschaft.
Events, Group Flights, Discord. Wir fliegen zusammen — das ist der Unterschied zwischen einer VA und einem Logbuch.

Tonalität

Wir schreiben wie eine Premium-Airline, die zwinkert: klar, souverän, warm. Kurze Sätze. Aktive Verben. Luftfahrt-Vokabular ist willkommen („Pushback", „Final", „OFP"), Insider-Gatekeeping nicht. Auf Deutsch duzen wir, auf Englisch sind wir „you" — nie steif, nie albern.

Faustregel: Würde es so im Lufthansa-Magazin stehen können — und würde ein Simmer dabei grinsen? Dann passt es.

Zwei Register. Das oben gilt für Headlines auf den Grafiken und für Texte auf der Website. Social-Captions sitzen näher dran und lauter — Emoji gehören dazu, Versalien für den großen Moment, direkte Fragen an die Community. Unsere Pilotinnen und Piloten sind die Helden: Ihre Screenshots werden mit Dank geteilt, nicht präsentiert. Verbindliche Referenz sind die captionExamples in design-tokens/lh.json — echte Captions, keine erfundenen.

03 Farben

Nachtblau trägt. Gelb zündet.

Die Palette ist bewusst schmal: Navy als Fundament, ein tiefer Nacht-Verlauf für die Social-Welt, Gelb ausschließlich als Akzent. Wenn alles gelb ist, ist nichts mehr wichtig.

LHV Navy#00235F · RGB 0 35 95Primärfarbe, Logo, Headlines
Lufthansa Deep Blue#05164D · RGB 5 22 77Text auf Gelb, Tiefen
Lufthansa Yellow#FFAD00 · RGB 255 173 0Akzent: CTA, Linien, Tags
Cloud#F4F6FA · RGB 244 246 250Helle Sektionsflächen
Night 1#0A226BVerlauf: Start (oben)
Night 2#071A55Verlauf: Mitte
Night 3#041034Verlauf: Ende (unten)
Muted Blue#93A3C4Sekundärtext auf Navy

Funktionsfarben

Ohne diese Ebene wird Gelb zum Lückenfüller: Alles, was auffallen soll, ohne Headline zu sein, landet sonst zwangsläufig im Akzent. Die Werte sind 1:1 aus dem Lufthansa-System übernommen (MAUI, lufthansa.com).

Whale Blue#52627C · RGB 82 98 124Links & Hover auf Hell — 5,9:1 auf Weiß
Marble Blue#414E63 · RGB 65 78 99Link-Hover, gedrückte Zustände
Electric Blue#0968F6 · RGB 9 104 246Fokusring — nie Gelb. 4,9:1 auf Weiß
Sunglow Yellow#FFBD32 · RGB 255 189 50Hover des Primär-Buttons
Pale Yellow#FFFEDC · RGB 255 254 220Hinweisflächen — Gelb als Fläche nur als Tint
Green#417505 · bg #F2F5EElive / on time / Erfolg
Red#CC0000 · bg #FBEDEDFehler, Verspätung
Interactive (invertiert)#EBEBEB → #FFFFFFDieselbe Rolle auf Navy/Night

Gelb ist eine Rolle, keine Dekoration

Gelb markiert die Primäraktion. Was klickbar ist, aber nicht die Aktion, wird blau (#52627C). Was nur zählt oder gliedert, wird Navy oder neutral. Das ist die Regel, an der es sich entscheidet — nicht die Prozentzahl. Fünfzehn winzige gelbe Dinge sind zwei Prozent Fläche und trotzdem fünfzehn Blickfänge. Lufthansa bindet Gelb im eigenen Design-System an genau eine Semantik (interaction-buttonprimary): Die Startseite von lufthansa.com trägt ein einziges gelbes Element, die Allegris-Kampagnenseite keines.

Gelb darfGelb darf nicht
Primär-Button (CTA)Fokusring
Kategorie-Chip / TagHover-Farbe für Links & Navigation
Signatur-Strich oder Kapitelmarker — einer pro AnsichtWiederholte Ordnungszahlen: Listennummern, Schritt-Kreise
Fortschritt & Live-MarkerRahmen, Trennlinien, aktive Zustände
Als Tint #FFFEDC für HinweisflächenFließtext oder große Flächen

Der Night-Gradient

Signatur der Social-Media-Welt und dunkler Website-Sektionen: linear-gradient(178°, #0A226B → #071A55 46% → #041034). Immer von oben nach unten dunkler werdend — wie Reiseflughöhe bei Sonnenuntergang.

Einsatzverhältnis

55% Weiß/Cloud
35% Navy/Night
7%
3%

Faustwert für den zweiten Blick, nachdem die Rollenfrage geklärt ist. Auf Gelb steht immer Deep Blue (#05164D), nie Weiß — Kontrast 9,1:1 vs. 1,9:1 (gemessen).

04 Typografie

Zwei Familien, klare Rollen.

Lufthansa Head für alles Laute, Lufthansa Text für alles Lesbare. Fallback, wo die Fonts nicht verfügbar sind (z. B. Systemschrift in E-Mails): Segoe UI / Arial.

Lufthansa Head Bold — Headlines, Buttons, Zahlen, Tags
Say yes to the world.
Lufthansa Head Light — große Subheadlines, Zitate
Von Casual bis Hardcore — du entscheidest.
Lufthansa Text Regular/Bold — Fließtext, UI, Captions

LH Virtual kombiniert echte Flugpläne über die offizielle Lufthansa-API mit automatischem PIREP-Grading, SimBrief-Integration und einer Community, die jeden Tag zusammen fliegt. Bold nur für Betonung einzelner Begriffe.

Eyebrow — Kapitel- und Sektionsmarker, immer mit gelber Linie
VA News

Hierarchie-Regeln

EbeneSchnittGröße (Web)Besonderheit
H1 / HeroHead Bold48–68 pxLetter-spacing −2 %, ein Wort in Gelb erlaubt
H2 / SektionHead Bold30–44 pxendet mit Punkt. Immer.
EyebrowHead Bold13 px, +28 % LSVersalien, gelbe 34-px-Linie davor
BodyText Regular15–18 pxZeilenhöhe 1,65, max. ~70 Zeichen
Caption/MetaText Regular12–14 pxMuted-Farben, nie reines Grau auf Navy
05 Grafikelemente

Die gelbe Linie ist unsere Unterschrift.

Wenige, wiedererkennbare Bausteine — konsequent eingesetzt statt jedes Mal neu erfunden.

1 — Yellow Underline

Die gelbe Linie unterstreicht das wichtigste Wort oder markiert Kategorien (bekannt vom VA-NEWS-Banner). Stärke: ~8 % der Versalhöhe, Länge: nie breiter als das Wort.

VA NEWS

2 — Category Tag

Gelbes Label mit Deep-Blue-Versalien für Inhaltstypen auf Karten und Social Posts:

EventFleetDid you knowFocus AirportOutline-Variante

Zwei Gelb pro Fläche, nie drei

Der Balken ist gesetzt. Das zweite Gelb ist das, was den Blick führen soll — was übrig bleibt, steht als weißes Eyebrow in Versalien. Deshalb unterscheiden sich die Vorlagen bewusst:

FlächeGelb 1Gelb 2 (führt)In Weiß
Social Lower Third (Kap. 07)BalkenKategorieHeadline — kein CTA im Bild
Focus Airport „Horizon" (Kap. 08)Balken{ICAO}-ChipEyebrow „FOCUS AIRPORT", {CITY}
Website-HeroBalkenCTAKategorie als Eyebrow, Headline
In der Praxis: Der gefüllte gelbe Chip gehört auf helle Flächen und Karten — und auf Fotos überall dort, wo er das führende Element ist. Wo bereits ein gelber CTA im selben Bild sitzt, tritt die Kategorie in Weiß zurück: Head Bold, Versalien, +26 % Laufweite, genau wie „FOCUS AIRPORT".

3 — Kranich-Wasserzeichen

Das weiße Logo mit 4–8 % Deckkraft, groß angeschnitten am Bildrand — verleiht dunklen Flächen Tiefe, ohne zu stören. Nie über Gesichtern oder Flugzeug-Bemalungen platzieren.

4 — Night-Scrim

Verlauf von rgba(4,16,52,0) zu rgba(4,16,52,.92) über dem unteren Bilddrittel. Macht jeden Screenshot text-tauglich und ersetzt den harten Streifen der alten Universal.psd.

06 Bildsprache

Screenshots, die wie Planespotting aussehen.

Unsere Bilder kommen aus dem Simulator — aber sie sollen aussehen wie von der Besucherterrasse fotografiert.

So ja

  • Golden Hour, Blaue Stunde, Nacht — Stimmung schlägt Mittagssonne
  • Klare Blickführung: ein Flugzeug, ein Motiv, ein Fokus
  • Realistische Brennweiten & Perspektiven (Spotter-Positionen)
  • 4K-Renderings, dezentes Grading Richtung Blau/Warmkontrast
  • Lufthansa-Group-Liveries: LH, Discover, Cargo, CityLine

So nicht

  • Sichtbare Sim-UI, Menüs, Framerate-Counter, Dev-Kameras
  • Überschärfte HDR-Optik, Regenbogen-Presets, Vignetten-Overkill
  • Unmögliche Kamerapositionen (mitten auf der Runway)
  • Fremd-Liveries oder Fantasy-Bemalungen als Hauptmotiv
Format-Reserve: Wichtige Bildinhalte gehören in die mittleren 60 % — dann funktioniert derselbe Screenshot als Post (4:5), Story (9:16) und Header (16:9), ohne dass der Jet den Kopf verliert.
07 Social Media System

Ein Overlay. Jede Plattform.

Der Nachfolger der Universal.psd: statt eines starren Streifens unten links ein modulares Lower-Third-System — Scrim, gelbe Linie, Kategorie, Headline, Logo. Es skaliert über alle Formate und bleibt in den Safe Zones von Instagram & Facebook.

Die fünf Flächen

Alles beginnt hier: welcher Canvas, und wie viel davon Instagram mit seiner eigenen Oberfläche überdeckt. Im Feed verdeckt nichts das Bild — dort zählt allein der Beschnitt im Profilraster. Auf 9:16 liegt die Oberfläche über dem Creative, und Reel und Story reservieren sehr Unterschiedliches.

FlächeCanvasGrundlinieEinsatz
Reel 9:161080×1920y 1248Bewegtbild. Die engste Fläche von allen — zuerst dafür planen, alles andere wird dann leichter.
Story 9:161080×1920y 150024 Stunden, unten Sticker und Antwortfeld. Gleicher Canvas wie das Reel, mehr Platz.
Feed 4:51080×1350y 1280Der Standard für Posts und Karussells. Liefer-Format — siehe Hinweis zu 3:4 unten.
Facebook 1.91:11200×630y 582Link- und Event-Karten. Rechts 80 px frei halten (Play-/Info-Overlays).
Square 1:11080×1080y 1018Nur Sonderfall. Verliert im Profilraster 25 % der Fläche — seitlich, genau dort, wo das Logo sitzt. Für neue Serien nicht mehr verwenden.
Die Grundlinie ist die eine Zahl, auf die es ankommt. Auf ihr endet der Block nach unten: das Logo sitzt darauf, alles andere stapelt sich darüber. Wechselt die Fläche, ändert sich nur diese Zahl — Reihenfolge, Schriftgrößen und Abstände bleiben identisch. Genau deshalb funktioniert dasselbe Lower Third überall, ohne neu gezeichnet zu werden.
VA News
Discover Fleet Pack released
Feed Post · 1080×1350 (4:5)
Event
Frankfurt Friday
Square · 1080×1080 (1:1)
LGKRJuly 2026
Corfu
Story · 1080×1920 (9:16)
LGKRJuly 2026
Corfu
Reel · 1080×1920 (9:16)
SUMMER Flights 2026
Facebook Link/Event · 1200×630 (1.91:1)

Aufbau des Lower Third (von unten nach oben)

ElementSpezifikationZweck
Night-ScrimVerlauf in #041034, an der Grundlinie verankert: transparent bei B−694, 55 % bei B−118, 95 % bei B+420, darunter voll. Erreicht ~64 % Deckung genau dort, wo der Text sitzt — auf jeder Fläche.Lesbarkeit auf jedem Screenshot
Yellow Bar44×5 px (Referenz 1080er-Breite: 220×24 px), #FFAD00Markensignal, Blickanker
KategorieHead Bold, Versalien, +26 % LS, GelbContent-Typ: VA News, Event, Did you know …
HeadlineHead Bold, Weiß, max. 2 ZeilenDie eine Botschaft
LogoWeißes Logo links, Unterkante auf der Grundlinieohne zusätzlichen „lh-virtual.com"-Schriftzug, der Namenszug steckt bereits im LogoAbsender, dezent
Kranich-WasserzeichenUnten rechts, angeschnitten, 6–7 % Deckkraft. Wandert mit der Grundlinie. Dekoration, kein Absender — es darf verdeckt werden.Stille Marken-Signatur

Safe Zones (Stand August 2026)

Story und Reel teilen den Canvas, nicht die Safe Zone. Unter einem Reel stapeln sich Caption, Audio-Attribution, Profilzeile und CTA — Meta reserviert dort bis zu 672 px, bei der Story 384 px. Zwei Flächen, zwei Zeilen. Alles, was sichtbar bleiben muss (CTA, Logo, Kernaussage), liegt innerhalb dieser Werte.

FlächeObenRechtsUntenLinksNutzbar
Story 1080×19202706538465950 × 1266
Reel 1080×19202706567265950 × 978
Feed 4:5 · 1080×135034*34*1013 × 1350
Facebook Link 1200×630801120 × 630

* Kein UI-Overlay — im Feed verdeckt nichts das Bild. Die 34 px sind der Beschnitt im 3:4-Profilraster (siehe unten). Beim Reel liegt an der rechten Kante der Like/Kommentar/Teilen/Speichern-Stapel: 65 px sind die Untergrenze, 120 px halten ihn sicher frei.

Das Profilraster beschneidet seitlich

Instagram rendert die Kacheln des Profilrasters seit 2025 in 3:4 (1080 × 1440). Und 3:4 (0,75) ist schmaler als 4:5 (0,80) — der Beschnitt fällt also links und rechts an, nicht oben und unten. Genau dort sitzen Logos und Seitenelemente, deshalb ist es relevant.

AssetJe SeiteOben / untenVerlust
1080×1440 (3:4)000 %
1080×1350 (4:5)33,75 px06,3 %
1080×1080 (1:1)135 px025 %
Warum wir trotzdem 4:5 liefern: Metas Content-Publishing-API akzeptiert Seitenverhältnisse nur von 4:5 bis 1.91:1 — 3:4 = 0,75 liegt darunter, und das Social Studio veröffentlicht über genau diese API. 3:4 taugt also für den Upload von Hand, nicht für den automatischen Weg. 4:5 bleibt das Liefer-Format, die 3:4-Kachel ist eine zweite Prüf-Fläche. Faustregel: Logo und alles Tragende mindestens 40 px von der Seitenkante — dann übersteht es den Beschnitt.
Werkzeug: Das Social Studio erzeugt fertige Posts direkt im Browser — Screenshot wählen, Format & Kategorie setzen, Headline tippen, exportieren. Es kennt diese Safe Zones: es zeichnet sie auf die Bühne, meldet jedes Element, das herausragt, und schiebt sie auf Wunsch mit einem Klick zurück.

Motion — animiertes Reel-/Story-Overlay

Dasselbe Lower Third, aber getaktet. Die Elemente steigen von unten ein, die gelbe Bar wischt von links auf (unsere Signature-Geste), alles hält, dann läuft es weich aus — so kann das Overlay in Story oder Reel auf einem Videoclip liegen. Die Loop-Vorschau links spielt exakt die Timeline aus der Tabelle.

Focus Airport
GCTS
July 2026
Tenerife
Loop · 6 s · Reel 9:16 (Safe Zone markiert: 270 / 672)
ElementZeit (von 6 s)Effekt
Hintergrund0,0 → 6,0 sKen-Burns-Push (scale 1,10 → 1,045) + Reveal (Helligkeit 0,55 → 1), Drift-Richtung je Slide anders
Night-Scrim0,0 → 0,5 seinblenden
Seiten-Punkte (iOS)ganzes ReelN Punkte (= Anzahl Airports); aktiver wird zur Pille, wandert beim Swipe zum nächsten
Strich (Signature)0,24 → 1,0 sschwebt von links ein (translateX −84 → 0) + Fade, leichtes Überschwingen
„FOCUS AIRPORT"0,6 → 1,8 sTypewriter — Zeichen erscheinen einzeln, blinkender Cursor
ICAO-Chip1,2 → 3,1 sChip ploppt (scale ,8 → 1); die 4 Zeichen als Split-Flap (rattern → einrasten, gestaffelt)
Monat2,0 → 2,9 sTracking-In — Sperrung ,55 → ,20 em, Blur 3 → 0 px, Fade
City1,6 → 2,8 sMask-Up-Reveal — Auto-Fit-Text schiebt hinter einer Kante hoch (ease-out-expo)
Kranich-Wasserzeichen0,4 → 1,6 sauf 0,07 einblenden (bleibt)
Hold2,8 → 4,8 salles hält lesbar
Exit (alle)4,8 → 5,3 sFade + Aufstieg (y 0 → −16 px)
Swipe zum nächsten5,2 → 6,0 sHintergrund swiped seitlich zum nächsten Airport (aktueller nach links, nächster von rechts); Punkte-Pille rückt vor
Outro-Wipe (nur letzter Slide)5,2 → 6,0 sstatt Swipe: der gelbe Signature-Strich wächst zur Fläche und zieht von links durch, Deep Blue folgt und schluckt ihn; die Punkte blenden ab
Endbild+0,0 → +2,2 sDeep Blue, Kranich-Wasserzeichen (7 %), LHV-Logo als Mask-Up-Reveal, darunter wächst der Signature-Strich (220×24). Steht danach ruhig — das ist der letzte Frame

Referenz: 30 fps, Slide-Länge 6 s (einstellbar). Jedes Element hat bewusst einen eigenen Effekt — so wirkt der Aufbau bespoke statt automatisch erzeugt. Die Timeline ist einmal als Anteile der Slide-Länge definiert — ein längerer Slide dehnt jeden Keyframe proportional. Bei „reduzierte Bewegung" wird der fertig aufgebaute Frame ohne Animation gezeigt.

Warum der letzte Slide nicht swiped: der Swipe blendet immer schon den nächsten Slide ein — nach dem letzten Airport wäre das wieder Slide 1, das Reel endete also mit dem ersten Focus Airport. Stattdessen übernimmt das Endbild. Es entfällt, wenn die VA einen eigenen Outro-Clip hat: dann schneidet der Renderer das Swipe-Fenster weg und blendet den letzten Airport per Crossfade ins Video.

Reel-Baukasten — reel.html

social-templates/reel.html rendert diese Timeline pixelgenau auf einem 1080×1920-Canvas und exportiert per Klick ein .webm (ohne Extra-Software). Oben wählst du zuerst die FlächeReel (Standard) oder Story. Sie entscheidet, wie hoch der Inhalt sitzt: Grundlinie y 1248 beim Reel, y 1500 bei der Story. Darunter zwei Modi:

Drei Wege zum fertigen Reel: (1) reel.html abspielen und per Screen-Recorder mitschneiden (OBS / Win+G); (2) Ein-Klick-.webm aus reel.html — für Instagram in MP4 wandeln (ffmpeg -i reel.webm -c:v libx264 -pix_fmt yuv420p reel.mp4) oder in DaVinci Resolve / CapCut importieren; (3) das Overlay als Alpha-PNG-Sequenz über echtes Footage in Resolve legen (siehe social-overlay.md). Stadt-Hintergründe: deine eigenen Sim-Clips (Anflug-Schwenk) oder ein Sim-Screenshot mit Ken-Burns-Push sind markengerecht; freie Stock-B-Roll (Pexels, Pixabay, Coverr, Mixkit) taugt als Ambient-Teppich — Lizenz je Clip prüfen.
08 Profilbild & Social-Media-Assets

Ein Zeichen. Jede Plattform.

Profilbilder sind im Alltag winzig — 32 px als Discord-Icon, 48 px in der X-Timeline. Der Kranich-Ring ist so ikonisch, dass er auch klein trägt; darum bleibt er das Herz des Avatars. Ein Bild für alle Kanäle: Discord, Instagram, Facebook, TikTok, YouTube, X.

Profilbild — „one fits all"

LH Virtual Profilbild
150 px · 80 px · 44 px · und eckig. Der Kranich bleibt bis zur Icon-Größe erkennbar.
Zwei Schriftzug-Varianten: LHVirtual_Avatar_Caps.png trägt „LH VIRTUAL" in Versalien (Standard, Redesign Juli 2026), LHVirtual_Logo__Avatar.png die gemischte Schreibung (Bestand). Ring, Kranich und Verlauf sind bei beiden identisch. Wo eine Plattform ein noch kleineres, textfreies Zeichen braucht: der Kranich-Ring solo (LHV_Kranich.png).
PlattformAnzeige (⌀)FormUpload
Discord (Server-Icon & Profil)48–100 pxKreis1000×1000 PNG
Instagram320 px (Feed 32 px)Kreis1000×1000 PNG
Facebook (Seite)170 pxKreis1000×1000 PNG
TikTok200 pxKreis1000×1000 PNG
YouTube800 pxKreis1000×1000 PNG
X / Twitter400 px (Timeline 48 px)Kreis1000×1000 PNG
Regeln: Überall dasselbe Bild — Wiedererkennung entsteht durch Konstanz. Das Zeichen sitzt mit Rand im Quadrat, weil Discord, Instagram und X kreisförmig beschneiden (der äußere Ring darf nicht anstoßen). Nie das Avatar auf Gelb setzen, nie den Kranich umfärben.

Banner & Header

Ein durchgehendes Bühnenbild — Night-Verlauf, angeschnittenes Kranich-Wasserzeichen — mit weißer Wortmarke, gelber Akzentlinie und Tagline mittig. Ein Layout, in jedem Kanalformat ausgespielt.

LH YouTube-Banner
YouTube Channel Art · 2560×1440 (sichere Zone 1546×423 mittig)
LH Discord-Banner
Discord Server-Banner · 960×540
LH X-Header
X / Header · 1500×500
FormatPixelSichere ZoneEinsatz
YouTube Channel Art2560×14401546×423 mittigKanal-Header — TV, Desktop und Mobil zeigen je mehr Rand, darum liegen Logo und Tagline in der Zone
Discord Server-Banner960×540vollflächigBoost-Banner, Einladungs-Header
X / Header1500×500Ränder ~60 px, unten links Profilbild-ÜberlappungProfil-Header
Aufbau (von hinten nach vorne): Night-Verlauf 178° → Kranich-Wasserzeichen angeschnitten (6 %) → weiße Wortmarke zentriert → gelbe 4-px-Akzentlinie → Tagline „SAY YES TO THE WORLD" in Head Bold, Versalien. Dateien: social-templates/banners/lh_banner_*.png.
09 Focus Airports

Ein Flughafen. Ein Monat. Ein Bild.

Focus-Airport-Grafiken erzeugt der Event-Generator automatisch. Verbindliches Design ist „Horizon" (Stand Juli 2026) — dazu kommt ein Monats-Cover als Deckblatt, das jeder Monatsserie vorangestellt wird.

Platzhalter

VariableBeispielRegel
{CITY}TENERIFEVersalien, gefüllt Weiß. Schriftgröße dynamisch verkleinern, bis Breite ≤ Canvas − 2×Rand (wichtig: „BENGALURU")
{ICAO}GCTS4 Zeichen, Versalien, zentriert auf dem Chip
{MONTH} {YEAR}JULY 2026englisch, Versalien — auf dem Cover als Chip-Text
{PHOTO}min. 2400 px Breite, Motiv-Fokus mittig (überlebt 3:2- und 4:5-Crop), keine Logos/Personen prominent

Export: PNG, sRGB. Canvas: Event-Banner 1800×1200 px (3:2) und Instagram 1080×1350 px (4:5). Foto immer Cover-Fit, Fokuspunkt zentriert. Im Profilraster fallen aus dem 4:5-Motiv je 34 px links und rechts weg (Kapitel 07) — die rot markierten Streifen im Mock. Horizon hält mit x 64 genug Abstand; bei eigenen Layouts nichts Tragendes näher als 40 px an die Seitenkante.

Das Design: „Horizon"

Foto bleibt der Held, ein Night-Scrim von unten macht jede Vorlage text-tauglich. Der Stadtname steht gefüllt in Weiß, der ICAO-Code zentriert auf dem gelben Chip. Unten rechts liegt das Kranich-Wasserzeichen (Grafikelement 3) groß angeschnitten — das LHV-Logo entfällt auf dieser Vorlage komplett.

Focus Airport
GCTSJuly 2026
Tenerife
Event-Banner 1800×1200
Focus Airport
GCTSJuly 2026
Tenerife
Instagram 1080×1350
Ebene4:5 (1080×1350)3:2 (1800×1200)Spezifikation
Scrimvolle Flächelinear 180°: transparent bis 42 %, rgba(4,16,52,.55) @ 72 %, rgba(4,16,52,.95) @ 100 %
Kranich-Wasserzeichenunten rechts, angeschnittenAsset LHV_Kranich.png (Weiß). Höhe = 68 % der Bildhöhe, Deckkraft 6 %. Position: x = W − 0,55·LogoBreite, y = H − 0,55·LogoHöhe → je ~45 % laufen rechts/unten aus dem Bild. Ebene liegt ÜBER dem Scrim, UNTER den Texten. Nie über Gesichtern oder Flugzeug-Bemalungen.
Gelber Balkenx72 y72, 180×18x84 y84, 200×20#FFAD00
Eyebrow „FOCUS AIRPORT"x72 y112x84 y128Head Bold 40/44 px, Versalien, LS +26 %, Weiß
{ICAO}-Chipx72, Unterkante y1128x84, Unterkante y1000Head Bold 48 px Deep Blue auf #FFAD00, Padding 10×22, Radius 6, Text horizontal & vertikal zentriert
{MONTH} {YEAR}rechts neben Chip, +24 pxditoHead Bold 30 px, Weiß 75 %, LS +20 %
{CITY}x64, Baseline y1268x76, Baseline y1116Head Bold max 170/200 px, gefüllt Weiß (keine Outline), Versalien, Auto-Fit

Horizon auf 9:16 — Reel und Story

Dasselbe Layout trägt auch die bewegte Fassung: reel.html im Modus „Focus-Airport-Karussell". Nichts wird neu gezeichnet — Chip und Stadtname hängen an der Grundlinie der Fläche, der Abstand zwischen beiden bleibt exakt 350 px. Der Flächen-Umschalter oben im Werkzeug entscheidet, welche der beiden herauskommt.

EbeneReel (Grundlinie 1248)Story (Grundlinie 1500)Hinweis
Seiten-Punktey 290y 290auf beiden Flächen unter der oberen Safe Zone (270)
Gelber Balkeny 360, 220×24y 360, 220×24fest — er gehört zur oberen Gruppe
Eyebrow „FOCUS AIRPORT"Baseline y 456Baseline y 456Head Bold 40 px, LS +24 %
{ICAO}-ChipOberkante y 898Oberkante y 1150= Grundlinie − 350
{CITY}Baseline y 1248Baseline y 1500Auto-Fit bis 190 px, Versalien, gefüllt Weiß
Night-Scrim0 / .55 / .95 @ 554 / 1130 / 1668@ 806 / 1382 / 1920dieselben Stops relativ zur Grundlinie: B−694 / B−118 / B+420
Warum das Reel die schwierigere Fläche ist: nutzbar sind 950 × 978 px — fast ein Quadrat in der oberen Bildmitte. Das Foto füllt weiterhin die vollen 1080 × 1920, nur der Text lebt in diesem Kasten. Wer ein neues Layout baut, komponiert zuerst für den Kasten und lässt das Bild bis an die Kanten laufen.

Focus-Generator — Referenzcode

FOCUS_AIRPORT = {
  "brand": "lhv", "design": "horizon",
  "colors": { "accent": "#FFAD00", "on_accent": "#05164D", "scrim_base": [4, 16, 52], "text": "#FFFFFF" },
  "fonts":  { "head": "LufthansaHead-Bold" },
  "canvas": { "feed": [1080, 1350], "banner": [1800, 1200] },
  "layers": [
    { "id": "photo",   "fit": "cover", "min_width": 2400, "focus": "center" },
    { "id": "scrim",   "gradient": [[0.42, 0], [0.72, 0.55], [1.0, 0.95]] },   # transparent -> rgba(scrim_base, a)
    { "id": "wm_crane","asset": "LHV_Kranich.png", "height_pct": 0.68, "alpha": 0.07,
      "x": "W - 0.55*w", "y": "H - 0.55*h" },
    { "id": "bar",     "feed": [72, 72, 180, 18], "banner": [84, 84, 200, 20], "fill": "accent" },
    { "id": "eyebrow", "text": "FOCUS AIRPORT", "feed": [72, 112], "banner": [84, 128],
      "size": [40, 44], "tracking": 0.26, "fill": "#FFFFFF" },
    { "id": "chip",    "text": "{ICAO}", "feed_bottom": [72, 1128], "banner_bottom": [84, 1000],
      "size": 48, "pad": [10, 22], "radius": 6, "fill": "accent", "color": "on_accent" },
    { "id": "month",   "text": "{MONTH} {YEAR}", "pos": "right_of_chip+24", "size": 30,
      "fill": "rgba(255,255,255,.75)", "tracking": 0.20 },
    { "id": "city",    "text": "{CITY}", "feed_baseline": [64, 1268], "banner_baseline": [76, 1116],
      "max_size": [170, 200], "fill": "#FFFFFF", "autofit": "width <= W - 2*margin" }
  ],
  "export": { "format": "png", "colorspace": "sRGB" }
}

Kranich-Wasserzeichen — Referenzcode für den Generator

target_h = int(image.height * 0.68)          # 68 % der Bildhöhe
scale    = target_h / logo.height
logo     = logo.resize((int(logo.width * scale), target_h), Image.Resampling.LANCZOS)

alpha = logo.getchannel("A").point(lambda a: int(a * 0.06))   # 6 % Deckkraft
logo.putalpha(alpha)

x = image.width  - int(logo.width  * 0.55)   # ~45 % laufen rechts aus dem Bild
y = image.height - int(logo.height * 0.55)   # ~45 % laufen unten aus dem Bild
image.alpha_composite(logo, (x, y))

Auf 1800×1200 ergibt das: Logo-Höhe 816 px, x ≈ 1450 px, y ≈ 750 px (je nach Logo-Breite). Asset: ../logos/LHV_Kranich.png — der freigestellte weiße Kranich-Ring ohne Wortmarke.

Monats-Cover (Deckblatt der Serie)

Vor den einzelnen Focus Airports wird pro Monat ein Cover gepostet — Layout und Hintergrund direkt aus der Template_Posting.psd übernommen: „FOCUS" horizontal oben links, „AIRPORTS" vertikal darunter als Eyecatcher (aufrecht gestapelte Buchstaben in Head Light), der Monat unten rechts — jetzt auf dem gelben Chip in ICAO-Chip-Bauart, größer und mit Innenabstand. Das LHV-Logo entfällt, stattdessen Kranich-Wasserzeichen; der Swipe-Hinweis bleibt.

FOCUS
AIRPORTS
DEC26
Swipe »
Instagram 1080×1350
FOCUS
AIRPORTS
DEC26
Swipe »
Square 1080×1080 (mittiger Crop)
EbenePosition (1080×1350)Spezifikation
Hintergrundvolle FlächeFestes Markenmotiv ../social-templates/cover-bg.jpg (aus der PSD extrahiert: Navy-Verlauf, Weltkarte, Map-Pins, gestrichelter Orbit). Kein Foto, kein zusätzlicher Scrim — der Generator tauscht nur den Monatstext.
Kranich-Wasserzeichenunten rechts, angeschnittenidentisch Horizon: 68 % Bildhöhe, 6 % Deckkraft, 45/45 aus dem Bild laufend
„FOCUS"x62, Oberkante y109, Versalhöhe 131 pxHead Bold, gefüllt Weiß, Versalien (Original-Bbox bis x664)
„AIRPORTS"Spalte x401–469, y291–1058Head Light, Weiß, Buchstaben aufrecht vertikal gestapelt, gleichmäßiger Abstand ≈ 96 px pro Buchstabe — beginnt immer unter „FOCUS", in jedem Format inklusive 1:1
{MON}{YY}-Chiprechte Chip-Kante x1053, Chip-Unterkante y1161Text z. B. „DEC26": Head Bold ~100 px Deep Blue, zentriert auf #FFAD00, Innenabstand 32 px rundum, Radius 12 (Text-Bereich original x548–1021, y1020–1129)
Swipe-Hinweis(915, 1239) – (1041, 1301)„Swipe" Head Bold 30 px + Doppel-Chevron „»" 56 px, Weiß — nur auf dem Cover, nicht auf den Airport-Grafiken
LHV-Logox72, Unterkante y1278 (H−72)Weißes Logo, Höhe 48 px — Standard-Absender unten links (nur auf dem Cover; die Airport-Grafiken tragen nur den Kranich)

1:1-Ableitung: gleiche Datei, mittiger 1080×1080-Crop — FOCUS/AIRPORTS und Chip liegen innerhalb des Crops, Positionen um den Höhenversatz (−135 px) verschieben.

Kurzfassung für den Generator: Ein Design, zwei Vorlagen. Horizon = {PHOTO} + Scrim + Kranich + Eyebrow + ICAO-Chip + {CITY}. Cover = festes Hintergrund-Asset + FOCUS/AIRPORTS-Wortbild + Monats-Chip + Swipe + Kranich — monatlich ändert sich nur der Chip-Text. Alle Chips gleiche Bauart (Gelb, Deep-Blue-Text, zentriert).

Animiert? Dasselbe Horizon-Layout trägt das Reel — reel.html im Focus-Airport-Karussell blättert alle Flughäfen des Monats in ein animiertes Story/Reel und exportiert ein .webm. Motion-Timeline: Kapitel 07.

Discord — ein Bild, ein Text

Discord ist nicht Instagram. Anhänge werden in der Timeline auf rund 550 px skaliert, und Hochformat wird im Raster beschnitten — vom 4:5-Cover blieb nur „AIRPORT" senkrecht stehen, und zehn Briefmarken tippt niemand einzeln an. Der Channel bekommt deshalb ein eigenes Format: eine Übersichtsgrafik im Querformat, 1600 × 1000.

WoDer Discord-Channel der VA, gepostet vom VA-Bot — der Ziel-Channel steht einmalig in den Einstellungen des Event Studios.
WannAutomatisch am Vorabend des Monats um 20:00, dazu der Knopf „③ Push → Discord" für den sofortigen, beliebig wiederholbaren Push (Test oder nach einer Änderung).
AufbauKopfzeile mit Monat und den Landesflaggen in der Reihenfolge der Airports (feste 48 × 32-Box, alle gleich groß), Stadtfotos als Kacheln mit dem Category Tag, Radius 4 px für den ICAO, Kranich unten rechts, 7 % Deckkraft als Absender-Zeichen, Website unten links.
Variantenmosaic (Fotokacheln, Standard) · board (reine Liste) · split (Markenfläche plus Liste). Je Deployment umstellbar.

Der Text ist für den Channel geschrieben, nicht aus Instagram kopiert: Überschrift, je Airport eine Zeile mit ICAO, Stadt und den Focus-Punkten sowie einer Begründung aus vier bis acht Wörtern. Diese Begründungen schreibt Mistral in einem Aufruf für den ganzen Monat — so unterscheiden sie sich voneinander, statt neunmal derselbe Satzbau zu sein; ICAO, Stadt, Punkte und Struktur bleiben in der Vorlage, das Modell kann also keine Fakten verbiegen. Ohne API-Key oder bei unbrauchbarer Antwort bleibt die schlichte Liste — der Beitrag geht immer raus. Keine Hashtags (im Channel wirkungslos), und der Link steht in spitzen Klammern, damit Discord keine zweite Vorschaukarte unter das Bild hängt.

## ✈️  Focus Airports · September 2026

**6 destinations**, bonus points on every flight — the whole month.

**EDDH** Hamburg · 100 P — river approach right past the Elbe bridges
**LPPT** Lisbon · 100 P — city rooftops and the Tejo on final
**KORD** Chicago · 250 P — dense parallel operations and brisk ATC

Fly to or from any of them and collect. Where are you heading first? 🛫
<https://lh-virtual.com>
10 vAMSYS Nur dieses Kapitel anzeigen ↗

Navy trägt. Gelb zündet.

vAMSYS ist das Crew-System, auf dem der Betrieb läuft — Buchung, Dispatch, PIREPs, Ränge. Es ist eine gemietete Halle, keine eigene: einrichten geht, umbauen nicht. Dieses Kapitel hält fest, was sich dort einrichten lässt, mit welchen Mitteln, und wo die Plattform die Marke stoppt.

Was gebrandet werden kann

Zwei Formulare in Orwell steuern alles: Settings → Design → Logo Settings (vier Logo-Slots plus Login-Hintergründe) und Style Settings (zwölf Farb-Paare plus ein eigenes Stylesheet). Ihre Reichweite ist begrenzt — und diese Grenze gehört der Plattform, nicht der Marke.

OberflächeFarb-PaareEigenes CSSLogos
Phoenix (Piloten)jajaja
Orwell (Staff/HQ)neinneinja
Select-VA-Seiteteilweiseneinja
Pegasus ACARSneinneinja
Ausgehende E-Mailsneinneinja
Orwell bleibt im vAMSYS-Blau. Nachweis: Keine unserer Variablen existiert dort, und --primary-600 steht auf 37, 99, 235. Jede Regel, die nur auf Orwell-Selektoren zielt (z. B. .fi-main), ist toter Code.

Gelb steht nicht in der Rampe

Das ist die Entscheidung, an der das ganze Stylesheet hängt. vAMSYS baut auf Filament auf, und Filament färbt alles über sechs Variablen-Rampen. Wer die Markenfarbe auf --primary-600 legt, färbt Buttons, Badges, Ringe, Checkboxen, Tabs, Links, Fortschrittsbalken und Icons auf einen Schlag. Bei LX ist das genau richtig — Rot führt. Bei LH wäre es der Bruch der eigenen Regel: fünfzehn winzige gelbe Dinge sind zwei Prozent Fläche und trotzdem fünfzehn Blickfänge.

Navy trägt die Rampe, und Gelb kommt aus genau zwei eigenen Regelgruppen: dem Primär-Button und dem Signatur-Balken. Das trennt LH von beiden Schwestermarken — LX legt seine Farbe auf 600, BOX legt dort Ink hin und hebt das Gelb auf 400. LH hält die Markenfarbe ganz aus der Rampe heraus.
RampevAMSYS-StandardLH VirtualWarum
--primary-*Indigo400 Muted Blue · 500 Whale Blue · 600 Navy · 700 Deep BlueWeiß auf Navy sind 14,94:1. Weiß auf Gelb sind 1,9:1 — Gelb kann diese Stufe nicht tragen, weil Filament weißen Text daraufsetzt.
--info-*Cyan600 Whale Blue · 700 Marble BlueAn --info hängen die großen Sekundär-CTAs. LH hat für genau die eine Rolle: „was klickbar ist, aber nicht die Aktion".
--gray-*blaustichigdie LH-Blaugrau-SkalaLX hat den Blaustich desaturiert. LH ist eine blaue Marke — der Standard ist nur das falsche Blau.
--success / --warning / --dangerGrün / Amber / RotunangetastetSie tragen Bedeutung. Auch die eigenen Statusfarben werden hier nicht durchgedrückt — die Semantik gehört der Plattform.

Form — 0 / 8 / 4, gemessen

Die Radien stammen nicht aus einer Annahme, sondern aus der gerenderten Website: von 339 gemessenen Elementen auf lh-virtual.com stehen 277 auf border-radius: 0. Gerundet sind der Button (8 px), der kleine Kategorie-Chip (4 px) und bewusst runde Bedienelemente. Die 14 px in lh.json beschreiben die Social-Grafiken, nicht die Oberfläche.

Die Regel, auf die es am meisten ankommt: eine farbige Teil-Kante sitzt nie auf einer runden Ecke. In allen acht gemessenen Fällen auf lh-virtual.com ist der Radius exakt 0. Wer eine 3-px-Navy-Linie auf eine 14-px-gerundete Karte legt, bekommt eine „Kappe" um die Ecke — das ist der generische Dashboard-Look, und es ist das eine Detail, das die Marke austauschbar aussehen lässt.

Das Gegenmuster ist .facts auf der Website: eine 2-px-Navy-Linie eröffnet den Block, 1-px-Haarlinien trennen die Zeilen, Label in Muted links, Wert in Head Bold Navy rechts — keine Fläche, kein Schatten, kein Radius. Das ist das Muster für jede Kennzahl in vAMSYS.

Wie es aussieht

Ein Phoenix-Nachbau mit den echten Filament-Klassennamen, gerendert mit dem Stylesheet. Darunter derselbe Nachbau ohne — das ist der vAMSYS-Standard, von dem wir kommen.

Phoenix hell
Hellmodus — ein gelber CTA, ein Signatur-Balken, der Rest Navy und Whale Blue
Phoenix dunkel
Dunkelmodus — der Night-Gradient trägt Topbar und Sidebar; der CTA bleibt unverändert
Phoenix ohne Branding
Ohne das Stylesheet: indigoblauer CTA, grüner Dispatch-Knopf, cyan- und bernsteinfarbene Buttons, bunte Rang-Balken, durchgehend 12 px Rundung.
Der Nachbau liegt in ../vamsys/vamsys-mock.html und trägt einen Vorher/Nachher-Schalter; ../vamsys/preview.html zeigt beides nebeneinander. Nur die Plattform darunter ist ein Nachbau — das Stylesheet ist die echte Datei.

Wohin das Gelb darf

Gelb darfGelb darf nicht
Primär-Button — gelbe Fläche, Deep-Blue-Text (9,14:1), in Hell und Dunkel gleichFokusring — Electric Blue #0968F6, auf Dunkel Weiß
Signatur-Balken 52 × 6 px am Seitenkopf — einmal pro Seite, nie pro SektionAktiver Menüpunkt, Tabs, Tabellenkopf-Linien, Rahmen und Trennlinien
Fortschritt und Live-Marker — eine Linie, kein Text, meldet einen ZustandSchritt-Kreise und Listennummern — Navy-Fläche, weiße Ziffer
Kategorie-Chip als Tint, rgba(255,173,0,.15) mit Amber-TextKennzahl-Kacheln, Checkboxen, Textauswahl, Scrollbar, Zeilen-Aktionen, Rang-Balken
Hinweisfläche als Pale Yellow #FFFEDC mit Deep-Blue-TextLinks und deren Hover — die sind Whale Blue #52627C
Wo ich das Brandbook angepasst habe, und das gehört auf den Tisch: „Zwei Gelb pro Fläche, nie drei" ist für eine komponierte Grafik geschrieben, nicht für eine Anwendungsoberfläche mit Dutzenden Elementen. In vAMSYS heißt es: eine Primäraktion pro Ansicht, ein Signatur-Balken pro Seite, und Fortschritt so oft, wie es Fortschritt gibt. Fortschritt und der Hinweis-Tint sind dokumentierte Gelb-Rollen — keine Ausnahmen, sondern die dritte und vierte Rolle.

Die zwei Regeln, an denen alles hängt

Regel 1 — Fläche ODER Icon in der Markenfarbe, niemals beides.
Trägt die Fläche die Farbe, erbt das Icon die Textfarbe. Wer beides färbt, erzeugt einen einfarbigen Klotz: Bei LX wurde das Drei-Punkte-Menü der Dispatch-Tabelle zum vollen roten Quadrat — die Punkte waren da, nur rot auf rot. Deshalb button.fi-color-primary nur mit :not(.fi-icon-btn).

Regel 2 — custom nie hart färben.
In Filament ist custom kein Synonym für „primary", sondern der generische Platzhalter für jede Farbvariante; die echte Farbe kommt als Inline-Variable am Element an. Immer rgb(var(--c-600, var(--LHNavy))) schreiben. Wer hart färbt, macht Success-, Warning- und Danger-Badges markenfarben.

Logo-Slots

Vier Slots, 1800 × 400 px PNG mit Transparenz (SVG wird abgelehnt). Slot 0/1 und 2/3 sind getrennte Uploads — wer nur Phoenix ändert, hat in E-Mails und Orwell weiterhin das alte Logo. Das ist hier der häufigste Fehler.

SlotErscheint inDatei
0Phoenix (hell)LHV_Logo_Blau.png
1Phoenix (dunkel)LHV_Logo.png
2Select-VA-Seite, Pegasus (hell), E-Mails, OrwellLHV_Logo_Blau.png
3Select-VA-Seite, Pegasus (dunkel), Orwell (dunkel)LHV_Logo.png
BGLogin-/Register-Hintergrund1706 × 1600 px, WebP; mehrere möglich, zufällige Auswahl
Noch nicht an der laufenden Instanz geprüft: ob die weiße Wortmarke auf dem Night-Gradient der Phoenix-Topbar trägt. Das zeigt sich erst am echten 1800-×-400-Bild.

Typografie — der Stack, nie die Dateien

Die Lufthansa-Familien bleiben im Font-Stack, die Fontdateien bleiben aus vAMSYS heraus. Das Rechtskapitel verbietet die Weitergabe, und ein Upload auf ein CDN ist eine Weitergabe. Wer die Schriften lokal hat, sieht sie; alle anderen den Fallback. Kein @font-face im vAMSYS-Stylesheet. Buttons folgen exakt der Website: Head Bold, 15 px, 12/24 Innenabstand — keine Versalien, kein Tracking. Der einzige Ort, an dem die Marke Versalien setzt, ist der Kategorie-Chip.

Bekannte Grenzen

Wartung

Ein CSS-File je VA; ein neuer Upload ersetzt das alte. Die Datei liegt unter https://cdn.vamsys.xyz/stylesheets/<ULID>.css, und der ULID wechselt bei jedem Speichern. Die alte Datei bleibt erreichbar — das, und nur das, ist der Weg zurück. Einen Undo-Knopf gibt es nicht: Ein Revert ist immer ein erneuter Upload. In Hell und Dunkel prüfen, Dropdowns öffnen, und daran denken, dass getComputedStyle teils den Vendor-Wert zurückgibt — Screenshots sind die Wahrheit.

Stand: Entwurf v1.0.0, nicht hochgeladen. Stylesheet, Phoenix-Nachbau, Preview-Seite und der Rang-/Badge-Entwurf liegen in S:\04_LHVirtual\vAMSYS\.

↩ Zurück zum ganzen Brandbook
11 Ränge & Badges

Gold auf Marineblau. Sonst nichts.

Jeder Rang und jede Badge liegt in drei Fassungen vor. Dieses Kapitel zeigt sie alle, durchnummeriert, damit je Stück entschieden werden kann: „R03 in B", „B21 in C". In vAMSYS ist nichts davon gesetzt.

Die drei Fassungen

A — Schwingen / LitzeUniform-Abzeichen: Schwingen und Rondell, gewebte Goldlitze auf Wollstoff.
B — Medaillon / SchulterklappeMuetzenabzeichen und aufgeschobenes Board: geraendelter Ring, Knopf, staerkere Woelbung.
C — FlachOhne Material und Glanz — fuer kleine Einbettungen und flache Oberflaechen.
Die Dateinamen sind in a/, b/ und c/ identisch. Ist die Wahl gefallen: den gewählten Ordner eine Ebene hochziehen, die anderen zwei löschen, die VARIANTS-Tabelle in build.mjs kürzen und neu rendern.

Auf einen Blick

Der vollständige Satz je Fassung — oben die Ränge, darunter die Badges.

A — Schwingen / Litze

B — Medaillon / Schulterklappe

C — Flach

Ränge

Nr.ABCRangAnforderungen
R01 First Officer
lhv_rank_fo
0 PIREPs · 0 h · 0 P
R02 Senior First Officer
lhv_rank_sfo
75 PIREPs · 300 h · 5.000 P
R03 Captain
lhv_rank_cpt
150 PIREPs · 600 h · 12.000 P
R04 Senior Captain
lhv_rank_senior_cpt
400 PIREPs · 1.600 h · 35.000 P
R05 Type Rating Instructor
lhv_rank_tri
honorary
R06 Type Rating Examiner
lhv_rank_tre
honorary
R07 Fleet Chief
lhv_rank_fleet_chief
honorary
R08 Chief Pilot
lhv_rank_chief_pilot
honorary
R09 Staff
lhv_rank_staff
honorary

Discord-Rollenicons

Nr.ABCRolleFormat
D01 First Officer
lhv_discord_fo
64 × 64
D02 Senior First Officer
lhv_discord_sfo
64 × 64
D03 Captain
lhv_discord_cpt
64 × 64
D04 Senior Captain
lhv_discord_senior_cpt
64 × 64

Badges

Rangkriterien sind flottenblind — alles, was nach Airline, Flotte, Route oder Ereignis unterscheiden soll, muss eine Badge sein. Eine Badge ohne Regel ist von Hand vergebbar.

Airline

Nr.ABCBadgeRegelFilter
B01 Cargo Operations
lhv_badge_ops_gec
PIREP Count >= 10Callsign Parameter GEC
B02 Cargo Operations · Silver
lhv_badge_ops_gec_silver
PIREP Count >= 25Callsign Parameter GEC
B03 Cargo Operations · Gold
lhv_badge_ops_gec_gold
PIREP Count >= 50Callsign Parameter GEC
B04 Discover Operations
lhv_badge_ops_ocn
PIREP Count >= 10Callsign Parameter OCN
B05 Discover Operations · Silver
lhv_badge_ops_ocn_silver
PIREP Count >= 25Callsign Parameter OCN
B06 Discover Operations · Gold
lhv_badge_ops_ocn_gold
PIREP Count >= 50Callsign Parameter OCN
B07 City Airlines Operations
lhv_badge_ops_lhx
PIREP Count >= 10Callsign Parameter LHX
B08 City Airlines Operations · Silver
lhv_badge_ops_lhx_silver
PIREP Count >= 25Callsign Parameter LHX
B09 City Airlines Operations · Gold
lhv_badge_ops_lhx_gold
PIREP Count >= 50Callsign Parameter LHX
B10 Dolomiti Operations
lhv_badge_ops_dla
PIREP Count >= 10Callsign Parameter DLA
B11 Dolomiti Operations · Silver
lhv_badge_ops_dla_silver
PIREP Count >= 25Callsign Parameter DLA
B12 Dolomiti Operations · Gold
lhv_badge_ops_dla_gold
PIREP Count >= 50Callsign Parameter DLA
B13 Lufthansa Operations
lhv_badge_ops_dlh
PIREP Count >= 25Callsign Parameter DLH
B14 Lufthansa Operations · Silver
lhv_badge_ops_dlh_silver
PIREP Count >= 100Callsign Parameter DLH
B15 Lufthansa Operations · Gold
lhv_badge_ops_dlh_gold
PIREP Count >= 250Callsign Parameter DLH
B16 Five Tails
lhv_badge_five_tails
keine Regel setzen — sonst verweigert vAMSYS die manuelle Vergabe manuell

Flughaefen

Nr.ABCBadgeRegelFilter
B17 Frankfurt Hub
lhv_badge_hub_fra
PIREPs — Arriving or Departing Airport >= 25Airport EDDF
B18 Munich Hub
lhv_badge_hub_muc
PIREPs — Arriving or Departing Airport >= 25Airport EDDM
B19 Atlantic Circuit
lhv_badge_atlantic_circuit
PIREPs — Landing Airport >= 1Airports KJFK, KEWR, KBOS, KIAD
B20 Asia Circuit
lhv_badge_asia_circuit
PIREPs — Landing Airport >= 1Airports RJTT, VHHH, ZBAA, WSSS

Flotte

Nr.ABCBadgeRegelFilter
B21 Queen of the Skies
lhv_badge_queen_of_the_skies
PIREP Count >= 10Fleets 747-400, 747-8
B22 Superjumbo
lhv_badge_superjumbo
PIREP Count >= 10Fleet A380-800
B23 Four Engines
lhv_badge_four_engines
PIREP Count >= 25Fleets A340-300, A340-600, A380-800, 747-400, 747-8
B24 Dreamliner
lhv_badge_dreamliner
PIREP Count >= 10Fleet 787-9

Betrieb

Nr.ABCBadgeRegelFilter
B25 Smooth Touchdown
lhv_badge_touchdown
PIREPs — Landing Rate Between -250 und -100 fpm, 1xkein Filter
B26 Smooth Touchdown · Silver
lhv_badge_touchdown_silver
PIREPs — Landing Rate Between -250 und -100 fpm, 10xkein Filter
B27 Smooth Touchdown · Gold
lhv_badge_touchdown_gold
PIREPs — Landing Rate Between -250 und -100 fpm, 50xkein Filter
B28 Night Shift
lhv_badge_nightshift
PIREP Count >= 25Route Tag — nur anlegen, wenn Nacht-Routen getaggt sind

Netzwerk

Nr.ABCBadgeRegelFilter
B29 Online Operations
lhv_badge_vatsim
PIREP Count >= 25Netzwerk VATSIM
B30 Online Operations · Gold
lhv_badge_vatsim_gold
PIREP Count >= 150Netzwerk VATSIM
B31 Online Operations · IVAO
lhv_badge_ivao
PIREP Count >= 25Netzwerk IVAO

Treue

Nr.ABCBadgeRegelFilter
B32 Service · 1 Year
lhv_badge_service_1
Length of Service >= 1 Jahrkein Filter
B33 Service · 3 Years
lhv_badge_service_3
Length of Service >= 3 Jahrekein Filter
B34 Service · 5 Years
lhv_badge_service_5
Length of Service >= 5 Jahrekein Filter
B35 Founding Member
lhv_badge_founding_member
keine Regel setzen manuell

Events

Nr.ABCBadgeRegelFilter
B36 Frankfurt Friday
lhv_badge_frankfurt_friday
Event Participation — konkretes Event auswaehlen
B37 Munich Wednesday
lhv_badge_munich_wednesday
Event Participation — konkretes Event auswaehlen
B38 Focus Airport Regular
lhv_badge_focus_airport
Activity Participation — Count >= 4, Typ Focus Airport
B39 Event Regular
lhv_badge_event_regular
Activity Participation — Count >= 10, Typ Event
B40 Extra Mile
lhv_badge_bonus_1
Points — Bonus >= 2.500
B41 Extra Mile · Gold
lhv_badge_bonus_2
Points — Bonus >= 10.000

Ehren

Nr.ABCBadgeRegelFilter
B42 Staff
lhv_badge_staff
keine Regel setzen manuell
B43 Pilot of the Month
lhv_badge_pilot_of_the_month
keine Regel setzen manuell
B44 Screenshot of the Month
lhv_badge_screenshot_of_the_month
keine Regel setzen manuell
B45 Event Crew
lhv_badge_event_crew
keine Regel setzen manuell
B46 Media Crew
lhv_badge_media_crew
keine Regel setzen manuell
B47 Community Contributor
lhv_badge_community_contributor
keine Regel setzen manuell
Erzeugt von brands/lh/ranks/build.mjs — nicht von Hand ändern. Die Kataloge stehen im Generator; dort ändern und neu rendern.
12 Rechtliches

Respektvoller Abstand zum Original.

LH Virtual ist ein non-kommerzielles Fan- und Community-Projekt und steht in keiner Verbindung zur Deutschen Lufthansa AG.

© 2026 LH-Virtual.com · Brandbook v1.7 · Fragen an das PR-Team im Discord.