Docs / Structural / Header

Header

The global site header. Unlike the drag-and-drop content modules, Header is a structural theme component that renders on every blox-skinned page: top hat (utility bar), logo, primary navigation with multi-column dropdowns, CTAs, search, sticky scroll behavior, and the mobile slide-out drawer. Configure it once in your theme settings and it propagates site-wide.

→ Start Here

The most-used global header toggles: top hat, navigation alignment, logo visibility + sizing per state (default / sticky / mobile), CTA setup, search, sticky behavior, and the mobile drawer social block. Configure these first and most of the header is wired up before you touch any styling.

Enable Top Header

Toggle Default: Off

Shows a utility bar above the main header for legal / contact links and social icons. Turn on for sites that want a "top hat" with quick links to Privacy, Terms, Contact, etc.

Top Header Links Alignment

Select Default: Left Shown when: Enable Top Header is on

Horizontal alignment of the link list inside the top header bar.

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

Show Link Separators

Toggle Default: On Shown when: Enable Top Header is on

Renders a vertical pipe between each top header link. Turn off for a sparser look with whitespace as the separator.

Show Social Icons in Top Header

Toggle Default: On Shown when: Enable Top Header is on

Displays social media icons on the right side of the top header bar. Icon URLs are sourced from the Social Links group in Content.

Show Top Header on Mobile

Toggle Default: Off Shown when: Enable Top Header is on

The top header bar is hidden on mobile by default to save screen real estate. Turn this on if your top hat links are critical (e.g. multi-region site selector) and need to stay visible below 992px.

Logo Max Height

Slider (20-80px) Default: 40px Shown when: Show Logo is on

Maximum rendered height for the default-state logo. The image scales width proportionally; SVG logos render crisp at any height.

Sticky Logo Max Height

Slider (16-60px) Default: 40px Shown when: Enable Sticky is on

Logo height once the header is in sticky mode. Often set 4-8px smaller than the default height for a subtle "shrink-on-scroll" effect.

Mobile Logo Max Height

Slider (16-60px) Default: 32px Shown when: Show Logo is on

Logo height on mobile devices. Smaller than the desktop default so the header bar stays compact on phones.

Show CTA

Toggle Default: On

Master switch for the CTA button(s) on the right side of the header. Off removes both buttons and the CTA-related controls below.

Number of CTAs

Select Default: 2 Shown when: Show CTA is on

Render one or two header CTAs. Two CTAs gives you a primary + secondary pairing (e.g. "Get Started" + "Log In"); one is cleaner for marketing sites with a single conversion goal.

  • 1 One CTA button
  • 2 Two CTA buttons (default)

CTA Mode

Select Default: Custom Shown when: Show CTA is on

Pick whether the buttons are sourced from HubSpot's native CTA library (analytics-tracked CTAs from CRM) or built as custom buttons with theme styling. Choosing this here determines which CTA fields appear in the Content tab.

  • hubspot HubSpot CTA (use a HubSpot-managed CTA)
  • custom Custom (default; label + link + theme button style)

CTA Top/Bottom Padding

Slider (0-30px) Default: 10px Shown when: Show CTA is on

Overrides the theme's default CTA vertical padding for buttons inside this header. Lets you tighten or fatten the buttons without forking the theme's button styles.

Search Placeholder

Text Default: Search... Shown when: Enable Search is on

Placeholder text shown inside the empty search input. Localize this per language variant of the site.

Search These

Checkbox (multi-select) Default: Website Pages + Blog Posts Shown when: Enable Search is on

Which HubSpot content types are queried by the typeahead. Toggle landing pages on for lead-gen sites; leave off if you don't want sales pages mixed into organic search results.

  • web Website Pages
  • lp Landing Pages
  • blog Blog Posts

Enable Sticky

Toggle Default: On

