@wpgaurav/bricks-layouts
125+ reusable AI agent skills for Claude Code, ChatGPT, Cursor, and other AI tools — WordPress, design, SEO, marketing, frontend
| name | bricks-layouts |
| description | Create ready-to-paste sections and importable templates for Bricks Builder. |
Bricks Builder Layouts Skill
Create ready-to-paste sections and importable templates for Bricks Builder.
Styling Priority
When styling elements, follow this order of preference:
- Core Framework Classes (
core-framework.css) - Use existing utility classes first - Inline Settings - Use element
settingsfor element-specific styling - Custom CSS - Only for complex/unique styles not covered by framework
The Core Framework provides a comprehensive utility-first CSS library. Always prefer these classes over creating new global classes or inline styles.
Two Layout Formats
Bricks uses two distinct JSON formats:
1. Sections (Copy/Paste Format)
For pasting directly into the builder via clipboard. Used for hero sections, feature blocks, CTAs, etc.
{
"content": [...elements...],
"source": "bricksCopiedElements",
"sourceUrl": "https://example.com",
"version": "2.0.1",
"globalClasses": [...class definitions...],
"globalElements": []
}
2. Templates (Site-Wide Assignment)
Full templates with metadata for importing via Bricks Templates system.
{
"id": 1195,
"name": "header-new",
"title": "Header New",
"date": "2025-07-24 14:09:56",
"date_formatted": "July 24, 2025",
"author": {
"name": "Author Name",
"avatar": "https://...",
"url": "https://..."
},
"permalink": "https://example.com/template/header-new/",
"thumbnail": null,
"bundles": [],
"tags": [],
"type": "header",
"header": [...elements...],
"templateType": "header",
"global_classes": [...class definitions...],
"globalVariables": [...variables...],
"globalVariablesCategories": [...]
}
Section Structure (Copy/Paste)
Required Keys
| Key | Type | Description |
|---|---|---|
content |
array | Root array of all elements |
source |
string | Must be "bricksCopiedElements" |
sourceUrl |
string | Origin URL for reference |
version |
string | Bricks version (e.g., "2.0.1") |
globalClasses |
array | CSS class definitions used |
globalElements |
array | Global elements (usually empty) |
Element Structure
Each element in content array:
{
"id": "enrntt",
"name": "section",
"parent": 0,
"children": ["azdlaa"],
"settings": {
"_cssGlobalClasses": ["classId1", "classId2"]
},
"label": "Hero"
}
| Property | Description |
|---|---|
id |
Unique 6-character alphanumeric ID |
name |
Element type (section, container, block, heading, etc.) |
parent |
Parent element ID or 0 for root |
children |
Array of child element IDs |
settings |
Element-specific settings |
label |
Display name in structure panel |
themeStyles |
Optional array of theme style references |
Element Types Reference
Layout Elements
| Name | Purpose | Key Settings |
|---|---|---|
section |
Full-width section wrapper | tag, _padding |
container |
Content container with max-width | _width, _widthMax, _direction |
block |
Flexbox div element | tag, _display, _direction, _flexWrap |
div |
Basic div element | tag |
Content Elements
| Name | Purpose | Key Settings |
|---|---|---|
heading |
H1-H6 heading | text, tag |
text-basic |
Paragraph text | text, tag |
text |
Rich text with HTML | text (HTML content) |
button |
Button element | text, style, link, icon, iconPosition |
image |
Image element | image, _aspectRatio, _objectFit |
logo |
Site logo | logo, logoWidth, logoHeight |
icon |
SVG icon | icon, iconSize |
Navigation Elements
| Name | Purpose | Key Settings |
|---|---|---|
nav-nested |
Nested navigation menu | mobileMenu |
dropdown |
Dropdown menu item | text, toggleOn, megaMenu |
text-link |
Navigation link | text, link |
toggle |
Mobile menu toggle | icon, animation, toggleSelector |
Interactive Elements
| Name | Purpose | Key Settings |
|---|---|---|
slider-nested |
Carousel/slider | perPage, gap, autoplay, pagination |
accordion |
Collapsible content | titleTypography, contentTypography |
icon-box |
Icon with text | icon, iconSize, typographyHeading, typographyBody |
form |
Contact form | Field and submit button settings |
list |
Styled list | separatorDisable, itemMargin |
Utility Elements
| Name | Purpose | Key Settings |
|---|---|---|
code |
Custom CSS/JS | cssCode, javascriptCode, executeCode |
Element Settings by Type
Heading
{
"text": "Welcome to Our Site",
"tag": "h1",
"_cssGlobalClasses": ["heading-1"],
"_typography": {
"font-family": "Inter",
"font-size": "var(--text-3xl)",
"font-weight": "700",
"color": {"raw": "var(--color-secondary)"},
"text-align": "center"
}
}
Text (Rich Text)
{
"text": "<p>Paragraph with <strong>bold</strong> and <em>italic</em> text.</p>",
"_cssGlobalClasses": ["body-text"],
"_typography": {
"font-size": "var(--text-sm)",
"color": {"raw": "var(--color-tertiary)"}
}
}
Button
{
"text": "Get Started",
"style": "primary",
"link": {"type": "external", "url": "#"},
"icon": {"library": "fontawesomeSolid", "icon": "fas fa-arrow-right"},
"iconPosition": "right",
"_cssGlobalClasses": ["btn", "btn--primary"]
}
Button styles: primary, secondary, info, success, warning, danger, light, dark
Image
{
"image": {
"url": "https://example.com/image.jpg",
"external": true,
"filename": "image.jpg"
},
"_aspectRatio": "16 / 9",
"_objectFit": "cover",
"_objectPosition": "50%",
"_border": {
"radius": {"top": "var(--radius-m)", "right": "var(--radius-m)", "bottom": "var(--radius-m)", "left": "var(--radius-m)"}
}
}
For internal images (from media library):
{
"image": {
"id": 123,
"filename": "image.jpg",
"size": "large",
"full": "https://example.com/wp-content/uploads/image.jpg",
"url": "https://example.com/wp-content/uploads/image-1024x768.jpg"
}
}
Logo
{
"logo": {
"url": "https://example.com/logo.svg",
"external": true,
"filename": "logo.svg"
},
"logoWidth": "clamp(16.0rem, 14.7763rem + 3.8241vw, 20.0rem)",
"logoHeight": "auto"
}
Nav Nested (Navigation Menu)
{
"mobileMenu": "tablet_portrait",
"_cssGlobalClasses": ["main-nav"]
}
Values for mobileMenu: always, never, laptop, tablet_landscape, tablet_portrait, mobile_landscape, mobile_portrait
Dropdown (Menu Item)
{
"text": "Services",
"toggleOn": "both",
"megaMenu": true,
"megaMenuSelector": ".header__container",
"link": {"type": "external", "url": "#"},
"_cssGlobalClasses": ["dropdown-menu"]
}
Values for toggleOn: hover, click, both
Toggle (Mobile Menu Button)
{
"icon": {
"library": "svg",
"svg": {
"id": 2530,
"filename": "bars.svg",
"url": "https://example.com/bars.svg"
}
},
"animation": "spin",
"toggleSelector": ".mobile-menu",
"ariaLabel": "Open Menu",
"iconSize": "30",
"barColor:tablet_portrait": {"raw": "var(--color-secondary)"}
}
Slider Nested (Carousel)
{
"perPage": "3",
"perPage:tablet_portrait": "2",
"perPage:mobile_portrait": "1",
"gap": "2rem",
"autoplay": true,
"interval": "5000",
"pauseOnHover": true,
"pagination": true,
"paginationBottom": "-40",
"arrows": true,
"height": "none",
"_cssCustom": ".slider-class .splide__list { transition-timing-function: linear !important; }"
}
Icon Box
{
"icon": {"library": "fontawesomeSolid", "icon": "fas fa-rocket"},
"iconSize": "3rem",
"gap": "var(--spacing-xs)",
"typographyHeading": {
"color": {"raw": "var(--color-secondary)"},
"font-size": "var(--text-md)"
},
"typographyBody": {
"font-family": "Inter",
"color": {"raw": "var(--color-tertiary)"},
"font-size": "var(--text-sm)"
},
"_cssCustom": ".icon-box h3 { margin-bottom: var(--spacing-3xs); }"
}
Accordion
{
"titleTypography": {
"font-size": "var(--text-md)",
"color": {"raw": "var(--color-secondary)"}
},
"contentTypography": {
"font-size": "var(--text-sm)",
"color": {"raw": "var(--color-tertiary)"}
},
"titleMargin": {"bottom": "var(--spacing-xs)"},
"contentMargin": {"bottom": "var(--spacing-md)"},
"titleBorder": {
"width": {"bottom": "1"},
"style": "solid",
"color": {"raw": "var(--color-tertiary)"}
},
"_cssCustom": ".accordion .brxe-icon { transition: transform 0.3s ease; }\n.accordion .brx-open .brxe-icon { transform: rotate(90deg); }"
}
Form (Newsletter Style)
{
"submitButtonWidth": "35",
"submitButtonTypography": {
"color": {"raw": "var(--color-light)"},
"font-size": "var(--text-xs)"
},
"submitButtonBackgroundColor": {"raw": "var(--color-primary)"},
"submitButtonBorder": {
"width": {"top": "2", "right": "2", "bottom": "2", "left": "2"},
"style": "solid",
"color": {"raw": "var(--color-primary)"}
},
"fieldTypography": {
"color": {"raw": "var(--color-secondary)"},
"font-size": "var(--text-xs)"
},
"fieldBorder": {
"width": {"top": "1", "right": "0", "bottom": "1", "left": "1"},
"style": "solid",
"color": {"raw": "var(--color-light)"}
},
"fieldPadding": {"top": "0.5rem", "bottom": "0.5rem", "left": "1.2rem", "right": "1.2rem"},
"fieldMargin": {"bottom": "0"}
}
List (Footer Links)
{
"separatorDisable": true,
"itemMargin": {"bottom": "1.5rem"},
"itemJustifyContent": "flex-start",
"_typography": {
"font-family": "Inter",
"color": {"raw": "var(--color-tertiary)"},
"font-size": "var(--text-sm)"
}
}
Code Element
{
"executeCode": true,
"cssCode": ".my-section { background: linear-gradient(...); }",
"javascriptCode": "(function() { console.log('Loaded'); })();",
"signature": "hash-for-security",
"user_id": 1,
"time": 1720582839
}
Common Layout Settings
Flexbox Container
{
"_display": "flex",
"_direction": "row",
"_direction:tablet_portrait": "column",
"_justifyContent": "space-between",
"_alignItems": "center",
"_flexWrap": "wrap",
"_columnGap": "var(--spacing-md)",
"_rowGap": "var(--spacing-md)"
}
Grid Container
{
"_display": "grid",
"_gridTemplateColumns": "repeat(3, minmax(0, 1fr))",
"_gridTemplateColumns:tablet_portrait": "repeat(2, minmax(0, 1fr))",
"_gridTemplateColumns:mobile_portrait": "repeat(1, minmax(0, 1fr))",
"_gridGap": "var(--spacing-md)",
"_alignItemsGrid": "stretch"
}
Width & Sizing
{
"_width": "100%",
"_width:tablet_portrait": "50%",
"_widthMax": "1200",
"_widthMin": "300",
"_height": "auto",
"_heightMin": "400",
"_aspectRatio": "16 / 9"
}
Spacing
{
"_padding": {"top": "var(--spacing-lg)", "right": "var(--spacing-md)", "bottom": "var(--spacing-lg)", "left": "var(--spacing-md)"},
"_margin": {"top": "0", "bottom": "var(--spacing-xl)"}
}
Typography
{
"_typography": {
"font-family": "Inter",
"font-size": "var(--text-md)",
"font-weight": "600",
"line-height": "1.5",
"letter-spacing": "0.02em",
"text-transform": "uppercase",
"text-align": "center",
"color": {"raw": "var(--color-secondary)"}
}
}
Background
{
"_background": {
"color": {"raw": "var(--color-primary)"},
"videoUrl": "https://example.com/video.mp4"
},
"_gradient": {
"applyTo": "background",
"colors": [
{"id": "c1", "color": {"raw": "transparent"}, "stop": "0"},
{"id": "c2", "color": {"raw": "var(--color-dark-70)"}, "stop": "100"}
]
}
}
Borders & Radius
{
"_border": {
"width": {"top": "1", "right": "1", "bottom": "1", "left": "1"},
"style": "solid",
"color": {"raw": "var(--border-primary)"},
"radius": {"top": "var(--radius-m)", "right": "var(--radius-m)", "bottom": "var(--radius-m)", "left": "var(--radius-m)"}
}
}
Position & Overlay
{
"_position": "relative",
"_zIndex": "1",
"_overflow": "hidden",
"_isolation": "isolate"
}
For absolute positioned overlays:
{
"_position": "absolute",
"_top": "0",
"_right": "0",
"_bottom": "0",
"_left": "0",
"_zIndex": "-1"
}
Shadows
{
"_boxShadow": {
"values": {"blur": "20", "offsetY": "8", "offsetX": "0", "spread": "0"},
"color": {"raw": "var(--shadow-primary)"}
}
}
Custom CSS
{
"_cssCustom": ".my-element { transition: all 0.3s ease; }\n.my-element:hover { transform: translateY(-5px); }"
}
Global Classes Definition
Basic Class
{
"id": "btn-primary",
"name": "btn-primary",
"settings": {
"_typography": {"color": {"raw": "var(--color-light)"}},
"_background": {"color": {"raw": "var(--color-primary)"}},
"_padding": {"top": "1rem", "right": "2rem", "bottom": "1rem", "left": "2rem"},
"_border": {"radius": {"top": "var(--radius-s)", "right": "var(--radius-s)", "bottom": "var(--radius-s)", "left": "var(--radius-s)"}}
}
}
Class with Category
{
"id": "heading-1",
"name": "heading-1",
"settings": {
"_typography": {"font-family": "Inter", "font-size": "var(--text-3xl)"}
},
"category": "typography",
"_categoryData": {"id": "typography", "name": "Typography"},
"modified": 1733551470,
"user_id": 1
}
Class with Custom CSS
{
"id": "card-hover",
"name": "card-hover",
"settings": {
"_cssCustom": ".card-hover { transition: transform 0.3s ease, box-shadow 0.3s ease; }\n.card-hover:hover { transform: translateY(-10px); box-shadow: var(--shadow-xl); }"
}
}
Responsive Settings
Append breakpoint suffix to any setting:
{
"_direction": "row",
"_direction:tablet_portrait": "column",
"_direction:mobile_portrait": "column",
"_display": "flex",
"_display:mobile_portrait": "none",
"_width": "50%",
"_width:tablet_portrait": "100%",
"_gridTemplateColumns": "repeat(3, minmax(0, 1fr))",
"_gridTemplateColumns:tablet_portrait": "repeat(2, minmax(0, 1fr))",
"_gridTemplateColumns:mobile_portrait": "repeat(1, minmax(0, 1fr))"
}
Breakpoints
| Breakpoint | Suffix | Max Width |
|---|---|---|
| Desktop | (none) | - |
| Laptop | :laptop |
1366px |
| Tablet Landscape | :tablet_landscape |
1024px |
| Tablet Portrait | :tablet_portrait |
991px |
| Mobile Landscape | :mobile_landscape |
767px |
| Mobile Portrait | :mobile_portrait |
478px |
| Small Mobile | :small_mobile |
320px |
Template Structure (Site-Wide)
Required Keys
| Key | Type | Description |
|---|---|---|
id |
int | Unique template ID |
name |
string | Template slug |
title |
string | Display title |
date |
string | Creation date (Y-m-d H:i:s) |
type |
string | Template type |
templateType |
string | Same as type |
header or content |
array | Elements (key based on type) |
Template Types
| Type | Content Key | Purpose |
|---|---|---|
header |
header |
Site header |
footer |
footer |
Site footer |
content |
content |
Page content |
section |
content |
Reusable section |
archive |
content |
Archive pages |
search |
content |
Search results |
error |
content |
404 page |
popup |
content |
Popup/modal |
Author Object
{
"name": "Author Name",
"avatar": "https://secure.gravatar.com/avatar/...",
"url": "https://example.com"
}
Global Variables
{
"id": "primary",
"name": "primary",
"value": "#2364a9",
"category": "corefrm"
}
Variable Categories
{
"id": "corefrm",
"name": "Core Framework"
}
Complete Layout Examples
Hero Section with CTA
{
"content": [
{
"id": "sec001",
"name": "section",
"parent": 0,
"children": ["con001"],
"settings": {"_cssGlobalClasses": ["pad-top-bottom-lg"]},
"label": "Hero"
},
{
"id": "con001",
"name": "container",
"parent": "sec001",
"children": ["col001", "col002"],
"settings": {
"_direction": "row",
"_direction:tablet_portrait": "column",
"_alignItems": "center",
"_cssGlobalClasses": ["gap-md"]
}
},
{
"id": "col001",
"name": "block",
"parent": "con001",
"children": ["hdg001", "txt001", "btns01"],
"settings": {"_cssGlobalClasses": ["gap-xs"]},
"label": "Content Column"
},
{
"id": "hdg001",
"name": "heading",
"parent": "col001",
"children": [],
"settings": {
"text": "Speak directly to the visitor's challenge",
"tag": "h1",
"_cssGlobalClasses": ["heading-1", "text-secondary"]
}
},
{
"id": "txt001",
"name": "text",
"parent": "col001",
"children": [],
"settings": {
"text": "<p>Clearly explain how your product or service solves the problem—keep it simple and direct.</p>",
"_cssGlobalClasses": ["text-p", "text-tertiary"]
}
},
{
"id": "btns01",
"name": "block",
"parent": "col001",
"children": ["btn001", "btn002"],
"settings": {
"_direction": "row",
"_cssGlobalClasses": ["gap-xs", "margin-top-xs"]
},
"label": "Buttons"
},
{
"id": "btn001",
"name": "button",
"parent": "btns01",
"children": [],
"settings": {
"text": "Get Started",
"_cssGlobalClasses": ["btn", "btn--primary"]
}
},
{
"id": "btn002",
"name": "button",
"parent": "btns01",
"children": [],
"settings": {
"text": "Learn More",
"_cssGlobalClasses": ["btn", "btn--outline"]
}
},
{
"id": "col002",
"name": "block",
"parent": "con001",
"children": ["img001"],
"settings": {},
"label": "Image Column"
},
{
"id": "img001",
"name": "image",
"parent": "col002",
"children": [],
"settings": {
"image": {"url": "https://example.com/hero.jpg", "external": true},
"_cssGlobalClasses": ["object-cover", "full-width"]
}
}
],
"source": "bricksCopiedElements",
"sourceUrl": "https://example.com",
"version": "2.0.1",
"globalClasses": [
{"id": "pad-top-bottom-lg", "name": "pad-top-bottom-lg", "settings": {"_padding": {"bottom": "var(--spacing-lg)", "top": "var(--spacing-lg)"}}},
{"id": "gap-md", "name": "gap-md", "settings": {"_columnGap": "var(--spacing-md)", "_rowGap": "var(--spacing-md)"}},
{"id": "gap-xs", "name": "gap-xs", "settings": {"_columnGap": "var(--spacing-xs)", "_rowGap": "var(--spacing-xs)"}},
{"id": "heading-1", "name": "heading-1", "settings": {"_typography": {"font-family": "Inter", "font-size": "var(--text-3xl)"}}},
{"id": "text-secondary", "name": "text-secondary", "settings": {"_typography": {"color": {"raw": "var(--color-secondary)"}}}},
{"id": "text-p", "name": "text-p", "settings": {"_typography": {"font-size": "var(--text-sm)", "font-family": "Inter"}}},
{"id": "text-tertiary", "name": "text-tertiary", "settings": {"_typography": {"color": {"raw": "var(--color-tertiary)"}}}},
{"id": "margin-top-xs", "name": "margin-top-xs", "settings": {"_margin": {"top": "var(--spacing-xs)"}}},
{"id": "btn", "name": "btn", "settings": {"_padding": {"top": "1rem", "right": "2rem", "bottom": "1rem", "left": "2rem"}}},
{"id": "btn--primary", "name": "btn--primary", "settings": {"_background": {"color": {"raw": "var(--color-primary)"}}, "_typography": {"color": {"raw": "var(--color-light)"}}}},
{"id": "btn--outline", "name": "btn--outline", "settings": {"_border": {"color": {"raw": "var(--color-primary)"}}, "_typography": {"color": {"raw": "var(--color-primary)"}}}},
{"id": "object-cover", "name": "object-cover", "settings": {"_objectFit": "cover"}},
{"id": "full-width", "name": "full-width", "settings": {"_width": "100%"}}
],
"globalElements": []
}
Features Grid (3 Columns)
{
"content": [
{
"id": "sec001",
"name": "section",
"parent": 0,
"children": ["con001"],
"settings": {"_cssGlobalClasses": ["pad-top-bottom-lg"]},
"label": "Features"
},
{
"id": "con001",
"name": "container",
"parent": "sec001",
"children": ["hdr001", "grid01"],
"settings": {"_cssGlobalClasses": ["gap-md", "container-width-md"]}
},
{
"id": "hdr001",
"name": "block",
"parent": "con001",
"children": ["tag001", "hdg001"],
"settings": {"_cssGlobalClasses": ["text-center", "gap-xs"]},
"label": "Section Header"
},
{
"id": "tag001",
"name": "heading",
"parent": "hdr001",
"children": [],
"settings": {"text": "Features", "tag": "h6", "_cssGlobalClasses": ["heading-6", "text-font-600"]}
},
{
"id": "hdg001",
"name": "heading",
"parent": "hdr001",
"children": [],
"settings": {"text": "Everything you need", "tag": "h2", "_cssGlobalClasses": ["heading-2"]}
},
{
"id": "grid01",
"name": "block",
"parent": "con001",
"children": ["feat01", "feat02", "feat03"],
"settings": {"_cssGlobalClasses": ["grid-3col", "grid-gap-md"]},
"label": "Features Grid"
},
{
"id": "feat01",
"name": "icon-box",
"parent": "grid01",
"children": [],
"settings": {
"icon": {"library": "fontawesomeSolid", "icon": "fas fa-rocket"},
"_cssGlobalClasses": ["icon-box"]
}
},
{
"id": "feat02",
"name": "icon-box",
"parent": "grid01",
"children": [],
"settings": {
"icon": {"library": "fontawesomeSolid", "icon": "fas fa-shield-alt"},
"_cssGlobalClasses": ["icon-box"]
}
},
{
"id": "feat03",
"name": "icon-box",
"parent": "grid01",
"children": [],
"settings": {
"icon": {"library": "fontawesomeSolid", "icon": "fas fa-chart-line"},
"_cssGlobalClasses": ["icon-box"]
}
}
],
"source": "bricksCopiedElements",
"sourceUrl": "https://example.com",
"version": "2.0.1",
"globalClasses": [
{"id": "pad-top-bottom-lg", "name": "pad-top-bottom-lg", "settings": {"_padding": {"bottom": "var(--spacing-lg)", "top": "var(--spacing-lg)"}}},
{"id": "gap-md", "name": "gap-md", "settings": {"_columnGap": "var(--spacing-md)", "_rowGap": "var(--spacing-md)"}},
{"id": "gap-xs", "name": "gap-xs", "settings": {"_columnGap": "var(--spacing-xs)", "_rowGap": "var(--spacing-xs)"}},
{"id": "container-width-md", "name": "container-width-md", "settings": {"_width": "90%", "_widthMax": "900"}},
{"id": "text-center", "name": "text-center", "settings": {"_typography": {"text-align": "center"}}},
{"id": "heading-2", "name": "heading-2", "settings": {"_typography": {"font-family": "Inter", "font-size": "var(--text-2xl)"}}},
{"id": "heading-6", "name": "heading-6", "settings": {"_typography": {"font-size": "var(--text-xs)", "font-family": "Inter", "text-transform": "uppercase"}}},
{"id": "text-font-600", "name": "text-font-600", "settings": {"_typography": {"font-weight": "600"}}},
{"id": "grid-3col", "name": "grid-3col", "settings": {"_gridTemplateColumns": "repeat(3, minmax(0, 1fr))", "_display": "grid", "_gridTemplateColumns:tablet_portrait": "repeat(2, minmax(0, 1fr))", "_gridTemplateColumns:mobile_portrait": "repeat(1, minmax(0, 1fr))"}},
{"id": "grid-gap-md", "name": "grid-gap-md", "settings": {"_gridGap": "var(--spacing-md)"}},
{"id": "icon-box", "name": "icon-box", "settings": {"typographyBody": {"font-family": "Inter", "color": {"raw": "var(--color-tertiary)"}, "font-size": "var(--text-sm)"}, "typographyHeading": {"color": {"raw": "var(--color-secondary)"}, "font-size": "var(--text-md)"}, "gap": "var(--spacing-xs)", "iconSize": "3rem"}}
],
"globalElements": []
}
Core Framework Classes Reference
The core-framework.css provides utility classes. Use these via _cssGlobalClasses setting.
Components
| Class | Purpose |
|---|---|
.btn |
Button base style |
.btn.small / .btn.large |
Button sizes |
.btn.secondary / .btn.tertiary / .btn.ghost / .btn.slight |
Button variants |
.card / .card.secondary / .card.primary |
Card component |
.badge / .badge.secondary |
Badge/tag component |
.link / .link.secondary / .link.tertiary |
Link styles |
.input |
Form input styling |
.select |
Form select styling |
.icon / .icon.small / .icon.large |
Icon container |
.avatar / .avatar.small / .avatar.large |
Avatar image |
.divider / .divider.vertical |
Divider line |
.checkbox / .radio |
Form checkbox/radio |
.expand-click |
Expand click area to parent |
Layout & Flexbox
| Class | Purpose |
|---|---|
.flex-row / .flex-column |
Flex direction |
.flex-wrap / .flex-nowrap |
Flex wrap |
.flex-1 / .flex-2 / .flex-3 |
Flex grow |
.row |
Flex row with wrap |
.column |
Flex column |
.items-center / .items-left / .items-right |
Align items horizontally |
.items-top / .items-middle / .items-bottom |
Align items vertically |
.content-center / .content-left / .content-right |
Justify content horizontally |
.content-top / .content-middle / .content-bottom |
Justify content vertically |
.self-center / .self-stretch |
Align self |
.space-between / .space-around |
Justify content |
Grid
| Class | Purpose |
|---|---|
.columns-2 to .columns-8 |
Grid columns |
.columns-min-5 to .columns-min-70 |
Auto-fit grid with min width |
.col-span-2 to .col-span-8 |
Column span |
.col-start-1 to .col-start-8 |
Column start |
.row-span-2 to .row-span-8 |
Row span |
.row-start-1 to .row-start-8 |
Row start |
Spacing (Gap)
| Class | Purpose |
|---|---|
.gap-4xs to .gap-4xl |
Gap (4xs, 3xs, 2xs, xs, s, m, l, xl, 2xl, 3xl, 4xl) |
Padding
| Class | Purpose |
|---|---|
.padding-4xs to .padding-4xl |
All sides padding |
.padding-top-xs to .padding-top-4xl |
Top padding |
.padding-bottom-xs to .padding-bottom-4xl |
Bottom padding |
.padding-left-xs to .padding-left-4xl |
Left padding |
.padding-right-xs to .padding-right-4xl |
Right padding |
.padding-horizontal-xs to .padding-horizontal-4xl |
Left + Right padding |
.padding-vertical-xs to .padding-vertical-4xl |
Top + Bottom padding |
Margin
| Class | Purpose |
|---|---|
.margin-4xs to .margin-4xl |
All sides margin |
.margin-top-xs to .margin-top-4xl |
Top margin |
.margin-bottom-xs to .margin-bottom-4xl |
Bottom margin |
.margin-left-xs to .margin-left-4xl |
Left margin |
.margin-right-xs to .margin-right-4xl |
Right margin |
.margin-horizontal-xs to .margin-horizontal-4xl |
Left + Right margin |
.margin-vertical-xs to .margin-vertical-4xl |
Top + Bottom margin |
Width & Height
| Class | Purpose |
|---|---|
.full-width / .full-height |
100% width/height |
.auto-width / .auto-height |
Auto width/height |
.screen-width / .screen-height |
100vw/100vh |
.width-10 to .width-90 |
Percentage width (10%, 20%, etc.) |
.max-width-10 to .max-width-140 |
Max width in rem |
.max-site-width |
Max site container width |
Aspect Ratio
| Class | Purpose |
|---|---|
.aspect-1 |
1:1 square |
.aspect-16-9 / .aspect-9-16 |
16:9 and 9:16 |
.aspect-4-3 / .aspect-3-4 |
4:3 and 3:4 |
.aspect-3-2 / .aspect-2-3 |
3:2 and 2:3 |
Background Colors
| Class | Purpose |
|---|---|
.bg-primary / .bg-primary-5 to .bg-primary-90 |
Primary with opacity |
.bg-primary-l-1 to .bg-primary-l-4 |
Primary light variants |
.bg-primary-d-1 to .bg-primary-d-4 |
Primary dark variants |
.bg-secondary, .bg-tertiary |
Same pattern as primary |
.bg-light / .bg-dark |
Light/dark backgrounds |
.bg-light-5 to .bg-light-90 |
Light with opacity |
.bg-dark-5 to .bg-dark-90 |
Dark with opacity |
.bg-body / .bg-surface |
Body/surface backgrounds |
.bg-success / .bg-error |
Status colors |
Text Colors
| Class | Purpose |
|---|---|
.text-primary / .text-secondary / .text-tertiary |
Brand text colors |
.text-primary-l-1 to .text-primary-l-4 |
Light variants |
.text-primary-d-1 to .text-primary-d-4 |
Dark variants |
.text-light / .text-dark |
Light/dark text |
.text-body / .text-title |
Body/title text |
.text-success / .text-error |
Status text colors |
Text Size
| Class | Purpose |
|---|---|
.text-xs / .text-s / .text-m / .text-l / .text-xl |
Font sizes |
.text-2xl / .text-3xl / .text-4xl |
Large font sizes |
Text Alignment
| Class | Purpose |
|---|---|
.text-left / .text-center / .text-right |
Text alignment |
Text Style
| Class | Purpose |
|---|---|
.bold |
Font weight bold |
.font-100 to .font-900 |
Font weights |
.italic |
Italic text |
.uppercase / .lowercase |
Text transform |
.underline |
Text decoration |
.white-space-nowrap |
No text wrap |
.line-height-xs to .line-height-xl |
Line heights |
Border Colors
| Class | Purpose |
|---|---|
.border-primary / .border-secondary / .border-tertiary |
Border colors |
.border-light / .border-dark |
Light/dark borders |
.border-success / .border-error |
Status borders |
.border |
Default border |
.border-top / .border-bottom / .border-left / .border-right |
Single-side borders |
Border Radius
| Class | Purpose |
|---|---|
.radius-xs / .radius-s / .radius-m / .radius-l / .radius-xl |
Border radius |
.radius-full |
Full circle/pill |
Shadows
| Class | Purpose |
|---|---|
.shadow-xs / .shadow-s / .shadow-m / .shadow-l / .shadow-xl |
Box shadows |
Position
| Class | Purpose |
|---|---|
.relative / .absolute / .fixed / .sticky |
Position type |
.top-0 / .right-0 / .bottom-0 / .left-0 |
Position values |
.inset-0 |
All sides 0 |
.z--1 / .z-0 / .z-1 / .z-10 / .z-100 / .z-1000 / .z-10000 |
Z-index |
Display & Visibility
| Class | Purpose |
|---|---|
.display-none / .hidden |
Hide element |
.visible |
Show element |
.opacity-0 to .opacity-100 |
Opacity (increments of 10) |
Object Fit
| Class | Purpose |
|---|---|
.fit-cover / .fit-contain / .fit-fill |
Object-fit for images |
Overflow
| Class | Purpose |
|---|---|
.overflow-hidden / .overflow-auto |
Overflow |
.overflow-x-hidden / .overflow-x-auto |
Horizontal overflow |
.overflow-y-hidden / .overflow-y-auto |
Vertical overflow |
Effects
| Class | Purpose |
|---|---|
.bg-blur-xs to .bg-blur-xl |
Backdrop blur |
.grayscale |
Grayscale filter |
.rotate-90 / .rotate-180 |
Rotation |
.transition-global |
Standard transition |
Cursor
| Class | Purpose |
|---|---|
.pointer |
Pointer cursor |
.cursor-auto |
Auto cursor |
.not-allowed |
Not-allowed cursor |
.no-pointer-events |
Disable pointer events |
Lists
| Class | Purpose |
|---|---|
.list-none |
Remove list styling |
Usage Example
{
"id": "sec001",
"name": "section",
"parent": 0,
"children": ["con001"],
"settings": {
"_cssGlobalClasses": ["padding-vertical-xl", "bg-surface"]
}
}
{
"id": "hdg001",
"name": "heading",
"parent": "con001",
"children": [],
"settings": {
"text": "Welcome",
"tag": "h1",
"_cssGlobalClasses": ["text-3xl", "text-primary", "text-center", "margin-bottom-m"]
}
}
{
"id": "btn001",
"name": "button",
"parent": "con001",
"children": [],
"settings": {
"text": "Get Started",
"_cssGlobalClasses": ["btn", "shadow-m"]
}
}
ID Generation
Element IDs must be 6-character alphanumeric strings:
function generateId() {
return Math.random().toString(36).substring(2, 8);
}
Or use patterns:
- Semantic:
sec001,hdr001,btn001,img001 - Random:
jdhuyf,hxbbms,towhmc
CSS Variables Reference (from core-framework.css)
Spacing (--space-*)
--space-4xs --space-3xs --space-2xs --space-xs --space-s
--space-m --space-l --space-xl --space-2xl --space-3xl --space-4xl
All spacing values use fluid clamp() for responsive scaling.
Typography (--text-*)
--text-xs --text-s --text-m --text-l --text-xl
--text-2xl --text-3xl --text-4xl
Colors
Brand Colors:
--primary --secondary --tertiary
Opacity Variants (5-90%):
--primary-5 ... --primary-90
--secondary-5 ... --secondary-90
--tertiary-5 ... --tertiary-90
Shade Variants:
--primary-d-1 to --primary-d-4 (darker)
--primary-l-1 to --primary-l-4 (lighter)
Neutral Colors:
--base --light --dark
--bg-body --bg-surface
--text-body --text-title
Status Colors:
--success --error
--success-5 to --success-90
--error-5 to --error-90
Grid Columns (--columns-*)
--columns-1 to --columns-12
Border Radius (--radius-*)
--radius-xs --radius-s --radius-m --radius-l --radius-xl --radius-full
Shadows (--shadow-*)
--shadow-xs --shadow-s --shadow-m --shadow-l --shadow-xl
Shadows use --shadow-primary for color.
How to Use Layouts
Copy/Paste Sections
- Copy JSON content to clipboard
- In Bricks Builder, right-click in structure panel
- Select "Paste" or use Ctrl/Cmd+V
- Elements and classes are pasted together
Import Templates
- Go to Bricks > Templates in WordPress admin
- Click Import
- Upload JSON file or paste content
- Template appears in template list
- Assign to pages via template conditions
Interactions & Animations
Bricks uses _interactions for animations and dynamic behaviors. The deprecated _animation property (pre-v1.6) should not be used.
Interaction Structure
{
"_interactions": [
{
"id": "anim01",
"trigger": "enterView",
"action": "startAnimation",
"animationType": "fadeInUp",
"animationDuration": "0.8s",
"animationDelay": "0.2s",
"runOnce": true
}
]
}
Interaction Properties
| Property | Type | Description |
|---|---|---|
id |
string | Unique identifier (6 chars) |
trigger |
string | Event that triggers the action |
action |
string | Action to perform |
animationType |
string | Animation style (for startAnimation) |
animationDuration |
string | Duration (e.g., "0.8s", "1s") |
animationDelay |
string | Delay before starting (e.g., "0", "0.2s") |
runOnce |
boolean | Run animation only once |
target |
string | Target element (for show/hide) |
templateId |
string | Target template ID (for popups) |
Triggers
| Trigger | Description |
|---|---|
enterView |
Element enters viewport (scroll) |
click |
User clicks element |
mouseover |
Mouse hovers over element |
contentLoaded |
Page content fully loaded |
Actions
| Action | Description | Used With |
|---|---|---|
startAnimation |
Play CSS animation | animationType, animationDuration, animationDelay |
show |
Show hidden element | target, templateId |
hide |
Hide visible element | target, templateId |
Animation Types
| Type | Description |
|---|---|
fadeIn |
Fade in (opacity 0 to 1) |
fadeInUp |
Fade in while moving up |
fadeInDown |
Fade in while moving down |
fadeInLeft |
Fade in while moving from left |
fadeInRight |
Fade in while moving from right |
pulse |
Pulsing/scaling effect |
Staggered Animations
Create sequential reveal effects by incrementing animationDelay:
{
"id": "card01",
"settings": {
"_interactions": [
{"id": "a1", "trigger": "enterView", "action": "startAnimation", "animationType": "fadeInUp", "animationDuration": "0.6s", "animationDelay": "0", "runOnce": true}
]
}
},
{
"id": "card02",
"settings": {
"_interactions": [
{"id": "a2", "trigger": "enterView", "action": "startAnimation", "animationType": "fadeInUp", "animationDuration": "0.6s", "animationDelay": "0.1s", "runOnce": true}
]
}
},
{
"id": "card03",
"settings": {
"_interactions": [
{"id": "a3", "trigger": "enterView", "action": "startAnimation", "animationType": "fadeInUp", "animationDuration": "0.6s", "animationDelay": "0.2s", "runOnce": true}
]
}
}
Hover Effects via Custom CSS
Use _cssCustom for hover states and transitions:
{
"id": "card01",
"settings": {
"_cssCustom": "#brxe-card01 { transition: transform 0.3s ease, box-shadow 0.3s ease; }\n#brxe-card01:hover { transform: translateY(-5px); box-shadow: var(--shadow-l); }"
}
}
Common hover patterns:
Card Lift Effect:
"_cssCustom": "#brxe-card01 { transition: all 0.3s ease; }\n#brxe-card01:hover { transform: translateY(-8px); box-shadow: var(--shadow-xl); }"
Background Color Change:
"_cssCustom": "#brxe-card01 { transition: background 0.3s ease; }\n#brxe-card01:hover { background: var(--primary-10); }"
Image Zoom:
"_cssCustom": "#brxe-imgwrap img { transition: transform 0.5s ease; }\n#brxe-imgwrap:hover img { transform: scale(1.05); }"
Border Accent:
"_cssCustom": "#brxe-card01 { transition: border-color 0.3s ease; border-left: 3px solid transparent; }\n#brxe-card01:hover { border-left-color: var(--primary); }"
Button Glow:
"_cssCustom": "#brxe-btn01 { transition: all 0.3s ease; }\n#brxe-btn01:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(0,0,0,0.2); }"
Popup Interactions
Show/hide popups with click triggers:
{
"id": "closebtn",
"settings": {
"_interactions": [
{
"id": "close01",
"trigger": "click",
"action": "hide",
"target": "popup",
"templateId": "1323"
}
]
}
}
Entrance Animation on Section
Animate entire section when scrolled into view:
{
"id": "sec001",
"name": "section",
"parent": 0,
"children": ["con001"],
"settings": {
"_cssGlobalClasses": ["padding-vertical-xl"],
"_interactions": [
{"id": "secAnim", "trigger": "enterView", "action": "startAnimation", "animationType": "fadeIn", "animationDuration": "1s", "animationDelay": "0", "runOnce": true}
]
}
}
Complete Animated Card Example
{
"id": "card01",
"name": "block",
"parent": "grid01",
"children": ["cardimg", "cardtxt"],
"settings": {
"_cssGlobalClasses": ["card", "padding-m", "radius-m"],
"_interactions": [
{"id": "cardAnim", "trigger": "enterView", "action": "startAnimation", "animationType": "fadeInUp", "animationDuration": "0.8s", "animationDelay": "0", "runOnce": true}
],
"_cssCustom": "#brxe-card01 { transition: transform 0.3s ease, box-shadow 0.3s ease; }\n#brxe-card01:hover { transform: translateY(-8px); box-shadow: var(--shadow-xl); }"
},
"label": "Feature Card"
}
Best Practices
- Use Core Framework First - Always check
core-framework.cssfor existing utility classes before creating new ones - Styling Priority - Core Framework classes → inline settings → custom CSS (in that order)
- Compose with Utilities - Combine multiple utility classes instead of creating new component classes
- Responsive Design - Always include tablet and mobile breakpoint settings for inline styles
- Semantic Labels - Use descriptive labels for elements in structure panel
- Consistent ID Patterns - Use semantic prefixes like
sec,con,hdg,btn,img - Minimize Custom CSS - Only use code elements for complex animations/interactions not covered by framework
- Version Matching - Match the
versionfield to target Bricks version - Custom Classes for Components - Only create new global classes for repeated component patterns
- Animation Performance - Use
runOnce: trueto prevent repeated animations on scroll - Stagger Delays - Increment delays by 0.1s for smooth sequential reveals
- Hover Transitions - Always include
transitionproperty before defining hover states
Examples in Repository
See templates-2026-01-12/ folder:
| File | Type | Description |
|---|---|---|
hero.json |
Section | Hero section with grid, testimonials, CTA |
home.json |
Section | Complete homepage with navbar, hero, features, testimonials, FAQ, footer |
template-header-new-2026-01-12.json |
Template | Complete header with mega menu |
template-frontpage-2026-01-12.json |
Template | Homepage content template |
template-*-archive-*.json |
Template | Archive page templates |
Key Patterns from Examples
home.json demonstrates:
- Navigation with
nav-nested,dropdown,toggleelements - Hero section with two-column layout
- Features grid with
icon-boxelements - Logo slider with
slider-nested - Testimonials carousel
- FAQ with
accordionelement - Newsletter form
- Footer with link lists
- Responsive breakpoints (
:tablet_portrait,:mobile_portrait)
Loading...
Select a file to preview
Analyzing security...
Checking scan reports and verification data.
Bill of Materials
Everything this skill can do — files, network, commands, and more.