FlixBus DESIGN.md
DESIGN.md
Design System Inspiration of FlixBus
Overview
Visual Theme & Atmosphere
FlixBus is the long-distance bus network of Flix SE, a Munich travel-tech company. In its own words, Flix was "launched in 2013 in Munich" and has since carried more than 500 million travellers across more than 40 countries on five continents, through its brands FlixBus, FlixTrain, Greyhound and Kâmil Koç. Daniel Krauss, André Schwämmlein and Jochen Engert founded the company in 2011, anticipating the loosening of Germany's passenger transport law; the first FlixBuses ran in February 2013. In January 2022 the parent company, Flixmobility, re-formed as a European company (SE).
The site is bright and practical: white ground, dark-grey #353535 text, and the lime
#97d700 that marks everything Flix — header, primary button and icons. Type is Roboto,
buttons are 6px rounded and 36px tall, and the search form is the first thing on the page.
What makes it worth reading:
- A public, versioned system. Honeycomb documents its tokens and components openly, and the
live site matches: seven documented
--flix-*colours are identical on flixbus.de. Controls carry the Honeycomb React version in their class names (hcr-btn-16-7-0). - States as layers. Hover and press don't change the colour. They lay a translucent black
gradient over it —
--flix-hover-layer-colorat 6%,--flix-pressed-layer-colorat 12% — so one rule works on any fill. - One focus recipe. A white 4px halo inside a blue 2px outline (
#016ae7), on buttons and navigation alike.
Primary tasks
- Search a trip: from, to, date, passengers.
- Find help, deals and bookings.
Brand Narrative
Flix grew from a Munich startup that bet on deregulated long-distance buses in 2013 into a travel group spanning buses and trains on five continents. It runs the brands on one system: Honeycomb ships themes for Flix and Kâmil Koç from the same tokens, and flixbus.de uses the documented values exactly. The interface is plain and quick — lime for the brand, grey for text, and states that darken rather than recolour.
Principles
- Lime means Flix. One brand colour, used on the things that matter.
- States are layers. One translucent rule for every fill.
- Documented equals shipped. The live tokens match the public styleguide.
Personas
Not researched. No persona claim is made from a UI capture.
Colors
Measured with getComputedStyle on flixbus.de: 96 root custom properties, 95 --flix-*. The
remaining one is a component-internal spinner variable.
Brand and ink
- Brand (
#97d700) —--flix-brand-primary-color,--flix-header-bg-color,--flix-button-primary-color. - Foreground (
#353535) —--flix-content-primary-color; body text (961 text elements), headings and button labels. - Content secondary (
#646464) —--flix-content-secondary-color. - Canvas (
#ffffff) · Background secondary (#f7f7f7).
Greens
UI primary #31a100 · light #5cc500 (the tablet navigation background) · dark
#187d00 · Highlight #e5f9c0 (a pale lime tint).
Links and neutral
Link #0047de · Neutral #016ae7 (also the focus outline).
Greys
#444444 (grayscale 90) · #848484 (icons, input borders) · #c8c8c8 (lines) · #e1e1e1
(grayscale 30).
Status
Success #228f00 · Warning #ff5704 · Danger #dd2828 · AI #e100e1, a magenta named
--flix-ai-color.
Typography
Font family
Roboto — --flix-font-family-primary: Roboto, Arial, sans-serif, self-hosted as woff2 in
latin and cyrillic subsets. document.fonts loaded 400, 500 and 700.
Scale
--flix-font-size-h1 1.7rem · h2 1.3rem · h3 1.1rem · h4 1rem · primary 1rem (line 1.5rem) ·
small 0.875rem · fineprint 0.75rem. Weights: normal 400, semibold 500 (buttons and navigation),
bold 700.
Layout
--flix-page-max-width1200px,--flix-page-min-width320px; gutters 12px and 24px.- Spacing runs in 6px steps:
--flix-spacing-half3px,-16px,-212px,-424px,-848px,-1696px. - Inputs are 36px on desktop and 44px on mobile (
--flix-input-height-*).
Responsive Behavior
Only desktop was measured. Tokens declare mobile input height (44px) and a tablet navigation
colour (#5cc500).
Elevation & Depth
--flix-primary-box-shadow: 0 6px 12px rgba(0,0,0,.06), 0 3px 18px rgba(0,0,0,.06), 0 3px 6px rgba(0,0,0,.18). Overlays use rgba(0,0,0,0.5).
Motion & Easing
The search button transitions background over 0.25s.
Tier 1 sources: https://www.flixbus.de/ (live homepage — 96 root custom properties read via getComputedStyle; Roboto loaded; three components measured at rest, hover, pressed and focus after declining the consent banner, captured 2026-09-26); https://styleguide.hive.flix.tech/ (Honeycomb Design System Styleguide — nonsense path returns 404, read 2026-09-26); https://styleguide.hive.flix.tech/design-tokens/ (Honeycomb design tokens — --flix-* contract and themes, read 2026-09-26); https://honeycomb-react.hive.flix.tech/ (Honeycomb React Storybook, read 2026-09-26); https://corporate.flix.com/about-flix/ (About Flix — "Launched in 2013 in Munich", 500 million travellers, 40+ countries, FlixBus, FlixTrain, Greyhound, Kâmil Koç, read 2026-09-26); https://www.flix.com/de/impressum (Impressum — Flix SE, Friedenheimer Brücke 16, 80639 München, read 2026-09-26); https://www.munich-startup.de/en/13105/flixbus/ (Munich Startup — founding 2011, launch 2013, read 2026-09-26); https://munich-startup.de/79459/se-statt-gmbh-flixmobility-stellt-sich-neu-auf (Munich Startup — GmbH to SE, read 2026-09-26)
Components
Measured on the home page, focus read under a real Tab key, and a hover counted only when :hover
matched. The consent banner (Usercentrics) was declined first.
- Search button — Suchen:
#97d700, label#353535, radius 6px, 36px,5px 12px, 16px/500. Hover adds a 6% black layer, press a 12% one; the lime value itself never changes. Focus:0 0 0 4px #ffffffplusoutline: 2px solid #016ae7. - Navigation link — Plane Deine Reise, Hilfe: transparent,
#353535, 6px, 36px, 16px/500. Same hover and press layers, same focus ring. - Destination field — transparent,
#353535, 16px/400. Focus changes nothing on the input itself.
Radius
--flix-border-radius-half 3px · -1 6px (buttons, --flix-primary-border-radius) · -2 12px.
States
Hover: a 6% black layer on the search button and navigation links. Press: 12%. Focus: white halo and
blue outline; the destination field shows no change. Disabled elements use
--flix-disabled-element-opacity 0.5 (not observed).
Do's and Don'ts
Do
- Use lime
#97d700for the header and the main action, with#353535labels on it. - Draw hover and press as 6% and 12% black layers, not new colours.
- Use the white-halo, blue-outline focus ring everywhere.
Don't
- Don't change the label colour on lime; the live button keeps
#353535. - Don't use the magenta
--flix-ai-color#e100e1as a general accent; its name ties it to AI. - Don't invent state colours per component — the layer does it.
Voice & Tone
Not assessed as authored voice.
Agent Prompt Guide
Quick Color Reference
#97d700 brand lime · #353535 ink · #646464 secondary · #f7f7f7 surface · #0047de link ·
#016ae7 focus · #31a100 UI green · #dd2828 danger · #ff5704 warning
Example Component Prompts
- "A 36px lime
#97d700button with a#35353516px/500 Roboto label, 6px radius; hover adds a 6% black layer, press 12%; focus a white 4px halo inside a 2px#016ae7outline." - "A white header link,
#35353516px/500, with the same hover layer."
Governance
Known Gaps
- Contrast,
nav-link. Text#353535on#00000000measures 1.71:1, below the WCAG AA 4.5:1 minimum for normal-size text. Recorded as measured, not adjusted. - Contrast,
input-destination. Text#353535on#00000000measures 1.71:1, below the WCAG AA 4.5:1 minimum for normal-size text. Recorded as measured, not adjusted.
Colors
Brand
Surface & text
Status
Other colors
Typography
- RobotoSans · Open font · Apache 2.0Install via Google Fonts
Type scale
- h1--flix-font-size-h1 1.7rem27.2px, weight 700The quick brown fox jumps over the lazy dog
- body--flix-font-size-primary 1rem, line height 1.5rem16px, weight 400The quick brown fox jumps over the lazy dog
- buttonbuttons and navigation, --flix-font-weight-semibold 50016px, weight 500The quick brown fox jumps over the lazy dog
Spacing & shape
Corner radius
- half3px
- sm6px
- md12px
Components
- button-searchbutton-searchFill #97d700 · Text #353535 · Radius 6px · Height 36px · Padding 5px 12px · Type 16px / 500
- Hover layer rgba(0,0,0,0.06)
- Pressed layer rgba(0,0,0,0.12)
- Focus box-shadow 0 0 0 4px #ffffff + outline 2px solid #016ae7
Related design systems
- Consumer techNVIDIANVIDIA's website is a high-contrast, technology-forward experience that communicates raw computational power through design restraint.
Consumer tech宏碁宏碁 (Acer) is a Taiwan-founded technology company whose public portfolio spans computers, displays, and newer businesses, while its corporate mission is to break barriers between people and technology.
Consumer techABEMAABEMA is Japan's "new future of television" — a free, ad-supported linear-streaming hybrid from CyberAgent — and its interface is one of the most committed dark-surface systems in consumer streaming.Consumer techKakaoKakao is a mobile-life platform whose identity is built around making communication and everyday services feel immediately approachable.
Consumer techTimeeTimee (タイミー) is Japan's largest spot-work platform — 13.4 million registered workers pick up single-shift jobs with no resume and no interview — and its design language radiates that same instant, friction-free energy.
Consumer techMeituanMeituan (美团) describes itself as a technology retail company, following a “Retail + Technology” strategy and the mission “We help people eat better, live better.”