Pins the header to the top of the viewport once the user scrolls past it. Sticky mode is what triggers the sticky logo swap, sticky padding, sticky shadow, and sticky background color (configured in the Style group).

Show Social Icons

Toggle Default: On

Shows social media icons inside the mobile drawer (below the nav links). URLs come from the Social Links group in Content. Turn off for a tighter drawer that's nav + CTA only.

Social Icon Size

Slider (16-48px) Default: 20px Shown when: Show Social Icons is on

Pixel size of each social icon inside the mobile drawer. Larger values give the social row more visual weight.

/// Content

The actual content the header renders: top hat links, the logo image(s), the navigation menu (HubSpot menu or custom items with icons + dropdowns), the CTA buttons, and the social URL list.

/// Top Header

Sub-group for the utility bar above the main header. Only renders when Enable Top Header is on.

Logo source images. The default logo always shows; sticky and mobile logos only render when the matching toggles in Start Here are on.

Logo Image

Image Default: blox-logo-black.svg (140×40)

The default-state logo. SVG is preferred for crisp rendering at any header height; PNG works if you don't have vector source. Keep the file under 30KB for a fast first paint.

Sticky Logo Image

Image Default: empty Shown when: Use Different Logo for Sticky is on

The logo image to swap in once the header enters sticky mode. Leave empty to fall back to the default logo.

Mobile Logo Image

Image Default: empty Shown when: Use Different Logo on Mobile is on

The logo image shown on devices below 992px. Often a logomark / icon-only version of the wordmark so the header bar stays compact.

The blox header ships with a full Mega Menu system, not just a plain dropdown. Each top-level nav item can open a single-column flyout, a two/three/four-column panel with grouped sections, icons, and item descriptions, or a flat link with no dropdown at all. You configure it per item, so one header can mix all four layouts side by side.

What is a Mega Menu?

A mega menu is a wide, multi-column dropdown that appears beneath a top-level nav link. Instead of a short list of text-only sub-links, a mega menu groups related destinations into columns with icons, short descriptions, and category headings - so the dropdown itself becomes a small content panel. blox\'s Custom Menu mode renders this style. The classic single-column dropdown is also supported for items that do not need the extra real estate.

Select HubSpot Menu

Menu picker Default: none Shown when: Navigation Mode is HubSpot Menu

Picks one of the menus you have built under Marketing > Navigation in HubSpot. Child items render as a plain text-only dropdown using the Submenu Text Alignment from Dropdown Style. Two-level nesting is supported; deeper nesting is flattened. This mode bypasses the Navigation Items repeater entirely.

Setting up the Custom Mega Menu

When Navigation Mode is set to Custom Menu, the entire menu is built using the Navigation Items repeater. Each entry in the repeater is one top-level nav link (Home, Products, Resources, etc.) plus its own optional dropdown panel.

How the Mega Menu behaves on mobile

Below 992px the desktop mega menu hides and a slide-out drawer takes its place. Every top-level item becomes a collapsible section in the drawer; tapping a parent expands its dropdown items inline (icons, labels, and descriptions all carry over). Column layout is dropped on mobile - everything stacks in a single vertical list. Style the drawer separately under Style > Mobile Settings > Slide-Out Drawer.

Styling the dropdown panel

Every visual aspect of the Mega Menu - background color, border, shadow, hover state, icon colors, column title color, item title/description colors, panel width, vertical offset, text alignment - lives under Style > Dropdown Style. See that section for the full list of color and spacing controls.

/// CTAs

The CTA button content. The shown sub-group depends on CTA Mode (HubSpot vs. Custom) in Start Here.

HubSpot CTAs

Group Shown when: CTA Mode is HubSpot CTA

Pick existing HubSpot CTAs from your CTA library. These render the CTA HTML HubSpot ships with full click tracking.

  • hubspot_cta_primary Primary CTA (HubSpot CTA picker).
  • hubspot_cta_secondary Secondary CTA (HubSpot CTA picker). Shown when Number of CTAs is 2.

