text/css
•
4.40 KB
•
238 lines
/* Header sticks to the top naturally */
#mobile-header {
display: none;
}
#sidebar {
position: fixed;
left: 0;
top: 0;
width: 100%;
max-width: var(--sidebar-width);
height: 100%;
display: flex;
/* left on one side, right on the other */
align-items: start;
flex-direction: column;
gap: var(--space-m);
justify-content: start;
padding: var(--space-m);
background: var(--background-color-bright);
transition: max-width 300ms ease-in-out;
z-index: 8;
}
.logo {
font-size: 1.5rem;
text-decoration: none;
line-height: 1em;
color: var(--secondary-color);
}
.nav-btn {
text-decoration: none;
color: var(--text-color);
display: block;
width: 100%;
padding: var(--space-s) var(--space-m);
border-radius: var(--space-s);
background: var(--background-color-bright);
transition: background-color 300ms ease-in-out;
}
.nav-btn:focus,
.nav-btn:hover,
.nav-btn:active {
background: var(--background-color);
}
.nav-section-header {
display: flex;
align-items: center;
gap: var(--space-xs);
width: 100%;
}
.nav-section-heading {
display: block;
flex: 1;
padding: var(--space-s) var(--space-m);
font-size: 0.85rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--text-color);
opacity: 0.6;
text-decoration: none;
}
.nav-section-action {
text-decoration: none;
display: flex;
align-items: center;
justify-content: center;
width: 2rem;
height: 2rem;
border-radius: var(--space-s);
background: var(--background-color-bright);
transition:
background-color 300ms ease-in-out,
opacity 300ms ease-in-out;
opacity: 0.5;
font-size: 1.2rem;
flex-shrink: 0;
color: var(--text-color);
line-height: 1;
}
.nav-section-action:hover,
.nav-section-action:focus {
background: var(--background-color);
opacity: 1;
}
.nav-project-item {
display: flex;
align-items: center;
gap: var(--space-xs);
width: 100%;
}
.nav-btn-secondary {
text-decoration: none;
color: var(--text-color);
display: block;
flex: 1;
padding: var(--space-s) var(--space-m);
border-radius: var(--space-s);
background: var(--background-color-bright);
transition: background-color 300ms ease-in-out;
opacity: 0.8;
font-size: 0.95rem;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.nav-btn-secondary:focus,
.nav-btn-secondary:hover,
.nav-btn-secondary:active {
background: var(--background-color);
opacity: 1;
}
.nav-project-settings {
text-decoration: none;
display: flex;
align-items: center;
justify-content: center;
width: 2rem;
height: 2rem;
border-radius: var(--space-s);
background: var(--background-color-bright);
transition:
background-color 300ms ease-in-out,
opacity 300ms ease-in-out;
opacity: 0.5;
font-size: 0.9rem;
flex-shrink: 0;
color: var(--text-color);
}
.nav-project-settings:hover,
.nav-project-settings:focus {
background: var(--background-color);
opacity: 1;
}
#sidebar a.logo {
background: var(--background-color-bright);
color: var(--secondary-color);
}
#mobile-header .actions,
#sidebar .actions {
padding: var(--space-s) var(--space-m);
align-items: center;
width: 100%;
}
#mobile-header .actions > span,
#sidebar .actions > span {
flex: 1;
}
.username-link {
flex: 1;
text-decoration: none;
color: var(--text-color);
}
#sidebar-top {
display: flex;
align-content: start;
justify-content: start;
width: 100%;
}
#sidebar-top .logo {
padding: var(--space-s) var(--space-m);
}
@media screen and (min-width: 1000px) {
main > section {
max-width: calc(var(--max-content-width) + var(--sidebar-width));
padding: 0 0 0 var(--sidebar-width);
}
}
@media screen and (max-width: 1000px) {
#mobile-header {
display: flex;
align-items: center;
flex-direction: row;
gap: var(--space-m);
justify-content: center;
padding: var(--space-m) var(--space-l);
background: var(--background-color-bright);
z-index: 10;
}
#mobile-header .show-navigation .icon {
width: 1.5rem;
height: 1.5rem;
}
#mobile-header .show-navigation {
background: var(--background-color-bright);
}
#mobile-header .show-navigation.active {
background: var(--primary-color-dark);
}
#sidebar-top,
#sidebar .actions {
display: none;
}
#sidebar {
transform: translateX(-100%);
padding-top: 3.5rem;
transition: transform 300ms ease-in-out;
}
#sidebar.visible {
transform: translateX(0);
}
#mobile-header .show-navigation {
margin-left: calc(var(--space-m) * -1);
}
}
@media screen and (max-width: 500px) {
#sidebar {
max-width: none;
}
}