PageSourceSearch

https://www.fichtenhof.it/en

html fichtenhof.it collected 2026-10-05 23:56:49 UTC 107,268 bytes, 2,594 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="utf-8" />
5<title>Fichtenhof | Pension &amp; Restaurant Fichtenhof</title>
6
7<meta http-equiv="X-UA-Compatible" content="IE=edge">
8<meta name="viewport" content="width=device-width, initial-scale=1">
9<meta name="generator" content="GravCMS" />
10
11<link rel="canonical" href="https://www.fichtenhof.it/en">
12
13<link rel="icon" type="image/png" href="" />
14<link rel="canonical" href="https://www.fichtenhof.it/en" />
15
16
17<link rel="apple-touch-icon" sizes="57x57" href="/user/themes/fichtenhof/images/favicon/apple-icon-57x57.png">
18<link rel="apple-touch-icon" sizes="60x60" href="/user/themes/fichtenhof/images/favicon/apple-icon-60x60.png">
19<link rel="apple-touch-icon" sizes="72x72" href="/user/themes/fichtenhof/images/favicon/apple-icon-72x72.png">
20<link rel="apple-touch-icon" sizes="76x76" href="/user/themes/fichtenhof/images/favicon/apple-icon-76x76.png">
21<link rel="apple-touch-icon" sizes="114x114" href="/user/themes/fichtenhof/images/favicon/apple-icon-114x114.png">
22<link rel="apple-touch-icon" sizes="120x120" href="/user/themes/fichtenhof/images/favicon/apple-icon-120x120.png">
23<link rel="apple-touch-icon" sizes="144x144" href="/user/themes/fichtenhof/images/favicon/apple-icon-144x144.png">
24<link rel="apple-touch-icon" sizes="152x152" href="/user/themes/fichtenhof/images/favicon/apple-icon-152x152.png">
25<link rel="apple-touch-icon" sizes="180x180" href="/user/themes/fichtenhof/images/favicon/apple-icon-180x180.png">
26<link rel="icon" type="image/png" sizes="192x192"  href="/user/themes/fichtenhof/images/favicon/android-icon-192x192.png">
27<link rel="icon" type="image/png" sizes="32x32" href="/user/themes/fichtenhof/images/favicon/favicon-32x32.png">
28<link rel="icon" type="image/png" sizes="96x96" href="/user/themes/fichtenhof/images/favicon/favicon-96x96.png">
29<link rel="icon" type="image/png" sizes="16x16" href="/user/themes/fichtenhof/images/favicon/favicon-16x16.png">
30<link rel="manifest" href="/user/themes/fichtenhof/images/favicon/manifest.json">
31<meta name="msapplication-TileColor" content="#ffffff">
32<meta name="msapplication-TileImage" content="/user/themes/fichtenhof/images/favicon/favicon-96x96.png">
33<meta name="theme-color" content="#ffffff">
34
35                            
36<link href="/user/themes/fichtenhof/css/pikaday.css" type="text/css" rel="stylesheet">
37<link href="/user/themes/fichtenhof/css/slick.css" type="text/css" rel="stylesheet">
38<link href="/user/themes/fichtenhof/css/bootstrap.css" type="text/css" rel="stylesheet">
39<link href="/user/themes/fichtenhof/css/font-awesome.css" type="text/css" rel="stylesheet">
40<link href="/user/themes/fichtenhof/css/datepicker.css" type="text/css" rel="stylesheet">
41<link href="/user/themes/fichtenhof/css/style.css" type="text/css" rel="stylesheet">
42<link href="/user/themes/fichtenhof/css/lightbox.min.css" type="text/css" rel="stylesheet">
43<link href="/user/plugins/markdown-notices/assets/notices.css" type="text/css" rel="stylesheet">
44<link href="/user/plugins/breadcrumbs/css/breadcrumbs.css" type="text/css" rel="stylesheet">
45<link href="/user/plugins/form/assets/form-styles.css" type="text/css" rel="stylesheet">
46<link href="/user/plugins/langswitcher/css/langswitcher.css" type="text/css" rel="stylesheet">
47<link href="/user/plugins/login/css/login.css" type="text/css" rel="stylesheet">
48
49
50
51<!-- Local Business Schema für KI -->
52
53
54<!-- LodgingBusiness Pension -->
55<script type="application/ld+json">
56{
57  "@context": "https://schema.org",
58  "@type": "LodgingBusiness",
59  "@id": "https:\/\/www.fichtenhof.it\/#lodging",
60  "name": "Pension & Restaurant Fichtenhof",
61  "url": "https:\/\/www.fichtenhof.it",
62  "telephone": "+39 0471 889028",
63  "email": "[email protected]",
64  "address": {
65    "@type": "PostalAddress",
66    "streetAddress": "Gfrill 23",
67    "addressLocality": "Gfrill near Salorn",
68    "postalCode": "39040",
69    "addressRegion": "South Tyrol",
70    "addressCountry": "IT"
71  },
72  "geo": {
73    "@type": "GeoCoordinates",
74    "latitude": "46.272228182302776",
75    "longitude": "11.283417551568435"
76  },
77  "sameAs": [
78          "https:\/\/www.facebook.com\/fichtenhof.it\/",              "https:\/\/www.instagram.com\/pension_fichtenhof\/"
79      ],
80  "priceRange": "€€",
81  "hasPart": {
82    "@id": "https:\/\/www.fichtenhof.it\/#restaurant"
83  }
84}
85</script>
85
86
87
88<!-- Restaurant -->
89<script type="application/ld+json">
90{
91  "@context": "https://schema.org",
92  "@type": "Restaurant",
93  "@id": "https:\/\/www.fichtenhof.it\/#restaurant",
94  "name": "Restaurant Fichtenhof",
95  "url": "https:\/\/www.fichtenhof.it\/de\/genuss\/restaurant",
96  "telephone": "+39 0471 889028",
97  "servesCuisine": [
98    "Südtiroler Küche",
99    "Regionale Küche",
100    "Traditionelle Küche"
101  ],
102  "acceptsReservations": true,
103  "address": {
104    "@type": "PostalAddress",
105    "streetAddress": "Gfrill 23",
106    "addressLocality": "Gfrill near Salorn",
107    "postalCode": "39040",
108    "addressRegion": "South Tyrol",
109    "addressCountry": "IT"
110  },
111  "geo": {
112    "@type": "GeoCoordinates",
113    "latitude": "46.272228182302776",
114    "longitude": "11.283417551568435"
115  },
116  "openingHoursSpecification": [
117    {
118      "@type": "OpeningHoursSpecification",
119      "dayOfWeek": [
120        "Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"
121      ],
122      "opens": "12:00",
123      "closes": "14:00"
124    },
125    {
126      "@type": "OpeningHoursSpecification",
127      "dayOfWeek": [
128        "Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"
129      ],
130      "opens": "19:00",
131      "closes": "21:00"
132    }
133  ],
134  "sameAs": [
135          "https:\/\/www.facebook.com\/fichtenhof.it\/",              "https:\/\/www.instagram.com\/pension_fichtenhof\/"
136      ]
137}
138</script>
138
139
140
141
142          
143      
144    
145  
146    
147                                      
148    
149        
150      
151        
152                                                      
153
154    
155      
156      
157  <style>
158  .cookiebar-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;z-index:9998}
159  .cookiebar{position:fixed;left:18px;right:18px;bottom:18px;max-width:980px;margin:0 auto;background:#5c5c5c;color:#fff;border-radius:12px;padding:16px;z-index:9999;box-shadow:0 10px 30px rgba(0,0,0,.35);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
160  .cookiebar h3{margin:0 0 8px;font-size:16px;line-height: 18px;color:#ffffff;}
161  .cookiebar p{margin:0 0 12px;font-size:14px;line-height:16px;color:#eaeaea}
162  .cookiebar a{color:#eaeaea;text-decoration:underline}
163  .cookiebar a:hover{color:#fff;text-decoration:underline}
164  .cookiebar .cookiebar-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
165  .cookiebtn{appearance:none;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;padding:10px 12px;border-radius:10px;font-weight:600;cursor:pointer;font-size:13px;width:auto}
166  .cookiebtn:hover{border:1px solid #5c5c5c;background:#f2f2f2;color:#111;}
167  .cookiebtn.primary{background:#f2f2f2;color:#111;border-color:#f2f2f2}
168  .cookiebtn.primary:hover{background:#5c5c5c;color:#f2f2f2;border-color:#f2f2f2}
169  .cookiebtn.linklike{border:1px solid #5c5c5c;padding:10px 12px;text-decoration:underline;background:transparent}
170  .cookiebtn.linklike:hover{border:1px solid rgba(255,255,255,.35);text-decoration:underline;color:#f2f2f2}
171
172  .cookie-modal{position:fixed;inset:0;display:none;z-index:10000;align-items:center;justify-content:center}
173  .cookie-modal .panel{width:min(720px,calc(100% - 36px));background:#fff;color:#111;border-radius:14px;padding:18px;box-shadow:0 10px 35px rgba(0,0,0,.25);position:relative}
174  .cookie-modal h4{margin:0 0 8px;font-size:18px;color:#111;}
175  .cookie-modal p{margin:0 0 12px;font-size:13px;line-height:1.45;color:#333}
176  .cookie-modal .opt{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid #eee}
177  .cookie-modal .opt:first-of-type{border-top:none}
178  .cookie-modal label{font-weight:bold;cursor:pointer;font-size: 16px;line-height: 16px;}
179  .cookie-modal small{display:block;color:#555;font-size: 13px; line-height: 14px; font-weight:normal;margin-top:2px}
180  .cookie-modal .cookiebtn {border:1px solid #5c5c5c;color:#111;}
181  .cookie-modal .cookiebtn:hover {background: #5c5c5c; color: #f2f2f2; border-color: #f2f2f2;}
182  .cookie-modal .actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:12px}
183  .cookie-modal .closex{position:absolute;top:10px;right:12px;border:none;background:transparent;font-size:18px;cursor:pointer}
184  .cookie-note{margin-top:10px;font-size:12px;color:#444}
185
186  .cookie-settings-link{position:fixed;left:18px;bottom:18px;z-index:9997;display:none}
187  .cookie-settings-link button{border:none;background:#5c5c5c;color:#fff;padding:10px 12px;border-radius:999px;cursor:pointer;font-weight:700;font-size:12px;box-shadow:0 10px 30px rgba(0,0,0,.2)}
188  .cookie-settings-link img{width: 28px;height: auto;}
189
190  @media (max-width: 768px) {
191    .cookie-settings-link { bottom: 55px; }
192  }
193  @media (max-width: 440px) {
194    .cookiebar .cookiebar-row { gap: 5px;}
195    .cookiebtn, .cookiebtn.linklike { padding: 7px 5px; }
196  }
197  </style>
198
199  
199<script>
200  (function(){
201    "use strict";
202
203    const KEY="cookie_prefs_v1";
204    let __lastPrefs = readPrefs();
205    const DEFAULTS={necessary:true,analytics:false,marketing:false,external:false};
206
207    function readPrefs(){
208      try{
209        const raw=localStorage.getItem(KEY);
210        if(!raw) return null;
211        const p=JSON.parse(raw);
212        return {necessary:true,analytics:!!p.analytics,marketing:!!p.marketing,external:!!p.external};
213      }catch(e){ return null; }
214    }
215
216    function savePrefs(prefs){
217      const safe={necessary:true,analytics:!!prefs.analytics,marketing:!!prefs.marketing,external:!!prefs.external};
218      localStorage.setItem(KEY, JSON.stringify(safe));
219      document.cookie="cookie_prefs_set=1; path=/; max-age="+(60*60*24*365);
220      document.dispatchEvent(new CustomEvent("cookie:prefs",{detail:safe}));
221      // Reload erzwingen, wenn Statistik oder Externe Inhalte geändert wurden
222      if (
223        __lastPrefs &&
224        (
225          (__lastPrefs.analytics && !safe.analytics) ||
226          (__lastPrefs.external !== safe.external)
227        )
228      ) {
229        setTimeout(function(){
230          location.reload();
231        }, 50);
232      }
233
234      __lastPrefs = safe;
235      return safe;
236    }
237
238    function hasConsent(cat){
239      const p=readPrefs();
240      return !!(p && p[cat]);
241    }
242
243    window.CookiePrefs={readPrefs,savePrefs,hasConsent};
244
245    const byId=(id)=>document.getElementById(id);
246
247    function openModal(){
248      const backdrop = byId("cookiebar-backdrop");
249      const modal = byId("cookie-modal");
250      if(!backdrop || !modal) return;
251
252      backdrop.style.display = "block";
253      modal.style.display = "flex";
254
255      const p = readPrefs() || DEFAULTS;
256      const analytics = byId("c-analytics");
257      const marketing = byId("c-marketing");
258      const external = byId("c-external");
259
260      if(analytics) analytics.checked = !!p.analytics;
261      if(marketing) marketing.checked = !!p.marketing;
262      if(external) external.checked = !!p.external;
263    }
264
265    function closeModal(){
266      const backdrop = byId("cookiebar-backdrop");
267      const modal = byId("cookie-modal");
268      if(!backdrop || !modal) return;
269
270      backdrop.style.display = "none";
271      modal.style.display = "none";
272    }
273
274    function hideBarShowLink(){
275      const bar=byId("cookiebar"), link=byId("cookie-settings-link");
276      if(bar) bar.style.display="none";
277      if(link) link.style.display="block";
278    }
279
280    function initCookieBar(cfg){
281      if(document.getElementById("cookiebar")) return;
282
283      const analyticsBlock = cfg.showAnalytics ? `
284        <div class="opt">
285          <input id="c-analytics" type="checkbox" />
286          <div>
287            <label for="c-analytics">${cfg.catAnalytics}</label>
288            <small>${cfg.catAnalyticsDescPrefix} <strong>${cfg.analyticsList}</strong></small>
289          </div>
290        </div>` : '';
291      const marketingBlock = cfg.showMarketing ? `
292        <div class="opt">
293          <input id="c-marketing" type="checkbox" />
294          <div>
295            <label for="c-marketing">${cfg.catMarketing}</label>
296            <small>${cfg.catMarketingDescPrefix} <strong>${cfg.marketingList}</strong></small>
297          </div>
298        </div>` : '';
299      const externalBlock = cfg.showExternal ? `
300        <div class="opt">
301          <input id="c-external" type="checkbox" />
302          <div>
303            <label for="c-external">${cfg.catExternal}</label>
304            <small>${cfg.catExternalDescPrefix} <strong>${cfg.externalList}</strong></small>
305          </div>
306        </div>` : '';
307
308      const wrapper=document.createElement("div");
309      wrapper.innerHTML=`
310        <div class="cookiebar-backdrop" id="cookiebar-backdrop"></div>
311
312        <div class="cookiebar" id="cookiebar">
313          <h3>${cfg.title}</h3>
314          <p>${cfg.message} <a href="${cfg.privacyHref}">${cfg.privacyLink}</a></p>
315          <div class="cookiebar-row">
316            <button class="cookiebtn linklike" type="button" id="cookie-open-settings">${cfg.settings}</button>
317            <button class="cookiebtn" type="button" id="cookie-necessary">${cfg.necessaryOnly}</button>
318            <button class="cookiebtn primary" type="button" id="cookie-accept-all">${cfg.acceptAll}</button>
319          </div>
320        </div>
321
322        <div class="cookie-modal" id="cookie-modal" role="dialog" aria-modal="true" aria-label="${cfg.modalTitle}">
323          <div class="panel">
324            <button class="closex" type="button" id="cookie-close-x" aria-label="${cfg.close}">✕</button>
325            <h4>${cfg.modalTitle}</h4>
326            <p>${cfg.modalIntro}</p>
327
328            <div class="opt">
329              <input type="checkbox" checked disabled />
330              <div>
331                <label>${cfg.catNecessary}</label>
332                <small>${cfg.catNecessaryDesc}</small>
333              </div>
334            </div>
335
336            ${analyticsBlock}
337            ${marketingBlock}
338            ${externalBlock}
339
340            ${cfg.recaptchaNote ? `<div class="cookie-note">${cfg.recaptchaNote}</div>` : ``}
341
342            <div class="actions">
343              <button class="cookiebtn primary" type="button" id="cookie-save">${cfg.save}</button>
344              <button class="cookiebtn" type="button" id="cookie-accept-all-2">${cfg.acceptAll}</button>
345            </div>
346          </div>
347        </div>
348
349        <div class="cookie-settings-link" id="cookie-settings-link">
350          <button type="button" id="cookie-settings-btn" title="Cookie Settings">${cfg.settingsFooter}</button>
351        </div>
352      `;
353      document.body.appendChild(wrapper);
354
355      byId("cookie-open-settings")?.addEventListener("click", openModal);
356      byId("cookie-settings-btn")?.addEventListener("click", openModal);
357      byId("cookie-close-x")?.addEventListener("click", closeModal);
358      byId("cookiebar-backdrop")?.addEventListener("click", closeModal);
359
360      function acceptAll(){
361        savePrefs({
362          analytics: cfg.showAnalytics ? true : false,
363          marketing: cfg.showMarketing ? true : false,
364          external: cfg.showExternal ? true : false
365        });
366        hideBarShowLink(); closeModal();
367      }
368
369      byId("cookie-accept-all")?.addEventListener("click", acceptAll);
370      byId("cookie-accept-all-2")?.addEventListener("click", acceptAll);
371
372      byId("cookie-necessary")?.addEventListener("click", function(){
373        savePrefs({ analytics:false, marketing:false, external:false });
374        hideBarShowLink(); closeModal();
375      });
376
377      byId("cookie-save")?.addEventListener("click", function(){
378        savePrefs({
379          analytics: cfg.showAnalytics ? !!byId("c-analytics")?.checked : false,
380          marketing: cfg.showMarketing ? !!byId("c-marketing")?.checked : false,
381          external: cfg.showExternal ? !!byId("c-external")?.checked : false
382        });
383        hideBarShowLink(); closeModal();
384      });
385
386      const existing=readPrefs();
387      if(existing) hideBarShowLink();
388    }
389
390    window.initCookieBar = initCookieBar;
391
392    // Externes Oeffnen des Cookie-Modals erlauben (z.B. von YouTube-Guard)
393    document.addEventListener("cookie:open", function(){
394      openModal();
395    });
396  })();
397  </script>
397
398
399  
399<script>
400  // ===== INIT + Loader + Map Renderer =====
401  document.addEventListener("DOMContentLoaded", function(){
402        if(!window.initCookieBar) return;
403
404    const cfg = {
405      title: "Cookies & external content",
406      message: "We use necessary cookies to operate the website. Additional cookies\/technologies (analytics and external content) are loaded only with your consent. You can change your selection at any time.",
407      privacyLink: "Privacy policy",
408      privacyHref: "\/impressum",
409      settings: "Settings",
410      necessaryOnly: "Necessary only",
411      acceptAll: "Accept all",
412      modalTitle: "Cookie settings",
413      modalIntro: "Choose which categories you allow. Necessary cookies are always enabled.",
414      close: "Close",
415      catNecessary: "Necessary",
416      catNecessaryDesc: "Required for basic functionality and security.",
417      showAnalytics: true,
418      catAnalytics: "Analytics",
419      catAnalyticsDescPrefix: "If enabled, we load:",
420      analyticsList: "Google Analytics (GA4)",
421      showMarketing: false,
422      catMarketing: "Marketing",
423      catMarketingDescPrefix: "If enabled, we load:",
424      marketingList: "",
425      showExternal: true,
426      catExternal: "External content",
427      catExternalDescPrefix: "If enabled, we load:",
428      externalList: "Google Maps, Elfsight, Weather",
429      save: "Save selection",
430      settingsFooter: '<img src="/user/themes/fichtenhof/templates/dsgvo/cookie.png" alt="Cookie settings" />',
431      recaptchaNote: "Note: reCAPTCHA is always active for security reasons and is not managed via the cookie banner."
432    };
433    window.DSGVO_FONTS_URL = "";
434    window.initCookieBar(cfg);
435
436    // Wenn Prefs schon existieren: sofort anwenden
437    if (window.CookiePrefs && window.CookiePrefs.readPrefs()) {
438      document.dispatchEvent(new CustomEvent("cookie:prefs", { detail: window.CookiePrefs.readPrefs() }));
439    }
440  });
441
442  // Loader nur nach Consent
443  function dsgvoApply(prefs){
444    if(!prefs) return;
445
446    // Google Analytics (GA4)
447        if(prefs.analytics && !window.__ga_loaded){
448      window.__ga_loaded=true;
449      var s=document.createElement("script");
450      s.async=true;
451      s.src="https://www.googletagmanager.com/gtag/js?id=G\u002D48890EB2LR";
452      document.head.appendChild(s);
453      window.dataLayer=window.dataLayer||[];
454      function gtag(){dataLayer.push(arguments);}
455      window.gtag=window.gtag||gtag;
456      gtag('js', new Date());
457      gtag('config', 'G\u002D48890EB2LR', { anonymize_ip: true });
458    }
459    
460    // Google Tag Manager (GTM)
461    
462
463    // Facebook Pixel
464    
465    // Map Renderer: nur wenn googlemaps im Impressum aktiv ist
466          ensureMapState();
467              ensureElfsightState();
468                                  ensureWeatherState();
469                                                  }
470
471  document.addEventListener("cookie:prefs", function(e){
472    dsgvoApply(e && e.detail ? e.detail : (window.CookiePrefs ? window.CookiePrefs.readPrefs() : null));
473  });
474
475  // Google Maps: ein-/ausblenden ohne Reload (wenn du .dsgvo-map verwendest)
476  function ensureMapState() {
477    var boxes = document.querySelectorAll(".dsgvo-map");
478    if (!boxes.length) return;
479
480    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
481
482    boxes.forEach(function (box) {
483      var existing = box.querySelector("iframe");
484
485      if (!ok) {
486        if (existing) existing.remove();
487        box.innerHTML = box.dataset.placeholder || "";
488        return;
489      }
490
491      if (existing) return;
492
493      var src = box.getAttribute("data-map-src");
494      if (!src) return;
495
496      var iframe = document.createElement("iframe");
497      iframe.src = src;
498      iframe.width = box.getAttribute("data-width") || "100%";
499      iframe.height = box.getAttribute("data-height") || "450";
500      iframe.style.border = "0";
501      iframe.setAttribute("loading", "lazy");
502      iframe.setAttribute("referrerpolicy", "strict-origin-when-cross-origin");
503      iframe.setAttribute("allowfullscreen", "");
504
505      box.innerHTML = "";
506      box.appendChild(iframe);
507    });
508  }
509
510  // Externe Fonts: ein-/ausblenden ohne Reload
511  function ensureFontsurlState() {
512
513    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
514
515    if (!ok) return;
516
517    if (document.getElementById("adobe-fonts-css")) return;
518
519    var url = window.DSGVO_FONTS_URL;
520    if (!url) return;
521
522    var link = document.createElement("link");
523    link.id = "adobe-fonts-css";
524    link.rel = "stylesheet";
525    link.href = url;
526
527    document.head.appendChild(link);
528  }
529
530  // Booking Script: ein-/ausblenden ohne Reload (wenn du .dsgvo-booking verwendest)
531  function ensureBookingState() {
532    var boxes = document.querySelectorAll(".dsgvo-booking");
533    if (!boxes.length) return;
534
535    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
536
537    boxes.forEach(function (box) {
538      var placeholder = box.getAttribute("data-placeholder") || "";
539
540      if (!ok) {
541        box.innerHTML = placeholder;
542        box.removeAttribute("data-booking-loaded");
543        return;
544      }
545
546      if (box.getAttribute("data-booking-loaded") === "1") return;
547
548      var type = box.getAttribute("data-booking-type") || "suedtirol-old";
549      var lang = box.getAttribute("data-lang") || "de";
550
551      // Booking Südtirol alt
552      if (type === "suedtirol-old") {
553        var accId = box.getAttribute("data-accommodation-id");
554        if (!accId) return;
555
556        box.innerHTML = '<div id="Bs-BookingWidget"></div>';
557
558        var layout = box.getAttribute("data-layout") || "";
559
560        window.BsBookingWidget = {
561          accommodationId: accId,
562          lang: lang
563        };
564
565        if (layout) {
566          window.BsBookingWidget.layout = layout;
567        }
568
569        var oldScript = document.querySelector('script[data-booking-suedtirol-old="1"]');
570        if (oldScript) oldScript.remove();
571
572        var scriptOld = document.createElement("script");
573        scriptOld.src = "https://widget.bookingsuedtirol.com/widget.js";
574        scriptOld.async = true;
575        scriptOld.setAttribute("data-booking-suedtirol-old", "1");
576
577        document.body.appendChild(scriptOld);
578
579        box.setAttribute("data-booking-loaded", "1");
580        return;
581      }
582
583      // Booking Südtirol v2
584      if (type === "suedtirol-v2") {
585        var bookingId = box.getAttribute("data-booking-id");
586        var propertyId = box.getAttribute("data-property-id");
587        var privacyUrl = box.getAttribute("data-privacy-url") || "/" + lang + "/impressum";
588        var termsUrl = box.getAttribute("data-terms-url") || "/" + lang + "/impressum";
589
590        if (!bookingId || !propertyId) return;
591
592        box.innerHTML = '<div id="Bs-BookingWidget"></div>';
593
594        function initBookingSuedtirolWidget() {
595          if (
596            typeof BookingSüdtirol === "undefined" ||
597            !BookingSüdtirol.Widgets ||
598            !BookingSüdtirol.Widgets.Booking
599          ) {
600            return;
601          }
602
603          BookingSüdtirol.Widgets.Booking("#Bs-BookingWidget", {
604            id: bookingId,
605            propertyId: parseInt(propertyId, 10),
606            lang: lang,
607            privacyURL: privacyUrl,
608            termsURL: termsUrl,
609            onBookingSuccess: function(reservation) {},
610            onEnquirySuccess: function(reservation) {}
611          });
612
613          box.setAttribute("data-booking-loaded", "1");
614        }
615
616        var existingScript = document.querySelector('script[data-booking-suedtirol-v2="1"]');
617
618        if (existingScript) {
619          if (typeof BookingSüdtirol !== "undefined") {
620            initBookingSuedtirolWidget();
621          } else {
622            existingScript.addEventListener("load", initBookingSuedtirolWidget, { once: true });
623          }
624          return;
625        }
626
627        var scriptV2 = document.createElement("script");
628        scriptV2.id = "booking-suedtirol-js";
629        scriptV2.src = "https://widget.bookingsuedtirol.com/v2/bundle.js";
630        scriptV2.defer = true;
631        scriptV2.setAttribute("data-booking-suedtirol-v2", "1");
632
633        scriptV2.addEventListener("load", initBookingSuedtirolWidget, { once: true });
634
635        document.body.appendChild(scriptV2);
636        return;
637      }
638
639      // Holidu
640      if (type === "holidu") {
641        var holiduId = box.getAttribute("data-holidu-id");
642        var height = box.getAttribute("data-height") || "2700";
643
644        if (!holiduId) return;
645
646        box.innerHTML =
647          '<iframe id="host-websites-widget" width="100%" height="' + height + '" src="https://widget.holiduhost.com/widget/' + holiduId + '?language=' + lang + '" style="border:0;"></iframe>';
648
649        box.setAttribute("data-booking-loaded", "1");
650        return;
651      }
652
653      // Beddy
654      if (type === "beddy") {
655        var widgetcode = box.getAttribute("data-widgetcode");
656        if (!widgetcode) return;
657
658        box.innerHTML =
659          '<beddy-bar lang="' + lang + '" widgetcode="' + widgetcode + '"></beddy-bar>';
660
661        if (!document.querySelector('script[data-beddy-widget="1"]')) {
662          var beddyScript = document.createElement("script");
663          beddyScript.src = "https://cdn.beddy.io/bol-v2/prod/beddy-bar-web-component.js";
664          beddyScript.defer = true;
665          beddyScript.charset = "UTF-8";
666          beddyScript.setAttribute("data-beddy-widget", "1");
667          document.body.appendChild(beddyScript);
668        }
669
670        box.setAttribute("data-booking-loaded", "1");
671        return;
672      }
673      // Yanovis
674      if (type === "yanovis") {
675          var uuid = box.getAttribute("data-uuid");
676
677          if (!uuid) return;
678
679          box.innerHTML =
680              '<yanovis-booking-widget id="yanovisBookingWidget" uuid="' + uuid + '" lang="' + lang + '"></yanovis-booking-widget>';
681
682          if (!document.querySelector('script[data-yanovis-widget="1"]')) {
683              var yanovisScript = document.createElement("script");
684              yanovisScript.src = "https://cdn.yanovis.com/webcomp/yanovis-booking-widget.umd.cjs";
685              yanovisScript.charset = "utf-8";
686              yanovisScript.setAttribute("data-yanovis-widget", "1");
687
688              document.body.appendChild(yanovisScript);
689          }
690
691          box.setAttribute("data-booking-loaded", "1");
692          return;
693      }
694    });
695  }
696  // Anfrage Script: ein-/ausblenden ohne Reload (wenn du .dsgvo-anfrage verwendest)
697  function ensureAnfrageState() {
698
699    var boxes = document.querySelectorAll(".dsgvo-anfrage");
700    if (!boxes.length) return;
701
702    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
703
704    boxes.forEach(function(box, index){
705
706      var placeholder = box.getAttribute("data-placeholder") || "";
707
708      if (!ok) {
709        box.innerHTML = placeholder;
710        box.removeAttribute("data-anfrage-loaded");
711        return;
712      }
713
714      if (box.getAttribute("data-anfrage-loaded") === "1") return;
715
716      var type = box.getAttribute("data-anfrage-type") || "hgv";
717      var lang = box.getAttribute("data-lang") || "de";
718
719      // =====================
720      // HGV / Booking Südtirol
721      // =====================
722
723      if (type === "hgv") {
724
725        var accId = box.getAttribute("data-accommodation-id");
726
727        if (!accId) return;
728
729        var widgetId = "Bs-EnquiryWidget-" + index;
730
731        box.innerHTML = '<div id="' + widgetId + '"></div>';
732
733        function initEnquiryWidget() {
734          if (
735            typeof BookingSüdtirol === "undefined" ||
736            !BookingSüdtirol.Widgets ||
737            !BookingSüdtirol.Widgets.Enquiry
738          ) {
739            return;
740          }
741
742          BookingSüdtirol.Widgets.Enquiry("#" + widgetId, {
743            accommodationId: accId,
744            lang: lang,
745            onEnquirySuccess: function(reservation) {}
746          });
747
748          box.setAttribute("data-anfrage-loaded", "1");
749        }
750
751        var existingScript = document.querySelector('script[data-booking-suedtirol-v2="1"]');
752
753        if (existingScript) {
754          if (typeof BookingSüdtirol !== "undefined") {
755            initEnquiryWidget();
756          } else {
757            existingScript.addEventListener("load", initEnquiryWidget, { once: true });
758          }
759          return;
760        }
761
762        var script = document.createElement("script");
763        script.id = "booking-suedtirol-js";
764        script.src = "https://widget.bookingsuedtirol.com/v2/bundle.js";
765        script.defer = true;
766        script.setAttribute("data-booking-suedtirol-v2", "1");
767
768        script.addEventListener("load", initEnquiryWidget, { once: true });
769
770        document.body.appendChild(script);
771
772        return;
773      }
774
775      // =====================
776      // Internet Consulting
777      // =====================
778
779      if (type === "inetcons") {
780
781        var companyId = box.getAttribute("data-company-id");
782        var privacyUrl = "";
783
784        if (lang === "it") {
785          privacyUrl = box.getAttribute("data-privacy-url-it") || "";
786        } else if (lang === "en") {
787          privacyUrl = box.getAttribute("data-privacy-url-en") || "";
788        } else {
789          privacyUrl = box.getAttribute("data-privacy-url-de") || "";
790        }
791
792        if (!companyId) return;
793
794        var languageId = "1";
795
796        if (lang === "it") {
797          languageId = "2";
798        } else if (lang === "en") {
799          languageId = "3";
800        }
801
802        box.innerHTML = "";
803
804        function initInetconsWidget() {
805
806          if (typeof SuedtirolcomEnquiryWidget === "undefined") {
807            return;
808          }
809
810          SuedtirolcomEnquiryWidget.showWidget({
811            siteUrl: "https://widget.inetcons.it",
812            languageid: languageId,
813            companyid: companyId,
814            hiddenfields: {
815              hideroomtype: "true",
816              hidenewsletter: "true"
817            },
818            colors: {
819              bgcolor: box.getAttribute("data-bgcolor") || "transparent",
820              txtcolor: box.getAttribute("data-txtcolor") || "#525252",
821              inputbgcolor: box.getAttribute("data-inputbgcolor") || "#e1e3e2",
822              inputtxtcolor: box.getAttribute("data-inputtxtcolor") || "#525252",
823              bordercolor: box.getAttribute("data-bordercolor") || "#adadad",
824              inputbordercolor: box.getAttribute("data-inputbordercolor") || "transparent",
825              linkcolor: box.getAttribute("data-linkcolor") || "#9bab64",
826              errorcolor: box.getAttribute("data-errorcolor") || "#FF0000",
827              successcolor: box.getAttribute("data-successcolor") || "#9bab64"
828            },
829            dataPrivacyUrl: privacyUrl
830          });
831
832          box.setAttribute("data-anfrage-loaded", "1");
833        }
834
835        var existingInetconsScript = document.querySelector('script[data-inetcons-enquiry="1"]');
836
837        if (existingInetconsScript) {
838          if (typeof SuedtirolcomEnquiryWidget !== "undefined") {
839            initInetconsWidget();
840          } else {
841            existingInetconsScript.addEventListener("load", initInetconsWidget, { once: true });
842          }
843          return;
844        }
845
846        var inetconsScript = document.createElement("script");
847        inetconsScript.src = "https://widget.inetcons.it/scripts/enquiry/enquirywidget.js";
848        inetconsScript.type = "text/javascript";
849        inetconsScript.setAttribute("data-inetcons-enquiry", "1");
850
851        inetconsScript.addEventListener("load", initInetconsWidget, { once: true });
852
853        document.body.appendChild(inetconsScript);
854
855        return;
856      }
857
858    });
859  }
860
861  // Externe Widgets: ein-/ausblenden ohne Reload
862  function ensureExternewidgetsState() {
863
864    var boxes = document.querySelectorAll(".dsgvo-externewidgets");
865    if (!boxes.length) return;
866
867    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
868
869    boxes.forEach(function(box, index){
870
871      var placeholder = box.getAttribute("data-placeholder") || "";
872
873      if (!ok) {
874        box.innerHTML = placeholder;
875        box.removeAttribute("data-externewidget-loaded");
876        return;
877      }
878
879      if (box.getAttribute("data-externewidget-loaded") === "1") return;
880
881      var type = box.getAttribute("data-widget-type") || "iframe";
882
883      // =====================
884      // IFRAME
885      // =====================
886
887      if (type === "iframe") {
888
889        var src = box.getAttribute("data-src");
890        var width = box.getAttribute("data-width") || "100%";
891        var height = box.getAttribute("data-height") || "800";
892        var name = box.getAttribute("data-name") || "";
893        var cls = box.getAttribute("data-class") || "";
894
895        if (!src) return;
896
897        var iframe = document.createElement("iframe");
898
899        iframe.src = src;
900        iframe.width = width;
901        iframe.height = height;
902        iframe.scrolling = "auto";
903        iframe.frameBorder = "0";
904        iframe.loading = "lazy";
905
906        if (name) iframe.name = name;
907        if (cls) iframe.className = cls;
908
909        iframe.style.width = width;
910        iframe.style.height = height + "px";
911        iframe.style.border = "0";
912
913        box.innerHTML = "";
914        box.appendChild(iframe);
915
916        box.setAttribute("data-externewidget-loaded", "1");
917        return;
918      }
919
920      // =====================
921      // SCRIPT MIT DIV
922      // =====================
923
924      if (type === "script") {
925
926        var scriptSrc = box.getAttribute("data-script-src");
927        var targetTag = box.getAttribute("data-target-tag") || "div";
928        var targetId = box.getAttribute("data-target-id") || "";
929        var targetClass = box.getAttribute("data-target-class") || "";
930
931        if (!scriptSrc) return;
932
933        box.innerHTML = "";
934
935        var target = document.createElement(targetTag);
936
937        if (targetId) target.id = targetId;
938        if (targetClass) target.className = targetClass;
939
940        box.appendChild(target);
941
942        var script = document.createElement("script");
943        script.src = scriptSrc;
944        script.type = "text/javascript";
945        script.async = true;
946        script.setAttribute("data-externewidget-script", index);
947
948        box.appendChild(script);
949
950        box.setAttribute("data-externewidget-loaded", "1");
951        return;
952      }
953
954      // =====================
955      // SCRIPT ONLY
956      // =====================
957
958      if (type === "script-only") {
959
960        var scriptSrc = box.getAttribute("data-script-src");
961        var scriptId = box.getAttribute("data-script-id");
962        var scriptClass = box.getAttribute("data-script-class");
963        var sgIdentifier = box.getAttribute("data-sg-identifier");
964
965        if (!scriptSrc) return;
966
967        box.innerHTML = "";
968
969        var script = document.createElement("script");
970
971        script.src = scriptSrc;
972        script.async = true;
973        script.type = "text/javascript";
974
975        if (scriptId) {
976          script.id = scriptId;
977        }
978
979        if (scriptClass) {
980          script.className = scriptClass;
981        }
982
983        if (sgIdentifier) {
984          script.setAttribute("data-sg-identifier", sgIdentifier);
985        }
986
987        box.appendChild(script);
988
989        box.setAttribute("data-externewidget-loaded", "1");
990        return;
991      }
992
993      // =====================
994      // SCRIPT Inline
995      // =====================
996
997      if (type === "script-inline") {
998
999        var preSrc = box.getAttribute("data-script-pre");
1000        var mainSrc = box.getAttribute("data-script-main");
1001
1002        if (!preSrc || !mainSrc) return;
1003
1004        box.innerHTML =
1005          '<div id="sg-load-V1-20160222">' +
1006            '<div class="text-center">' +
1007              '<h3>Einen Augenblick bitte...</h3>' +
1008              '<div class="loader"></div>' +
1009            '</div>' +
1010          '</div>';
1011
1012        window.sg_m = box.getAttribute("data-sg-m");
1013        window.sg_a = box.getAttribute("data-sg-a");
1014        window.sg_title_text = box.getAttribute("data-sg-title");
1015        window.sg_sub_text = box.getAttribute("data-sg-subtitle");
1016        window.sg_wid = box.getAttribute("data-sg-wid");
1017        window.sg_auto_text = box.getAttribute("data-sg-auto-text");
1018        window.sg_random = box.getAttribute("data-sg-random");
1019        window.sg_rating = box.getAttribute("data-sg-rating");
1020        window.sg_kat = box.getAttribute("data-sg-kat");
1021        window.sg_target = box.getAttribute("data-sg-target");
1022        window.sg_btn_text = box.getAttribute("data-sg-btn-text");
1023        window.sg_lng = box.getAttribute("data-sg-lng");
1024        window.sg_c_xs = box.getAttribute("data-sg-c-xs");
1025        window.sg_c_sm = box.getAttribute("data-sg-c-sm");
1026        window.sg_c_md = box.getAttribute("data-sg-c-md");
1027        window.sg_c_lg = box.getAttribute("data-sg-c-lg");
1028        window.sg_key = box.getAttribute("data-sg-key");
1029
1030        var preScript = document.createElement("script");
1031        preScript.src = preSrc;
1032        preScript.type = "text/javascript";
1033
1034        preScript.onload = function() {
1035          var mainScript = document.createElement("script");
1036          mainScript.src = mainSrc;
1037          mainScript.type = "text/javascript";
1038          document.body.appendChild(mainScript);
1039        };
1040
1041        document.body.appendChild(preScript);
1042
1043        box.setAttribute("data-externewidget-loaded", "1");
1044        return;
1045      }
1046
1047    });
1048  }
1049
1050  // Wetter Script: ein-/ausblenden ohne Reload (wenn du .dsgvo-weather verwendest)
1051  function ensureWeatherState() {
1052    var boxes = document.querySelectorAll(".dsgvo-weather");
1053    if (!boxes.length) return;
1054
1055    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1056
1057    boxes.forEach(function (box, index) {
1058      var placeholder = box.getAttribute("data-placeholder") || "";
1059
1060      if (!ok) {
1061        box.innerHTML = placeholder;
1062        box.removeAttribute("data-weather-loaded");
1063        return;
1064      }
1065
1066      if (box.getAttribute("data-weather-loaded") === "1") return;
1067
1068      var src = box.getAttribute("data-weather-src");
1069      var type = box.getAttribute("data-weather-type") || "siag";
1070      if (!src) return;
1071
1072      if (type === "siag-simple") {
1073
1074        var siagId = "meteoprovbz_widget_" + index;
1075
1076        box.innerHTML = '<div id="' + siagId + '"></div>';
1077
1078        var oldSiagSimple = document.querySelector('script[data-weather-siag-simple="' + index + '"]');
1079        if (oldSiagSimple) oldSiagSimple.remove();
1080
1081        var siagSimpleScript = document.createElement("script");
1082        siagSimpleScript.src = src;
1083        siagSimpleScript.async = true;
1084        siagSimpleScript.setAttribute("data-weather-siag-simple", index);
1085
1086        siagSimpleScript.onload = function () {
1087          if (window.meteoprovbz_Widget && window.meteoprovbz_Widget.CreateWidget) {
1088            window.meteoprovbz_Widget.CreateWidget(
1089              document.getElementById(siagId)
1090            );
1091          }
1092        };
1093
1094        document.body.appendChild(siagSimpleScript);
1095
1096        box.setAttribute("data-weather-loaded", "1");
1097
1098        return;
1099      }
1100
1101      if (type === "iframe") {
1102
1103        var width = box.getAttribute("data-width") || "100%";
1104        var height = box.getAttribute("data-height") || "800";
1105
1106        box.innerHTML =
1107          '<iframe src="' + src + '" ' +
1108          'name="Wetter" ' +
1109          'scrolling="Auto" ' +
1110          'frameborder="0" ' +
1111          'height="' + height + '" ' +
1112          'width="' + width + '"></iframe>';
1113
1114        box.setAttribute("data-weather-loaded", "1");
1115
1116        return;
1117      }
1118
1119      if (type === "trendstudio") {
1120        box.innerHTML = '<div id="rr_wetter_daten"></div>';
1121
1122        var oldTrendstudio = document.querySelector('script[data-weather-trendstudio="1"]');
1123        if (oldTrendstudio) oldTrendstudio.remove();
1124
1125        var trendScript = document.createElement("script");
1126        trendScript.src = src;
1127        trendScript.async = false;
1128        trendScript.setAttribute("data-weather-trendstudio", "1");
1129
1130        document.body.appendChild(trendScript);
1131
1132        box.setAttribute("data-weather-loaded", "1");
1133        return;
1134      }
1135
1136      var siagId = "meteoprovbz_widget_" + index;
1137
1138      box.innerHTML = '<div id="' + siagId + '"></div>';
1139
1140      var oldSiag = document.querySelector('script[data-weather-siag="' + index + '"]');
1141      if (oldSiag) oldSiag.remove();
1142
1143      var siagScript = document.createElement("script");
1144      siagScript.src = src;
1145      siagScript.async = true;
1146      siagScript.setAttribute("data-weather-siag", index);
1147
1148      siagScript.onload = function () {
1149        if (window.meteoprovbz_Widget && window.meteoprovbz_Widget.CreateWidget) {
1150          window.meteoprovbz_Widget.CreateWidget(
1151            document.getElementById(siagId)
1152          );
1153        }
1154      };
1155
1156      document.body.appendChild(siagScript);
1157
1158      box.setAttribute("data-weather-loaded", "1");
1159    });
1160  }
1161
1162  // Externe Webcams ein-/ausblenden ohne Reload (wenn du .dsgvo-webcam verwendest)
1163  function ensureWebcamState() {
1164    var boxes = document.querySelectorAll(".dsgvo-webcam");
1165    if (!boxes.length) return;
1166
1167    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1168
1169    boxes.forEach(function(box) {
1170      var placeholder = box.getAttribute("data-placeholder") || "";
1171
1172      if (!ok) {
1173        box.innerHTML = placeholder;
1174        box.removeAttribute("data-webcam-loaded");
1175        return;
1176      }
1177
1178      if (box.getAttribute("data-webcam-loaded") === "1") return;
1179
1180      var src = box.getAttribute("data-webcam-src");
1181      var alt = box.getAttribute("data-alt") || "Webcam";
1182      var type = box.getAttribute("data-type") || "img";
1183      var height = box.getAttribute("data-height") || "800";
1184
1185      if (!src) return;
1186
1187      if (type === "iframe") {
1188        box.innerHTML =
1189          '<iframe src="' + src + '" ' +
1190          'width="100%" ' +
1191          'height="' + height + '" ' +
1192          'frameborder="0" ' +
1193          'scrolling="auto" ' +
1194          'allowfullscreen></iframe>';
1195      } else {
1196        box.innerHTML = '<img src="' + src + '" alt="' + alt + '" loading="lazy">';
1197      }
1198
1199      box.setAttribute("data-webcam-loaded", "1");
1200    });
1201  }
1202  // Webcam Lightbox Links blockieren wenn keine Zustimmung
1203  document.addEventListener("click", function(e){
1204
1205    var a = e.target.closest("a.dsgvo-webcam-link");
1206    if (!a) return;
1207
1208    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1209
1210    if (ok) return;
1211
1212    e.preventDefault();
1213    e.stopPropagation();
1214    e.stopImmediatePropagation();
1215
1216          alert("Please allow “External content” to open the webcam.");
1217    
1218    document.dispatchEvent(new CustomEvent("cookie:open"));
1219
1220    return false;
1221
1222  }, true);
1223
1224  // Livestream: ein-/ausblenden ohne Reload (wenn du .dsgvo-livestream verwendest)
1225  function ensureLivestreamState() {
1226
1227    var boxes = document.querySelectorAll(".dsgvo-livestream");
1228    if (!boxes.length) return;
1229
1230    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1231
1232    boxes.forEach(function(box, index){
1233
1234      var placeholder = box.getAttribute("data-placeholder") || "";
1235
1236      if (!ok) {
1237        box.innerHTML = placeholder;
1238        box.removeAttribute("data-livestream-loaded");
1239        return;
1240      }
1241
1242      if (box.getAttribute("data-livestream-loaded") === "1") return;
1243
1244      var streamUrl = box.getAttribute("data-stream-url");
1245      if (!streamUrl) return;
1246
1247      var videoId = "stream-" + index;
1248
1249      box.innerHTML =
1250        '<div class="player-wrapper">' +
1251          '<video id="' + videoId + '" class="video-js" controls muted></video>' +
1252        '</div>' +
1253        '<br><br>';
1254
1255      function startStream() {
1256        var stream = document.getElementById(videoId);
1257        if (!stream || typeof OvenPlayer === "undefined") return;
1258
1259        var player = OvenPlayer.create(videoId, {
1260          autoStart: true,
1261          autoFallback: true,
1262          mute: true,
1263          title: "",
1264          sources: [
1265            {
1266              label: "stream",
1267              type: "webrtc",
1268              file: streamUrl
1269            }
1270          ]
1271        });
1272
1273        player.on("stateChanged", function(e) {
1274          if (e.newstate === "error") {
1275            setTimeout(function() {
1276              player.remove();
1277              startStream();
1278            }, 2500);
1279          }
1280        });
1281      }
1282
1283      if (typeof OvenPlayer !== "undefined") {
1284        startStream();
1285        box.setAttribute("data-livestream-loaded", "1");
1286        return;
1287      }
1288
1289      var script = document.createElement("script");
1290      script.src = "https://cdn.jsdelivr.net/npm/ovenplayer/dist/ovenplayer.js";
1291      script.setAttribute("data-livestream-ovenplayer", "1");
1292
1293      script.onload = function() {
1294        startStream();
1295        box.setAttribute("data-livestream-loaded", "1");
1296      };
1297
1298      document.body.appendChild(script);
1299    });
1300  }
1301  // Angeld Gastropool Script: ein-/ausblenden ohne Reload (wenn du .dsgvo-weather verwendest)
1302  function ensureAngeldState() {
1303
1304    var boxes = document.querySelectorAll(".dsgvo-angeld");
1305    if (!boxes.length) return;
1306
1307    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1308
1309    boxes.forEach(function(box){
1310
1311      var placeholder = box.getAttribute("data-placeholder") || "";
1312
1313      // Cookies nicht erlaubt
1314      if (!ok) {
1315
1316        box.innerHTML = placeholder;
1317        box.removeAttribute("data-angeld-loaded");
1318
1319        var oldScript = document.querySelector('script[data-angeld-widget="1"]');
1320        if (oldScript) oldScript.remove();
1321
1322        return;
1323      }
1324
1325      // Bereits geladen
1326      if (box.getAttribute("data-angeld-loaded") === "1") return;
1327
1328      var token = box.getAttribute("data-angeld-token");
1329      var lang = box.getAttribute("data-lang") || "de";
1330
1331      if (!token) return;
1332
1333      // Widget Container
1334      box.innerHTML = '<div id="hgPaymentWidget"></div>';
1335
1336      // Altes Script entfernen
1337      var old = document.querySelector('script[data-angeld-widget="1"]');
1338      if (old) old.remove();
1339
1340      // Neues Script laden
1341      var script = document.createElement("script");
1342      script.src = "https://secure.gastropool.it/rxwidgets/payment/script/" + lang + "?" + token;
1343      script.defer = true;
1344      script.async = true;
1345      script.type = "text/javascript";
1346      script.setAttribute("data-angeld-widget", "1");
1347
1348      document.body.appendChild(script);
1349
1350      box.setAttribute("data-angeld-loaded", "1");
1351    });
1352  }
1353
1354  // Karrierre Südtirol + Onboard Job Widget: ein-/ausblenden ohne Reload (wenn du .dsgvo-jobs verwendest)
1355  function ensureJobsState() {
1356
1357    var boxes = document.querySelectorAll(".dsgvo-jobs");
1358    if (!boxes.length) return;
1359
1360    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1361
1362    boxes.forEach(function(box, index){
1363
1364      var placeholder = box.getAttribute("data-placeholder") || "";
1365
1366      if (!ok) {
1367        box.innerHTML = placeholder;
1368        box.removeAttribute("data-jobs-loaded");
1369        return;
1370      }
1371
1372      if (box.getAttribute("data-jobs-loaded") === "1") return;
1373
1374      var type = box.getAttribute("data-jobs-type") || "karriere-suedtirol";
1375
1376      // =====================
1377      // KARRIERE SUEDTIROL
1378      // =====================
1379
1380      if (type === "karriere-suedtirol") {
1381
1382        var src = box.getAttribute("data-jobs-src");
1383        var height = box.getAttribute("data-height") || "500";
1384
1385        if (!src) return;
1386
1387        box.innerHTML =
1388          '<iframe name="Jobs" width="100%" height="' + height + '" src="' + src + '" scrolling="no" marginwidth="0" marginheight="0" style="border:none;"></iframe>';
1389
1390        box.setAttribute("data-jobs-loaded", "1");
1391
1392        return;
1393      }
1394
1395      // =====================
1396      // ONBOARD
1397      // =====================
1398
1399      if (type === "onboard") {
1400
1401        var lang = box.getAttribute("data-lang") || "en";
1402        var company = box.getAttribute("data-onboard-company");
1403
1404        if (!company) return;
1405
1406        var iframeId = "ob-iframe-" + index;
1407
1408        box.innerHTML =
1409          '<iframe class="ob-iframe" ' +
1410          'id="' + iframeId + '" ' +
1411          'src="https://' + company + '.onboard.org/' + lang + '/career" ' +
1412          'scrolling="no" ' +
1413          'width="100%" ' +
1414          'frameborder="0"></iframe>';
1415
1416        if (!document.querySelector('script[data-onboard-jobs="1"]')) {
1417
1418          var script = document.createElement("script");
1419          script.src = "https://cdn1.onboard.org/assets/career-external.js";
1420          script.type = "text/javascript";
1421          script.setAttribute("data-onboard-jobs", "1");
1422
1423          document.body.appendChild(script);
1424        }
1425
1426        box.setAttribute("data-jobs-loaded", "1");
1427
1428        return;
1429      }
1430
1431    });
1432  }
1433
1434  // Yumpu: ein-/ausblenden ohne Reload (wenn du .dsgvo-yumpu verwendest)
1435  function ensureYumpuState() {
1436
1437    var boxes = document.querySelectorAll(".dsgvo-yumpu");
1438    if (!boxes.length) return;
1439
1440    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1441
1442    boxes.forEach(function(box, index){
1443
1444      var placeholder = box.getAttribute("data-placeholder") || "";
1445
1446      if (!ok) {
1447        box.innerHTML = placeholder;
1448        box.removeAttribute("data-yumpu-loaded");
1449        return;
1450      }
1451
1452      if (box.getAttribute("data-yumpu-loaded") === "1") return;
1453
1454      var src = box.getAttribute("data-yumpu-src");
1455      var title = box.getAttribute("data-yumpu-title") || "";
1456      var link = box.getAttribute("data-yumpu-link") || "#";
1457      var height = box.getAttribute("data-height") || "369";
1458
1459      if (!src) return;
1460
1461      box.innerHTML =
1462        '<div style="position:relative;overflow:hidden;height:' + height + 'px;max-width:100%;">' +
1463          '<iframe style="position:absolute;top:0;left:0;width:100%;height:100%;" ' +
1464          'src="' + src + '" ' +
1465          'frameborder="0" ' +
1466          'allowfullscreen="true" ' +
1467          'allowtransparency="true"></iframe>' +
1468        '</div>' +
1469        '<br>' +
1470        '<a href="' + link + '" target="_blank" rel="noopener">' + title + '</a>';
1471
1472      box.setAttribute("data-yumpu-loaded", "1");
1473    });
1474  }
1475  // Landbot Chat: ein-/ausblenden ohne Reload (wenn du .dsgvo-landbot verwendest)
1476  function ensureLandbotState() {
1477
1478    var boxes = document.querySelectorAll(".dsgvo-landbot");
1479    if (!boxes.length) return;
1480
1481    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1482
1483    boxes.forEach(function(box){
1484
1485      var placeholder = box.getAttribute("data-placeholder") || "";
1486
1487      if (!ok) {
1488        box.innerHTML = placeholder;
1489        box.removeAttribute("data-landbot-loaded");
1490        return;
1491      }
1492
1493      if (box.getAttribute("data-landbot-loaded") === "1") return;
1494
1495      var configUrl = box.getAttribute("data-landbot-config");
1496      if (!configUrl) return;
1497
1498      function initLandbot() {
1499        if (window.__landbot_loaded) return;
1500
1501        window.__landbot_loaded = true;
1502
1503        var s = document.createElement("script");
1504        s.type = "module";
1505        s.async = true;
1506
1507        s.addEventListener("load", function() {
1508          window.__landbot_instance = new Landbot.Livechat({
1509            configUrl: configUrl
1510          });
1511        });
1512
1513        s.src = "https://cdn.landbot.io/landbot-3/landbot-3.0.0.mjs";
1514
1515        var x = document.getElementsByTagName("script")[0];
1516        x.parentNode.insertBefore(s, x);
1517      }
1518
1519      window.addEventListener("mouseover", initLandbot, { once: true });
1520      window.addEventListener("touchstart", initLandbot, { once: true });
1521
1522      box.innerHTML = "";
1523      box.setAttribute("data-landbot-loaded", "1");
1524    });
1525  }
1526  // Roter Hahn Bewertungs Script: ein-/ausblenden ohne Reload (wenn du .dsgvo-weather verwendest)
1527  function ensureRoterHahnState() {
1528
1529    var boxes = document.querySelectorAll(".dsgvo-roterhahn");
1530    if (!boxes.length) return;
1531
1532    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1533
1534    boxes.forEach(function(box, index){
1535
1536      var placeholder = box.getAttribute("data-placeholder") || "";
1537
1538      if (!ok) {
1539        box.innerHTML = placeholder;
1540        box.removeAttribute("data-roterhahn-loaded");
1541        return;
1542      }
1543
1544      if (box.getAttribute("data-roterhahn-loaded") === "1") return;
1545
1546      var type = box.getAttribute("data-roterhahn-type") || "roterhahn";
1547
1548      // =====================
1549      // ROTER HAHN
1550      // =====================
1551
1552      if (type === "roterhahn") {
1553
1554        var widgetSrc = box.getAttribute("data-roterhahn-widget");
1555        if (!widgetSrc) return;
1556
1557        box.innerHTML = '<div id="rhWidget2"></div>';
1558
1559        var oldInit = document.querySelector('script[data-roterhahn-init="1"]');
1560        if (oldInit) oldInit.remove();
1561
1562        var oldWidget = document.querySelector('script[data-roterhahn-widget="1"]');
1563        if (oldWidget) oldWidget.remove();
1564
1565        var initScript = document.createElement("script");
1566        initScript.src = "https://www.roterhahn.it/js/widgets/hofbewertungen/init.js";
1567        initScript.async = false;
1568        initScript.setAttribute("data-roterhahn-init", "1");
1569
1570        initScript.onload = function () {
1571
1572          var widgetScript = document.createElement("script");
1573          widgetScript.src = widgetSrc;
1574          widgetScript.async = false;
1575          widgetScript.setAttribute("data-roterhahn-widget", "1");
1576
1577          document.body.appendChild(widgetScript);
1578        };
1579
1580        document.body.appendChild(initScript);
1581
1582        box.setAttribute("data-roterhahn-loaded", "1");
1583
1584        return;
1585      }
1586
1587      // =====================
1588      // HOLIDAYCHECK
1589      // =====================
1590
1591      if (type === "holidaycheck") {
1592
1593        var code = box.getAttribute("data-holidaycheck-code");
1594        var hotel = box.getAttribute("data-holidaycheck-hotel");
1595        var hotelUrl = box.getAttribute("data-holidaycheck-url") || "https://www.holidaycheck.de";
1596
1597        if (!code || !hotel) return;
1598
1599        box.innerHTML =
1600          '<div id="holidaycheck-widget-' + code + '">' +
1601            '<div id="holidaycheck_widget_placeholder-' + hotel + '" style="width:120px;padding:5px;background:#0058a2;">' +
1602              '<a href="' + hotelUrl + '">' +
1603                '<img alt="Hotels mit Hotelbewertungen bei HolidayCheck" src="https://www.holidaycheck.de/widgets/logo_xlarge.png" border="0">' +
1604              '</a>' +
1605            '</div>' +
1606          '</div>';
1607
1608        var old = document.querySelector('script[data-holidaycheck-widget="1"]');
1609        if (old) old.remove();
1610
1611        var script = document.createElement("script");
1612        script.src = "https://www.holidaycheck.de/widgets?step=code&type=code&options=" + code;
1613        script.type = "text/javascript";
1614        script.setAttribute("data-holidaycheck-widget", "1");
1615
1616        document.body.appendChild(script);
1617
1618        box.setAttribute("data-roterhahn-loaded", "1");
1619
1620        return;
1621      }
1622
1623    });
1624  }
1625  // LTS Events Script: ein-/ausblenden ohne Reload (wenn du .dsgvo-weather verwendest)
1626  function ensureEventsState() {
1627
1628    var boxes = document.querySelectorAll(".dsgvo-events");
1629    if (!boxes.length) return;
1630
1631    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1632
1633    boxes.forEach(function(box){
1634
1635      var placeholder = box.getAttribute("data-placeholder") || "";
1636
1637      if (!ok) {
1638        box.innerHTML = placeholder;
1639        box.removeAttribute("data-events-loaded");
1640        return;
1641      }
1642
1643      if (box.getAttribute("data-events-loaded") === "1") return;
1644
1645      var src = box.getAttribute("data-events-src");
1646      if (!src) return;
1647
1648      box.innerHTML = '<div id="lts-eventfinder">Loading...</div>';
1649
1650      var old = document.querySelector('script[data-events-widget="1"]');
1651      if (old) old.remove();
1652
1653      var script = document.createElement("script");
1654      script.src = src;
1655      script.async = false;
1656      script.setAttribute("data-events-widget", "1");
1657
1658      document.body.appendChild(script);
1659
1660      box.setAttribute("data-events-loaded", "1");
1661    });
1662  }
1663
1664  // Virtual Tour Iframe: ein-/ausblenden ohne Reload (wenn du .dsgvo-virtualtour verwendest)
1665  function ensureVirtualtourState() {
1666
1667      var boxes = document.querySelectorAll(".dsgvo-virtualtour");
1668      if (!boxes.length) return;
1669
1670      var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1671
1672      boxes.forEach(function(box){
1673
1674        var placeholder = box.getAttribute("data-placeholder") || "";
1675
1676        if (!ok) {
1677          box.innerHTML = placeholder;
1678          box.removeAttribute("data-virtualtour-loaded");
1679          return;
1680        }
1681
1682        if (box.getAttribute("data-virtualtour-loaded") === "1") return;
1683
1684        var url = box.getAttribute("data-url");
1685        if (!url) return;
1686
1687        var width = box.getAttribute("data-width") || "100%";
1688        var height = box.getAttribute("data-height") || "800";
1689
1690        box.innerHTML =
1691          '<iframe loading="lazy" src="' + url + '" frameborder="0" allowfullscreen style="width:' + width + ';height:' + height + 'px;;"></iframe>';
1692
1693        box.setAttribute("data-virtualtour-loaded", "1");
1694      });
1695  }
1696
1697  // Google Calendar: ein-/ausblenden ohne Reload (wenn du .dsgvo-calendar verwendest)
1698  function ensureCalendarState() {
1699    var boxes = document.querySelectorAll(".dsgvo-calendar");
1700    if (!boxes.length) return;
1701
1702    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1703
1704    boxes.forEach(function(box) {
1705      var placeholder = box.getAttribute("data-placeholder") || "";
1706
1707      if (!ok) {
1708        box.innerHTML = placeholder;
1709        box.removeAttribute("data-calendar-loaded");
1710        return;
1711      }
1712
1713      if (box.getAttribute("data-calendar-loaded") === "1") return;
1714
1715      var src = box.getAttribute("data-calendar-src");
1716      var height = box.getAttribute("data-height") || "600";
1717
1718      if (!src) return;
1719
1720      box.innerHTML =
1721        '<iframe src="' + src + '" ' +
1722        'style="border:0" ' +
1723        'width="100%" ' +
1724        'height="' + height + '" ' +
1725        'frameborder="0" ' +
1726        'scrolling="no"></iframe>';
1727
1728      box.setAttribute("data-calendar-loaded", "1");
1729    });
1730  }
1731
1732  // Wanderungen: ein-/ausblenden ohne Reload (wenn du .dsgvo-wanderungen verwendest)
1733  function ensureWanderungenState() {
1734    var outdoorBoxes = document.querySelectorAll(".dsgvo-wanderungen");
1735    var mapBoxes = document.querySelectorAll(".dsgvo-wanderungen-map");
1736
1737    if (!outdoorBoxes.length && !mapBoxes.length) return;
1738
1739    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1740
1741    outdoorBoxes.forEach(function (box, index) {
1742      var placeholder = box.getAttribute("data-placeholder") || "";
1743
1744      if (!ok) {
1745        box.innerHTML = placeholder;
1746        box.removeAttribute("data-wanderungen-loaded");
1747        return;
1748      }
1749
1750      if (box.getAttribute("data-wanderungen-loaded") === "1") return;
1751
1752      var src = box.getAttribute("data-wanderungen-src");
1753      if (!src) return;
1754
1755      box.innerHTML = "";
1756
1757      var script = document.createElement("script");
1758      script.type = "text/javascript";
1759      script.src = src;
1760      script.async = false;
1761      script.setAttribute("data-wanderungen", index);
1762
1763      box.appendChild(script);
1764
1765      box.setAttribute("data-wanderungen-loaded", "1");
1766    });
1767
1768    mapBoxes.forEach(function (box) {
1769      var placeholder = box.getAttribute("data-placeholder") || "";
1770
1771      if (!ok) {
1772        box.innerHTML = placeholder;
1773        box.removeAttribute("data-wanderungen-map-loaded");
1774        return;
1775      }
1776
1777      if (box.getAttribute("data-wanderungen-map-loaded") === "1") return;
1778
1779      var src = box.getAttribute("data-map-src");
1780      if (!src) return;
1781
1782      var iframe = document.createElement("iframe");
1783
1784      iframe.src = src;
1785      iframe.setAttribute("width", box.getAttribute("data-width") || "100%");
1786      iframe.setAttribute("height", box.getAttribute("data-height") || "900");
1787      iframe.setAttribute("frameborder", "0");
1788      iframe.setAttribute("loading", "lazy");
1789
1790      iframe.style.width = box.getAttribute("data-width") || "100%";
1791      iframe.style.height = (box.getAttribute("data-height") || "900") + "px";
1792      iframe.style.border = "0";
1793      iframe.style.display = "block";
1794
1795      box.innerHTML = "";
1796      box.appendChild(iframe);
1797
1798      box.setAttribute("data-wanderungen-map-loaded", "1");
1799    });
1800  }
1801
1802
1803  // YouTube IFRAME: ein-/ausblenden ohne Reload (wenn du .dsgvo-youtube verwendest)
1804  
1805  // Elfsight: ein-/ausblenden ohne Reload
1806      function ensureElfsightState() {
1807      var boxes = document.querySelectorAll(".dsgvo-elfsight");
1808      if (!boxes.length) return;
1809
1810      var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1811
1812      boxes.forEach(function (box) {
1813        var placeholder = box.getAttribute("data-placeholder") || "";
1814
1815        // Original Widget-Class merken (pro Box!)
1816        if (!box.dataset.elfClass) {
1817          var initEl = box.querySelector('[class*="elfsight-app-"]');
1818          if (initEl) box.dataset.elfClass = initEl.className;
1819        }
1820
1821        // OFF
1822        if (!ok) {
1823          box.innerHTML =
1824            '<div class="dsgvo-elfsight-placeholder" style="width:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;">' +
1825            placeholder +
1826            "</div>";
1827          return;
1828        }
1829
1830        // ON
1831        if (!box.querySelector('[class*="elfsight-app-"]')) {
1832          var cls = box.dataset.elfClass || "";
1833          if (cls) {
1834            box.innerHTML = '<div class="' + cls + '"></div>';
1835          }
1836        }
1837      });
1838
1839      // Script laden oder neu triggern
1840      var t = document.querySelector('script[data-cookiecategory="external"][data-src*="elfsight"]');
1841
1842      if (ok && t && !window.__elfsight_loaded) {
1843        window.__elfsight_loaded = true;
1844
1845        var s = document.createElement("script");
1846        s.src = t.getAttribute("data-src");
1847        s.defer = true;
1848
1849        Array.from(t.attributes).forEach(function (a) {
1850          if (a.name.startsWith("data-") && a.name !== "data-src" && a.name !== "data-cookiecategory") {
1851            s.setAttribute(a.name, a.value);
1852          }
1853        });
1854
1855        s.onload = function () {
1856          document.querySelectorAll('[class*="elfsight-app-"]').forEach(function (el) {
1857            el.outerHTML = el.outerHTML;
1858          });
1859        };
1860
1861        document.head.appendChild(s);
1862        t.remove();
1863        return;
1864      }
1865
1866      // Script schon da. Widgets neu anstoßen
1867      if (ok && window.__elfsight_loaded) {
1868        document.querySelectorAll('[class*="elfsight-app-"]').forEach(function (el) {
1869          el.outerHTML = el.outerHTML;
1870        });
1871      }
1872    }
1873
1874    // 1) Initial ausführen
1875    if (document.readyState === "loading") {
1876      document.addEventListener("DOMContentLoaded", ensureElfsightState);
1877    } else {
1878      ensureElfsightState();
1879    }
1880
1881    // 2) Consent Änderungen mitnehmen (je nach CookiePrefs Implementierung)
1882    // Falls dein Cookie Tool Events bietet, häng dich dran
1883    // (Diese Listener schaden nicht, wenn es sie nicht gibt)
1884    window.addEventListener("cookieprefs:change", ensureElfsightState);
1885    window.addEventListener("cookieprefs:update", ensureElfsightState);
1886    window.addEventListener("cookieprefs:consentchange", ensureElfsightState);
1887
1888    // 3) Fallback: Polling, damit "manuell deaktiviert" sicher greift
1889    // (leichtgewichtig: merkt sich den letzten Status)
1890    (function () {
1891      var last = null;
1892      setInterval(function () {
1893        var now = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1894        if (now !== last) {
1895          last = now;
1896          ensureElfsightState();
1897        }
1898      }, 800);
1899    })();
1900  
1901  document.addEventListener("DOMContentLoaded", function(){
1902    // Initialer State für Map & Elfsight & Youtube & Booking (falls Prefs existieren)
1903          ensureMapState();
1904              ensureElfsightState();
1905                                  ensureWeatherState();
1906                                                  });
1907  </script>
1907
1908
1909
1910
1911</head>
1912<body id="page-top" class="home">
1913
1914        <div class="top">
1915        
1916
1917    <nav class="navbar navbar-custom navbar-fixed-top" role="navigation">
1918             <div class="container">
1919                 <div class="row">
1920                         <a class="logo-scroll" href="/en"><img src="/user/themes/fichtenhof/images/logo-scroll.png" alt="Logo Fichtenhof"></a>
1921                         <div class="navbar-header">
1922                                 <a class="navbar-brand page-scroll" href="/en"><img src="/user/themes/fichtenhof/images/logo.png" alt="Logo Fichtenhof"></a>
1923                                 <img class="m1" alt="" src="/user/themes/fichtenhof/images/m1.png">
1924                         </div>
1925                         <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-main-collapse">
1926                                 <i class="fa fa-bars"></i>
1927                         </button>
1928                         <div class="collapse navbar-collapse navbar-left navbar-main-collapse">
1929                             <ul class="nav navbar-nav">
1930                                                               <li class="hotel dropdown">
1931                <a href="/en" class="page-scroll dropdown-toggle current">Fichtenhof</a>
1932
1933                                <ul class="dropdown-menu">
1934                                                                                    <li><a href="/en/home/faq">FAQ</a></li>
1935                                                    
1936
1937                </ul>
1938
1939                
1940            </li>
1941                                        <li class="hotel dropdown">
1942                <a href="/en/rooms" class="page-scroll dropdown-toggle ">Rooms</a>
1943
1944                                <ul class="dropdown-menu">
1945                                                                                    <li><a href="/en/rooms/rooms">Rooms</a></li>
1946                                                                                                                <li><a href="/en/rooms/offers">Offers</a></li>
1947                                                    
1948
1949                </ul>
1950
1951                
1952            </li>
1953                                        <li class="hotel dropdown">
1954                <a href="/en/enjoyment" class="page-scroll dropdown-toggle ">Restaurant</a>
1955
1956                                <ul class="dropdown-menu">
1957                                                                                    <li><a href="/en/enjoyment/restaurant">Restaurant</a></li>
1958                                                                                                                <li><a href="/en/enjoyment/wine-cellar">Wine List</a></li>
1959                                                                                                                <li><a href="/en/enjoyment/farming">Farming</a></li>
1960                                                                                                        
1961
1962                </ul>
1963
1964                
1965            </li>
1966                                        <li class="hotel dropdown">
1967                <a href="/en/surroundings" class="page-scroll dropdown-toggle ">Nature Experiences</a>
1968
1969                                <ul class="dropdown-menu">
1970                                                                                    <li><a href="/en/surroundings/holiday">Surroundings</a></li>
1971                                                                                                                <li><a href="/en/surroundings/forest-bathing">Forest Bathing</a></li>
1972                                                                                                                <li><a href="/en/surroundings/summer">Hiking</a></li>
1973                                                                                                                <li><a href="/en/surroundings/mountain-biking-and-cycling">Bike</a></li>
1974                                                                                                                <li><a href="/en/surroundings/via-ferrata">Via ferrata</a></li>
1975                                                                                                                <li><a href="/en/surroundings/salorno-cittaslow">Salorno Cittaslow</a></li>
1976                                                                                                        
1977
1978                </ul>
1979
1980                
1981            </li>
1982                                        <li>
1983                <a class="" href="/en/prices">Prices</a>
1984            </li>
1985                                        <li>
1986                <a class="" href="/en/contact">Contact</a>
1987            </li>
1988            
1989                             </ul>
1990                             <ul class="language-selector">
1991
1992        
1993
1994        
1995
1996                        
1997        <li class="external active"><a href="/en">En</a></li>
1998    
1999
2000                                                
2001        <li class="external"><a href="/de/">De</a></li>
2002    
2003
2004                                                
2005        <li class="external"><a href="/it/">It</a></li>
2006    
2007
2008        
2009</ul>                         </div>
2010                         <!-- /.navbar-collapse -->
2011                 </div>
2012             </div>
2013             <!-- /.container -->
2014         </nav>
2015    </div>
2016    
2017    <header class="intro">
2018
2019        <div id="Slideshow" class="carousel slide" data-ride="carousel">
2020
2021             <div class="carousel-inner">
2022                                                                
2023               <div class="item  active ">
2024                 <img src="/images/8/1/9/2/2/81922642a7f291722b4af95dddcb5720ebf73175-slider4.jpg" alt="Panoramic view from the Fichtenhof in Gfrill near Salorno" style="width:100%;">                 
2025               </div>
2026                                                                
2027               <div class="item ">
2028                 <img src="/images/0/7/1/b/a/071ba68949bd2de37be8b5cb0b4f02e1540f68df-img6793.jpg" alt="Panoramic view from the Fichtenhof in Gfrill near Salorno" style="width:100%;">                 
2029               </div>
2030                                                                
2031               <div class="item ">
2032                 <img src="/images/2/e/a/b/4/2eab4957ce400dcbcafa39d3ef5d9c1948894850-slide-1.jpg" alt="Panoramic view from the Fichtenhof in Gfrill near Salorno" style="width:100%;">                 
2033               </div>
2034                                                                
2035               <div class="item ">
2036                 <img src="/images/e/2/c/f/a/e2cfa099059541a437ce46865a900f6fe1839ca3-bike2.jpg" alt="Mountain biking in Gfrill Salorno" style="width:100%;">                 
2037               </div>
2038                                                                
2039               <div class="item ">
2040                 <img src="/images/7/8/d/6/6/78d66631909180449aebbd371cb9a3f330c2578f-jesus.jpg" alt="Hiking in Gfrill Salorno" style="width:100%;">                 
2041               </div>
2042                                                                
2043               <div class="item ">
2044                 <img src="/images/7/9/e/9/e/79e9ea678cd1665a0989f802246c5626e98a837c-slider1.jpg" alt="Restaurant Fichtenhof in Salorno" style="width:100%;">                 
2045               </div>
2046                                                                
2047               <div class="item ">
2048                 <img src="/images/5/6/0/8/5/560852d4374cb551e85aac8a2ee13788c9dfc408-slider3.jpg" alt="Rooms at the Fichtenhof in Salorno" style="width:100%;">                 
2049               </div>
2050               
2051             </div>
2052             <div class="controls">
2053                 <a class="left carousel-control" href="#Slideshow" data-sli
2053de="prev">
2054                   <span class="fa fa-chevron-left"></span>
2055                   <span class="sr-only">Previous</span>
2056                 </a>
2057                 <ol class="carousel-indicators">
2058                                                                                                      <li data-target="#Slideshow" data-slide-to="0"></li>
2059                                                                                                      <li data-target="#Slideshow" data-slide-to="1"></li>
2060                                                                                                      <li data-target="#Slideshow" data-slide-to="2"></li>
2061                                                                                                      <li data-target="#Slideshow" data-slide-to="3"></li>
2062                                                                                                      <li data-target="#Slideshow" data-slide-to="4"></li>
2063                                                                                                      <li data-target="#Slideshow" data-slide-to="5"></li>
2064                                                                                                      <li data-target="#Slideshow" data-slide-to="6"></li>
2065                                   </ol>
2066                 <a class="right carousel-control" href="#Slideshow" data-slide="next">
2067                   <span class="fa fa-chevron-right"></span>
2068                   <span class="sr-only">Next</span>
2069                 </a>
2070             </div>
2071             <div class="sl_bottom"></div>
2072        </div>
2073    </header>
2074    <!-- Hotel Section -->
2075  <section id="hotel">
2076      <div class="container content-section">
2077        <div class="row">
2078         <div class="col-md-6 col-sm-12 text-big">
2079               
2080
2081<div id="breadcrumbs" itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
2082                                            <span itemprop="title">Fichtenhof</span>
2083                        </div>
2084               <h1>Welcome</h1>
2085               <h2>to the Fichtenhof Guesthouse & Restaurant in Gfrill near Salurn</h2>
2086
2087              <p>The Fichtenhof restaurant in Gfrill near Salurn has developed steadily over the years thanks to the support of all family members. With the establishment of the Trudner Horn Nature Park in 1980, the area around Gfrill also became better known, contributing to the positive development of the business. The cuisine represents typical South Tyrolean dishes, homemade and prepared with regional ingredients. Guests enjoy their meals in a शांत location, surrounded by meadows and forests.</p>
2088<p>A strong connection to the region continues to shape the Fichtenhof to this day. The business consciously collaborates with local and environmentally responsible suppliers from South Tyrol. This regional focus forms the basis for the quality of the dishes and reflects a responsibility towards nature, animals, and sustainable agriculture.</p>
2089<p>We look forward to welcoming you.<br><br />
2090Ingrid, Uli &amp; Christian</p>
2091          </div>
2092
2093          <div class="col-md-6 col-sm-12">
2094                 <div class="col-md-6 col-sm-6 col-xs-12 mb20">
2095                         <h3>Rooms</h3>
2096                                                   <a href="/rooms"><img src="/images/d/f/b/b/e/dfbbe734b5c104d30d051473512b2df52508c061-camera-doto-home.jpg" alt=""></a>
2097                          
2098                 </div>
2099                 <div class="col-md-6 col-sm-6 col-xs-12 mb20">
2100                         <h3>Restaurant</h3>
2101                                                   <a href="/enjoyment/restaurant"><img src="/images/6/9/e/1/8/69e18b00a05de42c44172f9daa2ace9a6cda3e71-canederli-colore.png" alt=""></a>
2102                                           </div>
2103                 <div class="clearfix"></div>
2104                 <div class="col-md-6 col-sm-6 col-xs-12 mb20">
2105                         <h3>Wellness</h3>
2106                                                   <a href="/rooms#zimmer-info"><img src="/images/c/4/6/d/6/c46d63e1ecb2816d2c4ad0b78f5a807d584c4610-wellness.jpg" alt=""></a>
2107                                           </div>
2108                 <div class="col-md-6 col-sm-6 col-xs-12 mb20">
2109                         <h3>Südtirol Guest Pass</h3>
2110                                                   <a href="https://www.suedtirol.info/en/en/information/suedtirol-guest-pass" target="_blank"><img src="/images/f/a/3/0/d/fa30dbfc58dbc17309ed9ab32fe26a9c9f081b9f-sudtirol-pass-2025home287x162px.jpg" alt=""></a>
2111                                           </div>
2112                 <div class="clearfix"></div>
2113                 <div class="col-md-6 col-sm-6 col-xs-12 mb20">
2114                         <h3>Offers</h3>
2115                                                   <a href="/rooms/offers"><img src="/images/d/7/3/7/4/d7374805e182e02de1ef6aaaf4d08ce980f00bb6-topangebotede.jpg" alt=""></a>
2116                                           </div>
2117                 <div class="col-md-6 col-sm-6 col-xs-12 mb20">
2118                         <h3>Surroundings</h3>
2119                                                   <a href="/surroundings/holiday" target="_blank"><img src="/images/4/9/6/f/3/496f3df02aae5b74eb7a7665697e2fcb91cbbb60-slider4.jpg" alt=""></a>
2120                                           </div>
2121
2122          </div>
2123        </div>
2124      </div>
2125      <img src="/user/pages/01.home/background.jpg" alt="" class="back_img">
2126      <div class="container content-section hotel-slider">
2127        <div class="row">
2128            <div class="col-md-6 col-sm-12">
2129                  <p class="nr"></p>
2130                  <h3>Regional Products</h3>
2131                  <div class="theme-carousel1">
2132                                                          <div>
2133                                         <a href="/user/pages/01.home/foradori_1.png" data-lightbox="set" data-title="">
2134                                                 <img src="/images/c/d/b/b/1/cdbb14700ff44693256d076ea0ce1da7a0430668-foradori1.png" alt="Fresh vegetables from the Talhof in Gfrill">
2135                                         </a>
2136                                 </div>
2137                                                          <div>
2138                                         <a href="/user/pages/01.home/prodotti_lolle_5.png" data-lightbox="set" data-title="">
2139                                                 <img src="/images/e/8/4/a/e/e84ae4c96fb4f429352c872bfc3f90657dcc1a8b-prodottilolle5.png" alt="Regional products at the Fichtenhof">
2140                                         </a>
2141                                 </div>
2142                                                          <div>
2143                                         <a href="/user/pages/01.home/foradori_4.png" data-lightbox="set" data-title="">
2144                                                 <img src="/images/b/a/f/e/8/bafe888c0532c3e505ea154d4dd3b001726fec8a-foradori4.png" alt="Fresh cheese from the local organic farm">
2145                                         </a>
2146                                 </div>
2147                                                          <div>
2148                                         <a href="/user/pages/01.home/prodotti_lolle_1.png" data-lightbox="set" data-title="">
2149                                                 <img src="/images/f/3/d/c/6/f3dc642e7ece408e387d963fa17a690ebed16c0c-prodottilolle1.png" alt="Fresh vegetables from the Talhof in Gfrill">
2150                                         </a>
2151                                 </div>
2152                                                          <div>
2153                                         <a href="/user/pages/01.home/foradori_2.png" data-lightbox="set" data-title="">
2154                                                 <img src="/images/6/b/5/2/3/6b523803af33db93ac3015bf2396731ebcb94963-foradori2.png" alt="Local products from the Talhof in Gfrill">
2155                                         </a>
2156                                 </div>
2157                                                          <div>
2158                                         <a href="/user/pages/01.home/prodotti_lolle_3.png" data-lightbox="set" data-title="">
2159                                                 <img src="/images/9/3/4/6/1/934611dee435674aed3d6395adb5e361a7bb5de9-prodottilolle3.png" alt="Pumpkin from the organic farm">
2160                                         </a>
2161                                 </div>
2162                                                          <div>
2163                                         <a href="/user/pages/01.home/foradori_5.jpg" data-lightbox="set" data-title="">
2164                                                 <img src="/images/1/7/b/1/a/17b1a6e9892ec4ae704b25a0128cf8a163cde304-foradori5.jpg" alt="Wines from the area">
2165                                         </a>
2166                                 </div>
2167                                                          <div>
2168                                         <a href="/user/pages/01.home/foradori_3.png" data-lightbox="set" data-title="">
2169                                                 <img src="/images/e/8/2/5/1/e825195d6c6fbbcd837448fbc2bf28f987fa27d1-foradori3.png" alt="Local products from the Talhof in Gfrill">
2170                                         </a>
2171                                 </div>
2172                                                          <div>
2173                                         <a href="/user/pages/01.home/prodotti_lolle_4.png" data-lightbox="set" data-title="">
2174                                                 <img src="/images/0/0/f/8/8/00f88dc1030be4fd19aaca29de8c4bca1eab73be-prodottilolle4.png" alt="Local products from the Talhof in Gfrill">
2175                                         </a>
2176                                 </div>
2177                                           </div>
2178                  <div class="text-center">
2179                         <span class="fa fa-chevron-left th-prev"></span>
2180                         <div class="th-dots"></div>
2181                         <span class="fa fa-chevron-right th-next"></span>
2182                  </div>
2183            </div>
2184            <div class="col-md-6 col-sm-12">
2185                  <p class="nr"></p>
2186                  <h3>Active on Holiday</h3>
2187                  <div class="theme-carousel2">
2188                                                          <div>
2189                                         <a href="/user/pages/01.home/IMG_4358_web.jpg" data-lightbox="set" data-title="">
2190                                                 <img src="/images/f/1/0/0/0/f10003ac7eaedb4e6ea9f9c3174f9760f9ed4c66-img4358web.jpg" alt="Panoramic view from the Fichtenhof">
2191                                         </a>
2192                                 </div>
2193                                                          <div>
2194                                         <a href="/images/d/4/b/4/1/d4b41accb6ccd075e508827be57238348767e7f8-bike2.jpg" data-lightbox="set" data-title="">
2195                                                 <img src="/images/9/d/4/6/0/9d460d46d3f733dab0123a09e0c8be5c771446ff-bike2.jpg" alt="Cycling in Salorno and South Tyrol">
2196                                         </a>
2197                                 </div>
2198                                                          <div>
2199                                         <a href="/user/pages/01.home/castello_1.jpg" data-lightbox="set" data-title="">
2200                                                 <img src="/images/9/2/e/f/9/92ef90339ae73010ef2ebb4f9d40efb83428c49c-castello1.jpg" alt="Salorno on the Wine Road">
2201                                         </a>
2202                                 </div>
2203                                                          <div>
2204                                         <a href="/user/pages/01.home/bike_1.jpg" data-lightbox="set" data-title="">
2205                                                 <img src="/images/4/f/5/4/d/4f54de763276bf6ba3b0542986b4a7a364dbc5a
2205a-bike1.jpg" alt="Mountain biking in Salorno on the Wine Road">
2206                                         </a>
2207                                 </div>
2208                                                          <div>
2209                                         <a href="/user/pages/01.home/bosco.png" data-lightbox="set" data-title="">
2210                                                 <img src="/images/0/4/c/6/3/04c639c0d601341e91ae49c256b87483b6707d6b-bosco.png" alt="Nature in Gfrill near Salorno">
2211                                         </a>
2212                                 </div>
2213                                                          <div>
2214                                         <a href="/user/pages/01.home/IMG_6787.jpg" data-lightbox="set" data-title="">
2215                                                 <img src="/images/5/9/9/4/c/5994cb53b81081f30f703ccea2be0b700dacf649-img6787.jpg" alt="Lago Santo, Gfrill - Salorno">
2216                                         </a>
2217                                 </div>
2218                                                          <div>
2219                                         <a href="/user/pages/01.home/dreifichtenhof.jpg" data-lightbox="set" data-title="">
2220                                                 <img src="/images/9/e/7/4/3/9e7430e190d413d191b68896f91e20ac0d929b57-dreifichtenhof.jpg" alt="View from the Fichtenhof in Gfrill">
2221                                         </a>
2222                                 </div>
2223                                                          <div>
2224                                         <a href="/user/pages/01.home/e5099bd6-0ef6-41df-90bd-e37144f72610.jpg" data-lightbox="set" data-title="">
2225                                                 <img src="/images/0/9/7/7/e/0977e6d04f7d43af65146c510883ea97f0fdaa6b-e5099bd6-0ef6-41df-90bd-e37144f72610.jpg" alt="Panoramic view of the Adige Valley in South Tyrol">
2226                                         </a>
2227                                 </div>
2228                                           </div>
2229                  <div class="text-center">
2230                         <span class="fa fa-chevron-left th2-prev"></span>
2231                         <div class="th2-dots"></div>
2232                         <span class="fa fa-chevron-right th2-next"></span>
2233                  </div>
2234            </div>
2235        </div>
2236      </div>
2237  </section>
2238    <!-- Sommer Section -->
2239    <section id="sommer">
2240         <div class="so-top"></div>
2241         <div class="so-bottom"></div>
2242         <div class="sommer-slider">
2243                                       <div class="sommer-item" style="background-image: url(/user/pages/04.umgebung/02.forest-bathing/AdobeStock_417314716_forest_bathing.jpg);">
2244                         <div class="container">
2245                          <p class="nr"></p>                          <h3>Nature Experiences</h3>
2246                         <h4>Forest Bathing</h4>
2247                         <p>A walk in the forests around Gfrill near Salurn has proven benefits. Studies show that forest air is rich in bioactive substances such as terpenes. Inhaling these compounds can strengthen the immune system, lower blood pressure, and improve overall well-being. The practice known as “forest bathing,” or “Shinrin Yoku,” makes targeted use of these natural effects through conscious breathing, slow walking, and mindful awareness of the surroundings.
2248Especially in the peaceful setting of the Trudner Horn Nature Park...</p>
2249                         <a href="/en/surroundings/forest-bathing" class="btn btn-green">Next</a>
2250                         <div class="stitle">Forest Bathing</div>
2251                         </div>
2252                      </div>
2253                                       <div class="sommer-item" style="background-image: url(/user/pages/04.umgebung/04.mountainbiken-and-radfahren/AdobeStock_332449730_bike.jpg);">
2254                         <div class="container">
2255                          <p class="nr"></p>                          <h3>Nature Experiences</h3>
2256                         <h4>Bike</h4>
2257                         <p>South Tyrol is an ideal region for mountain biking and cycling tours. Aroun
2257d the Fichtenhof in Gfrill near Salurn, there are numerous options – from easy routes along cycle paths to more demanding off-road tours. Whether on narrow trails with scenic views or on quiet forest roads, the focus is on being active in nature and enjoying the varied landscape.
2258
2259Thanks to the mild climate, mountain biking in South Tyrol is possible from spring until late autumn. Many routes run far from traffic and offer peace, fresh mountain air, and an immersive nature experience. There are often stretches where you ride completely alone and can experience the surroundings more consciously...</p>
2260                         <a href="/en/surroundings/mountain-biking-and-cycling" class="btn btn-green">Next</a>
2261                         <div class="stitle">Bike</div>
2262                         </div>
2263                      </div>
2264                                       <div class="sommer-item" style="background-image: url(/user/pages/04.umgebung/05.klettersteig-kletter/AdobeStock_10564755_ferrate.jpg);">
2265                         <div class="container">
2266                          <p class="nr"></p>                          <h3>Nature Experiences</h3>
2267                         <h4>Via ferrata</h4>
2268                         <p>Via ferrata climbing is becoming increasingly popular as a leisure activity in the Alps. Compared to traditional alpine climbing, many via ferrata routes are technically less demanding and, depending on their difficulty, can also be tackled independently by experienced hikers.
2269
2270The Fichtenhof in Gfrill near Salurn is an ideal starting point to reach well-known via ferrata routes in Arco and Riva del Garda within about an hour. These routes are well marked and secured, offering impressive views of the surrounding mountain landscape...</p>
2271                         <a href="/en/surroundings/via-ferrata" class="btn btn-green">Next</a>
2272                         <div class="stitle">Via ferrata</div>
2273                         </div>
2274                      </div>
2275                                       <div class="sommer-item" style="background-image: url(/user/pages/04.umgebung/01.urlaub/AdobeStock_472179793_Editorial_Use_Only_muse.jpg);">
2276                         <div class="container">
2277                          <p class="nr"></p>                          <h3>Nature Experiences</h3>
2278                         <h4>Culture</h4>
2279                         <p>The many castles, fortresses, and historic manor houses in South Tyrol are striking, often built high on rocky outcrops and visible from afar. Many of these structures are up to 900 years old and reflect the region’s eventful history between north and south. In total, there are around 800 castles in South Tyrol, which once served defensive purposes, functioned as noble residences, or fulfilled representative roles. Especially in the 11th and 12th centuries, many of these buildings were constructed to secure important trade routes. Today, numerous castles have been restored and can be visited as museums, hotels, or excursion destinations.
2280Churches, chapels, and monasteries also shape the...</p>
2281                         <a href="/en/surroundings/holiday" class="btn btn-green">Next</a>
2282                         <div class="stitle">Surroundings</div>
2283                         </div>
2284                      </div>
2285                                       <div class="sommer-item" style="background-image: url(/user/pages/04.umgebung/03.sommer/AdobeStock_224194210_trekking.jpg);">
2286                         <div class="container">
2287                          <p class="nr"></p>                          <h3>Nature Experiences</h3>
2288                         <h4>Hiking</h4>
2289                         <p>The Fichtenhof in Gfrill near Salurn is the ideal starting point for numerous leisure activities in South Tyrol. Right outside the door, hiking trails, forest roads, and paths begin, leading to a variety of tours in the surrounding area. Whether heading to Hornalm, Heiligen See, Königswiese, or Sauchsattel, you can discover new destinations every day or simply enjoy the clear mountain air.
2290
2291Located in the heart of the Trudner Horn Nature Park, nature lovers will find excellent conditions. Covering an area of 6,660 hectares, the park features a diverse landscape of larch meadows, moorlands, forests, ponds, and rock formations. The area stretches from the Adige Valley floor at 224 meters up to the Weißhorn at 2,317 meters and has been protected since 1981. In the immediate surroundings, there are also many other attractive excursion destinations...</p>
2292                         <a href="/en/surroundings/summer" class="btn btn-green">Next</a>
2293                         <div class="stitle">Hiking</div>
2294                         </div>
2295                      </div>
2296                                       <div class="sommer-item" style="background-image: url(/user/pages/04.umgebung/veranstaltungen/AdobeStock_239638888_krampus.jpg);">
2297                         <div class="container">
2298                          <p class="nr"></p>                          <h3>Nature Experiences</h3>
2299                         <h4>Events</h4>
2300                         <p>The South Tyrolean Wine Road runs through a gentle hilly landscape and 16 villages, passing wineries, castles, palaces and historic manor houses. The picturesque area between Nals and Salorno has long been shaped by vineyards. As early as 2,500 years ago, the Rhaetians cultivated vines here.
2301Today, more than 4,000 hectares of vineyards are cultivated along the South Tyrolean Wine Road, which is the oldest wine road in Italy. Numerous international grape varieties thrive in the Mediterranean climate and are turned into wines of world-class quality. The native grape varieties Vernatsch and Lagrein, as well as the local Gewürztraminer, feel particularly at home here.
2302The mild temperatures from March until late autumn also offer ideal conditions for gentle hiking or…</p>
2303                         <a href="/en/surroundings/events" class="btn btn-green">Next</a>
2304                         <div class="stitle">Events</div>
2305                         </div>
2306                      </div>
2307                                       <div class="sommer-item" style="background-image: url(/user/pages/04.umgebung/06.salurn-cittaslow/AdobeStock_17229787_video.jpg);">
2308                         <div class="container">
2309                          <p class="nr"></p>                          <h3>Nature Experiences</h3>
2310                         <h4>Salorno Cittaslow</h4>
2311                         <p>In October 2015, Salurn became part of the international Cittaslow network. The municipality stands for quality of life, regional identity, and a conscious way of living. Salurn is shaped by its unique location among vineyards, the terraced landscape up to Buchholz, the South Tyrolean Wine Road, and the trail network of the Trudner Horn Nature Park.
2312
2313The surrounding landscape also has a lot to offer: a striking waterfall, biotopes, the Adige River, and the Haderburg castle towering above the village...</p>
2314                         <a href="/en/surroundings/salorno-cittaslow" class="btn btn-green">Next</a>
2315                         <div class="stitle">Salorno Cittaslow</div>
2316                         </div>
2317                      </div>
2318                          </div>
2319         <div class="controls">
2320                 <div class="container">
2321                                 <span class="fa fa-chevron-left so-prev"></span>
2322                                 <div class="so-dots"></div>
2323                                 <span class="fa fa-chevron-right so-next"></span>
2324                 </div>
2325         </div>
2326    </section>
2327    <section id="instagram" class="clearfix">
2328  <div class="container content-section">
2329    <div class="row">
2330     <div class="col-md-12 col-sm-12">
2331       
2331<script src="https://apps.elfsight.com/p/platform.js" defer></script>
2331
2332       <div class="elfsight-app-4a585ef0-1a6c-4c18-8ff7-a6ff156d7408"></div>
2333      </div>
2334    </div>
2335  </div>
2336</section>
2337
2338    <main>
2339
2340
2341    </main>
2342
2343            <!-- Contact Section -->
2344   <section id="kontakt" class="text-center home">
2345         <div class="con-top"></div>
2346       <div class="container">
2347           <div class="col-sm-10 col-sm-offset-1 col-xs-12 col-lg-offset-0">
2348                <div class="anschrift">
2349                        <p class="m0">Pension & Restaurant Fichtenhof</p>
2350                        <p class="m0">Gfrill 23</p>
2351                        <p>39040 Gfrill near Salorn</p>
2352                        <p class="m0">Phone: <a href="tel:+39 0471 889028">+39 0471 889028</a> &nbsp; . &nbsp; Mobile: <a href="tel:+39 342 0715788">+39 342 0715788</a></p>
2353                        <p class="m0">E-Mail: <a href="/cdn-cgi/l/email-protection#efcf86818980af89868c879b8a81878089c1869b"> <span class="__cf_email__" data-cfemail="a8c1c6cec7e8cec1cbc0dccdc6c0c7ce86c1dc">[email&#160;protected]</span></a></p>
2354                        <p>VAT: 01443400211 . CIN: IT021076A1GSOW4PYK</p>
2355                        <p>
2356                            <a href="https://wa.me/393420715788" target="_blank"><img src="/user/themes/fichtenhof/images/whatsapp.png" alt="Facebook"></a>
2357                            <a href="https://www.facebook.com/fichtenhof.it/" target="_blank"><img src="/user/themes/fichtenhof/images/facebook.png" alt="Facebook"></a>
2358                            <a href="https://www.instagram.com/pension_fichtenhof/" target="_blank"><img src="/user/themes/fichtenhof/images/instagram.png" alt="Instagram"></a></p>
2359                </div>
2360
2361
2362                <div class="dsgvo-weather"
2363                     data-weather-type="trendstudio"
2364                     data-weather-src="https://wetter.trendstudio.it/weather/weather.js?date_mode=short&date_show=true&date_modulation=only_dates&lang=en"
2365                     data-placeholder="<p>Please accept cookies in order to load the weather widget.
2366                     </p>"
2367                     style="text-align:center;">
2368                  Please accept cookies in order to load the weather widget.
2369                                  </div>
2370
2371
2372
2373                <div class="text-center footernav">
2374                    <p><a href="/">Home</a> . <a href="/en/impressum">Impressum &amp; Privacy</a> . developed by  <a href="https://www.trendstudio.it" target="_blank">trendstudio</a></p>
2375                </div>
2376
2377           </div>
2378       </div>
2379   </section>
2380        <section id="icons" class="text-center">
2381                               <a href="https://www.suedtirol.info" target="_blank">
2382                   <img src="/user/pages/images/footer/suedtirol.png" alt="" />
2383                 </a>
2384                               <a href="https://www.bolzanosurroundings.info/en/holiday.html" target="_blank">
2385                   <img src="/user/pages/images/footer/sudtirol suden.jpg" alt="" />
2386                 </a>
2387                               <a href="https://www.suedtiroler-weinstrasse.it/" target="_blank">
2388                   <img src="/user/pages/images/footer/weinstrasse.png" alt="" />
2389                 </a>
2390                               <a href="https://www.slowfoodaltoadigesuedtirol.com/" target="_blank">
2391                   <img src="/user/pages/images/footer/slow-food.png" alt="" />
2392                 </a>
2393                               <a href="https://www.alpinschule-oberstdorf.de/" target="_blank">
2394                   <img src="/user/pages/images/footer/schule.png" alt="" />
2395                 </a>
2396                               <a href="https://www.instagram.com/salurnsalornocittaslow/" target="_blank">
2397                   <img src="/user/pages/images/footer/slow.png" alt="" />
2398                 </a>
2399              
2400          </section>
2401
2402      <footer>
2403
2404        <div class="dsgvo-map"
2405        		data-placeholder="Please accept cookies in order to load the map.
2406        		"
2407        		data-map-src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d102731.86383774065!2d11.212554058000206!3d46.27204417911883!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x4782800c76749863%3A0x22f7eda3719a4b1b!2sFichtenhof!5e1!3m2!1sde!2sit!4v1581345505918!5m2!1sde!2sit"
2408        		data-width="100%"
2409        		data-height="400"
2410        		style="width:100%;height:400px;background:#eee;display:flex;align-items:center;justify-content:center;text-align:center;">
2411        	Please accept cookies in order to load the map.
2412        	        </div>
2413
2414      </footer>
2415
2416   
2417  
2418<!--[if lt IE 7]>
2419      <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
2420    <![endif]-->
vendor: 127 bytes, lines 2420-2423
2420
2421
2422                
2423<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
2423<script src="/user/themes/fichtenhof/js/lightbox-plus-jquery.min.js"></script>
vendor: 1 bytes, line 2423
2423
2424<script src="/user/themes/fichtenhof/js/jquery.min.js"></script>
vendor: 1 bytes, line 2424
2424
2425<script src="/user/themes/fichtenhof/js/jquery-ui.min.js"></script>
vendor: 1 bytes, line 2425
2425
2426<script src="/user/themes/fichtenhof/js/bootstrap.min.js"></script>
vendor: 1 bytes, line 2426
2426
2427<script src="/user/themes/fichtenhof/js/jquery.easing.min.js"></script>
vendor: 1 bytes, line 2427
2427
2428<script src="/user/themes/fichtenhof/js/bootstrap-datepicker.js"></script>
vendor: 1 bytes, line 2428
2428
2429<script src="/user/themes/fichtenhof/js/main.js"></script>
vendor: 1 bytes, line 2429
2429
2430<script src="/user/themes/fichtenhof/js/slick.min.js"></script>
2430
2431
2432
2433
2434
2435     
2435<script type="text/javascript">
2436         $(function(){
2437           $('.datepicker').datepicker({
2438                format: 'dd.mm.yyyy',
2439                autoclose: true
2440            }).on('changeDate', function (e) {
2441                $(this).datepicker('hide');
2442            });
2443         });
2444     </script>
2444
2445     
2445<script>
2446           $( function() {
2447             $( "#gallerytabs" ).tabs();
2448           } );
2449     </script>
2449
2450     
2450<script>
2451
2452         $('.theme-carousel').slick({
2453                dots: true,
2454                infinite: true,
2455                slidesToShow: 2,
2456                slidesToScroll: 2,
2457                prevArrow: $('.th-prev'),
2458                nextArrow: $('.th-next'),
2459                appendDots: $('.th-dots'),
2460                responsive: [
2461                      {
2462                        breakpoint: 500,
2463                        settings: {
2464                          slidesToShow: 1,
2465                          slidesToScroll: 1,
2466                          dots: false
2467                        }
2468                      }
2469                ]
2470         });
2471
2472         $('.theme-carousel1').slick({
2473                dots: true,
2474                infinite: true,
2475                slidesToShow: 2,
2476                slidesToScroll: 2,
2477                prevArrow: $('.th-prev'),
2478                nextArrow: $('.th-next'),
2479                appendDots: $('.th-dots'),
2480                responsive: [
2481                      {
2482                        breakpoint: 500,
2483                        settings: {
2484                          slidesToShow: 1,
2485                          slidesToScroll: 1,
2486                          dots: false
2487                        }
2488                      }
2489                ]
2490         });
2491
2492         $('.theme-carousel2').slick({
2493                dots: true,
2494                infinite: true,
2495                slidesToShow: 2,
2496                slidesToScroll: 2,
2497                prevArrow: $('.th2-prev'),
2498                nextArrow: $('.th2-next'),
2499                appendDots: $('.th2-dots'),
2500                responsive: [
2501                      {
2502                        breakpoint: 500,
2503                        settings: {
2504                          slidesToShow: 1,
2505                          slidesToScroll: 1,
2506                          dots: false
2507                        }
2508                      }
2509                ]
2510         });
2511         $('.theme-carousel3').slick({
2512                dots: true,
2513                infinite: true,
2514                slidesToShow: 4,
2515                slidesToScroll: 4,
2516                prevArrow: $('.th3-prev'),
2517                nextArrow: $('.th3-next'),
2518                appendDots: $('.th3-dots'),
2519                responsive: [
2520                      {
2521                        breakpoint: 500,
2522                        settings: {
2523                          slidesToShow: 1,
2524                          slidesToScroll: 1,
2525                          dots: false
2526                        }
2527                      }
2528                ]
2529         });
2530
2531         $('.carousel-angebote').slick({
2532                dots: true,
2533                infinite: true,
2534                slidesToShow: 3,
2535                slidesToScroll: 3,
2536                prevArrow: $('.ang-prev'),
2537                nextArrow: $('.ang-next'),
2538                appendDots: $('.ang-dots'),
2539                responsive: [
2540                      {
2541                        breakpoint: 500,
2542                        settings: {
2543                          slidesToShow: 1,
2544                          slidesToScroll: 1,
2545                          dots: false
2546                        }
2547                      }
2548                ]
2549         });
2550         $('.sommer-slider').slick({
2551                dots: true,
2552                infinite: true,
2553                prevArrow: $('.so-prev'),
2554                nextArrow: $('.so-next'),
2555                appendDots: $('.so-dots'),
2556                customPaging: function(slider, i) {
2557                      return '<button class="tab"></button><div class="info">' + $(slider.$slides[i]).find('.stitle').text() + '</div>';
2558                },
2559         });
2560         $('.winter-slider').slick({
2561                dots: true,
2562                infinite: true,
2563                prevArrow: $('.wi-prev'),
2564                nextArrow: $('.wi-next'),
2565                appendDots: $('.wi-dots'),
2566                customPaging: function(slider, i) {
2567                      return '<button class="tab"></button><div class="info">' + $(slider.$slides[i]).find('.stitle').text() + '</div>';
2568                },
2569         });
2570         $('.rslides').each(function() {
2571                 $(this).find('.roomslider').slick({
2572                            slidesToShow: 1,
2573                            slidesToScroll: 1,
2574                            arrows: false,
2575                            fade: true,
2576                            asNavFor: '.roomslider-nav'
2577                          });
2578                 $(this).find('.roomslider-nav').slick({
2579                            slidesToShow: 2,
2580                            slidesToScroll: 1,
2581                            asNavFor: $(this).find('.roomslider'),
2582                            dots: true,
2583                            appendDots: $(this).find('.r-dots'),
2584                            prevArrow: $(this).find('.r-prev'),
2585                            nextArrow: $(this).find('.r-next'),
2586                            centerMode: false,
2587                            focusOnSelect: true
2588                 });
2589         })
2590
2591     </script>
2591
2592
2593<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"6d930859901c4b1299deef0dde451be0","r":1,"spa":2}' crossorigin="anonymous"></script>
2593
2594</body>

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.