217 lines
3.8 KiB
SCSS
217 lines
3.8 KiB
SCSS
.navigation__wrapper {
|
|
width: var(--side-nav-width);
|
|
height: calc(100vh - var(--header-height));
|
|
}
|
|
|
|
.navigation__wrapper--micro {
|
|
width: var(--side-nav-width--micro);
|
|
|
|
@media (max-width: $breakpoint-small) {
|
|
width: 0;
|
|
}
|
|
}
|
|
|
|
.navigation__wrapper--absolute {
|
|
&:not(.navigation__wrapper--micro) {
|
|
width: 0;
|
|
}
|
|
}
|
|
|
|
.navigation {
|
|
position: fixed;
|
|
left: 0;
|
|
top: var(--header-height);
|
|
width: var(--side-nav-width);
|
|
height: calc(100vh - var(--header-height));
|
|
overflow-y: auto;
|
|
border-right: 1px solid var(--color-border);
|
|
padding-top: var(--spacing-l);
|
|
padding-bottom: var(--spacing-l);
|
|
}
|
|
|
|
.navigation--filepage {
|
|
@extend .navigation;
|
|
z-index: 4;
|
|
width: var(--side-nav-width--large);
|
|
padding-top: 0;
|
|
background-color: var(--color-card-background);
|
|
border-top: 1px solid var(--color-border);
|
|
box-shadow: var(--card-box-shadow);
|
|
|
|
.navigation-link {
|
|
padding-left: var(--spacing-m);
|
|
}
|
|
}
|
|
|
|
.navigation--micro {
|
|
@extend .navigation;
|
|
width: var(--side-nav-width--micro);
|
|
|
|
@media (max-width: $breakpoint-small) {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.navigation__secondary {
|
|
margin-top: var(--spacing-l);
|
|
}
|
|
|
|
.navigation-link {
|
|
display: block;
|
|
position: relative;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
color: var(--color-navigation-link);
|
|
padding-left: var(--spacing-s);
|
|
font-size: var(--font-body);
|
|
font-weight: var(--font-weight-bold);
|
|
|
|
.icon {
|
|
height: 1.5rem;
|
|
width: 1.5rem;
|
|
stroke: var(--color-navigation-icon);
|
|
}
|
|
|
|
.button__content {
|
|
padding: var(--spacing-s);
|
|
justify-content: flex-start;
|
|
flex-direction: column;
|
|
}
|
|
|
|
&:hover:not(.navigation-link--active),
|
|
&:focus {
|
|
@extend .navigation-link--highlighted;
|
|
}
|
|
|
|
@media (min-width: $breakpoint-medium) {
|
|
text-align: left;
|
|
margin-bottom: 0;
|
|
|
|
.icon {
|
|
height: 1rem;
|
|
width: 1rem;
|
|
}
|
|
|
|
.button__content {
|
|
flex-direction: row;
|
|
}
|
|
|
|
.button__label {
|
|
margin-top: 0;
|
|
}
|
|
|
|
&:focus {
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
}
|
|
|
|
.navigation-link--active {
|
|
background-color: var(--color-navigation-active);
|
|
color: var(--color-navigation-active-text);
|
|
|
|
.icon {
|
|
stroke: var(--color-navigation-active-text);
|
|
}
|
|
}
|
|
|
|
.navigation-link--pulse {
|
|
overflow: visible;
|
|
|
|
.icon {
|
|
animation: shadow-pulse 2.5s infinite;
|
|
}
|
|
}
|
|
|
|
.navigation-link--highlighted {
|
|
background-color: var(--color-navigation-hover);
|
|
color: var(--color-navigation-hover-text);
|
|
|
|
.icon {
|
|
stroke: var(--color-navigation-hover-text);
|
|
}
|
|
}
|
|
|
|
.navigation-links {
|
|
@extend .ul--no-style;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
list-style: none;
|
|
}
|
|
|
|
.navigation-links--micro {
|
|
.icon {
|
|
height: 1.5rem;
|
|
width: 1.5rem;
|
|
}
|
|
|
|
.button__content {
|
|
padding: var(--spacing-s);
|
|
justify-content: flex-start;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.button__label {
|
|
font-size: var(--font-xsmall);
|
|
margin-left: 0;
|
|
margin-top: var(--spacing-xs);
|
|
}
|
|
|
|
.navigation-link {
|
|
padding-left: 0;
|
|
}
|
|
|
|
@media (max-width: $breakpoint-small) {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.navigation-links--absolute {
|
|
@extend .navigation-links;
|
|
|
|
.navigation-link {
|
|
margin-bottom: 0;
|
|
|
|
.icon {
|
|
height: 1rem;
|
|
width: 1rem;
|
|
}
|
|
|
|
.button__content {
|
|
flex-direction: row;
|
|
}
|
|
|
|
.button__label {
|
|
margin-top: 0;
|
|
font-size: var(--font-body);
|
|
font-weight: var(--font-weight-bold);
|
|
}
|
|
|
|
&:focus {
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
}
|
|
|
|
.navigation-links--small {
|
|
@extend .navigation-links;
|
|
margin-right: 0;
|
|
padding-right: 0;
|
|
font-size: var(--font-small);
|
|
|
|
.button__content {
|
|
align-items: flex-start;
|
|
}
|
|
}
|
|
|
|
.navigation__overlay {
|
|
position: fixed;
|
|
width: 100vw;
|
|
height: 100vh;
|
|
opacity: 0.3;
|
|
background-color: black;
|
|
z-index: 3;
|
|
left: 0;
|
|
top: var(--header-height);
|
|
}
|