Custom CTAs

Group Shown when: CTA Mode is Custom

Manually-configured buttons styled with the theme's six CTA classes. Two nested groups, one per button.

Primary CTA

Group

Sub-fields:

  • btn_label Button Label (text, default "Get Started").
  • link Link (URL, default "#0").
  • btn_style Button Style (select, default Primary). Picks one of the theme's six CTA classes: cta-primary, cta-secondary, cta-tertiary, cta-four, cta-five, cta-six.

Secondary CTA

Group Shown when: Number of CTAs is 2

Same shape as the primary CTA but with different defaults:

  • btn_label Button Label (text, default "Learn More").
  • link Link (URL, default "#0").
  • btn_style Button Style (select, default Secondary). Same six options as the primary CTA.

/// Social Links

Social media URLs used by both the top header social row and the mobile drawer social block. Leave a field empty to hide that icon. Only renders when Show Social Icons is on in Start Here.

Facebook URL

Text Default: https://www.facebook.com/

Facebook page URL. Replace with your actual page URL or clear to hide the icon.

Instagram URL

Text Default: https://www.instagram.com/

Instagram profile URL.

X (Twitter) URL

Text Default: https://x.com/

X (formerly Twitter) profile URL.

YouTube URL

Text Default: http://youtube.com/

YouTube channel URL.

LinkedIn URL

Text Default: https://www.linkedin.com/

LinkedIn page URL.

/// Style

Every visual control: per-state color/padding/border/shadow (default, sticky, mobile, mobile sticky), search styling, dropdown styling, mobile drawer styling, and the header container width.

/// Top Header Style

Colors and spacing for the top utility bar. Only visible when Enable Top Header is on.

Background

Color Default: #f5f5f5 @ 100%

Background fill of the top header bar.

Link Color

Color Default: #666666 @ 100%

Default-state color for the top header links.

Link Hover Color

Color Default: #1a1a1a @ 100%

Hover-state color for the top header links.

Separator Color

Color Default: #d0d0d0 @ 100% Shown when: Show Link Separators is on

Color of the vertical pipe between each top header link.

Social Icon Color

Color Default: #666666 @ 100% Shown when: Show Social Icons in Top Header is on

Default-state color of the top header social icons.

Social Icon Hover

Color Default: #1a1a1a @ 100% Shown when: Show Social Icons in Top Header is on

Hover-state color of the top header social icons.

Font Size

Slider (10-18px) Default: 13px

Font size for the top header links.

Padding (Top/Bottom)

Slider (0-20px) Default: 8px

Vertical padding inside the top header bar.

Show Bottom Border

Toggle Default: On

Renders a 1px border at the bottom of the top header bar to separate it from the main header.

Border Color

Color Default: #e0e0e0 @ 100% Shown when: Show Bottom Border is on

Color of the top header's bottom border.

/// Header Style

Colors, padding, and border for the main header bar in its default (non-sticky) state.

Background Color

Color Default: #ffffff @ 100%

Header background fill. Set opacity to 0 for a transparent header that sits over the hero.

Header Padding (Top/Bottom)

Slider (0-60px) Default: 20px

Vertical padding of the main header bar in its default state.

Border Enabled

Toggle Default: On

Renders a bottom border on the main header to separate it from the page below.

Border Color

Color Default: #e0e0e0 @ 100% Shown when: Border Enabled is on

Color of the header's bottom border.

Border Width

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

Thickness of the header bottom border.

Hamburger Icon Color

Color Default: #1a1a1a @ 100%

Color of the three-line mobile menu icon when the header is in its default state.

/// Search Style

Colors and sizing for the search icon, input field, and typeahead results panel. Only visible when Enable Search is on.

Icon Color

Color Default: #1a1a1a @ 100%

Default-state color of the search magnifying-glass icon.

Icon Hover Color

Color Default: #555555 @ 100%

