list.athletic-fixture-list · Fixture list

A list pattern from Athletic Sport, drawn alone below with this design's tokens and sample copy. Used in this design on: home page, section 5. Give the section root data-pattern="list.athletic-fixture-list". A guide only: DESIGN.md and tokens.json are the source of truth.

Rule
Title and a 'full schedule' link on one row; four to eight fixtures as ruled rows: mono date 1–2, italic uppercase match title 3–7, venue 8–10, a small ticket button 11–12.
Slots
title, cta, items[4..8]
Grid areas
date 1-2 · match 3-7 · venue 8-10 · action 11-12 (12-column grid, 1-based inclusive spans)
Tokens
bg #FAFAFA · text #1F1F1F · heading #0F0F0F · accent #FF3B00 · accent2 #00A1BA · Barlow Condensed / Barlow · radius 0px · space unit 8px (full list in design/tokens.json)

Pattern notes

  • The italic caps title (step 5) and an arrow link to the full schedule on one row. Four to eight fixtures as ruled rows: mono date in 1–2, the match ("CITY v ROVERS") in italic caps h3 in 3–7, the venue in 8–10, a small secondary "Tickets" button in 11–12, vertically centred.

Services

Start a project

2 weeks

Discovery sprint

Two weeks of interviews, audits and competitor teardown.

View

1 day

Positioning workshop

A day with your leadership to agree on one story.

View

8 weeks

Identity design

Logo, type, colour, motion and a working toolkit.

View

10 weeks

Website

Strategy, copy, design and build in Webflow or Next.js.

View

4 weeks

Launch support

Training, templates and a month of on-call design.

View

Ongoing

Retainer

A senior designer embedded two days a week.

View
Layout tree (as in design/layout.json)
{
  "pattern": "list.athletic-fixture-list",
  "kind": "list",
  "grid": {
    "date": "1-2",
    "match": "3-7",
    "venue": "8-10",
    "action": "11-12"
  },
  "slots": [
    "title",
    "cta",
    "items[4..8]"
  ],
  "tree": {
    "el": "box",
    "gap": 4,
    "children": [
      {
        "el": "box",
        "dir": "row",
        "gap": 3,
        "align": "baseline",
        "justify": "between",
        "wrap": true,
        "children": [
          {
            "el": "text",
            "slot": "title",
            "role": "h2",
            "step": 5,
            "transform": "uppercase",
            "weight": 900,
            "italic": true,
            "leading": "tight"
          },
          {
            "el": "button",
            "slot": "cta",
            "variant": "link",
            "arrow": true
          }
        ]
      },
      {
        "el": "repeat",
        "slot": "items",
        "min": 4,
        "max": 8,
        "layout": "list",
        "divider": true,
        "of": {
          "el": "grid",
          "gap": 2,
          "pad": [
            2,
            0
          ],
          "align": "center",
          "children": [
            {
              "el": "text",
              "span": "1-2",
              "slot": "meta",
              "role": "label",
              "font": "mono"
            },
            {
              "el": "text",
              "span": "3-7",
              "slot": "title",
              "role": "h3",
              "transform": "uppercase",
              "weight": 800,
              "italic": true,
              "leading": "tight"
            },
            {
              "el": "text",
              "span": "8-10",
              "slot": "body",
              "role": "small"
            },
            {
              "el": "button",
              "span": "11-12",
              "slot": "cta",
              "variant": "secondary",
              "size": "sm"
            }
          ]
        }
      }
    ]
  }
}
Component example: reference/list.athletic-fixture-list.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
<title>list.athletic-fixture-list — Athletic Sport</title>
<link rel="stylesheet" href="base.css">
<style>
  section { padding: var(--section) 0; }
  .head { display: flex; justify-content: space-between; align-items: end; flex-wrap: wrap; gap: 16px; margin-bottom: 32px; }
  .head h2 { font-size: var(--step-4); }
  .head a { font-family: var(--font-heading); font-style: italic; font-weight: 700; text-transform: uppercase; color: var(--link); }
  ol { list-style: none; padding: 0; border-bottom: 2px solid var(--heading); }
  li { border-top: 2px solid var(--heading); padding: 16px 0; align-items: center; row-gap: 8px; }
  .date { grid-column: 1 / 3; } li h3 { grid-column: 3 / 8; font-size: var(--step-2); font-weight: 800; }
  .venue { grid-column: 8 / 11; } li .btn { grid-column: 11 / 13; justify-self: end; padding: 10px 16px; font-size: var(--base); }
  @media (max-width: 640px) { li .btn { justify-self: start; } }
</style>
</head>
<body>
<section class="wrap">
  <div class="head"><h2>Fixtures</h2><a href="/schedule">Full schedule →</a></div>
  <ol>
    <li class="grid"><span class="date mono">SAT 08 MAR</span><h3>Eastside v Harbour Kings</h3><span class="venue">Court 4, home</span><a class="btn" href="#">Tickets</a></li>
    <li class="grid"><span class="date mono">SUN 16 MAR</span><h3>Northgate v Eastside</h3><span class="venue">Northgate Arena</span><a class="btn" href="#">Tickets</a></li>
    <li class="grid"><span class="date mono">SAT 22 MAR</span><h3>Eastside v Riverside</h3><span class="venue">Court 4, home</span><a class="btn" href="#">Tickets</a></li>
    <li class="grid"><span class="date mono">FRI 28 MAR</span><h3>Cup semi-final</h3><span class="venue">City Hall Courts</span><a class="btn" href="#">Tickets</a></li>
  </ol>
</section>
</body>
</html>

Other patterns in this design

Whole design · Spec bundle (JSON) · On the style page