1<!DOCTYPE html> 2<html lang="de"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>Covomo Versicherungsvergleich GmbH â Vertriebsportal für Spezial- und Nischen-Versicherungen</title> 7 <!-- Fonts: Nunito + Assistant (lokal aus /fonts/) --> 8 <!-- Bootstrap 5 CSS --> 9 <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"> 10 <link href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.css" rel="stylesheet"> 11 <link href="/css/business.css?v=1.5.6" rel="stylesheet"> 12 <link href="/css/consent.css?v=1.5.6" rel="stylesheet"> 13</head> 14<body> 15 <div id="cmp-portal-revoke" style="display:none;"></div> 16 <div id="cmp-portal" class="cmp-portal-hidden" aria-hidden="true"> 17 <div id="cmp-portal-underlay"> 18 <div id="cmp-portal-inner" role="dialog" aria-labelledby="cmp-portal-BodyContentTitle" aria-modal="true" tabindex="-1" lang="de" dir="ltr" class="active cmp-portal-inner-visible"> 19 <div class="cmp-portal-ContentWrapper"> 20 <div id="cmp-portal-TabContent"> 21 <div id="cmp-portal-Body" class="cmp-portal-TabPanel" role="tabpanel"> 22 <div class="CmpScrollContainer"> 23 <div id="cmp-portal-BodyContent" class="CmpScrollArea"> 24 <div class="CmpFader active"></div> 25 <h2 id="cmp-portal-BodyContentTitle">Diese Webseite verwendet Cookies</h2> 26 <div id="cmp-portal-BodyContentText"> 27 <p>Für unsere Webseite speichern wir Cookies und andere Informationen auf Ihren Geräten und rufen diese ab. Diese helfen uns, die Benutzung unserer Dienste durch Sie zu verbessern, sowie personalisierte Empfehlungen und Werbung auszuspielen. Hierfür bitten wir um Ihre Einwilligung. Sie können diese Einwilligung jederzeit in den <a href="#" id="cmp-link-cookie-settings" onclick="openCookieSettings(); return false;">Cookie-Einstellungen</a> widerrufen. <button type="button" class="cmp-link-button" onclick="readFurther()">Weiterlesen</button></p> 28 <p class="covomo-cookie-consent-info-toggle cmp-toggle-hidden">Dabei verarbeiten wir auch pseudonymisierte Daten über Ihre Nutzung unserer Webseiten. Diese Informationen werden von unseren Partnern möglicherweise mit weiteren Daten zusammengeführt, die von Ihnen bereitgestellt oder im Zuge der Nutzung der Dienste gesammelt wurden. Wählen Sie: âNur essenzielle Cookiesâ, wenn Sie der Verarbeitung Ihrer Daten durch Dritte nicht zustimmen möchten. Wir werden dann nur die für die Nutzung dieser Seite und die Erstellung der internen Nutzungsstatistik notwendigen Cookies verwenden. Bitte beachten Sie, dass Ihnen auch insoweit ein Widerspruchsrecht nach Art. 21 DS-GVO zusteht.</p> 29 <p class="covomo-cookie-consent-info-toggle cmp-toggle-hidden">Weitere Informationen, wie auch Hinweise zur Ãnderung der Einstellungen für einzelne Cookies, finden Sie auf unserer <a href="/datenschutz/" target="_blank" rel="noopener">Datenschutzseite</a>. Dieser Hinweis verschwindet, sobald Sie eine Entscheidung getroffen haben.</p> 30 <p> 31 <a href="/datenschutz/" target="_blank" rel="noopener">Datenschutz</a> | <a href="/impressum/" target="_blank" rel="noopener">Impressum</a> | <a href="https://cdn.covomo.de/common/erstinformation.pdf" target="_blank" rel="noopener">Erstinformation</a> 32 </p> 33 </div> 34 </div> 35 </div> 36 <div class="cmp-portal-BodyBottomWrapper"> 37 <div id="cmp-portal-BodyLevelWrapper"> 38 <div id="cmp-portal-BodyLevelButtons"> 39 <div id="cmp-portal-BodyLevelButtonsTable"> 40 <div id="cmp-portal-BodyLevelButtonsRow"> 41 <div id="cmp-portal-selection-button-wrapper-panel"> 42 <fieldset> 43 <legend class="visuallyhidden">Cookie-Kategorien</legend> 44 <div class="cmp-portal-selection-button-wrapper"> 45 <label class="cmp-portal-selection-button-label" for="cmp-portal-consent-value-essential"><span class="cmp-portal-BodyLevelButtonDescription">Notwendig</span></label> 46 <div class="cmp-portal-slider-button-wrapper cmp-portal-slider-button-wrapper-disabled"><input type="checkbox" id="cmp-portal-consent-value-essential" value="essential" class="cookie-consent-switch cmp-portal-BodyLevelButton" disabled checked>
46 <span class="cmp-portal-slider-button" aria-hidden="true"></span></div> 47 </div> 48 <div class="cmp-portal-selection-button-wrapper hide"><label class="cmp-portal-selection-button-label" for="cmp-portal-ad_storage"><span class="cmp-portal-BodyLevelButtonDescription">Werbung</span></label> 49 <div class="cmp-portal-slider-button-wrapper"><input type="checkbox" id="cmp-portal-ad_storage" value="ad_storage" class="cookie-consent-switch cmp-portal-BodyLevelButton cmp-portal-BodyLevelConsentCheckbox" tabindex="0"> <span class="cmp-portal-slider-button" aria-hidden="true"></span></div> 50 </div> 51 <div class="cmp-portal-selection-button-wrapper"><label class="cmp-portal-selection-button-label" for="cmp-portal-analytics_storage"><span class="cmp-portal-BodyLevelButtonDescription">Statistik</span></label> 52 <div class="cmp-portal-slider-button-wrapper"><input type="checkbox" id="cmp-portal-analytics_storage" value="analytics_storage" class="cookie-consent-switch cmp-portal-BodyLevelButton cmp-portal-BodyLevelConsentCheckbox" tabindex="1"> <span class="cmp-portal-slider-button" aria-hidden="true"></span></div> 53 </div> 54 <div class="cmp-portal-selection-button-wrapper"><label class="cmp-portal-selection-button-label" for="cmp-portal-functionality_storage"><span class="cmp-portal-BodyLevelButtonDescription">Funktionalität</span></label> 55 <div class="cmp-portal-slider-button-wrapper"><input type="checkbox" id="cmp-portal-functionality_storage" value="functionality_storage" class="cookie-consent-switch cmp-portal-BodyLevelButton cmp-portal-BodyLevelConsentCheckbox" tabindex="2"> <span class="cmp-portal-slider-button" aria-hidden="true"></span></div> 56 </div> 57 <div class="cmp-portal-selection-button-wrapper hide"><label class="cmp-portal-selection-button-label" for="cmp-portal-personalization_storage"><span class="cmp-portal-BodyLevelButtonDescription">Personalisierung</span></label> 58 <div class="cmp-portal-slider-button-wrapper"><input type="checkbox" id="cmp-portal-personalization_storage" value="personalization_storage" class="cookie-consent-switch cmp-portal-BodyLevelButton cmp-portal-BodyLevelConsentCheckbox" tabindex="3"> <span class="cmp-portal-slider-button" aria-hidden="true"></span></div> 59 </div> 60 <div class="cmp-portal-selection-button-wrapper hide"><label class="cmp-portal-selection-button-label" for="cmp-portal-security_storage"><span class="cmp-portal-BodyLevelButtonDescription">Sicherheit</span></label> 61 <div class="cmp-portal-slider-button-wrapper"><input type="checkbox" id="cmp-portal-security_storage" value="security_storage" class="cookie-consent-switch cmp-portal-BodyLevelButton cmp-portal-BodyLevelConsentCheckbox" tabindex="4"> <span class="cmp-portal-slider-button" aria-hidden="true"></span></div> 62 </div> 63 </fieldset> 64 </div> 65 </div> 66 </div> 67 </div> 68 </div> 69 </div> 70 </div> 71 </div> 72 <div id="cmp-portal-Footer"> 73 <div id="cmp-portal-footer-buttons"> 74 <div id="cmp-portal-footer-buttons-wrapper"> 75 <button type="button" id="cmp-portal-footer-button-decline" class="cmp-portal-BodyButton" tabindex="0" onclick="consent(['essential'])">Ablehnen</button> 76 <button type="button" id="cmp-portal-footer-button-allow-selection" class="cmp-portal-BodyButton" tabindex="0" onclick="saveCookieSettings()">Auswahl erlauben</button> 77 <button type="button" id="cmp-portal-footer-button-customize" class="cmp-portal-BodyButton" tabindex="0" onclick="showCookieDetails()">Details anzeigen <span class="cmp-portal-Arrow" aria-hidden="true"></span></button> 78 <button type="button" id="cmp-portal-footer-button-allow-all" class="cmp-portal-BodyButton" tabindex="0" onclick="consent(['essential', 'analytics_storage', 'functionality_storage'])">Alle erlauben</button> 79 </div> 80 </div> 81 </div> 82 </div> 83 </div> 84 </div> 85</div> 86<div id="launcher-no-cookies-portal" class="cmp-portal-hidden" aria-hidden="true"> 87 <div id="launcher-transition"> 88 <button type="button" class="contact-launcher-button" onclick="showContactWidgetMessage()"><span class="contact-launcher-text">Kontakt</span></button> 89 </div> 90 <div id="no-cookies-message-portal" class="cmp-portal-hidden" aria-hidden="true"> 91 <div class="alert alert-secondary" role="alert"> 92 <h5>Hilfe und Live-Chat aktivieren?</h5> 93 <p>Zum Aktivieren der Hilfe- und Live-Chat-Funktion müssen Sie der Verwendung von nicht notwendigen Cookies zustimmen.</p> 94 <p class="text-center"><button type="button" onclick="consentServiceCookies()" class="consent-btn">Akzeptieren</button> <button type="button" onclick="openServiceCookieSettings()" class="consent-btn reject">Cookie-Einstellungen</button></p> 95 </div> 96 </div> 97</div>
98<script> 99 var consentCategories = [] 100 var cookieName = 'covomo-cookie-consent-v4' 101 eraseCookie('undefined'); 102 eraseCookie('cookie-consent'); 103 eraseCookie('opt-in'); 104 eraseCookie('cookie-consent-v2'); 105 106 function consentServiceCookies() { 107 consentAdd(["essential", "functionality_storage"]); 108 document.getElementById( 109 "no-cookies-message-portal" 110 ).style.display = "none"; 111 document.getElementById( 112 "launcher-no-cookies-portal" 113 ).style.display = "none"; 114 if (typeof dataLayer !== 'undefined') { 115 dataLayer.push({ 116 event: "cookie_consent_update" 117 }); 118 } 119 } 120 121 function openServiceCookieSettings() { 122 hideContactWidgetButton(); 123 openCookieSettings(); 124 } 125 126 function readFurther() { 127 var x = document.getElementsByClassName("covomo-cookie-consent-info-toggle") 128 for (i = 0; i < x.length; i++) { 129 if (x[i].style.display === "none") { 130 x[i].style.display = "block" 131 } else { 132 x[i].style.display = "none" 133 } 134 } 135 } 136 137 function openCookieSettings() { 138 var portal = document.getElementById('cmp-portal'); 139 if (portal) { 140 portal.removeAttribute('aria-hidden'); 141 portal.classList.remove('cmp-portal-hidden'); 142 portal.style.display = "block"; 143 } 144 } 145 146 function saveCookieSettings() { 147 // Remove focus from any focused element in the portal before hiding 148 var portal = document.getElementById('cmp-portal'); 149 var focusedElement = portal.querySelector(':focus'); 150 if (focusedElement) { 151 focusedElement.blur(); 152 } 153 154 document.getElementById('cmp-portal-revoke').style.display = "block" 155 156 var addConsentCategories = [] 157 var s = document.getElementsByClassName("cookie-consent-switch") 158 for (i = 0; i < s.length; i++) { 159 if (s[i].checked) addConsentCategories.push(s[i].value); 160 } 161 162 consentCategories = [] 163 consentAdd(addConsentCategories) 164 persistConsent() 165 166 // Remove aria-hidden before hiding to avoid accessibility warning 167 if (portal) { 168 portal.removeAttribute('aria-hidden'); 169 portal.style.display = "none"; 170 portal.classList.add('cmp-portal-hidden'); 171 portal.setAttribute('aria-hidden', 'true'); 172 } 173 174 if (inIframe) parent.postMessage("closeCookieSettingsFrame", "*") 175 } 176 177 function closeCookieSettings() { 178 // Remove focus from any focused element in the portal before hiding 179 var portal = document.getElementById('cmp-portal'); 180 var focusedElement = portal.querySelector(':focus'); 181 if (focusedElement) { 182 focusedElement.blur(); 183 } 184 185 // Remove aria-hidden before hiding to avoid accessibility warning 186 if (portal) { 187 portal.removeAttribute('aria-hidden'); 188 portal.style.display = "none"; 189 portal.classList.add('cmp-portal-hidden'); 190 portal.setAttribute('aria-hidden', 'true'); 191 } 192 193 if (inIframe) parent.postMessage("closeCookieSettingsFrame", "*") 194 } 195 196 window.addEventListener("message", function(event) { 197 if (event.data == "closeCookieSettingsFrame") { 198 var portal = document.getElementById('cmp-portal'); 199 var focusedElement = portal ? portal.querySelector(':focus') : null; 200 if (focusedElement) { 201 focusedElement.blur(); 202 } 203 if (portal) { 204 portal.removeAttribute('aria-hidden'); 205 portal.style.display = "none"; 206 portal.classList.add('cmp-portal-hidden'); 207 portal.setAttribute('aria-hidden', 'true'); 208 } 209 } 210 }); 211 212 function loadFunctionality() { 213 if (typeof dataLayer !== 'undefined') { 214 dataLayer.push({ 215 'event': 'loadFD' 216 }); 217 } 218 } 219 220 function loadAnalytics() { 221 if (typeof dataLayer !== 'undefined') { 222 dataLayer.push({ 223 'event': 'loadCGA4' 224 }); 225 } 226 } 227 228 function showContactWidgetButton() { 229 document.getElementById('no-cookies-message-portal').style.display = "none" 230 document.getElementById('launcher-no-cookies-portal').style.display = "block" 231 } 232 233 function hideContactWidgetButton() { 234 document.getElementById('launcher-no-cookies-portal').style.display = "none" 235 document.getElementById('no-cookies-message-portal').style.display = "block" 236 } 237 238 function showContactWidgetMessage() { 239 var launcherNoCookiesMessage = document.getElementById('no-cookies-message-portal') 240 241 if (launcherNoCookiesMessage.style.display === "none") { 242 launcherNoCookiesMessage.style.display = "block" 243 } else { 244 launcherNoCookiesMessage.style.display = "none" 245 } 246 } 247 248 function showRevokeButton() { 249 var revokeButton = document.getElementById('cmp-portal-revoke') 250 251 if (document.getElementById("footer")) { 252 document.getElementById("footer").appendChild(revokeButton) 253 } else if (document.getElementsByClassName("footer")[0]) { 254 document.getElementsByClassName("footer")[0].appendChild(revokeButton) 255 } 256 257 revokeButton.style.display = "block" 258 } 259 260 function consent(params) { 261 // Remove focus from any focused element in the portal before hiding 262 var portal = document.getElementById('cmp-portal'); 263 var focusedElement = portal.querySelector(':focus'); 264 if (focusedElement) { 265 focusedElement.blur(); 266 } 267 268 document.getElementById('cmp-portal-revoke').style.display = "block" 269 270 consentCategories = [] 271 for (i = 0; i < params.length; i++) { 272 consentCategories.push(params[i]) 273 if (params[i] == 'analytics_storage') { 274 loadAnalytics() 275 } 276 if (params[i] == 'functionality_storage') { 277 loadFunctionality() 278 } 279 } 280
281 persistConsent() 282 283 // Remove aria-hidden before hiding to avoid accessibility warning 284 if (portal) { 285 portal.removeAttribute('aria-hidden'); 286 portal.style.display = "none"; 287 portal.classList.add('cmp-portal-hidden'); 288 portal.setAttribute('aria-hidden', 'true'); 289 } 290 } 291 292 function consentAdd(params) { 293 for (i = 0; i < params.length; i++) { 294 if (consentCategories.indexOf(params[i]) == -1) { 295 consentCategories.push(params[i]); 296 if (params[i] == 'analytics_storage') { 297 loadAnalytics() 298 } 299 if (params[i] == 'functionality_storage') { 300 loadFunctionality() 301 } 302 } 303 } 304 305 persistConsent(); 306 307 // Remove focus from any focused element in the portal before hiding 308 var portal = document.getElementById('cmp-portal'); 309 var focusedElement = portal ? portal.querySelector(':focus') : null; 310 if (focusedElement) { 311 focusedElement.blur(); 312 } 313 314 // Remove aria-hidden before hiding to avoid accessibility warning 315 if (portal && portal.style.display !== 'none') { 316 portal.removeAttribute('aria-hidden'); 317 portal.style.display = "none"; 318 portal.classList.add('cmp-portal-hidden'); 319 portal.setAttribute('aria-hidden', 'true'); 320 } 321 document.getElementById('cmp-portal-revoke').style.display = "block" 322 } 323 324 function consentReset() { 325 document.getElementById('marketing').checked = false; 326 document.getElementById('performance').checked = false; 327 eraseCookie(cookieName); 328 document.getElementById('cmp-portal-revoke').style.display = "none" 329 document.getElementById('cmp-portal').style.display = "block" 330 } 331 332 function persistConsent() { 333 createCookie(cookieName, consentCategories.join(','), 90) 334 } 335 336 function createCookie(name, value, days) { 337 var expires = '' 338 339 if (days) { 340 var date = new Date() 341 date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)) 342 var expires = '; expires=' + date.toGMTString() 343 } 344 document.cookie = name + '=' + value + '; SameSite=None; Secure;' + expires + '; path=/; domain=.covomo.de' 345 } 346 347 function eraseCookie(cookieName) { 348 createCookie(cookieName, "", -1) 349 } 350 351 function getCookie(name) { 352 var nameEQ = name + "=" 353 var ca = document.cookie.split(';') 354 for (var i = 0; i < ca.length; i++) { 355 var c = ca[i]; 356 while (c.charAt(0) == ' ') { 357 c = c.substring(1, c.length) 358 } 359 if (c.indexOf(nameEQ) == 0) { 360 return c.substring(nameEQ.length, c.length) 361 } 362 } 363 return null; 364 } 365 366 function initCookieBanner() { 367 try { 368 var portal = document.getElementById('cmp-portal'); 369 if (getCookie(cookieName) !== null) { 370 document.getElementById('cmp-portal-revoke').style.display = "block" 371 if (portal) { 372 portal.removeAttribute('aria-hidden'); 373 portal.style.display = "none"; 374 portal.classList.add('cmp-portal-hidden'); 375 portal.setAttribute('aria-hidden', 'true'); 376 } 377 if (!isConsentSet("functionality_storage")) { 378 showContactWidgetButton() 379 } 380 } else { 381 document.getElementById('cmp-portal-revoke').style.display = "none" 382 if (portal) { 383 portal.removeAttribute('aria-hidden'); 384 portal.classList.remove('cmp-portal-hidden'); 385 portal.style.display = "block"; 386 } 387 } 388 } catch (e) { 389 return 390 } 391 } 392 393 function initCookieSettings() { 394 if (getCookie(cookieName) !== null) { 395 consentCategories = getCookie(cookieName).split(",") 396 var s = document.getElementsByClassName("cookie-consent-switch") 397 for (i = 0; i < s.length; i++) { 398 if (consentCategories.indexOf(s[i].value) !== -1) { 399 s[i].checked = true 400 } else { 401 s[i].checked = false 402 } 403 } 404 } 405 } 406 407 function isConsentSet(param) { 408 var cc = getCookie(cookieName) 409 if (cc !== null && cc.includes(param)) return true 410 else return false 411 } 412 413 function inIframe() { 414 try { 415 return window.self !== window.top 416 } catch (e) { 417 return true 418 } 419 } 420 421 function showCookieDetails() { 422 window.location.href = "/cookies"; 423 } 424 425 // Initialize cookie settings when DOM is ready 426 function initCookieSettingsWhenReady() { 427 if (typeof initCookieSettings === 'function') { 428 try { 429 initCookieSettings(); 430 } catch (e) { 431 console.warn('initCookieSettings error:', e); 432 } 433 } 434 } 435 436 // Run initCookieSettings when DOM is ready 437 if (document.readyState === 'loading') { 438 document.addEventListener('DOMContentLoaded', initCookieSettingsWhenReady); 439 } else { 440 initCookieSettingsWhenReady(); 441 } 442 443 // Localize cookie policy based on locale 444 (function() { 445 function getCookieLocale() { 446 try { 447 // Check URL parameter first
448 var urlParams = new URLSearchParams(window.location.search); 449 var lang = urlParams.get('lang'); 450 if (lang && window.STATUS_I18N && window.STATUS_I18N[lang]) { 451 return lang; 452 } 453 // Check localStorage (service app locale) 454 var stored = localStorage.getItem('status-locale'); 455 if (stored && window.STATUS_I18N && window.STATUS_I18N[stored]) { 456 return stored; 457 } 458 } catch (e) {} 459 return 'de'; // Default to German 460 } 461 462 function translateCookiePolicy(locale) { 463 if (!window.STATUS_I18N || !window.STATUS_I18N[locale] || locale === 'de') { 464 return; // No translation needed for German (default) 465 } 466 467 var t = window.STATUS_I18N[locale]; 468 var fallback = window.STATUS_I18N['de']; 469 470 function getText(key) { 471 return (t && t[key]) || (fallback && fallback[key]) || ''; 472 } 473 474 // Update title 475 var titleEl = document.getElementById('cmp-portal-BodyContentTitle'); 476 if (titleEl) { 477 titleEl.textContent = getText('cookie_title'); 478 } 479 480 // Update main text 481 var textEl = document.getElementById('cmp-portal-BodyContentText'); 482 if (textEl) { 483 var mainText = getText('cookie_text'); 484 var extended1 = getText('cookie_text_extended_1'); 485 var extended2 = getText('cookie_text_extended_2'); 486 if (mainText) { 487 textEl.innerHTML = '<p>' + mainText + '</p>' + 488 '<p class="covomo-cookie-consent-info-toggle cmp-toggle-hidden">' + extended1 + '</p>' + 489 '<p class="covomo-cookie-consent-info-toggle cmp-toggle-hidden">' + extended2 + '</p>' + 490 '<p><a href="/datenschutz/" target="_blank" rel="noopener">' + getText('footer_privacy') + '</a> | <a href="/impressum/" target="_blank" rel="noopener">' + getText('footer_imprint') + '</a> | <a href="https://cdn.covomo.de/common/erstinformation.pdf" target="_blank" rel="noopener">Erstinformation</a></p>'; 491 } 492 } 493 494 // Update categories 495 var categories = [ 496 { id: 'cmp-portal-consent-value-essential', key: 'cookie_category_essential' }, 497 { id: 'cmp-portal-ad_storage', key: 'cookie_category_advertising' }, 498 { id: 'cmp-portal-analytics_storage', key: 'cookie_category_analytics' }, 499 { id: 'cmp-portal-functionality_storage', key: 'cookie_category_functionality' }, 500 { id: 'cmp-portal-personalization_storage', key: 'cookie_category_personalization' }, 501 { id: 'cmp-portal-security_storage', key: 'cookie_category_security' } 502 ]; 503 categories.forEach(function(cat) { 504 var label = document.querySelector('label[for="' + cat.id + '"] .cmp-portal-BodyLevelButtonDescription'); 505 if (label) { 506 label.textContent = getText(cat.key); 507 } 508 }); 509 510 // Update legend 511 var legend = document.querySelector('#cmp-portal-selection-button-wrapper-panel fieldset legend'); 512 if (legend) { 513 legend.textContent = getText('cookie_categories'); 514 } 515 516 // Update buttons 517 var declineBtn = document.getElementById('cmp-portal-footer-button-decline'); 518 if (declineBtn) declineBtn.textContent = getText('cookie_decline'); 519 var allowSelectionBtn = document.getElementById('cmp-portal-footer-button-allow-selection'); 520 if (allowSelectionBtn) allowSelectionBtn.textContent = getText('cookie_allow_selection'); 521 var customizeBtn = document.getElementById('cmp-portal-footer-button-customize'); 522 if (customizeBtn) { 523 var arrow = customizeBtn.querySelector('.cmp-portal-Arrow'); 524 customizeBtn.innerHTML = getText('cookie_show_details') + (arrow ? ' <span class="cmp-portal-Arrow" aria-hidden="true"></span>' : ''); 525 } 526 var allowAllBtn = document.getElementById('cmp-portal-footer-button-allow-all'); 527 if (allowAllBtn) allowAllBtn.textContent = getText('cookie_allow_all'); 528 529 // Update contact widget 530 var contactTitle = document.querySelector('#no-cookies-message-portal h5'); 531 if (contactTitle) contactTitle.textContent = getText('cookie_contact_title'); 532 var contactText = document.querySelector('#no-cookies-message-portal .alert p:first-of-type'); 533 if (contactText) contactText.textContent = getText('cookie_contact_text'); 534 var contactAccept = document.querySelector('#no-cookies-message-portal .consent-btn:not(.reject)'); 535 if (contactAccept) contactAccept.textContent = getText('cookie_contact_accept'); 536 var contactSettings = document.querySelector('#no-cookies-message-portal .consent-btn.reject'); 537 if (contactSettings) contactSettings.textContent = getText('cookie_contact_settings'); 538 var contactButton = document.querySelector('.contact-launcher-text'); 539 if (contactButton) contactButton.textContent = getText('cookie_contact_button'); 540 541 // Update lang attribute 542 var portalInner = document.getElementById('cmp-portal-inner'); 543 if (portalInner) { 544 portalInner.setAttribute('lang', locale); 545 } 546 } 547 548 // Wait for STATUS_I18N to be available, then translate 549 function initCookieLocalization() { 550 var locale = getCookieLocale(); 551 if (window.STATUS_I18N && locale !== 'de') { 552 translateCookiePolicy(locale); 553 // Re-initialize cookie settings after translation to ensure checkboxes are set correctly 554 if (typeof initCookieSettings === 'function') { 555 try { 556 initCookieSettings(); 557 } catch (e) { 558 console.warn('initCookieSettings error after translation:', e); 559 } 560 } 561 } else if (!window.STATUS_I18N) { 562 // Wait a bit for STATUS_I18N to load 563 setTimeout(initCookieLocalization, 100); 564 } 565 } 566 567 // Run on DOM ready 568 if (document.readyState === 'loading') { 569 document.addEventListener('DOMContentLoaded', initCookieLocalization); 570 } else { 571 initCookieLocalization(); 572 } 573 })(); 574</script>
574
574<script> 575 (function() { 576 function initBusinessCookieBanner() { 577 if (typeof initCookieBanner === 'function') initCookieBanner(); 578 } 579 if (document.readyState === 'loading') { 580 document.addEventListener('DOMContentLoaded', initBusinessCookieBanner); 581 } else { 582 initBusinessCookieBanner(); 583 } 584 })(); 585 </script>
585 586
586<script> 587 (function() { 588 function loadFreshdeskIfConsent() { 589 if (typeof getCookie !== 'function' || typeof cookieName === 'undefined') return; 590 var val = getCookie(cookieName); 591 if (!val || val.indexOf('functionality_storage') === -1) return; 592 var msg = document.getElementById('no-cookies-message-portal'); 593 var launcher = document.getElementById('launcher-no-cookies-portal'); 594 if (msg) msg.style.display = 'none'; 595 if (launcher) launcher.style.display = 'none'; 596 window.fwSettings = { 'widget_id': 77000001092 }; 597 if (typeof window.FreshworksWidget !== 'function') { 598 var n = function() { n.q.push(arguments); }; 599 n.q = []; 600 window.FreshworksWidget = n; 601 } 602 window.FreshworksWidget('prefill', 'ticketForm', { 603 type: 'Kontaktanfrage', 604 group_id: 77000101376, 605 product_id: 77000000619 606 }); 607 window.FreshworksWidget('hide', 'ticketForm', ['type', 'group_id', 'product_id', 'custom_fields.cf_covomo_booking_id', 'custom_fields.cf_covomo_booking_url', 'custom_fields.cf_covomo_user_type', 'custom_fields.cf_covomo_partner_id', 'custom_fields.cf_covomo_pool_id', 'custom_fields.cf_covomo_pool_name', 'custom_fields.cf_covomo_metadata']); 608 var s = document.createElement('script'); 609 s.src = 'https://euc-widget.freshworks.com/widgets/77000001092.js'; 610 s.async = true; 611 s.defer = true; 612 s.onload = function() { 613 var modals = document.querySelectorAll("[data-target='#contactModal']"); 614 for (var i = 0; i < modals.length; i++) { 615 modals[i].addEventListener('click', function(e) { 616 e.preventDefault(); 617 e.stopPropagation(); 618 window.FreshworksWidget('open'); 619 }); 620 } 621 }; 622 document.body.appendChild(s); 623 } 624 if (document.readyState === 'loading') { 625 document.addEventListener('DOMContentLoaded', loadFreshdeskIfConsent); 626 } else { 627 loadFreshdeskIfConsent(); 628 } 629 })(); 630 </script>
630 631 <div id="app"></div> 632 633 <!-- Bootstrap 5 JS (navbar toggler, dropdowns) --> 634
634<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
634 635 <!-- Vue 3 --> 636
636<script src="https://unpkg.com/vue@3/dist/vue.global.prod.js"></script>
636 637
637<script src="https://unpkg.com/vue-router@4/dist/vue-router.global.prod.js"></script>
637 638
638<script> 639 window.BUSINESS_BASE = '/business'; 640 </script>
640 641
641<script src="/js/business/jobs-benefit-svgs.js?v=1.5.6"></script>
641 642
642<script src="/js/business/app.js?v=1.5.6"></script>
vendor: 1 bytes, line 642
642
643<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":"f821e867cccb4f91bc72881f13dda3dd","spa":2}' crossorigin="anonymous"></script>
643 644</body> 645</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.