Delta

Fly Delta's iOS app is a calm, navy-grounded travel concierge that organizes itself entirely around one question: where is my trip right now? The mo

Back to all styles

A live page in this style is not built yet — the CSS variables and the prompt below are enough to reproduce it.

At a glance

24tokens
9type steps
4radius steps
12pxspacing base

Delta, in one page

Fly Delta's iOS app is a calm, navy-grounded travel concierge that organizes itself entirely around one question: *where is my trip right now?* The moment you open it, the Today tab puts your most imminent flight front and center — a full-bleed navy header showing your origin and destination airport codes in big bold type, a small plane gliding along a connecting line, and a status pill ("On Time", "Delayed", "Now Boarding") that is the single most important word on the screen. Everything else (rebooking, bag tracker, SkyMiles, amenities) is one tap away but visually subordinate. The app's job is to remove travel anxiety, and the design does that by being uncluttered, status-first, and predictable.

The signature surface is the digital boarding pass. It is a tall card with a navy→red gradient strip across the top, the passenger name in uppercase, a clean three-cell Gate / Seat / Group data grid, a "SKY PRIORITY" or zone band, and a scannable barcode block at the bottom. This pass is the emotional and functional center of the product — it is what you hold up at the gate, it lives in Apple Wallet, and the in-app version stacks a live flight-status timeline above it (Departed → In Air → Arrive, each step a dot on a vertical rail with a time and gate). The combination of *boarding pass + flight status timeline* is the screen people open the app to see.

