PageSourceSearch

https://toblhof.it/en/preise

html toblhof.it collected 2026-09-27 04:26:51 UTC 64,984 bytes, 1,782 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="utf-8" />
5<title>
6  Prices &amp; informations | Gasthof Toblhof
7</title>
8
9
10<meta http-equiv="X-UA-Compatible" content="IE=edge">
11<meta name="viewport" content="width=device-width, initial-scale=1">
12<meta name="generator" content="GravCMS" />
13
14<link rel="apple-touch-icon" sizes="57x57" href="/user/themes/trendstudio/assets/fav/apple-icon-57x57.png">
15<link rel="apple-touch-icon" sizes="60x60" href="/user/themes/trendstudio/assets/fav/apple-icon-60x60.png">
16<link rel="apple-touch-icon" sizes="72x72" href="/user/themes/trendstudio/assets/fav/apple-icon-72x72.png">
17<link rel="apple-touch-icon" sizes="76x76" href="/user/themes/trendstudio/assets/fav/apple-icon-76x76.png">
18<link rel="apple-touch-icon" sizes="114x114" href="/user/themes/trendstudio/assets/fav/apple-icon-114x114.png">
19<link rel="apple-touch-icon" sizes="120x120" href="/user/themes/trendstudio/assets/fav/apple-icon-120x120.png">
20<link rel="apple-touch-icon" sizes="144x144" href="/user/themes/trendstudio/assets/fav/apple-icon-144x144.png">
21<link rel="apple-touch-icon" sizes="152x152" href="/user/themes/trendstudio/assets/fav/apple-icon-152x152.png">
22<link rel="apple-touch-icon" sizes="180x180" href="/user/themes/trendstudio/assets/fav/apple-icon-180x180.png">
23<link rel="icon" type="image/png" sizes="192x192"  href="/user/themes/trendstudio/assets/fav/android-icon-192x192.png">
24<link rel="icon" type="image/png" sizes="32x32" href="/user/themes/trendstudio/assets/fav/favicon-32x32.png">
25<link rel="icon" type="image/png" sizes="96x96" href="/user/themes/trendstudio/assets/fav/favicon-96x96.png">
26<link rel="icon" type="image/png" sizes="16x16" href="/user/themes/trendstudio/assets/fav/favicon-16x16.png">
27<link rel="manifest" href="/user/themes/trendstudio/assets/fav/manifest.json">
28<meta name="msapplication-TileColor" content="#ffffff">
29<meta name="msapplication-TileImage" content="/user/themes/trendstudio/assets/fav/favicon-96x96.png">
30<meta name="theme-color" content="#ffffff">
31
32
33                        <link href="/user/themes/trendstudio/css/bootstrap.min.css" type="text/css" rel="stylesheet">
34<link href="/user/themes/trendstudio/css/magnific-popup.css" type="text/css" rel="stylesheet">
35<link href="/user/themes/trendstudio/css/slick.css" type="text/css" rel="stylesheet">
36<link href="/user/themes/trendstudio/css/slick-theme.css" type="text/css" rel="stylesheet">
37<link href="/user/themes/trendstudio/fonts/fontawesome/css/all.css" type="text/css" rel="stylesheet">
38<link href="/user/themes/trendstudio/css/main.css" type="text/css" rel="stylesheet">
39<link href="/user/plugins/markdown-notices/assets/notices.css" type="text/css" rel="stylesheet">
40<link href="/user/plugins/breadcrumbs/css/breadcrumbs.css" type="text/css" rel="stylesheet">
41<link href="/user/plugins/form/assets/form-styles.css" type="text/css" rel="stylesheet">
42<link href="/user/plugins/login/css/login.css" type="text/css" rel="stylesheet">
43
44
45
46
47
48
49          
50      
51    
52  
53    
54                                  
55    
56        
57      
58        
59                                                  
60
61    
62      
63      
64  <style>
65  .cookiebar-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;z-index:9998}
66  .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}
67  .cookiebar h3{margin:0 0 8px;font-size:16px;line-height: 18px;color:#ffffff;}
68  .cookiebar p{margin:0 0 12px;font-size:14px;line-height:16px;color:#eaeaea}
69  .cookiebar a{color:#eaeaea;text-decoration:underline}
70  .cookiebar a:hover{color:#fff;text-decoration:underline}
71  .cookiebar .cookiebar-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
72  .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}
73  .cookiebtn:hover{border:1px solid #5c5c5c;background:#f2f2f2;color:#111;}
74  .cookiebtn.primary{background:#f2f2f2;color:#111;border-color:#f2f2f2}
75  .cookiebtn.primary:hover{background:#5c5c5c;color:#f2f2f2;border-color:#f2f2f2}
76  .cookiebtn.linklike{border:1px solid #5c5c5c;padding:10px 12px;text-decoration:underline;background:transparent}
77  .cookiebtn.linklike:hover{border:1px solid rgba(255,255,255,.35);text-decoration:underline;color:#f2f2f2}
78
79  .cookie-modal{position:fixed;inset:0;display:none;z-index:10000;align-items:center;justify-content:center}
80  .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}
81  .cookie-modal h4{margin:0 0 8px;font-size:18px;color:#111;}
82  .cookie-modal p{margin:0 0 12px;font-size:13px;line-height:1.45;color:#333}
83  .cookie-modal .opt{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid #eee}
84  .cookie-modal .opt:first-of-type{border-top:none}
85  .cookie-modal label{font-weight:bold;cursor:pointer;font-size: 16px;line-height: 16px;}
86  .cookie-modal small{display:block;color:#555;font-size: 13px; line-height: 14px; font-weight:normal;margin-top:2px}
87  .cookie-modal .cookiebtn {border:1px solid #5c5c5c;color:#111;}
88  .cookie-modal .cookiebtn:hover {background: #5c5c5c; color: #f2f2f2; border-color: #f2f2f2;}
89  .cookie-modal .actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:12px}
90  .cookie-modal .closex{position:absolute;top:10px;right:12px;border:none;background:transparent;font-size:18px;
90cursor:pointer}
91  .cookie-note{margin-top:10px;font-size:12px;color:#444}
92
93  .cookie-settings-link{position:fixed;left:18px;bottom:18px;z-index:9997;display:none}
94  .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)}
95  .cookie-settings-link img{width: 28px;height: auto;}
96
97  @media (max-width: 768px) {
98    .cookie-settings-link { bottom: 55px; }
99  }
100  @media (max-width: 440px) {
101    .cookiebar .cookiebar-row { gap: 5px;}
102    .cookiebtn, .cookiebtn.linklike { padding: 7px 5px; }
103  }
104  </style>
105
106  
106<script>
107  (function(){
108    "use strict";
109
110    const KEY="cookie_prefs_v1";
111    let __lastPrefs = readPrefs();
112    const DEFAULTS={necessary:true,analytics:false,marketing:false,external:false};
113
114    function readPrefs(){
115      try{
116        const raw=localStorage.getItem(KEY);
117        if(!raw) return null;
118        const p=JSON.parse(raw);
119        return {necessary:true,analytics:!!p.analytics,marketing:!!p.marketing,external:!!p.external};
120      }catch(e){ return null; }
121    }
122
123    function savePrefs(prefs){
124      const safe={necessary:true,analytics:!!prefs.analytics,marketing:!!prefs.marketing,external:!!prefs.external};
125      localStorage.setItem(KEY, JSON.stringify(safe));
126      document.cookie="cookie_prefs_set=1; path=/; max-age="+(60*60*24*365);
127      document.dispatchEvent(new CustomEvent("cookie:prefs",{detail:safe}));
128      // Reload erzwingen, wenn Statistik oder Externe Inhalte geändert wurden
129      if (
130        __lastPrefs &&
131        (
132          (__lastPrefs.analytics && !safe.analytics) ||
133          (__lastPrefs.external !== safe.external)
134        )
135      ) {
136        setTimeout(function(){
137          location.reload();
138        }, 50);
139      }
140
141      __lastPrefs = safe;
142      return safe;
143    }
144
145    function hasConsent(cat){
146      const p=readPrefs();
147      return !!(p && p[cat]);
148    }
149
150    window.CookiePrefs={readPrefs,savePrefs,hasConsent};
151
152    const byId=(id)=>document.getElementById(id);
153
154    function openModal(){
155      const backdrop = byId("cookiebar-backdrop");
156      const modal = byId("cookie-modal");
157      if(!backdrop || !modal) return;
158
159      backdrop.style.display = "block";
160      modal.style.display = "flex";
161
162      const p = readPrefs() || DEFAULTS;
163      const analytics = byId("c-analytics");
164      const marketing = byId("c-marketing");
165      const external = byId("c-external");
166
167      if(analytics) analytics.checked = !!p.analytics;
168      if(marketing) marketing.checked = !!p.marketing;
169      if(external) external.checked = !!p.external;
170    }
171
172    function closeModal(){
173      const backdrop = byId("cookiebar-backdrop");
174      const modal = byId("cookie-modal");
175      if(!backdrop || !modal) return;
176
177      backdrop.style.display = "none";
178      modal.style.display = "none";
179    }
180
181    function hideBarShowLink(){
182      const bar=byId("cookiebar"), link=byId("cookie-settings-link");
183      if(bar) bar.style.display="none";
184      if(link) link.style.display="block";
185    }
186
187    function initCookieBar(cfg){
188      if(document.getElementById("cookiebar")) return;
189
190      const analyticsBlock = cfg.showAnalytics ? `
191        <div class="opt">
192          <input id="c-analytics" type="checkbox" />
193          <div>
194            <label for="c-analytics">${cfg.catAnalytics}</label>
195            <small>${cfg.catAnalyticsDescPrefix} <strong>${cfg.analyticsList}</strong></small>
196          </div>
197        </div>` : '';
198      const marketingBlock = cfg.showMarketing ? `
199        <div class="opt">
200          <input id="c-marketing" type="checkbox" />
201          <div>
202            <label for="c-marketing">${cfg.catMarketing}</label>
203            <small>${cfg.catMarketingDescPrefix} <strong>${cfg.marketingList}</strong></small>
204          </div>
205        </div>` : '';
206      const externalBlock = cfg.showExternal ? `
207        <div class="opt">
208          <input id="c-external" type="checkbox" />
209          <div>
210            <label for="c-external">${cfg.catExternal}</label>
211            <small>${cfg.catExternalDescPrefix} <strong>${cfg.externalList}</strong></small>
212          </div>
213        </div>` : '';
214
215      const wrapper=document.createElement("div");
216      wrapper.innerHTML=`
217        <div class="cookiebar-backdrop" id="cookiebar-backdrop"></div>
218
219        <div class="cookiebar" id="cookiebar">
220          <h3>${cfg.title}</h3>
221          <p>${cfg.message} <a href="${cfg.privacyHref}">${cfg.privacyLink}</a></p>
222          <div class="cookiebar-row">
223            <button class="cookiebtn linklike" type="button" id="cookie-open-settings">${cfg.settings}</button>
224            <button class="cookiebtn" type="button" id="cookie-necessary">${cfg.necessaryOnly}</button>
225            <button class="cookiebtn primary" type="button" id="cookie-accept-all">${cfg.acceptAll}</button>
226          </div>
227        </div>
228
229        <div class="cookie-modal" id="cookie-modal" role="dialog" aria-modal="true" aria-label="${cfg.modalTitle}">
230          <div class="panel">
231            <button class="closex" type="button" id="cookie-close-x" aria-label="${cfg.close}">✕</button>
232            <h4>${cfg.modalTitle}</h4>
233            <p>${cfg.modalIntro}</p>
234
235            <div class="opt">
236              <input type="checkbox" checked disabled />
237              <div>
238                <label>${cfg.catNecessary}</label>
239                <small>${cfg.catNecessaryDesc}</small>
240              </div>
241            </div>
242
243            ${analyticsBlock}
244            ${marketingBlock}
245            ${externalBlock}
246
247            ${cfg.recaptchaNote ? `<div class="cookie-note">${cfg.recaptchaNote}</div>` : ``}
248
249            <div class="actions">
250              <button class="cookiebtn primary" type="button" id="cookie-save">${cfg.save}</button>
251              <button class="cookiebtn" type="button" id="cookie-accept-all-2">${cfg.acceptAll}</button>
252            </div>
253          </div>
254        </div>
255
256        <div class="cookie-settings-link" id="cookie-settings-link">
257          <button type="button" id="cookie-settings-btn" title="Cookie Settings">${cfg.settingsFooter}</button>
258        </div>
259      `;
260      document.body.appendChild(wrapper);
261
262      byId("cookie-open-settings")?.addEventListener("click", openModal);
263      byId("cookie-settings-btn")?.addEventListener("click", openModal);
264      byId("cookie-close-x")?.addEventListener("click", closeModal);
265      byId("cookiebar-backdrop")?.addEventListener("click", closeModal);
266
267      function acceptAll(){
268        savePrefs({
269          analytics: cfg.showAnalytics ? true : false,
270          marketing: cfg.showMarketing ? true : false,
271          external: cfg.showExternal ? true : false
272        });
273        hideBarShowLink(); closeModal();
274      }
275
276      byId("cookie-accept-all")?.addEventListener("click", acceptAll);
277      byId("cookie-accept-all-2")?.addEventListener("click", acceptAll);
278
279      byId("cookie-necessary")?.addEventListener("click", function(){
280        savePrefs({ analytics:false, marketing:false, external:false });
281        hideBarShowLink(); closeModal();
282      });
283
284      byId("cookie-save")?.addEventListener("click", function(){
285        savePrefs({
286          analytics: cfg.showAnalytics ? !!byId("c-analytics")?.checked : false,
287          marketing: cfg.showMarketing ? !!byId("c-marketing")?.checked : false,
288          external: cfg.showExternal ? !!byId("c-external")?.checked : false
289        });
290        hideBarShowLink(); closeModal();
291      });
292
293      const existing=readPrefs();
294      if(existing) hideBarShowLink();
295    }
296
297    window.initCookieBar = initCookieBar;
298
299    // Externes Oeffnen des Cookie-Modals erlauben (z.B. von YouTube-Guard)
300    document.addEventListener("cookie:open", function(){
301      openModal();
302    });
303  })();
304  </script>
304
305
306  
306<script>
307  // ===== INIT + Loader + Map Renderer =====
308  document.addEventListener("DOMContentLoaded", function(){
309        if(!window.initCookieBar) return;
310
311    const cfg = {
312      title: "Cookies & external content",
313      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.",
314      privacyLink: "Privacy policy",
315      privacyHref: "\/impressum",
316      settings: "Settings",
317      necessaryOnly: "Necessary only",
318      acceptAll: "Accept all",
319      modalTitle: "Cookie settings",
320      modalIntro: "Choose which categories you allow. Necessary cookies are always enabled.",
321      close: "Close",
322      catNecessary: "Necessary",
323      catNecessaryDesc: "Required for basic functionality and security.",
324      showAnalytics: true,
325      catAnalytics: "Analytics",
326      catAnalyticsDescPrefix: "If enabled, we load:",
327      analyticsList: "Google Analytics (GA4)",
328      showMarketing: false,
329      catMarketing: "Marketing",
330      catMarketingDescPrefix: "If enabled, we load:",
331      marketingList: "",
332      showExternal: true,
333      catExternal: "External content",
334      catExternalDescPrefix: "If enabled, we load:",
335      externalList: "Google Maps, Weather, Events",
336      save: "Save selection",
337      settingsFooter: '<img src="/user/themes/trendstudio/templates/dsgvo/cookie.png" alt="Cookie settings" />',
338      recaptchaNote: "Note: reCAPTCHA is always active for security reasons and is not managed via the cookie banner."
339    };
340
341    window.initCookieBar(cfg);
342
343    // Wenn Prefs schon existieren: sofort anwenden
344    if (window.CookiePrefs && window.CookiePrefs.readPrefs()) {
345      document.dispatchEvent(new CustomEvent("cookie:prefs", { detail: window.CookiePrefs.readPrefs() }));
346    }
347  });
348
349  // Loader nur nach Consent
350  function dsgvoApply(prefs){
351    if(!prefs) return;
352
353    // Google Analytics (GA4)
354        if(prefs.analytics && !window.__ga_loaded){
355      window.__ga_loaded=true;
356      var s=document.createElement("script");
357      s.async=true;
358      s.src="https://www.googletagmanager.com/gtag/js?id=G\u002D2QCQ3B1HM4";
359      document.head.appendChild(s);
360      window.dataLayer=window.dataLayer||[];
361      function gtag(){dataLayer.push(arguments);}
362      window.gtag=window.gtag||gtag;
363      gtag('js', new Date());
364      gtag('config', 'G\u002D2QCQ3B1HM4', { anonymize_ip: true });
365    }
366    
367    // Google Tag Manager (GTM)
368    
369
370    // Facebook Pixel
371    
372    // Map Renderer: nur wenn googlemaps im Impressum aktiv ist
373          ensureMapState();
374                              ensureWeatherState();
375                  ensureEventsState();
376                                          }
377
378  document.addEventListener("cookie:prefs", function(e){
379    dsgvoApply(e && e.detail ? e.detail : (window.CookiePrefs ? window.CookiePrefs.readPrefs() : null));
380  });
381
382  // Google Maps: ein-/ausblenden ohne Reload (wenn du .dsgvo-map verwendest)
383  function ensureMapState() {
384    var boxes = document.querySelectorAll(".dsgvo-map");
385    if (!boxes.length) return;
386
387    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
388
389    boxes.forEach(function (box) {
390      var existing = box.querySelector("iframe");
391
392      if (!ok) {
393        if (existing) existing.remove();
394        box.innerHTML = box.dataset.placeholder || "";
395        return;
396      }
397
398      if (existing) return;
399
400      var src = box.getAttribute("data-map-src");
401      if (!src) return;
402
403      var iframe = document.createElement("iframe");
404      iframe.src = src;
405      iframe.width = box.getAttribute("data-width") || "100%";
406      iframe.height = box.getAttribute("data-height") || "450";
407      iframe.style.border = "0";
408      iframe.setAttribute("loading", "lazy");
409      iframe.setAttribute("referrerpolicy", "strict-origin-when-cross-origin");
410      iframe.setAttribute("allowfullscreen", "");
411
412      box.innerHTML = "";
413      box.appendChild(iframe);
414    });
415  }
416
417  // Booking Script: ein-/ausblenden ohne Reload (wenn du .dsgvo-booking verwendest)
418  function ensureBookingState() {
419    var boxes = document.querySelectorAll(".dsgvo-booking");
420    if (!boxes.length) return;
421
422    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
423
424    boxes.forEach(function (box) {
425      var placeholder = box.getAttribute("data-placeholder") || "";
426
427      if (!ok) {
428        box.innerHTML = placeholder;
429        box.removeAttribute("data-booking-loaded");
430        return;
431      }
432
433      if (box.getAttribute("data-booking-loaded") === "1") return;
434
435      var type = box.getAttribute("data-booking-type") || "suedtirol-old";
436      var lang = box.getAttribute("data-lang") || "de";
437
438      // Booking Südtirol alt
439      if (type === "suedtirol-old") {
440        var accId = box.getAttribute("data-accommodation-id");
441        if (!accId) return;
442
443        box.innerHTML = '<div id="Bs-BookingWidget"></div>';
444
445        var layout = box.getAttribute("data-layout") || "";
446
447        window.BsBookingWidget = {
448          accommodationId: accId,
449          lang: lang
450        };
451
452        if (layout) {
453          window.BsBookingWidget.layout = layout;
454        }
455
456        var oldScript = document.querySelector('script[data-booking-suedtirol-old="1"]');
457        if (oldScript) oldScript.remove();
458
459        var scriptOld = document.createElement("script");
460        scriptOld.src = "https://widget.bookingsuedtirol.com/widget.js";
461        scriptOld.async = true;
462        scriptOld.setAttribute("data-booking-suedtirol-old", "1");
463
464        document.body.appendChild(scriptOld);
465
466        box.setAttribute("data-booking-loaded", "1");
467        return;
468      }
469
470      // Booking Südtirol v2
471      if (type === "suedtirol-v2") {
472        var bookingId = box.getAttribute("data-booking-id");
473        var propertyId = box.getAttribute("data-property-id");
474        var privacyUrl = box.getAttribute("data-privacy-url") || "/" + lang + "/impressum";
475        var termsUrl = box.getAttribute("data-terms-url") || "/" + lang + "/impressum";
476
477        if (!bookingId || !propertyId) return;
478
479        box.innerHTML = '<div id="Bs-BookingWidget"></div>';
480
481        function initBookingSuedtirolWidget() {
482          if (
483            typeof BookingSüdtirol === "undefined" ||
484            !BookingSüdtirol.Widgets ||
485            !BookingSüdtirol.Widgets.Booking
486          ) {
487            return;
488          }
489
490          BookingSüdtirol.Widgets.Booking("#Bs-BookingWidget", {
491            id: bookingId,
492            propertyId: parseInt(propertyId, 10),
493            lang: lang,
494            privacyURL: privacyUrl,
495            termsURL: termsUrl,
496            onBookingSuccess: function(reservation) {},
497            onEnquirySuccess: function(reservation) {}
498          });
499
500          box.setAttribute("data-booking-loaded", "1");
501        }
502
503        var existingScript = document.querySelector('script[data-booking-suedtirol-v2="1"]');
504
505        if (existingScript) {
506          if (typeof BookingSüdtirol !== "undefined") {
507            initBookingSuedtirolWidget();
508          } else {
509            existingScript.addEventListener("load", initBookingSuedtirolWidget, { once: true });
510          }
511          return;
512        }
513
514        var scriptV2 = document.createElement("script");
515        scriptV2.id = "booking-suedtirol-js";
516        scriptV2.src = "https://widget.bookingsuedtirol.com/v2/bundle.js";
517        scriptV2.defer = true;
518        scriptV2.setAttribute("data-booking-suedtirol-v2", "1");
519
520        scriptV2.addEventListener("load", initBookingSuedtirolWidget, { once: true });
521
522        document.body.appendChild(scriptV2);
523        return;
524      }
525
526      // Holidu
527      if (type === "holidu") {
528        var holiduId = box.getAttribute("data-holidu-id");
529        var height = box.getAttribute("data-height") || "2700";
530
531        if (!holiduId) return;
532
533        box.innerHTML =
534          '<iframe id="host-websites-widget" width="100%" height="' + height + '" src="https://widget.holiduhost.com/widget/' + holiduId + '?language=' + lang + '" style="border:0;"></iframe>';
535
536        box.setAttribute("data-booking-loaded", "1");
537        return;
538      }
539
540      // Beddy
541      if (type === "beddy") {
542        var widgetcode = box.getAttribute("data-widgetcode");
543        if (!widgetcode) return;
544
545        box.innerHTML =
546          '<beddy-bar lang="' + lang + '" widgetcode="' + widgetcode + '"></beddy-bar>';
547
548        if (!document.querySelector('script[data-beddy-widget="1"]')) {
549          var beddyScript = document.createElement("script");
550          beddyScript.src = "https://cdn.beddy.io/bol-v2/prod/beddy-bar-web-component.js";
551          beddyScript.defer = true;
552          beddyScript.charset = "UTF-8";
553          beddyScript.setAttribute("data-beddy-widget", "1");
554          document.body.appendChild(beddyScript);
555        }
556
557        box.setAttribute("data-booking-loaded", "1");
558        return;
559      }
560      // Yanovis
561      if (type === "yanovis") {
562          var uuid = box.getAttribute("data-uuid");
563
564          if (!uuid) return;
565
566          box.innerHTML =
567              '<yanovis-booking-widget id="yanovisBookingWidget" uuid="' + uuid + '" lang="' + lang + '"></yanovis-booking-widget>';
568
569          if (!document.querySelector('script[data-yanovis-widget="1"]')) {
570              var yanovisScript = document.createElement("script");
571              yanovisScript.src = "https://cdn.yanovis.com/webcomp/yanovis-booking-widget.umd.cjs";
572              yanovisScript.charset = "utf-8";
573              yanovisScript.setAttribute("data-yanovis-widget", "1");
574
575              document.body.appendChild(yanovisScript);
576          }
577
578          box.setAttribute("data-booking-loaded", "1");
579          return;
580      }
581    });
582  }
583  // Anfrage Script: ein-/ausblenden ohne Reload (wenn du .dsgvo-anfrage verwendest)
584  function ensureAnfrageState() {
585
586    var boxes = document.querySelectorAll(".dsgvo-anfrage");
587    if (!boxes.length) return;
588
589    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
590
591    boxes.forEach(function(box, index){
592
593      var placeholder = box.getAttribute("data-placeholder") || "";
594
595      if (!ok) {
596        box.innerHTML = placeholder;
597        box.removeAttribute("data-anfrage-loaded");
598        return;
599      }
600
601      if (box.getAttribute("data-anfrage-loaded") === "1") return;
602
603      var type = box.getAttribute("data-anfrage-type") || "hgv";
604      var lang = box.getAttribute("data-lang") || "de";
605
606      // =====================
607      // HGV / Booking Südtirol
608      // =====================
609
610      if (type === "hgv") {
611
612        var accId = box.getAttribute("data-accommodation-id");
613
614        if (!accId) return;
615
616        var widgetId = "Bs-EnquiryWidget-" + index;
617
618        box.innerHTML = '<div id="' + widgetId + '"></div>';
619
620        function initEnquiryWidget() {
621          if (
622            typeof BookingSüdtirol === "undefined" ||
623            !BookingSüdtirol.Widgets ||
624            !BookingSüdtirol.Widgets.Enquiry
625          ) {
626            return;
627          }
628
629          BookingSüdtirol.Widgets.Enquiry("#" + widgetId, {
630            accommodationId: accId,
631            lang: lang,
632            onEnquirySuccess: function(reservation) {}
633          });
634
635          box.setAttribute("data-anfrage-loaded", "1");
636        }
637
638        var existingScript = document.querySelector('script[data-booking-suedtirol-v2="1"]');
639
640        if (existingScript) {
641          if (typeof BookingSüdtirol !== "undefined") {
642            initEnquiryWidget();
643          } else {
644            existingScript.addEventListener("load", initEnquiryWidget, { once: true });
645          }
646          return;
647        }
648
649        var script = document.createElement("script");
650        script.id = "booking-suedtirol-js";
651        script.src = "https://widget.bookingsuedtirol.com/v2/bundle.js";
652        script.defer = true;
653        script.setAttribute("data-booking-suedtirol-v2", "1");
654
655        script.addEventListener("load", initEnquiryWidget, { once: true });
656
657        document.body.appendChild(script);
658
659        return;
660      }
661
662      // =====================
663      // Internet Consulting
664      // =====================
665
666      if (type === "inetcons") {
667
668        var companyId = box.getAttribute("data-company-id");
669        var privacyUrl = "";
670
671        if (lang === "it") {
672          privacyUrl = box.getAttribute("data-privacy-url-it") || "";
673        } else if (lang === "en") {
674          privacyUrl = box.getAttribute("data-privacy-url-en") || "";
675        } else {
676          privacyUrl = box.getAttribute("data-privacy-url-de") || "";
677        }
678
679        if (!companyId) return;
680
681        var languageId = "1";
682
683        if (lang === "it") {
684          languageId = "2";
685        } else if (lang === "en") {
686          languageId = "3";
687        }
688
689        box.innerHTML = "";
690
691        function initInetconsWidget() {
692
693          if (typeof SuedtirolcomEnquiryWidget === "undefined") {
694            return;
695          }
696
697          SuedtirolcomEnquiryWidget.showWidget({
698            siteUrl: "https://widget.inetcons.it",
699            languageid: languageId,
700            companyid: companyId,
701            hiddenfields: {
702              hideroomtype: "true",
703              hidenewsletter: "true"
704            },
705            colors: {
706              bgcolor: box.getAttribute("data-bgcolor") || "transparent",
707              txtcolor: box.getAttribute("data-txtcolor") || "#525252",
708              inputbgcolor: box.getAttribute("data-inputbgcolor") || "#e1e3e2",
709              inputtxtcolor: box.getAttribute("data-inputtxtcolor") || "#525252",
710              bordercolor: box.getAttribute("data-bordercolor") || "#adadad",
711              inputbordercolor: box.getAttribute("data-inputbordercolor") || "transparent",
712              linkcolor: box.getAttribute("data-linkcolor") || "#9bab64",
713              errorcolor: box.getAttribute("data-errorcolor") || "#FF0000",
714              successcolor: box.getAttribute("data-successcolor") || "#9bab64"
715            },
716            dataPrivacyUrl: privacyUrl
717          });
718
719          box.setAttribute("data-anfrage-loaded", "1");
720        }
721
722        var existingInetconsScript = document.querySelector('script[data-inetcons-enquiry="1"]');
723
724        if (existingInetconsScript) {
725          if (typeof SuedtirolcomEnquiryWidget !== "undefined") {
726            initInetconsWidget();
727          } else {
728            existingInetconsScript.addEventListener("load", initInetconsWidget, { once: true });
729          }
730          return;
731        }
732
733        var inetconsScript = document.createElement("script");
734        inetconsScript.src = "https://widget.inetcons.it/scripts/enquiry/enquirywidget.js";
735        inetconsScript.type = "text/javascript";
736        inetconsScript.setAttribute("data-inetcons-enquiry", "1");
737
738        inetconsScript.addEventListener("load", initInetconsWidget, { once: true });
739
740        document.body.appendChild(inetconsScript);
741
742        return;
743      }
744
745    });
746  }
747
748  // Wetter Script: ein-/ausblenden ohne Reload (wenn du .dsgvo-weather verwendest)
749  function ensureWeatherState() {
750    var boxes = document.querySelectorAll(".dsgvo-weather");
751    if (!boxes.length) return;
752
753    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
754
755    boxes.forEach(function (box, index) {
756      var placeholder = box.getAttribute("data-placeholder") || "";
757
758      if (!ok) {
759        box.innerHTML = placeholder;
760        box.removeAttribute("data-weather-loaded");
761        return;
762      }
763
764      if (box.getAttribute("data-weather-loaded") === "1") return;
765
766      var src = box.getAttribute("data-weather-src");
767      var type = box.getAttribute("data-weather-type") || "siag";
768      if (!src) return;
769
770      if (type === "siag-simple") {
771
772        var siagId = "meteoprovbz_widget_" + index;
773
774        box.innerHTML = '<div id="' + siagId + '"></div>';
775
776        var oldSiagSimple = document.querySelector('script[data-weather-siag-simple="' + index + '"]');
777        if (oldSiagSimple) oldSiagSimple.remove();
778
779        var siagSimpleScript = document.createElement("script");
780        siagSimpleScript.src = src;
781        siagSimpleScript.async = true;
782        siagSimpleScript.setAttribute("data-weather-siag-simple", index);
783
784        siagSimpleScript.onload = function () {
785          if (window.meteoprovbz_Widget && window.meteoprovbz_Widget.CreateWidget) {
786            window.meteoprovbz_Widget.CreateWidget(
787              document.getElementById(siagId)
788            );
789          }
790        };
791
792        document.body.appendChild(siagSimpleScript);
793
794        box.setAttribute("data-weather-loaded", "1");
795
796        return;
797      }
798
799      if (type === "iframe") {
800
801        var width = box.getAttribute("data-width") || "100%";
802        var height = box.getAttribute("data-height") || "800";
803
804        box.innerHTML =
805          '<iframe src="' + src + '" ' +
806          'name="Wetter" ' +
807          'scrolling="Auto" ' +
808          'frameborder="0" ' +
809          'height="' + height + '" ' +
810          'width="' + width + '"></iframe>';
811
812        box.setAttribute("data-weather-loaded", "1");
813
814        return;
815      }
816
817      if (type === "trendstudio") {
818        box.innerHTML = '<div id="rr_wetter_daten"></div>';
819
820        var oldTrendstudio = document.querySelector('script[data-weather-trendstudio="1"]');
821        if (oldTrendstudio) oldTrendstudio.remove();
822
823        var trendScript = document.createElement("script");
824        trendScript.src = src;
825        trendScript.async = false;
826        trendScript.setAttribute("data-weather-trendstudio", "1");
827
828        document.body.appendChild(trendScript);
829
830        box.setAttribute("data-weather-loaded", "1");
831        return;
832      }
833
834      var siagId = "meteoprovbz_widget_" + index;
835
836      box.innerHTML = '<div id="' + siagId + '"></div>';
837
838      var oldSiag = document.querySelector('script[data-weather-siag="' + index + '"]');
839      if (oldSiag) oldSiag.remove();
840
841      var siagScript = document.createElement("script");
842      siagScript.src = src;
843      siagScript.async = true;
844      siagScript.setAttribute("data-weather-siag", index);
845
846      siagScript.onload = function () {
847        if (window.meteoprovbz_Widget && window.meteoprovbz_Widget.CreateWidget) {
848          window.meteoprovbz_Widget.CreateWidget(
849            document.getElementById(siagId)
850          );
851        }
852      };
853
854      document.body.appendChild(siagScript);
855
856      box.setAttribute("data-weather-loaded", "1");
857    });
858  }
859
860  // Externe Webcams ein-/ausblenden ohne Reload (wenn du .dsgvo-webcam verwendest)
861  function ensureWebcamState() {
862    var boxes = document.querySelectorAll(".dsgvo-webcam");
863    if (!boxes.length) return;
864
865    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
866
867    boxes.forEach(function(box) {
868      var placeholder = box.getAttribute("data-placeholder") || "";
869
870      if (!ok) {
871        box.innerHTML = placeholder;
872        box.removeAttribute("data-webcam-loaded");
873        return;
874      }
875
876      if (box.getAttribute("data-webcam-loaded") === "1") return;
877
878      var src = box.getAttribute("data-webcam-src");
879      var alt = box.getAttribute("data-alt") || "Webcam";
880      var type = box.getAttribute("data-type") || "img";
881      var height = box.getAttribute("data-height") || "800";
882
883      if (!src) return;
884
885      if (type === "iframe") {
886        box.innerHTML =
887          '<iframe src="' + src + '" ' +
888          'width="100%" ' +
889          'height="' + height + '" ' +
890          'frameborder="0" ' +
891          'scrolling="auto" ' +
892          'allowfullscreen></iframe>';
893      } else {
894        box.innerHTML = '<img src="' + src + '" alt="' + alt + '" loading="lazy">';
895      }
896
897      box.setAttribute("data-webcam-loaded", "1");
898    });
899  }
900  // Webcam Lightbox Links blockieren wenn keine Zustimmung
901  document.addEventListener("click", function(e){
902
903    var a = e.target.closest("a.dsgvo-webcam-link");
904    if (!a) return;
905
906    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
907
908    if (ok) return;
909
910    e.preventDefault();
911    e.stopPropagation();
912    e.stopImmediatePropagation();
913
914          alert("Please allow “External content” to open the webcam.");
915    
916    document.dispatchEvent(new CustomEvent("cookie:open"));
917
918    return false;
919
920  }, true);
921
922  // Livestream: ein-/ausblenden ohne Reload (wenn du .dsgvo-livestream verwendest)
923  function ensureLivestreamState() {
924
925    var boxes = document.querySelectorAll(".dsgvo-livestream");
926    if (!boxes.length) return;
927
928    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
929
930    boxes.forEach(function(box, index){
931
932      var placeholder = box.getAttribute("data-placeholder") || "";
933
934      if (!ok) {
935        box.innerHTML = placeholder;
936        box.removeAttribute("data-livestream-loaded");
937        return;
938      }
939
940      if (box.getAttribute("data-livestream-loaded") === "1") return;
941
942      var streamUrl = box.getAttribute("data-stream-url");
943      if (!streamUrl) return;
944
945      var videoId = "stream-" + index;
946
947      box.innerHTML =
948        '<div class="player-wrapper">' +
949          '<video id="' + videoId + '" class="video-js" controls muted></video>' +
950        '</div>' +
951        '<br><br>';
952
953      function startStream() {
954        var stream = document.getElementById(videoId);
955        if (!stream || typeof OvenPlayer === "undefined") return;
956
957        var player = OvenPlayer.create(videoId, {
958          autoStart: true,
959          autoFallback: true,
960          mute: true,
961          title: "",
962          sources: [
963            {
964              label: "stream",
965              type: "webrtc",
966              file: streamUrl
967            }
968          ]
969        });
970
971        player.on("stateChanged", function(e) {
972          if (e.newstate === "error") {
973            setTimeout(function() {
974              player.remove();
975              startStream();
976            }, 2500);
977          }
978        });
979      }
980
981      if (typeof OvenPlayer !== "undefined") {
982        startStream();
983        box.setAttribute("data-livestream-loaded", "1");
984        return;
985      }
986
987      var script = document.createElement("script");
988      script.src = "https://cdn.jsdelivr.net/npm/ovenplayer/dist/ovenplayer.js";
989      script.setAttribute("data-livestream-ovenplayer", "1");
990
991      script.onload = function() {
992        startStream();
993        box.setAttribute("data-livestream-loaded", "1");
994      };
995
996      document.body.appendChild(script);
997    });
998  }
999  // Angeld Gastropool Script: ein-/ausblenden ohne Reload (wenn du .dsgvo-weather verwendest)
1000  function ensureAngeldState() {
1001
1002    var boxes = document.querySelectorAll(".dsgvo-angeld");
1003    if (!boxes.length) return;
1004
1005    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1006
1007    boxes.forEach(function(box){
1008
1009      var placeholder = box.getAttribute("data-placeholder") || "";
1010
1011      // Cookies nicht erlaubt
1012      if (!ok) {
1013
1014        box.innerHTML = placeholder;
1015        box.removeAttribute("data-angeld-loaded");
1016
1017        var oldScript = document.querySelector('script[data-angeld-widget="1"]');
1018        if (oldScript) oldScript.remove();
1019
1020        return;
1021      }
1022
1023      // Bereits geladen
1024      if (box.getAttribute("data-angeld-loaded") === "1") return;
1025
1026      var token = box.getAttribute("data-angeld-token");
1027      var lang = box.getAttribute("data-lang") || "de";
1028
1029      if (!token) return;
1030
1031      // Widget Container
1032      box.innerHTML = '<div id="hgPaymentWidget"></div>';
1033
1034      // Altes Script entfernen
1035      var old = document.querySelector('script[data-angeld-widget="1"]');
1036      if (old) old.remove();
1037
1038      // Neues Script laden
1039      var script = document.createElement("script");
1040      script.src = "https://secure.gastropool.it/rxwidgets/payment/script/" + lang + "?" + token;
1041      script.defer = true;
1042      script.async = true;
1043      script.type = "text/javascript";
1044      script.setAttribute("data-angeld-widget", "1");
1045
1046      document.body.appendChild(script);
1047
1048      box.setAttribute("data-angeld-loaded", "1");
1049    });
1050  }
1051
1052  // Karrierre Südtirol + Onboard Job Widget: ein-/ausblenden ohne Reload (wenn du .dsgvo-jobs verwendest)
1053  function ensureJobsState() {
1054
1055    var boxes = document.querySelectorAll(".dsgvo-jobs");
1056    if (!boxes.length) return;
1057
1058    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1059
1060    boxes.forEach(function(box, index){
1061
1062      var placeholder = box.getAttribute("data-placeholder") || "";
1063
1064      if (!ok) {
1065        box.innerHTML = placeholder;
1066        box.removeAttribute("data-jobs-loaded");
1067        return;
1068      }
1069
1070      if (box.getAttribute("data-jobs-loaded") === "1") return;
1071
1072      var type = box.getAttribute("data-jobs-type") || "karriere-suedtirol";
1073
1074      // =====================
1075      // KARRIERE SUEDTIROL
1076      // =====================
1077
1078      if (type === "karriere-suedtirol") {
1079
1080        var src = box.getAttribute("data-jobs-src");
1081        var height = box.getAttribute("data-height") || "500";
1082
1083        if (!src) return;
1084
1085        box.innerHTML =
1086          '<iframe name="Jobs" width="100%" height="' + height + '" src="' + src + '" scrolling="no" marginwidth="0" marginheight="0" style="border:none;"></iframe>';
1087
1088        box.setAttribute("data-jobs-loaded", "1");
1089
1090        return;
1091      }
1092
1093      // =====================
1094      // ONBOARD
1095      // =====================
1096
1097      if (type === "onboard") {
1098
1099        var lang = box.getAttribute("data-lang") || "en";
1100        var company = box.getAttribute("data-onboard-company");
1101
1102        if (!company) return;
1103
1104        var iframeId = "ob-iframe-" + index;
1105
1106        box.innerHTML =
1107          '<iframe class="ob-iframe" ' +
1108          'id="' + iframeId + '" ' +
1109          'src="https://' + company + '.onboard.org/' + lang + '/career" ' +
1110          'scrolling="no" ' +
1111          'width="100%" ' +
1112          'frameborder="0"></iframe>';
1113
1114        if (!document.querySelector('script[data-onboard-jobs="1"]')) {
1115
1116          var script = document.createElement("script");
1117          script.src = "https://cdn1.onboard.org/assets/career-external.js";
1118          script.type = "text/javascript";
1119          script.setAttribute("data-onboard-jobs", "1");
1120
1121          document.body.appendChild(script);
1122        }
1123
1124        box.setAttribute("data-jobs-loaded", "1");
1125
1126        return;
1127      }
1128
1129    });
1130  }
1131
1132  // Yumpu: ein-/ausblenden ohne Reload (wenn du .dsgvo-yumpu verwendest)
1133  function ensureYumpuState() {
1134
1135    var boxes = document.querySelectorAll(".dsgvo-yumpu");
1136    if (!boxes.length) return;
1137
1138    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1139
1140    boxes.forEach(function(box, index){
1141
1142      var placeholder = box.getAttribute("data-placeholder") || "";
1143
1144      if (!ok) {
1145        box.innerHTML = placeholder;
1146        box.removeAttribute("data-yumpu-loaded");
1147        return;
1148      }
1149
1150      if (box.getAttribute("data-yumpu-loaded") === "1") return;
1151
1152      var src = box.getAttribute("data-yumpu-src");
1153      var title = box.getAttribute("data-yumpu-title") || "";
1154      var link = box.getAttribute("data-yumpu-link") || "#";
1155      var height = box.getAttribute("data-height") || "369";
1156
1157      if (!src) return;
1158
1159      box.innerHTML =
1160        '<div style="position:relative;overflow:hidden;height:' + height + 'px;max-width:100%;">' +
1161          '<iframe style="position:absolute;top:0;left:0;width:100%;height:100%;" ' +
1162          'src="' + src + '" ' +
1163          'frameborder="0" ' +
1164          'allowfullscreen="true" ' +
1165          'allowtransparency="true"></iframe>' +
1166        '</div>' +
1167        '<br>' +
1168        '<a href="' + link + '" target="_blank" rel="noopener">' + title + '</a>';
1169
1170      box.setAttribute("data-yumpu-loaded", "1");
1171    });
1172  }
1173  // Landbot Chat: ein-/ausblenden ohne Reload (wenn du .dsgvo-landbot verwendest)
1174  function ensureLandbotState() {
1175
1176    var boxes = document.querySelectorAll(".dsgvo-landbot");
1177    if (!boxes.length) return;
1178
1179    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1180
1181    boxes.forEach(function(box){
1182
1183      var placeholder = box.getAttribute("data-placeholder") || "";
1184
1185      if (!ok) {
1186        box.innerHTML = placeholder;
1187        box.removeAttribute("data-landbot-loaded");
1188        return;
1189      }
1190
1191      if (box.getAttribute("data-landbot-loaded") === "1") return;
1192
1193      var configUrl = box.getAttribute("data-landbot-config");
1194      if (!configUrl) return;
1195
1196      function initLandbot() {
1197        if (window.__landbot_loaded) return;
1198
1199        window.__landbot_loaded = true;
1200
1201        var s = document.createElement("script");
1202        s.type = "module";
1203        s.async = true;
1204
1205        s.addEventListener("load", function() {
1206          window.__landbot_instance = new Landbot.Livechat({
1207            configUrl: configUrl
1208          });
1209        });
1210
1211        s.src = "https://cdn.landbot.io/landbot-3/landbot-3.0.0.mjs";
1212
1213        var x = document.getElementsByTagName("script")[0];
1214        x.parentNode.insertBefore(s, x);
1215      }
1216
1217      window.addEventListener("mouseover", initLandbot, { once: true });
1218      window.addEventListener("touchstart", initLandbot, { once: true });
1219
1220      box.innerHTML = "";
1221      box.setAttribute("data-landbot-loaded", "1");
1222    });
1223  }
1224  // Roter Hahn Bewertungs Script: ein-/ausblenden ohne Reload (wenn du .dsgvo-weather verwendest)
1225  function ensureRoterHahnState() {
1226
1227    var boxes = document.querySelectorAll(".dsgvo-roterhahn");
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-roterhahn-loaded");
1239        return;
1240      }
1241
1242      if (box.getAttribute("data-roterhahn-loaded") === "1") return;
1243
1244      var type = box.getAttribute("data-roterhahn-type") || "roterhahn";
1245
1246      // =====================
1247      // ROTER HAHN
1248      // =====================
1249
1250      if (type === "roterhahn") {
1251
1252        var widgetSrc = box.getAttribute("data-roterhahn-widget");
1253        if (!widgetSrc) return;
1254
1255        box.innerHTML = '<div id="rhWidget2"></div>';
1256
1257        var oldInit = document.querySelector('script[data-roterhahn-init="1"]');
1258        if (oldInit) oldInit.remove();
1259
1260        var oldWidget = document.querySelector('script[data-roterhahn-widget="1"]');
1261        if (oldWidget) oldWidget.remove();
1262
1263        var initScript = document.createElement("script");
1264        initScript.src = "https://www.roterhahn.it/js/widgets/hofbewertungen/init.js";
1265        initScript.async = false;
1266        initScript.setAttribute("data-roterhahn-init", "1");
1267
1268        initScript.onload = function () {
1269
1270          var widgetScript = document.createElement("script");
1271          widgetScript.src = widgetSrc;
1272          widgetScript.async = false;
1273          widgetScript.setAttribute("data-roterhahn-widget", "1");
1274
1275          document.body.appendChild(widgetScript);
1276        };
1277
1278        document.body.appendChild(initScript);
1279
1280        box.setAttribute("data-roterhahn-loaded", "1");
1281
1282        return;
1283      }
1284
1285      // =====================
1286      // HOLIDAYCHECK
1287      // =====================
1288
1289      if (type === "holidaycheck") {
1290
1291        var code = box.getAttribute("data-holidaycheck-code");
1292        var hotel = box.getAttribute("data-holidaycheck-hotel");
1293        var hotelUrl = box.getAttribute("data-holidaycheck-url") || "https://www.holidaycheck.de";
1294
1295        if (!code || !hotel) return;
1296
1297        box.innerHTML =
1298          '<div id="holidaycheck-widget-' + code + '">' +
1299            '<div id="holidaycheck_widget_placeholder-' + hotel + '" style="width:120px;padding:5px;background:#0058a2;">' +
1300              '<a href="' + hotelUrl + '">' +
1301                '<img alt="Hotels mit Hotelbewertungen bei HolidayCheck" src="https://www.holidaycheck.de/widgets/logo_xlarge.png" border="0">' +
1302              '</a>' +
1303            '</div>' +
1304          '</div>';
1305
1306        var old = document.querySelector('script[data-holidaycheck-widget="1"]');
1307        if (old) old.remove();
1308
1309        var script = document.createElement("script");
1310        script.src = "https://www.holidaycheck.de/widgets?step=code&type=code&options=" + code;
1311        script.type = "text/javascript";
1312        script.setAttribute("data-holidaycheck-widget", "1");
1313
1314        document.body.appendChild(script);
1315
1316        box.setAttribute("data-roterhahn-loaded", "1");
1317
1318        return;
1319      }
1320
1321    });
1322  }
1323  // LTS Events Script: ein-/ausblenden ohne Reload (wenn du .dsgvo-weather verwendest)
1324  function ensureEventsState() {
1325
1326    var boxes = document.querySelectorAll(".dsgvo-events");
1327    if (!boxes.length) return;
1328
1329    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1330
1331    boxes.forEach(function(box){
1332
1333      var placeholder = box.getAttribute("data-placeholder") || "";
1334
1335      if (!ok) {
1336        box.innerHTML = placeholder;
1337        box.removeAttribute("data-events-loaded");
1338        return;
1339      }
1340
1341      if (box.getAttribute("data-events-loaded") === "1") return;
1342
1343      var src = box.getAttribute("data-events-src");
1344      if (!src) return;
1345
1346      box.innerHTML = '<div id="lts-eventfinder">Loading...</div>';
1347
1348      var old = document.querySelector('script[data-events-widget="1"]');
1349      if (old) old.remove();
1350
1351      var script = document.createElement("script");
1352      script.src = src;
1353      script.async = false;
1354      script.setAttribute("data-events-widget", "1");
1355
1356      document.body.appendChild(script);
1357
1358      box.setAttribute("data-events-loaded", "1");
1359    });
1360  }
1361
1362  // Virtual Tour Iframe: ein-/ausblenden ohne Reload (wenn du .dsgvo-virtualtour verwendest)
1363  function ensureVirtualtourState() {
1364
1365      var boxes = document.querySelectorAll(".dsgvo-virtualtour");
1366      if (!boxes.length) return;
1367
1368      var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1369
1370      boxes.forEach(function(box){
1371
1372        var placeholder = box.getAttribute("data-placeholder") || "";
1373
1374        if (!ok) {
1375          box.innerHTML = placeholder;
1376          box.removeAttribute("data-virtualtour-loaded");
1377          return;
1378        }
1379
1380        if (box.getAttribute("data-virtualtour-loaded") === "1") return;
1381
1382        var url = box.getAttribute("data-url");
1383        if (!url) return;
1384
1385        var width = box.getAttribute("data-width") || "100%";
1386        var height = box.getAttribute("data-height") || "800";
1387
1388        box.innerHTML =
1389          '<iframe loading="lazy" src="' + url + '" frameborder="0" allowfullscreen style="width:' + width + ';height:' + height + 'px;;"></iframe>';
1390
1391        box.setAttribute("data-virtualtour-loaded", "1");
1392      });
1393  }
1394
1395  // Google Calendar: ein-/ausblenden ohne Reload (wenn du .dsgvo-calendar verwendest)
1396  function ensureCalendarState() {
1397    var boxes = document.querySelectorAll(".dsgvo-calendar");
1398    if (!boxes.length) return;
1399
1400    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1401
1402    boxes.forEach(function(box) {
1403      var placeholder = box.getAttribute("data-placeholder") || "";
1404
1405      if (!ok) {
1406        box.innerHTML = placeholder;
1407        box.removeAttribute("data-calendar-loaded");
1408        return;
1409      }
1410
1411      if (box.getAttribute("data-calendar-loaded") === "1") return;
1412
1413      var src = box.getAttribute("data-calendar-src");
1414      var height = box.getAttribute("data-height") || "600";
1415
1416      if (!src) return;
1417
1418      box.innerHTML =
1419        '<iframe src="' + src + '" ' +
1420        'style="border:0" ' +
1421        'width="100%" ' +
1422        'height="' + height + '" ' +
1423        'frameborder="0" ' +
1424        'scrolling="no"></iframe>';
1425
1426      box.setAttribute("data-calendar-loaded", "1");
1427    });
1428  }
1429
1430  // Wanderungen: ein-/ausblenden ohne Reload (wenn du .dsgvo-wanderungen verwendest)
1431  function ensureWanderungenState() {
1432    var outdoorBoxes = document.querySelectorAll(".dsgvo-wanderungen");
1433    var mapBoxes = document.querySelectorAll(".dsgvo-wanderungen-map");
1434
1435    if (!outdoorBoxes.length && !mapBoxes.length) return;
1436
1437    var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external");
1438
1439    outdoorBoxes.forEach(function (box, index) {
1440      var placeholder = box.getAttribute("data-placeholder") || "";
1441
1442      if (!ok) {
1443        box.innerHTML = placeholder;
1444        box.removeAttribute("data-wanderungen-loaded");
1445        return;
1446      }
1447
1448      if (box.getAttribute("data-wanderungen-loaded") === "1") return;
1449
1450      var src = box.getAttribute("data-wanderungen-src");
1451      if (!src) return;
1452
1453      box.innerHTML = "";
1454
1455      var script = document.createElement("script");
1456      script.type = "text/javascript";
1457      script.src = src;
1458      script.async = false;
1459      script.setAttribute("data-wanderungen", index);
1460
1461      box.appendChild(script);
1462
1463      box.setAttribute("data-wanderungen-loaded", "1");
1464    });
1465
1466    mapBoxes.forEach(function (box) {
1467      var placeholder = box.getAttribute("data-placeholder") || "";
1468
1469      if (!ok) {
1470        box.innerHTML = placeholder;
1471        box.removeAttribute("data-wanderungen-map-loaded");
1472        return;
1473      }
1474
1475      if (box.getAttribute("data-wanderungen-map-loaded") === "1") return;
1476
1477      var src = box.getAttribute("data-map-src");
1478      if (!src) return;
1479
1480      var iframe = document.createElement("iframe");
1481
1482      iframe.src = src;
1483      iframe.setAttribute("width", box.getAttribute("data-width") || "100%");
1484      iframe.setAttribute("height", box.getAttribute("data-height") || "900");
1485      iframe.setAttribute("frameborder", "0");
1486      iframe.setAttribute("loading", "lazy");
1487
1488      iframe.style.width = box.getAttribute("data-width") || "100%";
1489      iframe.style.height = (box.getAttribute("data-height") || "900") + "px";
1490      iframe.style.border = "0";
1491      iframe.style.display = "block";
1492
1493      box.innerHTML = "";
1494      box.appendChild(iframe);
1495
1496      box.setAttribute("data-wanderungen-map-loaded", "1");
1497    });
1498  }
1499
1500
1501  // YouTube IFRAME: ein-/ausblenden ohne Reload (wenn du .dsgvo-youtube verwendest)
1502  
1503  // Elfsight: ein-/ausblenden ohne Reload
1504  
1505  document.addEventListener("DOMContentLoaded", function(){
1506    // Initialer State für Map & Elfsight & Youtube & Booking (falls Prefs existieren)
1507          ensureMapState();
1508                              ensureWeatherState();
1509                  ensureEventsState();
1510                                          });
1511  </script>
1511
1512
1513
1514
1515
1516</head>
1517
1518<body class=" ">
1519  <div class="page-wrapper">
1520
1521          
1522
1523<div class="header-out">
1524      <header class="container-fluid">
1525        <div class="row">
1526            <div class="logo">
1527              <a href="/en">
1528                <img src="/user/themes/trendstudio/assets/logo.png" alt="Inn Toblhof">
1529              </a>
1530            </div>
1531            <div class="logo-scroll">
1532              <a href="/en">
1533                <img src="/user/themes/trendstudio/assets/logo-scroll.png" alt="Inn Toblhof">
1534              </a>
1535            </div>
1536
1537            <div class="around-mobile-btn">
1538              <div class="mobile-nav-button">
1539                <div>
1540                  <div class="mobile-nav-button__line"></div>
1541                  <div class="mobile-nav-button__line"></div>
1542                  <div class="mobile-nav-button__line"></div>
1543                </div>
1544                <span>MENU</span>
1545              </div>
1546            </div>
1547
1548
1549            <nav class="mobile-menu">
1550              <div class="header-slider-menue">
1551                <ul>
1552                                
1553            <li>
1554                <a class="" href="/en">Our Rustic Inn</a>
1555            </li>
1556            
1557            <li>
1558                <a class="" href="/en/restaurant">Dining</a>
1559            </li>
1560            
1561            <li>
1562                <a class="" href="/en/rooms">Staying at our Inn</a>
1563            </li>
1564            
1565            <li>
1566                <a class="current" href="/en/preise">Prices & informations</a>
1567            </li>
1568            
1569            <li>
1570                <a class="" href="/en/surroundings">Surroundings</a>
1571            </li>
1572            
1573            <li>
1574                <a class="" href="/en/events">Events</a>
1575            </li>
1576            
1577            <li>
1578                <a class="" href="/en/contact">Contact</a>
1579            </li>
1580    
1581                </ul>
1582                <div class="mobile-lang">
1583                    <a href="/de">DE</a> . <a href="/it">IT</a> . <a href="/en">EN</a>
1584                </div>
1585              </div>
1586            </nav>
1587
1588            <div class="header-buttons">
1589              <a href="tel:+39 0474 678009"><i class="fa-solid fa-phone"></i></a>
1590              <a href="/cdn-cgi/l/email-protection#d8b1b6beb798acb7bab4b0b7bef6b1ac"><i class="fa-solid fa-envelope"></i></a>
1591              <a href="/en/contact"><i class="fa-solid fa-location-dot"></i></a>
1592              <a href="/en/contact">Request</a>
1593            </div>
1594
1595          </div>
1596    </header>
1597    <div class="header-dummy"></div>
1598</div>
1599  
1600
1601    <div class="banner-section banner-section-subpage">
1602	 <div class="slick-slider">
1603		  				<div class="slide">
1604						<img src="/images/6/5/b/4/1/65b41e65b92d6da43d0ff0843315fee4913fe774-slider.jpg" />
1605				</div>
1606				 </div>
1607 </div>
1608    <!-- Mobile Sidebar bottom -->
1609<div class="mobile-sidebar">
1610  <a href="tel:+39 0474 678009"><i class="fa-solid fa-phone"></i></a>
1611  <a href="/cdn-cgi/l/email-protection#660f080009261209040a0e0900480f12"><i class="fa-solid fa-envelope"></i></a>
1612  <a href="/en/contact"><i class="fa-solid fa-location-dot"></i></a>
1613  <a href="/en/contact">Request</a>
1614</div>
1615    
1616<section class="page-content">
1617	<div class="container">
1618		<div class="row">
1619			<div class="col-xl-6 col-lg-7 col-md-12">
1620					<h1>Our prices</h1>
1621					<div class="col-lg-10">
1622						<p><strong>Bed &amp; breakfast:</strong> 40,00 € - 45,00 €</p>
1623<p><strong>Half board:</strong>      55,00 € - 65,00 €</p>
1624					</div>
1625			</div>
1626							<div class="col-xl-6 col-lg-5 col-md-6 herzbild">
1627							<img src="/images/1/4/9/c/6/149c68429299c20e4ec297bf24e95a168084612e-herz.png" alt="Inn Toblhof" />
1628				</div>
1629					</div>
1630					<div class="row">
1631				<div class="col-lg-12">
1632					<h5>Informations</h5>
1633<p><strong>Prices and reductions</strong><br><br />
1634All prices are per person per night, VAT included.<br><br />
1635The local tourism charge for all people over 14 years old is 1,75 € per person per night.</p>
1636<p><strong>Reductions for children</strong><br><br />
1637Family room: children up to 3 years in the parents' room free of charge.<br><br />
1638Children from 3-8 years in the parents' room : - 50%<br><br />
1639Children from 8-10 years in parents' room : - 20%</p>
1640<p><strong>Pets</strong><br><br />
1641Pets are welcome. The price is 5€ per pet per night without food.</p>
1642<p><strong>Supplements and conditions of payment</strong><br><br />
1643Deposit: We require written reservations by email. The reservation is secured once the deposit of 100,00 € per week has been paid.<br><br />
1644Please use your name as a reference when transferring the sum.<br><br />
1645Payment: Please pay in cash (cash can be withdrawn via the cash machine on site).<br><br />
1646Since 1 January 2023, when Decree-Law No. 201/2011 came into force, it is no longer permitted to pay sums in excess of 4.999,99 Euro in cash. The following payment methods are permitted: non-transferable cheque, bank transfer.</p>
1647<p><strong>Conditions of arrival and departure</strong><br><br />
1648Check-in: From 2 o´clock pm. Please let us know if you expect to arrive late.<br><br />
1649Check-out: Until 10 o´clock am. Other departure times can be arranged on request.</p>
1650<p><strong>Cancellations</strong><br><br />
1651In the event of cancellations at short notice (1 week before the commencement of your booking), we will retain your deposit. In the event of a late arrival or an early departure, we charge 25% of the remaining cost of the booking. Thank y
1651ou for your understanding.</p>
1652<p><strong>Disclaimers</strong><br><br />
1653We do our utmost to ensure that the information on this website is correct and complete. However, we cannot accept any liability or provide any guarantee that the information provided here is up to date, correct, or complete. We reserve the right to change or amend the information without prior notice. The respective offer or booking confirmation is binding. Although we carefully check, we cannot assume any liability for the content of external links. Liability for the content of linked webpages is assumed exclusively by their providers.</p>
1654<p><strong>Data protection</strong><br><br />
1655In accordance with GDPR, your data will be used and stored exclusively for processing your application and will not be communicated or disseminated to third parties. You are entitled to all rights regarding data processing, in line with GDPR. The legal owner is Irmgard Werner. You can find more information about your rights <a href="/en/impressum/">here</a>.</p>
1656				</div>
1657			</div>
1658			</div>
1659</section>
1660    
1661    
1662
1663             
1664<section class="footer-img">
1665    <img src="/images/0/0/4/a/6/004a69b295d46af0824e9e213ebaa0c80d507c76-footer.jpg" alt="Inn Toblhof">
1666    <a href="/en/contact#google-map"><img src="/user/themes/trendstudio/assets/map.jpg" alt="Map" class="map-img"></a>
1667</section>
1668
1669<footer>
1670  <section class="footer">
1671    <div class="container">
1672      <div class="row">
1673        <div class="col-xl-3 col-lg-6 col-sm-6 col-12">
1674            <p class="titel">Inn Toblhof</p>
1675            <p>Family Werner<br>
1676            Via Riva di Tures 42<br>
1677            39032 Campo Tures<br>
1678            T- <a href="tel:+39 0474 678009">+39 0474 678009</a><br>
1679            <a class="mail" href="/cdn-cgi/l/email-protection#98f1f6fef7d8ecf7faf4f0f7feb6f1ec"><span class="__cf_email__" data-cfemail="95fcfbf3fad5e1faf7f9fdfaf3bbfce1">[email&#160;protected]</span></a></p>
1680        </div>
1681        <div class="col-xl-4 col-lg-6 col-sm-6 col-12 open">
1682            <p class="titel">Opening hours</p>
1683            <p><strong>Bar:</strong> 08:00 - 23:00<br><br />
1684<strong>Lunchtime:</strong> 11:30 - 13:30 wintertime<br><br />
168511:30 - 14:00 summertime<br><br />
1686<strong>Dinnertime:</strong> 18:30 - 20:00 wintertime<br><br />
168718:30 - 21:00 summertime</p>
1688        </div>
1689        <div class="col-xl-3 col-lg-6 col-sm-6 col-12">
1690            <p class="titel">Weather</p>
1691            <div class="dsgvo-weather"
1692                 data-weather-type="trendstudio"
1693                 data-weather-src="https://wetter.trendstudio.it/weather/weather.js?date_mode=short&date_show=true&date_modulation=only_dates&ort=bruneck&lang=en"
1694                 data-placeholder="<p>Please accept cookies in order to load the weather widget.
1695                 </p>"
1696                 style="width:fit-content;text-align:center;">
1697              Please accept cookies in order to load the weather widget.
1698                          </div>
1699        </div>
1700        <div class="col-xl-2 col-lg-6 col-sm-6 col-12">
1701          <p class="titel">Follow us</p>
1702          <ul class="social-icon">
1703            <li>
1704              <a href="https://www.facebook.com/people/Gasthof-Toblhof/100090749524890/" target="_blank">
1705                <i class="fa-brands fa-facebook"></i>
1706              </a>
1707            </li>
1708            <li>
1709              <a href="#" target="_blank">
1710                <i class="fa-brands fa-instagram-square"></i>
1711              </a>
1712            </li>
1713            <li>
1714              <a href="#" target="_blank">
1715                <i class="fa-brands fa-whatsapp"></i>
1716              </a>
1717            </li>
1718          </ul>
1719        </div>
1720      </div>
1721    </div>
1722  </section>
1723</footer>
1724
1725<!-- Footer Logos -->
1726<div class="footer-logos">
1727  <div class="container">
1728    <div class="row">
1729      <ul>
1730        <li> <a target="_blank" href="http://www.gemeinde.sandintaufers.bz.it/"> <img src="/user/themes/trendstudio/assets/logos/sand-in-taufers.png" alt="Sand in Taufers"></a></li>
1731        <li> <a target="_blank" href="https://www.ahrntal.com/de/winterurlaub-im-ahrntal/skigebiete/skigebiete-ahrntal.html"> <img src="/user/themes/trendstudio/assets/logos/skiworld-ahrntal.png" alt="Skiworld Ahrntal"></a></li>
1732        <li> <a target="_blank" href="https://www.ahrntal.com/"> <img src="/user/themes/trendstudio/assets/logos/ahrntal.png" alt="Ahrntal"></a></li>
1733        <li> <a target="_blank" href="https://www.suedtirol.info/"><img src="/user/themes/trendstudio/assets/logos/suedtirol.png" alt="Südtirol"></a></li>
1734      </ul>
1735    </div>
1736  </div>
1737</div>
1738
1739<!-- Copyright -->
1740<div class="copyright">
1741  <div class="container">
1742    <div class="row">
1743      <p>
1744        <a href="/en/impressum">Impressum & Privacy</a>
1745      </p>
1746      <p class="by">&copy; Inn Toblhof | VAT: 02541650210 | by <a target="_blank" href="https://www.trendstudio.it/">TRENDSTUDIO</a></p>
1747    </div>
1748  </div>
1749</div>
1750    
1751  </div>
1752
1753
1754<!--[if lt IE 7]>
1755      <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>
1756    <![endif]-->
vendor: 144 bytes, lines 1756-1762
1756
1757
1758
1759                              
1760
1761
1762<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
1762<script src="/user/themes/trendstudio/js/jquery.js"></script>
vendor: 1 bytes, line 1762
1762
1763<script src="/user/themes/trendstudio/js/popper.min.js"></script>
vendor: 1 bytes, line 1763
1763
1764<script src="/user/themes/trendstudio/js/bootstrap.min.js"></script>
vendor: 1 bytes, line 1764
1764
1765<script src="/user/themes/trendstudio/js/jquery.mCustomScrollbar.concat.min.js"></script>
vendor: 1 bytes, line 1765
1765
1766<script src="/user/themes/trendstudio/js/jquery.fancybox.js"></script>
vendor: 1 bytes, line 1766
1766
1767<script src="/user/themes/trendstudio/js/appear.js"></script>
vendor: 1 bytes, line 1767
1767
1768<script src="/user/themes/trendstudio/js/owl.js"></script>
vendor: 1 bytes, line 1768
1768
1769<script src="/user/themes/trendstudio/js/wow.js"></script>
vendor: 1 bytes, line 1769
1769
1770<script src="/user/themes/trendstudio/js/parallax.min.js"></script>
vendor: 1 bytes, line 1770
1770
1771<script src="/user/themes/trendstudio/js/tilt.jquery.min.js"></script>
vendor: 1 bytes, line 1771
1771
1772<script src="/user/themes/trendstudio/js/jquery.paroller.min.js"></script>
vendor: 1 bytes, line 1772
1772
1773<script src="/user/themes/trendstudio/js/jquery-ui.js"></script>
vendor: 1 bytes, line 1773
1773
1774<script src="/user/themes/trendstudio/js/jquery.magnific-popup.js"></script>
vendor: 1 bytes, line 1774
1774
1775<script src="/user/themes/trendstudio/js/slick.min.js"></script>
vendor: 1 bytes, line 1775
1775
1776<script src="/user/themes/trendstudio/js/script.js"></script>
1776
1777
1778
1779
1780<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a417c0a388226089',t:'MTc5MDQ4MzIxMA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
1780<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":"08e2892fd3804fdeb1032c4c135e1c51","r":1,"spa":2}' crossorigin="anonymous"></script>
1780
1781</body>
1782</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.