static/frontend/unit: smoother sticky header transition

The header sentinel that triggers the sticky header is moved
to the site header, matching the behavior of the search
page, to improve the transition when loading the unit page with
an anchor link.

Change-Id: I8bbe12528c8e1049939af005c140d30a96e79e41
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/349890
Trust: Jamal Carvalho <jamal@golang.org>
Run-TryBot: Jamal Carvalho <jamal@golang.org>
TryBot-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jonathan Amsterdam <jba@google.com>
diff --git a/static/frontend/unit/unit.css b/static/frontend/unit/unit.css
index 0fc7e18..cf14f4b 100644
--- a/static/frontend/unit/unit.css
+++ b/static/frontend/unit/unit.css
@@ -33,13 +33,13 @@
   grid-area: header;
   min-height: var(--js-unit-header-height);
   padding: 0 var(--gutter);
-  position: sticky;
-  top: var(--js-unit-header-top, 0);
   transition: box-shadow 0.25s linear;
   z-index: 10;
 }
 .go-Main-header[data-fixed] {
   border-bottom: none;
+  position: sticky;
+  top: var(--js-unit-header-top, 0);
 }
 .go-Main-header[data-raised] {
   border-bottom: var(--border);
diff --git a/static/frontend/unit/unit.js b/static/frontend/unit/unit.js
index 63cbf79..373e6bf 100644
--- a/static/frontend/unit/unit.js
+++ b/static/frontend/unit/unit.js
@@ -1,4 +1,4 @@
-var a=3.5,c=2.5,v=class{constructor(i,r,t){this.mainHeader=i;this.mainNav=r;this.mainAside=t;this.handleDoubleClick=i=>{var t,e;i.target===((t=this.mainHeader)==null?void 0:t.lastElementChild)&&((e=window.getSelection())==null||e.removeAllRanges(),window.scrollTo({top:0,behavior:"smooth"}))};this.handleResize=()=>{let i=(r,t)=>document.documentElement.style.setProperty(r,t);i("--js-unit-header-height","0"),setTimeout(()=>{var t,e;let r=((e=(t=this.mainHeader)==null?void 0:t.getBoundingClientRect().height)!=null?e:0)/16;i("--js-unit-header-height",`${r}rem`),i("--js-sticky-header-height",`${a}rem`),i("--js-unit-header-top",`${(r-a)*-1}rem`)})};this.headerObserver=new IntersectionObserver(([e])=>{if(e.intersectionRatio<1)for(let s of document.querySelectorAll('[class^="go-Main-header"'))s.setAttribute("data-fixed","true");else{for(let s of document.querySelectorAll('[class^="go-Main-header"'))s.removeAttribute("data-fixed");this.handleResize()}},{threshold:1,rootMargin:`${c*16}px`}),this.navObserver=new IntersectionObserver(([e])=>{var s,n,h,l;e.intersectionRatio<1?((s=this.mainNav)==null||s.classList.add("go-Main-nav--fixed"),(n=this.mainNav)==null||n.setAttribute("data-fixed","true")):((h=this.mainNav)==null||h.classList.remove("go-Main-nav--fixed"),(l=this.mainNav)==null||l.removeAttribute("data-fixed"))},{threshold:1,rootMargin:`-${a*16+10}px`}),this.asideObserver=new IntersectionObserver(([e])=>{var s,n;e.intersectionRatio<1?(s=this.mainHeader)==null||s.setAttribute("data-raised","true"):(n=this.mainHeader)==null||n.removeAttribute("data-raised")},{threshold:1,rootMargin:`-${a*16+20}px 0px 0px 0px`}),this.init()}init(){var i,r,t;if(this.handleResize(),window.addEventListener("resize",this.handleResize),(i=this.mainHeader)==null||i.addEventListener("dblclick",this.handleDoubleClick),(r=this.mainHeader)==null?void 0:r.hasChildNodes()){let e=document.createElement("div");this.mainHeader.prepend(e),this.headerObserver.observe(e)}if((t=this.mainNav)==null?void 0:t.hasChildNodes()){let e=document.createElement("div");this.mainNav.prepend(e),this.navObserver.observe(e)}if(this.mainAside){let e=document.createElement("div");this.mainAside.prepend(e),this.asideObserver.observe(e)}}},d=o=>document.querySelector(o);new v(d(".js-mainHeader"),d(".js-mainNav"),d(".js-mainAside"));export{v as MainLayoutController};
+var a=3.5,v=2.5,c=class{constructor(r,s,i){this.mainHeader=r;this.mainNav=s;this.mainAside=i;this.handleDoubleClick=r=>{var i,t;r.target===((i=this.mainHeader)==null?void 0:i.lastElementChild)&&((t=window.getSelection())==null||t.removeAllRanges(),window.scrollTo({top:0,behavior:"smooth"}))};this.handleResize=()=>{let r=(s,i)=>document.documentElement.style.setProperty(s,i);r("--js-unit-header-height","0"),setTimeout(()=>{var i,t;let s=((t=(i=this.mainHeader)==null?void 0:i.getBoundingClientRect().height)!=null?t:0)/16;r("--js-unit-header-height",`${s}rem`),r("--js-sticky-header-height",`${a}rem`),r("--js-unit-header-top",`${(s-a)*-1}rem`)})};this.headerObserver=new IntersectionObserver(([t])=>{if(t.intersectionRatio<1)for(let e of document.querySelectorAll('[class^="go-Main-header"'))e.setAttribute("data-fixed","true");else{for(let e of document.querySelectorAll('[class^="go-Main-header"'))e.removeAttribute("data-fixed");this.handleResize()}},{threshold:1,rootMargin:`${v*16}px`}),this.navObserver=new IntersectionObserver(([t])=>{var e,n,h,l;t.intersectionRatio<1?((e=this.mainNav)==null||e.classList.add("go-Main-nav--fixed"),(n=this.mainNav)==null||n.setAttribute("data-fixed","true")):((h=this.mainNav)==null||h.classList.remove("go-Main-nav--fixed"),(l=this.mainNav)==null||l.removeAttribute("data-fixed"))},{threshold:1,rootMargin:`-${a*16+10}px`}),this.asideObserver=new IntersectionObserver(([t])=>{var e,n;t.intersectionRatio<1?(e=this.mainHeader)==null||e.setAttribute("data-raised","true"):(n=this.mainHeader)==null||n.removeAttribute("data-raised")},{threshold:1,rootMargin:`-${a*16+20}px 0px 0px 0px`}),this.init()}init(){var s,i,t;this.handleResize(),window.addEventListener("resize",this.handleResize),(s=this.mainHeader)==null||s.addEventListener("dblclick",this.handleDoubleClick);let r=document.querySelector(".js-siteHeader");if(((i=this.mainHeader)==null?void 0:i.hasChildNodes())&&r){let e=document.createElement("div");r.append(e),this.headerObserver.observe(e)}if((t=this.mainNav)==null?void 0:t.hasChildNodes()){let e=document.createElement("div");this.mainNav.prepend(e),this.navObserver.observe(e)}if(this.mainAside){let e=document.createElement("div");this.mainAside.prepend(e),this.asideObserver.observe(e)}}},d=o=>document.querySelector(o);new c(d(".js-mainHeader"),d(".js-mainNav"),d(".js-mainAside"));export{c as MainLayoutController};
 /**
  * @license
  * Copyright 2021 The Go Authors. All rights reserved.
diff --git a/static/frontend/unit/unit.js.map b/static/frontend/unit/unit.js.map
index 2cf477e..3f582dd 100644
--- a/static/frontend/unit/unit.js.map
+++ b/static/frontend/unit/unit.js.map
@@ -1,7 +1,7 @@
 {
   "version": 3,
   "sources": ["unit.ts"],
-  "sourcesContent": ["/**\n * @license\n * Copyright 2021 The Go Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n\nconst headerHeight = 3.5;\nconst breadcumbHeight = 2.5;\n\n/**\n * MainLayoutController calculates dynamic height values for header elements\n * to support variable size sticky positioned elements in the header so that\n * banners and breadcumbs may overflow to multiple lines.\n */\nexport class MainLayoutController {\n  private headerObserver: IntersectionObserver;\n  private navObserver: IntersectionObserver;\n  private asideObserver: IntersectionObserver;\n\n  constructor(\n    private mainHeader?: Element | null,\n    private mainNav?: Element | null,\n    private mainAside?: Element | null\n  ) {\n    this.headerObserver = new IntersectionObserver(\n      ([e]) => {\n        if (e.intersectionRatio < 1) {\n          for (const x of document.querySelectorAll('[class^=\"go-Main-header\"')) {\n            x.setAttribute('data-fixed', 'true');\n          }\n        } else {\n          for (const x of document.querySelectorAll('[class^=\"go-Main-header\"')) {\n            x.removeAttribute('data-fixed');\n          }\n          this.handleResize();\n        }\n      },\n      { threshold: 1, rootMargin: `${breadcumbHeight * 16}px` }\n    );\n    this.navObserver = new IntersectionObserver(\n      ([e]) => {\n        if (e.intersectionRatio < 1) {\n          this.mainNav?.classList.add('go-Main-nav--fixed');\n          this.mainNav?.setAttribute('data-fixed', 'true');\n        } else {\n          this.mainNav?.classList.remove('go-Main-nav--fixed');\n          this.mainNav?.removeAttribute('data-fixed');\n        }\n      },\n      { threshold: 1, rootMargin: `-${headerHeight * 16 + 10}px` }\n    );\n    this.asideObserver = new IntersectionObserver(\n      ([e]) => {\n        if (e.intersectionRatio < 1) {\n          this.mainHeader?.setAttribute('data-raised', 'true');\n        } else {\n          this.mainHeader?.removeAttribute('data-raised');\n        }\n      },\n      { threshold: 1, rootMargin: `-${headerHeight * 16 + 20}px 0px 0px 0px` }\n    );\n    this.init();\n  }\n\n  private init() {\n    this.handleResize();\n    window.addEventListener('resize', this.handleResize);\n    this.mainHeader?.addEventListener('dblclick', this.handleDoubleClick);\n    if (this.mainHeader?.hasChildNodes()) {\n      const headerSentinel = document.createElement('div');\n      this.mainHeader.prepend(headerSentinel);\n      this.headerObserver.observe(headerSentinel);\n    }\n    if (this.mainNav?.hasChildNodes()) {\n      const navSentinel = document.createElement('div');\n      this.mainNav.prepend(navSentinel);\n      this.navObserver.observe(navSentinel);\n    }\n    if (this.mainAside) {\n      const asideSentinel = document.createElement('div');\n      this.mainAside.prepend(asideSentinel);\n      this.asideObserver.observe(asideSentinel);\n    }\n  }\n\n  private handleDoubleClick: EventListener = e => {\n    const target = e.target;\n    if (target === this.mainHeader?.lastElementChild) {\n      window.getSelection()?.removeAllRanges();\n      window.scrollTo({ top: 0, behavior: 'smooth' });\n    }\n  };\n\n  private handleResize = () => {\n    const setProp = (name: string, value: string) =>\n      document.documentElement.style.setProperty(name, value);\n    setProp('--js-unit-header-height', '0');\n    setTimeout(() => {\n      const mainHeaderHeight = (this.mainHeader?.getBoundingClientRect().height ?? 0) / 16;\n      setProp('--js-unit-header-height', `${mainHeaderHeight}rem`);\n      setProp('--js-sticky-header-height', `${headerHeight}rem`);\n      setProp('--js-unit-header-top', `${(mainHeaderHeight - headerHeight) * -1}rem`);\n    });\n  };\n}\n\nconst el = <T extends HTMLElement>(selector: string) => document.querySelector<T>(selector);\nnew MainLayoutController(el('.js-mainHeader'), el('.js-mainNav'), el('.js-mainAside'));\n"],
-  "mappings": "AAAA,AAOA,GAAM,GAAe,IACf,EAAkB,IAOjB,OAA2B,CAKhC,YACU,EACA,EACA,EACR,CAHQ,kBACA,eACA,iBA+DF,uBAAmC,GAAK,CAtFlD,QAwFI,AAAI,AADW,EAAE,SACF,SAAK,aAAL,cAAiB,mBAC9B,WAAO,iBAAP,QAAuB,kBACvB,OAAO,SAAS,CAAE,IAAK,EAAG,SAAU,aAIhC,kBAAe,IAAM,CAC3B,GAAM,GAAU,CAAC,EAAc,IAC7B,SAAS,gBAAgB,MAAM,YAAY,EAAM,GACnD,EAAQ,0BAA2B,KACnC,WAAW,IAAM,CAlGrB,QAmGM,GAAM,GAAoB,YAAK,aAAL,cAAiB,wBAAwB,SAAzC,OAAmD,GAAK,GAClF,EAAQ,0BAA2B,GAAG,QACtC,EAAQ,4BAA6B,GAAG,QACxC,EAAQ,uBAAwB,GAAI,GAAmB,GAAgB,YA7EzE,KAAK,eAAiB,GAAI,sBACxB,CAAC,CAAC,KAAO,CACP,GAAI,EAAE,kBAAoB,EACxB,OAAW,KAAK,UAAS,iBAAiB,4BACxC,EAAE,aAAa,aAAc,YAE1B,CACL,OAAW,KAAK,UAAS,iBAAiB,4BACxC,EAAE,gBAAgB,cAEpB,KAAK,iBAGT,CAAE,UAAW,EAAG,WAAY,GAAG,EAAkB,SAEnD,KAAK,YAAc,GAAI,sBACrB,CAAC,CAAC,KAAO,CAzCf,YA0CQ,AAAI,EAAE,kBAAoB,EACxB,SAAK,UAAL,QAAc,UAAU,IAAI,sBAC5B,QAAK,UAAL,QAAc,aAAa,aAAc,SAEzC,SAAK,UAAL,QAAc,UAAU,OAAO,sBAC/B,QAAK,UAAL,QAAc,gBAAgB,gBAGlC,CAAE,UAAW,EAAG,WAAY,IAAI,EAAe,GAAK,SAEtD,KAAK,cAAgB,GAAI,sBACvB,CAAC,CAAC,KAAO,CArDf,QAsDQ,AAAI,EAAE,kBAAoB,EACxB,QAAK,aAAL,QAAiB,aAAa,cAAe,QAE7C,QAAK,aAAL,QAAiB,gBAAgB,gBAGrC,CAAE,UAAW,EAAG,WAAY,IAAI,EAAe,GAAK,qBAEtD,KAAK,OAGC,MAAO,CAjEjB,UAqEI,GAHA,KAAK,eACL,OAAO,iBAAiB,SAAU,KAAK,cACvC,QAAK,aAAL,QAAiB,iBAAiB,WAAY,KAAK,mBAC/C,QAAK,aAAL,cAAiB,gBAAiB,CACpC,GAAM,GAAiB,SAAS,cAAc,OAC9C,KAAK,WAAW,QAAQ,GACxB,KAAK,eAAe,QAAQ,GAE9B,GAAI,QAAK,UAAL,cAAc,gBAAiB,CACjC,GAAM,GAAc,SAAS,cAAc,OAC3C,KAAK,QAAQ,QAAQ,GACrB,KAAK,YAAY,QAAQ,GAE3B,GAAI,KAAK,UAAW,CAClB,GAAM,GAAgB,SAAS,cAAc,OAC7C,KAAK,UAAU,QAAQ,GACvB,KAAK,cAAc,QAAQ,MAyB3B,EAAK,AAAwB,GAAqB,SAAS,cAAiB,GAClF,GAAI,GAAqB,EAAG,kBAAmB,EAAG,eAAgB,EAAG",
+  "sourcesContent": ["/**\n * @license\n * Copyright 2021 The Go Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n\nconst headerHeight = 3.5;\nconst breadcumbHeight = 2.5;\n\n/**\n * MainLayoutController calculates dynamic height values for header elements\n * to support variable size sticky positioned elements in the header so that\n * banners and breadcumbs may overflow to multiple lines.\n */\nexport class MainLayoutController {\n  private headerObserver: IntersectionObserver;\n  private navObserver: IntersectionObserver;\n  private asideObserver: IntersectionObserver;\n\n  constructor(\n    private mainHeader?: Element | null,\n    private mainNav?: Element | null,\n    private mainAside?: Element | null\n  ) {\n    this.headerObserver = new IntersectionObserver(\n      ([e]) => {\n        if (e.intersectionRatio < 1) {\n          for (const x of document.querySelectorAll('[class^=\"go-Main-header\"')) {\n            x.setAttribute('data-fixed', 'true');\n          }\n        } else {\n          for (const x of document.querySelectorAll('[class^=\"go-Main-header\"')) {\n            x.removeAttribute('data-fixed');\n          }\n          this.handleResize();\n        }\n      },\n      { threshold: 1, rootMargin: `${breadcumbHeight * 16}px` }\n    );\n    this.navObserver = new IntersectionObserver(\n      ([e]) => {\n        if (e.intersectionRatio < 1) {\n          this.mainNav?.classList.add('go-Main-nav--fixed');\n          this.mainNav?.setAttribute('data-fixed', 'true');\n        } else {\n          this.mainNav?.classList.remove('go-Main-nav--fixed');\n          this.mainNav?.removeAttribute('data-fixed');\n        }\n      },\n      { threshold: 1, rootMargin: `-${headerHeight * 16 + 10}px` }\n    );\n    this.asideObserver = new IntersectionObserver(\n      ([e]) => {\n        if (e.intersectionRatio < 1) {\n          this.mainHeader?.setAttribute('data-raised', 'true');\n        } else {\n          this.mainHeader?.removeAttribute('data-raised');\n        }\n      },\n      { threshold: 1, rootMargin: `-${headerHeight * 16 + 20}px 0px 0px 0px` }\n    );\n    this.init();\n  }\n\n  private init() {\n    this.handleResize();\n    window.addEventListener('resize', this.handleResize);\n    this.mainHeader?.addEventListener('dblclick', this.handleDoubleClick);\n    const siteHeader = document.querySelector('.js-siteHeader');\n    if (this.mainHeader?.hasChildNodes() && siteHeader) {\n      const headerSentinel = document.createElement('div');\n      siteHeader.append(headerSentinel);\n      this.headerObserver.observe(headerSentinel);\n    }\n    if (this.mainNav?.hasChildNodes()) {\n      const navSentinel = document.createElement('div');\n      this.mainNav.prepend(navSentinel);\n      this.navObserver.observe(navSentinel);\n    }\n    if (this.mainAside) {\n      const asideSentinel = document.createElement('div');\n      this.mainAside.prepend(asideSentinel);\n      this.asideObserver.observe(asideSentinel);\n    }\n  }\n\n  private handleDoubleClick: EventListener = e => {\n    const target = e.target;\n    if (target === this.mainHeader?.lastElementChild) {\n      window.getSelection()?.removeAllRanges();\n      window.scrollTo({ top: 0, behavior: 'smooth' });\n    }\n  };\n\n  private handleResize = () => {\n    const setProp = (name: string, value: string) =>\n      document.documentElement.style.setProperty(name, value);\n    setProp('--js-unit-header-height', '0');\n    setTimeout(() => {\n      const mainHeaderHeight = (this.mainHeader?.getBoundingClientRect().height ?? 0) / 16;\n      setProp('--js-unit-header-height', `${mainHeaderHeight}rem`);\n      setProp('--js-sticky-header-height', `${headerHeight}rem`);\n      setProp('--js-unit-header-top', `${(mainHeaderHeight - headerHeight) * -1}rem`);\n    });\n  };\n}\n\nconst el = <T extends HTMLElement>(selector: string) => document.querySelector<T>(selector);\nnew MainLayoutController(el('.js-mainHeader'), el('.js-mainNav'), el('.js-mainAside'));\n"],
+  "mappings": "AAAA,AAOA,GAAM,GAAe,IACf,EAAkB,IAOjB,OAA2B,CAKhC,YACU,EACA,EACA,EACR,CAHQ,kBACA,eACA,iBAgEF,uBAAmC,GAAK,CAvFlD,QAyFI,AAAI,AADW,EAAE,SACF,SAAK,aAAL,cAAiB,mBAC9B,WAAO,iBAAP,QAAuB,kBACvB,OAAO,SAAS,CAAE,IAAK,EAAG,SAAU,aAIhC,kBAAe,IAAM,CAC3B,GAAM,GAAU,CAAC,EAAc,IAC7B,SAAS,gBAAgB,MAAM,YAAY,EAAM,GACnD,EAAQ,0BAA2B,KACnC,WAAW,IAAM,CAnGrB,QAoGM,GAAM,GAAoB,YAAK,aAAL,cAAiB,wBAAwB,SAAzC,OAAmD,GAAK,GAClF,EAAQ,0BAA2B,GAAG,QACtC,EAAQ,4BAA6B,GAAG,QACxC,EAAQ,uBAAwB,GAAI,GAAmB,GAAgB,YA9EzE,KAAK,eAAiB,GAAI,sBACxB,CAAC,CAAC,KAAO,CACP,GAAI,EAAE,kBAAoB,EACxB,OAAW,KAAK,UAAS,iBAAiB,4BACxC,EAAE,aAAa,aAAc,YAE1B,CACL,OAAW,KAAK,UAAS,iBAAiB,4BACxC,EAAE,gBAAgB,cAEpB,KAAK,iBAGT,CAAE,UAAW,EAAG,WAAY,GAAG,EAAkB,SAEnD,KAAK,YAAc,GAAI,sBACrB,CAAC,CAAC,KAAO,CAzCf,YA0CQ,AAAI,EAAE,kBAAoB,EACxB,SAAK,UAAL,QAAc,UAAU,IAAI,sBAC5B,QAAK,UAAL,QAAc,aAAa,aAAc,SAEzC,SAAK,UAAL,QAAc,UAAU,OAAO,sBAC/B,QAAK,UAAL,QAAc,gBAAgB,gBAGlC,CAAE,UAAW,EAAG,WAAY,IAAI,EAAe,GAAK,SAEtD,KAAK,cAAgB,GAAI,sBACvB,CAAC,CAAC,KAAO,CArDf,QAsDQ,AAAI,EAAE,kBAAoB,EACxB,QAAK,aAAL,QAAiB,aAAa,cAAe,QAE7C,QAAK,aAAL,QAAiB,gBAAgB,gBAGrC,CAAE,UAAW,EAAG,WAAY,IAAI,EAAe,GAAK,qBAEtD,KAAK,OAGC,MAAO,CAjEjB,UAkEI,KAAK,eACL,OAAO,iBAAiB,SAAU,KAAK,cACvC,QAAK,aAAL,QAAiB,iBAAiB,WAAY,KAAK,mBACnD,GAAM,GAAa,SAAS,cAAc,kBAC1C,GAAI,SAAK,aAAL,cAAiB,kBAAmB,EAAY,CAClD,GAAM,GAAiB,SAAS,cAAc,OAC9C,EAAW,OAAO,GAClB,KAAK,eAAe,QAAQ,GAE9B,GAAI,QAAK,UAAL,cAAc,gBAAiB,CACjC,GAAM,GAAc,SAAS,cAAc,OAC3C,KAAK,QAAQ,QAAQ,GACrB,KAAK,YAAY,QAAQ,GAE3B,GAAI,KAAK,UAAW,CAClB,GAAM,GAAgB,SAAS,cAAc,OAC7C,KAAK,UAAU,QAAQ,GACvB,KAAK,cAAc,QAAQ,MAyB3B,EAAK,AAAwB,GAAqB,SAAS,cAAiB,GAClF,GAAI,GAAqB,EAAG,kBAAmB,EAAG,eAAgB,EAAG",
   "names": []
 }
