Docs / Cards & Grids / Smart Cards

Smart Cards

A flexible card grid with three modes: Expandable Cards that open a modal on click, Standard Cards that show rich text directly on the tile, and Video Cards that launch a lightbox. Use it for case study libraries, team bios, video resource hubs, or any grid of clickable content.

→ Start Here

The most-used controls for shaping the cards grid: heading toggle, card mode, load behavior, heading alignment + max width, optional category filter, and how many cards per row on desktop and mobile.

Show Section Heading

Toggle Default: On

Controls whether the heading area (badge h6, title h2, description p) renders above the cards. Turn off when the heading is already supplied by a row above and you want the grid to read as a continuation.

Card Mode

Select Default: Expandable Cards

The core behavior switch. The card mode you pick decides which Cards repeater (and which style sub-groups) the editor sees.

  • expandable Expandable Cards (default) - click a card to open a modal with full content
  • standard Standard Cards - card content (image + rich text) renders directly, with an optional link target per card
  • video Video Cards - thumbnail with a play button overlay; opens a lightbox with a YouTube/Vimeo/MP4 video

Load Options

Select Default: Load More Button

How to handle long card lists. Pick "None" if you only have a handful of cards and want them all visible.

  • none None (Show All) - render every card
  • load_more Load More Button (default) - reveal the Load More Settings sub-group
  • pagination Pagination - reveal the Pagination Settings sub-group

Load More Settings

Group Shown when: Load Options is Load More Button

Sub-fields for the load-more behavior:

Button Text

Text Default: Load More

Label rendered inside the load-more CTA. Keep it short (2-3 words).

Cards Shown Initially

Number (1-30) Default: 3

How many cards are visible on first paint before the visitor clicks Load More.

Cards Per Load

Number (1-12) Default: 3

How many additional cards are revealed each time the Load More button is clicked.

Button Style

Select Default: Primary

Picks which theme CTA class is applied to the Load More button. Colors are controlled in Theme Settings > CTA.

  • cta-primary Primary (default)
  • cta-secondary Secondary
  • cta-tertiary Tertiary
  • cta-four Four
  • cta-five Five
  • cta-six Six

Pagination Settings

Group Shown when: Load Options is Pagination

Sub-field for the pagination behavior:

Cards Per Page

Slider (1-50) Default: 6

How many cards are visible per pagination page. The pagination numbers and Prev/Next controls are styled separately under Style Settings > Pagination Style.

Heading Alignment (Desktop)

Select Default: Center Shown when: Show Section Heading is on

Horizontal alignment of the heading area on desktop (993px and above).

  • left Left-aligned
  • center Centered (default)
  • right Right-aligned

Heading Alignment (Tablet/Mobile)

Select Default: Center Shown when: Show Section Heading is on

Text alignment for the heading area on tablet and mobile (below 992px). Set independently from desktop so editors can keep desktop left-aligned while centering on phones.

Heading Max Width (Desktop, px)

Number (0-1920) Default: 900 Shown when: Show Section Heading is on

Caps the heading area's width on desktop so long descriptions wrap into a readable measure. Set to 0 for full width.

Enable Category Filter

Toggle Default: Off

Renders a row of filter buttons above the grid so visitors can sort cards by category tags. When on, every card repeater exposes a Filter Tags field, and a Filter Style group appears under Style Settings.

Animate Filter Transitions

Toggle Default: On Shown when: Enable Category Filter is on

Adds a smooth fade transition between filter states. Turn off if you want the grid to snap instantly.

"Show All" Label

Text Default: Show All Shown when: Enable Category Filter is on

The label for the catch-all filter button that resets the grid to show every card. Localize as needed.

Cards Per Row (Desktop)

Select Default: 3 Cards

How many cards sit side by side on desktop (993px and above).

  • 2 2 Cards
  • 3 3 Cards (default)
  • 4 4 Cards

Cards Per Row (Mobile)

Select Default: 1

Cards per row on mobile. Default is 1 because card titles + descriptions need room to breathe on small screens.

  • 1 1 (default)
  • 2 2

/// Content

The actual section heading and the cards repeater. Which repeater is editable depends on the Card Mode selected in Start Here.

Section Heading

Rich text Default: blox Theme / Smart Cards Module / one-line description Shown when: Show Section Heading is on

The badge + title + description block above the grid. Markup is <h6> (renders as a pill badge when Badge Style is on), <h2> for the title, and <p> for the description. Keep the h6 to 2-4 words so the badge stays compact.

