Skip to main content

CTA · Wave strips

A centered title, text and two buttons between two strips of square photos that move on without end; each photo rises and falls a little after the one before, so the strip draws a wave.

CTA · Wave strips

Full-page views: desktop, phone and dark mode

CTA · Wave strips, desktop at 1440px wide

At 1440px wide.

CTA · Wave strips, on a phone at 390px wide

At 390px wide.

CTA · Wave strips, with the site in dark mode

With your site in dark mode.

See it live: CTA · Wave strips on fancybricks.co — the live preview, and the button that copies it.

In the builder

Preview on the front end. Scripts don't run inside the builder, so here you only see the layout: the strips don't move or wave here: the builder shows them as still rows (the script runs on the front end). Save and open the page to see the full result.

Structure​

This is what the Bricks Structure panel shows after you paste the template. Component instances say which component they are.

CTA wave
Brand slot (decorative, empty)
Container
Wave CTA
Strip · Top
Strip · Top (FBK Marquee)
Strip · Top photos (decorative)
Intro (FBK Intro)
Button · Primary (FBK Button)
Button · Secondary (FBK Button)
Strip · Bottom
Strip · Bottom (FBK Marquee)
Strip · Bottom photos (decorative)
Wave · Script (needs Execute code)

The template also pastes a dashed note above the section, with the short version of this page. It only shows inside the builder, never on the published page — see Builder notes.

How to adjust​

Every step is the same move: pick the element in the Structure panel, change its Properties.

Where are those panels?

How to adjust a template shows every one of them in a screenshot of the real builder: the Structure and Properties panels, the classes on an element, a component's style families and the field where a CSS variable goes.

The classes this element carries, in the Bricks panel.

The classes this element carries, in the Bricks panel.

This template's own component, with its Style group open.

This template's own component, with its Style group open.

  1. Paste the template in Bricks first — see Copy and paste.
  2. Select Strip · Top, Strip · Bottom (FBK Marquee) › Properties: Motion group: Direction, Height (up and down), Speed, Hide pause button · Style group: Items, Logos, Gap, Edges.
  3. Select Intro (FBK Intro) › Properties: Eyebrow, Hide eyebrow, Title, Title level, Lead, Hide lead · Style group: Eyebrow style, Highlight, Title size, Accent line · Layout group: Alignment, Layout, Background, Spacing · Motion group: Reveal in slider.
  4. Select Button · Primary, Button · Secondary (FBK Button) › Properties: Text, Link, Tone, Shadow on hover · Icon group: Icon, Icon position · Style group: Style, Size, Width, Hover effect.
  5. Select Strip · Top photos (decorative), Strip · Bottom photos (decorative) › Content › Items: pick your photos in the media library.
  6. Spacing, sizes, color and timing with no property of their own: the CSS variables below.

CSS variables​

These are the only values in the template meant to be changed by hand. Copy the block, paste it, edit the numbers.

The Custom CSS field of this template's own element, with one of its variables as a real example.

The Custom CSS field of this template's own element, with one of its variables as a real example.

/* «Wave CTA» · class .fbk-ctawave */
.fbk-ctawave {
/* Photo size, wave height (share of the photo) and the time of one wave */
--fbk-t-photo: 6.5em;
--fbk-t-wave-amp: 35%;
--fbk-t-wave-time: 6s;
}

Paste the block in the element's Style → CSS field (the selector is already in it), or set the same variables on the class itself to change every copy at once. The values are your framework's variables, so they follow your site: Choosing a framework.

Requirements​

  • Code execution. Needs "Execute code" enabled for the role in Bricks → Settings → Custom code, or the JS block shows as plain text instead of running.

What each requirement is, and how to set it up once for the whole site: Requirements.

Finish by hand​

  • The photos of each strip are one Image Gallery element in the Items slot of its FBK Marquee (Strip · Top photos, Strip · Bottom photos): pick as many as you like in its Images field, all at once from the media library (decoration: the gallery is hidden from screen readers). Speed and direction are in each strip's properties (group Motion).
  • The wave is optional: remove the class fbk-ctawave--wave from the Wave CTA block and the photos only move along. Photo size, wave height and timing: --fbk-t-photo, --fbk-t-wave-amp and --fbk-t-wave-time in .fbk-ctawave; the wave keyframes are in its Custom CSS.
  • Any number of photos works: a script gives each photo its place in the wave (about one wave every five photos), and it joins up where the strip repeats. As in the original, the wave stands still while the photos travel through it (its timing follows the strip's Speed; --fbk-t-wave-time is only used without the script), and the bottom strip mirrors the top one, so both draw rounded shapes around the text. Keep both strips moving the same way at the same speed for that.
  • The strips need "Execute code" enabled for the role; without it they show as still rows. One pause button stops both strips and the wave (data-fbk-marquee-scope on Wave CTA); it is required for moving content longer than 5 seconds.
  • Button hover: the fill that sweeps in is the Effect property of each FBK Button (Sweep, class .fbk-btn--sweep); set it to None for a plain color change.

On phones​

The template is designed desktop first, the Bricks default, and only changes at the two widths the library uses:

  • 991px and below — .fbk-intro.
  • 767px and below — .fbk-ctawave, .fbk-section.

Those changes live in Bricks' own breakpoint fields, so you edit them where you always do: pick the breakpoint in the toolbar and the same fields follow.

Careful with the classes shared by the whole library (fbk-section, fbk-intro, the component classes): a change there shows up in every template that uses them.

If your site's breakpoints are set up mobile first, copy the mobile-first variant of the template instead — see Copy and paste.

Accessibility​

In this template, keyboard focus is visible on every interactive piece; movement is cut back when the visitor's system asks for less motion; the state screen readers need is already set (aria-hidden, aria-label).

What is checked on every template, and what depends on your own palette: Accessibility.

Dark mode​

With your site in dark mode this section turns dark too — the class fbk-section--auto-dark on the section does it. Remove the class to keep it light.

Its background is a modifier on the section, so you can swap it for any of the ones the template is checked with: fbk-section--light, fbk-section--soft, fbk-section--dark.

How the library follows your site's color scheme: Dark mode and preview.

Replaces​

  • Fancy Wave Section from Fancy Bricks 2.0

What happened to the old libraries, and what to do with pages already built with them: Migrating from 1.0/2.0.