Foundations
Grid & Layout
A 12-column grid with responsive gutters and named column templates for common photography layouts. Containers cap the content width; the grid gutters scale with the viewport.
Breakpoints
Mobile-first. Add a breakpoint prefix to any Tailwind utility — e.g. md:grid-cols-3. The xs breakpoint is custom-added for small phones.
xsxs:360pxSmall mobile
smsm:640pxLarge mobile / small tablet
mdmd:768pxTablet portrait
lglg:1024pxTablet landscape / small desktop
xlxl:1280pxDesktop
2xl2xl:1440pxWide desktop — photography site max
Containers
Use container for the responsive centered container, or max-w-container-* to pin a specific max-width.
--container-smmax-w-container-sm640pxProse, narrow forms
--container-mdmax-w-container-md768pxContent articles
--container-lgmax-w-container-lg1024pxStandard page layout
--container-xlmax-w-container-xl1280pxDashboard, wide layouts
--container-2xlmax-w-container-2xl1440pxPhotography site — primary
--container-fullw-full100%Edge-to-edge, hero images
Gutters
The --gutter variable updates automatically via media queries. Use gap-gutter to always get the responsive gutter.
--gutter-xsgap-gutter-xs16pxMobile
--gutter-smgap-gutter-sm24pxsm
--gutter-mdgap-gutter-md32pxmd–lg (default)
--gutter-lggap-gutter-lg48pxlg–xl
--gutter-xlgap-gutter-xl64pxxl–2xl
Column Templates
Named grid-template-columns values. Apply with grid grid-cols-[name]. The gallery templates are used directly in PhotoRow and PhotoGrid.
grid-cols-12Standard 12-column layout grid
Page layout, sidebars, dashboardsgrid-cols-gallery-2Wide + Narrow (62 / 38)
Photo row 1 & 4grid-cols-gallery-2-flipNarrow + Wide (38 / 62)
Photo row 4 (mirrored)grid-cols-gallery-3Three equal columns
Photo row 2grid-cols-gallery-3-varThree varied (45 / 30 / 25)
Photo row 7grid-cols-gallery-4Four equal columns
Photo row 5grid-cols-sidebar260px sidebar + fluid content
Docs layout, admin panelsgrid-cols-sidebar-rightFluid content + 260px sidebar
Article with TOCUsage example
{/* 12-column page layout */}
<div className="grid grid-cols-12 gap-gutter">
<aside className="col-span-3">...</aside>
<main className="col-span-9">...</main>
</div>
{/* Responsive gallery row */}
<div className="grid grid-cols-1 md:grid-cols-gallery-2 gap-gallery h-[300px]">
<PhotoCard ... />
<PhotoCard ... />
</div>