Site header, redesigned

A header that gets out of the way

The live header is 184px of sticky navy with an empty left half and the navigation stacked underneath the phone number in the bottom right corner. This one is 72px, 60px once you scroll, with the nav first in the scan and every one of the twenty loan pages reachable in two moves.

Scroll to watch it shrink. Hover Loans for the mega panel, Insurance or Calculators for a small one. Narrow the window past 1100px for the drawer.

Behaviour spec

Everything the capture cannot show. A frame freezes the header in one state, so these rules travel with it as Dev Mode annotations in Figma.

Height and shrink

The bar has no fixed height. Every item in it - logo, nav item, phone, Apply - is one declared row height, 40px, plus Spacing/Medium top and bottom: 72px.

Past 40px of scroll it takes data-stuck="true": the row height drops to 36px and the padding to Spacing/Small, so the bar becomes 60px.

The size change snaps rather than easing. padding and height are layout properties, and animating them on a sticky bar is what makes a header stutter on a mid-range phone. The bar's shadow carries the 220ms transition instead, because a shadow composites.

It is position: sticky, not fixed, so it needs no spacer element and cannot overlap the first section.

Above the bar sits the client's own scroll progress indicator, restored from the live site where it is #progress-bar. Full sticky footprint is therefore 76px, and 64px once stuck.

Opening a menu

Pointer: hovering a trigger opens it after 120ms. The delay is what stops a mouse crossing the bar diagonally from flashing three panels open.

Leaving the trigger or the panel closes it after 180ms. That window is what lets the pointer travel the diagonal from the word into the panel without it shutting.

Keyboard: focus opens, Escape closes, focus moves through the panel in source order.

Touch and click: the trigger toggles. A tap does not follow the trigger's own link.

Only one panel exists in the DOM at a time, so two can never be open together.

The Loans mega panel

Full-bleed ground, but the content is held to Max-Width/Large so the columns line up with the page underneath.

Five equal tracks: Car | Leisure | Personal (spans two, its six pages run 3 + 3) | Commercial. No column is more than four links deep, so the panel ends on one line. 303px tall, down from 554px.

Each silo opens with a hub tile: the silo name on a tinted bubble with a red arrow, linking to the hub page. The hub pages are the money pages, so they must read as links, not as column titles. The tile turns navy on hover.

No description and no second "All ..." link to the same URL under the pages.

Home Loans is removed. Yes Loans does not write home loans.

The Ice foot strip holds the help: Borrowing power calculator, or call.

Every label is the live page's own anchor text, with one deliberate exception: Fast Loans Online is relabelled Fast Car Loans. Nothing is reworded to fit the layout.

Opens on the Navy bar as a White panel with an Ice foot strip. No two adjacent grounds repeat (TR-016).

Insurance, Calculators, About

A small panel, min-width 248px, anchored under its own trigger rather than under the viewport.

It is positioned by measuring the trigger, not by nesting inside the bar. Nesting it means the sticky bar's border clips it.

Radius/Large on the panel, 6px on the links inside it. An inner corner is never rounder than the one containing it (TR-025).

Mobile, under 1100px

Nav, phone number and Apply button leave the bar. A 44px phone glyph and a 44px burger replace them.

The drawer is fixed, full-viewport and fully opaque, and slides in from the right (340ms, cubic-bezier(0.32, 0.72, 0, 1)). The live drawer is translucent and the hero reads straight through the menu.

It is a stack of screens, not an accordion. Screen one fits one phone height: the five loan silos, each with its one-line description, then Insurance, Calculators, About and Contact.

Tapping a silo or a menu slides its own screen in over screen one, which drifts a quarter width left and fades. ‹ Menu slides it back. Any loan page is two taps from the burger.

A silo screen leads with the hub card - silo name, description, arrow, on its own ground - linking to the hub page, then lists every page under it. Contact has no screen: it links straight through.

Transform and opacity only. Hidden screens are visibility: hidden and inert, so they hold no tab stops. Focus moves to the back button on the way in and back to the row on the way out. Escape steps back one screen, then closes.

Every screen is rendered at all times and positioned off to the side, so every link stays in the markup for crawlers and for the export.

Body scroll locks while the drawer is open by pinning the body at its offset, which is what holds on iOS Safari. The page returns to the same position on close.

Call us and Apply now are pinned to the bottom of the drawer, above the safe-area inset.

Where the brand is

The Yes Loans mark is a speech bubble - round on three corners, square on the bottom right. That shape is the header's only decoration and it is used five times: the Apply button, the nav hover, the active-page chip, the hub tile on each silo, and the hover chip on every link.

Nothing else is added. No shadows for their own sake, no borders that are not doing structural work, no icons that repeat what a word already says.

