Grid System
Responsive 12-column flexbox grid with containers, rows, columns, offsets, order, gutters and z-index. Based on .lp-container, .lp-row, and .lp-col-*.
Breakpoints
| Name | Min-width | Container max-width |
|---|---|---|
sm | 576px | 540px |
md | 768px | 720px |
lg | 992px | 960px |
xl | 1200px | 1140px |
2xl | 1400px | 1320px |
Containers
.lp-container — responsive max-width at each breakpoint
.lp-container--fluid — always 100% wide
.lp-container-md — 100% until md, then constrained
12-Column Grid
Equal thirds
Mixed widths
Auto + fixed
Responsive Columns
Stacks full-width below md, then splits into 2 columns at md, then 3 columns at lg. Resize the viewport to see the change.
Row Columns
row-cols-3 — children auto-fill 3 per row
row-cols-1 · row-cols-md-2 · row-cols-lg-4
Column Offsets
offset-4 pushes the column 4/12 to the right
Centered 6-column using offset-3
Column Order
Source order is 1 → 2 → 3 but order-first / order-last moves items visually.
Gutters
g-0 — no gutters
g-3 (12px)
g-5 (24px) — largest
Row Alignment (flex utilities)
items-center on the row
justify-between
Z-Index Scale
| Class | Value | Usage |
|---|---|---|
.lp-z-dropdown | 1000 | Dropdown menus |
.lp-z-sticky | 1020 | Sticky headers |
.lp-z-fixed | 1030 | Fixed top bars |
.lp-z-modal-backdrop | 1040 | Modal backdrop |
.lp-z-modal | 1050 | Modal dialog |
.lp-z-popover | 1060 | Popovers |
.lp-z-tooltip | 1070 | Tooltips |
.lp-z-toast | 1080 | Toast notifications |
.lp-z-{0,10,20,30,40,50} | 0 — 50 | Numeric scale |
.lp-z-n1 | -1 | Behind parent |
.lp-z-auto | auto | Reset |
CSS Grid utilities
CSS Grid-specific utilities (.lp-grid-cols-*, .lp-col-span-*, .lp-row-start-*, .lp-auto-cols-*, .lp-aspect-*) live on the Grid & Aspect utilities page.
CSS Reference
| Class | Description |
|---|---|
.lp-container | Responsive container (max-width per breakpoint) |
.lp-container--fluid | Always 100% wide |
.lp-container-{sm|md|lg|xl|2xl} | Fluid until breakpoint, then constrained |
.lp-row | Flex row with negative gutter |
.lp-col / .lp-col-auto | Flex-fill / content-width columns |
.lp-col-{1..12} | 12-column widths |
.lp-col-{bp}-{1..12} | Responsive columns (breakpoint-up) |
.lp-row-cols-{1..6} | Auto-split children into N equal columns |
.lp-row-cols-{bp}-{1..6} | Responsive row columns |
.lp-offset-{0..11} | Column offset (margin-left) |
.lp-offset-{bp}-{0..11} | Responsive offset |
.lp-order-{0..12} | Visual order |
.lp-order-{first|last} | Move to start / end |
.lp-order-{bp}-* | Responsive order |
.lp-g-{0..5} | Gutter scale (both axes) |
.lp-gx-{0..5} / .lp-gy-{0..5} | Axis-specific gutters |
.lp-g-{bp}-* / .lp-gx-{bp}-* / .lp-gy-{bp}-* | Responsive gutters |
.lp-z-{dropdown|sticky|fixed|modal-backdrop|modal|popover|tooltip|toast} | Semantic z-index |
.lp-z-{0|10|20|30|40|50|n1|auto} | Numeric z-index |