Docs / Cards & Grids / Hover Cards

Hover Cards

A grid of interactive cards where each card has a front face and a back face that's revealed on hover (or on tap on touch devices). Use it for feature grids, team highlight tiles, service callouts, or product line showcases where the surface story is short and the detail wants room to breathe.

→ Start Here

The grid-shaping controls live here. Pick the card mode (full-screen image cards vs. standard image-over-text cards), pick the hover effect, set the column counts, and optionally turn on category filtering or a Load More / pagination control for long card lists.

Card Mode

Select Default: Full Screen

Switches the visual model of every card in the grid. Full Screen cards are large image tiles where heading + body sit on top of the image; Standard cards are smaller, with an image at the top and text beneath in a card body. Many of the controls in this group and in Style only apply to Standard mode (column count, filters, Load More, pagination, card border / shadow). The card heights and content padding for Full Screen are configured in /// Full Screen Style.

  • full_screen Full Screen (default)
  • standard Standard

Show Section Heading

Toggle Default: On Shown when: Card Mode is Standard

Controls whether the section heading area (badge h6, title h2, description p) renders above the card grid. Turn it off when the section follows a stronger heading from the row above. The heading area is hidden in Full Screen mode regardless.

Heading Alignment (Desktop)

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

Text alignment for the heading area on desktop (993px and above).

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

Heading Alignment (Mobile)

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

Heading alignment for tablet / mobile (below 992px). Set independently from desktop.

Heading Max Width

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

Caps the width of the heading block so long descriptions wrap to a readable measure even when the row is full-width. Lower to 600-700px for tighter centered headings; raise toward 1200 for wide layouts.

Hover Effect

Select Default: Fade

How the back face is revealed when a visitor hovers (or taps on touch). Fade is the safe default; Flip is the showiest but breaks down badly on Standard cards with text under the image. On touch devices, the first tap on a card flips it; the second tap (or a tap on the CTA) activates the link.

  • fade Fade (default) - back face cross-fades over front
  • slide_up Slide Up - back face slides in from the bottom edge
  • zoom Zoom - front face scales out, back face scales in
  • flip Flip - 3D Y-axis rotation reveals the back face

Cards Per Row (Desktop)

Select Default: 3 Cards Shown when: Card Mode is Standard

How many cards render per row on desktop (993px and above). In Full Screen mode the grid is fixed to a single full-width column per card by design.

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

Cards Per Row (Mobile)

Select Default: 1 Shown when: Card Mode is Standard

Mobile column count (below 992px). 1 column gives full-width readable cards; 2 columns suits compact icon-style cards.

  • 1 1 (default)
  • 2 2

Disable Hover Animations

Toggle Default: Off

Force-disables the hover/tap reveal animation. The back face still renders on hover/tap, just without transition motion. Useful for accessibility-sensitive pages or low-end device targets. Visitors with prefers-reduced-motion: reduce already get a non-animated swap automatically.

Enable Category Filter

Toggle Default: Off Shown when: Card Mode is Standard

Adds a chip-style filter bar above the grid that lets visitors narrow the cards by category. Tags come from each card's Filter Tag field (comma-separated). Best used when you have 6+ cards spanning 2-4 clear categories.

Animate Filter

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

Fades/scales cards in and out as the active filter changes. Turn off for an instant snap if you have a large grid where the staggered animation feels slow.

Filter 'All' Label

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

The label for the first chip that resets the filter (shows every card). Rename to "All Services" / "Everything" / etc. to match the page's voice.

Load Options

Select Default: None Shown when: Card Mode is Standard

How the grid handles long card lists. None renders every card at once. Load More starts with a slice of cards and reveals more in batches as the visitor clicks the button. Pagination splits the grid into numbered pages.

  • none None (default) - render every card
  • load_more Load More - button reveals additional cards in batches
  • pagination Pagination - numbered pages

Load More Settings (group)

Group Shown when: Load Options is Load More

Fine-tunes the Load More button behavior. Children:

  • btn_text Button Text (text, default: Load More)
  • cards_on_first_load Cards Shown Initially (number 1-30, default 6) - how many cards are visible on page load
  • load_num_cards Cards Per Load (number 1-12, default 3) - how many cards reveal each time the button is clicked
  • btn_style Button Style (select, default: Primary) - cta-primary, cta-secondary, cta-tertiary, cta-four, cta-five, cta-six

