Show Section Heading
Controls whether the section heading area (badge h6, title h2, description p) appears above the timeline. Turn it off when the timeline directly follows a stronger heading and you want it to read as a continuation.
Docs / Content Layouts / Horizontal Timeline
A side-scrolling row of dated milestones with a progress line and clickable dots that swap a content panel below the timeline. Use it for company history, product roadmaps, multi-step processes, or project phases where the reader benefits from advancing one step at a time.
The high-level controls that set the shape of the timeline before you touch individual milestones: whether the heading shows, where the heading aligns, whether each step's content panel is image+text or text-only, and which side the image sits on.
Controls whether the section heading area (badge h6, title h2, description p) appears above the timeline. Turn it off when the timeline directly follows a stronger heading and you want it to read as a continuation.
Text alignment for the heading area on desktop (993px and above).
left Leftcenter Center (default)right RightText alignment for the heading area on mobile (below 768px). Set independently from desktop so editors can center on phones while keeping desktop left-aligned.
How each milestone renders its details below the dot row. Image + Text matches the Image & Text module: an image paired with the rich-text body. Text Only renders the rich-text body inside a bordered card with no image.
image_text Image + Text (default)text_only Text OnlyWhich side of the content panel the image appears on. The rich text takes the other side.
right Image right, text left (default)left Image left, text rightCaps the width of the heading block. Useful for keeping long descriptions readable on wide screens. Set to 0 for no cap.
The section heading and the timeline's milestones. The Timeline Items repeater holds 1-6 steps; each step controls its own labels, content, icon, image, and per-step colors.
The badge + title + description block above the timeline. The default markup is <h6> (rendered as a pill badge when Badge Style is on), <h2> for the title, and <p> for the description. Keep the h6 short (2-4 words) so the badge stays compact.
The list of milestones rendered on the timeline. Editors can add up to 6 steps. Each step exposes its own labels, rich text, icon, image, and color overrides. The selected dot scales up with a subtle glow and the progress line fills proportionally to the active step. Visitors advance with the prev/next arrows or by clicking any dot.
Shows the smaller label above the dot row for this step (typically the step number, year, or date).
Shows the larger label below the dot row for this step (typically the milestone title).
The text that sits above the dot. Use for short context: "Step 1", "2019", "Q1", "Phase A".
The text that sits below the dot. Use for the milestone name itself: "Discovery", "Launch", "Series A".
The body for the content panel that renders below the dot row when this step is selected. Supports headings, paragraphs, lists, links, and CTA buttons. Use the theme's CTA classes (cta-primary, cta-secondary, cta-tertiary) on inline links to render them as styled buttons.
The icon rendered inside the dot. Only used when Dot Style (under Style Settings) is set to Icon. Defaults rotate per step in the placeholder data (magnifying-glass, pen-ruler, hammer, rocket) to signal the icon swaps per milestone.
The image for the content panel when this step is active. Responsive sizing is on by default. Upload a 1200×800 (or larger) image so the panel can scale without softness.
Tip: Use a unique filename when you replace this image; HubSpot's CDN caches by URL, so overwriting with the same name can leave visitors seeing the stale image for hours.
The fill color of this step's dot when it is the active step.
The fill color of this step's dot when it is not active. Set on a per-step basis so editors can hint at progress or completion state with color.
Border color of the content card when the layout is Text Only. Ignored in Image + Text mode.
Background fill of the content card when the layout is Text Only. Ignored in Image + Text mode.
Developer hooks for adding custom CSS or JS targeting. Leave blank for most pages.
Sets an id="..." on the section element. Must be unique on the page. Useful for anchor links (e.g. #our-story) and JS targeting.
Additional classes (space-separated) appended to the section element's class list. Useful when applying page-specific overrides via the page's custom CSS.
Everything visual: the inner container chrome, the dot row, the progress line and labels, the badge styling for the heading, section dividers, and the row's background/width/spacing.
Background, border, shadow, padding, and corner radius for the inner timeline container that wraps both the dot row and the content panel.
Fill color of the inner timeline container.
Rounded corners on the container. 12px matches the theme's default tile rounding.
Inner padding on all sides of the container on desktop.
Inner padding on all sides of the container on mobile. Lower than desktop so the container does not crowd the viewport edges.
Adds a border around the container. Reveals the border color + width controls.
Border color. The 8% opacity default gives a hairline look that does not compete with the content.
Thickness of the container border.
Adds a soft drop shadow under the container. Helps the container lift off the row background.
The color + opacity of the drop shadow. Stay under 15% opacity for tasteful shadow.
How the dots on the timeline look: their size, their visual treatment (icon / dashed ring / solid fill), and a mobile alignment offset.
Diameter of the timeline dots in pixels. Mobile dots automatically scale to 80% of this value so they do not dominate a small screen.
Sets the visual treatment for every dot on the timeline.
icon Icon (default) - dot is filled and shows the per-step Dot Icondashed Dashed (ringed) - dot is rendered as a dashed ringsolid Solid - dot is a solid filled circle with no iconColor of the FontAwesome glyph inside the dot.
Sizes the icon as a percentage of the dot diameter so the glyph stays proportional when Dot Size changes.
Fine-tunes horizontal alignment of dots over the vertical timeline line on mobile (positive shifts right, negative shifts left). Use small adjustments to fix sub-pixel drift caused by custom container padding.
Colors for the progress line, the inactive line track, and the labels above and below the dots. Also the border radius for the content panel in Text Only mode.
Color of the filled portion of the timeline line (the section from the start through the active dot).
Color of the unfilled portion of the timeline line (the section from the active dot to the end).
Text color for the top label of every step.
Text color for the bottom label of every step.
Rounded corners on the content card. Only applies in Text Only mode; in Image + Text mode the panel inherits its image styling.
Styles the <h6> inside the section heading as a pill badge instead of a plain heading. Turn off to leave the h6 as raw heading text.
Fill color of the pill badge.
Border color of the pill badge.
Text color inside the pill badge.
Decorative SVG shapes at the top or bottom of the section, useful for blending into the section above or below.
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 TriangleEach 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), and Flip Divider (mirror horizontally).
The section's wrapping row controls: background (color, gradient, image), content width, and per-breakpoint padding.
The Background Type dropdown drives which sub-controls appear:
none No background (default; section inherits the page bg)color Solid Color - reveals Background Color pickergradient Gradient - reveals Top Color, Bottom Color, and 8 direction optionsimage Image - reveals Background Image, Size (cover/contain/original), Position (5-point), Overlay toggle, Overlay Color, Blur toggle, Blur amountNote: The 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.
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 Custom Width number input (600-1920px, default 1200)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 righttablet 60px top, 60px bottom, 0 left, 0 rightmobile 40px top, 40px bottom, 15px left, 15px right