Motivation Form

Branding

Customize your form's logo, brand color, and multi-step layout.

Motivation Form renders forms as branded public pages. You control the visual appearance through the branding block in your form's .md frontmatter.

Configuration

branding:
  logo: https://cdn.example.com/logo.png
  primary_color: "#0f172a"
PropertyTypeDescription
logoURL stringPublic URL to your logo. Displayed top-left of the form page. You host the file — Motivation Form never stores or proxies it. If omitted, the Motivation Form wordmark is shown as default branding.
primary_colorHex stringBrand color applied to the submit button, focus rings, and active state for radio/checkbox. Must be a 6-digit hex color (e.g. #0f172a). Default: #0f172a.

Both properties are optional. If omitted, the form renders with Motivation Form's default styling.


Placement

Every form page has two logo slots:

SlotWhat it showsWhen
Top-left (header)Your branding.logo URLIf you set branding.logo
Top-left (header)Motivation Form wordmarkIf you omit branding.logo
Bottom-center (footer)Motivation Form wordmarkAlways — alongside the "powered by Motivation Form (form.gold)" attribution

The footer wordmark is part of the platform attribution and is shown on every form page regardless of your branding settings.

branding.logo must be a public HTTPS URL that points directly at the image file. Motivation Form does not upload, store, or cache your logo — the browser fetches it straight from the URL you provide every time the form is rendered.

branding:
  logo: https://cdn.acme.com/logo-dark.svg

Common places to host the file:

  • A CDN (Cloudflare, Bunny, AWS CloudFront)
  • Object storage with public-read (S3, Cloudflare R2, Supabase Storage)
  • A static asset in your marketing site (e.g. https://acme.com/assets/logo.png)

Plain http:// URLs are auto-upgraded to https:// at render time so the form page does not produce mixed-content warnings.

Dimensions and format

The header logo slot displays the image at 40px tall and lets the width scale automatically.

FormatNotes
SVGRecommended. Scales crisply at any size and any pixel density.
PNGUse a transparent background. Provide at least 2× the displayed height (so ≥ 80px tall) for retina displays. A natural width up to ~400px is fine — the renderer scales it down.
JPGAllowed, but a solid background will not blend with the form page. Use only if your logo is rectangular and solid-colored on purpose.

The natural aspect ratio is preserved. Wordmark-style logos (wide) and square marks both render correctly — only the height is constrained.

Tips for a clean result:

  • Transparent backgrounds blend with both the light and dark form themes.
  • Trim excess whitespace so the logo doesn't appear smaller than the surrounding type.
  • For dark form themes (branding.theme: default-dark), upload a light-colored or white-stroke variant so the logo stays legible.

Runtime theme toggle

Every form page also exposes a small sun/moon toggle in the top-right corner. Respondents can switch between light and dark themes while filling the form; the choice is stored in their browser's localStorage so it sticks across forms. The default starting theme is whatever you set in branding.theme (or default-light if unset).

The Motivation Form wordmark in the footer adapts automatically to the active theme. If you supply your own branding.logo, the same URL is used in both themes — provide a logo that reads well on light and dark backgrounds, or accept that respondents who toggle may see your logo on the off-mode background.


Primary color

The primary color is used for:

  • Submit button background
  • Input focus ring
  • Selected state for radio buttons and checkboxes
  • Step progress indicator (multi-step forms)

Choose a color with sufficient contrast against white (#ffffff) for accessibility. WCAG AA requires a contrast ratio of at least 4.5:1 for normal text.

branding:
  primary_color: "#1d4ed8"   # Blue

Multi-step layout

Multi-step forms are controlled by the step property on each field — not by the branding block. See Field types — Multi-step forms for the full spec.

When steps are defined, the form page renders:

  1. A step progress indicator at the top (using primary_color)
  2. Only the fields for the current step
  3. "Back" and "Next" buttons between steps
  4. A final "Submit" button on the last step

The form validates required fields before allowing the user to advance to the next step.


Full example

---
title: Campaign Brief
slug: campaign-brief
branding:
  logo: https://cdn.acme.com/logo.svg
  primary_color: "#7c3aed"
notifications:
  email:
    - campaigns@acme.com
  subject: "New campaign brief from {field:company}"
humanness: true
fields:
  - id: company
    type: text
    label: Company name
    required: true
    step: 1
  - id: contact_email
    type: email
    label: Contact email
    required: true
    step: 1
  - id: campaign_type
    type: radio
    label: Campaign type
    options: [Brand awareness, Product launch, Partnership]
    step: 2
  - id: budget
    type: number
    label: Budget (USD)
    step: 2
  - id: brief
    type: textarea
    label: Campaign brief
    required: true
    step: 3
  - id: logo
    type: image
    label: Brand logo (optional)
    accept: [image/png, image/svg+xml]
    max_mb: 5
    step: 3
---

Submit your campaign parameters. We review all briefs within **48 hours** and follow up by email.

On this page