A portfolio-forward navigation module for marketing, creative, and consulting agencies. Services with imagery, Industries-we-serve tabbed panel, featured case-study cards, team & careers, multi-office Locations switcher.
Six top-level items mirroring the navigation patterns used by Diamond/Elite HubSpot partners (SmartBug, New Breed, Aptitude 8, Huble) and the studios featured in HubSpot's Inspire gallery. Tabbed Industries panel (B2B SaaS / Healthtech / Fintech / Professional Services). Featured case-study cards with client logos. Dual Schedule a call + View work CTAs. Multi-office Locations dropdown.
Marketing & professional-services agencies need a navigation that leads with portfolio, signals industry specialization, surfaces team credibility, and routes prospects to the right office. Here's how Agency Mega Menu Pro covers each one.
#f5f1ec + ink #1a1614 + rust accent #c8553d. Inter Tight body, Fraunces serif column titles. Every value editable.Everything you need to configure Agency Mega Menu Pro for your marketing, creative, or consulting agency.
Generic mega menus can be shoe-horned into agency shapes — but they cost weeks of configuration and miss the affordances buyers expect on SmartBug, New Breed, Aptitude 8, Huble, Vye, and the studios featured in HubSpot's Inspire gallery. Agency Mega Menu Pro ships agency-native features that no generic mega menu has out of the box: image-forward Services panel, tabbed Industries column, featured case-study cards, client-logos grid, embedded brief form, and a multi-office Locations switcher.
Agency Mega Menu Pro is a standalone HubSpot module — no theme required. Drop it into the top of any page template, or add it to your header global partial so it loads site-wide.
marketplace-modules/Mega Menu 4 Pro.module.In the module's Content tab, you'll find the Menu Items repeater. Each item has a Type field with three options:
Three capability columns (Strategy & Brand · Web & Product · Growth & RevOps). For each item, upload a 1:1 Image instead of choosing an icon — Agency Mega Menu Pro automatically renders these items as blog cards (image on top, title, italic subtitle), not the standard icon row. Reads like a portfolio grid.
Set Menu item → Layout mode = Tabs. Each mega column becomes a tab labelled with the column title (B2B SaaS / Healthtech / Fintech / Professional Services). Inside each tab, list 4–8 sub-niches with icons and descriptions. Choose Tab trigger = Hover for instant feedback or Click for touch-heavy audiences.
Two strategies that ship together:
Set Column layout = Changelog teaser on a single-column mega item. Each item renders as a version pill (mono font), date badge, and 2-line description — perfect for issue-style content marketing (Vol. 14 / May 14 / "Why the editorial-site era is back…").
Pair a 2-column mega item (Studio + Join Us) with an Embedded Form (Sidebar) pinned on the right. The form takes a HubSpot form ID, an inline title and description, and a custom submit-button label. Lets prospects raise their hand directly from the nav.
A full-width strip above the navbar with a customizable message, link, and dismiss button. The leading dot has a pulsing rust ripple animation that draws the eye without being noisy; ripple colour matches the link accent automatically. Dismissals are remembered in localStorage — bump the storage key field to re-show after a campaign refresh.
localStorage. Change it to force the banner to re-appear for everyone.#1a1614 + cream text + rust-coral #c8553d for the link. The accent color also drives the ripple animation around the leading dot.prefers-reduced-motion (disabled for users who opt out of motion).Anchor your agency credentials (HubSpot Diamond Partner, Inc. 5000, Clutch, Webby, AAAA…) at the bottom of every mega panel. Buyers actively look for these signals — surfacing them in nav saves a click into the about page.
Toggle under Content → Search. When enabled, a search icon appears in the action bar. Clicking it reveals an inline field with HubSpot's built-in search suggestions.
Tap ⌘K (or Ctrl-K on Windows / Linux) anywhere on the page to open the navbar search. A visible ⌘K hint inside the search trigger advertises the shortcut. Only active when Search is enabled. Toggle under Agency behavior → Enable ⌘K shortcut.
Add up to 3 buttons under Content → CTAs. The demo ships with Schedule a call (secondary outline) + View work (primary ink). Each button has text, URL, style (primary / secondary / ghost), and optional modal trigger.
Every visual property is controlled from the Style tab — no CSS editing needed. The agency palette is wired in by default; change any value to re-skin.
Base values that cascade through the entire module:
require_css).#1a1614, text #4a3f3a, muted #8a7d76, body bg #f5f1ec (warm cream), cards bg #fbf8f4, border #1a1614 @ 12% (opacity included).#fff.#fff.#000.--space-xs → --space-3xl scale.The module's accent color — used on column titles, hover indicators, icons, link underlines, and badges. Default is rust-coral #c8553d with hover #a8442f and a 14%-opacity light tint. Replace with your brand colour and the entire mega menu re-skins instantly.
Controls the top bar:
#fbf8f4 at 92% opacity.#1a1614 with a rust hover.1280px.Top-level menu items: text colour, hover text, hover background, active indicator colour, font size, font weight, padding, and border radius. The demo uses Inter Tight 500 at 14px with a rust hover and no radius for the editorial squared look.
The panel container (used by both dropdowns and mega panels): background colour (with opacity for glass effects), border, radius, shadow, padding, and gap between items.
Style individual rows inside dropdowns and mega columns: text colour, description colour, hover bg, hover text, icon colour, icon size (default 18px), image radius, vertical/horizontal padding, and border radius. Icons inherit the icon colour and size — the demo uses rust-coral icons at 18px.
Column-specific settings: column gap (32px default), column title colour (rust-coral by default), font size (12px), font weight (500), and text transform (uppercase). Combine with the Fraunces serif inherited from the editorial layer for a magazine-style column eyebrow.
Style the right-rail content: background colour, border radius, featured-image radius, tag colour, and tag background. Drives the look of case-study cards and the embedded brief form.
Small labels next to menu items or column items (Diamond, Hiring, Free, New, Beta, AI): background, text colour, font size, border radius, vertical/horizontal padding. Five built-in style presets: default, new (green), beta (purple), soon (orange), ai (animated gradient + sparkle).
Three variants for top-bar CTAs and panel CTAs:
All share font size, font weight, padding, border radius, border width. The demo uses ink-on-cream primaries that flip to rust on hover.
The "Send brief" form pinned in the About panel sidebar — and the same form rendered inside the mobile accordion — share one style group under Agency Polish → Form style:
Every form value cascades to both the desktop sidebar form and the mobile-accordion form — no per-context duplication.
One unified group for the agency-specific polish layer. Every value is editor-controllable:
Inside any mega column, set Column layout to switch the rendering mode:
Below your tablet breakpoint (default 1024px), the navbar collapses into a mobile layout:
overflow-hidden is applied to both html and body so background scroll is fully locked (iOS Safari included).Set under Settings → Dropdown animation:
When sticky navigation is enabled (Settings → Sticky navigation), two extra options become available:
Both can be combined — start transparent and shrink on the same scroll event.
Full WCAG-friendly keyboard support:
ARIA attributes (role="menubar", role="menu", aria-expanded, aria-haspopup, aria-hidden) are included for screen readers.
Under Settings → Open dropdown on, switch to Click:
Recommended for touch-heavy audiences and pages where mega panels contain interactive content (forms).
Both dropdown and mega items support an optional Icon. Icons render as inline SVGs from HubSpot's built-in FontAwesome 5.0.10 set.
award, palette, drafting-compass, microphone-alt, user-tie, globe-europe, layer-group). Safe substitutes: gem, paint-brush, compass, microphone, user, globe, cubes.agencymm_promo_v1 → agencymm_promo_v2 whenever you ship a new promo banner. Old dismissals reset; new audiences see it.Pure CSS and vanilla JavaScript. No GSAP, no Swiper, no external dependencies. Same architecture as Mega Menu Pro — battle-tested, SEO-friendly, performant.
getBoundingClientRect() on the visible content (not scrollHeight, which is inflated by hidden iframe overflow inside HubSpot form embeds). The wrapper is then sized to exactly that height + the trust bar height when the trust bar is visible.showDropdown) writes wrapper.style.height. The auto-resize observer that previously raced against the hover handler was removed; form embeds that grow async will pick up the new height on the next hover.font fields with load_external_fonts: true, so the Google Fonts <link> is injected automatically. No require_css calls hardcoded in the template.style.* field. Decorative micro-spacing (1–8px gaps inside compound widgets, the notification dot's 6px size, etc.) is the only set of constants that remain.