Files
archived-hc-harbor/app/assets/stylesheets/nav.css
2025-12-07 22:49:40 -05:00

121 lines
2.3 KiB
CSS

body {
display: flex;
min-height: 100vh;
}
main {
flex: 1;
padding: 20px;
margin-bottom: 100px;
transition: margin-left 0.3s ease, max-width 0.3s ease;
}
@media (max-width: 1023px) {
main {
margin-left: 0;
max-width: 100%;
padding: 60px 20px 20px 20px;
}
}
aside.nav, aside[data-nav-target="nav"] {
position: fixed;
left: 0;
top: 0;
bottom: 0;
width: 250px;
background: #181c23;
color: #f3f3f3;
border-right: 1px solid #222;
z-index: 1000;
overflow-y: auto;
padding: 24px 8px 24px 8px;
transition: transform 0.3s ease;
}
@media (max-width: 1023px) {
aside.nav, aside[data-nav-target="nav"] {
transform: translateX(-100%);
z-index: 9999;
}
aside.nav.open, aside[data-nav-target="nav"].open {
transform: translateX(0);
box-shadow: 2px 0 20px rgba(0, 0, 0, 0.3);
}
}
.mobile-nav-button {
display: none;
position: fixed;
top: 20px;
left: 20px;
z-index: 100;
background: var(--color-darkless);
color: var(--primary-color);
border: none;
border-radius: 6px;
padding: 12px;
cursor: pointer;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
transition: background-color 0.2s;
}
.mobile-nav-button:hover {
background: #23272a;
}
.mobile-nav-button svg {
width: 24px;
height: 24px;
}
@media (max-width: 1023px) {
.mobile-nav-button {
display: block;
}
}
/* Mobile overlay */
.nav-overlay {
display: none;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
backdrop-filter: blur(4px);
z-index: 9998;
opacity: 0;
transition: opacity 0.3s ease;
}
.nav-overlay.open {
opacity: 1;
}
@media (max-width: 1023px) {
.nav-overlay.open {
display: block;
}
}
.nav-item, aside[data-nav-target="nav"] .nav-item, aside[data-nav-target="nav"] a.block {
display: block;
padding: 10px 15px;
color: #f3f3f3;
border-radius: 6px;
transition: background-color 0.15s, color 0.15s;
text-decoration: none;
}
.nav-item.active, aside[data-nav-target="nav"] .nav-item.active, aside[data-nav-target="nav"] a.block.bg-primary\/20 {
color: var(--primary-color, #e13950);
background: rgba(225, 57, 80, 0.12);
}
.nav-item:hover, aside[data-nav-target="nav"] .nav-item:hover, aside[data-nav-target="nav"] a.block:hover {
background-color: #23272a;
color: var(--primary-color, #e13950);
}