        :header-bkg-invisible false
        :first-fig-animate false
        :first-fig-visible false
+       :scrollbar-width 0
        :scroll-ch (chan (sliding-buffer 1))})
     om/IRenderState
     (render-state [_ state]
       (let [ab-tests (:ab-tests app)
             controls-ch (om/get-shared owner [:comms :controls])]
         (html [:div.home.page
-               [:nav.home-nav {:style (merge {}
+               [:nav.home-nav {:style (merge {:width (if (< 0 (:scrollbar-width state))
+                                                       (str "calc(100% - " (:scrollbar-width state) "px)")
+                                                       "100%")}
                                              (when (> 70 (:header-bkg-scroller state))
                                                {:background-size (str "100% " (:header-bkg-scroller state) "px")}))
                                :class (concat

(ns frontend.components.landing-b
  (:require [cljs.core.async :as async :refer [>! <! alts! chan sliding-buffer close!]]
            [clojure.string :as str]
            [frontend.async :refer [put!]]
            [frontend.components.common :as common]
            [frontend.components.crumbs :as crumbs]

                    "scroll"
                    scroll-callback))))

(defn calculate-scrollbar-width
  "Inserts and removes an out-of-view element to let us calculate the width of the scrollbar"
  [owner]
  (let [el (node [:div {:style "width: 100px; height: 100px; overflow: scroll; position: fixed; top: -200px"}])]
    (dommy/append! (om/get-node owner) el)
    (om/set-state! owner [:scrollbar-width] (utils/inspect (- (.-offsetWidth el) (.-clientWidth el))))
    (dommy/remove! el)))

(defn home [app owner]
  (reify
    om/IDidMount
    (did-mount [_]
      (mount-header-logo-scroll owner)
      (calculate-scrollbar-width owner))
    om/IInitState
    (init-state [_]
      {:header-logo-visible false