Pagination Settings (group)

Group Shown when: Load Options is Pagination

Children:

  • visible_cards Cards Per Page (slider 1-50, default 6) - how many cards render per page; the rest are split into numbered pages

/// Content

The actual cards plus the section heading and the scroll-in animation. The heart of this group is the repeatable Cards list, where each entry has a separate Front face and Back face.

Section Heading

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

The badge + title + description block above the card grid. Default markup is <h6> (rendered as a pill badge if Badge Styling is set to Show), <h2> for the title, and <p> for the description. Keep the h6 short (2-4 words) so the badge pill stays compact.

Fade-In Animation

Select Default: None

Triggers an IntersectionObserver-driven fade when the section scrolls into view. The fade 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.

/// Cards (repeater)

The grid is built from a repeatable list of cards. The defaults ship with 3 cards (Mission / Vision / Values) and the editor can add or remove entries freely. Each card has three top-level pieces: an optional Filter Tag, a Front group, a Back group, plus a Card Link Options group for wrapping the whole card in a link.

Filter Tag (per card)

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

Comma-separated tags assigned to this card. Each unique tag across all cards becomes a chip in the filter bar. Example: design, branding.

Front (group, per card)

What the visitor sees before hover/tap.

Background Image

Image Default: about-hover placeholder

The image that fills the front face. Responsive sizing is on; the file manager handles SRC + alt text. For Full Screen mode use a high-contrast image so overlaid text stays legible.

Tip: Use a unique filename when you replace a card image; HubSpot's CDN caches by URL, so overwriting with the same name can serve the stale image for hours.

Overlay Color

Color Default: #000000 @ 30% opacity

Solid color overlay drawn between the image and the text. Default 30% black darkens the photo so white text reads cleanly. Set opacity to 0 to disable the overlay without removing the field.

Heading

Rich text Default: <h3>Card Title</h3>

The front-face heading. Default markup is <h3>; switch to other heading tags in the rich text toolbar if the visual hierarchy demands it.

Body Text

Rich text Default: empty

Optional body copy under the front heading. Often left blank for Full Screen cards (the heading is enough) and used for short taglines on Standard cards.

Show CTA Button

Toggle Default: Off

Reveals the CTA Text + CTA Link fields below. Turn off if the whole card is meant to be the click target (use Card Link Options instead).

CTA Text

Text Default: Learn More Shown when: Show CTA Button is on

Button label rendered on the front face.

Vertical Align

Select Default: Bottom

Where the front-face content stacks vertically inside the card.

  • top Top
  • center Center
  • bottom Bottom (default)

Horizontal Align

Select Default: Left

Horizontal alignment of the front-face content.

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

Back (group, per card)

What the visitor sees on hover/tap. Same field set as Front, with slightly different defaults (back overlay is 50% black, back body text is populated by default since the back face is where the actual story lives).

Background Image

Image Default: about-hover placeholder (same image as front by default)

The image for the back face. Reuse the front image for a subtle hover or pick a different image for a stronger reveal.

Overlay Color

Color Default: #000000 @ 50% opacity

Overlay for the back face. Heavier by default than the front (50% vs 30%) so the longer body copy stays legible.

Heading

Rich text Default: <h3>Card Title</h3>

The back-face heading. Often duplicates the front heading for continuity; can be different to emphasize the reveal.

Body Text

Rich text Default: <p>Descriptive content revealed on hover. Add your message here.</p>

The detail copy that reveals on hover. This is the back face's reason to exist - 1-3 sentences is the sweet spot.

Show CTA Button

Toggle Default: Off

Reveals CTA Text + CTA Link for the back face. Pairs well with a focused back-face story ending in a single action.

CTA Text

Text Default: Learn More Shown when: Show CTA Button is on (back face)

Button label on the back face.

Vertical Align

Select Default: Bottom

Vertical stack position of the back-face content. Same options as front: top, center, bottom.

Horizontal Align

Select Default: Left

Horizontal alignment of the back-face content. Same options as front: left, center, right.

Wraps the entire card in a link so a click anywhere on the card navigates. Mutually exclusive with the per-side CTA buttons - if you turn this on, leave Show CTA Button off on both Front and Back to avoid nested-link warnings.

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. #features) and JS targeting.

CSS Class