The bar is a two-stop gradient from Background/Background to Background/Background Overlay, which is Navy/900 to Navy/950. Both are existing tokens. It is barely a shift, and it is what stops the bar reading as one flat printed rectangle.

The progress indicator is the client's, not ours. It is 3px here rather than the live 8px: at 8px it is a stripe, at 3px it is an instrument.

data-current="true" on a top-level item draws the red bubble chip beneath it. The developer sets this per page. The live header has no active state at all.

Motion and access

Panels reveal with opacity and a 6px translate only. No height animation, so nothing below reflows.

The progress indicator is driven by a scroll listener writing transform, throttled to one write per animation frame. It is deliberately NOT a CSS scroll timeline: animation-timeline fails the house motion check, and a re-render per scroll event is how a progress bar becomes the reason a page stutters.

Every transition names its properties. None of them is `all`.

prefers-reduced-motion removes every transition and the translate. Panels still open, instantly.

Focus rings are Text/Accent at 2px with offset on every trigger, link and button.

All mobile targets are at least 44px on both axes.

What changed in the menu structure

Nothing is removed and no URL is rewritten. All 36 links in the live header survive. Four move, one is added.

Wedding Loans added

Built, shipped and live, and it has never been reachable from the menu. It joins Personal Loans.

Fast Loans Online moves to Car Loans, and is relabelled Fast Car Loans

Its URL has always been /car-loans/fast-online-loan/ and its live H1 is "Fast car finance, Perth brokers, Australia wide". Only the menu label and the title tag ever said otherwise. The relabel is measured, not taste: see the note below.

Chattel Mortgage moves to Commercial Loans

It is business credit - the business purpose declaration and the compliance plate - not a consumer car loan. It also takes Commercial from two children to three.

Loan Calculator becomes Calculators

The live item holds itself plus Borrowing Power. One item, two real destinations.

Nothing is removed and no URL changes

All 36 live header links survive. Four move, one is added, one is relabelled, none is dropped and no URL is rewritten, so nothing needs a redirect.

Raised, not changed

The relabel fixes the menu. It does not fix the other two places this page is mislabelled, and those are the client’s call rather than ours.

The title tag is where the loss actually is

It reads "Fast Online Loans | We Say Yes More Often | Yes Loans". That is the string competing in a Perth SERP whose entire first page is payday and small-cash lenders - Nimble, Credit24, Harmoney, City Finance, ClearCash, EBP Money, MoneyMe, Cash Stop, Fundo - all lending $500 to $10,000 unsecured. Yes Loans does not appear on it. Suggest "Fast Car Loans | Approved Quickly Across a Full Lender Panel | Yes Loans".

Three on-page headings still say Fast Loans Online

"Fast Loans Online", "Great Finance Extras On Our Fast Loans Online" and "Get Fast Loans Online Now". These are the client's own live copy, carried across verbatim under TR-015, so changing them is a content decision for the client rather than a design one. They are listed here so the decision is made on purpose.

Why not simply Fast Car Loans Online

That exact phrase draws 10 searches a month. "fast loans online" draws 1,000 but in the wrong market, at a $16.75 CPC against $30 to $58 for car finance clicks - the market prices a car lead at three times a cash-loan lead. The winnable cluster is fast car loans (70), quick car loans (90), car loans online (170), same day car loan (70), instant car loan approval (50) and fast car loan approval (40). Half the volume, the right half, and no Perth broker on page one of it.

The homepage needs no change

"Fast Loans Online" appears on the live homepage only inside the header menu, and the homepage body carries no link to the page at all. Changing the nav label is the homepage change. Worth a separate look: the homepage body's only link into the car silo has the anchor text "car".

The menu, written out

The tree the developer builds in WordPress. It is generated from the same data the header renders, so the two cannot drift.

Loans

Car Loans

  Used Car Loans

  Best Car Financing

  Bad Credit Car Loans

  Fast Car Loans

Leisure Loans

  Caravan Loans

  Motorcycle Loans

  Boat Loans

Personal Loans

  Bad Credit Personal Loans

  Debt Consolidation Loans

  Home Improvements

  Travel Loans

  Medical Loans

  Wedding Loans

Commercial Loans

  Chattel Mortgage

  Truck Loans

  Equipment Loans

Insurance

Extended Warranties

Car Insurance

Gap Insurance/Shortfall

Scratch and Dent

Calculators

Loan Calculator

Borrowing Power Calculator

About

About Us

News

FAQs

Car Buyer Guide

Car Loan Option

Contact

Direct link

The phone number renders as (08) 9472 3000, the number in the live header markup. The site swaps it per session with dynamic number insertion, which is a tracking script and not part of this design.

Export Design
Download files for your developer
General
WordPress Builders