Compare commits
11 Commits
feature/is
...
feature/is
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9c0a9a856a | ||
| 4ca48a7445 | |||
| 6b13b95102 | |||
| 9a8776412e | |||
| 127faaffaf | |||
| c6eda36750 | |||
| 336fbc12a6 | |||
|
|
73635a5f03 | ||
|
|
b237cb6315 | ||
|
|
98cb53df09 | ||
|
|
8666bc1eec |
BIN
bilder/Außenansicht-2-small.webp
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
bilder/Außenansicht-2.webp
Normal file
|
After Width: | Height: | Size: 153 KiB |
BIN
bilder/Bad-2-small.webp
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
bilder/Bad-2.webp
Normal file
|
After Width: | Height: | Size: 202 KiB |
BIN
bilder/Bad-3-small.webp
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
bilder/Bad-3.webp
Normal file
|
After Width: | Height: | Size: 145 KiB |
BIN
bilder/Bad-4-small.webp
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
bilder/Bad-4.webp
Normal file
|
After Width: | Height: | Size: 159 KiB |
BIN
bilder/Bad-small.webp
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
bilder/Bad.webp
Normal file
|
After Width: | Height: | Size: 290 KiB |
BIN
bilder/Kinderzimmer 2-small.webp
Normal file
|
After Width: | Height: | Size: 9.3 KiB |
BIN
bilder/Kinderzimmer 2.webp
Normal file
|
After Width: | Height: | Size: 132 KiB |
BIN
bilder/Kinderzimmer 3-small.webp
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
bilder/Kinderzimmer 3.webp
Normal file
|
After Width: | Height: | Size: 174 KiB |
BIN
bilder/Kinderzimmer-small.webp
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
bilder/Kinderzimmer.webp
Normal file
|
After Width: | Height: | Size: 104 KiB |
BIN
bilder/Küche 1-small.webp
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
bilder/Küche 1.webp
Normal file
|
After Width: | Height: | Size: 371 KiB |
BIN
bilder/favicon/apple-touch-icon.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
bilder/favicon/favicon-16x16.png
Normal file
|
After Width: | Height: | Size: 851 B |
BIN
bilder/favicon/favicon-32x32.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
bilder/favicon/favicon.ico
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
10
bilder/favicon/site.webmanifest
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"name": "Haus Schleusingen",
|
||||||
|
"short_name": "HS",
|
||||||
|
"icons": [
|
||||||
|
{ "src": "/bilder/favicon/favicon-32x32.png", "sizes": "32x32", "type": "image/png" },
|
||||||
|
{ "src": "/bilder/favicon/favicon-16x16.png", "sizes": "16x16", "type": "image/png" }
|
||||||
|
],
|
||||||
|
"theme_color": "#1c1917",
|
||||||
|
"background_color": "#fafaf9"
|
||||||
|
}
|
||||||
BIN
bilder/grundrisse/Dachboden unten 2-small.webp
Normal file
|
After Width: | Height: | Size: 9.0 KiB |
BIN
bilder/grundrisse/Dachboden unten 2.webp
Normal file
|
After Width: | Height: | Size: 98 KiB |
BIN
bilder/grundrisse/Dachboden unten-small.webp
Normal file
|
After Width: | Height: | Size: 8.3 KiB |
BIN
bilder/grundrisse/Dachboden unten.webp
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
bilder/grundrisse/EG 3D-small.webp
Normal file
|
After Width: | Height: | Size: 7.8 KiB |
BIN
bilder/grundrisse/EG 3D.webp
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
bilder/grundrisse/EG-small.webp
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
bilder/grundrisse/EG.webp
Normal file
|
After Width: | Height: | Size: 117 KiB |
BIN
bilder/grundrisse/OG 1 2-small.webp
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
bilder/grundrisse/OG 1 2.webp
Normal file
|
After Width: | Height: | Size: 138 KiB |
BIN
bilder/grundrisse/OG 1 3D-small.webp
Normal file
|
After Width: | Height: | Size: 6.8 KiB |
BIN
bilder/grundrisse/OG 1 3D.webp
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
bilder/grundrisse/OG 2 3D-small.webp
Normal file
|
After Width: | Height: | Size: 8.0 KiB |
BIN
bilder/grundrisse/OG 2 3D.webp
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
bilder/grundrisse/OG 2 grundriss-small.webp
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
bilder/grundrisse/OG 2 grundriss.webp
Normal file
|
After Width: | Height: | Size: 150 KiB |
BIN
bilder/kinderzimmer 2 2-small.webp
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
bilder/kinderzimmer 2 2.webp
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
bilder/schlafzimmer-small.webp
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
bilder/schlafzimmer.webp
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
bilder/wohnzimmer2-small.webp
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
bilder/wohnzimmer2.webp
Normal file
|
After Width: | Height: | Size: 48 KiB |
147
index.php
@@ -126,6 +126,11 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
<html lang="de">
|
<html lang="de">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/bilder/favicon/favicon-32x32.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/bilder/favicon/favicon-16x16.png">
|
||||||
|
<link rel="icon" type="image/x-icon" href="/bilder/favicon/favicon.ico">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/bilder/favicon/apple-touch-icon.png">
|
||||||
|
<link rel="manifest" href="/bilder/favicon/site.webmanifest">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Einfamilienhaus mieten Schleusingen | 227 m², 6 Zimmer | 1.300 € Kaltmiete</title>
|
<title>Einfamilienhaus mieten Schleusingen | 227 m², 6 Zimmer | 1.300 € Kaltmiete</title>
|
||||||
<meta name="description" content="Einfamilienhaus zur Langzeitmiete in Schleusingen: 227 m² Wohnfläche, 6 Zimmer, 3 Etagen mit Dachterrasse. Kaltmiete 1.300 €. Bahnhofstraße 10, 98553 Schleusingen. Ab sofort verfügbar." />
|
<meta name="description" content="Einfamilienhaus zur Langzeitmiete in Schleusingen: 227 m² Wohnfläche, 6 Zimmer, 3 Etagen mit Dachterrasse. Kaltmiete 1.300 €. Bahnhofstraße 10, 98553 Schleusingen. Ab sofort verfügbar." />
|
||||||
@@ -210,7 +215,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
<div
|
<div
|
||||||
class="hero-bg"
|
class="hero-bg"
|
||||||
id="heroBg"
|
id="heroBg"
|
||||||
style="background-image: url(bilder/Außenansicht-2.png)"
|
style="background-image: url(bilder/Außenansicht-2.webp)"
|
||||||
></div>
|
></div>
|
||||||
<div class="hero-overlay"></div>
|
<div class="hero-overlay"></div>
|
||||||
<div class="hero-content" id="heroContent">
|
<div class="hero-content" id="heroContent">
|
||||||
@@ -284,7 +289,10 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="intro-img" data-animate>
|
<div class="intro-img" data-animate>
|
||||||
<img src="bilder/wohnzimmer2.png" alt="Wohnzimmer" />
|
<picture>
|
||||||
|
<source srcset="bilder/wohnzimmer2.webp" type="image/webp">
|
||||||
|
<img src="bilder/wohnzimmer2.png" alt="Wohnzimmer" loading="lazy" />
|
||||||
|
</picture>
|
||||||
<div class="intro-img-badge">Wohnzimmer · 42,6 m²</div>
|
<div class="intro-img-badge">Wohnzimmer · 42,6 m²</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@@ -299,55 +307,88 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
<div class="masonry-grid">
|
<div class="masonry-grid">
|
||||||
<div class="grid-sizer"></div>
|
<div class="grid-sizer"></div>
|
||||||
|
|
||||||
<div class="grid-item" data-img="bilder/Außenansicht-2.png" role="button" tabindex="0" aria-label="Außenansicht – Großansicht öffnen">
|
<div class="grid-item" data-img="bilder/Außenansicht-2.webp" role="button" tabindex="0" aria-label="Außenansicht – Großansicht öffnen">
|
||||||
<img src="bilder/Außenansicht-2-small.png" alt="Außenansicht des Einfamilienhauses" />
|
<picture>
|
||||||
|
<source srcset="bilder/Außenansicht-2-small.webp" type="image/webp">
|
||||||
|
<img src="bilder/Außenansicht-2-small.png" alt="Außenansicht des Einfamilienhauses" loading="lazy" />
|
||||||
|
</picture>
|
||||||
<span class="grid-item-label">Außenansicht</span>
|
<span class="grid-item-label">Außenansicht</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-item" data-img="bilder/wohnzimmer2.png" role="button" tabindex="0" aria-label="Wohnzimmer – Großansicht öffnen">
|
<div class="grid-item" data-img="bilder/wohnzimmer2.webp" role="button" tabindex="0" aria-label="Wohnzimmer – Großansicht öffnen">
|
||||||
<img src="bilder/wohnzimmer2-small.png" alt="Wohnzimmer mit 42,6 m² Wohnfläche" />
|
<picture>
|
||||||
|
<source srcset="bilder/wohnzimmer2-small.webp" type="image/webp">
|
||||||
|
<img src="bilder/wohnzimmer2-small.png" alt="Wohnzimmer mit 42,6 m² Wohnfläche" loading="lazy" />
|
||||||
|
</picture>
|
||||||
<span class="grid-item-label">Wohnzimmer · 42,6 m²</span>
|
<span class="grid-item-label">Wohnzimmer · 42,6 m²</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-item" data-img="bilder/Küche 1.jpg" role="button" tabindex="0" aria-label="Küche – Großansicht öffnen">
|
<div class="grid-item" data-img="bilder/Küche 1.webp" role="button" tabindex="0" aria-label="Küche – Großansicht öffnen">
|
||||||
<img src="bilder/Küche 1.jpg" alt="Küche mit 18,4 m²" />
|
<picture>
|
||||||
|
<source srcset="bilder/Küche 1-small.webp" type="image/webp">
|
||||||
|
<img src="bilder/Küche 1.jpg" alt="Küche mit 18,4 m²" loading="lazy" />
|
||||||
|
</picture>
|
||||||
<span class="grid-item-label">Küche · 18,4 m²</span>
|
<span class="grid-item-label">Küche · 18,4 m²</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-item" data-img="bilder/schlafzimmer.png" role="button" tabindex="0" aria-label="Schlafzimmer – Großansicht öffnen">
|
<div class="grid-item" data-img="bilder/schlafzimmer.webp" role="button" tabindex="0" aria-label="Schlafzimmer – Großansicht öffnen">
|
||||||
<img src="bilder/schlafzimmer-small.png" alt="Schlafzimmer mit 18 m²" />
|
<picture>
|
||||||
|
<source srcset="bilder/schlafzimmer-small.webp" type="image/webp">
|
||||||
|
<img src="bilder/schlafzimmer-small.png" alt="Schlafzimmer mit 18 m²" loading="lazy" />
|
||||||
|
</picture>
|
||||||
<span class="grid-item-label">Schlafzimmer · 18 m²</span>
|
<span class="grid-item-label">Schlafzimmer · 18 m²</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-item" data-img="bilder/Bad.jpg" role="button" tabindex="0" aria-label="Badezimmer – Großansicht öffnen">
|
<div class="grid-item" data-img="bilder/Bad.webp" role="button" tabindex="0" aria-label="Badezimmer – Großansicht öffnen">
|
||||||
<img src="bilder/Bad.jpg" alt="Badezimmer mit 9,8 m²" />
|
<picture>
|
||||||
|
<source srcset="bilder/Bad-small.webp" type="image/webp">
|
||||||
|
<img src="bilder/Bad.jpg" alt="Badezimmer mit 9,8 m²" loading="lazy" />
|
||||||
|
</picture>
|
||||||
<span class="grid-item-label">Badezimmer · 9,8 m²</span>
|
<span class="grid-item-label">Badezimmer · 9,8 m²</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-item" data-img="bilder/Kinderzimmer.png" role="button" tabindex="0" aria-label="Kinderzimmer 1 – Großansicht öffnen">
|
<div class="grid-item" data-img="bilder/Kinderzimmer.webp" role="button" tabindex="0" aria-label="Kinderzimmer 1 – Großansicht öffnen">
|
||||||
<img src="bilder/Kinderzimmer-small.png" alt="Kinderzimmer 1 mit 21,7 m²" />
|
<picture>
|
||||||
|
<source srcset="bilder/Kinderzimmer-small.webp" type="image/webp">
|
||||||
|
<img src="bilder/Kinderzimmer-small.png" alt="Kinderzimmer 1 mit 21,7 m²" loading="lazy" />
|
||||||
|
</picture>
|
||||||
<span class="grid-item-label">Kinderzimmer 1 · 21,7 m²</span>
|
<span class="grid-item-label">Kinderzimmer 1 · 21,7 m²</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-item" data-img="bilder/Kinderzimmer 2.jpg" role="button" tabindex="0" aria-label="Kinderzimmer 2 – Großansicht öffnen">
|
<div class="grid-item" data-img="bilder/Kinderzimmer 2.webp" role="button" tabindex="0" aria-label="Kinderzimmer 2 – Großansicht öffnen">
|
||||||
<img src="bilder/Kinderzimmer 2-small.png" alt="Kinderzimmer 2 mit 15,7 m²" />
|
<picture>
|
||||||
|
<source srcset="bilder/Kinderzimmer 2-small.webp" type="image/webp">
|
||||||
|
<img src="bilder/Kinderzimmer 2-small.png" alt="Kinderzimmer 2 mit 15,7 m²" loading="lazy" />
|
||||||
|
</picture>
|
||||||
<span class="grid-item-label">Kinderzimmer 2 · 15,7 m²</span>
|
<span class="grid-item-label">Kinderzimmer 2 · 15,7 m²</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-item" data-img="bilder/kinderzimmer 2 2.jpeg" role="button" tabindex="0" aria-label="Kinderzimmer Detail – Großansicht öffnen">
|
<div class="grid-item" data-img="bilder/kinderzimmer 2 2.webp" role="button" tabindex="0" aria-label="Kinderzimmer Detail – Großansicht öffnen">
|
||||||
<img src="bilder/kinderzimmer 2 2-small.png" alt="Detailansicht Kinderzimmer" />
|
<picture>
|
||||||
|
<source srcset="bilder/kinderzimmer 2 2-small.webp" type="image/webp">
|
||||||
|
<img src="bilder/kinderzimmer 2 2-small.png" alt="Detailansicht Kinderzimmer" loading="lazy" />
|
||||||
|
</picture>
|
||||||
<span class="grid-item-label">Kinderzimmer Detail</span>
|
<span class="grid-item-label">Kinderzimmer Detail</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-item" data-img="bilder/Kinderzimmer 3.jpg" role="button" tabindex="0" aria-label="Gästezimmer – Großansicht öffnen">
|
<div class="grid-item" data-img="bilder/Kinderzimmer 3.webp" role="button" tabindex="0" aria-label="Gästezimmer – Großansicht öffnen">
|
||||||
<img src="bilder/Kinderzimmer 3-small.png" alt="Gästezimmer mit 11,5 m²" />
|
<picture>
|
||||||
|
<source srcset="bilder/Kinderzimmer 3-small.webp" type="image/webp">
|
||||||
|
<img src="bilder/Kinderzimmer 3-small.png" alt="Gästezimmer mit 11,5 m²" loading="lazy" />
|
||||||
|
</picture>
|
||||||
<span class="grid-item-label">Gästezimmer · 11,5 m²</span>
|
<span class="grid-item-label">Gästezimmer · 11,5 m²</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-item" data-img="bilder/Bad-2.jpg" role="button" tabindex="0" aria-label="Zweites Bad – Großansicht öffnen">
|
<div class="grid-item" data-img="bilder/Bad-2.webp" role="button" tabindex="0" aria-label="Zweites Bad – Großansicht öffnen">
|
||||||
<img src="bilder/Bad-2-small.jpg" alt="Zweites Badezimmer im Haus" />
|
<picture>
|
||||||
|
<source srcset="bilder/Bad-2-small.webp" type="image/webp">
|
||||||
|
<img src="bilder/Bad-2-small.jpg" alt="Zweites Badezimmer im Haus" loading="lazy" />
|
||||||
|
</picture>
|
||||||
<span class="grid-item-label">Wohnbereich</span>
|
<span class="grid-item-label">Wohnbereich</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-item" data-img="bilder/bad3.jpg" role="button" tabindex="0" aria-label="Drittes Bad – Großansicht öffnen">
|
<div class="grid-item" data-img="bilder/Bad-3.webp" role="button" tabindex="0" aria-label="Drittes Bad – Großansicht öffnen">
|
||||||
<img src="bilder/Bad-3-small.jpg" alt="Drittes Badezimmer im Haus" />
|
<picture>
|
||||||
|
<source srcset="bilder/Bad-3-small.webp" type="image/webp">
|
||||||
|
<img src="bilder/Bad-3-small.jpg" alt="Drittes Badezimmer im Haus" loading="lazy" />
|
||||||
|
</picture>
|
||||||
<span class="grid-item-label">Wohnbereich Detail</span>
|
<span class="grid-item-label">Wohnbereich Detail</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-item" data-img="bilder/WhatsApp Image 2026-03-30 at 07.50.42 (2).jpeg" role="button" tabindex="0" aria-label="Hausansicht – Großansicht öffnen">
|
<div class="grid-item" data-img="bilder/Bad-4.webp" role="button" tabindex="0" aria-label="Wohnbereich Detail – Großansicht öffnen">
|
||||||
<img
|
<picture>
|
||||||
src="bilder/WhatsApp Image 2026-03-30 at 07.50.42 (2).jpeg"
|
<source srcset="bilder/Bad-4-small.webp" type="image/webp">
|
||||||
alt="Weitere Außenansicht des Einfamilienhauses"
|
<img src="bilder/Bad-4-small.jpg" alt="Wohnbereich Detail 3" loading="lazy" />
|
||||||
/>
|
</picture>
|
||||||
<span class="grid-item-label">Hausansicht</span>
|
<span class="grid-item-label">Hausansicht</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -393,16 +434,24 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="floor-plan floor-plan-multi">
|
<div class="floor-plan floor-plan-multi">
|
||||||
|
<picture>
|
||||||
|
<source srcset="bilder/grundrisse/EG-small.webp" type="image/webp">
|
||||||
<img
|
<img
|
||||||
src="bilder/grundrisse/EG-small.jpg"
|
src="bilder/grundrisse/EG-small.jpg"
|
||||||
alt="Grundriss Erdgeschoss"
|
alt="Grundriss Erdgeschoss"
|
||||||
data-img="bilder/grundrisse/EG.png"
|
loading="lazy"
|
||||||
|
data-img="bilder/grundrisse/EG.webp"
|
||||||
/>
|
/>
|
||||||
|
</picture>
|
||||||
|
<picture>
|
||||||
|
<source srcset="bilder/grundrisse/EG 3D-small.webp" type="image/webp">
|
||||||
<img
|
<img
|
||||||
src="bilder/grundrisse/EG 3D-small.jpg"
|
src="bilder/grundrisse/EG 3D-small.jpg"
|
||||||
alt="Grundriss Erdgeschoss"
|
alt="Grundriss Erdgeschoss"
|
||||||
data-img="bilder/grundrisse/EG 3D.png"
|
loading="lazy"
|
||||||
|
data-img="bilder/grundrisse/EG 3D.webp"
|
||||||
/>
|
/>
|
||||||
|
</picture>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -442,16 +491,24 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="floor-plan floor-plan-multi">
|
<div class="floor-plan floor-plan-multi">
|
||||||
|
<picture>
|
||||||
|
<source srcset="bilder/grundrisse/OG 1 2-small.webp" type="image/webp">
|
||||||
<img
|
<img
|
||||||
src="bilder/grundrisse/OG 1 2-small.jpg"
|
src="bilder/grundrisse/OG 1 2-small.jpg"
|
||||||
alt="Grundriss 1. Obergeschoss"
|
alt="Grundriss 1. Obergeschoss"
|
||||||
data-img="bilder/grundrisse/OG 1 2.png"
|
loading="lazy"
|
||||||
|
data-img="bilder/grundrisse/OG 1 2.webp"
|
||||||
/>
|
/>
|
||||||
|
</picture>
|
||||||
|
<picture>
|
||||||
|
<source srcset="bilder/grundrisse/OG 1 3D-small.webp" type="image/webp">
|
||||||
<img
|
<img
|
||||||
src="bilder/grundrisse/OG 1 3D-small.jpg"
|
src="bilder/grundrisse/OG 1 3D-small.jpg"
|
||||||
alt="Grundriss 1. Obergeschoss"
|
alt="Grundriss 1. Obergeschoss"
|
||||||
data-img="bilder/grundrisse/OG 1 3D.png"
|
loading="lazy"
|
||||||
|
data-img="bilder/grundrisse/OG 1 3D.webp"
|
||||||
/>
|
/>
|
||||||
|
</picture>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -491,16 +548,24 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="floor-plan floor-plan-multi">
|
<div class="floor-plan floor-plan-multi">
|
||||||
|
<picture>
|
||||||
|
<source srcset="bilder/grundrisse/OG 2 grundriss-small.webp" type="image/webp">
|
||||||
<img
|
<img
|
||||||
src="bilder/grundrisse/OG 2 grundriss-small.jpg"
|
src="bilder/grundrisse/OG 2 grundriss-small.jpg"
|
||||||
alt="Grundriss 2. Obergeschoss (1)"
|
alt="Grundriss 2. Obergeschoss (1)"
|
||||||
data-img="bilder/grundrisse/OG 2 grundriss.png"
|
loading="lazy"
|
||||||
|
data-img="bilder/grundrisse/OG 2 grundriss.webp"
|
||||||
/>
|
/>
|
||||||
|
</picture>
|
||||||
|
<picture>
|
||||||
|
<source srcset="bilder/grundrisse/OG 2 3D-small.webp" type="image/webp">
|
||||||
<img
|
<img
|
||||||
src="bilder/grundrisse/OG 2 3D-small.jpg"
|
src="bilder/grundrisse/OG 2 3D-small.jpg"
|
||||||
alt="Grundriss 2. Obergeschoss (1)"
|
alt="Grundriss 2. Obergeschoss (1)"
|
||||||
data-img="bilder/grundrisse/OG 2 3D.png"
|
loading="lazy"
|
||||||
|
data-img="bilder/grundrisse/OG 2 3D.webp"
|
||||||
/>
|
/>
|
||||||
|
</picture>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -528,16 +593,24 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="floor-plan floor-plan-multi">
|
<div class="floor-plan floor-plan-multi">
|
||||||
|
<picture>
|
||||||
|
<source srcset="bilder/grundrisse/Dachboden unten 2-small.webp" type="image/webp">
|
||||||
<img
|
<img
|
||||||
src="bilder/grundrisse/Dachboden unten 2-small.jpg"
|
src="bilder/grundrisse/Dachboden unten 2-small.jpg"
|
||||||
alt="Grundriss Dachboden"
|
alt="Grundriss Dachboden"
|
||||||
data-img="bilder/grundrisse/Dachboden unten 2.png"
|
loading="lazy"
|
||||||
|
data-img="bilder/grundrisse/Dachboden unten 2.webp"
|
||||||
/>
|
/>
|
||||||
|
</picture>
|
||||||
|
<picture>
|
||||||
|
<source srcset="bilder/grundrisse/Dachboden unten-small.webp" type="image/webp">
|
||||||
<img
|
<img
|
||||||
src="bilder/grundrisse/Dachboden unten-small.jpg"
|
src="bilder/grundrisse/Dachboden unten-small.jpg"
|
||||||
alt="Grundriss Dachboden"
|
alt="Grundriss Dachboden"
|
||||||
data-img="bilder/grundrisse/Dachboden unten.png"
|
loading="lazy"
|
||||||
|
data-img="bilder/grundrisse/Dachboden unten.webp"
|
||||||
/>
|
/>
|
||||||
|
</picture>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -81,10 +81,6 @@ document.addEventListener("DOMContentLoaded", function () {
|
|||||||
this.click();
|
this.click();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (e.key === "Enter" || e.key === " ") {
|
|
||||||
e.preventDefault();
|
|
||||||
$(this).trigger("click");
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Lightbox – track last focused element for focus return
|
// Lightbox – track last focused element for focus return
|
||||||
@@ -92,27 +88,33 @@ document.addEventListener("DOMContentLoaded", function () {
|
|||||||
|
|
||||||
function openLightbox(src) {
|
function openLightbox(src) {
|
||||||
lightboxTrigger = document.activeElement;
|
lightboxTrigger = document.activeElement;
|
||||||
$("#lightboxImg").attr("src", src).attr("alt", "");
|
var img = document.getElementById("lightboxImg");
|
||||||
$("#lightbox").addClass("open");
|
// WebP fallback: if .webp fails, try original format
|
||||||
$("body").css("overflow", "hidden");
|
img.onerror = function () {
|
||||||
|
if (img.getAttribute('src').endsWith('.webp')) {
|
||||||
|
img.setAttribute('src', src.replace(/\.webp$/, '.png'));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
img.setAttribute("src", src);
|
||||||
|
img.setAttribute("alt", "");
|
||||||
|
document.getElementById("lightbox").classList.add("open");
|
||||||
|
document.body.style.overflow = "hidden";
|
||||||
// Set focus to close button
|
// Set focus to close button
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
$("#lightboxClose").focus();
|
document.getElementById("lightboxClose").focus();
|
||||||
}, 50);
|
}, 50);
|
||||||
}
|
}
|
||||||
|
|
||||||
function closeLightbox() {
|
function closeLightbox() {
|
||||||
$("#lightbox").removeClass("open");
|
document.getElementById("lightbox").classList.remove("open");
|
||||||
$("body").css("overflow", "");
|
document.body.style.overflow = "";
|
||||||
// Return focus to trigger
|
// Return focus to trigger
|
||||||
if (lightboxTrigger) {
|
if (lightboxTrigger) {
|
||||||
$(lightboxTrigger).focus();
|
lightboxTrigger.focus();
|
||||||
lightboxTrigger = null;
|
lightboxTrigger = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Lightbox – gallery grid items
|
|
||||||
|
|
||||||
// Lightbox – gallery grid items
|
// Lightbox – gallery grid items
|
||||||
document.querySelectorAll(".grid-item").forEach(function (item) {
|
document.querySelectorAll(".grid-item").forEach(function (item) {
|
||||||
item.addEventListener("click", function () {
|
item.addEventListener("click", function () {
|
||||||
@@ -139,26 +141,7 @@ document.addEventListener("DOMContentLoaded", function () {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
function openLightbox(src) {
|
|
||||||
lightboxTrigger = document.activeElement;
|
|
||||||
document.getElementById("lightboxImg").setAttribute("src", src);
|
|
||||||
document.getElementById("lightbox").classList.add("open");
|
|
||||||
document.body.style.overflow = "hidden";
|
|
||||||
// Focus close button
|
|
||||||
setTimeout(function () {
|
|
||||||
document.getElementById("lightboxClose").focus();
|
|
||||||
}, 100);
|
|
||||||
}
|
|
||||||
|
|
||||||
function closeLightbox() {
|
|
||||||
document.getElementById("lightbox").classList.remove("open");
|
|
||||||
document.body.style.overflow = "";
|
|
||||||
// Return focus to trigger
|
|
||||||
if (lightboxTrigger) {
|
|
||||||
lightboxTrigger.focus();
|
|
||||||
lightboxTrigger = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
document.getElementById("lightboxClose").addEventListener("click", closeLightbox);
|
document.getElementById("lightboxClose").addEventListener("click", closeLightbox);
|
||||||
document.getElementById("lightbox").addEventListener("click", function (e) {
|
document.getElementById("lightbox").addEventListener("click", function (e) {
|
||||||
|
|||||||
13
nginx.conf
@@ -5,7 +5,20 @@ server {
|
|||||||
root /usr/share/nginx/html;
|
root /usr/share/nginx/html;
|
||||||
index haus-schleusingen.html;
|
index haus-schleusingen.html;
|
||||||
|
|
||||||
|
# Gzip aktivieren
|
||||||
|
gzip on;
|
||||||
|
gzip_types text/css application/javascript image/svg+xml application/json text/xml;
|
||||||
|
gzip_min_length 256;
|
||||||
|
gzip_vary on;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
try_files $uri $uri/ /haus-schleusingen.html;
|
try_files $uri $uri/ /haus-schleusingen.html;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Lange Cache-Dauer für Bilder und statische Assets
|
||||||
|
location ~* \.(jpg|jpeg|png|webp|gif|ico|svg|css|js|woff2?)$ {
|
||||||
|
expires 30d;
|
||||||
|
add_header Cache-Control "public, immutable";
|
||||||
|
access_log off;
|
||||||
|
}
|
||||||
}
|
}
|
||||||