77 lines
2.2 KiB
CSS
77 lines
2.2 KiB
CSS
/* 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-button-border-radius: var(--button-border-radius);
|
|
--page-nav-button-text-color: var(--button-text-color);
|
|
--page-nav-button-background-color: transparent;
|
|
--page-nav-button-background-color-hover: var(--button-background-color-hover);
|
|
--page-nav-button-background-color-selected: var(--color-accent-primary);
|
|
--page-nav-button-padding: var(--space-small);
|
|
--page-nav-margin-top: 72px;
|
|
--page-nav-margin-bottom: 36px;
|
|
--page-nav-gap: 25px;
|
|
--page-nav-button-gap: var(--space-xsmall);
|
|
--page-nav-border-color: var(--border-color);
|
|
--page-nav-focus-outline-inset: var(--focus-outline-inset);
|
|
--page-nav-width: 240px;
|
|
margin-inline-start: 42px;
|
|
position: sticky;
|
|
top: 0;
|
|
height: 100vh;
|
|
display: block;
|
|
width: var(--page-nav-width);
|
|
|
|
@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);
|
|
}
|
|
|
|
@media (max-width: 52rem) {
|
|
grid-template-rows: 1fr auto;
|
|
--page-nav-width: 118px;
|
|
}
|
|
}
|
|
|
|
nav {
|
|
display: grid;
|
|
grid-template-rows: min-content 1fr auto;
|
|
gap: var(--page-nav-gap);
|
|
margin-block: var(--page-nav-margin-top) var(--page-nav-margin-bottom);
|
|
height: calc(100% - var(--page-nav-margin-top) - var(--page-nav-margin-bottom));
|
|
@media (max-width: 52rem) {
|
|
grid-template-rows: 1fr auto;
|
|
}
|
|
}
|
|
|
|
.page-nav-header {
|
|
/* Align the header text/icon with the page nav button icons */
|
|
margin-inline-start: var(--page-nav-button-padding);
|
|
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;
|
|
grid-template-columns: min-content;
|
|
}
|
|
}
|
|
|
|
@media (prefers-contrast) {
|
|
.primary-nav-group {
|
|
gap: var(--space-small);
|
|
}
|
|
}
|