diff --git a/static/frontend/unit/unit.min.css b/static/frontend/unit/unit.min.css
index 88a7605..b0e352a 100644
--- a/static/frontend/unit/unit.min.css
+++ b/static/frontend/unit/unit.min.css
@@ -3,5 +3,5 @@
  * Use of this source code is governed by a BSD-style
  * license that can be found in the LICENSE file.
  */
-.UnitHeader-titleHeading{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.UnitHeader-overflowContainer{display:none;height:1.5rem;position:absolute;right:0;width:1.5rem}.go-Main-header[data-fixed] .UnitHeader-overflowContainer{display:block}@media screen and (min-width: 80rem){.go-Main-header[data-fixed] .UnitHeader-overflowContainer{display:none}}.UnitHeader-overflowImage{fill:var(--gray-3);height:100%;left:0;position:absolute;top:0;width:100%}.UnitHeader-overflowSelect{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:transparent;cursor:pointer;font-size:1rem;height:100%;left:0;position:absolute;top:0;width:100%}.UnitHeader-overflowSelect option{color:var(--color-text)}.UnitHeader-versionBadge,.DetailsHeader-badge{border-radius:unset;color:var(--color-text-inverted);font-size:.7rem;line-height:.85rem;margin:-1rem 0 -1rem .5rem;padding:.25rem .5rem;text-transform:uppercase;top:-.0625rem}.UnitHeader-versionBadge--unknown,.DetailsHeader-badge--unknown{display:none}a.UnitHeader-backLink{color:var(--color-text);display:block;font-size:1rem}.UnitHeader-backLink img{vertical-align:middle}.DetailsHeader-badge--notAtLatest a{display:none}.DetailsHeader-badge--notAtLatest span.DetailsHeader-span--latest{display:none}.DetailsHeader-badge--notAtLatest .UnitMetaDetails-icon{z-index:1}.DetailsHeader-badge--notAtLatest .UnitMetaDetails-toggletipBubble{color:var(--black);text-transform:none}.DetailsHeader-span--notAtLatest .UnitMetaDetails-toggletip{height:0}.DetailsHeader-span--notAtLatest .UnitMetaDetails-toggletip button{height:.8125rem;line-height:0}.DetailsHeader-span--notAtLatest .UnitMetaDetails-toggletip img{vertical-align:middle}.DetailsHeader-badge--goToLatest span{display:none}.DetailsHeader-badge--goToLatest span.DetailsHeader-span--goToLatest{display:initial}.DetailsHeader-badge--unknown a{display:none}.DetailsHeader-badge--unknown span{display:none}.DetailsHeader-badge{border-radius:1rem;display:inline-block;font-size:.75rem;padding:.25rem .75rem;position:relative;top:-.125rem}.DetailsHeader-badge--latest a{display:none}.DetailsHeader-badge--latest span.DetailsHeader-span--notAtLatest{display:none}.DetailsHeader-badge--goToLatest,.DetailsHeader-badge--latest,.DetailsHeader-badge--notAtLatest{margin-left:.25rem}.go-Main{background-color:var(--color-background);color:var(--color-text);display:grid;flex-grow:1;grid-template-areas:"banner" "header" "aside" "nav" "article" "footer";grid-template-columns:100%;grid-template-rows:repeat(6,min-content);min-height:32rem}.go-Main-banner{grid-area:banner}.go-Main-header{background-color:var(--color-background);border-bottom:var(--border);font-size:.875rem;grid-area:header;min-height:var(--js-unit-header-height);padding:0 var(--gutter);position:sticky;top:var(--js-unit-header-top, 0);transition:box-shadow .25s linear;z-index:10}.go-Main-header[data-fixed]{border-bottom:none}.go-Main-header[data-raised]{border-bottom:var(--border)}.go-Main-nav{background-color:var(--color-background);border-bottom:var(--border);font-size:.875rem;grid-area:nav;padding:0 var(--gutter)}.go-Main-article{background-color:var(--color-background);grid-area:article;margin:var(--gap) 0 5rem 0;min-height:32rem;padding:0 var(--gutter)}.go-Main-aside{background-color:var(--color-background-accented);border-bottom:var(--border);font-size:.875rem;grid-area:aside;padding:1rem var(--gutter)}.go-Main-aside--empty{border-bottom:none;padding:0}.go-Main-footer{background-color:var(--color-background);grid-area:footer;padding:0 var(--gutter)}.go-Main>*:empty{border:none;margin:0;padding:0}.go-Main-headerBreadcrumb{margin-top:1rem}.go-Main-headerContent{margin-bottom:1rem;position:sticky;top:0}.go-Main-headerContent[data-fixed]{align-items:center;display:flex;margin-bottom:0;min-height:0}@media screen and (min-width: 80rem){.go-Main-headerContent[data-fixed]{justify-content:space-between}}.go-Main-headerTitle{align-items:center;display:flex;gap:.5rem;height:3.5rem;max-width:100%;padding-right:1.5rem}@media screen and (min-width: 80rem){.go-Main-headerTitle[data-fixed]{max-width:40%}}.go-Main-headerTitle .go-Clipboard{display:none}.go-Main-headerTitle[data-fixed] .go-Clipboard{display:initial}.go-Main-headerLogo{--logo-height: 1.75rem;--logo-width: calc(var(--logo-height) / .3768);align-items:center;display:flex;margin-right:-.5rem;opacity:0;transition:opacity .25s ease-in-out,width .25s ease-out;visibility:hidden;width:0}.go-Main-headerLogo img{height:var(--logo-height);margin:-1rem 0;width:var(--logo-width)}.go-Main-headerLogo[data-fixed]{margin-right:0;opacity:1;visibility:visible;width:var(--logo-width)}.go-Main-headerDetails{display:flex;flex-direction:row;flex-wrap:wrap;gap:0 1rem;white-space:nowrap}.go-Main-headerDetails[data-fixed]{display:none}@media screen and (min-width: 80rem){:root:not([data-layout="compact"]) .go-Main-headerDetails[data-fixed]{display:flex}}.go-Main-headerDetailItem{color:var(--color-text-subtle);display:inline;font-size:.875rem;height:1.75rem;line-height:1.75rem}.go-Main-headerDetailItem:not(:last-of-type):after{content:"|";padding-left:1rem}.go-Main-nav--sticky{position:sticky;top:var(--js-sticky-header-height, 3.5rem);transition:box-shadow .25s linear;z-index:1}.go-Main-nav--fixed{border-top:initial;box-shadow:var(--box-shadow)}.go-Main-navDesktop{display:none;margin-top:var(--gap);overflow-y:auto;padding:.25rem;position:sticky;top:calc(var(--js-sticky-header-height, 3.5rem) + 1rem)}.go-Main-navMobile{display:flex;margin:.5rem 0}.go-Main-navMobile .go-Label{flex-grow:1;position:relative}.go-Main-navMobile .go-Select{padding-left:1.75rem;width:100%}.go-Main-navMobile .go-Label:before{background:url(/static/shared/icon/list_gm_grey_24dp.svg);background-repeat:no-repeat;background-size:contain;content:" ";height:1.25rem;left:.5rem;padding-left:1rem;position:absolute;top:.375rem;width:1.25rem}@media not all and (min-resolution: .001dpcm){@supports (-webkit-appearance: none){.go-Main-navMobile .go-Select{-webkit-appearance:none;appearance:none}}}@media screen and (min-width: 80rem){:root[data-layout=responsive] .go-Main{grid-template-areas:"banner  banner" "header  header" "aside   aside" "nav     article" "footer  footer";grid-template-columns:21.5% minmax(0,auto);grid-template-rows:repeat(5,min-content)}:root[data-layout=responsive] .go-Main-nav{border-bottom:none;border-top:none;padding:0 0 0 var(--gutter)}:root:not([data-layout="stacked"]) .go-Main-header[data-raised]{box-shadow:var(--box-shadow)}:root[data-layout=responsive] .go-Main-article{border-bottom:none;border-top:none;margin:var(--gap) 0 5rem var(--gap);padding:0 var(--gutter) 0 0}:root[data-layout=responsive] .go-Main-aside{border-bottom:var(--border)}:root[data-layout=responsive] .go-Main-nav--sticky{position:initial}:root[data-layout=responsive] .go-Main-nav--fixed{box-shadow:none}:root[data-layout=responsive] .go-Main-navDesktop{display:block}:root[data-layout=responsive] .go-Main-navMobile{display:none}}@media screen and (min-width: 112rem){:root[data-layout=responsive] .go-Main{grid-template-areas:"banner banner  banner" "header header  header" "nav    article aside" "footer footer  footer";grid-template-columns:minmax(17.5%,1fr) minmax(0,4fr) minmax(17.5%,1fr);grid-template-rows:repeat(4,min-content)}:root[data-layout=responsive] .go-Main-article{margin:var(--gap) var(--gap) 5rem;padding:0}:root[data-layout=responsive] .go-Main-aside{background-color:var(--color-background);border-bottom:none;margin:var(--gap) 0 0 0;padding:0 var(--gutter) 0 0}}@media screen and (min-width: 80rem){:root[data-layout=compact] .go-Main{grid-template-areas:"banner  banner" "header  ." "header  nav" "aside   aside" "article article" "footer  footer";grid-template-columns:1fr auto;grid-template-rows:repeat(6,min-content)}:root[data-layout=compact] .go-Main-nav{align-items:center;border-bottom:var(--border);display:flex;top:calc((var(--js-main-header-height, 0) - var(--js-sticky-header-height, 3.5rem)) * -1)}:root[data-layout=compact] .go-Main-header[data-fixed]{box-shadow:none}:root[data-layout=compact] .go-Main-nav--sticky{height:var(--js-sticky-header-height, 3.5rem);position:sticky;top:0}:root[data-layout=compact] .go-Main-nav--fixed{box-shadow:none}:root[data-layout=compact] .go-Main-navDesktop{display:none}:root[data-layout=compact] .go-Main-navMobile{display:flex}}@media print{.go-Main-header--sticky,.go-Main-header--sticky>:last-child,.go-Main-nav--sticky,.go-Main-navDesktop{position:initial}}
+.UnitHeader-titleHeading{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.UnitHeader-overflowContainer{display:none;height:1.5rem;position:absolute;right:0;width:1.5rem}.go-Main-header[data-fixed] .UnitHeader-overflowContainer{display:block}@media screen and (min-width: 80rem){.go-Main-header[data-fixed] .UnitHeader-overflowContainer{display:none}}.UnitHeader-overflowImage{fill:var(--gray-3);height:100%;left:0;position:absolute;top:0;width:100%}.UnitHeader-overflowSelect{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:transparent;cursor:pointer;font-size:1rem;height:100%;left:0;position:absolute;top:0;width:100%}.UnitHeader-overflowSelect option{color:var(--color-text)}.UnitHeader-versionBadge,.DetailsHeader-badge{border-radius:unset;color:var(--color-text-inverted);font-size:.7rem;line-height:.85rem;margin:-1rem 0 -1rem .5rem;padding:.25rem .5rem;text-transform:uppercase;top:-.0625rem}.UnitHeader-versionBadge--unknown,.DetailsHeader-badge--unknown{display:none}a.UnitHeader-backLink{color:var(--color-text);display:block;font-size:1rem}.UnitHeader-backLink img{vertical-align:middle}.DetailsHeader-badge--notAtLatest a{display:none}.DetailsHeader-badge--notAtLatest span.DetailsHeader-span--latest{display:none}.DetailsHeader-badge--notAtLatest .UnitMetaDetails-icon{z-index:1}.DetailsHeader-badge--notAtLatest .UnitMetaDetails-toggletipBubble{color:var(--black);text-transform:none}.DetailsHeader-span--notAtLatest .UnitMetaDetails-toggletip{height:0}.DetailsHeader-span--notAtLatest .UnitMetaDetails-toggletip button{height:.8125rem;line-height:0}.DetailsHeader-span--notAtLatest .UnitMetaDetails-toggletip img{vertical-align:middle}.DetailsHeader-badge--goToLatest span{display:none}.DetailsHeader-badge--goToLatest span.DetailsHeader-span--goToLatest{display:initial}.DetailsHeader-badge--unknown a{display:none}.DetailsHeader-badge--unknown span{display:none}.DetailsHeader-badge{border-radius:1rem;display:inline-block;font-size:.75rem;padding:.25rem .75rem;position:relative;top:-.125rem}.DetailsHeader-badge--latest a{display:none}.DetailsHeader-badge--latest span.DetailsHeader-span--notAtLatest{display:none}.DetailsHeader-badge--goToLatest,.DetailsHeader-badge--latest,.DetailsHeader-badge--notAtLatest{margin-left:.25rem}.go-Main{background-color:var(--color-background);color:var(--color-text);display:grid;flex-grow:1;grid-template-areas:"banner" "header" "aside" "nav" "article" "footer";grid-template-columns:100%;grid-template-rows:repeat(6,min-content);min-height:32rem}.go-Main-banner{grid-area:banner}.go-Main-header{background-color:var(--color-background);border-bottom:var(--border);font-size:.875rem;grid-area:header;min-height:var(--js-unit-header-height);padding:0 var(--gutter);transition:box-shadow .25s linear;z-index:10}.go-Main-header[data-fixed]{border-bottom:none;position:sticky;top:var(--js-unit-header-top, 0)}.go-Main-header[data-raised]{border-bottom:var(--border)}.go-Main-nav{background-color:var(--color-background);border-bottom:var(--border);font-size:.875rem;grid-area:nav;padding:0 var(--gutter)}.go-Main-article{background-color:var(--color-background);grid-area:article;margin:var(--gap) 0 5rem 0;min-height:32rem;padding:0 var(--gutter)}.go-Main-aside{background-color:var(--color-background-accented);border-bottom:var(--border);font-size:.875rem;grid-area:aside;padding:1rem var(--gutter)}.go-Main-aside--empty{border-bottom:none;padding:0}.go-Main-footer{background-color:var(--color-background);grid-area:footer;padding:0 var(--gutter)}.go-Main>*:empty{border:none;margin:0;padding:0}.go-Main-headerBreadcrumb{margin-top:1rem}.go-Main-headerContent{margin-bottom:1rem;position:sticky;top:0}.go-Main-headerContent[data-fixed]{align-items:center;display:flex;margin-bottom:0;min-height:0}@media screen and (min-width: 80rem){.go-Main-headerContent[data-fixed]{justify-content:space-between}}.go-Main-headerTitle{align-items:center;display:flex;gap:.5rem;height:3.5rem;max-width:100%;padding-right:1.5rem}@media screen and (min-width: 80rem){.go-Main-headerTitle[data-fixed]{max-width:40%}}.go-Main-headerTitle .go-Clipboard{display:none}.go-Main-headerTitle[data-fixed] .go-Clipboard{display:initial}.go-Main-headerLogo{--logo-height: 1.75rem;--logo-width: calc(var(--logo-height) / .3768);align-items:center;display:flex;margin-right:-.5rem;opacity:0;transition:opacity .25s ease-in-out,width .25s ease-out;visibility:hidden;width:0}.go-Main-headerLogo img{height:var(--logo-height);margin:-1rem 0;width:var(--logo-width)}.go-Main-headerLogo[data-fixed]{margin-right:0;opacity:1;visibility:visible;width:var(--logo-width)}.go-Main-headerDetails{display:flex;flex-direction:row;flex-wrap:wrap;gap:0 1rem;white-space:nowrap}.go-Main-headerDetails[data-fixed]{display:none}@media screen and (min-width: 80rem){:root:not([data-layout="compact"]) .go-Main-headerDetails[data-fixed]{display:flex}}.go-Main-headerDetailItem{color:var(--color-text-subtle);display:inline;font-size:.875rem;height:1.75rem;line-height:1.75rem}.go-Main-headerDetailItem:not(:last-of-type):after{content:"|";padding-left:1rem}.go-Main-nav--sticky{position:sticky;top:var(--js-sticky-header-height, 3.5rem);transition:box-shadow .25s linear;z-index:1}.go-Main-nav--fixed{border-top:initial;box-shadow:var(--box-shadow)}.go-Main-navDesktop{display:none;margin-top:var(--gap);overflow-y:auto;padding:.25rem;position:sticky;top:calc(var(--js-sticky-header-height, 3.5rem) + 1rem)}.go-Main-navMobile{display:flex;margin:.5rem 0}.go-Main-navMobile .go-Label{flex-grow:1;position:relative}.go-Main-navMobile .go-Select{padding-left:1.75rem;width:100%}.go-Main-navMobile .go-Label:before{background:url(/static/shared/icon/list_gm_grey_24dp.svg);background-repeat:no-repeat;background-size:contain;content:" ";height:1.25rem;left:.5rem;padding-left:1rem;position:absolute;top:.375rem;width:1.25rem}@media not all and (min-resolution: .001dpcm){@supports (-webkit-appearance: none){.go-Main-navMobile .go-Select{-webkit-appearance:none;appearance:none}}}@media screen and (min-width: 80rem){:root[data-layout=responsive] .go-Main{grid-template-areas:"banner  banner" "header  header" "aside   aside" "nav     article" "footer  footer";grid-template-columns:21.5% minmax(0,auto);grid-template-rows:repeat(5,min-content)}:root[data-layout=responsive] .go-Main-nav{border-bottom:none;border-top:none;padding:0 0 0 var(--gutter)}:root:not([data-layout="stacked"]) .go-Main-header[data-raised]{box-shadow:var(--box-shadow)}:root[data-layout=responsive] .go-Main-article{border-bottom:none;border-top:none;margin:var(--gap) 0 5rem var(--gap);padding:0 var(--gutter) 0 0}:root[data-layout=responsive] .go-Main-aside{border-bottom:var(--border)}:root[data-layout=responsive] .go-Main-nav--sticky{position:initial}:root[data-layout=responsive] .go-Main-nav--fixed{box-shadow:none}:root[data-layout=responsive] .go-Main-navDesktop{display:block}:root[data-layout=responsive] .go-Main-navMobile{display:none}}@media screen and (min-width: 112rem){:root[data-layout=responsive] .go-Main{grid-template-areas:"banner banner  banner" "header header  header" "nav    article aside" "footer footer  footer";grid-template-columns:minmax(17.5%,1fr) minmax(0,4fr) minmax(17.5%,1fr);grid-template-rows:repeat(4,min-content)}:root[data-layout=responsive] .go-Main-article{margin:var(--gap) var(--gap) 5rem;padding:0}:root[data-layout=responsive] .go-Main-aside{background-color:var(--color-background);border-bottom:none;margin:var(--gap) 0 0 0;padding:0 var(--gutter) 0 0}}@media screen and (min-width: 80rem){:root[data-layout=compact] .go-Main{grid-template-areas:"banner  banner" "header  ." "header  nav" "aside   aside" "article article" "footer  footer";grid-template-columns:1fr auto;grid-template-rows:repeat(6,min-content)}:root[data-layout=compact] .go-Main-nav{align-items:center;border-bottom:var(--border);display:flex;top:calc((var(--js-main-header-height, 0) - var(--js-sticky-header-height, 3.5rem)) * -1)}:root[data-layout=compact] .go-Main-header[data-fixed]{box-shadow:none}:root[data-layout=compact] .go-Main-nav--sticky{height:var(--js-sticky-header-height, 3.5rem);position:sticky;top:0}:root[data-layout=compact] .go-Main-nav--fixed{box-shadow:none}:root[data-layout=compact] .go-Main-navDesktop{display:none}:root[data-layout=compact] .go-Main-navMobile{display:flex}}@media print{.go-Main-header--sticky,.go-Main-header--sticky>:last-child,.go-Main-nav--sticky,.go-Main-navDesktop{position:initial}}
 /*# sourceMappingURL=unit.min.css.map */
diff --git a/static/frontend/unit/unit.min.css.map b/static/frontend/unit/unit.min.css.map
index d8cbc19..8327c8f 100644
--- a/static/frontend/unit/unit.min.css.map
+++ b/static/frontend/unit/unit.min.css.map
@@ -1,7 +1,7 @@
 {
   "version": 3,
   "sources": ["_header.css", "unit.css"],
-  "sourcesContent": ["/*!\n * Copyright 2020-2021 The Go Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n\n.UnitHeader-titleHeading {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.UnitHeader-overflowContainer {\n  display: none;\n  height: 1.5rem;\n  position: absolute;\n  right: 0;\n  width: 1.5rem;\n}\n.go-Main-header[data-fixed] .UnitHeader-overflowContainer {\n  display: block;\n}\n@media screen and (min-width: 80rem) {\n  .go-Main-header[data-fixed] .UnitHeader-overflowContainer {\n    display: none;\n  }\n}\n.UnitHeader-overflowImage {\n  fill: var(--gray-3);\n  height: 100%;\n  left: 0;\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n.UnitHeader-overflowSelect {\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  appearance: none;\n  background: transparent;\n  border: 0;\n  color: transparent;\n  cursor: pointer;\n  font-size: 1rem;\n  height: 100%;\n  left: 0;\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n.UnitHeader-overflowSelect option {\n  color: var(--color-text);\n}\n\n.UnitHeader-versionBadge,\n.DetailsHeader-badge {\n  border-radius: unset;\n  color: var(--color-text-inverted);\n  font-size: 0.7rem;\n  line-height: 0.85rem;\n  margin: -1rem 0 -1rem 0.5rem;\n  padding: 0.25rem 0.5rem;\n  text-transform: uppercase;\n  top: -0.0625rem;\n}\n.UnitHeader-versionBadge--unknown,\n.DetailsHeader-badge--unknown {\n  display: none;\n}\n\na.UnitHeader-backLink {\n  color: var(--color-text);\n  display: block;\n  font-size: 1rem;\n}\n.UnitHeader-backLink img {\n  vertical-align: middle;\n}\n\n.DetailsHeader-badge--notAtLatest a {\n  display: none;\n}\n.DetailsHeader-badge--notAtLatest span.DetailsHeader-span--latest {\n  display: none;\n}\n.DetailsHeader-badge--notAtLatest .UnitMetaDetails-icon {\n  z-index: 1;\n}\n.DetailsHeader-badge--notAtLatest .UnitMetaDetails-toggletipBubble {\n  color: var(--black);\n  text-transform: none;\n}\n.DetailsHeader-span--notAtLatest .UnitMetaDetails-toggletip {\n  height: 0;\n}\n.DetailsHeader-span--notAtLatest .UnitMetaDetails-toggletip button {\n  height: 0.8125rem;\n  line-height: 0;\n}\n.DetailsHeader-span--notAtLatest .UnitMetaDetails-toggletip img {\n  vertical-align: middle;\n}\n\n.DetailsHeader-badge--goToLatest span {\n  display: none;\n}\n.DetailsHeader-badge--goToLatest span.DetailsHeader-span--goToLatest {\n  display: initial;\n}\n.DetailsHeader-badge--unknown a {\n  display: none;\n}\n.DetailsHeader-badge--unknown span {\n  display: none;\n}\n\n.DetailsHeader-badge {\n  border-radius: 1rem;\n  display: inline-block;\n  font-size: 0.75rem;\n  padding: 0.25rem 0.75rem;\n  position: relative;\n  top: -0.125rem;\n}\n\n.DetailsHeader-badge--latest a {\n  display: none;\n}\n.DetailsHeader-badge--latest span.DetailsHeader-span--notAtLatest {\n  display: none;\n}\n\n.DetailsHeader-badge--goToLatest,\n.DetailsHeader-badge--latest,\n.DetailsHeader-badge--notAtLatest {\n  margin-left: 0.25rem;\n}\n", "/*!\n * Copyright 2021 The Go Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n\n@import url('./_header.css');\n\n.go-Main {\n  background-color: var(--color-background);\n  color: var(--color-text);\n  display: grid;\n  flex-grow: 1;\n  grid-template-areas:\n    'banner'\n    'header'\n    'aside'\n    'nav'\n    'article'\n    'footer';\n  grid-template-columns: 100%;\n  grid-template-rows: repeat(6, min-content);\n  min-height: 32rem;\n}\n\n.go-Main-banner {\n  grid-area: banner;\n}\n.go-Main-header {\n  background-color: var(--color-background);\n  border-bottom: var(--border);\n  font-size: 0.875rem;\n  grid-area: header;\n  min-height: var(--js-unit-header-height);\n  padding: 0 var(--gutter);\n  position: sticky;\n  top: var(--js-unit-header-top, 0);\n  transition: box-shadow 0.25s linear;\n  z-index: 10;\n}\n.go-Main-header[data-fixed] {\n  border-bottom: none;\n}\n.go-Main-header[data-raised] {\n  border-bottom: var(--border);\n}\n.go-Main-nav {\n  background-color: var(--color-background);\n  border-bottom: var(--border);\n  font-size: 0.875rem;\n  grid-area: nav;\n  padding: 0 var(--gutter);\n}\n.go-Main-article {\n  background-color: var(--color-background);\n  grid-area: article;\n  margin: var(--gap) 0 5rem 0;\n  min-height: 32rem;\n  padding: 0 var(--gutter);\n}\n.go-Main-aside {\n  background-color: var(--color-background-accented);\n  border-bottom: var(--border);\n  font-size: 0.875rem;\n  grid-area: aside;\n  padding: 1rem var(--gutter);\n}\n.go-Main-aside--empty {\n  border-bottom: none;\n  padding: 0;\n}\n.go-Main-footer {\n  background-color: var(--color-background);\n  grid-area: footer;\n  padding: 0 var(--gutter);\n}\n\n.go-Main > *:empty {\n  border: none;\n  margin: 0;\n  padding: 0;\n}\n\n.go-Main-headerBreadcrumb {\n  margin-top: 1rem;\n}\n.go-Main-headerContent {\n  margin-bottom: 1rem;\n  position: sticky;\n  top: 0;\n}\n.go-Main-headerContent[data-fixed] {\n  align-items: center;\n  display: flex;\n  margin-bottom: 0;\n  min-height: 0;\n}\n@media screen and (min-width: 80rem) {\n  .go-Main-headerContent[data-fixed] {\n    justify-content: space-between;\n  }\n}\n\n.go-Main-headerTitle {\n  align-items: center;\n  display: flex;\n  gap: 0.5rem;\n  height: 3.5rem;\n  max-width: 100%;\n  padding-right: 1.5rem;\n}\n@media screen and (min-width: 80rem) {\n  .go-Main-headerTitle[data-fixed] {\n    max-width: 40%;\n  }\n}\n.go-Main-headerTitle .go-Clipboard {\n  display: none;\n}\n.go-Main-headerTitle[data-fixed] .go-Clipboard {\n  display: initial;\n}\n\n.go-Main-headerLogo {\n  --logo-height: 1.75rem;\n  --logo-width: calc(var(--logo-height) / 0.3768);\n\n  align-items: center;\n  display: flex;\n  margin-right: -0.5rem;\n  opacity: 0;\n  transition: opacity 0.25s ease-in-out, width 0.25s ease-out;\n  visibility: hidden;\n  width: 0;\n}\n.go-Main-headerLogo img {\n  height: var(--logo-height);\n  margin: -1rem 0;\n  width: var(--logo-width);\n}\n.go-Main-headerLogo[data-fixed] {\n  margin-right: 0;\n  opacity: 1;\n  visibility: visible;\n  width: var(--logo-width);\n}\n\n.go-Main-headerDetails {\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  gap: 0 1rem;\n  white-space: nowrap;\n}\n.go-Main-headerDetails[data-fixed] {\n  display: none;\n}\n@media screen and (min-width: 80rem) {\n  :root:not([data-layout='compact']) .go-Main-headerDetails[data-fixed] {\n    display: flex;\n  }\n}\n.go-Main-headerDetailItem {\n  color: var(--color-text-subtle);\n  display: inline;\n  font-size: 0.875rem;\n  height: 1.75rem;\n  line-height: 1.75rem;\n}\n.go-Main-headerDetailItem:not(:last-of-type)::after {\n  content: '|';\n  padding-left: 1rem;\n}\n\n.go-Main-nav--sticky {\n  position: sticky;\n  top: var(--js-sticky-header-height, 3.5rem);\n  transition: box-shadow 0.25s linear;\n  z-index: 1;\n}\n.go-Main-nav--fixed {\n  border-top: initial;\n  box-shadow: var(--box-shadow);\n}\n\n.go-Main-navDesktop {\n  display: none;\n  margin-top: var(--gap);\n  overflow-y: auto;\n  padding: 0.25rem;\n  position: sticky;\n  top: calc(var(--js-sticky-header-height, 3.5rem) + 1rem);\n}\n.go-Main-navMobile {\n  display: flex;\n  margin: 0.5rem 0;\n}\n.go-Main-navMobile .go-Label {\n  flex-grow: 1;\n  position: relative;\n}\n.go-Main-navMobile .go-Select {\n  padding-left: 1.75rem;\n  width: 100%;\n}\n.go-Main-navMobile .go-Label::before {\n  background: url(/static/shared/icon/list_gm_grey_24dp.svg);\n  background-repeat: no-repeat;\n  background-size: contain;\n  content: ' ';\n  height: 1.25rem;\n  left: 0.5rem;\n  padding-left: 1rem;\n  position: absolute;\n  top: 0.375rem;\n  width: 1.25rem;\n}\n\n/* Safari only */\n@media not all and (min-resolution: 0.001dpcm) {\n  @supports (-webkit-appearance: none) {\n    .go-Main-navMobile .go-Select {\n      -webkit-appearance: none;\n      appearance: none;\n    }\n  }\n}\n\n@media screen and (min-width: 80rem) {\n  :root[data-layout='responsive'] .go-Main {\n    grid-template-areas:\n      'banner  banner'\n      'header  header'\n      'aside   aside'\n      'nav     article'\n      'footer  footer';\n    grid-template-columns: 21.5% minmax(0, auto);\n    grid-template-rows: repeat(5, min-content);\n  }\n  :root[data-layout='responsive'] .go-Main-nav {\n    border-bottom: none;\n    border-top: none;\n    padding: 0 0 0 var(--gutter);\n  }\n  :root:not([data-layout='stacked']) .go-Main-header[data-raised] {\n    box-shadow: var(--box-shadow);\n  }\n  :root[data-layout='responsive'] .go-Main-article {\n    border-bottom: none;\n    border-top: none;\n    margin: var(--gap) 0 5rem var(--gap);\n    padding: 0 var(--gutter) 0 0;\n  }\n  :root[data-layout='responsive'] .go-Main-aside {\n    border-bottom: var(--border);\n  }\n  :root[data-layout='responsive'] .go-Main-nav--sticky {\n    position: initial;\n  }\n  :root[data-layout='responsive'] .go-Main-nav--fixed {\n    box-shadow: none;\n  }\n  :root[data-layout='responsive'] .go-Main-navDesktop {\n    display: block;\n  }\n  :root[data-layout='responsive'] .go-Main-navMobile {\n    display: none;\n  }\n}\n\n@media screen and (min-width: 112rem) {\n  :root[data-layout='responsive'] .go-Main {\n    grid-template-areas:\n      'banner banner  banner'\n      'header header  header'\n      'nav    article aside'\n      'footer footer  footer';\n    grid-template-columns: minmax(17.5%, 1fr) minmax(0, 4fr) minmax(17.5%, 1fr);\n    grid-template-rows: repeat(4, min-content);\n  }\n  :root[data-layout='responsive'] .go-Main-article {\n    margin: var(--gap) var(--gap) 5rem;\n    padding: 0;\n  }\n  :root[data-layout='responsive'] .go-Main-aside {\n    background-color: var(--color-background);\n    border-bottom: none;\n    margin: var(--gap) 0 0 0;\n    padding: 0 var(--gutter) 0 0;\n  }\n}\n\n@media screen and (min-width: 80rem) {\n  :root[data-layout='compact'] .go-Main {\n    grid-template-areas:\n      'banner  banner'\n      'header  .'\n      'header  nav'\n      'aside   aside'\n      'article article'\n      'footer  footer';\n    grid-template-columns: 1fr auto;\n    grid-template-rows: repeat(6, min-content);\n  }\n  :root[data-layout='compact'] .go-Main-nav {\n    align-items: center;\n    border-bottom: var(--border);\n    display: flex;\n    top: calc((var(--js-main-header-height, 0) - var(--js-sticky-header-height, 3.5rem)) * -1);\n  }\n  :root[data-layout='compact'] .go-Main-header[data-fixed] {\n    box-shadow: none;\n  }\n  :root[data-layout='compact'] .go-Main-nav--sticky {\n    height: var(--js-sticky-header-height, 3.5rem);\n    position: sticky;\n    top: 0;\n  }\n  :root[data-layout='compact'] .go-Main-nav--fixed {\n    box-shadow: none;\n  }\n  :root[data-layout='compact'] .go-Main-navDesktop {\n    display: none;\n  }\n  :root[data-layout='compact'] .go-Main-navMobile {\n    display: flex;\n  }\n}\n\n@media print {\n  .go-Main-header--sticky,\n  .go-Main-header--sticky > :last-child,\n  .go-Main-nav--sticky,\n  .go-Main-navDesktop {\n    position: initial;\n  }\n}\n"],
-  "mappings": ";;;;;AAMA,yBACE,gBACA,uBACA,mBAEF,8BACE,aACA,cACA,kBACA,QACA,aAEF,0DACE,cAEF,qCACE,0DACE,cAGJ,0BACE,mBACA,YACA,OACA,kBACA,MACA,WAEF,2BACE,wBACA,qBACA,gBACA,uBACA,SACA,kBACA,eACA,eACA,YACA,OACA,kBACA,MACA,WAEF,kCACE,wBAGF,8CArDA,oBAwDE,iCACA,gBACA,mBA1DF,gDA6DE,yBACA,cAEF,gEAEE,aAGF,sBACE,wBACA,cACA,eAEF,yBACE,sBAGF,oCACE,aAEF,kEACE,aAEF,wDACE,UAEF,mEACE,mBACA,oBAEF,4DACE,SAEF,mEACE,gBACA,cAEF,gEACE,sBAGF,sCACE,aAEF,qEACE,gBAEF,gCACE,aAEF,mCACE,aAGF,qBAnHA,mBAqHE,qBACA,iBAtHF,sBAwHE,kBACA,aAGF,+BACE,aAEF,kEACE,aAGF,gGAGE,mBC9HF,SACE,yCACA,wBACA,aACA,YACA,uEAOA,2BACA,yCACA,iBAGF,gBACE,iBAEF,gBACE,yCACA,4BACA,kBACA,iBACA,wCACA,wBACA,gBACA,iCACA,kCACA,WAEF,4BACE,mBAEF,6BACE,4BAEF,aACE,yCACA,4BACA,kBACA,cACA,wBAEF,iBACE,yCACA,kBACA,2BACA,iBACA,wBAEF,eACE,kDACA,4BACA,kBACA,gBACA,2BAEF,sBACE,mBApEF,UAuEA,gBACE,yCACA,iBACA,wBAGF,iBACE,YA9EF,mBAmFA,0BACE,gBAEF,uBACE,mBACA,gBACA,MAEF,mCACE,mBACA,aACA,gBACA,aAEF,qCACE,mCACE,+BAIJ,qBACE,mBACA,aACA,UACA,cACA,eACA,qBAEF,qCACE,iCACE,eAGJ,mCACE,aAEF,+CACE,gBAGF,oBACE,uBACA,+CAEA,mBACA,aACA,oBACA,UACA,wDACA,kBACA,QAEF,wBACE,0BAxIF,eA0IE,wBAEF,gCACE,eACA,UACA,mBACA,wBAGF,uBACE,aACA,mBACA,eACA,WACA,mBAEF,mCACE,aAEF,qCACE,sEACE,cAGJ,0BACE,+BACA,eACA,kBACA,eACA,oBAEF,mDACE,YACA,kBAGF,qBACE,gBACA,2CACA,kCACA,UAEF,oBACE,mBACA,6BAGF,oBACE,aACA,sBACA,gBA5LF,eA8LE,gBACA,wDAEF,mBACE,aAlMF,eAqMA,6BACE,YACA,kBAEF,8BACE,qBACA,WAEF,oCACE,0DACA,4BACA,wBACA,YACA,eACA,WACA,kBACA,kBACA,YACA,cAIF,8CACE,qCACE,8BACE,wBACA,kBAKN,qCACE,uCACE,yGAMA,2CACA,yCAEF,2CACE,mBACA,gBACA,4BAEF,gEACE,6BAEF,+CACE,mBACA,gBACA,oCACA,4BAEF,6CACE,4BAEF,mDACE,iBAEF,kDACE,gBAEF,kDACE,cAEF,iDACE,cAIJ,sCACE,uCACE,mHAKA,wEACA,yCAEF,+CACE,kCAzRJ,UA4RE,6CACE,yCACA,mBACA,wBACA,6BAIJ,qCACE,oCACE,kHAOA,+BACA,yCAEF,wCACE,mBACA,4BACA,aACA,0FAEF,uDACE,gBAEF,gDACE,8CACA,gBACA,MAEF,+CACE,gBAEF,+CACE,aAEF,8CACE,cAIJ,aACE,qGAIE",
+  "sourcesContent": ["/*!\n * Copyright 2020-2021 The Go Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n\n.UnitHeader-titleHeading {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.UnitHeader-overflowContainer {\n  display: none;\n  height: 1.5rem;\n  position: absolute;\n  right: 0;\n  width: 1.5rem;\n}\n.go-Main-header[data-fixed] .UnitHeader-overflowContainer {\n  display: block;\n}\n@media screen and (min-width: 80rem) {\n  .go-Main-header[data-fixed] .UnitHeader-overflowContainer {\n    display: none;\n  }\n}\n.UnitHeader-overflowImage {\n  fill: var(--gray-3);\n  height: 100%;\n  left: 0;\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n.UnitHeader-overflowSelect {\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  appearance: none;\n  background: transparent;\n  border: 0;\n  color: transparent;\n  cursor: pointer;\n  font-size: 1rem;\n  height: 100%;\n  left: 0;\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n.UnitHeader-overflowSelect option {\n  color: var(--color-text);\n}\n\n.UnitHeader-versionBadge,\n.DetailsHeader-badge {\n  border-radius: unset;\n  color: var(--color-text-inverted);\n  font-size: 0.7rem;\n  line-height: 0.85rem;\n  margin: -1rem 0 -1rem 0.5rem;\n  padding: 0.25rem 0.5rem;\n  text-transform: uppercase;\n  top: -0.0625rem;\n}\n.UnitHeader-versionBadge--unknown,\n.DetailsHeader-badge--unknown {\n  display: none;\n}\n\na.UnitHeader-backLink {\n  color: var(--color-text);\n  display: block;\n  font-size: 1rem;\n}\n.UnitHeader-backLink img {\n  vertical-align: middle;\n}\n\n.DetailsHeader-badge--notAtLatest a {\n  display: none;\n}\n.DetailsHeader-badge--notAtLatest span.DetailsHeader-span--latest {\n  display: none;\n}\n.DetailsHeader-badge--notAtLatest .UnitMetaDetails-icon {\n  z-index: 1;\n}\n.DetailsHeader-badge--notAtLatest .UnitMetaDetails-toggletipBubble {\n  color: var(--black);\n  text-transform: none;\n}\n.DetailsHeader-span--notAtLatest .UnitMetaDetails-toggletip {\n  height: 0;\n}\n.DetailsHeader-span--notAtLatest .UnitMetaDetails-toggletip button {\n  height: 0.8125rem;\n  line-height: 0;\n}\n.DetailsHeader-span--notAtLatest .UnitMetaDetails-toggletip img {\n  vertical-align: middle;\n}\n\n.DetailsHeader-badge--goToLatest span {\n  display: none;\n}\n.DetailsHeader-badge--goToLatest span.DetailsHeader-span--goToLatest {\n  display: initial;\n}\n.DetailsHeader-badge--unknown a {\n  display: none;\n}\n.DetailsHeader-badge--unknown span {\n  display: none;\n}\n\n.DetailsHeader-badge {\n  border-radius: 1rem;\n  display: inline-block;\n  font-size: 0.75rem;\n  padding: 0.25rem 0.75rem;\n  position: relative;\n  top: -0.125rem;\n}\n\n.DetailsHeader-badge--latest a {\n  display: none;\n}\n.DetailsHeader-badge--latest span.DetailsHeader-span--notAtLatest {\n  display: none;\n}\n\n.DetailsHeader-badge--goToLatest,\n.DetailsHeader-badge--latest,\n.DetailsHeader-badge--notAtLatest {\n  margin-left: 0.25rem;\n}\n", "/*!\n * Copyright 2021 The Go Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n\n@import url('./_header.css');\n\n.go-Main {\n  background-color: var(--color-background);\n  color: var(--color-text);\n  display: grid;\n  flex-grow: 1;\n  grid-template-areas:\n    'banner'\n    'header'\n    'aside'\n    'nav'\n    'article'\n    'footer';\n  grid-template-columns: 100%;\n  grid-template-rows: repeat(6, min-content);\n  min-height: 32rem;\n}\n\n.go-Main-banner {\n  grid-area: banner;\n}\n.go-Main-header {\n  background-color: var(--color-background);\n  border-bottom: var(--border);\n  font-size: 0.875rem;\n  grid-area: header;\n  min-height: var(--js-unit-header-height);\n  padding: 0 var(--gutter);\n  transition: box-shadow 0.25s linear;\n  z-index: 10;\n}\n.go-Main-header[data-fixed] {\n  border-bottom: none;\n  position: sticky;\n  top: var(--js-unit-header-top, 0);\n}\n.go-Main-header[data-raised] {\n  border-bottom: var(--border);\n}\n.go-Main-nav {\n  background-color: var(--color-background);\n  border-bottom: var(--border);\n  font-size: 0.875rem;\n  grid-area: nav;\n  padding: 0 var(--gutter);\n}\n.go-Main-article {\n  background-color: var(--color-background);\n  grid-area: article;\n  margin: var(--gap) 0 5rem 0;\n  min-height: 32rem;\n  padding: 0 var(--gutter);\n}\n.go-Main-aside {\n  background-color: var(--color-background-accented);\n  border-bottom: var(--border);\n  font-size: 0.875rem;\n  grid-area: aside;\n  padding: 1rem var(--gutter);\n}\n.go-Main-aside--empty {\n  border-bottom: none;\n  padding: 0;\n}\n.go-Main-footer {\n  background-color: var(--color-background);\n  grid-area: footer;\n  padding: 0 var(--gutter);\n}\n\n.go-Main > *:empty {\n  border: none;\n  margin: 0;\n  padding: 0;\n}\n\n.go-Main-headerBreadcrumb {\n  margin-top: 1rem;\n}\n.go-Main-headerContent {\n  margin-bottom: 1rem;\n  position: sticky;\n  top: 0;\n}\n.go-Main-headerContent[data-fixed] {\n  align-items: center;\n  display: flex;\n  margin-bottom: 0;\n  min-height: 0;\n}\n@media screen and (min-width: 80rem) {\n  .go-Main-headerContent[data-fixed] {\n    justify-content: space-between;\n  }\n}\n\n.go-Main-headerTitle {\n  align-items: center;\n  display: flex;\n  gap: 0.5rem;\n  height: 3.5rem;\n  max-width: 100%;\n  padding-right: 1.5rem;\n}\n@media screen and (min-width: 80rem) {\n  .go-Main-headerTitle[data-fixed] {\n    max-width: 40%;\n  }\n}\n.go-Main-headerTitle .go-Clipboard {\n  display: none;\n}\n.go-Main-headerTitle[data-fixed] .go-Clipboard {\n  display: initial;\n}\n\n.go-Main-headerLogo {\n  --logo-height: 1.75rem;\n  --logo-width: calc(var(--logo-height) / 0.3768);\n\n  align-items: center;\n  display: flex;\n  margin-right: -0.5rem;\n  opacity: 0;\n  transition: opacity 0.25s ease-in-out, width 0.25s ease-out;\n  visibility: hidden;\n  width: 0;\n}\n.go-Main-headerLogo img {\n  height: var(--logo-height);\n  margin: -1rem 0;\n  width: var(--logo-width);\n}\n.go-Main-headerLogo[data-fixed] {\n  margin-right: 0;\n  opacity: 1;\n  visibility: visible;\n  width: var(--logo-width);\n}\n\n.go-Main-headerDetails {\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  gap: 0 1rem;\n  white-space: nowrap;\n}\n.go-Main-headerDetails[data-fixed] {\n  display: none;\n}\n@media screen and (min-width: 80rem) {\n  :root:not([data-layout='compact']) .go-Main-headerDetails[data-fixed] {\n    display: flex;\n  }\n}\n.go-Main-headerDetailItem {\n  color: var(--color-text-subtle);\n  display: inline;\n  font-size: 0.875rem;\n  height: 1.75rem;\n  line-height: 1.75rem;\n}\n.go-Main-headerDetailItem:not(:last-of-type)::after {\n  content: '|';\n  padding-left: 1rem;\n}\n\n.go-Main-nav--sticky {\n  position: sticky;\n  top: var(--js-sticky-header-height, 3.5rem);\n  transition: box-shadow 0.25s linear;\n  z-index: 1;\n}\n.go-Main-nav--fixed {\n  border-top: initial;\n  box-shadow: var(--box-shadow);\n}\n\n.go-Main-navDesktop {\n  display: none;\n  margin-top: var(--gap);\n  overflow-y: auto;\n  padding: 0.25rem;\n  position: sticky;\n  top: calc(var(--js-sticky-header-height, 3.5rem) + 1rem);\n}\n.go-Main-navMobile {\n  display: flex;\n  margin: 0.5rem 0;\n}\n.go-Main-navMobile .go-Label {\n  flex-grow: 1;\n  position: relative;\n}\n.go-Main-navMobile .go-Select {\n  padding-left: 1.75rem;\n  width: 100%;\n}\n.go-Main-navMobile .go-Label::before {\n  background: url(/static/shared/icon/list_gm_grey_24dp.svg);\n  background-repeat: no-repeat;\n  background-size: contain;\n  content: ' ';\n  height: 1.25rem;\n  left: 0.5rem;\n  padding-left: 1rem;\n  position: absolute;\n  top: 0.375rem;\n  width: 1.25rem;\n}\n\n/* Safari only */\n@media not all and (min-resolution: 0.001dpcm) {\n  @supports (-webkit-appearance: none) {\n    .go-Main-navMobile .go-Select {\n      -webkit-appearance: none;\n      appearance: none;\n    }\n  }\n}\n\n@media screen and (min-width: 80rem) {\n  :root[data-layout='responsive'] .go-Main {\n    grid-template-areas:\n      'banner  banner'\n      'header  header'\n      'aside   aside'\n      'nav     article'\n      'footer  footer';\n    grid-template-columns: 21.5% minmax(0, auto);\n    grid-template-rows: repeat(5, min-content);\n  }\n  :root[data-layout='responsive'] .go-Main-nav {\n    border-bottom: none;\n    border-top: none;\n    padding: 0 0 0 var(--gutter);\n  }\n  :root:not([data-layout='stacked']) .go-Main-header[data-raised] {\n    box-shadow: var(--box-shadow);\n  }\n  :root[data-layout='responsive'] .go-Main-article {\n    border-bottom: none;\n    border-top: none;\n    margin: var(--gap) 0 5rem var(--gap);\n    padding: 0 var(--gutter) 0 0;\n  }\n  :root[data-layout='responsive'] .go-Main-aside {\n    border-bottom: var(--border);\n  }\n  :root[data-layout='responsive'] .go-Main-nav--sticky {\n    position: initial;\n  }\n  :root[data-layout='responsive'] .go-Main-nav--fixed {\n    box-shadow: none;\n  }\n  :root[data-layout='responsive'] .go-Main-navDesktop {\n    display: block;\n  }\n  :root[data-layout='responsive'] .go-Main-navMobile {\n    display: none;\n  }\n}\n\n@media screen and (min-width: 112rem) {\n  :root[data-layout='responsive'] .go-Main {\n    grid-template-areas:\n      'banner banner  banner'\n      'header header  header'\n      'nav    article aside'\n      'footer footer  footer';\n    grid-template-columns: minmax(17.5%, 1fr) minmax(0, 4fr) minmax(17.5%, 1fr);\n    grid-template-rows: repeat(4, min-content);\n  }\n  :root[data-layout='responsive'] .go-Main-article {\n    margin: var(--gap) var(--gap) 5rem;\n    padding: 0;\n  }\n  :root[data-layout='responsive'] .go-Main-aside {\n    background-color: var(--color-background);\n    border-bottom: none;\n    margin: var(--gap) 0 0 0;\n    padding: 0 var(--gutter) 0 0;\n  }\n}\n\n@media screen and (min-width: 80rem) {\n  :root[data-layout='compact'] .go-Main {\n    grid-template-areas:\n      'banner  banner'\n      'header  .'\n      'header  nav'\n      'aside   aside'\n      'article article'\n      'footer  footer';\n    grid-template-columns: 1fr auto;\n    grid-template-rows: repeat(6, min-content);\n  }\n  :root[data-layout='compact'] .go-Main-nav {\n    align-items: center;\n    border-bottom: var(--border);\n    display: flex;\n    top: calc((var(--js-main-header-height, 0) - var(--js-sticky-header-height, 3.5rem)) * -1);\n  }\n  :root[data-layout='compact'] .go-Main-header[data-fixed] {\n    box-shadow: none;\n  }\n  :root[data-layout='compact'] .go-Main-nav--sticky {\n    height: var(--js-sticky-header-height, 3.5rem);\n    position: sticky;\n    top: 0;\n  }\n  :root[data-layout='compact'] .go-Main-nav--fixed {\n    box-shadow: none;\n  }\n  :root[data-layout='compact'] .go-Main-navDesktop {\n    display: none;\n  }\n  :root[data-layout='compact'] .go-Main-navMobile {\n    display: flex;\n  }\n}\n\n@media print {\n  .go-Main-header--sticky,\n  .go-Main-header--sticky > :last-child,\n  .go-Main-nav--sticky,\n  .go-Main-navDesktop {\n    position: initial;\n  }\n}\n"],
+  "mappings": ";;;;;AAMA,yBACE,gBACA,uBACA,mBAEF,8BACE,aACA,cACA,kBACA,QACA,aAEF,0DACE,cAEF,qCACE,0DACE,cAGJ,0BACE,mBACA,YACA,OACA,kBACA,MACA,WAEF,2BACE,wBACA,qBACA,gBACA,uBACA,SACA,kBACA,eACA,eACA,YACA,OACA,kBACA,MACA,WAEF,kCACE,wBAGF,8CArDA,oBAwDE,iCACA,gBACA,mBA1DF,gDA6DE,yBACA,cAEF,gEAEE,aAGF,sBACE,wBACA,cACA,eAEF,yBACE,sBAGF,oCACE,aAEF,kEACE,aAEF,wDACE,UAEF,mEACE,mBACA,oBAEF,4DACE,SAEF,mEACE,gBACA,cAEF,gEACE,sBAGF,sCACE,aAEF,qEACE,gBAEF,gCACE,aAEF,mCACE,aAGF,qBAnHA,mBAqHE,qBACA,iBAtHF,sBAwHE,kBACA,aAGF,+BACE,aAEF,kEACE,aAGF,gGAGE,mBC9HF,SACE,yCACA,wBACA,aACA,YACA,uEAOA,2BACA,yCACA,iBAGF,gBACE,iBAEF,gBACE,yCACA,4BACA,kBACA,iBACA,wCACA,wBACA,kCACA,WAEF,4BACE,mBACA,gBACA,iCAEF,6BACE,4BAEF,aACE,yCACA,4BACA,kBACA,cACA,wBAEF,iBACE,yCACA,kBACA,2BACA,iBACA,wBAEF,eACE,kDACA,4BACA,kBACA,gBACA,2BAEF,sBACE,mBApEF,UAuEA,gBACE,yCACA,iBACA,wBAGF,iBACE,YA9EF,mBAmFA,0BACE,gBAEF,uBACE,mBACA,gBACA,MAEF,mCACE,mBACA,aACA,gBACA,aAEF,qCACE,mCACE,+BAIJ,qBACE,mBACA,aACA,UACA,cACA,eACA,qBAEF,qCACE,iCACE,eAGJ,mCACE,aAEF,+CACE,gBAGF,oBACE,uBACA,+CAEA,mBACA,aACA,oBACA,UACA,wDACA,kBACA,QAEF,wBACE,0BAxIF,eA0IE,wBAEF,gCACE,eACA,UACA,mBACA,wBAGF,uBACE,aACA,mBACA,eACA,WACA,mBAEF,mCACE,aAEF,qCACE,sEACE,cAGJ,0BACE,+BACA,eACA,kBACA,eACA,oBAEF,mDACE,YACA,kBAGF,qBACE,gBACA,2CACA,kCACA,UAEF,oBACE,mBACA,6BAGF,oBACE,aACA,sBACA,gBA5LF,eA8LE,gBACA,wDAEF,mBACE,aAlMF,eAqMA,6BACE,YACA,kBAEF,8BACE,qBACA,WAEF,oCACE,0DACA,4BACA,wBACA,YACA,eACA,WACA,kBACA,kBACA,YACA,cAIF,8CACE,qCACE,8BACE,wBACA,kBAKN,qCACE,uCACE,yGAMA,2CACA,yCAEF,2CACE,mBACA,gBACA,4BAEF,gEACE,6BAEF,+CACE,mBACA,gBACA,oCACA,4BAEF,6CACE,4BAEF,mDACE,iBAEF,kDACE,gBAEF,kDACE,cAEF,iDACE,cAIJ,sCACE,uCACE,mHAKA,wEACA,yCAEF,+CACE,kCAzRJ,UA4RE,6CACE,yCACA,mBACA,wBACA,6BAIJ,qCACE,oCACE,kHAOA,+BACA,yCAEF,wCACE,mBACA,4BACA,aACA,0FAEF,uDACE,gBAEF,gDACE,8CACA,gBACA,MAEF,+CACE,gBAEF,+CACE,aAEF,8CACE,cAIJ,aACE,qGAIE",
   "names": []
 }
diff --git a/static/frontend/unit/unit.ts b/static/frontend/unit/unit.ts
index 7a0582b..51d133a 100644
--- a/static/frontend/unit/unit.ts
+++ b/static/frontend/unit/unit.ts
@@ -67,9 +67,10 @@
     this.handleResize();
     window.addEventListener('resize', this.handleResize);
     this.mainHeader?.addEventListener('dblclick', this.handleDoubleClick);
-    if (this.mainHeader?.hasChildNodes()) {
+    const siteHeader = document.querySelector('.js-siteHeader');
+    if (this.mainHeader?.hasChildNodes() && siteHeader) {
       const headerSentinel = document.createElement('div');
-      this.mainHeader.prepend(headerSentinel);
+      siteHeader.append(headerSentinel);
       this.headerObserver.observe(headerSentinel);
     }
     if (this.mainNav?.hasChildNodes()) {