The color system is disciplined and corporate-confident. Delta Blue (#003268) is the brand anchor — it's the navigation accent, the gradient base, and the trust color. The Delta "widget" red (#C8102E), drawn from the triangular logomark, is the single high-energy accent and is reserved almost exclusively for the primary call-to-action ("Check In", "Continue"). There is no rainbow; Delta deliberately limits chroma so that functional status colors — on-time green, delayed amber, canceled red — read instantly and are never confused with brand decoration. SkyMiles gold (#C99700) is the loyalty/Medallion accent and appears as a Medallion tier badge or a "SkyMiles" emphasis.

Typography is a clean humanist sans in the Whitney/Open-Sans family — highly legible at a glance, generous in weight contrast (800 for airport codes and screen titles, 400 for body, 700 for eyebrows and uppercase labels). Airport IATA codes and gate/seat numbers are rendered large and bold because they are the data travelers scan under pressure. The type system favors scannability over personality: it should read like a confident airline counter display, not a lifestyle brand.

Key Characteristics:

Do's and don'ts

Do

  • Anchor the brand with Delta Blue (#003268) and reserve widget red (#C8102E) for the single primary CTA
  • Make the boarding pass the highest-elevation, most-detailed surface — navy→red strip, name, Gate/Seat/Group, barcode
  • Put a flight-status timeline above the pass (Departed → In Air → Arrive) with times and gates
  • Size airport codes, gate, seat, and times large and bold (800) — they're scanned under stress
  • Keep functional status colors (green/amber/red) distinct from brand color
  • Invert the barcode to a light pattern in dark mode so gate scanners still read a dimmed screen
  • Use SkyMiles gold (#C99700) only for Medallion / loyalty emphasis
  • Use a deep navy-charcoal (#0B1320) for dark canvas — never neutral black, the navy must stay alive
  • Surface the imminent flight first on the Today tab; everything else is subordinate
  • Offer "Add to Apple Wallet" prominently and keep the Wallet pass live (gate-change push)

Don't

  • Don't use red as a general accent — it's the CTA and the canceled/error color only
  • Don't render gate/seat/IATA in small or light type — these are the highest-priority glyphs
  • Don't confuse brand navy with the "Boarding" status blue — keep status semantics separate
  • Don't use a pure-black dark canvas — #0B1320 keeps the brand navy reading
  • Don't add a Material tint pill to the tab bar — active is icon fill + color only
  • Don't over-animate — motion is calm and functional (status changes, plane glide), never decorative bounce
  • Don't bury the boarding pass behind taps on travel day — it should be one tap from Today
  • Don't use multiple competing CTAs on one screen — one red primary action
  • Don't let the barcode go low-contrast in dark mode — it must remain machine-scannable
  • Don't decorate the trip header with imagery that fights the status pill — the status word is king

Copy this into your AI builder

Paste it as-is. Every value below was measured from the original site, not guessed.

Assembled from the measured tokens — the source document has no prompt block.

Build a page in the Delta design language. Follow the measured tokens below — do not substitute your own palette.

Colors:
- Delta Blue: #003268
- Delta "widget" red: #c8102e
- gold: #c99700
- Delta Red: #c8102e
- Delta Red Pressed: #a30d26
- Delta Blue Bright: #0f4c9a
- Canvas White: #ffffff
- Surface Gray: #f4f6f9
- Surface Pressed: #e8ecf3
- Divider: #d6dce7

Type:
- families: Brand Face, Open Sans, Numerals
- scale: 10, 12, 14, 15, 16, 18, 22, 26, 34
- weights: 400, 600, 700, 800

Shape:
- radius: 0, 6, 9, 10

Spacing: 12, 13, 14, 16

Rules:
- Anchor the brand with Delta Blue (`#003268`) and reserve widget red (`#C8102E`) for the single primary CTA
- Make the boarding pass the highest-elevation, most-detailed surface — navy→red strip, name, Gate/Seat/Group, barcode
- Put a flight-status timeline above the pass (Departed → In Air → Arrive) with times and gates
- Size airport codes, gate, seat, and times large and bold (800) — they're scanned under stress
- Keep functional status colors (green/amber/red) distinct from brand color
- Invert the barcode to a light pattern in dark mode so gate scanners still read a dimmed screen

Avoid:
- Don't use red as a general accent — it's the CTA and the canceled/error color only
- Don't render gate/seat/IATA in small or light type — these are the highest-priority glyphs
- Don't confuse brand navy with the "Boarding" status blue — keep status semantics separate
- Don't use a pure-black dark canvas — `#0B1320` keeps the brand navy reading
- Don't add a Material tint pill to the tab bar — active is icon fill + color only
- Don't over-animate — motion is calm and functional (status changes, plane glide), never decorative bounce

Keep every value literal. If a token is given, use that exact value.

The specification

Colour paletteRead the full spec

Primary (Interactive)

  • Delta Red (#C8102E): Primary interactive color — "Check In", "Continue", primary CTA background. The single high-energy accent, used sparingly.
  • Delta Red Pressed (#A30D26): Pressed state for the primary CTA.
  • Delta Blue (#003268): Brand anchor — navigation accent, boarding-pass gradient base, link/selected color, trust surfaces.
  • Delta Blue Bright (#0F4C9A): Secondary CTA / interactive blue on dark surfaces where #003268 would be too low-contrast.

Canvas & Surfaces (Light Mode)

  • Canvas White (#FFFFFF): Primary light canvas.
  • Surface Gray (#F4F6F9): Grouped list background, subtle elevated cards.
  • Surface Pressed (#E8ECF3): Pressed/selected rows.
  • Divider (#D6DCE7): Hairline dividers between rows and cards.

Canvas & Surfaces (Dark Mode)

  • Dark Canvas (#0B1320): Primary dark canvas — a deep navy-charcoal, NOT neutral black, so the brand navy still reads.
  • Dark Surface 1 (#131C2B): Cards, boarding pass body, grouped sections.
  • Dark Surface 2 (#1C2738): Nested chips, zone bands, pressed rows.
  • Dark Divider (#25314A): Hairline dividers.

Text

  • Text Primary Light (#10243F): Primary text — a navy-tinted near-black.
  • Text Secondary Light (#5A6A82): Metadata, labels, captions.
  • Text Tertiary Light (#8A98AE): Disabled, low-emphasis.
  • Text Primary Dark (#E8ECF3): Primary text on dark.
  • Text Secondary Dark (#9AA6BC): Metadata on dark.
  • Text Tertiary Dark (#5F6E88): Disabled on dark.

Brand & Loyalty

RoleLight ModeDark Mode
Delta Blue#003268#003268
Delta Blue Bright#0F4C9A#0F4C9A
Delta Red (widget)#C8102E#C8102E
Widget Maroon (logo shadow)#862633#862633
SkyMiles Gold#C99700#C99700
Sky Light (header tint)#E7F0FA#1A2C44

Flight Status (Functional — constant across modes)

RoleLight ModeDark ModeUse
On Time#1E8E5A#4FD18C"On Time", departed-on-time, arrived
Boarding#0F4C9A#6FB0EA"Now Boarding", "Boarding Soon"
Delayed#C99700#E0B743"Delayed", schedule change
Canceled / Error#C8102E#E0414E"Canceled", IROP, error
Gate Changed#D9730D#F0954E"Gate Changed" alert

Semantic

  • Error Red (#C8102E / #E0414E dark): Inline error, canceled flight, failed payment.
  • Success Green (#1E8E5A / #4FD18C dark): Check-in complete, payment success.
  • Warning Amber (#C99700 / #E0B743 dark): Delay, schedule change, expiring fare.
  • Selection Highlight (#0F4C9A1F): 12% blue overlay on selected rows.
Type scaleRead the full spec

Font Family

  • Brand Face: Delta uses a Whitney-class humanist sans (the airline's corporate typeface lineage). For non-licensed reproduction, Open Sans (by Steve Matteson, Apache 2.0) is the closest free analog — same humanist proportions, excellent legibility at small sizes and on signage.
  • iOS Fallback: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
  • Mono (data, confirmation codes): 'SF Mono', Menlo, monospace — record locators, e-ticket numbers.
  • Numerals: tabular figures for gate/seat/times so columns align in the boarding pass and timeline.

Hierarchy

RoleFontSizeWeightLine HeightLetter SpacingNotes
Route IATAOpen Sans34pt8001.05-0.5ptATL → JFK airport codes, the trip hero
Screen TitleOpen Sans26pt8001.15-0.3pt"Your trip today", screen H1
Section HeaderOpen Sans22pt7001.2-0.2pt"Flight status", "Trip extras"
Card / Pax NameOpen Sans18pt7001.250ptPassenger name (uppercase) on pass
Data Value (large)Open Sans22pt8001.10ptGate/Seat/Group cell values
BodyOpen Sans16pt4001.50ptParagraph, descriptions
Data Value (inline)Open Sans15pt6001.30pt"Seat 14C · SKY PRIORITY"
MetaOpen Sans14pt4001.40pt"Est. arrival 1:02 PM EDT"
Eyebrow / LabelOpen Sans12pt7001.00.6pt"TODAY · DL 1248" uppercase
Cell LabelOpen Sans10pt7001.00.6pt"GATE" / "SEAT" / "GROUP" uppercase
ButtonOpen Sans16pt7001.00.2ptPrimary/secondary buttons
Tab LabelOpen Sans10pt6001.00.1ptBottom tab labels
Status PillOpen Sans12pt7001.00.2pt"On Time" / "Delayed"

Principles

  • Data is bold and big: Airport codes, gate, seat, group, and times are the highest-priority glyphs — sized large with weight 800 because travelers scan them under stress.
  • Uppercase for labels, not content: Eyebrows and cell labels ("GATE", "TODAY · DL 1248") are uppercase with positive tracking; passenger content stays cased.
  • Weight ladder 400 / 600 / 700 / 800: Body 400, inline data 600, headers/eyebrows 700, hero numerals/titles 800. No thin, no black.
  • Tabular numerals everywhere structured: Times, gate, seat, mileage balances use tabular figures so they align in stacked rows.
  • Dynamic Type first-class: Titles, body, meta scale; the boarding-pass barcode, tab labels, and pill text stay fixed (layout/scan-sensitive).
Components and layoutRead the full spec

Buttons

Primary Button (Check In / Continue)

  • Shape: Rounded rectangle, 6pt corner radius
  • Background: #C8102E (Delta Red) — the single high-energy accent, one primary CTA per screen
  • Text: #FFFFFF, Open Sans 16pt weight 700
  • Padding: 14pt vertical, 28pt horizontal; full-width on action screens
  • Pressed: background #A30D26 + scale 0.98
  • Disabled: #C8102E at 38% opacity, text at 60%

Secondary Button (View Boarding Pass)

  • Background: #0F4C9A (Delta Blue Bright) light & dark
  • Text: #FFFFFF, Open Sans 15pt weight 700
  • Corner radius: 6pt; padding 13pt / 24pt
  • Pressed: background #003268 + scale 0.98

Outline Button (Change Seat / Modify)

  • Background: transparent
  • Text: #10243F light / #E8ECF3 dark, Open Sans 14pt weight 600
  • Border: 1.5pt #5A6A82 light / #9AA6BC dark
  • Corner radius: 6pt; padding 12pt / 20pt
  • Pressed: background #0F4C9A14

Text Button (Flight details)

  • Text: #0F4C9A light / #6FB0EA dark, Open Sans 14pt weight 700
  • No background, no underline
  • Pressed: 60% opacity

Boarding Pass (signature surface)

  • Container: #FFFFFF light / #131C2B dark, 18pt corner radius, 1pt divider border, subtle shadow
  • Top strip: 6pt tall, linear-gradient #003268 → #C8102E (Delta Blue to widget red) — the brand signature on the pass
  • Passenger row: "PASSENGER" label (10pt 700 caps secondary) + name in 18pt 700 uppercase primary
  • Data grid: three equal cells Gate / Seat / Group — each with a 10pt uppercase label and a 22pt weight-800 value; the Group/Medallion value can render in SkyMiles gold #C99700
  • Zone band: full-width #1C2738 (dark) / #E8ECF3 (light) rounded 10pt strip — "Boards 10:12 AM · SKY PRIORITY" with the zone in 14pt weight-800
  • Barcode block: 56pt tall, a high-contrast bar pattern (Aztec/PDF417 in production). On dark mode it inverts to a *light* bar pattern so a gate scanner still reads a dimmed screen
  • Tap → full-screen pass with brightness auto-boost and Wallet "Add" affordance

Flight Status Timeline (signature surface)

  • Container: card, 16pt corner radius, 18pt padding
  • Title: "Flight Status" 13pt weight 700
  • Vertical rail: a column of 12pt dots connected by 2pt bars
  • Completed/active step dot: filled status color (on-time green #1E8E5A) with a 2pt ring
  • Upcoming step dot: #5F6E88 (tertiary) with matching ring
  • Connector bar: #25314A divider color
  • Step: bold label (13pt 700, e.g. "Departed ATL — On Time") + meta line (12pt secondary, "Gate B16 · 10:42 AM EDT")
  • Steps: typically Departed → In Air / Cruising → Arrive (Terminal + Baggage Carousel)
  • Live updates animate the active dot pulsing softly; a status change re-colors the affected step

Trip Header (Today hero)

  • Full-bleed gradient #003268 → #06203F navy block, 8pt top / 16pt bottom padding
  • Eyebrow: "TODAY · DL 1248" 11pt weight 700 caps, light-blue #8FB4DD
  • Status pill (top-right): rounded-999 chip, status-tinted (on-time = green-on-translucent)
  • Route line: large IATA code (34pt 800 white) — animated plane glyph between two thin connecting lines — second IATA code
  • Sub-row: "Gate B16 · 10:42 AM" left, "Seat 14C · 1:02 PM" right, 12pt light-blue

Cards & Lists

Trip Card (Trips tab)

  • #FFFFFF / #131C2B, 16pt radius, 1pt divider
  • Leading: small route summary (IATA → IATA, 16pt 800)
  • Trailing: status pill + chevron
  • 16pt padding, 12pt vertical gap between cards

Grouped List Row (More / settings)

  • 52pt tall, leading SF Symbol 22pt, title 16pt 400, trailing chevron #8A98AE
  • Divider inset 56pt from leading
  • Pressed: #E8ECF3 / #1C2738 background

Status Chips

  • Rounded-999 pill, 12pt weight 700, 7pt vertical / 14pt horizontal padding
  • On Time: #1E8E5A text on #1E8E5A1F
  • Now Boarding: #0F4C9A text on #0F4C9A24
  • Delayed: #C99700 text on #C997001F
  • Canceled: #C8102E text on #C8102E1F
  • (Dark mode uses the lighter status variants on the same translucent fill)

Navigation

Bottom Tab Bar

  • Height: 68pt + safe area
  • Background: #FFFFFF / #0B1320 with 0.5pt top divider, blur saturate(180%) blur(20px)
  • Tabs (5): Today, Book, Trips, SkyMiles, More
  • Icon size: 22pt; active color #003268 light / #5BA0E0 dark (filled glyph), inactive #8A98AE / #5F6E88
  • Labels: Open Sans 10pt weight 600, always shown
  • No tint pill — active is icon fill + label color change

Top Nav (detail screens)

  • Height: 44pt + safe area, navy #003268 or transparent over the trip header
  • Leading: back chevron (white over navy)
  • Center: contextual title (e.g. "DL 1248")
  • Trailing: share / refresh icon
Responsive behaviourRead the full spec

Device Sizes

DeviceWidthKey Changes
iPhone SE (3rd gen)375ptPass data grid stays 3-up; timeline compresses meta to one line
iPhone 13/14/15390ptStandard layout
iPhone 15/16 Pro393ptDynamic Island accommodated; trip header offsets content below island
iPhone 15/16 Pro Max430ptLarger IATA codes; pass scales up, more meta visible
iPad (portrait)768ptTwo-column: trips list (left) + selected trip detail (right)
iPad (landscape)1024pt+Trip detail max 700pt centered; pass max 420pt

Dynamic Type

  • Route IATA, screen title, section header, body, meta: full scale
  • Boarding-pass barcode, cell labels (10pt), tab labels (10pt), status-pill text: FIXED (scan/layout-sensitive)
  • Data values scale one step then clamp to preserve the grid

Orientation

  • iPhone: portrait-locked on the boarding pass (it's a hold-up surface); other screens rotate
  • iPad: full rotation; split trips/detail layout in landscape

Touch Targets

  • Tab bar icons: 22pt glyph, 44pt+ hit area
  • Primary button: 48pt+ tall
  • List rows: 52pt tall, full-row tap
  • Timeline step: full-row tap reveals segment detail
  • "Add to Wallet" pill: 44pt tall

Safe Area Handling

  • Top: trip header and nav respect safe area and Dynamic Island
  • Bottom: tab bar + home indicator respected
  • Boarding pass: never clipped by the home indicator; barcode kept above safe-area inset
  • Sides: 16pt content inset

Drop-in CSS variables

The same values as a theme block. Add the class to <body> and the site repaints.

body.theme-delta {--page-bg: #ffffff;
  --page-bg-gradient: none;
  --text-color: #131c2b;
  --heading-color: #131c2b;
  --link-color: #8d6a00;
  --link-hover-color: #5a4400;
  --border-color: #d5d6d9;
  --card-bg: #ffffff;
  --card-shadow: 0 1px 2px rgba(19,28,43,0.06);
  --card-hover-shadow: 0 6px 18px rgba(19,28,43,0.12);
  --header-bg: #131c2b;
  --header-text-color: #ffffff;
  --header-shadow: none;
  --footer-bg: #ffffff;
  --footer-text-color: #666b75;
  --button-bg: #c99700;
  --button-text-color: #000000;
  --button-hover-bg: #967100;
  --button-border: none;
  --button-border-radius: 9px;
  --button-secondary-bg: #f1f1f2;
  --button-secondary-text-color: #131c2b;
  --button-secondary-hover-bg: #e3e4e6;
  --button-secondary-border: 1px solid #d5d6d9;
  --prompt-bg: #f3f4f4;
  --prompt-text-color: #131c2b;
  --base-font: var(--font-open-sans);
  --heading-font: var(--font-open-sans);
  --card-border-radius: 9px;
}

Download theme.css

Visually close to

Measured with a deterministic colour + geometry comparison across 958 styles. Not a hand-picked list.

Where this came from

Source document
ios/design-md/travel/delta/DESIGN.md · 25.2 KB
Repository
Meliwat/awesome-ios-design-md
Licence
MIT

Source text is reproduced under its original licence. Tokens, similarity scores and page structure are ours.