diff --git a/nuxt/components/AppHeader.vue b/nuxt/components/AppHeader.vue index b03252573e..1aec8fd896 100644 --- a/nuxt/components/AppHeader.vue +++ b/nuxt/components/AppHeader.vue @@ -166,7 +166,7 @@ onMounted(() => {
  • {{ col.title }}
  • diff --git a/nuxt/components/CertifiedNodes.vue b/nuxt/components/CertifiedNodes.vue index 3abcfc5017..c352163366 100644 --- a/nuxt/components/CertifiedNodes.vue +++ b/nuxt/components/CertifiedNodes.vue @@ -1,10 +1,12 @@ + + diff --git a/nuxt/pages/product/index.vue b/nuxt/pages/product/index.vue index fe7a445699..60eb7d3481 100644 --- a/nuxt/pages/product/index.vue +++ b/nuxt/pages/product/index.vue @@ -116,7 +116,7 @@ onUnmounted(() => {

    Build, deploy, and govern industrial applications - in record time

    -

    Bridge the gap between OT and IT teams using FlowFuse, the only comprehensive application platform with industrial AI and governance baked in.

    +

    Bridge the gap between OT and IT teams using FlowFuse, the only comprehensive application platform with industrial AI and governance baked in.

    @@ -182,7 +182,7 @@ onUnmounted(() => {

    {{ tier.heading }}

    - Learn more about {{ tier.label }} → + Learn more about {{ tier.label }} →

    diff --git a/nuxt/public/images/customer-headshots/dave-olsen-wenco.png b/nuxt/public/images/customer-headshots/dave-olsen-wenco.png new file mode 100644 index 0000000000..45263e3440 Binary files /dev/null and b/nuxt/public/images/customer-headshots/dave-olsen-wenco.png differ diff --git a/nuxt/public/images/customer-headshots/servan-petrosian-arch-systems.png b/nuxt/public/images/customer-headshots/servan-petrosian-arch-systems.png new file mode 100644 index 0000000000..d50848c9f7 Binary files /dev/null and b/nuxt/public/images/customer-headshots/servan-petrosian-arch-systems.png differ diff --git a/src/_data/chrome.json b/src/_data/chrome.json index e5393f1485..6ba6b99864 100644 --- a/src/_data/chrome.json +++ b/src/_data/chrome.json @@ -6,15 +6,33 @@ "label": "Platform", "columns": [ { - "title": "Product", + "title": "Overview", "titleGrid": "xl:col-start-2 xl:row-start-1", - "listClasses": "row-span-3 xl:col-start-2 xl:row-start-2", + "listClasses": "row-span-6 xl:col-start-2 xl:row-start-2", "links": [ { - "label": "Features", + "label": "Product", "href": "/product/", "icon": "star" }, + { + "label": "FlowFuse Edge", + "href": "/product/edge/", + "icon": "chip", + "indent": true + }, + { + "label": "FlowFuse Hub", + "href": "/product/hub/", + "icon": "circle-stack", + "indent": true + }, + { + "label": "FlowFuse Fleet", + "href": "/product/fleet/", + "icon": "server-stack", + "indent": true + }, { "label": "Security Statement", "href": "/platform/security/", @@ -417,12 +435,24 @@ "gridClasses": "grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-2 gap-x-8 gap-y-8", "groups": [ { - "title": "Product", + "title": "Overview", "links": [ { - "label": "Features", + "label": "Product", "href": "/product/" }, + { + "label": "FlowFuse Edge", + "href": "/product/edge/" + }, + { + "label": "FlowFuse Hub", + "href": "/product/hub/" + }, + { + "label": "FlowFuse Fleet", + "href": "/product/fleet/" + }, { "label": "Security Statement", "href": "/platform/security/" diff --git a/src/_includes/layouts/base.njk b/src/_includes/layouts/base.njk index 1d578f0e86..bf62556b3b 100644 --- a/src/_includes/layouts/base.njk +++ b/src/_includes/layouts/base.njk @@ -199,7 +199,7 @@ eleventyComputed:
  • diff --git a/src/css/style.css b/src/css/style.css index 93f8b06c49..a8ce5913c2 100644 --- a/src/css/style.css +++ b/src/css/style.css @@ -2896,6 +2896,17 @@ lite-youtube::before { margin-left: 0 !important; border-left: 0 !important; } +/* Nested sub-items (e.g. product tiers under "Product"). Needs a dedicated + rule since #nav-content li's `border-none` reset above beats a bare + Tailwind border utility on layer order. */ +.ff-website header .ff-nav-dropdown > ul.mega ul.sub-menu li.nav-indent { + margin-left: 0.6rem !important; + padding-left: 0 !important; + border-left: 2px solid var(--color-gray-200) !important; +} +.ff-website header .ff-nav-dropdown > ul.mega ul.sub-menu li.nav-indent > a { + padding-left: 1rem !important; +} /* Mobile accordion: eyebrows indent to the link icon column, moderate row height, and tap feedback via a text-hugging underline (the desktop animated line needs a text span the link markup does not have) */ @@ -2911,6 +2922,14 @@ lite-youtube::before { padding-bottom: 0.5rem !important; padding-left: 2.5rem !important; /* indent links under the section eyebrow (1.5rem) */ } + /* Same centering math as the desktop rule above, but against this + breakpoint's pl-2.5rem (40px) icon column: 40px + 10px = 50px = 3.125rem. */ + .ff-website header .ff-nav-dropdown > ul.mega ul.sub-menu li.nav-indent { + margin-left: 3.125rem !important; + } + .ff-website header .ff-nav-dropdown > ul.mega ul.sub-menu li.nav-indent > a { + padding-left: 0.75rem !important; + } /* Roomier mobile drawer: inset the whole menu and enlarge the top-level item labels for easier tapping. Scoped to mobile only; desktop nav unaffected. NOTE: horizontal padding is always safe, but vertical padding must apply