2025-11-26 22:58:15 +07:00

165 lines
2.8 KiB
CSS

.navbar {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 120px;
background-color: rgba(26, 26, 26, 0.9);
backdrop-filter: blur(10px);
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 3rem;
z-index: 1000;
transition: all 0.3s ease;
}
.navbarScrolled {
box-shadow: 0 2px 15px rgba(0, 0, 0, 0.5);
background-color: rgba(26, 26, 26, 0.95);
}
.logoContainer {
display: flex;
align-items: center;
height: 100%;
z-index: 1002;
}
.logoImage {
height: 110px;
width: auto;
object-fit: contain;
}
.desktopMenu {
display: flex;
gap: 2.5rem;
align-items: center;
}
.navLink {
color: #C9A865;
text-decoration: none;
font-size: 28px;
font-weight: 400;
letter-spacing: 0.5px;
transition: all 0.3s ease;
position: relative;
}
.navLink:hover {
color: #E8C88E;
}
.navLink::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 0;
height: 2px;
background-color: #C9A865;
transition: width 0.3s;
}
.navLink:hover::after {
width: 100%;
}
/* Hamburger */
.hamburger {
display: none;
background: none;
border: none;
cursor: pointer;
flex-direction: column;
gap: 6px;
z-index: 1003;
padding: 10px;
}
.bar {
width: 30px;
height: 3px;
background-color: #c49c5c;
transition: all 0.3s ease;
}
/* Hamburger to X animation */
.hamburgerOpen .bar:nth-child(1) {
transform: translateY(9px) rotate(45deg);
}
.hamburgerOpen .bar:nth-child(2) {
opacity: 0;
}
.hamburgerOpen .bar:nth-child(3) {
transform: translateY(-9px) rotate(-45deg);
}
/* Mobile Menu */
.mobileMenuOverlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background-color: #0a0a0a;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 28px;
transform: translateY(-100%);
transition: all 0.45s ease;
z-index: 1001;
padding-top: 80px;
}
.mobileMenuOpen {
transform: translateY(0);
}
.mobileNavLink {
color: #fff;
font-size: 1.8rem;
text-decoration: none;
text-transform: uppercase;
opacity: 0;
transform: translateY(-20px);
transition: opacity 0.4s ease, transform 0.4s ease;
}
/* Animate when menu open */
.mobileMenuOpen .mobileNavLink {
opacity: 1;
transform: translateY(0);
}
.mobileNavLink:hover {
color: #c49c5c;
}
@media (max-width: 1024px) {
.desktopMenu {
display: none;
}
.hamburger {
display: flex;
}
.navbar {
padding: 0 20px;
}
}
@media (max-width: 768px) and (min-width: 200px) {
.logoImage {
object-fit: contain;
width: auto;
height: 100px;
}
}