Text Default: empty

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

Style Settings

Everything visual: card chrome, card height (per mode), hover transition speed, filter colors, pagination alignment, badge, section dividers, and the row's background/width/spacing.

/// Card Style

Visible only in Standard card mode. Controls card chrome (background, border, shadow), padding, image height, and the grid gap.

Card Background

Color Default: #ffffff @ 100% Shown when: Card Mode is Standard

Fill color of the card body (the area beneath the image where heading + text sit).

Border Radius

Slider (0-40px, step 2) Default: 12px Shown when: Card Mode is Standard

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

Card Padding

Slider (0-40px) Default: 0px Shown when: Card Mode is Standard

Inner padding around the whole card (image + text). Defaults to 0 so the image bleeds to the card edges; raise to 8-16 to inset the image.

Text Area Padding

Slider Default: 30px Shown when: Card Mode is Standard

Padding around the heading + body text area beneath the image.

Show Border

Toggle Default: On Shown when: Card Mode is Standard

Whether each card has a visible border. Turn off for a flat, borderless tile look.

Border Color

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

Card border color + opacity. The faint near-black default reads as a subtle hairline against most backgrounds.

Border Width

Number Default: 1px Shown when: Show Border is on

Border thickness in pixels.

Show Shadow

Toggle Default: On Shown when: Card Mode is Standard

Adds a soft drop shadow under each card.

Shadow Color

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

Color + opacity of the card drop shadow. Stay under 15% opacity for a tasteful render.

Card Gap

Slider Default: 20px Shown when: Card Mode is Standard

Space between cards in the grid (both row and column gap).

Image Height (Desktop)

Slider Default: 220px Shown when: Card Mode is Standard

Fixed height of the image area at the top of each Standard card on desktop. The image is rendered as object-fit: cover inside this height.

Image Height (Mobile)

Slider Default: 110px Shown when: Card Mode is Standard

Image area height on mobile. Smaller default keeps the card compact enough to scan in a vertical stack.

/// Full Screen Style

Visible only in Full Screen card mode. Controls overall card height and the padding around the overlaid content.

Card Height (Desktop)

Slider (300-800px, step 10) Default: 400px Shown when: Card Mode is Full Screen

Fixed height of each Full Screen card on desktop.

Card Height (Mobile)

Slider (200-600px, step 10) Default: 300px Shown when: Card Mode is Full Screen

Card height on mobile.

Card Content Padding

Slider (0-80px, step 2) Default: 24px Shown when: Card Mode is Full Screen

Padding around the heading/body/CTA stack overlaid on the image. Raise for bigger negative space; lower if you want the text to sit close to the card edge.

/// Hover Style

Transition Speed

Slider (0.1-1.0s, step 0.1) Default: 0.9s

Duration of the hover reveal animation in seconds. 0.3-0.5s feels snappy; 0.7-1.0s feels cinematic. Applies to all Hover Effect modes (fade, slide_up, zoom, flip).

/// Filter Style

Colors for the chip-style category filter bar. Only relevant when Enable Category Filter is on.

Filter Text Color

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

Text color of inactive filter chips.

Active Filter Text

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

Text color of the currently-selected filter chip.

Active Filter Background

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

Background pill color of the active filter chip.

/// Pagination Style

Pagination Alignment

Select Default: Center Shown when: Load Options is Pagination

Horizontal alignment of the numbered page controls beneath the grid.

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

/// Badge Style

Badge Styling

Select Default: Show

Styles the <h6> inside the section heading as a pill badge.

  • show Show (default) - render h6 as a pill
  • hide Hide - render h6 as a plain heading

Badge Background

Color Default: #ffffff @ 100% Shown when: Badge Styling = Show

Fill color of the badge pill.

Badge Border

Color Default: #e0e0e0 @ 100% Shown when: Badge Styling = Show

Border color of the badge pill.

Badge Text Color

Color Shown when: Badge Styling = Show

Text color inside the badge pill.

/// 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 top and bottom dividers share the same 9 shape options. The shape is rendered as an inline SVG matching the divider color you choose.

  • 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 Height (0-200px, default 80; matches the rest of the section spacing), Divider Color (set this to the background color of the adjacent section so the shape blends in), and Flip Horizontally (mirror the shape left-right).

/// Row Settings

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

Background

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

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 (default 1200px)

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.