diff --git a/css/haus-schleusingen.css b/css/haus-schleusingen.css index aa9d2c9..51305ec 100644 --- a/css/haus-schleusingen.css +++ b/css/haus-schleusingen.css @@ -1,1081 +1,494 @@ -:root { - --cream: #f5f0e8; - --warm: #e8dfd0; - --stone: #9e9485; - --dark: #1c1a17; - --charcoal: #2e2b26; - --accent: #8b6914; - --accent-light: #c49a2a; - --white: #fdfcfa; -} +/* ========================================================================== + Haus Schleusingen – Stylesheet + ========================================================================== */ +/* ---------- Reset & Basis ---------- */ *, *::before, *::after { - box-sizing: border-box; - margin: 0; - padding: 0; + box-sizing: border-box; + margin: 0; + padding: 0; +} + +:root { + --clr-primary: #2c5e4c; + --clr-primary-dark: #1e4235; + --clr-primary-light: #3a7d63; + --clr-accent: #c8a96e; + --clr-bg: #f9f7f4; + --clr-white: #ffffff; + --clr-text: #333333; + --clr-text-light: #666666; + --clr-border: #e0ddd8; + --font-heading: 'Cormorant Garamond', serif; + --font-body: 'DM Sans', sans-serif; + --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08); + --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.12); + --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.16); + --radius: 8px; + --transition: 0.3s ease; } html { - scroll-behavior: smooth; + scroll-behavior: smooth; + font-size: 16px; } body { - font-family: "DM Sans", sans-serif; - background: var(--white); - color: var(--dark); - overflow-x: hidden; + font-family: var(--font-body); + color: var(--clr-text); + background-color: var(--clr-bg); + line-height: 1.6; } -/* NAV */ -nav { - position: fixed; - top: 0; - left: 0; - right: 0; - z-index: 100; - display: flex; - justify-content: space-between; - align-items: center; - padding: 1.25rem 3rem; - background: transparent; - transition: - background 0.4s, - padding 0.4s; +img { + max-width: 100%; + height: auto; + display: block; } -nav.scrolled { - background: rgb(253 252 250 / 96%); - backdrop-filter: blur(12px); - padding: 0.85rem 3rem; - border-bottom: 1px solid rgb(158 148 133 / 20%); +a { + color: var(--clr-primary); + text-decoration: none; + transition: color var(--transition); } -.nav-logo { - font-family: "Cormorant Garamond", serif; - font-size: 1.15rem; - font-weight: 600; - letter-spacing: 0.04em; - color: var(--white); - transition: color 0.4s; +a:hover { + color: var(--clr-primary-dark); } -nav.scrolled .nav-logo { - color: var(--dark); +ul { + list-style: none; +} + +.container { + width: 100%; + max-width: 1200px; + margin: 0 auto; + padding: 0 1.5rem; +} + +/* ---------- Buttons ---------- */ +.btn { + display: inline-block; + padding: 0.75rem 2rem; + border: none; + border-radius: var(--radius); + font-family: var(--font-body); + font-size: 1rem; + font-weight: 500; + cursor: pointer; + transition: all var(--transition); + text-align: center; +} + +.btn-primary { + background-color: var(--clr-primary); + color: var(--clr-white); +} + +.btn-primary:hover { + background-color: var(--clr-primary-dark); + color: var(--clr-white); +} + +/* ---------- Section ---------- */ +.section { + padding: 5rem 0; +} + +.section-title { + font-family: var(--font-heading); + font-size: 2.5rem; + font-weight: 600; + text-align: center; + margin-bottom: 3rem; + color: var(--clr-primary-dark); +} + +/* ---------- Navigation ---------- */ +.main-nav { + position: fixed; + top: 0; + left: 0; + width: 100%; + z-index: 1000; + background-color: var(--clr-white); + box-shadow: var(--shadow-sm); + transition: background-color var(--transition); +} + +.nav-container { + max-width: 1200px; + margin: 0 auto; + padding: 0 1.5rem; + display: flex; + align-items: center; + justify-content: space-between; + height: 70px; +} + +.logo { + font-family: var(--font-heading); + font-size: 1.5rem; + font-weight: 600; + color: var(--clr-primary-dark); +} + +.logo:hover { + color: var(--clr-primary); } .nav-links { - display: flex; - gap: 2.5rem; - list-style: none; + display: flex; + gap: 2rem; } .nav-links a { - font-size: 0.8rem; - font-weight: 500; - letter-spacing: 0.1em; - text-transform: uppercase; - text-decoration: none; - color: rgb(255 255 255 / 85%); - transition: color 0.3s; + font-size: 0.95rem; + font-weight: 500; + color: var(--clr-text); + position: relative; } -nav.scrolled .nav-links a { - color: var(--stone); +.nav-links a::after { + content: ''; + position: absolute; + bottom: -4px; + left: 0; + width: 0; + height: 2px; + background-color: var(--clr-primary); + transition: width var(--transition); } -.nav-links a:hover, -nav.scrolled .nav-links a:hover { - color: var(--accent); +.nav-links a:hover::after { + width: 100%; } -.nav-cta { - font-family: "DM Sans", sans-serif; - font-size: 0.78rem; - font-weight: 500; - letter-spacing: 0.1em; - text-transform: uppercase; - background: var(--accent); - color: var(--white); - border: none; - padding: 0.65rem 1.5rem; - cursor: pointer; - transition: - background 0.3s, - transform 0.2s; +.nav-toggle { + display: none; + flex-direction: column; + gap: 5px; + background: none; + border: none; + cursor: pointer; + padding: 0.5rem; } -.nav-cta:hover { - background: var(--accent-light); - transform: translateY(-1px); +.nav-toggle span { + display: block; + width: 25px; + height: 2px; + background-color: var(--clr-text); + transition: all var(--transition); } -/* HERO */ +/* ---------- Hero ---------- */ .hero { - position: relative; - height: 100vh; - min-height: 650px; - display: flex; - align-items: flex-end; - overflow: hidden; -} - -.hero-bg { - position: absolute; - inset: 0; - background-size: cover; - background-position: center 20%; - transform: scale(1.05); - transition: transform 8s ease-out; -} - -.hero-bg.loaded { - transform: scale(1); -} - -.hero-overlay { - position: absolute; - inset: 0; - background: linear-gradient( - to top, - rgb(28 26 23 / 85%) 0%, - rgb(28 26 23 / 30%) 50%, - rgb(28 26 23 / 10%) 100% - ); + position: relative; + height: 100vh; + min-height: 600px; + display: flex; + align-items: center; + justify-content: center; + text-align: center; + background: linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45)), + url('../images/hero.jpg') center/cover no-repeat; + color: var(--clr-white); } .hero-content { - position: relative; - z-index: 2; - padding: 0 3rem 5rem; - max-width: 900px; - opacity: 0; - transform: translateY(30px); - transition: - opacity 0.9s ease, - transform 0.9s ease; -} - -.hero-content.visible { - opacity: 1; - transform: translateY(0); -} - -.hero-tag { - display: inline-flex; - align-items: center; - gap: 8px; - font-size: 0.72rem; - font-weight: 500; - letter-spacing: 0.18em; - text-transform: uppercase; - color: var(--accent-light); - margin-bottom: 1.25rem; -} - -.hero-tag::before { - content: ""; - width: 28px; - height: 1px; - background: var(--accent-light); + max-width: 700px; + padding: 0 1.5rem; } .hero h1 { - font-family: "Cormorant Garamond", serif; - font-size: clamp(2.8rem, 6vw, 5rem); - font-weight: 300; - line-height: 1.08; - color: var(--white); - letter-spacing: -0.01em; - margin-bottom: 1.5rem; + font-family: var(--font-heading); + font-size: 3.5rem; + font-weight: 600; + margin-bottom: 1rem; + line-height: 1.2; } -.hero h1 em { - font-style: italic; - color: var(--accent-light); -} - -.hero-meta { - display: flex; - gap: 2.5rem; - align-items: center; - font-size: 0.82rem; - color: rgb(255 255 255 / 60%); - letter-spacing: 0.05em; -} - -.hero-meta strong { - color: var(--white); -} - -.hero-scroll { - position: absolute; - bottom: 2rem; - right: 3rem; - display: flex; - flex-direction: column; - align-items: center; - gap: 6px; - font-size: 0.68rem; - letter-spacing: 0.18em; - text-transform: uppercase; - color: rgb(255 255 255 / 50%); - cursor: pointer; -} - -.scroll-line { - width: 1px; - height: 40px; - background: rgb(255 255 255 / 30%); - animation: scroll-anim 2s infinite; -} - -@keyframes scroll-anim { - 0%, - 100% { - transform: scaleY(1); - opacity: 0.3; - } - - 50% { - transform: scaleY(0.5); - opacity: 0.8; - } -} - -/* FACTS STRIP */ -.facts-strip { - display: grid; - grid-template-columns: repeat(4, 1fr); - background: var(--dark); -} - -.fact { - padding: 2.25rem 2rem; - border-right: 1px solid rgb(255 255 255 / 7%); - text-align: center; - opacity: 0; - transform: translateY(20px); - transition: - opacity 0.6s ease, - transform 0.6s ease; -} - -.fact:last-child { - border-right: none; -} - -.fact.visible { - opacity: 1; - transform: translateY(0); -} - -.fact-val { - font-family: "Cormorant Garamond", serif; - font-size: 2.2rem; - font-weight: 600; - color: var(--accent-light); - line-height: 1; - margin-bottom: 0.4rem; -} - -.fact-label { - font-size: 0.72rem; - letter-spacing: 0.12em; - text-transform: uppercase; - color: var(--stone); -} - -/* INTRO */ -.intro { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 0; - padding: 6rem 3rem; - max-width: 1200px; - margin: 0 auto; - align-items: center; -} - -.intro-text { - padding-right: 4rem; -} - -.section-eyebrow { - font-size: 0.72rem; - font-weight: 500; - letter-spacing: 0.2em; - text-transform: uppercase; - color: var(--accent); - margin-bottom: 1rem; -} - -.intro-text h2 { - font-family: "Cormorant Garamond", serif; - font-size: clamp(2rem, 3.5vw, 3rem); - font-weight: 300; - line-height: 1.2; - margin-bottom: 1.5rem; - color: var(--charcoal); -} - -.intro-text p { - font-size: 0.95rem; - line-height: 1.85; - color: var(--stone); - margin-bottom: 1rem; -} - -.intro-stats { - display: flex; - gap: 2rem; - margin-top: 2rem; - padding-top: 2rem; - border-top: 1px solid var(--warm); -} - -.istat-val { - font-family: "Cormorant Garamond", serif; - font-size: 1.8rem; - font-weight: 600; - color: var(--accent); - line-height: 1; -} - -.istat-label { - font-size: 0.72rem; - letter-spacing: 0.08em; - color: var(--stone); - margin-top: 4px; -} - -.intro-img { - position: relative; - height: 480px; - overflow: hidden; -} - -.intro-img img { - width: 100%; - height: 100%; - object-fit: cover; -} - -.intro-img-badge { - position: absolute; - bottom: -1px; - left: -1px; - background: var(--accent); - color: var(--white); - padding: 1rem 1.5rem; - font-size: 0.72rem; - letter-spacing: 0.12em; - text-transform: uppercase; -} - -/* GALLERY — CSS Columns Masonry */ -.gallery-section { - padding: 0 0 6rem; - background: var(--cream); -} - -.gallery-header { - padding: 5rem 3rem 3rem; - max-width: 1400px; - margin: 0 auto; -} - -.gallery-header h2 { - font-family: "Cormorant Garamond", serif; - font-size: clamp(2rem, 3vw, 2.8rem); - font-weight: 300; - color: var(--charcoal); -} - -.masonry-grid { - max-width: 1400px; - margin: 0 auto; - padding: 0 1.5rem; - column-count: 4; - column-gap: 8px; -} - -/* Hide the sizer – not needed for CSS columns */ -.grid-sizer { - display: none; -} - -.grid-item { - break-inside: avoid; - margin-bottom: 8px; - overflow: hidden; - cursor: pointer; - position: relative; - border-radius: 3px; -} - -.grid-item img { - width: 100%; - display: block; - border-radius: 3px; - transition: - transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94), - filter 0.5s ease; -} - -.grid-item:hover img { - transform: scale(1.04); - filter: brightness(0.9); -} - -.grid-item-label { - position: absolute; - bottom: 0; - left: 0; - right: 0; - padding: 2rem 1rem 0.85rem; - background: linear-gradient(transparent, rgb(28 26 23 / 75%)); - font-size: 0.72rem; - letter-spacing: 0.12em; - text-transform: uppercase; - color: rgb(255 255 255 / 90%); - border-radius: 0 0 3px 3px; - transform: translateY(6px); - opacity: 0; - transition: - transform 0.35s ease, - opacity 0.35s ease; - pointer-events: none; -} - -.grid-item:hover .grid-item-label { - transform: translateY(0); - opacity: 1; -} - -@media (width <= 1100px) { - .masonry-grid { - column-count: 3; - } -} - -@media (width <= 768px) { - .masonry-grid { - column-count: 2; - column-gap: 6px; - padding: 0 1rem; - } - - .grid-item { - margin-bottom: 6px; - } - - .gallery-header { - padding: 3rem 1.5rem 2rem; - } -} - -@media (width <= 480px) { - .masonry-grid { - column-count: 1; - padding: 0 1.5rem; - } -} - -/* FLOORS */ -.floors-section { - padding: 6rem 3rem; - max-width: 1200px; - margin: 0 auto; -} - -.floors-section h2 { - font-family: "Cormorant Garamond", serif; - font-size: clamp(2rem, 3vw, 2.8rem); - font-weight: 300; - margin-bottom: 3rem; - color: var(--charcoal); -} - -.floor-accordion { - border-top: 1px solid var(--warm); -} - -.floor-item { - border-bottom: 1px solid var(--warm); - overflow: hidden; -} - -.floor-header { - display: flex; - justify-content: space-between; - align-items: center; - padding: 1.5rem 0; - cursor: pointer; - transition: color 0.2s; -} - -.floor-header:hover .floor-title { - color: var(--accent); -} - -.floor-title { - font-family: "Cormorant Garamond", serif; - font-size: 1.35rem; - font-weight: 400; - transition: color 0.2s; -} - -.floor-size { - font-size: 0.78rem; - letter-spacing: 0.1em; - color: var(--stone); - display: flex; - align-items: center; - gap: 1rem; -} - -.floor-icon { - width: 24px; - height: 24px; - border: 1px solid var(--warm); - border-radius: 50%; - display: flex; - align-items: center; - justify-content: center; - font-size: 0.8rem; - color: var(--stone); - transition: - transform 0.3s, - border-color 0.3s; -} - -.floor-item.open .floor-icon { - transform: rotate(45deg); - border-color: var(--accent); - color: var(--accent); -} - -.floor-body { - display: none; - padding: 0 0 1.5rem; - max-width: 100%; - overflow: hidden; -} - -.floor-rooms-grid { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); - gap: 8px; -} - -.room-chip { - background: var(--cream); - padding: 0.75rem 1rem; - font-size: 0.82rem; - color: var(--charcoal); - display: flex; - justify-content: space-between; - align-items: center; -} - -.room-chip-area { - font-size: 0.72rem; - color: var(--stone); -} - -.floor-plan { - margin-top: 1.5rem; - border: 1px solid var(--warm); - background: var(--white); - overflow: hidden; - max-width: 100%; -} - -.floor-plan img { - width: 100%; - max-width: 100%; - height: auto; - display: block; - object-fit: contain; -} - -.floor-plan-multi { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 1px; - background: var(--warm); -} - -.floor-plan-multi img { - width: 100%; - max-width: 100%; - height: auto; - display: block; - object-fit: contain; - background: var(--white); -} - -@media (width <= 768px) { - .floor-plan-multi { - grid-template-columns: 1fr; - } -} - -/* PRICING */ -.pricing-section { - background: var(--dark); - padding: 6rem 3rem; -} - -.pricing-inner { - max-width: 1200px; - margin: 0 auto; -} - -.pricing-section .section-eyebrow { - color: var(--accent-light); -} - -.pricing-section h2 { - font-family: "Cormorant Garamond", serif; - font-size: clamp(2rem, 3vw, 2.8rem); - font-weight: 300; - color: var(--white); - margin-bottom: 3rem; -} - -.price-cards { - display: grid; - grid-template-columns: repeat(3, 1fr); - gap: 1px; - background: rgb(255 255 255 / 7%); -} - -.price-card { - background: var(--charcoal); - padding: 2.5rem 2rem; - transition: background 0.3s; -} - -.price-card:hover { - background: #383530; -} - -.price-card.highlight { - background: var(--accent); -} - -.price-card.highlight:hover { - background: var(--accent-light); -} - -.pc-label { - font-size: 0.72rem; - letter-spacing: 0.15em; - text-transform: uppercase; - color: var(--stone); - margin-bottom: 1rem; -} - -.price-card.highlight .pc-label { - color: rgb(255 255 255 / 70%); -} - -.pc-val { - font-family: "Cormorant Garamond", serif; - font-size: 2.8rem; - font-weight: 600; - line-height: 1; - color: var(--white); - margin-bottom: 0.3rem; -} - -.pc-sub { - font-size: 0.78rem; - color: var(--stone); -} - -.price-card.highlight .pc-sub { - color: rgb(255 255 255 / 70%); -} - -.price-note { - margin-top: 2.5rem; - padding-top: 2.5rem; - border-top: 1px solid rgb(255 255 255 / 7%); - display: flex; - gap: 3rem; -} - -.pn-item { - font-size: 0.85rem; - color: var(--stone); - line-height: 1.7; -} - -.pn-item strong { - color: var(--white); - display: block; - font-weight: 500; - margin-bottom: 2px; -} - -/* LAGE */ -.lage-section { - padding: 6rem 3rem; - max-width: 1200px; - margin: 0 auto; -} - -.lage-section h2 { - font-family: "Cormorant Garamond", serif; - font-size: clamp(2rem, 3vw, 2.8rem); - font-weight: 300; - margin-bottom: 3rem; - color: var(--charcoal); -} - -.lage-grid { - display: grid; - grid-template-columns: repeat(2, 1fr); - gap: 1px; - background: var(--warm); -} - -.lage-item { - background: var(--white); - padding: 2rem; - display: flex; - gap: 1.25rem; - align-items: flex-start; - transition: background 0.3s; -} - -.lage-item:hover { - background: var(--cream); -} - -.lage-icon { - width: 40px; - height: 40px; - flex-shrink: 0; - background: var(--cream); - display: flex; - align-items: center; - justify-content: center; - font-size: 1.1rem; - color: var(--accent); -} - -.lage-title { - font-size: 0.9rem; - font-weight: 500; - margin-bottom: 4px; -} - -.lage-desc { - font-size: 0.82rem; - color: var(--stone); - line-height: 1.6; -} - -.lage-map-wrapper { - margin-top: 3rem; - border: 1px solid var(--warm); - overflow: hidden; -} - -.lage-map-wrapper iframe { - display: block; - width: 100%; - height: 450px; - filter: grayscale(30%) contrast(1.05); - transition: filter 0.4s ease; -} - -.lage-map-wrapper:hover iframe { - filter: grayscale(0%) contrast(1); -} - -@media (width <= 900px) { - .lage-map-wrapper iframe { - height: 320px; - } -} - -/* CONTACT */ -.contact-section { - background: var(--cream); - padding: 6rem 3rem; -} - -.contact-inner { - max-width: 700px; - margin: 0 auto; - text-align: center; -} - -.contact-inner h2 { - font-family: "Cormorant Garamond", serif; - font-size: clamp(2.2rem, 4vw, 3.5rem); - font-weight: 300; - line-height: 1.15; - color: var(--charcoal); - margin-bottom: 1rem; -} - -.contact-inner h2 em { - font-style: italic; - color: var(--accent); -} - -.contact-inner p { - font-size: 0.9rem; - color: var(--stone); - line-height: 1.8; - margin-bottom: 2.5rem; -} - -.contact-form { - text-align: left; -} - -.form-row { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 1rem; - margin-bottom: 1rem; -} - -.form-field { - display: flex; - flex-direction: column; - gap: 0.4rem; -} - -.form-field label { - font-size: 0.72rem; - letter-spacing: 0.12em; - text-transform: uppercase; - color: var(--stone); -} - -.form-field input, -.form-field textarea, -.form-field select { - font-family: "DM Sans", sans-serif; - font-size: 0.88rem; - background: var(--white); - border: 1px solid var(--warm); - padding: 0.75rem 1rem; - color: var(--dark); - outline: none; - transition: border-color 0.2s; - resize: none; -} - -.form-field input:focus, -.form-field textarea:focus, -.form-field select:focus { - border-color: var(--accent); -} - -.form-field.full { - grid-column: span 2; -} - -.btn-submit { - font-family: "DM Sans", sans-serif; - font-size: 0.78rem; - font-weight: 500; - letter-spacing: 0.15em; - text-transform: uppercase; - background: var(--accent); - color: var(--white); - border: none; - width: 100%; - padding: 1.1rem; - cursor: pointer; - margin-top: 0.5rem; - transition: - background 0.3s, - transform 0.2s; -} - -.btn-submit:hover { - background: var(--accent-light); - transform: translateY(-1px); -} - -.form-success { - display: none; - text-align: center; - padding: 3rem; - background: var(--white); - border: 1px solid var(--warm); -} - -.form-success p { - font-family: "Cormorant Garamond", serif; - font-size: 1.5rem; - color: var(--charcoal); -} - -.form-success small { - font-size: 0.82rem; - color: var(--stone); -} - -/* FOOTER */ -footer { - background: var(--dark); - padding: 2.5rem 3rem; - display: flex; - justify-content: space-between; - align-items: center; - border-top: 1px solid rgb(255 255 255 / 6%); -} - -.footer-logo { - font-family: "Cormorant Garamond", serif; - font-size: 1rem; - font-weight: 600; - color: var(--white); - letter-spacing: 0.04em; -} - -.footer-links { - display: flex; - gap: 2rem; -} - -.footer-links a { - font-size: 0.72rem; - letter-spacing: 0.1em; - text-transform: uppercase; - color: var(--stone); - text-decoration: none; - transition: color 0.2s; -} - -.footer-links a:hover { - color: var(--accent-light); -} - -/* LIGHTBOX */ -.lightbox { - display: none; - position: fixed; - inset: 0; - z-index: 1000; - background: rgb(28 26 23 / 96%); - align-items: center; - justify-content: center; -} - -.lightbox.open { - display: flex; -} - -.lightbox img { - max-width: 90vw; - max-height: 85vh; - object-fit: contain; -} - -.lightbox-close { - position: absolute; - top: 1.5rem; - right: 2rem; - font-size: 1.5rem; - color: var(--white); - cursor: pointer; - background: none; - border: none; - transition: color 0.2s; -} - -.lightbox-close:hover { - color: var(--accent-light); -} - -/* RESPONSIVE */ -@media (width <= 900px) { - nav { - padding: 1rem 1.5rem; - } - - nav.scrolled { - padding: 0.75rem 1.5rem; - } - - .nav-links { - display: none; - } - - .hero-content { - padding: 0 1.5rem 4rem; - } - - .facts-strip { - grid-template-columns: repeat(2, 1fr); - } - - .fact { - border-right: none; - border-bottom: 1px solid rgb(255 255 255 / 7%); - } - - .intro { - grid-template-columns: 1fr; - padding: 3rem 1.5rem; - } - - .intro-text { - padding-right: 0; +.hero p { + font-size: 1.25rem; margin-bottom: 2rem; - } - - .masonry-grid { - column-count: 2; - } - - .gallery-header { - padding: 3rem 1.5rem 2rem; - } - - .price-cards { - grid-template-columns: 1fr; - } - - .price-note { - flex-direction: column; - gap: 1.5rem; - } - - .lage-grid { - grid-template-columns: 1fr; - } - - .form-row { - grid-template-columns: 1fr; - } - - .form-field.full { - grid-column: span 1; - } - - .floors-section, - .lage-section, - .contact-section { - padding: 4rem 1.5rem; - } - - footer { - flex-direction: column; - gap: 1.5rem; - text-align: center; - } + opacity: 0.9; +} + +/* ---------- About ---------- */ +.about-content { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 3rem; + align-items: center; +} + +.about-text p { + margin-bottom: 1rem; + color: var(--clr-text-light); + font-size: 1.05rem; +} + +.about-image { + border-radius: var(--radius); + overflow: hidden; + box-shadow: var(--shadow-md); +} + +/* ---------- Zimmer ---------- */ +.zimmer { + background-color: var(--clr-white); +} + +.zimmer-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 2rem; +} + +.zimmer-card { + background: var(--clr-bg); + border-radius: var(--radius); + overflow: hidden; + box-shadow: var(--shadow-sm); + transition: transform var(--transition), box-shadow var(--transition); +} + +.zimmer-card:hover { + transform: translateY(-4px); + box-shadow: var(--shadow-md); +} + +.zimmer-image img { + width: 100%; + height: 220px; + object-fit: cover; +} + +.zimmer-info { + padding: 1.5rem; +} + +.zimmer-info h3 { + font-family: var(--font-heading); + font-size: 1.5rem; + margin-bottom: 0.5rem; + color: var(--clr-primary-dark); +} + +.zimmer-info p { + color: var(--clr-text-light); + margin-bottom: 1rem; +} + +.price { + display: inline-block; + font-weight: 600; + color: var(--clr-accent); + font-size: 1.1rem; +} + +/* ---------- Galerie ---------- */ +.galerie-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); + gap: 1rem; +} + +.galerie-item { + border-radius: var(--radius); + overflow: hidden; + box-shadow: var(--shadow-sm); + cursor: pointer; + transition: transform var(--transition); +} + +.galerie-item:hover { + transform: scale(1.02); +} + +.galerie-item img { + width: 100%; + height: 250px; + object-fit: cover; +} + +/* ---------- Kontakt ---------- */ +.kontakt { + background-color: var(--clr-white); +} + +.kontakt-content { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 3rem; +} + +.kontakt-info { + display: flex; + flex-direction: column; + gap: 1.5rem; +} + +.kontakt-item { + padding: 1.25rem; + background: var(--clr-bg); + border-radius: var(--radius); + border-left: 4px solid var(--clr-primary); +} + +.kontakt-item h3 { + font-family: var(--font-heading); + font-size: 1.25rem; + color: var(--clr-primary-dark); + margin-bottom: 0.5rem; +} + +.kontakt-item p { + color: var(--clr-text-light); + line-height: 1.7; +} + +.kontakt-item a { + color: var(--clr-primary); + font-weight: 500; +} + +.kontakt-item a:hover { + color: var(--clr-primary-dark); + text-decoration: underline; +} + +/* ---------- Formular ---------- */ +.kontakt-formular form { + display: flex; + flex-direction: column; + gap: 1.25rem; +} + +.form-group label { + display: block; + font-weight: 500; + margin-bottom: 0.4rem; + color: var(--clr-text); +} + +.form-group input, +.form-group textarea { + width: 100%; + padding: 0.75rem 1rem; + border: 1px solid var(--clr-border); + border-radius: var(--radius); + font-family: var(--font-body); + font-size: 1rem; + color: var(--clr-text); + background-color: var(--clr-bg); + transition: border-color var(--transition); +} + +.form-group input:focus, +.form-group textarea:focus { + outline: none; + border-color: var(--clr-primary); +} + +.form-group textarea { + resize: vertical; +} + +/* ---------- Footer ---------- */ +.footer { + background-color: var(--clr-primary-dark); + color: var(--clr-white); + padding: 3rem 0 1.5rem; +} + +.footer-content { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 2rem; + margin-bottom: 2rem; +} + +.footer h4 { + font-family: var(--font-heading); + font-size: 1.25rem; + margin-bottom: 1rem; +} + +.footer p { + opacity: 0.85; + line-height: 1.7; +} + +.footer a { + color: var(--clr-white); + opacity: 0.85; + transition: opacity var(--transition); +} + +.footer a:hover { + opacity: 1; + color: var(--clr-white); +} + +.footer ul li { + margin-bottom: 0.4rem; +} + +.footer-bottom { + text-align: center; + padding-top: 1.5rem; + border-top: 1px solid rgba(255, 255, 255, 0.15); + font-size: 0.9rem; + opacity: 0.75; +} + +/* ---------- Responsive ---------- */ +@media (max-width: 768px) { + .nav-links { + display: none; + flex-direction: column; + position: absolute; + top: 70px; + left: 0; + width: 100%; + background-color: var(--clr-white); + padding: 1.5rem; + box-shadow: var(--shadow-md); + gap: 1rem; + } + + .nav-links.active { + display: flex; + } + + .nav-toggle { + display: flex; + } + + .hero h1 { + font-size: 2.25rem; + } + + .about-content, + .kontakt-content { + grid-template-columns: 1fr; + } + + .footer-content { + grid-template-columns: 1fr; + text-align: center; + } + + .section { + padding: 3.5rem 0; + } + + .section-title { + font-size: 2rem; + } } diff --git a/haus-schleusingen.html b/haus-schleusingen.html index 64d58bc..cc0cd66 100644 --- a/haus-schleusingen.html +++ b/haus-schleusingen.html @@ -1,551 +1,198 @@ - + -
- - -