Gradient Waves for GoHighLevel
A horizon of gradient water rolling toward the viewer, fading into haze at the distance. Every pixel is traced through the surface by a self-contained WebGL raymarcher, so the swells are real geometry rather than a looping picture.
- Controls
- 46
- Variants shown
- 4
- Dependencies
- None
4 ways to run it
Every one of these is the real element with different settings. Press play again to watch any of them from the start.
46 controls, grouped the way you build
- Where it paints4
- The waves18
- Texture3
- Pointer interaction5
- How it sits7
- Performance8
- In the builder1
Everything it does
- Three colours from the distance to the crest
- wave speed and travel direction
- wave height, size and crosswise stretch
- rolling swell
- choppiness
- camera tilt
- independent desktop/mobile field of view and surface detail
- water level
- haze distance
- brightness
- grain on/off, strength and scale
- pointer parallax with strength, smoothing, axis and return-to-centre
- section/row/column/custom target
- behind, above the background or over content
- edge inset
- opacity
- seven blend modes
- vignette, top, bottom and two-sided fades
- fade size
- corners
- backdrop colour and visibility
- four quality presets including custom resolution, retina and pixel-budget guards
- frame rate
- off-screen and hidden-tab pausing
- reduced-motion still or hide
- builder-only handle label
How it actually behaves
The canvas stays inside the widget and is positioned over the chosen GoHighLevel section, row, column or custom selector, which receives only one scoped class. The sky above the horizon is transparent, so the backdrop colour is what shows through it and the effect drops onto an existing section background without a seam. A deterministic SVG still ships beside the canvas as a fallback rather than an underlay: gallery thumbnails, visitors with JavaScript disabled and browsers without WebGL keep a complete horizon, and the moment WebGL is ready the still steps out of the way so the shader itself is what renders. Tracing costs more than a flat background, so the quality preset caps the march length as well as the resolution, and phones get their own field of view and detail.
How to add Gradient Waves to a GoHighLevel page
- 01
Open the element panel
In the page builder, click the + button to add a new element.
- 02
Go to Widget Marketplace
In the left menu, select Widget Marketplace.
- 03
Find Animated Elements
Locate the Animated Elements widget by Funnelslayer in the installed apps list.
- 04
Drag and drop it into the page
Drop the widget where you want it. The Web Widget Settings modal opens on the element gallery: "Select an element to start with".
- 05
Select an element and continue
Choose an element (Animated Counter, Typing Animation, and more), then click Continue. Search by name or by what it does, or use the category rail on the left to narrow the list. You can switch elements later without losing your settings.
- 06
Customize it
Use the element's settings to customize everything to match your brand. The live preview updates as you go, with separate desktop and mobile views.
Common questions
- Does the animated background show up as an empty block on my page?
- No. On a published page the widget root has no height and renders nothing for visitors, so only the background itself is visible. Inside the builder it shows a small labelled pill so the element stays selectable.
- Will a canvas background hurt performance?
- It pauses when scrolled past and pauses in background tabs, and it can render a coarser grid on phones. You can also set the re-roll rate to zero for a completely static pattern that still fades and blends.
- Why does it cover the section instead of being placed inside it?
- GoHighLevel owns the section subtree and re-renders it when a foreign node appears, which would break every other animated element in the same section. The canvas therefore ships inside the widget’s own markup and is positioned over the target rather than inserted into it.
Flickering Grid
A grid of squares that flicker behind your section. Drop it anywhere inside the section and it paints the section itself. The widget stays invisible on the live page. Targets a section, row, column or any class you name.
Animated Grid Pattern
Crisp SVG grid lines with seeded cells that softly pulse, relocate and repeat across a section, row, column or custom target. Includes independent mobile density, masks, blending and performance controls.
Background Beams
Beams of light travelling along a fan of curved rails across your section. Drop it anywhere inside the section and it paints the section itself. The widget stays invisible on the live page. Targets a section, row, column or any class you name.
Molten Metal
Liquid metallic caustics flowing behind a section, row or column with three-color lighting, grain and pointer-reactive distortion.