1<!DOCTYPE html> 2<html lang="de" data-fw-version="1.9.2" data-theme data-privacy-control="dark"> 3<head> 4 <meta charset="utf-8"> 5 <title>Fenster, Türen & Sonnenschutz in Ochsenfurt | Nele Bauelemente</title> 6 <meta name="description" content="Bereits seit 1980 sind wir Ihr kompetenter Partner, wenn es um Türen, Fenster und Sonnenschutz-Lösungen geht. ⤠Lernen Sie Nele Bauelemente kennen!"> 7 <meta property="og:title" content="Fenster, Türen & Sonnenschutz in Ochsenfurt | Nele Bauelemente"> 8 <meta property="og:description" content="Bereits seit 1980 sind wir Ihr kompetenter Partner, wenn es um Türen, Fenster und Sonnenschutz-Lösungen geht. ⤠Lernen Sie Nele Bauelemente kennen!"> 9 <meta property="og:type" content="website"> 10 <meta property="og:url" content="https://www.nele-fenster.com/"> 11 <meta property="og:image" content="/images/social_branding.png"> 12 <meta property="og:site_name" content="Nele GmbH Bauelemente - Ochsenfurt"> <meta name="author" content="Nele GmbH Bauelemente - Ochsenfurt"> 13 <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0"> 14 <meta name="thumbnail" content="/images/social_branding.png"> 15 <meta name="theme-color" content="#d10a11"> 16 <meta name="format-detection" content="telephone=no"> 17 <link rel="canonical" href="https://www.nele-fenster.com/"> 18 <!-- Fav Icon --> 19 <link rel="icon" href="/favicon.ico" type="image/x-icon"> 20 <!-- Styles --> 21 <link rel="stylesheet" href="/css/styles.css?v=1760963689" media="screen"> 22 <link rel="stylesheet" href="/css/print.css?v=1760963689" media="print"> 23 24 <style id="cms-theme-configuration-settings"> 25 :root[data-theme] { 26 --base-font-size: 16; 27 --base-line-height: 24; 28 --base-border-radius: 4; 29 --h1-size: 55; 30 --h2-size: 40; 31 --h3-size: 30; 32 --h4-size: 22; 33 --h5-size: 20; 34 --h6-size: 18; 35 --color-primary-h: 358; 36 --color-primary-s: 90.9; 37 --color-primary-l: 42.9; 38 --color-primary-text-h: 0; 39 --color-primary-text-s: 0; 40 --color-primary-text-l: 100; 41 --color-secondary-h: 0; 42 --color-secondary-s: 0; 43 --color-secondary-l: 0; 44 --color-secondary-text-h: 0; 45 --color-secondary-text-s: 0; 46 --color-secondary-text-l: 100; 47 --color-tertiary-h: 69; 48 --color-tertiary-s: 65.4; 49 --color-tertiary-l: 50.2; 50 --color-tertiary-text-h: 0; 51 --color-tertiary-text-s: 0; 52 --color-tertiary-text-l: 0; 53 --color-background-h: 0; 54 --color-background-s: 0; 55 --color-background-l: 100; 56 --color-background-text-h: 0; 57 --color-background-text-s: 0; 58 --color-background-text-l: 0; 59 --color-surface-h: 0; 60 --color-surface-s: 0; 61 --color-surface-l: 92.9; 62 --color-surface-text-h: 0; 63 --color-surface-text-s: 0; 64 --color-surface-text-l: 0; 65 --color-navi-h: 0; 66 --color-navi-s: 0; 67 --color-navi-l: 43.1; 68 --color-navi-text-h: 0; 69 --color-navi-text-s: 0; 70 --color-navi-text-l: 100; 71 --color-surface-elevated-h: 0; 72 --color-surface-elevated-s: 0; 73 --color-surface-elevated-l: 25.9; 74 --color-surface-elevated-text-h: 0; 75 --color-surface-elevated-text-s: 0; 76 --color-surface-elevated-text-l: 100; 77 --color-warning-h: 0; 78 --color-warning-s: 64.4; 79 --color-warning-l: 50.4; 80 --color-warning-text-h: 0; 81 --color-warning-text-s: 0; 82 --color-warning-text-l: 100; 83 --color-border-h: 210; 84 --color-border-s: 9.9; 85 --color-border-l: 64.3; 86 } 87 :root[data-theme].contrast-intensify { 88 --color-primary-h: 0; 89 --color-primary-s: 100; 90 --color-primary-l: 27.3; 91 --color-secondary-h: 0; 92 --color-secondary-s: 0; 93 --color-secondary-l: 8.6; 94 --color-tertiary-h: 69; 95 --color-tertiary-s: 78.3; 96 --color-tertiary-l: 54.9; 97 --color-background-h: 0; 98 --color-background-s: 0; 99 --color-background-l: 100; 100 --color-surface-h: 0; 101 --color-surface-s: 0; 102 --color-surface-l: 98; 103 --color-navi-h: 0; 104 --color-navi-s: 0; 105 --color-navi-l: 43.1; 106 --color-surface-elevated-h: 0; 107 --color-surface-elevated-s: 0; 108 --color-surface-elevated-l: 0; 109 --color-warning-h: 0; 110 --color-warning-s: 65.3; 111 --color-warning-l: 44.1; 112 --color-border-h: 0; 113 --color-border-s: 0; 114 --color-border-l: 0; 115 } 116 </style> 117 <template id="cms-theme-fonts"> 118 <style> 119 :root[data-theme] { 120 121 --font-display: "Jost"; 122 --font-display-light: 300; 123 --font-display-regular: 400; 124 --font-display-bold: 700; 125 --font-main: "Jost"; 126 --font-main-light: 300; 127 --font-main-regular: 400; 128 --font-main-bold: 700; 129 } 130 </style> 131 </template> 132
132<script type="application/json" data-translations>{"Form data is not valid!":"Formulardaten sind ung\u00fcltig!","FORM_SUBMISSION_ERROR":"Die E-Mail wurde nicht gesendet, weil die folgenden Fehler aufgetreten sind:","FORM_SUBMISSION_SUCCESS":"E-Mail erfolgreich gesendet","Calculate route":"Route berechnen","The field is required":"Dieses Feld ist erforderlich","Invalid email address":"Die E-Mail-Adresse ist ung\u00fcltig","privacyPolicy_not_accepted":"Das Feld Datenschutzerkl\u00e4rung ist obligatorisch"}</script>
132<script type="text/javascript">(function (root) { 133 let translations; 134 135 root.__ = function (message) { 136 if (translations === (void 0)) { 137 let el = document.querySelector('script[data-translations]'); 138 139 try { 140 translations = JSON.parse(el.textContent); 141 } catch (e) { 142 translations = {}; 143 } 144 } 145 146 return message in translations ? translations[message] : message; 147 }; 148})(window);</script>
148</head> 149 150<body class="main-template no-js lang-de Startseite index" style="opacity:0"> 151 <input type="checkbox" id="navi-toggled"> 152 <div tabindex="-1" data-reset-focus id="back-to-top"></div> 153 <a href="#content" tabindex="1" title="Navigation überspringen" class="tab-btn">Navigation überspringen</a> 154 <a href="/sitemap" tabindex="1" title="Sitemap anzeigen" rel="nofollow" class="tab-btn">Sitemap anzeigen</a> 155 156 <div data-navigation-status aria-live="assertive" aria-relevant="text" aria-atomic="true" role="status" aria-hidden="false" class="visually-hidden"></div> 157 158 <ul id="quickbar" aria-label="Hauptmenü"> 159 <li class="contact-items"> 160 <a href="tel:+4993318025040" title="Jetzt telefonisch Kontakt mit Nele GmbH Bauelemente - Ochsenfurt in 97199 Ochsenfurt aufnehmen" class="phone" data-event-type="click" data-event-name="Click To Call">+4993318025040</a> </li> 161 <li class="accessibility-bar"></li> 162 <li> 163 <label for="navi-toggled"> 164 <span aria-haspopup="true" tabindex="0" aria-label="Hauptnavigation öffnen" role="button" data-tooltip="focus-visible" class="contrast-intensify-border">Menü 165 <svg viewBox="0 0 32 32"> 166 <path d="M25 10H9S9 8.2 9 6C9 3.5 10.8 2 13 2S17 3.8 17 6V26C17 28.2 18.8 30 21 30S25 28.2 25 26 25 22 25 22H9" /> 167 <path d="M9 16H25" /> 168 </svg> 169 </span> 170 </label> 171 </li> 172 </ul> 173 174 <div class="first-level" id="navigation"> 175 <nav> 176 <div style="background-size: cover;" class="cms-container-el default-container"> 177<div style="background-size: cover;" class="cms-container-el naviCont"> 178<div class="row large-end stretch"> 179<div class="col"> 180<div style="background-size: cover;" class="cms-container-el nav-ct"> 181<figure style="width: 100%; height: auto;" class="cms-image lightbox-zoom-image"> 182<a title="Fenster, Türen & Sonnenschutz in Ochsenfurt | Nele Bauelemente" class="branding" href="/" target="_self"> 183<picture> 184<source media="(max-width:640px)" data-pic-cms-srcset="/upload/small/branding_612_small_x1_ti9XfmtMBi.webp 1x, /upload/small/branding_612_small_x2_3-sfJNGXkw.webp 2x" srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII= 1x" type="image/webp"> 185<source media="(max-width:640px)" data-pic-cms-srcset="/upload/small/branding_612_small_NGsGlt0piS.jpg" srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII= 1x" type="image/jpg"> 186<source media="(max-width:760px)" data-pic-cms-srcset="/upload/medium/branding_612_medium_x1_1wOdFAAzJf.webp 1x, /upload/medium/branding_612_medium_x2_xjJuS6jERh.webp 2x" srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII= 1x" type="image/webp"> 187<source media="(max-width:760px)" data-pic-cms-srcset="/upload/medium/branding_612_medium_pISBpgEAQ3.jpg" srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII= 1x" type="image/jpg"> 188<source media="(min-width:760px)" data-pic-cms-srcset="/upload/large/branding_612_large_x1_MgeT8I5cNe.webp 1x, /upload/large/branding_612_large_x2_tFLN4Swncy.webp 2x" srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII= 1x" type="image/webp"> 189<source media="(min-width:760px)" data-pic-cms-srcset="/upload/large/branding_612_large_1pGOWPJrAu.jpg" srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII= 1x" type="image/jpg"> 190<img data-pic-cms-src="/upload/large/branding_612_large_1pGOWPJrAu.jpg" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" alt="Fenster, Türen & Sonnenschutz in Ochsenfurt | Nele Bauelemente" decoding="async"> 191</picture> 192</a> 193</figure> 194<div style="background-size: cover;" class="cms-container-el right-ct"> 195<div class="cms-html top-bar"> 196<a href="tel:+4993318025040" title="Jetzt telefonisch Kontakt mit Nele GmbH Bauelemente - Ochsenfurt in 97199 Ochsenfurt aufnehmen" class="phone" data-event-type="click" data-event-name="Click To Call">+4993318025040</a> 197<a href="//www.nele-fenster.com" class="escape email" title="Schreiben Sie Nele GmbH Bauelemente - Ochsenfurt in 97199 Ochsenfurt eine E-Mail." data-email="{"name":"info","host":"nele-fenster.com"}">info<span class="escape">â</span>nele-fenster.com</a> 198<a class="fb icon icon-facebook" href title="Besuchen Sie uns auf Facebook" data-le-dy-clone="7-2"></a> 199<a class="instagram icon icon-instagram" href title="Besuchen Sie uns auf Instagram" data-le-dy-clone="8-3"></a> 200<div class="cms-navi accessibility-bar__container"> 201 <ul> 202 <li class="accessibility-bar"></li> 203 </ul> 204</div></div> 205<div class="cms-navi"> 206<ul class="navi navi-main"> 207<li class="index active"> 208<a title="Fenster, Türen & Sonnenschutz in Ochsenfurt | Nele Bauelemente" class="index active" href="/" target="_self"> 209Startseite</a> 210</li> 211<li class="unternehmen has-sub"> 212<a title="Fensterhändler & Haustürhändler in Ochsenfurt | über uns" class="unternehmen" href="/unternehmen/" target="_self"> 213Unternehmen</a> 214<ul class="sub"> 215<li class="unternehmen-unser-team"> 216<a title="Fenstergeschäft in Ochsenfurt bei Würzburg | unser Team" class="unternehmen-unser-team" href="/unternehmen/unser-team" target="_self"> 217Unser Team</a> 218</li> 219<li class="unternehmen-jobs"> 220<a title="Fensterbauer gesucht in Ochsenfurt bei Würzburg | Jobs" class="unternehmen-jobs" href="/unternehmen/jobs" target="_self"> 221Jobs</a> 222</li> 223</ul> 224</li> 225<li class="produkte has-sub"> 226<a title="Fachgeschäft für Fenster & Türen in Ochsenfurt | Produkte" class="produkte" href="/produkte/" target="_self"> 227Produkte</a> 228<ul class="sub"> 229<li class="produkte-haustueren"> 230<a title="Haustüren kaufen in Ochsenfurt | Beratung & Montage" class="produkte-haustueren" href="/produkte/haustueren" target="_self"> 231Haustüren</a> 232</li> 233<li class="produkte-fenster"> 234<a title="Fenster kaufen bei Nele Bauelemente in Ochsenfurt bei Würzburg" class="produkte-fenster" href="/produkte/fenster" target="_self"> 235Fenster</a> 236</li> 237<li class="produkte-sonnenschutz"> 238<a title="Sonnenschutz & Rollläden kaufen in Ochsenfurt bei Würzburg" class="produkte-sonnenschutz" href="/produkte/sonnenschutz" target="_self"> 239Sonnenschutz</a> 240</li> 241<li class="produkte-terrassendaecher"> 242<a title="Terrassendächer und Schiebeverglasungen aus Ochsenfurt" class="produkte-terrassendaecher" href="/produkte/terrassendaecher" target="_self"> 243Terrassendächer</a> 244</li> 245<li class="produkte-insektenschutz"> 246<a title="Insektenschutz für Fenster und Türen aus Ochsenfurt" class="produkte-insektenschutz" href="/produkte/insektenschutz" target="_self"> 247Insektenschutz</a> 248</li> 249</ul> 250</li> 251<li class="kundendienst"> 252<a title="Wartung von Fenstern & Rollläden in Ochsenfurt | Kundendienst" class="kundendienst" href="/kundendienst" target="_self"> 253Kundendienst</a> 254</li> 255<li class="referenzen"> 256<a title="Bauelemente kaufen in Ochsenfurt | unsere Referenzen" class="referenzen" href="/referenzen" target="_self"> 257Referenzen</a> 258</li> 259<li class="partner"> 260<a title="Kunststofffenster & Aluhaustüren in Ochsenfurt | Partner" class="partner" href="/partner" target="_self"> 261Partner</a> 262</li> 263<li class="kontakt"> 264<a title="Terrassenüberdachung & Fenster in Ochsenfurt | Kontakt" class="kontakt" href="/kontakt/" target="_self"> 265Kontakt</a> 266</li> 267<li class="has-sub"> 268<span title> 269Servicegebiete</span> 270<ul class="sub"> 271<li class="servicegebiete-bad-mergentheim"> 272<a title="Kunststofffenster in Ochsenfurt bei Bad Mergentheim" class="servicegebiete-bad-mergentheim" href="/servicegebiete/bad-mergentheim" target="_self"> 273Bad Mergentheim</a> 274</li> 275</ul> 276</li> 277<li class="anfahrt"> 278<a title="Fenster, KartäuserstraÃe 14 B, in 97199 Ochsenfurt | Anfahrt" class="anfahrt" href="/anfahrt" target="_self"> 279Anfahrt</a> 280</li> 281<li class="datenschutzerklaerung"> 282<a title="Alu-Holzfenster und Fliegengitter in Ochsenfurt | Datenschutz" class="datenschutzerklaerung" href="/datenschutzerklaerung" target="_self"> 283Datenschutzerklärung</a> 284</li> 285<li class="impressum"> 286<a title="Nele GmbH Bauelemente in Ochsenfurt-Tückelhausen | Impressum" class="impressum" href="/impressum" target="_self"> 287Impressum</a> 288</li> 289<li class="digitale-barrierefreiheit"> 290<a title="Unsere Erklärung zur digitalen Barrierefreiheit" class="digitale-barrierefreiheit" href="/digitale-barrierefreiheit" target="_self"> 291Digitale Barrierefreiheit</a> 292</li> 293</ul> 294</div> 295</div> 296</div> 297</div> 298</div> 299</div> 300</div> 301 </nav> 302 </div> 303 304 <div id="page-wrap"> 305 306 <header id="header"> 307 <!-- /// BEARBEITBARER BEREICH WIRD NUR AUF DER INDEX AUSGEGEBEN --> 308 <div style="background-size: cover;" class="cms-container-el default-container"> 309<div style="background-size: cover;" class="cms-container-el brandingCont">
310<div class="row stretch start"> 311<div class="col"> 312<figure style="width: 100%; height: auto;" class="cms-image"> 313<a title="Fenster, Türen & Sonnenschutz in Ochsenfurt | Nele Bauelemente" class="branding" href="/" target="_self"> 314<picture> 315<source media="(max-width:640px)" data-pic-cms-srcset="/upload/small/branding-900_907_small_x1_533l0UfHNc.webp 1x, /upload/small/branding-900_907_small_x2_oiVst8lFpA.webp 2x" srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII= 1x" type="image/webp"> 316<source media="(max-width:640px)" data-pic-cms-srcset="/upload/small/branding-900_907_small_4gwON-SkQ0.jpg" srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII= 1x" type="image/jpg"> 317<source media="(max-width:760px)" data-pic-cms-srcset="/upload/medium/branding-900_907_medium_x1_J4JsBPEo1O.webp 1x, /upload/medium/branding-900_907_medium_x2_VW0b9_X-zQ.webp 2x" srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII= 1x" type="image/webp"> 318<source media="(max-width:760px)" data-pic-cms-srcset="/upload/medium/branding-900_907_medium_3xTPrq6Gog.jpg" srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII= 1x" type="image/jpg"> 319<source media="(min-width:760px)" data-pic-cms-srcset="/upload/large/branding-900_907_large_x1_Au88k5pLrH.webp 1x, /upload/large/branding-900_907_large_x2_948UPZpekz.webp 2x" srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII= 1x" type="image/webp"> 320<source media="(min-width:760px)" data-pic-cms-srcset="/upload/large/branding-900_907_large_x4qcpkvsa-.jpg" srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII= 1x" type="image/jpg"> 321<img data-pic-cms-src="/upload/large/branding-900_907_large_x4qcpkvsa-.jpg" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" alt="Fenster, Türen & Sonnenschutz in Ochsenfurt | Nele Bauelemente" decoding="async"> 322</picture> 323</a> 324</figure> 325</div> 326</div> 327</div> 328<div style="background-size: cover;" class="cms-container-el claim"> 329<div class="row stretch start"> 330<div class="col large-12"> 331<div style="background-size: cover;" class="cms-container-el claim-ct"> 332<div class="cms-html claimBox"> 333<blockquote> 334 <strong class="highlight">Qualitative Beratung</strong> 335 <span>rund um <a title="Fenster kaufen bei Nele Bauelemente in Ochsenfurt bei Würzburg" href="/produkte/fenster" target="_self" data-le-dy-clone="6-2">Fenster</a>, <a title="Haustüren kaufen in Ochsenfurt | Beratung & Montage" href="/produkte/haustueren" target="_self" data-le-dy-clone="9-2">Türen</a> & <a title="Sonnenschutz & Rollläden kaufen in Ochsenfurt bei Würzburg" href="/produkte/sonnenschutz" target="_self" data-le-dy-clone="6-2">Sonnenschutz</a> </span> 336 <p class="hidden">Seit 1980 - Erfahrung & Qualität</p> 337</blockquote></div> 338</div> 339</div> 340</div> 341</div> 342</div> 343 </header> 344 345 <main id="content"> 346 <div style="background-size: cover;" class="cms-container-el default-container"> 347<div style="background-size: cover;" class="cms-container-el section section01"> 348<div class="row stretch start"> 349<div class="col giant-5 customBigCol no-gutter-right"> 350<div id="main-slider" style="background-size: cover;" class="cms-container-el"> 351<div class="cms-module" data-cms-module-name="Swiper"> 352<div data-slider-module> 353
353<script>var cssData = { 354 "config-version": "1", 355 "image-path": "\"..\/images\/\" !default", 356 "base-font-size": 16, 357 "base-line-height": 24, 358 "h1-size": 55, 359 "h2-size": 40, 360 "h3-size": 30, 361 "h4-size": 22, 362 "h5-size": 20, 363 "h6-size": 18, 364 "fontMap": { 365 "display": { 366 "name": "Jost", 367 "weights": { 368 "light": 300, 369 "regular": 400, 370 "bold": "700" 371 } 372 }, 373 "main": { 374 "name": "Jost", 375 "weights": { 376 "light": 300, 377 "regular": 400, 378 "bold": 700 379 } 380 } 381 }, 382 "colorMap": { 383 "primary": { 384 "main": "#d10a11", 385 "contrast": "#8b0000", 386 "text": "#ffffff" 387 }, 388 "secondary": { 389 "main": "#000000", 390 "contrast": "#161616", 391 "text": "#ffffff" 392 }, 393 "tertiary": { 394 "main": "#BAD32D", 395 "contrast": "#CBE632", 396 "text": "#000000" 397 }, 398 "background": { 399 "main": "#ffffff", 400 "contrast": "#ffffff", 401 "text": "#000000" 402 }, 403 "surface": { 404 "main": "#ededed", 405 "contrast": "#fafafa", 406 "text": "#000000" 407 }, 408 "navi": { 409 "main": "#6e6e6e", 410 "contrast": "#6e6e6e", 411 "text": "#ffffff" 412 }, 413 "surface-elevated": { 414 "main": "#424242", 415 "contrast": "#000000", 416 "text": "#ffffff" 417 }, 418 "warning": { 419 "main": "#D22F2F", 420 "contrast": "#BA2727", 421 "text": "#ffffff" 422 }, 423 "border": { 424 "main": "#9ba4ad", 425 "contrast": "#000000" 426 } 427 }, 428 "break": "large", 429 "base-gap": 18, 430 "rowMaxWidth": "1620px", 431 "space-sm": "30 60", 432 "space-md": "60 90", 433 "space-lg": "90 120", 434 "space-xl": "120 150", 435 "video-formats": "\"16\/9\" \"1\/1\" \"3\/4\" \"4\/3\" \"9\/16\" \"21\/9\" \"9\/21\"", 436 "columnCount": 12, 437 "column-count": "$columnCount", 438 "base-border": "rem(1px) solid color(border)", 439 "base-border-radius": 4, 440 "base-border-radius-limited": 16, 441 "base-box-shadow": "0px rem(5px) rem(10px) 0px color-text(background, .2)", 442 "base-outline": "rem(1px) solid color(border)", 443 "focus-outline-color": "color(warning)", 444 "focus-outline": "rem(2px) solid color(warning)", 445 "bpContext": "16px", 446 "hide-text-direction": "right", 447 "icon-font": "icomoon", 448 "icon-map": { 449 "facebook": "\\e900", 450 "instagram": "\\e902", 451 "window": "\\e903", 452 "angle-down": "\\ea25", 453 "angle-left": "\\ea26", 454 "angle-right": "\\ea28", 455 "angle-up": "\\ea29", 456 'close': '"Ã"', 457 "service": "\\eac8", 458 "door": "\\e9a0", 459 "line-person-chat": "\\ea27", 460 "social": "\\ead9", 461 "phone": "\\e907", 462 "weather-sun": "\\eb46" 463 }, 464 "gridMap": { 465 "default": { 466 "width": "0px", 467 "cols": [ 468 1, 469 2, 470 3, 471 4, 472 5, 473 6, 474 7, 475 8, 476 9, 477 10, 478 11, 479 12, 480 "auto" 481 ], 482 "prefix": [ 483 0, 484 1, 485 2, 486 3, 487 4, 488 5, 489 6, 490 7, 491 8, 492 9, 493 10, 494 11, 495 12 496 ], 497 "suffix": [ 498 0, 499 1, 500 2, 501 3, 502 4, 503 5, 504 6, 505 7, 506 8, 507 9, 508 10, 509 11, 510 12 511 ], 512 "start": [ 513 "justify-content:flex-start" 514 ], 515 "center": [ 516 "justify-content:center" 517 ], 518 "end": [ 519 "justify-content:flex-end" 520 ], 521 "between": [ 522 "justify-content:space-between" 523 ], 524 "around": [ 525 "justify-content:space-around" 526 ], 527 "top": [ 528 "align-items:flex-start" 529 ], 530 "middle": [ 531 "align-items:center" 532 ], 533 "baseline": [ 534 "align-items:flex-baseline" 535 ], 536 "bottom": [ 537 "align-items:flex-end" 538 ], 539 "stretch": [ 540 "align-items:stretch" 541 ], 542 "reverse": [ 543 "flex-direction:row-reverse" 544 ], 545 "forward": [ 546 "flex-direction:row" 547 ], 548 "first": [ 549 "order:-1" 550 ], 551 "last": [ 552 "order:1" 553 ], 554 "unset": [ 555 "order:0" 556 ] 557 }, 558 "tiny": { 559 "width": "480px", 560 "cols": [ 561 1, 562 2, 563 3, 564 4, 565 5, 566 6, 567 7, 568 8, 569 9, 570 10, 571 11, 572 12, 573 "auto" 574 ], 575 "prefix": [ 576 0, 577 1, 578 2, 579 3, 580 4, 581 5, 582 6, 583 7, 584 8, 585 9, 586 10, 587 11, 588 12 589 ], 590 "suffix": [ 591 0, 592 1, 593 2, 594 3, 595 4, 596 5, 597 6, 598 7, 599 8, 600 9, 601 10, 602 11, 603 12 604 ], 605 "start": [ 606 "justify-content:flex-start" 607 ], 608 "center": [ 609 "justify-content:center" 610 ], 611 "end": [ 612 "justify-content:flex-end" 613 ], 614 "between": [ 615 "justify-content:space-between" 616 ], 617 "around": [ 618 "justify-content:space-around" 619 ], 620 "top": [ 621 "align-items:flex-start" 622 ], 623 "middle": [ 624 "align-items:center" 625 ], 626 "baseline": [ 627 "align-items:flex-baseline" 628 ], 629 "bottom": [ 630 "align-items:flex-end" 631 ], 632 "stretch": [ 633 "align-items:stretch" 634 ], 635 "reverse": [ 636 "flex-direction:row-reverse" 637 ], 638 "forward": [ 639 "flex-direction:row" 640 ], 641 "first": [ 642 "order:-1" 643 ], 644 "last": [ 645 "order:1" 646 ], 647 "unset": [ 648 "order:0" 649 ] 650 }, 651 "small": { 652 "width": "640px", 653 "cols": [ 654 1, 655 2, 656 3, 657 4, 658 5, 659 6, 660 7, 661 8, 662 9, 663 10, 664 11, 665 12, 666 "auto" 667 ], 668 "prefix": [ 669 0, 670 1, 671 2, 672 3, 673 4, 674 5, 675 6, 676 7, 677 8, 678 9, 679 10, 680 11, 681 12 682 ], 683 "suffix": [ 684 0, 685 1, 686 2, 687 3, 688 4, 689 5, 690 6, 691 7, 692 8, 693 9, 694 10, 695 11, 696 12 697 ], 698 "start": [ 699 "justify-content:flex-start" 700 ], 701 "center": [ 702 "justify-content:center" 703 ], 704 "end": [ 705 "justify-content:flex-end" 706 ], 707 "between": [ 708 "justify-content:space-between" 709 ], 710 "around": [ 711 "justify-content:space-around" 712 ], 713 "top": [ 714 "align-items:flex-start" 715 ], 716 "middle": [ 717 "align-items:center" 718 ], 719 "baseline": [ 720 "align-items:flex-baseline" 721 ], 722 "bottom": [ 723 "align-items:flex-end" 724 ], 725 "stretch": [ 726 "align-items:stretch" 727 ], 728 "reverse": [ 729 "flex-direction:row-reverse" 730 ], 731 "forward": [ 732 "flex-direction:row" 733 ], 734 "first": [ 735 "order:-1" 736 ], 737 "last": [ 738 "order:1" 739 ], 740 "unset": [ 741 "order:0" 742 ] 743 }, 744 "medium": { 745 "width": "760px", 746 "cols": [ 747 1, 748 2, 749 3, 750 4, 751 5, 752 6, 753 7, 754 8, 755 9, 756 10, 757 11, 758 12, 759 "auto" 760 ], 761 "prefix": [ 762 0, 763 1, 764 2, 765 3, 766 4, 767 5, 768 6, 769 7, 770 8, 771 9, 772 10, 773 11, 774 12 775 ], 776 "suffix": [ 777 0, 778 1, 779 2, 780 3, 781 4, 782 5, 783 6, 784 7, 785 8, 786 9, 787 10, 788 11, 789 12 790 ], 791 "start": [ 792 "justify-content:flex-start" 793 ], 794 "center": [ 795 "justify-content:center" 796 ], 797 "end": [ 798 "justify-content:flex-end" 799 ], 800 "between": [ 801 "justify-content:space-between" 802 ], 803 "around": [ 804 "justify-content:space-around" 805 ], 806 "top": [ 807 "align-items:flex-start" 808 ], 809 "middle": [ 810 "align-items:center" 811 ], 812 "baseline": [ 813 "align-items:flex-baseline" 814 ], 815 "bottom": [ 816 "align-items:flex-end" 817 ], 818 "stretch": [ 819 "align-items:stretch" 820 ], 821 "reverse": [ 822 "flex-direction:row-reverse" 823 ], 824 "forward": [ 825 "flex-direction:row" 826 ], 827 "first": [ 828 "order:-1" 829 ], 830 "last": [ 831 "order:1" 832 ], 833 "unset": [ 834 "order:0" 835 ] 836 }, 837 "large": { 838 "width": "992px", 839 "cols": [ 840 1, 841 2, 842 3, 843 4, 844 5, 845 6, 846 7, 847 8, 848 9, 849 10, 850 11, 851 12, 852 "auto" 853 ], 854 "prefix": [ 855 0, 856 1, 857 2, 858 3, 859 4, 860 5, 861 6, 862 7, 863 8, 864 9, 865 10, 866 11, 867 12 868 ], 869 "suffix": [ 870 0, 871 1, 872 2, 873 3, 874 4, 875 5, 876 6, 877 7, 878 8, 879 9, 880 10, 881 11, 882 12 883 ], 884 "start": [ 885 "justify-content:flex-start" 886 ], 887 "center": [ 888 "justify-content:center" 889 ], 890 "end": [ 891 "justify-content:flex-end" 892 ], 893 "between": [ 894 "justify-content:space-between" 895 ], 896 "around": [ 897 "justify-content:space-around" 898 ], 899 "top": [ 900 "align-items:flex-start" 901 ], 902 "middle": [ 903 "align-items:center" 904 ], 905 "baseline": [ 906 "align-items:flex-baseline" 907 ], 908 "bottom": [ 909 "align-items:flex-end" 910 ], 911 "stretch": [ 912 "align-items:stretch" 913 ], 914 "reverse": [ 915 "flex-direction:row-reverse" 916 ], 917 "forward": [ 918 "flex-direction:row" 919 ], 920 "first": [ 921 "order:-1" 922 ], 923 "last": [ 924 "order:1" 925 ], 926 "unset": [ 927 "order:0" 928 ] 929 }, 930 "giant": { 931 "width": "1200px", 932 "cols": [ 933 1, 934 2, 935 3, 936 4, 937 5, 938 6, 939 7, 940 8, 941 9, 942 10, 943 11, 944 12, 945 "auto" 946 ], 947 "prefix": [ 948 0, 949 1, 950 2, 951 3, 952 4, 953 5, 954 6, 955 7, 956 8, 957 9, 958 10, 959 11, 960 12 961 ], 962 "suffix": [ 963 0, 964 1, 965 2, 966 3, 967 4, 968 5, 969 6, 970 7, 971 8, 972 9, 973 10, 974 11, 975 12 976 ], 977 "start": [ 978 "justify-content:flex-start" 979 ], 980 "center": [ 981 "justify-content:center" 982 ], 983 "end": [ 984 "justify-content:flex-end" 985 ], 986 "between": [ 987 "justify-content:space-between" 988 ], 989 "around": [ 990 "justify-content:space-around" 991 ], 992 "top": [ 993 "align-items:flex-start" 994 ], 995 "middle": [ 996 "align-items:center" 997 ], 998 "baseline": [ 999 "align-items:flex-baseline" 1000 ], 1001 "bottom": [ 1002 "align-items:flex-end" 1003 ], 1004 "stretch": [ 1005 "align-items:stretch" 1006 ], 1007 "reverse": [ 1008 "flex-direction:row-reverse" 1009 ], 1010 "forward": [ 1011 "flex-direction:row" 1012 ], 1013 "first": [ 1014 "order:-1" 1015 ], 1016 "last": [ 1017 "order:1" 1018 ], 1019 "unset": [ 1020 "order:0" 1021 ] 1022 }, 1023 "huge": { 1024 "width": "1364px", 1025 "cols": [ 1026 1, 1027 2, 1028 3, 1029 4, 1030 5, 1031 6, 1032 7, 1033 8, 1034 9, 1035 10, 1036 11, 1037 12, 1038 "auto" 1039 ], 1040 "prefix": [ 1041 0, 1042 1, 1043 2, 1044 3, 1045 4, 1046 5, 1047 6, 1048 7, 1049 8, 1050 9, 1051 10, 1052 11, 1053 12 1054 ], 1055 "suffix": [ 1056 0, 1057 1, 1058 2, 1059 3, 1060 4, 1061 5, 1062 6, 1063
1063 7, 1064 8, 1065 9, 1066 10, 1067 11, 1068 12 1069 ], 1070 "start": [ 1071 "justify-content:flex-start" 1072 ], 1073 "center": [ 1074 "justify-content:center" 1075 ], 1076 "end": [ 1077 "justify-content:flex-end" 1078 ], 1079 "between": [ 1080 "justify-content:space-between" 1081 ], 1082 "around": [ 1083 "justify-content:space-around" 1084 ], 1085 "top": [ 1086 "align-items:flex-start" 1087 ], 1088 "middle": [ 1089 "align-items:center" 1090 ], 1091 "baseline": [ 1092 "align-items:flex-baseline" 1093 ], 1094 "bottom": [ 1095 "align-items:flex-end" 1096 ], 1097 "stretch": [ 1098 "align-items:stretch" 1099 ], 1100 "reverse": [ 1101 "flex-direction:row-reverse" 1102 ], 1103 "forward": [ 1104 "flex-direction:row" 1105 ], 1106 "first": [ 1107 "order:-1" 1108 ], 1109 "last": [ 1110 "order:1" 1111 ], 1112 "unset": [ 1113 "order:0" 1114 ] 1115 }, 1116 "full": { 1117 "width": "1520px", 1118 "cols": [ 1119 1, 1120 2, 1121 3, 1122 4, 1123 5, 1124 6, 1125 7, 1126 8, 1127 9, 1128 10, 1129 11, 1130 12, 1131 "auto" 1132 ], 1133 "prefix": [ 1134 0, 1135 1, 1136 2, 1137 3, 1138 4, 1139 5, 1140 6, 1141 7, 1142 8, 1143 9, 1144 10, 1145 11, 1146 12 1147 ], 1148 "suffix": [ 1149 0, 1150 1, 1151 2, 1152 3, 1153 4, 1154 5, 1155 6, 1156 7, 1157 8, 1158 9, 1159 10, 1160 11, 1161 12 1162 ], 1163 "start": [ 1164 "justify-content:flex-start" 1165 ], 1166 "center": [ 1167 "justify-content:center" 1168 ], 1169 "end": [ 1170 "justify-content:flex-end" 1171 ], 1172 "between": [ 1173 "justify-content:space-between" 1174 ], 1175 "around": [ 1176 "justify-content:space-around" 1177 ], 1178 "top": [ 1179 "align-items:flex-start" 1180 ], 1181 "middle": [ 1182 "align-items:center" 1183 ], 1184 "baseline": [ 1185 "align-items:flex-baseline" 1186 ], 1187 "bottom": [ 1188 "align-items:flex-end" 1189 ], 1190 "stretch": [ 1191 "align-items:stretch" 1192 ], 1193 "reverse": [ 1194 "flex-direction:row-reverse" 1195 ], 1196 "forward": [ 1197 "flex-direction:row" 1198 ], 1199 "first": [ 1200 "order:-1" 1201 ], 1202 "last": [ 1203 "order:1" 1204 ], 1205 "unset": [ 1206 "order:0" 1207 ] 1208 }, 1209 "cut": { 1210 "width": "$rowMaxWidth", 1211 "cols": [ 1212 1, 1213 2, 1214 3, 1215 4, 1216 5, 1217 6, 1218 7, 1219 8, 1220 9, 1221 10, 1222 11, 1223 12, 1224 "auto" 1225 ], 1226 "prefix": [ 1227 0, 1228 1, 1229 2, 1230 3, 1231 4, 1232 5, 1233 6, 1234 7, 1235 8, 1236 9, 1237 10, 1238 11, 1239 12 1240 ], 1241 "suffix": [ 1242 0, 1243 1, 1244 2, 1245 3, 1246 4, 1247 5, 1248 6, 1249 7, 1250 8, 1251 9, 1252 10, 1253 11, 1254 12 1255 ], 1256 "start": [ 1257 "justify-content:flex-start" 1258 ], 1259 "center": [ 1260 "justify-content:center" 1261 ], 1262 "end": [ 1263 "justify-content:flex-end" 1264 ], 1265 "between": [ 1266 "justify-content:space-between" 1267 ], 1268 "around": [ 1269 "justify-content:space-around" 1270 ], 1271 "top": [ 1272 "align-items:flex-start" 1273 ], 1274 "middle": [ 1275 "align-items:center" 1276 ], 1277 "baseline": [ 1278 "align-items:flex-baseline" 1279 ], 1280 "bottom": [ 1281 "align-items:flex-end" 1282 ], 1283 "stretch": [ 1284 "align-items:stretch" 1285 ], 1286 "reverse": [ 1287 "flex-direction:row-reverse" 1288 ], 1289 "forward": [ 1290 "flex-direction:row" 1291 ], 1292 "first": [ 1293 "order:-1" 1294 ], 1295 "last": [ 1296 "order:1" 1297 ], 1298 "unset": [ 1299 "order:0" 1300 ] 1301 } 1302 } 1303}</script>
1303<script> 1304 var allSwiperInstances = []; 1305 1306 if('' == '1' || '' == '1' || '1' == '1') { 1307 let allSwiperClass = 'main-swiper-ct'; 1308 let allSwiperWithClass = document.querySelectorAll(`.${allSwiperClass}`); 1309 1310 if(allSwiperWithClass) { 1311 allSwiperWithClass.forEach(thisSwiper => { 1312 const imgElements = thisSwiper.querySelectorAll('[data-pic-cms-src], [data-pic-cms-srcset]'); 1313 imgElements.forEach(thisElement => { 1314 let thisElementType = thisElement.tagName; 1315 switch (thisElementType) { 1316 case 'SOURCE': 1317 thisElement.dataset.src = thisElement.dataset.picCmsSrcset; 1318 thisElement.setAttribute('srcset', thisElement.dataset.picCmsSrcset); 1319 thisElement.removeAttribute('data-pic-cms-srcset'); 1320 delete thisElement.picCmsSrcset; 1321 break; 1322 case 'IMG': 1323 thisElement.dataset.src = thisElement.dataset.picCmsSrc; 1324 thisElement.setAttribute('src', thisElement.dataset.picCmsSrc); 1325 thisElement.removeAttribute('data-pic-cms-src'); 1326 delete thisElement.picCmsSrc; 1327 thisElement.setAttribute('loading', 'lazy'); 1328 thisElement.classList.add('swiper-lazy'); 1329 break; 1330 default: 1331 console.log(`Undefined type of element for lazy preparation: ${thisElementType}`); 1332 } 1333 }); 1334 }); 1335 } 1336 } 1337 1338 window.addEventListener('DOMContentLoaded', e => { 1339 window.sliderModuleLoaded = true; 1340 1341 function loadScript(url, callback) { 1342 if(!callback) callback = e => null; 1343 const script = document.createElement('script'); 1344 script.src = url; 1345 script.addEventListener('load', callback); 1346 document.body.appendChild(script); 1347 } 1348 1349 function loadStylesheet(url, callback) { 1350 if(!callback) callback = e => null; 1351 const link = document.createElement('link'); 1352 link.href = url; 1353 link.rel = "stylesheet"; 1354 link.addEventListener('load', callback); 1355 document.body.appendChild(link); 1356 } 1357 1358 loadStylesheet('/modules/Swiper/assets/css/style.css', e => {}); 1359 loadScript('/modules/Swiper/assets/js/swiper.js', e => { 1360 // list of all defined options in backend 1361 let allOptions = [ 1362 { 'ContainerClass': 'main-swiper-ct' }, 1363 { 'SwiperType': 'permanent' }, 1364 { 'SwiperDirection': 'horizontal' }, 1365 { 'SwiperEffect': 'slide' }, 1366 { 'SwiperSpeed': '800' }, 1367 { 'SwiperLoop': '1' }, 1368 { 'SwiperAutoplay': '1' }, 1369 { 'SwiperGrabCursor': '' }, 1370 { 'SwiperCenteredSlides': '' }, 1371 { 'SwiperAutoHeight': '1' }, 1372 { 'SwiperKeyboardControl': '1' }, 1373 { 'SwiperLazyload': '' }, 1374 { 'SwiperMousewheelControl': '' }, 1375 { 'SwiperNavigation': '' }, 1376 { 'SwiperNavigationCustom': '' }, 1377 { 'SwiperPagination': '1' }, 1378 { 'SwiperScrollbar': '' }, 1379 { 'SwiperThumbs': '' }, 1380 { 'SwiperSlidesPerView': '1' }, 1381 { 'SwiperSpaceBetween': '' }, 1382 { 'SwiperBreakpointChanges': '[{"breakpoint":"small","slidesPerView":2,"spaceBetween":0},{"breakpoint":"large","slidesPerView":3,"spaceBetween":0}]' } 1383 ]; 1384 // collect all used options inside 1385 let selectedOptions = []; 1386 1387 // add all used option to selectedOptions array 1388 allOptions.forEach(thisOption => { 1389 validate(thisOption); 1390 }); 1391 1392 // function to check for empty value of allOption key value pair 1393 function validate(option){ 1394 const optionValue = Object.values(option); 1395 if(optionValue[0] !== '') { 1396 selectedOptions.push(option); 1397 return true; 1398 } else { 1399 return false; 1400 } 1401 } 1402 1403 // predefine swiper options 1404 let swiperOptions = Object.create({}); 1405 let swiperClass; 1406 let swiperType; 1407 let swiperThumb; 1408 let thumbCount; 1409 let optionalBreak; 1410 let swiperNavigation = false; 1411 let swiperNavigationCustom = false; 1412 let swiperPagination = false; 1413 let swiperScrollbar = false; 1414 1415 // find swiper class 1416 let thisSwiperClass = selectedOptions.find((element) => element.ContainerClass); 1417 thisSwiperClass = Object.values(thisSwiperClass)[0]; 1418 1419 // add all selected options to option object with swiper key value format 1420 selectedOptions.forEach(thisOption => { 1421 const optionKey = Object.keys(thisOption)[0]; 1422 const optionValue = Object.values(thisOption)[0]; 1423 addToOptions(optionKey, optionValue); 1424 }); 1425 1426 // function to convert sidebar settings to swiper options 1427 function addToOptions(key, value) { 1428 switch (key) { 1429 case 'SwiperType': 1430 swiperType = value; 1431 break; 1432 case 'ContainerClass': 1433 swiperClass = value; 1434 break; 1435 case 'SwiperDirection': 1436 swiperOptions.direction = value; 1437 break; 1438 case 'SwiperEffect': 1439 if(value == 'fade') { 1440 swiperOptions.effect = 'fade'; 1441 swiperOptions.fadeEffect = { crossFade: true }; 1442 } 1443 break; 1444 case 'SwiperSpeed': 1445 swiperOptions.speed = value; 1446 break; 1447 case 'SwiperLoop': 1448 swiperOptions.loop = value; 1449 // additional lazyload 1450 swiperOptions.lazy = { loadPrevNext: true }; 1451 break; 1452 case 'SwiperAutoplay': 1453 let autoplayDelay = '5000'; 1454 // default value if undefinded 1455 if(autoplayDelay == '') autoplayDelay = 2500; 1456 swiperOptions.autoplay = { delay: autoplayDelay, pauseOnMouseEnter: true }; 1457 swiperOptions.enabled = true; 1458 break; 1459 case 'SwiperGrabCursor': 1460 swiperOptions.grabCursor = true; 1461 break; 1462 case 'SwiperCenteredSlides': 1463 swiperOptions.centeredSlides = true; 1464 break; 1465 case 'SwiperAutoHeight': 1466 swiperOptions.autoHeight = true; 1467 break; 1468 case 'SwiperKeyboardControl': 1469 swiperOptions.keyboard = { enabled: true, onlyInViewport: true }; 1470 break; 1471 case 'SwiperMousewheelControl': 1472 swiperOptions.mousewheel = { forceToAxis: true }; 1473 break; 1474 case 'SwiperLazyload': 1475 swiperOptions.lazy = { loadPrevNext: true }; 1476 break; 1477 case 'SwiperSlidesPerView': 1478 swiperOptions.slidesPerView = value; 1479 break; 1480 case 'SwiperSpaceBetween': 1481 swiperOptions.spaceBetween = value; 1482 break; 1483 case 'SwiperNavigationCustom': 1484 swiperNavigationCustom = true; 1485 break; 1486 case 'SwiperNavigation': 1487 let selfPositioned = selectedOptions.find((element) => element.SwiperNavigationCustom); 1488 if(selfPositioned) { 1489 selfPositioned = Object.values(selfPositioned)[0]; 1490 swiperOptions.navigation = { nextEl: `.swiper-button-next`, prevEl: `.swiper-button-prev` }; 1491 } else { 1492 swiperOptions.navigation = { nextEl: `.${thisSwiperClass} .swiper-button-next`, prevEl: `.${thisSwiperClass} .swiper-button-prev` }; 1493 } 1494 swiperNavigation = true; 1495 break; 1496 case 'SwiperPagination': 1497 swiperOptions.pagination = { el: `.${thisSwiperClass} .swiper-pagination`, type: 'bullets', clickable: true }; 1498 swiperPagination = true; 1499 break; 1500 case 'SwiperScrollbar': 1501 swiperOptions.scrollbar = { el: `.${thisSwiperClass} .swiper-scrollbar`, draggable: true }; 1502 swiperScrollbar = true; 1503 break; 1504 case 'SwiperThumbs': 1505 swiperThumb = value; 1506 thumbCount = ''; 1507 // default value if undefinded 1508 if(thumbCount == '') thumbCount = 4; 1509 thumbCount = Number(thumbCount); 1510 // additional lazyload 1511 swiperOptions.lazy = { loadPrevNext: true }; 1512 break;
1513 case 'SwiperBreakpointChanges': 1514 let breakpointChange = JSON.parse(value); 1515 if(breakpointChange.length > 0) { 1516 swiperOptions.breakpoints = {}; 1517 1518 breakpointChange.forEach(thisBreakpoint => { 1519 const breakpointName = thisBreakpoint.breakpoint; 1520 let breakpointValue = cssData.gridMap[breakpointName].width; 1521 breakpointValue = breakpointValue.replace('px', ''); 1522 breakpointValue = Number(breakpointValue); 1523 const breakpointSlidesPerView = thisBreakpoint.slidesPerView; 1524 const breakpointSpaceBetween = thisBreakpoint.spaceBetween; 1525 1526 if(breakpointSlidesPerView || breakpointSpaceBetween) { 1527 let newOption = { 1528 ...(breakpointSlidesPerView !== null ? { slidesPerView: breakpointSlidesPerView } : ''), 1529 ...(breakpointSpaceBetween !== null ? { spaceBetween: thisBreakpoint.spaceBetween } : '') 1530 }; 1531 1532 swiperOptions.breakpoints[breakpointValue] = newOption; 1533 } 1534 }); 1535 } 1536 break; 1537 default: 1538 console.log(`Undefined option: ${key}`); 1539 } 1540 } 1541 1542 // swiper function 1543 let allSwiper = document.querySelectorAll(`.${swiperClass}`); 1544 1545 // get breakpoint for "swiper until breakpoint" and "swiper with start at breakpoint" 1546 if(swiperType !== 'permanent') { 1547 let breakpoint; 1548 1549 if(swiperType == 'until-bp') { 1550 breakpoint = ''; 1551 } else if (swiperType == 'start-at-bp') { 1552 breakpoint = ''; 1553 } 1554 1555 // default value if undefinded 1556 if(breakpoint == '') breakpoint = 'large'; 1557 optionalBreak = cssData.gridMap[breakpoint].width; 1558 optionalBreak = optionalBreak.replace('px', ''); 1559 optionalBreak = Number(optionalBreak); 1560 } 1561 1562 if(allSwiper) { 1563 // accessibilty settings 1564 swiperOptions.a11y = { 1565 enabled: true, 1566 containerMessage: "Slideshow", 1567 firstSlideMessage: "Das ist der erste Slide", 1568 lastSlideMessage: "Das ist der letzte Slide", 1569 prevSlideMessage: "Vorheriger Slide", 1570 nextSlideMessage: "Nächster Slide", 1571 paginationBulletMessage: "Zu diesem Slide wechseln" 1572 } 1573 1574 // Swiper navigation 1575 if(swiperNavigation == true && !swiperNavigationCustom == true) { 1576 allSwiper.forEach(thisSwiper => { 1577 // create prev & next btn 1578 const prevBtn = document.createElement('div'); 1579 prevBtn.classList.add('swiper-button-prev'); 1580 const nextBtn = document.createElement('div'); 1581 nextBtn.classList.add('swiper-button-next'); 1582 thisSwiper.insertAdjacentElement('beforeend', prevBtn); 1583 thisSwiper.insertAdjacentElement('beforeend', nextBtn); 1584 }); 1585 } 1586 // Swiper pagination 1587 if(swiperPagination == true) { 1588 allSwiper.forEach(thisSwiper => { 1589 // create pagination element 1590 const pagination = document.createElement('div'); 1591 pagination.classList.add('swiper-pagination'); 1592 thisSwiper.insertAdjacentElement('beforeend', pagination); 1593 }); 1594 } 1595 // Swiper scrollbar 1596 if(swiperScrollbar == true) { 1597 allSwiper.forEach(thisSwiper => { 1598 // create scrollbar element 1599 const scrollbar = document.createElement('div'); 1600 scrollbar.classList.add('swiper-scrollbar'); 1601 thisSwiper.insertAdjacentElement('beforeend', scrollbar); 1602 }); 1603 } 1604 1605 let count = 1; 1606 1607 allSwiper.forEach(thisSwiper => { 1608 thisSwiper.setAttribute('tabindex', '0'); 1609 1610 if(swiperThumb) { 1611 var thumbSwiper = createThumbSwiper(thisSwiper, thumbCount, swiperType, count); 1612 swiperOptions.thumbs = { swiper: thumbSwiper }; 1613 } 1614 1615 // update swiper instance by reinit 1616 function updateSwiper(swiperInstance) { 1617 swiperInstance.update(); 1618 swiperInstance.updateSlides(); 1619 swiperInstance.updateProgress(); 1620 swiperInstance.updateSlidesClasses(); 1621 } 1622 1623 // handling swiper types 1624 switch (swiperType) { 1625 case 'permanent': 1626 let newSwiper = new Swiper(thisSwiper, swiperOptions); 1627 allSwiperInstances.push(newSwiper); 1628 break; 1629 case 'until-bp': 1630 function initSwiperUntil() { 1631 var destroySwiper = false;
1632 let newSwiper = new Swiper(thisSwiper, swiperOptions); 1633 allSwiperInstances.push(newSwiper); 1634 1635 // Destroy or Init Swiper 1636 swiper_init = function(init) { 1637 if ((document.body.clientWidth > optionalBreak) && newSwiper.params.init && !init) { 1638 newSwiper.destroy(false, true); 1639 newSwiper.params.init = false; 1640 newSwiper.el.classList.add('destroyed'); 1641 } else if (!(document.body.clientWidth > optionalBreak) && !newSwiper.params.init && !init) { 1642 newSwiper.params.init = true 1643 newSwiper.init(); 1644 newSwiper.el.classList.remove('destroyed'); 1645 updateSwiper(newSwiper); 1646 1647 if(thumbSwiper) { 1648 updateSwiper(thumbSwiper); 1649 } 1650 } else if (!(document.body.clientWidth > optionalBreak) && init) { 1651 newSwiper.init(); 1652 updateSwiper(newSwiper); 1653 newSwiper.el.classList.remove('destroyed'); 1654 1655 if(thumbSwiper) { 1656 updateSwiper(thumbSwiper); 1657 } 1658 } 1659 }; 1660 1661 swiper_init(destroySwiper, true); 1662 1663 window.addEventListener('resize', () => { 1664 swiper_init(false); 1665 }); 1666 } 1667 1668 initSwiperUntil(); 1669 1670 window.addEventListener('resize', () => { 1671 initSwiperUntil(); 1672 }, true); 1673 1674 break; 1675 case 'start-at-bp': 1676 function initSwiperStartAt() { 1677 var destroySwiper = false;
1678 let newSwiper = new Swiper(thisSwiper, swiperOptions); 1679 allSwiperInstances.push(newSwiper); 1680 1681 // Destroy or Init Swiper 1682 swiper_init = function(init) { 1683 if ((document.body.clientWidth < optionalBreak) && newSwiper.params.init && !init) { 1684 newSwiper.destroy(false, true); 1685 newSwiper.params.init = false; 1686 newSwiper.el.classList.add('destroyed'); 1687 } else if (!(document.body.clientWidth < optionalBreak) && !newSwiper.params.init && !init) { 1688 newSwiper.params.init = true 1689 newSwiper.init(); 1690 newSwiper.el.classList.remove('destroyed'); 1691 updateSwiper(newSwiper); 1692 1693 if(thumbSwiper) { 1694 updateSwiper(thumbSwiper); 1695 } 1696 } else if (!(document.body.clientWidth < optionalBreak) && init) { 1697 newSwiper.init(); 1698 newSwiper.el.classList.remove('destroyed'); 1699 updateSwiper(newSwiper); 1700 1701 if(thumbSwiper) { 1702 updateSwiper(thumbSwiper); 1703 } 1704 } 1705 }; 1706 1707 swiper_init(destroySwiper, true); 1708 1709 window.addEventListener('resize', () => { 1710 swiper_init(false); 1711 }); 1712 } 1713 1714 initSwiperStartAt(); 1715 1716 window.addEventListener('resize', () => { 1717 initSwiperStartAt(); 1718 }, true); 1719 1720 break; 1721 default: 1722 console.log(`Undefined option for swiper-type: ${swiperType}`); 1723 } 1724 1725 count ++; 1726 }); 1727 } 1728 1729 // function to create thumb swiper and handling for the different swiper types 1730 function createThumbSwiper(thisSwiper, thumbNumber, swiperType, count) { 1731 let mainSwiper = document.querySelectorAll(`.${thisSwiperClass}`); 1732 let numberThumbs = thumbNumber; 1733 1734 // clone swiper-content 1735 const wrapper = thisSwiper.querySelector('.swiper-wrapper').cloneNode(true); 1736 1737 const thumbSlides = wrapper.querySelectorAll('.swiper-slide'); 1738 thumbSlides.forEach(thisThumbSlide => { 1739 thisThumbSlide.setAttribute('tabindex', '0'); 1740 }) 1741 1742 // create thumb swiper 1743 const thumbSwiper = document.createElement('div'); 1744 thumbSwiper.classList.add(`thumb-swiper-${count}`, 'swiper', 'swiper-container', 'swiper-thumb'); 1745 thumbSwiper.setAttribute('aria-label', "Vorschaubilder der Slideshow"); 1746 thumbSwiper.setAttribute('tabindex', "0"); 1747 thumbSwiper.appendChild(wrapper); 1748 thisSwiper.insertAdjacentElement('afterend', thumbSwiper); 1749 1750 const thisThumbSwiper = new Swiper (thumbSwiper, { 1751 slidesPerView: thumbNumber, 1752 spaceBetween: 18, 1753 grabCursor: true, 1754 a11y: { 1755 enabled: true, 1756 containerMessage: "Vorschaubilder des Sliders", 1757 firstSlideMessage: "Das ist die Vorschau des ersten Slides", 1758 lastSlideMessage: "Das ist die Vorschau des letzte Slides" 1759 } 1760 }); 1761 1762 return thisThumbSwiper; 1763 } 1764 }); 1765 }); 1766 1767 // function to get all swiper instances in require.js 1768 function getAllSwiper() { 1769 return allSwiperInstances; 1770 } 1771 </script>
1771 1772</div></div> 1773<div style="background-size: cover;" class="cms-container-el swiper-container swiper main-swiper-ct"> 1774<div style="background-size: cover; display: flex;" class="cms-container-el swiper-wrapper"> 1775<div class="loop-child swiper-slide" data-placeholder-id="67dbe3ef985d5aa1631aec3c"> 1776<a href="/produkte/haustueren" target="_self" title="Haustüren kaufen in Ochsenfurt | Beratung & Montage" style="background-size: cover;" class="cms-container-el teaserBox"> 1777<div style="background-size: cover;" class="cms-container-el imgBox"> 1778<figure style="width: 100%; height: auto;" class="cms-image lightbox-zoom-image"> 1779<img alt="Eine geöffnete Holztür mit stilvollem Türschloss und Griff." decoding="async" data-pic-cms-src="/upload/large/second_large_LGLuCIYqw7.jpg" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" width="1134" height="1134"> 1780</figure> 1781</div> 1782<div class="cms-article textBox icon icon-door"> 1783 1784<p><strong>Türen</strong> Holzhaus-, Aluhaus-, Zimmertüren</p> 1785</div> 1786</a> 1787</div> 1788<div class="loop-child swiper-slide" data-placeholder-id="67dbe3ef985d5aa1631aec3c"> 1789<a href="/produkte/sonnenschutz" target="_self" title="Sonnenschutz & Rollläden kaufen in Ochsenfurt bei Würzburg" style="background-size: cover;" class="cms-container-el teaserBox"> 1790<div style="background-size: cover;" class="cms-container-el imgBox"> 1791<figure style="width: 100%; height: auto;" class="cms-image lightbox-zoom-image"> 1792<img alt="Modernes Wohnzimmer mit groÃen Fenstern und innenliegenden Jalousien, grauem Ecksofa und stilvoller Einrichtung." decoding="async" data-pic-cms-src="/upload/large/third_large_eE7aXPVVL2.jpg" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" width="1134" height="1134"> 1793</figure> 1794</div> 1795<div class="cms-article textBox icon icon-weather-sun"> 1796 1797<p><strong>Sonnenschutz</strong> Rollladen, Jalousien, Markisen</p> 1798</div> 1799</a> 1800</div> 1801<div class="loop-child swiper-slide" data-placeholder-id="67dbe3ef985d5aa1631aec3c"> 1802<a href="/kundendienst" target="_self" title="Wartung von Fenstern & Rollläden in Ochsenfurt | Kundendienst" style="background-size: cover;" class="cms-container-el teaserBox"> 1803<div style="background-size: cover;" class="cms-container-el imgBox"> 1804<figure style="width: 100%; height: auto;" class="cms-image lightbox-zoom-image"> 1805<img alt="Handwerker setzt ein Fliegengitter in ein Fenster ein, mit Blick auf eine Wohnsiedlung und blauen Himmel im Hintergrund." decoding="async" data-pic-cms-src="/upload/large/last_large_29yxxUP0M3.jpg" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" width="1134" height="1134"> 1806</figure> 1807</div> 1808<div class="cms-article textBox icon icon-line-person-chat"> 1809 1810<p><strong>Kundenservice</strong> Wir beraten Sie gerne.</p> 1811</div> 1812</a> 1813</div> 1814<div class="loop-child swiper-slide" data-placeholder-id="67dbe3ef985d5aa1631aec3c"> 1815<a href="/produkte/fenster" target="_self" title="Fenster kaufen bei Nele Bauelemente in Ochsenfurt bei Würzburg" style="background-size: cover;" class="cms-container-el teaserBox"> 1816<div style="background-size: cover;" class="cms-container-el imgBox"> 1817<figure style="width: 100%; height: auto;" class="cms-image lightbox-zoom-image"> 1818<img alt="Nahaufnahme eines modernen Fenstergriffs aus Metall an einem geöffneten Kunststofffenster mit Mehrfachverriegelung." decoding="async" data-pic-cms-src="/upload/large/first_large_-st3MQr4NU.jpg" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" width="1134" height="1134"> 1819</figure> 1820</div> 1821<div class="cms-article textBox icon icon-window"> 1822 1823<p><strong>Fenster</strong> Kunststoff-, Holz- & Holz-Alufenster</p> 1824</div> 1825</a> 1826</div> 1827</div> 1828</div> 1829</div> 1830</div> 1831<div class="col giant-7 customSmallCol"> 1832<div style="background-size: cover;" class="cms-container-el contentPadding distance-left"> 1833<div style="background-size: cover;" data-aos="fade-left" class="cms-container-el contentBox"> 1834<h1 class="cms-title">
1835Fenster, Türen <span class="color" data-le-dy-clone="29-1">&</span> Sonnenschutz <span data-le-dy-clone="30-2">in Ochsenfurt bei Würzburg</span></h1> 1836<div style="background-size: cover;" class="cms-container-el flexContent"> 1837<div style="background-size: cover;" class="cms-container-el partners"> 1838<div style="background-size: cover;" class="cms-container-el partnerBox"> 1839<figure class="cms-image lightbox-zoom-image"> 1840<img alt="KOMPOtherm Logo" decoding="async" data-pic-cms-src="/upload/large/large_61810b2be25b74bafe520969_395f5d51d5cfcc706b1a9347580e7bc288d77361b501f0fb7a7e992370e6d7a5_61a08300.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" width="115" height="64"> 1841</figure> 1842</div> 1843<div style="background-size: cover;" class="cms-container-el partnerBox"> 1844<figure style="width: 100%; height: auto;" class="cms-image lightbox-zoom-image"> 1845<img alt="Schüco Logo" decoding="async" data-pic-cms-src="/upload/large/large_61810b33e25b74bafe520973_038b6651ace8f28700d57f3211bc09aafe754fe424e65acee3359de80652738d_619e1e2d.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" width="110" height="61"> 1846</figure> 1847</div> 1848<div style="background-size: cover;" class="cms-container-el partnerBox"> 1849<figure style="width: 100%; height: auto;" class="cms-image lightbox-zoom-image"> 1850<img alt="Döpfner Logo" decoding="async" data-pic-cms-src="/upload/large/large_61810b33e25b74bafe520971_63fe1697b66c3d9aafe50f7a81f2fc4418d4fddeb223390f563c2c602dc8c316_619e1e4d.jpg" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" width="115" height="63"> 1851</figure> 1852</div> 1853<div style="background-size: cover;" class="cms-container-el partnerBox"> 1854<figure class="cms-image lightbox-zoom-image"> 1855<img alt="TrendTüren Logo" decoding="async" data-pic-cms-src="/upload/large/large_61810b32e25b74bafe52096f_88a5d4f503b26504ed25f8cf38a0b97ddfd234c4f024896a96a3fa363de0660b_61a0832c.jpg" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" width="117" height="64"> 1856</figure> 1857</div> 1858<div style="background-size: cover;" class="cms-container-el partnerBox"> 1859<figure class="cms-image lightbox-zoom-image"> 1860<img alt="Warema Logo" decoding="async" data-pic-cms-src="/upload/large/large_61810b32e25b74bafe52096d_da877ea96a7e8f7c9bced14ac791f424af4b0b4eab101ef636545c20e9eed116_61a08360.jpg" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" width="117" height="64"> 1861</figure> 1862</div> 1863<div style="background-size: cover;" class="cms-container-el partnerBox"> 1864<figure class="cms-image lightbox-zoom-image"> 1865<img alt="Roma Logo" decoding="async" data-pic-cms-src="/upload/large/large_61810b30e25b74bafe52096b_24f8a75f57f8c8d89d5519a53ed4c70c38c674d7638591ce302f681fada37a28_61a0833e.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" width="72" height="72"> 1866</figure> 1867</div> 1868</div> 1869<div style="background-size: cover;" class="cms-container-el text"> 1870<div class="cms-article"> 1871 1872<p data-le-dy-clone="14-1">Sie planen ein Bauvorhaben und benötigen hochwertige und langlebige Bauelemente? Dann sind Sie bei uns genau richtig! Bereits <strong data-le-dy-clone="15-2">seit 1980</strong> sind wir Ihr kompetenter und zuverlässiger Partner, wenn es um Türen, Fenster und Sonnenschutz-Lösungen geht. Wir von <a title="Fensterhändler & Haustürhändler in Ochsenfurt | über uns" href="/unternehmen/" target="_self" data-le-dy-clone="16-3">Nele Bauelemente</a> aus Ochsenfurt legen groÃen Wert auf <strong data-le-dy-clone="17-4">Qualität</strong> â und das wissen unsere Kunden zu schätzen.</p> 1873<p data-le-dy-clone="18-5">Egal, ob Neubau, Renovierung, Sanierung oder Erweiterung â bei uns erhalten Sie die passenden Bauelemente für Ihr Projekt. Dabei bieten wir Ihnen von der Beratung über die Planung bis hin zur Montage einen <strong data-le-dy-clone="19-6">fachkundigen Service aus einer Hand</strong>. Unser breites Produktangebot wie Fenster, Haustüren, Rollläden und Terrassendächer beziehen wir von <strong data-le-dy-clone="20-7">namhaften Herstellern</strong>, um Ihnen immer beste Qualität garantieren zu können. Unser Ziel:<strong data-le-dy-clone="21-8"> Individuelle Lösungen</strong> für jede Anforderung zu finden!</p> 1874</div> 1875<div style="background-size: cover;" class="cms-container-el btnBox"> 1876<a title="Kunststofffenster & Aluhaustüren in Ochsenfurt | Partner" class="cms-button btn" href="/partner" target="_self"> 1877Mehr Partner</a> 1878</div> 1879</div> 1880</div> 1881</div> 1882</div> 1883</div> 1884</div> 1885</div> 1886<div style="background-size: cover;" class="cms-container-el section section02"> 1887<div class="row break-right stretch start"> 1888<div class="col giant-5"> 1889<div style="background-size: cover;" data-aos="fade-right" class="cms-container-el contentPadding distance-right"> 1890<div style="background-size: cover;" class="cms-container-el contentBox"> 1891<div style="background-size: cover;" class="cms-container-el text"> 1892<h2 class="cms-title"> 1893Bauelemente nach Ihrem Bedarf<span data-le-dy-clone="2-1">unsere Produkte im Ãberblick:</span></h2>
1894<div class="row stretch start"> 1895<div class="col small-6"> 1896<div class="cms-article"> 1897 1898<ul data-le-dy-clone="26-1"> 1899<li data-le-dy-clone="27-2"><a title="Fenster kaufen bei Nele Bauelemente in Ochsenfurt bei Würzburg" href="/produkte/fenster" target="_self" data-le-dy-clone="28-3">Fenster</a></li> 1900<li data-le-dy-clone="29-4"><a title="Haustüren kaufen in Ochsenfurt | Beratung & Montage" href="/produkte/haustueren" target="_self" data-le-dy-clone="30-5">Haustüren</a></li> 1901<li data-le-dy-clone="31-6"><a title="Sonnenschutz & Rollläden kaufen in Ochsenfurt bei Würzburg" href="/produkte/sonnenschutz" target="_self" data-le-dy-clone="32-7">Sonnenschutz</a></li> 1902</ul> 1903</div> 1904</div> 1905<div class="col small-6"> 1906<div class="cms-article"> 1907 1908<ul data-le-dy-clone="13-1"> 1909<li data-le-dy-clone="14-2"><a title="Terrassendächer und Schiebeverglasungen aus Ochsenfurt" href="/produkte/terrassendaecher" target="_self" data-le-dy-clone="15-3">Terrassendächer</a></li> 1910<li data-le-dy-clone="16-4"><a title="Insektenschutz für Fenster und Türen aus Ochsenfurt" href="/produkte/insektenschutz" target="_self" data-le-dy-clone="17-5">Insektenschutz</a></li> 1911</ul> 1912</div> 1913</div> 1914</div> 1915<div class="cms-article"> 1916 1917<p data-le-dy-clone="5-1">Da Fenster und Türen, aber auch Sonnenschutzsysteme und Ãberdachungen über viele Jahre wichtige Bestandteile Ihres Hauses sind, spielen neben dem Design und Aussehen vor allem das <strong data-le-dy-clone="6-2">Material</strong>, die <strong data-le-dy-clone="7-3">hohe Qualität</strong> und die <strong data-le-dy-clone="8-4">zuverlässige Funktionsweise</strong> eine wichtige Rolle. Unsere ausgewählten Bauelemente in Markenqualität können alle diese Aspekte zu Ihrer vollsten Zufriedenheit erfüllen.</p> 1918</div> 1919</div> 1920<div style="background-size: cover;" class="cms-container-el text"> 1921<h2 class="cms-title"> 1922Persönliche <span class="color" data-le-dy-clone="7-1">&</span> fachkundige Beratung <span data-le-dy-clone="8-2">rund um Fenster, Türen und andere Bauelemente</span></h2> 1923<div class="cms-article"> 1924 1925<p data-le-dy-clone="40-1">Wir können nicht nur mit einer groÃen Auswahl an hochwertigen Bauelementen, sondern auch mit einer <strong data-le-dy-clone="8-2" data-le-dy-clone-for-update="41-2">individuellen Beratung</strong> überzeugen. Profitieren Sie von unserer langjährigen Erfahrung und lassen Sie sich von unseren qualifizierten Mitarbeitern zu Fenstern aus Holz, Holz-Alu, Kunststoff und Aluminium sowie zu Haustüren beraten. Gerne teilen wir auch unser Wissen rund um Terrassendächer sowie Sonnen- und Insektenschutz-Lösungen mit Ihnen.</p> 1926<p data-le-dy-clone="42-3">Jedes Bauvorhaben ist durch individuelle Wünsche geprägt und jedes Projekt hat seine Besonderheiten. Ob Energieeinsparung, Sicherheit, Funktion, Komfort oder Design â wir stellen Ihre Wünsche in den Mittelpunkt unserer Beratung und finden gemeinsam mit Ihnen die <strong data-le-dy-clone="43-4">perfekte Lösung für Ihre Anforderungen</strong>. Gerne nehmen wir uns in einem persönlichen Gespräch Zeit für Sie!</p> 1927<h3 data-le-dy-clone="44-5">Fachgerechte Montage und zuverlässiger Kundendienst für Bauelemente</h3> 1928<p data-le-dy-clone="45-6">Unser Serviceangebot umfasst auf Wunsch auch die <strong data-le-dy-clone="46-7">Montage</strong> der gewählten Bauelemente bei Ihnen vor Ort. Mit langjähriger Erfahrung stehen unsere Montagefachkräfte bereit, um Ihre neue Haustür bzw. Ihre neuen Fenster einzubauen oder Ihr Terrassendach zu installieren.</p> 1929<p data-le-dy-clone="47-8">Ob klemmendes Fenster, gerissener Rollladengurt oder defekte Dichtung â unser <strong data-le-dy-clone="48-9"><a title="Wartung von Fenstern & Rollläden in Ochsenfurt | Kundendienst" href="/kundendienst" target="_self" data-le-dy-clone="49-10">Kundendienst</a></strong> ist für Sie da. Darüber hinaus übernehmen wir natürlich auch die Wartung, Kontrolle und das Einstellen von Fenstern, Türen und Rollläden. Bei Fenstern und Türen repariert unser Kundendienst übrigens auch Fremdfabrikate.</p> 1930<p data-le-dy-clone="50-11">Wir stehen seit 1980 für beste Qualität â vertrauen auch Sie rund um Bauelemente auf uns. Wir freuen uns auf Ihren Besuch oder Ihre <a title="Terrassenüberdachung & Fenster in Ochsenfurt | Kontakt" href="/kontakt/" target="_self" data-le-dy-clone="51-12">
1930Kontaktaufnahme</a>!</p> 1931</div> 1932</div> 1933</div> 1934</div> 1935</div> 1936<div class="col large-6 no-gutter-right large-auto"> 1937<div style="background-size: cover;" class="cms-container-el teaserInnerBg lazy-bg"> 1938<div style="background-size: cover;" class="cms-container-el teaserInnerCont"> 1939<a href="/produkte/" target="_self" title="Fachgeschäft für Fenster & Türen in Ochsenfurt | Produkte" style="background-size: cover;" class="cms-container-el tiBox left-box"> 1940<div style="background-size: cover;" class="cms-container-el imgBox"> 1941<figure style="width: 100%;" class="cms-image lightbox-zoom-image objectFit"> 1942<img alt="Fachgeschäft für Fenster & Türen in Ochsenfurt | Produkte" decoding="async" data-pic-cms-src="/upload/large/large-6180f469ae8b98c4a8f71f5d-5413ba63e8e100811b51e810b870bb256b328f3364bf2aa5a0ef634a74a474fc-61812987_large_cISo5frvD3.jpg" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" width="303" height="303"> 1943</figure> 1944</div> 1945<div style="background-size: cover;" class="cms-container-el textBox ti-01"> 1946<div class="cms-article"> 1947 1948<p data-le-dy-clone="5-1"><strong data-le-dy-clone="6-2">Produkte</strong> Türen, Fenster, Sonnenschutz, Terrassendächer</p> 1949</div> 1950</div> 1951</a> 1952<a href="/unternehmen/jobs" target="_self" title="Fensterbauer gesucht in Ochsenfurt bei Würzburg | Jobs" style="background-size: cover;" class="cms-container-el tiBox"> 1953<div style="background-size: cover;" class="cms-container-el imgBox"> 1954<div style="background-size: cover;" class="cms-container-el missImg"> 1955</div> 1956</div> 1957<div style="background-size: cover;" class="cms-container-el textBox ti-02"> 1958<div class="cms-article"> 1959 1960<p data-le-dy-clone="5-1"><strong data-le-dy-clone="6-2">Jobs</strong> Informieren Sie sich über unsere aktuellen Jobs.</p> 1961</div> 1962</div> 1963</a> 1964</div> 1965</div> 1966</div> 1967</div> 1968</div> 1969</div>
1970<script>window.addEventListener('DOMContentLoaded', e => { 1971 async function waitForPrivacyControl() { 1972 return new Promise(resolve => { 1973 let intvl = setInterval(() => { 1974 if ("privacyCtrl" in window) { 1975 resolve(window.privacyCtrl) 1976 clearInterval(intvl) 1977 } 1978 1979 if ("privacyControl" in window) { 1980 resolve(window.privacyControl) 1981 clearInterval(intvl) 1982 } 1983 }, 500) 1984 }) 1985 } 1986 1987 waitForPrivacyControl().then(instance => { 1988 if(instance.version && instance.version.substring(0,1) == "3") { 1989 instance.addService('curator') 1990 } else { 1991 instance.addService( 1992 { 1993 'curator': { 1994 type: 'script', 1995 name: 'Tool zur Einbindung von Social Media Inhalten', 1996 provider: 'Curator Group', 1997 l10n: { 1998 de: { 1999 description: 'Bei der Nutzung dieses Dienstes werden zum Zweck der Einbindung von Social Media Inhalten Daten an den genannten Anbieter übermittelt. AuÃerdem ist es wahrscheinlich, dass dieser Anbieter Daten (z. B. Cookies) auf Ihrem Gerät speichert.', 2000 policy: 'https://curator.io/privacy-policy' 2001 }, 2002 en: { 2003 description: 'When using this service, data is transmitted to the named provider for the purpose of integrating social media content. It is also likely that this provider stores data (e.g. cookies) on your device.', 2004 policy: 'https://curator.io/privacy-policy' 2005 } 2006 }, 2007 forceReload: true 2008 } 2009 } 2010 ) 2011 } 2012 }) 2013})</script>
2013<div style="background-size: cover;" class="cms-container-el curator-feed-ct"> 2014<div class="row stretch start"> 2015<div class="col"> 2016<h2 class="cms-title"> 2017Unser Social Media Feed</h2> 2018</div> 2019<div class="col"> 2020<div class="cms-module" data-cms-module-name="Curator"> 2021<div data-curator-module> 2022 <div class="hidden" data-curator-container> 2023 <p><b>Anbieter: Curator Group</b></p> 2024 <p>Bei der Nutzung dieses Dienstes werden zum Zweck der Einbindung von Social Media Inhalten Daten an den genannten Anbieter übermittelt. AuÃerdem ist es wahrscheinlich, dass dieser Anbieter Daten (z. B. Cookies) auf Ihrem Gerät speichert.<br><a href="https://curator.io/privacy-policy" target="_blank" role="link" title="Datenschutzerklärung" aria-label="Datenschutzerklärung Tool zur Einbindung von Social Media Inhalten">https://curator.io/privacy-policy</a></p> 2025 <a class="btn" title="Tool zur Einbindung von Social Media Inhalten: aktivieren" href="#" data-privacy-control="curator" role="button">Tool zur Einbindung von Social Media Inhalten: aktivieren</a> 2026 </div> 2027 2028 <template data-curator-template> 2029 <div id="curator-feed-90057626-nele-fenstercom-layout"></div> 2030 </template> 2031 2032 <div id="curator-feed"></div> 2033 2034
2034<script> 2035 window.addEventListener('DOMContentLoaded', e => { 2036 async function waitForPrivacyControl() { 2037 return new Promise(resolve => { 2038 let intvl = setInterval(() => { 2039 if ("privacyCtrl" in window) { 2040 resolve(window.privacyCtrl) 2041 clearInterval(intvl) 2042 } 2043 2044 if ("privacyControl" in window) { 2045 resolve(window.privacyControl) 2046 clearInterval(intvl) 2047 } 2048 }, 500) 2049 }) 2050 } 2051 2052 waitForPrivacyControl().then(instance => { 2053 if(!window.hasOwnProperty('curatorModuleLoaded')) { 2054 window.curatorModuleLoaded = true 2055 2056 function loadScript(url, callback) { 2057 if(!callback) callback = e => null 2058 const script = document.createElement('script') 2059 script.src = url 2060 script.addEventListener('load', callback) 2061 document.body.appendChild(script) 2062 } 2063 2064 function loadStylesheet(url, callback) { 2065 if(!callback) callback = e => null 2066 const link = document.createElement('link') 2067 link.href = url 2068 link.rel = "stylesheet" 2069 link.addEventListener('load', callback) 2070 document.body.appendChild(link) 2071 } 2072 2073 loadStylesheet('/modules/Curator/assets/css/style.css', e => {}); 2074 loadScript('/modules/Curator/assets/js/curator.js', e => { 2075 const options = 2076 [ 2077 { 2078 privacyControl: instance, 2079 id:'curator-feed-90057626-nele-fenstercom-layout', 2080 key: 'a6854653-907f-43b3-97f1-bad0e0ea7cbf' 2081 } 2082 ] 2083 window.curator = new CuratorFeed(options); 2084 }) 2085 } 2086 }) 2087 }); 2088 </script>
2088 2089</div></div> 2090</div> 2091</div> 2092</div> 2093 </main> 2094 <footer id="footer"> 2095 <div style="background-size: cover;" class="cms-container-el default-container"> 2096<div style="background-size: cover;" class="cms-container-el footerCont lazy-bg"> 2097<div class="row break-left stretch start"> 2098<div class="col giant-auto no-gutter default-last giant-unset"> 2099<div style="background-size: cover;" class="cms-container-el mapCont"> 2100<div style="width: 100%;" class="cms-map"> 2101<div data-route-planner> 2102<iframe style="width: 100%;" data-iframe="googlemaps" title="Karte" data-map-el-lazy-load data-src="https://www.google.com/maps/embed/v1/place?key=AIzaSyCL16T3evFhuQOfX2a9Wtv7u7hfcTSGnGY&zoom=14&q=Nele%2BGmbH%2BBauelemente%2B-%2BOchsenfurt%2C%2BKart%C3%A4userstr.%2B14%2BB%2C%2B97199%2BOchsenfurt%2B" allowfullscreen></iframe></div> 2103</div> 2104</div> 2105</div> 2106<div class="col giant-8 full-7 large-12 customCol"> 2107<div style="background-size: cover;" class="cms-container-el leftCont"> 2108<div class="cms-article companyContact"> 2109 2110<p data-le-dy-clone="2-1"><em class="icon icon-line-person-chat" data-le-dy-clone="3-2"></em> <strong data-le-dy-clone="4-3"><a href="tel:+4993318025040" title="Jetzt telefonisch Kontakt mit Nele GmbH Bauelemente - Ochsenfurt in 97199 Ochsenfurt aufnehmen" class="phone" data-event-type="click" data-event-name="Click To Call">+4993318025040</a></strong> <strong data-le-dy-clone="5-4"><a href="//www.nele-fenster.com" class="escape email" title="Schreiben Sie Nele GmbH Bauelemente - Ochsenfurt in 97199 Ochsenfurt eine E-Mail." data-email="{"name":"info","host":"nele-fenster.com"}">info<span class="escape">â</span>nele-fenster.com</a></strong></p> 2111</div> 2112<div style="background-size: cover;" class="cms-container-el naviCont"> 2113<div class="cms-html"> 2114<i class="icon icon-social"></i></div> 2115<div class="cms-navi"> 2116<ul class="navi navi-add"> 2117<li class="fb"> 2118<a title="Besuchen Sie uns auf Facebook" class="fb" href target="_blank"> 2119Facebook</a> 2120</li> 2121<li class> 2122<a title="Besuchen Sie uns auf Instagram" class href="https://www.instagram.com/nelefenster/" target="_blank"> 2123Instagram</a> 2124</li> 2125<li class="anfahrt"> 2126<a title="Fenster, KartäuserstraÃe 14 B, in 97199 Ochsenfurt | Anfahrt" class="anfahrt" href="/anfahrt" target="_self"> 2127Anfahrt</a> 2128</li> 2129<li class="unternehmen-jobs"> 2130<a title="Fensterbauer gesucht in Ochsenfurt bei Würzburg | Jobs" class="unternehmen-jobs" href="/unternehmen/jobs" target="_self"> 2131Jobs</a> 2132</li> 2133<li class="datenschutzerklaerung"> 2134<a title="Alu-Holzfenster und Fliegengitter in Ochsenfurt | Datenschutz" class="datenschutzerklaerung" href="/datenschutzerklaerung" target="_self"> 2135Datenschutzerklärung</a> 2136</li> 2137<li class="impressum"> 2138<a title="Nele GmbH Bauelemente in Ochsenfurt-Tückelhausen | Impressum" class="impressum" href="/impressum" target="_self"> 2139Impressum</a> 2140</li> 2141<li class="digitale-barrierefreiheit"> 2142<a title="Unsere Erklärung zur digitalen Barrierefreiheit" class="digitale-barrierefreiheit" href="/digitale-barrierefreiheit" target="_self"> 2143Digitale Barrierefreiheit</a> 2144</li> 2145</ul> 2146</div> 2147</div> 2148</div> 2149<div style="background-size: cover;" class="cms-container-el rightCont"> 2150<div class="cms-article"> 2151 2152<p class="highlight" data-le-dy-clone="5-1"><strong data-le-dy-clone="6-2">Nele GmbH Bauelemente - Ochsenfurt</strong> Kartäuserstr. 14 B, 97199 Ochsenfurt</p> 2153</div> 2154<div style="background-size: cover;" class="cms-container-el workHours"> 2155<div class="cms-article"> 2156 2157<p></p><dl class="cms-opening-hours-combinedShort"><dt>Mo - Do:</dt><dd>08:30 - 12:00, 13:30 - 17:00</dd><dt>Fr:</dt><dd>08:30 - 13:00</dd></dl> 2158</div> 2159<div class="cms-article"> 2160 2161<p><strong>Oder nach telefonischer Vereinbarung</strong></p> 2162</div> 2163</div> 2164</div> 2165</div> 2166</div> 2167</div> 2168</div> 2169 </footer> 2170 </div> 2171 2172 2173 2174 <a href="#back-to-top" class="back-to-top icon icon-angle-up" title="Zum Seitenanfang"><span>Zum Seitenanfang</span></a> 2175 2176 <noscript> 2177 <input type="checkbox" id="noticebar"> 2178 <label for="noticebar" aria-live="polite" tabindex="1" aria-label="Achtung! JavaScript ist deaktiviert"></label> 2179 <div><span class="col"><b>Achtung:</b> <br>JavaScript ist nicht aktiviert! Bitte aktivieren Sie <a title="Wie Sie JavaScript in Ihrem Browser aktivieren" target="_blank" href="https://www.enable-javascript.com/de/" rel="noopener">JavaScript</a> um den vollen Funktionsumfang dieser und weiterer Webseiten genieÃen zu können.</span></div> 2180 </noscript> 2181 2182 <!-- JS --> 2183
2183<script src="/securewebapps/evercdn/assets/requireit/v1/scripts/main.min.js?v=1760963689"></script>
2183 2184
2184<script src="/js/_require.js?v=1760963689"></script>
2184 2185 <!-- Schema.org --> 2186 2187
2187<script type="application/ld+json">{ 2188 "@context" : "http://schema.org", 2189 "@type" : "LocalBusiness", 2190 "address" : { 2191 "@type": "PostalAddress", 2192 "addressLocality":"Ochsenfurt", 2193 "addressCountry": "DE", 2194 "postalCode":"97199", 2195 "streetAddress": "Kartäuserstr. 14 B" 2196 }, 2197 "description":"Bereits seit 1980 sind wir Ihr kompetenter Partner, wenn es um Türen, Fenster und Sonnenschutz-Lösungen geht. ⤠Lernen Sie Nele Bauelemente kennen!", 2198 "name":"Nele GmbH Bauelemente - Ochsenfurt", 2199 "url":"//www.nele-fenster.com", 2200 "telephone":"+4993318025040", 2201 "openingHours": ["Mo 08:30 - 12:00, 13:30 - 17:00", "Tu 08:30 - 12:00, 13:30 - 17:00", "We 08:30 - 12:00, 13:30 - 17:00", "Th 08:30 - 12:00, 13:30 - 17:00", "Fr 08:30 - 13:00"], 2202 "image":"//www.nele-fenster.com/images/social_branding.png" 2203}</script>
2203 2204
2204<script data-website-brand="euroweb.net" src="/_rassets/csite_modules.js?v=1760963689"></script>
2204<script src="/usecurez.js?k=R1C18920W18920&v=1760963689" type="text/javascript" defer="defer"></script>
2204<noscript><div><img src="/usecurez.jpg?k=R1C18920W18920&noscript=1" alt="Counter"></div></noscript> 2205<link rel="stylesheet" href="/_rassets/cms_defaults.css?v=1760963689">
2205<script>console.warn("Unavailable or empty company snippet - company.facebook ");console.warn("Unavailable or empty company snippet - company.instagram ");console.warn("Unavailable or empty company snippet - company.facebook ");</script>
2205<script data-webpack-metadata data-cms-wp-public-path="/_rassets/"></script>
2205</body> 2206 2207</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.