/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ :host { --page-nav-margin-top: 72px; --page-nav-gap: var(--space-large); --page-nav-button-gap: var(--space-xsmall); --page-nav-border-color: var(--border-color-transparent); --page-nav-focus-outline-inset: var(--focus-outline-inset); --page-nav-heading-logo-size: calc(var(--icon-size-default) + var(--space-small)); --page-nav-hr-color: #CFCFD8; margin-inline-start: 42px; position: sticky; top: 0; height: 100vh; display: flex; flex-shrink: 0; flex-direction: column; gap: var(--page-nav-gap); @media (prefers-reduced-motion) { /* (See Bug 1610081) Setting border-inline-end to add clear differentiation between side navigation and main content area */ border-inline-end: 1px solid var(--page-nav-border-color); padding-inline-end: var(--space-small); } @media (max-width: 52rem) { grid-template-rows: 1fr auto; } } nav { display: flex; flex-direction: column; gap: var(--page-nav-gap); overflow-y: auto; scrollbar-gutter: stable; scrollbar-width: thin; } .page-nav-heading-wrapper { display: flex; align-items: center; gap: var(--space-small); margin-block-start: var(--page-nav-margin-top); > .logo { display: inline-block; height: var(--page-nav-heading-logo-size); width: var(--page-nav-heading-logo-size); background: image-set(url("chrome://branding/content/about-logo.png"), url("chrome://branding/content/about-logo@2x.png") 2x) no-repeat center; background-size: auto; background-size: var(--page-nav-heading-logo-size); /* heading logo should be centered above button icons */ margin-inline-start: calc(var(--space-medium) - ((var(--page-nav-heading-logo-size) - var(--icon-size-default)) / 2)); @media (max-width: 52rem) { margin-inline-start: 4px; } } > .page-nav-heading { font-size: var(--font-size-xlarge); font-weight: var(--font-weight-bold); margin-block: 0; @media (max-width: 52rem) { display: none; } } } .primary-nav-group, #secondary-nav-group { display: grid; grid-template-columns: 1fr; grid-auto-rows: min-content; gap: var(--page-nav-button-gap); @media (max-width: 52rem) { justify-content: center; } &:not(:has(slot:has-slotted)) { display: none; } } hr { width: 100%; margin: 0; height: 1px; border: 0; background-color: var(--page-nav-hr-color); flex-shrink: 0; }