Cards (Expandable Mode)

Repeater Default: 6 cards Shown when: Card Mode is Expandable Cards

Repeater for Expandable Cards. Each card renders an image, title, and short description on the tile face; clicking opens a modal containing the Expanded Content rich text. Sub-fields per card:

Card Image

Image Default: empty (placeholder URL set in repeater defaults)

The card thumbnail. Responsive sizing is on. If left empty, the fallback background color from Card Style is shown instead.

Tip: Use a unique filename when you replace this image. HubSpot's CDN caches by URL, so overwriting a file with the same name can leave visitors seeing the stale image for hours.

Card Title

Text Default: Card Title

Title displayed on the card face and reused as the heading inside the expanded modal. Plain text only (no rich text).

Card Description

Text Default: A brief description of this card

Short description shown below the title on the card face. Keep it to one or two lines for a balanced grid.

Expanded Content

Rich text Default: short placeholder paragraph

The full content rendered inside the expanded modal: headings, paragraphs, lists, links, and CTAs all supported.

Filter Tags

Text Default: empty Shown when: Enable Category Filter is on

Comma-separated tags used by the filter buttons (e.g. design, development). Keep spelling and case consistent across cards or the filter will treat them as separate categories.

Cards (Standard Mode)

Repeater Default: 6 cards Shown when: Card Mode is Standard Cards

Repeater for Standard Cards. Each card shows an image plus a rich text block right on the tile, with an optional link target so the whole card can act as a CTA. Sub-fields per card:

Card Image

Image Default: empty (placeholder URL set in repeater defaults)

Card thumbnail. Leave empty to render a text-only card on the fallback background color.

Card Content

Rich text Default: h3 title plus a paragraph

Rich text block for the card body. Use a heading element inside the rich text since there is no separate title field in this mode. If Link Card To is set, do NOT put a link or CTA inside the rich text - the whole card becomes the link.

Filter Tags

Text Default: empty Shown when: Enable Category Filter is on

Comma-separated tags used by the filter buttons. Match spelling and case to other cards in the same category.

Video Cards (Video Mode)

Repeater Default: 6 cards Shown when: Card Mode is Video Cards

Repeater for Video Cards. Each card shows a thumbnail with a play button overlay; clicking opens a lightbox that plays the video. Sub-fields per card:

Thumbnail Image

Image Default: empty (placeholder URL set in repeater defaults)

Thumbnail for the video card. The play button overlay (styled via Play Button Style) is layered on top of this image.

Card Content

Rich text Default: h4 title plus a paragraph

Rich text shown beneath the thumbnail. Use a heading element since there is no separate title field.

Video Source

Select Default: External URL (YouTube, Vimeo, etc.)

Where the video lives. Drives which of the next two fields is editable.

  • url External URL (default) - reveals Video URL text field
  • hubspot HubSpot Video - reveals HubSpot Video picker

Video URL

Text Default: empty Shown when: Video Source is External URL

Paste a YouTube link (youtube.com/watch?v=...), a Vimeo link (vimeo.com/...), or a direct video file URL (.mp4, .webm). The lightbox handles embed conversion automatically.

HubSpot Video

Video Player Shown when: Video Source is HubSpot Video

Pick a video already uploaded to your HubSpot File Manager. Uses HubSpot's native video player inside the lightbox.

Filter Tags

Text Default: empty Shown when: Enable Category Filter is on

Comma-separated tags (e.g. tutorials, demos). Match spelling and case to other cards.

Fade-In Animation

Select Default: None

Triggers an IntersectionObserver-driven fade as the section scrolls into view. The animation adds a 30px slide from the chosen direction plus opacity.

  • none No animation (default)
  • bottom Fade Up (slides up from below)
  • top Fade Down (slides down from above)
  • left Fade from Left
  • right Fade from Right
  • fade Fade Only (no slide)

Reduced motion: When a visitor has prefers-reduced-motion: reduce, the animation is skipped and the section renders fully visible.

Custom ID & Classes (code)

Developer hooks for adding custom CSS or JS targeting. Leave blank for most pages.

CSS ID

Text Default: empty

