diff --git a/css/haus-schleusingen.css b/css/haus-schleusingen.css index a7ad564..0bf8e52 100644 --- a/css/haus-schleusingen.css +++ b/css/haus-schleusingen.css @@ -115,6 +115,84 @@ nav.scrolled .nav-links a:hover { box-shadow: 0 4px 20px rgb(139 105 20 / 50%); } +/* HAMBURGER */ +.nav-hamburger { + display: none; + width: 44px; + height: 44px; + background: none; + border: none; + cursor: pointer; + position: relative; + z-index: 110; + align-items: center; + justify-content: center; + padding: 0; +} + +.nav-hamburger span, +.nav-hamburger span::before, +.nav-hamburger span::after { + display: block; + width: 22px; + height: 2px; + background: var(--white); + border-radius: 1px; + transition: + transform 0.3s ease, + opacity 0.3s ease, + background 0.4s; + position: absolute; +} + +.nav-hamburger span::before, +.nav-hamburger span::after { + content: ""; +} + +.nav-hamburger span::before { + transform: translateY(-7px); +} + +.nav-hamburger span::after { + transform: translateY(7px); +} + +nav.scrolled .nav-hamburger span, +nav.scrolled .nav-hamburger span::before, +nav.scrolled .nav-hamburger span::after { + background: var(--dark); +} + +.nav-hamburger.active span { + background: transparent; +} + +.nav-hamburger.active span::before { + transform: rotate(45deg); + background: var(--dark); +} + +.nav-hamburger.active span::after { + transform: rotate(-45deg); + background: var(--dark); +} + +.nav-mobile-overlay { + display: none; + position: fixed; + inset: 0; + background: rgb(28 26 23 / 50%); + z-index: 90; + opacity: 0; + transition: opacity 0.3s ease; +} + +.nav-mobile-overlay.active { + display: block; + opacity: 1; +} + /* HERO */ .hero { position: relative; @@ -1042,6 +1120,58 @@ footer { display: none; } + .nav-hamburger { + display: flex; + } + + /* Mobile slide-down nav */ + nav.mobile-open .nav-links { + display: flex; + flex-direction: column; + position: fixed; + top: 0; + left: 0; + right: 0; + background: rgb(253 252 250 / 98%); + backdrop-filter: blur(12px); + padding: 5rem 1.5rem 2rem; + gap: 0; + z-index: 95; + border-bottom: 1px solid var(--warm); + animation: slideDown 0.3s ease; + } + + nav.mobile-open .nav-links a { + color: var(--charcoal); + font-size: 1rem; + padding: 1rem 0; + border-bottom: 1px solid var(--warm); + display: flex; + align-items: center; + min-height: 44px; + } + + nav.mobile-open .nav-hamburger span, + nav.mobile-open .nav-hamburger span::before, + nav.mobile-open .nav-hamburger span::after { + background: var(--dark); + } + + nav.mobile-open .nav-hamburger.active span { + background: transparent; + } + + @keyframes slideDown { + from { + opacity: 0; + transform: translateY(-10px); + } + to { + opacity: 1; + transform: translateY(0); + } + } + .hero-content { padding: 0 1.5rem 4rem; } diff --git a/haus-schleusingen.html b/haus-schleusingen.html index efa2be8..b59badf 100644 --- a/haus-schleusingen.html +++ b/haus-schleusingen.html @@ -64,6 +64,9 @@ +
900) closeMenu(); + }); +})();