1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="utf-8" /> 5<title>Fichtenhof | Pension & 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 & 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> . 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 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 & 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.