Sets an id="..." on the section element. Must be unique on the page. Useful for anchor links (e.g. #case-studies) and JS targeting.

CSS Class

Text Default: empty

Additional classes (space-separated) appended to the section element's class list. Useful when applying page-specific overrides via the page's custom CSS.

Style Settings

Everything visual: badge, optional filter bar, the card itself, the video play button overlay, the modal, pagination chrome, section dividers, and the row's background/width/spacing.

/// Badge Style

Show Badge Styling

Toggle Default: On

Styles the <h6> inside the section heading as a pill badge. Badge colors come from Theme Settings > Badge.

Badge Style

Select Default: Primary Shown when: Show Badge Styling is on

Picks the badge tier. Colors are configured in Theme Settings > Badge.

  • badge-primary Primary (default)
  • badge-secondary Secondary
  • badge-three Three
  • badge-four Four
  • badge-five Five
  • badge-six Six

/// Filter Style

Only appears in the editor when Enable Category Filter is on under Start Here.

Filter Alignment

Select Default: Center Shown when: Enable Category Filter is on

Horizontal alignment of the filter button row.

  • left Left
  • center Center (default)
  • right Right

Filter Text Color

Color Default: #1a1a1a Shown when: Enable Category Filter is on

Text color of inactive filter buttons.

Active Filter Color

Color Default: #1a1a1a Shown when: Enable Category Filter is on

Text color of the currently selected filter.

Active Filter Background

Color Default: #f5f5f5 Shown when: Enable Category Filter is on

Background color of the currently selected filter pill.

/// Card Style

Controls the card shell: background, border, shadow, corner radius, padding, image area height, and the colors used on Expandable cards specifically.

Card Background Color

Color Default: #ffffff

Fill color of the card panel itself. Pair with low-opacity border + shadow for a subtle floating tile.

Card Title Color

Color Default: #1a1a1a Shown when: Card Mode is Expandable Cards

Title color on the Expandable card face. Standard and Video modes use the rich text color from inside the editor instead.

Card Description Color

Color Default: #6b7280 Shown when: Card Mode is Expandable Cards

Description text color on the Expandable card face.

Expand Button Icon Color

Color Default: #1a1a1a Shown when: Card Mode is Expandable Cards

Color of the plus/expand icon glyph on the Expandable card face.

Expand Button Circle Color

Color Default: #726e9a Shown when: Card Mode is Expandable Cards

Border color of the circular ring around the expand icon.

Corner Radius

Slider (0-40px) Default: 12px

Rounded corners on the card. 12px matches the theme's default tile rounding; 0 for hard corners.

Card Padding

Slider (0-40px) Default: 0px

Outer padding inside the card shell. 0 lets the image bleed to the edges of the card; raise it for an inset image with a card-color frame.

Card Text Padding

Slider (0-60px) Default: 30px

Padding around the text block inside the card (below the image). Independent from Card Padding so the image can bleed while the text still gets breathing room.

Add Border

Toggle Default: On

Master switch for the card border. Reveals Border Color and Border Width when on.

Border Color

Color Default: #231f20 @ 8% opacity Shown when: Add Border is on

Stroke color of the card border. Keep opacity low (5-10%) for a tasteful hairline.

Border Width (px)

Slider (1-5px) Default: 1px Shown when: Add Border is on

Stroke thickness of the card border.

Add Shadow

Toggle Default: On

Master switch for the card drop shadow. Reveals Shadow Color when on.

Shadow Color

Color Default: #000000 @ 5% opacity Shown when: Add Shadow is on

Color and opacity of the card shadow. Stay under 15% opacity to keep the grid feeling light.

Fallback Background

Color Default: #E5E7EB

Background color shown in the image area when a card has no uploaded image. Useful as a placeholder while content is being prepared.

Card Image Height

Slider (120-500px) Default: 220px

Fixed height of the card image area on desktop. The image is rendered with object-fit: cover inside this box so different aspect ratios still align in a uniform grid.

Card Image Height (Mobile)

Slider (80-300px) Default: 110px

Image area height on mobile. Default is shorter than desktop so the card stays compact on small screens.

/// Play Button Style

Only appears in the editor when Card Mode is Video Cards. Controls the play button overlay layered on top of video thumbnails.

Button Size

Slider (36-96px) Default: 64px Shown when: Card Mode is Video Cards

Diameter of the play button circle in pixels.

Button Background

Color Default: #000000 @ 20% opacity Shown when: Card Mode is Video Cards

Fill color and opacity of the play button circle in its resting state.

Button Background (Hover)

Color Default: #000000 @ 30% opacity Shown when: Card Mode is Video Cards

Fill color and opacity when the visitor hovers the thumbnail.

Icon Color

Color Default: #ffffff Shown when: Card Mode is Video Cards

Color of the triangular play glyph inside the button.

Backdrop Blur

Slider (0-20px) Default: 8px Shown when: Card Mode is Video Cards

Frosted-glass blur behind the button (uses backdrop-filter). Set to 0 to disable the effect; works best when the button background has some transparency.

Only appears in the editor when Card Mode is Expandable Cards. Controls the lightbox that opens when a card is clicked.

Show Image in Modal

Toggle Default: On Shown when: Card Mode is Expandable Cards

Re-renders the card image at the top of the modal. Turn off if the image is purely decorative on the tile and the expanded view should focus on copy.

Close Button Color

Color Default: #333333 Shown when: Card Mode is Expandable Cards

Color of the X icon in the top-right of the modal.

/// Pagination Style

Only appears in the editor when Load Options is set to Pagination. Styles the page number chips and prev/next arrows.

Number Color

Color Default: #000000 Shown when: Load Options is Pagination

Text color of page number chips in their resting state.

Number Color (Hover)

Color Default: #FFFFFF Shown when: Load Options is Pagination

Text color when hovering a page number chip.

Number Color (Active)

Color Default: #FFFFFF Shown when: Load Options is Pagination

Text color of the currently selected page number chip.

Number Background

Color Default: #FAFAFA Shown when: Load Options is Pagination

Fill color of page number chips in their resting state.

Number Background (Hover)

Color Default: #000000 Shown when: Load Options is Pagination

Fill color when hovering a page number chip.

Number Background (Active)

Color Default: #374151 Shown when: Load Options is Pagination

Fill color of the currently selected page number chip.

Number Font Size

Slider (12-24px) Default: 16px Shown when: Load Options is Pagination

Font size of the page numbers inside each chip.

Number Border Radius

Number (0-50px) Default: 12px Shown when: Load Options is Pagination

Rounded corners on each page number chip. Set to a value larger than the chip's half-height for fully circular chips.

Pagination Alignment

Select Default: Center Shown when: Load Options is Pagination

Horizontal alignment of the pagination row.

  • left Left
  • center Center (default)
  • right Right

/// Section Dividers

Decorative SVG shapes that sit at the top or bottom of the section, useful for blending into the section above or below.

Top Divider / Bottom Divider

Select Default: None

Both the top and bottom dividers share the same 9 shape options. Each shape is rendered as an inline SVG matching the divider color you pick.

  • none No divider (default)
  • wave-1 Wave 1 (Gentle)
  • wave-2 Wave 2 (Sharp)
  • wave-3 Wave 3 (Multi)
  • wave-4 Wave 4 (Smooth)
  • wave-5 Wave 5 (Layered)
  • tilt Tilt (Angled)
  • curve Curve (Arc)
  • triangle Triangle

Each divider also exposes: Divider Color (set this to the background color of the adjacent section), Divider Height (20-200px, default 60), Angle Height (for the tilt divider only, 0-300px, default 100), Flip Divider (mirror horizontally), and for the bottom divider only: Divider Under Content (puts the divider behind content so buttons stay clickable).

/// Row Settings

The section's wrapping row controls: background (color, gradient, image), content width, and per-breakpoint padding.

Background (Image, Video, Color, etc.)

Group Default: None

The Background Type dropdown drives which sub-controls appear:

  • none No background (default; section inherits the page bg)
  • color Solid Color - reveals Background Color picker
  • gradient Gradient - reveals Top Color, Bottom Color, and 8 direction options
  • image Image - reveals Background Image, Size (cover/contain/original), Position (9-point), Overlay toggle, Overlay Color, Blur toggle, Blur amount

Note: The "Background" group is labeled "Image, Video, Color, etc." in the editor but the current build does not include a video background option - the Background Type select only exposes none/color/gradient/image.

Size (Content Width)

Group Default: Standard
  • standard Standard (uses theme's standard container width, set in Theme Settings > Layout)
  • slim Slim (narrower variant, also set in Theme Settings)
  • custom Custom - reveals a Container Width number input (600-1920px, default 1200)

Spacing (Around Content)

Group (per breakpoint)

Padding controls for the row, set independently for desktop, tablet, and mobile. Each breakpoint exposes a top/bottom/left/right spacing input. Defaults:

  • desktop 100px top, 100px bottom, 0 left, 0 right
  • tablet 60px top, 60px bottom, 0 left, 0 right
  • mobile 40px top, 40px bottom, 15px left, 15px right