Hover-state color of the search icon.

Input Background

Color Default: #ffffff @ 100%

Background fill of the expanded search input field.

Input Border Color

Color Default: #e0e0e0 @ 100%

Border color of the search input field.

Input Text Color

Color Default: #1a1a1a @ 100%

Text color inside the search input field.

Results Background

Color Default: #ffffff @ 100%

Background fill of the typeahead suggestions panel.

Results Hover Background

Color Default: #f5f5f5 @ 100%

Hover-state background of an individual typeahead result row.

Results Text Color

Color Default: #1a1a1a @ 100%

Text color of the typeahead result rows.

Search Bar Width

Slider (200-500px) Default: 320px

Width of the expanded search input bar.

Visual treatment for the nav dropdown panels: background, border, shadow, icon styling, dropdown spacing, and multi-column width.

Column Title Color

Color Default: #999999 @ 100%

Color of the column heading text in multi-column dropdowns.

Column Title Font Size

Slider (8-16px) Default: 11px

Font size of the column heading text. Small (11px) gives the eyebrow / label feel; larger reads more like a section title.

/// Sticky Style

Styles applied while the header is in sticky mode (via Enable Sticky or forced on by the Header Override module).

Background

Color Default: #ffffff @ 95%

Background fill while the header is stuck. The default 95% opacity gives a slight frost effect over scrolling content.

Sticky Padding (Top/Bottom)

Slider (0-40px) Default: 20px

Vertical padding while sticky. Drop this 4-8px below the default header padding for a subtle shrink-on-scroll effect.

Border Enabled

Toggle Default: On

Renders a bottom border while the header is stuck.

Border Color

Color Default: #e0e0e0 @ 50% Shown when: Border Enabled is on

Color of the sticky-state bottom border. 50% opacity by default for a softer separator.

Shadow Enabled

Toggle Default: On

Renders a drop shadow under the sticky header to visually lift it off the page.

Shadow Color

Color Default: #000000 @ 8% Shown when: Shadow Enabled is on

Color + opacity of the sticky drop shadow.

Hamburger Icon Color

Color Default: #1a1a1a @ 100%

Mobile menu hamburger icon color while sticky.

/// Mobile Settings

All mobile styles in one place: the mobile header bar, the mobile sticky state, and the slide-out drawer.

Mobile Header

Group

Styles for the header bar on devices below 992px:

  • mobile_bg_color Background (color, default #ffffff @ 100%).
  • mobile_padding Padding Top/Bottom (slider 0-40px, default 14px).
  • mobile_border_enabled Show Border (toggle, default On).
  • mobile_border_color Border Color (color, default #e0e0e0). Shown when Show Border is on.
  • mobile_hamburger_color Hamburger Icon Color (color, default #1a1a1a).

Mobile Sticky

Group Shown when: Enable Sticky is on

Styles for the sticky header on mobile:

  • mobile_sticky_bg_color Background (color, default #ffffff @ 95%).
  • mobile_sticky_padding Padding Top/Bottom (slider 0-40px, default 10px).
  • mobile_sticky_shadow_enabled Show Shadow (toggle, default On).
  • mobile_sticky_shadow_color Shadow Color (color, default #000000 @ 8%). Shown when Show Shadow is on.
  • mobile_sticky_hamburger_color Hamburger Icon Color (color, default #1a1a1a).

/// Row Settings

Container width for the entire header. There's no per-breakpoint padding here - row spacing is set per state via Header Padding, Sticky Padding, Mobile Padding, and Mobile Sticky Padding above.

Size (Content Width)

Group Default: Standard

Which container width the header uses:

  • standard Standard (uses theme's standard container width, set in Theme Settings > Layout). Default.
  • slim Slim (narrower variant, also set in Theme Settings).
  • full Full Width (stretches edge-to-edge).
  • custom Custom (reveals Custom Width number input, 600-1920px, default 1200).