1 2 3 4<!DOCTYPE html> 5 6<html lang="de"> 7<head> 8
8<script> 9 window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } 10 </script>
10 11 12 13 14 <!-- Google Tag Manager -->
14<script type='text/javascript' class='optanon-category-C0002'>
vendor: 317 bytes, line 14
14(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','
14GTM-KCJLTX
vendor: 3 bytes, line 14
14');
14</script>
14<!-- End Google Tag Manager --> 15 16 <link rel="shortcut icon" href="/favicon.ico"> 17 18 19 <meta name="viewport" content="width=device-width"> 20 <title>Für Fachpersonal | Ascensia Diabetes Care Deutschland</title> 21 22<meta content="Unterstützen Sie Ihre Patienten bei der Diabetesbehandlung mit unseren Produkten und Services zur Blutzuckermessung. 23 24" name="description" /> 25 26<link href="https://www.diabetes.ascensia.de/fachpersonal/" rel="canonical" /> 27 28 29 30 31 32 33 34 35 36 37 <link href="/bundles/countrycssbundles?v=J9kSdn0nM4heNynACocl4CS6ITkAK-1EvrdLxSnURTU1" rel="stylesheet"/> 38 39 40 41 42 <link href="/Areas/Corporate/Static/css/press-releases-redesign.css" rel="stylesheet" /> 43 <link href="/sitespecific.css" rel="stylesheet" /> 44 <link rel="stylesheet" type="text/css" href="/Static/css/slick.css" /> 45 <link rel="stylesheet" type="text/css" href="/Static/css/slick-theme.css" /> 46 47 48 <style> 49 #map { 50 height: 100%; 51 } 52 53 .pac-container { 54 z-index: 100000; 55 } 56 </style> 57
57<script src="/bundles/countryjsBundles?v=f62ngvHgYK8Ja4tdz-mx3qCY7NZJEVxXa0gfKf8ORpo1"></script>
57 58 59 60 61 62 63 64 65 66
67<script type="text/javascript">var appInsights=window.appInsights||function(config){function t(config){i[config]=function(){var t=arguments;i.queue.push(function(){i[config].apply(i,t)})}}var i={config:config},u=document,e=window,o="script",s="AuthenticatedUserContext",h="start",c="stop",l="Track",a=l+"Event",v=l+"Page",r,f;setTimeout(function(){var t=u.createElement(o);t.src=config.url||"https://js.monitor.azure.com/scripts/a/ai.0.js";u.getElementsByTagName(o)[0].parentNode.appendChild(t)});try{i.cookie=u.cookie}catch(y){}for(i.queue=[],r=["Event","Exception","Metric","PageView","Trace","Dependency"];r.length;)t("track"+r.pop());return t("set"+s),t("clear"+s),t(h+a),t(c+a),t(h+v),t(c+v),t("flush"),config.disableExceptionTracking||(r="onerror",t("_"+r),f=e[r],e[r]=function(config,t,u,e,o){var s=f&&f(config,t,u,e,o);return s!==!0&&i["_"+r](config,t,u,e,o),s}),i}({instrumentationKey:"a0e4ff8c-52e3-42f1-95af-ea508c3508d9",sdkExtension:"a"});window.appInsights=appInsights;appInsights.queue&&appInsights.queue.length===0&&appInsights.trackPageView();</script>
67</head> 68<body> 69 70 71 72 73 74 75 76 77 78 79 80 81<!-- Google Tag Manager (noscript) -->
vendor: 61 bytes, line 81
81<noscript><iframe src="//www.googletagmanager.com/ns.html?id=
81GTM-KCJLTX
vendor: 82 bytes, line 81
81" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
81<!-- End Google Tag Manager (noscript) --> 82<a href="#main-content" class="skip-to-main"> 83 Skip to Main Content 84</a> 85
86<script> 87 require(['/bundles/countryMainjs?v=dF-nZR659Uc7dVO2KJy6VmMEzhxYnWrvbbnsETTNbIo1'], function () { 88 require(['jquery'], 89 function () { 90 require(['jquery_validate'], 91 function () { 92 require(['jquery_validate_unobtrusive'], function () { 93 require(['/bundles/countryMainjs?v=dF-nZR659Uc7dVO2KJy6VmMEzhxYnWrvbbnsETTNbIo1'], function () { 94 require(['jquery','/bundles/countryJs?v=Hl2JRONzovxBS-UWTrcmb-Ps7QZeeZMJpYOLuFnRbds1', 'bootstrap', '/Static/js/sitespecific.js', 'slick'], function ($,Country,Bootstrap,SiteSpecific ) { 95 Country.init({"AudienceActivated": "False", "AudienceType": "", "AlternateContentPage": ""}); 96 Country.addWhiteListUrls(['compatibility.contourone.com','www.diabetes.ascensia.de','diabetes.ascensia.de','ascensia.com','www.ascensia.com','diabetes.ascensia.com','www.diabetes.ascensia.com','contourone.de','www.contourone.de','www.ascensiadiabeteschallenge.com','www.100ProzentIch.eu','www.justinmind.com','www.contourone.de','glucofacts.ascensia.com','teams.microsoft.com']); 97 Country.addCountrySelect('/Country/CountrySelectorBlock/CountrySearch'); 98 Country.initMultipleItemsCarousel(); 99 Country.switchWinEmail('/Country/CountrySWProductCalloutBlock/SendEmail', '#sw-form-container'); 100 Country.downloadCoupon('/Country/CountryForm/UpdateWebsiteResponseCodeForHCP/', 'frmCouponDownload'); 101 Country.youTubeVideoPopup(); 102 Country.multiDropdownHandler(); 103 SiteSpecific.init(); 104 }); 105 }); 106 }); 107 }); 108 }); 109 }); 110</script>
110 111 112 113<head> 114 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
115<script type="text/javascript">var appInsights=window.appInsights||function(config){function t(config){i[config]=function(){var t=arguments;i.queue.push(function(){i[config].apply(i,t)})}}var i={config:config},u=document,e=window,o="script",s="AuthenticatedUserContext",h="start",c="stop",l="Track",a=l+"Event",v=l+"Page",r,f;setTimeout(function(){var t=u.createElement(o);t.src=config.url||"https://js.monitor.azure.com/scripts/a/ai.0.js";u.getElementsByTagName(o)[0].parentNode.appendChild(t)});try{i.cookie=u.cookie}catch(y){}for(i.queue=[],r=["Event","Exception","Metric","PageView","Trace","Dependency"];r.length;)t("track"+r.pop());return t("set"+s),t("clear"+s),t(h+a),t(c+a),t(h+v),t(c+v),t("flush"),config.disableExceptionTracking||(r="onerror",t("_"+r),f=e[r],e[r]=function(config,t,u,e,o){var s=f&&f(config,t,u,e,o);return s!==!0&&i["_"+r](config,t,u,e,o),s}),i}({instrumentationKey:"a0e4ff8c-52e3-42f1-95af-ea508c3508d9",sdkExtension:"a"});window.appInsights=appInsights;appInsights.queue&&appInsights.queue.length===0&&appInsights.trackPageView();</script>
115</head> 116 117 118 119<header class="section-header-bar has-utility "> 120 <div class="header-wrapper"> 121 <div class="top-bar" style="background-color: #fff;"> 122 <div> 123 <div class="topbarfachpersonal">Diese Website ist für Fachpersonal bestimmt | <span style="text-decoration: underline;"><a class="patientlink" href="/">Zur Patientenseite</a></span></div> 124 </div> 125 126 127 </div> 128 <div class="nav-main" style="background-color: #fff;"> 129 <div class="logo"> 130 <a href="/fachpersonal/"> 131 <img src="/globalassets/countryv2/contour_logo_blue-768x2402.png" alt="Logo" /> 132 </a> 133 </div> 134 <div class="menu-bar-cta-btn mobile-shop-now-outer-div"> 135 <a href="/fachpersonal/contourbestellen/" class="menu-cta-btn"> 136 Kostenfreie Testgeräte 137 </a> 138 </div> 139 140 141 <button class="menu-toggle" 142 type="button" 143 aria-label="Open menu" 144 aria-expanded="false" 145 aria-controls="mobile-navigation"> 146 <img src="/globalassets/countryv2/menu2.svg" alt="Menu" class="icon-hamburger hamburger-img" /> 147 148 <img src="/globalassets/countryv2/close-x2.svg" alt="Close Menu" class="icon-close-mobile d-mobile-only" /> 149 </button> 150 <nav aria-label="Main menu"> 151 <ul class="menu" id="mobile-navigation"> 152 153 <li class=""> 154 155 <a class="" 156 href="/fachpersonal/produkte/"> 157 Produkte 158 </a> 159 </li> 160 <li class=""> 161 162 <a class="" 163 href="/fachpersonal/about-us/"> 164 Ãber uns 165 </a> 166 </li> 167 <li class="has-submenu has-submenu-hover"> 168 169 <a class="top-anchor " 170 href="#" aria-expanded="false" 171 aria-controls="submenu-Service" role="button"> 172 173 174 Service 175 <i class="fas fa-chevron-down arrow-down-icon d-mobile-only"></i> 176 </a> 177 <ul class="submenu" id="submenu-Service"> 178 <li class=" "> 179 <a tabindex="0" class="sub-anchor " 180 href="/fachpersonal/service/"> 181 182 183 Kontaktieren Sie uns 184 </a> 185 186 </li> 187 <li class=" "> 188 <a tabindex="0" class="sub-anchor " 189 href="/fachpersonal/service/umrechner/"> 190 191 192 mmol/l <> mg/dl Umrechner 193 </a> 194 195 </li> 196 <li class=" "> 197 <a tabindex="0" class="sub-anchor " 198 href="/fachpersonal/service/rilibaek/"> 199 200 201 RiliBÃK-Rechner 202 </a> 203 204 </li> 205 <li class=" "> 206 <a tabindex="0" class="sub-anchor " 207 href="/fachpersonal/diabetes-kolleg/#Sub-Menu-6"> 208 209 210 Diabetes-Kolleg Webinar 211 </a> 212 213 </li> 214 <li class=" "> 215 <a tabindex="0" class="sub-anchor " 216 href="https://shop.ascensia.de/de/login"> 217 218 219 Apotheken OnlineShop 220 </a> 221 222 </li> 223 <li class=" "> 224 <a tabindex="0" class="sub-anchor " 225 href="/fachpersonal/service/resourcescenter/"> 226 227 228 Resources Center 229 </a> 230 231 </li> 232 </ul> 233 </li> 234 <li class="mobile-language-select d-mobile-only"> 235<div class="topbarfachpersonal">Diese Website ist für Fachpersonal bestimmt
235 | <span style="text-decoration: underline;"><a class="patientlink" href="/">Zur Patientenseite</a></span></div> </li> 236 <li class="mobile-language-select d-mobile-only"> 237 </li> 238 <li class="mobile-search-container d-mobile-only"> 239 <form method="get" action="/search-result/"> 240 <img src="/globalassets/countryv2/magnifier-12.svg" alt="Search Icon" /> 241 <input type="text" 242 class="header-search-input" 243 name="term" 244 placeholder="Suche" 245 aria-label="Suche" /> 246 </form> 247 </li> 248 249 250<style> 251html{ 252font-size:16px; 253} 254.product-page .footnotes p { 255font-size: 12px; 256} 257.section-header-bar .menu .has-submenu .submenu a.active { 258text-decoration:none !important; 259} 260 261.section-header-bar .submenu a 262 { 263 264 justify-content: unset; 265 266} 267 268.patientlink { 269font-size: 14px; 270padding-left: 5px; 271} 272 273.top-bar, .section-header-bar.sticky .top-bar { 274background-color: #eee !important; 275background: #eee !important; 276} 277 278 .section-header-bar.sticky .nav-main { 279background: #fff !important; 280} 281 282.section-header-bar .top-bar { 283text-align:center; 284justify-content: center; 285} 286 287.section-header-bar.sticky { 288top:0 !important; 289} 290 291@media (max-width: 1024px) { .section-header-bar .mobile-search-container .header-search-input { max-width: 400px; } } 292@media (min-width: 64.063rem) { 293 .section-header-bar .submenu { 294 min-width: 13.25rem; 295 } 296} 297.menu > li > a:hover { 298 text-decoration: underline; 299 text-underline-offset: 4px; 300 text-decoration-thickness: 2px; 301} 302@media (min-width: 1024px) { 303 .section-header-bar .submenu li { 304 margin: 0.3125rem 12px 0.3125rem 0.3125rem; 305 } 306} 307@media screen and (min-width: 1025px) and (max-width: 1200px) { 308 .section-header-bar .menu a { 309 padding: 0.8125rem 0.40rem; 310 } 311} 312 313@media (min-width: 1024px) { 314 .section-header-bar .submenu li { 315 margin: 0.3125rem 12px 0.3125rem 0.3125rem; 316} 317} 318 319@media (max-width: 550px) { 320.topbarfachpersonal, .top-bar a { 321font-size:10px !important; 322} 323 324.section-header-bar .top-bar { 325padding: 0.5rem 1.125rem; 326} 327} 328@media screen and (min-width: 370px) and (max-width: 376px) { 329 .section-header-bar.long-cta-text .menu-bar-cta-btn .menu-cta-btn { 330 padding: 0 6.5rem !important; 331} 332} 333@media screen and (min-width: 370px) and (max-width: 376px) { 334 .section-header-bar.long-cta-text .mobile-shop-now-outer-div { 335 right: 6.5rem !important; 336} 337} 338.top-bar a { 339 color: #333; 340 text-decoration: none; 341 font-size: 0.875rem; 342 margin: 0; 343 font-family: "Roboto", Sans-serif; 344 font-weight: 400; 345 margin-right: 10px; 346} 347.top-bar a:hover { 348 text-decoration: underline; 349} 350.menu > li > a:hover { 351 text-decoration: underline; 352 text-underline-offset: 4px; 353text-decoration-thickness: 2px; 354} 355 356@media (max-width: 64rem) { 357 .section-header-bar .top-bar { 358 display: block !important; 359 } 360 361 .section-header-bar .mobile-language-select { 362 display: none !important; 363 } 364} 365</style> <li class="menu-bar-cta-btn hidden-in-mobile"> 366 <a href="/fachpersonal/contourbestellen/" alt="Search Icon" class="menu-cta-btn"> 367 Kostenfreie Testgeräte 368 </a> 369 </li> 370 371 <li class="header-search-icon-li desktop-menu-search-icon"> 372 <button type="button" href="/search-result/" class="toggle-search" aria-label="Open search" aria-expanded="false" aria-controls="header-search-panel"> 373 <img src="/globalassets/countryv2/magnifier-12.svg" alt="Search Icon" /> 374 </button> 375 <div class="header-search-container"> 376 <form method="get" action="/search-result/"> 377 <label for="header-search-input" class="visually-hidden"> 378 Search 379 </label> 380 <input id="header-search-input" type="text" 381 class="header-search-input header-search-input-desktop" 382 name="term" 383 placeholder="Suche" 384 aria-label="Suche" /> 385 <button type="submit" class="header-search-button header-search-icon-btn" aria-label="Submit Search">
386 <span class="header-search-icon-arrow"></span> 387 </button> 388 </form> 389 </div> 390 </li> 391 </ul> 392 </nav> 393 394 </div> 395 </div> 396</header> 397
398<script> 399 document.addEventListener('DOMContentLoaded', function () { 400 var windowWidth = window.innerWidth; 401 const menuToggle = document.querySelector('.menu-toggle'); 402 const topMenus = document.querySelectorAll('.top-anchor'); 403 const subMenus = document.querySelectorAll('.sub-anchor'); 404 const subMenuFlyouts = document.querySelectorAll('.submenu'); 405 const menu = document.querySelector('.menu'); 406 const bodytag = document.querySelector('body'); 407 const header = document.querySelector('.section-header-bar'); 408 const breadcrumb = document.querySelector('.breadcrumb-wrap'); 409 const topbar = document.querySelector('.top-bar'); 410 const hero = document.querySelector('.hero-top-banner-container'); 411 const searchToggle = document.querySelector('.toggle-search'); 412 const searchContainer = document.querySelector('.header-search-container'); 413 const input = document.querySelector('.header-search-input-desktop'); 414 const searchIcon = searchToggle ? searchToggle.querySelector('img') : null; 415 var focusInDeepAnchor = false; 416 let typingTimer; 417 418 function isMobileView() { 419 return window.matchMedia('(max-width: 768px)').matches; 420 } 421 422 // Anchors retain existing styling; role="button" describes their toggle action. 423 function setTopMenuExpanded(trigger, expanded) { 424 const parentLi = trigger.parentElement; 425 const submenu = parentLi.querySelector(':scope > .submenu'); 426 if (!submenu) return; 427 parentLi.classList.toggle('open', expanded); 428 submenu.classList.toggle('show', expanded); 429 // Also override hover styling when Escape or activation closes a dropdown. 430 submenu.style.display = expanded ? 'block' : 'none'; 431 trigger.setAttribute('aria-expanded', expanded ? 'true' : 'false'); 432 if (!expanded) { 433 submenu.querySelectorAll('.submenu').forEach(child => { 434 child.classList.remove('show'); 435 child.style.removeProperty('display'); 436 child.parentElement.classList.remove('open'); 437 const childTrigger = child.parentElement.querySelector(':scope > a'); 438 if (childTrigger) childTrigger.setAttribute('aria-expanded', 'false'); 439 }); 440 } 441 if (isMobileView() && menu) { 442 menu.style.height = 'auto'; 443 if (window.innerHeight < menu.offsetHeight) menu.style.height = '90vh'; 444 } 445 } 446 447 function closeAllSubmenus(context = document) { 448 context.querySelectorAll('.top-anchor[role="button"]').forEach(trigger => setTopMenuExpanded(trigger, false)); 449 context.querySelectorAll('li.has-submenu.open').forEach(li => { 450 li.classList.remove('open'); 451 const submenu = li.querySelector(':scope > .submenu'); 452 if (submenu) { 453 submenu.style.display = 'none'; //hide the submenu when transitioning from mobile to desktop resizing 454 submenu.style.removeProperty('display'); //then remove it entirely 455 //submenu.style.display = 'none'; 456 const trigger = li.querySelector(':scope > a'); 457 458 if (trigger) { 459 trigger.setAttribute('aria-expanded', 'false'); 460 } 461 } 462 }); 463 } 464 465 if (windowWidth <= 767) { 466 header.classList.toggle('sticky', true); 467 468 if (breadcrumb) { 469 breadcrumb.classList.toggle('margin-top', true); 470 } 471 else { 472 bodytag.classList.toggle('margin-top-light', true); 473 } 474 } 475 476 if (menuToggle && menu) { 477 478 /*Accessibility Start*/ 479 //topMenus.forEach(link => { 480 // link.addEventListener('focus', () => { 481 // const parentLi = link.parentElement.querySelector('.submenu'); 482 // if (parentLi.classList.contains('show') == false) { 483 // parentLi.classList.add('show', true); 484 // link.setAttribute('aria-expanded', 'true'); 485 // } 486 // });
487 // link.addEventListener('blur', () => { 488 // const parentLi = link.parentElement.querySelector('.submenu'); 489 // if (parentLi.classList.contains('show') == true) { 490 // parentLi.classList.remove('show', true); 491 // link.setAttribute('aria-expanded', 'false'); 492 // } 493 // }); 494 // link.addEventListener('mouseenter', () => { 495 496 // if (!isMobileView()) { 497 // link.setAttribute('aria-expanded', 'true'); 498 // } 499 500 // subMenuFlyouts.forEach(div => { 501 // div.classList.remove("show"); 502 // div.classList.remove("true"); 503 // }); 504 505 // topMenus.forEach(div => { 506 // if (div !== link) { 507 // div.setAttribute("aria-expanded", "false"); 508 // div.blur(); 509 // } 510 // }); 511 // }); 512 // link.parentElement.addEventListener('mouseleave', () => { 513 514 // if (!isMobileView()) { 515 // link.setAttribute('aria-expanded', 'false'); 516 // } 517 518 // }); 519 //}); 520 topMenus.forEach(link => { 521 522 link.parentElement.addEventListener('mouseenter', function () { 523 524 if (isMobileView()) return; 525 526 setTopMenuExpanded(link, true); 527 528 }); 529 530 link.parentElement.addEventListener('mouseleave', function () { 531 532 if (isMobileView()) return; 533 534 const trigger = this.querySelector(':scope > a.top-anchor'); 535 536 if (trigger && !this.contains(document.activeElement)) { 537 setTopMenuExpanded(trigger, false); 538 } 539 540 }); 541 542 }); 543 function getDirectMenuItems(submenuEl) { 544 return submenuEl ? Array.from(submenuEl.querySelectorAll(':scope > li > a')) : []; 545 } 546 547 topMenus.forEach(link => { 548 549 link.addEventListener('keydown', function (e) { 550 551 const submenu = this.parentElement.querySelector(':scope > .submenu'); 552 553 if (!submenu) return; 554 555 if (e.key === 'Enter' || e.key === ' ') { 556 557 e.preventDefault(); 558 559 if (!e.repeat) this.click(); 560 return; 561 } 562 563 if (e.key === 'Escape') { 564 e.preventDefault(); 565 setTopMenuExpanded(this, false); 566 return; 567 } 568 569 if (e.key === 'ArrowDown') { 570 571 e.preventDefault(); 572 573 setTopMenuExpanded(this, true); 574 575 const firstItem = getDirectMenuItems(submenu)[0]; 576 577 if (firstItem) { 578 firstItem.focus(); 579 } 580 } 581 582 if (e.key === 'ArrowUp') { 583 584 e.preventDefault(); 585 586 setTopMenuExpanded(this, true); 587 588 const items = getDirectMenuItems(submenu); 589 const lastItem = items[items.length - 1]; 590 591 if (lastItem) { 592 lastItem.focus(); 593 } 594 } 595 596 }); 597 598 }); 599 600 601 602 subMenus.forEach(link => { 603 604 link.addEventListener('keydown', function (e) { 605 606 const parentSubmenu = this.closest('.submenu'); 607 608 if (!parentSubmenu) return; 609 610 const items = getDirectMenuItems(parentSubmenu); 611 612 const index = items.indexOf(this); 613 614 if (e.key === 'ArrowDown') { 615 616 e.preventDefault(); 617 618 const next = items[index + 1] || items[0]; 619 620 next.focus(); 621 622 } 623 624 if (e.key === 'ArrowUp') { 625 626 e.preventDefault(); 627 628 const prev = items[index - 1] || items[items.length - 1]; 629 630 prev.focus(); 631 632 } 633 634 if (e.key === 'Home') { 635 636 e.preventDefault(); 637 638 if (items[0]) { 639 items[0].focus(); 640 } 641 642 } 643 644 if (e.key === 'End') { 645 646 e.preventDefault(); 647 648 if (items[items.length - 1]) { 649 items[items.length - 1].focus(); 650 } 651 652 } 653 654 }); 655 656 }); 657
658 subMenus.forEach(link => { 659 660 link.addEventListener('keydown', function (e) { 661 662 const parentLi = this.parentElement; 663 const nestedSubmenu = parentLi.querySelector(':scope > .submenu'); 664 665 if ((e.key === 'Enter' || e.key === 'ArrowRight') && nestedSubmenu) { 666 667 e.preventDefault(); 668 669 nestedSubmenu.classList.add('show'); 670 nestedSubmenu.style.display = 'block'; 671 672 this.setAttribute('aria-expanded', 'true'); 673 674 const firstItem = getDirectMenuItems(nestedSubmenu)[0]; 675 676 if (firstItem) { 677 firstItem.focus(); 678 } 679 680 } 681 682 if (e.key === 'ArrowLeft') { 683 684 const closestSubmenu = this.closest('.submenu'); 685 const grandParentLi = closestSubmenu ? closestSubmenu.parentElement : null; 686 687 if (grandParentLi && grandParentLi.classList.contains('has-submenu')) { 688 689 e.preventDefault(); 690 691 closestSubmenu.classList.remove('show'); 692 693 const parentTrigger = grandParentLi.querySelector(':scope > a'); 694 695 if (parentTrigger) { 696 if (parentTrigger.classList.contains('top-anchor')) setTopMenuExpanded(parentTrigger, false); 697 parentTrigger.setAttribute('aria-expanded', 'false'); 698 parentTrigger.focus(); 699 } 700 701 } 702 703 } 704 705 }); 706 707 }); 708 subMenus.forEach(link => { 709 710 link.addEventListener('keydown', function (e) { 711 712 if (e.key === 'Escape') { 713 714 const submenu = this.closest('.submenu'); 715 716 e.preventDefault(); 717 718 submenu.classList.remove('show'); 719 720 const trigger = submenu.parentElement.querySelector(':scope > a'); 721 722 if (trigger.classList.contains('top-anchor')) { 723 setTopMenuExpanded(trigger, false); 724 } else { 725 submenu.parentElement.classList.remove('open'); 726 submenu.style.display = 'none'; 727 } 728 729 trigger.setAttribute('aria-expanded', 'false'); 730 731 trigger.focus(); 732 733 } 734 735 }); 736 737 }); 738 739 // Close keyboard-opened menus when focus moves outside them. 740 // This also closes only the nested level when focus returns to its parent menu. 741 document.addEventListener('focusin', function (e) { 742 743 document.querySelectorAll('.menu .submenu.show').forEach(submenu => { 744 745 const trigger = submenu.parentElement.querySelector(':scope > a'); 746 const focusIsInsideMenu = submenu.contains(e.target); 747 const focusIsOnTrigger = trigger === e.target; 748 749 if (!focusIsInsideMenu && !focusIsOnTrigger) { 750 if (trigger && trigger.classList.contains('top-anchor')) setTopMenuExpanded(trigger, false); 751 submenu.classList.remove('show'); 752 753 if (trigger) { 754 trigger.setAttribute('aria-expanded', 'false'); 755 } 756 } 757 758 }); 759 760 }); 761 762 // Preserve keyboard focus when the pointer enters a submenu link. 763 764 //subMenus.forEach(link => { 765 // link.addEventListener('blur', () => { 766 767 // //const parentLi = link.parentElement.parentElement; 768 // var grandParentLi = null; 769 770 // //if (link.parentElement.parentElement) { 771 // // if (link.parentElement.parentElement.parentElement) { 772 // // if (link.parentElement.parentElement.parentElement.parentElement) { 773 774 // // grandParentLi = link.parentElement.parentElement.parentElement.parentElement; 775 776 // // } 777 // // } 778 // //} 779 780 781 // if (parentLi.classList.contains('show') == true) { 782 // parentLi.classList.remove('show', true); 783 // } 784 785 // if (grandParentLi && grandParentLi.classList.contains('submenu')) { 786 // grandParentLi.querySelector(':scope > .submenu'); 787 // if (grandParentLi.classList.contains('show') == true) { 788 // grandParentLi.classList.remove('show', true); 789 // } 790 // } 791 // });
792 //}); 793 /*Accessibility End*/ 794 795 menuToggle.addEventListener('click', () => { 796 797 const isActive = 798 menu.classList.contains('active'); 799 800 menu.classList.toggle('active'); 801 802 menuToggle.classList.toggle('active'); 803 804 // Check AFTER toggle 805 const expanded = 806 menu.classList.contains('active'); 807 808 menuToggle.setAttribute( 809 'aria-expanded', 810 expanded ? 'true' : 'false' 811 ); 812 813 menuToggle.setAttribute( 814 'aria-label', 815 expanded ? 'Close menu' : 'Open menu' 816 ); 817 818 if (isMobileView()) { 819 820 menu.style.height = "auto"; 821 822 setTimeout(() => { 823 824 if (window.innerHeight < menu.offsetHeight) { 825 826 menu.style.height = "90vh"; 827 828 } else { 829 830 if (!isActive) { 831 832 menu.style.height = 833 menu.offsetHeight + "px"; 834 } 835 } 836 837 }, 1000); 838 839 } else { 840 841 menu.style.height = "auto"; 842 } 843 844 if (!isActive) { 845 846 menu.querySelectorAll('li').forEach(li => { 847 848 li.style.opacity = ''; 849 li.style.transform = ''; 850 }); 851 852 } else { 853 854 closeAllSubmenus(menu); 855 } 856 }); 857 } 858 859 document.querySelectorAll('.menu li.has-submenu > a').forEach(link => { 860 link.addEventListener('click', function (e) { 861 const parentLi = this.parentElement; 862 const submenu = parentLi.querySelector(':scope > .submenu'); 863 const isArrowClick = e.target.classList.contains('arrow-down-icon') || e.target.classList.contains('arrow-right-icon'); 864 865 if (this.classList.contains('top-anchor') && this.getAttribute('role') === 'button') { 866 e.preventDefault(); 867 setTopMenuExpanded(this, this.getAttribute('aria-expanded') !== 'true'); 868 return; 869 } 870 871 if (!isMobileView() && !isArrowClick) { 872 return; 873 } 874 875 if (submenu) { 876 e.preventDefault(); 877 parentLi.classList.toggle('open'); 878 const isExpanded = parentLi.classList.contains('open'); 879 if (isMobileView()) { 880 submenu.style.display = parentLi.classList.contains('open') ? 'block' : 'none'; 881 menu.style.height = "auto"; 882 this.setAttribute('aria-expanded', isExpanded ? 'true' : 'false'); 883 setTimeout(() => { 884 if (window.innerHeight < menu.offsetHeight) { 885 menu.style.height = "90vh"; 886 } 887 }, 700); 888 } 889 else { 890 menu.style.height = "auto"; 891 } 892 } 893 }); 894 }); 895 896 const mediaQuery = window.matchMedia('(max-width: 768px)'); 897 mediaQuery.addEventListener('change', function (e) { 898 closeAllSubmenus(menu); 899 if (!e.matches) { 900 menu.classList.remove('active'); 901 menuToggle.classList.remove('active'); 902 closeAllSubmenus(menu); 903 menu.style.height = "auto"; 904 } 905 }); 906 907 window.addEventListener('scroll', () => { 908 if (windowWidth >= 768) { 909 if (header) { 910 911 if (topbar) { 912 header.classList.toggle('sticky', window.scrollY > 37); 913 914 if (breadcrumb) { 915 breadcrumb.classList.toggle('margin-top', window.scrollY > 37); 916 } 917 else { 918 bodytag.classList.toggle('margin-top', window.scrollY > 37); 919 } 920 } 921 else { 922 header.classList.toggle('sticky', window.scrollY > 0); 923 924 if (breadcrumb) { 925 breadcrumb.classList.toggle('margin-top-light', window.scrollY > 0); 926 } 927 else { 928 bodytag.classList.toggle('margin-top-light', window.scrollY > 0); 929 } 930 } 931 } 932 } 933 }); 934 935 window.addEventListener('resize', () => { 936 windowWidth = window.innerWidth; 937 bodytag.classList.remove("margin-top-light"); 938 bodytag.classList.remove("margin-top"); 939 const submenus = document.querySelectorAll('.submenu');
940 submenus.forEach(element => { 941 element.style.removeProperty('display'); 942 }); 943 944 if (breadcrumb) { 945 breadcrumb.classList.remove('margin-top'); 946 } 947 if (windowWidth >= 768) { 948 menu.style.height = "auto"; 949 950 951 if (header) { 952 if (topbar) { 953 header.classList.toggle('sticky', window.scrollY > 37); 954 955 if (breadcrumb) { 956 breadcrumb.classList.toggle('margin-top', window.scrollY > 37); 957 } 958 else { 959 bodytag.classList.toggle('margin-top', window.scrollY > 37); 960 } 961 } 962 else { 963 header.classList.toggle('sticky', window.scrollY > 0); 964 965 if (breadcrumb) { 966 breadcrumb.classList.toggle('margin-top-light', window.scrollY > 0); 967 } 968 else { 969 bodytag.classList.toggle('margin-top-light', window.scrollY > 0); 970 } 971 } 972 } 973 } 974 else { 975 976 header.classList.add('sticky', true); 977 978 if (breadcrumb) { 979 breadcrumb.classList.add('margin-top', true); 980 } 981 else { 982 bodytag.classList.toggle('margin-top-light', true); 983 } 984 } 985 }); 986 987 if (searchToggle && searchContainer) { 988 989 searchToggle.addEventListener('click', function () { 990 991 const isExpanded = searchContainer.classList.contains('active'); 992 993 searchContainer.classList.toggle('active'); 994 995 // Accessibility 996 searchToggle.setAttribute('aria-expanded', !isExpanded); 997 998 if (searchIcon) { 999 1000 searchIcon.classList.add('fade-in'); 1001 1002 setTimeout(() => { 1003 1004 searchIcon.classList.remove('fade-in'); 1005 1006 if (!isExpanded && input) { 1007 input.focus(); 1008 } 1009 1010 }, 400); 1011 } 1012 }); 1013 1014 document.addEventListener('click', function (e) { 1015 1016 const isInside = 1017 searchContainer.contains(e.target) || 1018 searchToggle.contains(e.target); 1019 1020 if (!isInside) { 1021 1022 searchContainer.classList.remove('active'); 1023 1024 // Accessibility 1025 searchToggle.setAttribute('aria-expanded', 'false'); 1026 } 1027 }); 1028 1029 // Close search when tabbing away 1030 document.addEventListener('focusin', function (e) { 1031 1032 if ( 1033 !searchContainer.contains(e.target) && 1034 !searchToggle.contains(e.target) 1035 ) { 1036 1037 searchContainer.classList.remove('active'); 1038 1039 // Accessibility 1040 searchToggle.setAttribute('aria-expanded', 'false'); 1041 } 1042 }); 1043 } 1044 1045 if (input) { 1046 input.addEventListener('input', () => { 1047 input.classList.add('typing'); 1048 clearTimeout(typingTimer); 1049 typingTimer = setTimeout(() => { 1050 input.classList.remove('typing'); 1051 }, 1000); 1052 }); 1053 1054 input.addEventListener('blur', () => { 1055 input.classList.remove('typing'); 1056 }); 1057 } 1058 1059 // This will apply responsive autosizing css only when blue CTA has long text 1060 var ctaBtn = document.querySelector('.section-header-bar .menu-bar-cta-btn .menu-cta-btn'); 1061 var headerBar = document.querySelector('.section-header-bar'); 1062 1063 if (ctaBtn && headerBar) { 1064 let ctaText = ctaBtn.textContent.trim(); 1065 if (ctaText.length > 15) { 1066 headerBar.classList.add('long-cta-text'); 1067 1068 } 1069 } 1070 });
1071</script>
1071 1072 1073 1074 <section class="page-top page-top-clean-carousel"> 1075 1076 </section> 1077 1078 <main id="main-content" class="page-wrap" style="background-image:url('')"> 1079 <div><div class="block countryv2topbannerblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> <div class="hero-top-banner-container "> 1080 <section id="hero-a6c11ebe3ee34602a177fdebdd477607" class="hero-section"> 1081 1082 <picture> 1083 <source srcset="/siteassets/hcp/homepage/de_hcp_bg_desktop.jpg" media="(min-width: 768px)" /> 1084 1085 <img src="/siteassets/hcp/homepage/de_hcp_bg_desktop.jpg" alt="Hero background image" class="hero-bg-image" /> 1086 </picture> 1087 1088 <div class="hero-content"> 1089 <div class="hero-content-wrapper justify-content-left"> 1090 <h1 class="hero-title"> 1091 Informationen für Fachpersonal 1092 </h1> 1093 1094 <div class="hero-text"> 1095 <p><span>Entdecken Sie unser umfangreiches Angebot an CONTOUR</span><sup>®</sup><span>-Diabeteslösungen für die Blutzuckermessung.</span></p> 1096 </div> 1097 1098 <a class="hero-button blue " 1099 id="" 1100 href="/fachpersonal/produkte/" 1101 data-href="/fachpersonal/produkte/" 1102 data-youtubevideoid="" 1103 data-vimeovideoid=""> 1104 Unsere Produkte 1105 </a> 1106 </div> 1107 </div> 1108 </section> 1109 </div> 1110
1110<script> 1111 document.addEventListener("DOMContentLoaded", function () { 1112 var hero = document.getElementById("hero-a6c11ebe3ee34602a177fdebdd477607"); 1113 1114 if (hero) { 1115 var video = hero.querySelector(".hero-video"); 1116 var control = hero.querySelector(".hero-video-control"); 1117 1118 if (video && control) { 1119 1120 function updateControl() { 1121 var isPaused = video.paused; 1122 control.classList.toggle("is-paused", isPaused); 1123 control.setAttribute("aria-pressed", isPaused ? "true" : "false"); 1124 control.setAttribute("aria-label", isPaused ? "Play background video" : "Pause background video"); 1125 } 1126 1127 control.addEventListener("click", function () { 1128 if (video.paused) { 1129 var playPromise = video.play(); 1130 if (playPromise && typeof playPromise.catch === "function") { 1131 playPromise.catch(function () { updateControl(); }); 1132 } 1133 } else { 1134 video.pause(); 1135 } 1136 }); 1137 1138 video.addEventListener("play", updateControl); 1139 video.addEventListener("pause", updateControl); 1140 1141 updateControl(); 1142 window.setTimeout(function () { 1143 control.classList.add("is-visible"); 1144 }, 5000); 1145 } 1146 } 1147 1148 if (hero) hero.querySelectorAll(".hero-button").forEach(function (btn) { 1149 btn.addEventListener("click", function (e) { 1150 var href = btn.getAttribute("data-href"); 1151 var vimeoId = btn.getAttribute("data-vimeovideoid"); 1152 var youtubeId = btn.getAttribute("data-youtubevideoid"); 1153 1154 if (href && href !== "javascript:void(0);") { 1155 return; 1156 } 1157 1158 e.preventDefault(); 1159 1160 var videoUrl = ""; 1161 if (youtubeId) { 1162 videoUrl = "https://www.youtube.com/embed/" + youtubeId + "?autoplay=1"; 1163 } else if (vimeoId) { 1164 videoUrl = "https://player.vimeo.com/video/" + vimeoId + "?autoplay=1"; 1165 } 1166 1167 if (videoUrl) { 1168 openVideoModal(videoUrl); 1169 } 1170 }); 1171 }); 1172 1173 function openVideoModal(videoUrl) { 1174 var existingModal = document.getElementById("videoModalOverlay"); 1175 if (existingModal) { 1176 existingModal.remove(); 1177 } 1178 1179 var modal = document.createElement("div"); 1180 modal.id = "videoModalOverlay"; 1181 modal.style.cssText = "position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.8);z-index:9999;display:flex;align-items:center;justify-content:center;"; 1182 1183 modal.innerHTML = ` 1184 <div style="position:relative;max-width:90%;width:800px;"> 1185 <iframe src="${videoUrl}" width="100%" height="450" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe> 1186 <button onclick="document.getElementById('videoModalOverlay').remove()" 1187 style="position:absolute;top:-12px;right:-12px;width:32px;height:32px;border:none;background:#fff;border-radius:50%;font-size:20px;cursor:pointer;">×</button> 1188 </div> 1189 `; 1190 document.body.appendChild(modal); 1191 } 1192 }); 1193 </script>
1193 1194</div><div class="block countryv2roundedcardcontainerblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> 1195 <section id="" class="card-four-up-rounded padding-top-60 "> 1196 <div class="top-heading-title"> 1197 <h2>CONTOUR<sup>®</sup> â Messgenauigkeit trifft auf Einfachheit</h2> 1198 1199 <p><style type="text/css"><!--td {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}--></style> 1200<p><span data-sheets-root="1">Lernen Sie das CONTOUR<sup>®</sup>-Portfolio für die Blutzuckermessung im Diabetesmanagement kennen.</span></p></p> 1201 </div> 1202 1203 <div class="card-grid-container grid-4"> 1204 <div class="card " style=""> 1205 1206 1207 <div class="image-wrapper"> 1208 <img src="/siteassets/hcp/homepage/accuracy_mgdl.png" 1209 alt="CONTOUR NEXT" 1210 style="border-radius:50%" /> 1211 </div> 1212 1213 <h2 class="card-title">Höchste Messgenauigkeit</h2> 1214 1215 <div class="card-body"><p>Vertrauen Sie auf Messgenauigkeit, die den Industriestandard übertrifft.<sup>1</sup></p></div> 1216 1217 <!-- CTA --> 1218 1219 </div> 1220 <div class="card " style=""> 1221 1222 1223 <div class="image-wrapper"> 1224 <img src="/siteassets/hcp/homepage/smartlight_mgdl.png" 1225 alt="smartLIGHT" 1226 style="border-radius:50%" /> 1227 </div> 1228 1229 <h2 class="card-title">Direkt einsatzbereit</h2> 1230 1231 <div class="card-body"><p>Einfach in der Anwendung: Nach dem Auspacken sofort einsatzbereit und zeitsparend.<sup>2</sup></p></div> 1232 1233 <!-- CTA --> 1234 1235 </div> 1236 <div class="card " style=""> 1237 1238 1239 <div class="image-wrapper"> 1240 <img src="/siteassets/hcp/homepage/nextstrip.png" 1241 alt="Teststreifen sparen" 1242 style="border-radius:50%" /> 1243 </div> 1244 1245 <h2 class="card-title">Teststreifen sparen</h2> 1246 1247 <div class="card-body"><p>Verfügt über die einzigartige Nachfülloption und verringert so den Teststreifenverbrauch.<sup>3</sup></p></div> 1248 1249 <!-- CTA --> 1250 1251 </div> 1252 <div class="card " style=""> 1253 1254 1255 <div class="image-wrapper"> 1256 <img src="/siteassets/hcp/homepage/app.png" 1257 alt="CONTOUR DIABETES App" 1258 style="border-radius:50%" /> 1259 </div> 1260 1261 <h2 class="card-title">Datenaustausch</h2> 1262 1263 <div class="card-body"><p>Kostenloser Zugriff auf die CONTOUR<sup>®</sup>DIABETES-App und das GlucoContro.online-Portal für den einfachen Datenaustausch.</p></div> 1264 1265 <!-- CTA --> 1266 1267 </div> 1268 </div> 1269 1270 </section> 1271
1271<script> 1272 document.addEventListener("DOMContentLoaded", function () { 1273 const cards = document.querySelectorAll(".card-four-up-rounded .card"); 1274 const observer = new IntersectionObserver((entries, obs) => { 1275 entries.forEach(entry => { 1276 if (entry.isIntersecting) { 1277 entry.target.classList.add("animate-in"); 1278 obs.unobserve(entry.target); 1279 } 1280 }); 1281 }, { 1282 root: null, 1283 threshold: 0.2 1284 }); 1285 1286 cards.forEach(card => { 1287 observer.observe(card); 1288 }); 1289 }); 1290 </script>
1290 1291</div><div class="block countryv2fiftyfiftyblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> 1292 <section id="foc" class="fifty-fifty-block bg- padding-0 text-align-left padding-top-60 padding-bottom-60 "> 1293 1294 <div class="card-container is-block-background-image" 1295 style="background-image: url('/siteassets/hcp/homepage/meter_free_de2.jpg');background-size: cover;background-position: top center;background-repeat: no-repeat; "> 1296 1297 <div class="background-image-overlay" style="background-color: rgba(0, 0, 0, 0.3);"></div> 1298 1299 <div class="card-wrapper "> 1300 1301 1302 <div class="left-side text-left "> 1303 <h2>Kostenfreie Testgeräte für Ihre Praxis</h2> 1304 1305<style type="text/css"><!--td {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}--></style> 1306<style type="text/css"><!--td {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}--></style> 1307<p>Jetzt für Ihre Praxis kostenfreie CONTOUR<sup>®</sup>NEXT oder CONTOUR<sup>®</sup>CARE Testgeräte bestellen.<br /><br /><br /><br /><br /><br /></p> <a href="/link/3b4fa40334984ac2b82d8e63040c984f.aspx" class="left-side-button blue"> 1308 Jetzt bestellen 1309 </a> 1310 </div> 1311 1312 1313 <div class="right-side "> 1314 1315 <img src="/siteassets/hcp/homepage/meter_free_de2.jpg" 1316 class="mobile-image " 1317 alt="" 1318 loading="lazy" /> 1319 </div> 1320 </div> 1321 </div> 1322 </section>
1323<script> 1324 $(document).on("click", ".accordion-header", function () { 1325 1326 const currentItem = 1327 $(this).closest(".accordion-item"); 1328 1329 const currentContent = 1330 currentItem.find(".accordion-content"); 1331 1332 const isActive = 1333 currentItem.hasClass("active-content"); 1334 1335 // Parent accordion only 1336 const accordion = 1337 currentItem.closest(".accordion"); 1338 1339 // Close all accordions 1340 accordion.find(".accordion-item") 1341 .removeClass("active-content"); 1342 1343 accordion.find(".accordion-header") 1344 .attr("aria-expanded", "false"); 1345 1346 1347 accordion.find(".accordion-content") 1348 .css("max-height", "0"); 1349 1350 // Open current if closed 1351 if (!isActive) { 1352 1353 currentItem.addClass("active-content"); 1354 1355 $(this) 1356 .attr("aria-expanded", "true"); 1357 1358 1359 currentContent.css( 1360 "max-height", 1361 currentContent.prop("scrollHeight") + "px" 1362 ); 1363 1364 // Recalculate height after carousel/images render 1365 setTimeout(() => { 1366 1367 currentContent.css( 1368 "max-height", 1369 currentContent.prop("scrollHeight") + "px" 1370 ); 1371 1372 }, 300); 1373 } 1374 }); 1375 1376 $(document).ready(function () { 1377 var owl = jQuery(".countryv2fiftyfiftyblock .owl-carousel"); 1378 1379 owl.owlCarousel({ 1380 autoplay: false, 1381 autoWidth: false, 1382 rewind: false, 1383 margin: 20, 1384 loop: false, 1385 responsiveClass: true, 1386 autoHeight: false, 1387 autoplayTimeout: 7000, 1388 smartSpeed: 800, 1389 nav: true, 1390 navText: [ 1391 '<svg width="25" height="25" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z"/></svg>', 1392 '<svg width="25" height="25" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"/></svg>' 1393 ], 1394 responsive: { 1395 0: { items: 1 }, 1396 600: { items: 1 }, 1397 768: { items: 1 }, 1398 991: { items: 1 }, 1399 1024: { items: 1 } 1400 }, 1401 onInitialized: function (event) { 1402 console.log('Owl Carousel has been fully initialized!'); 1403 $('.owl-item:not(.active)').attr('inert', ''); 1404 } 1405 }); 1406 $('.countryv2fiftyfiftyblock .carousel-inner').owlCarousel({ 1407 autoHeight: false, 1408 }); 1409 1410 owl.on('translated.owl.carousel', function (event) { 1411 // 1. Remove 'inert' from all slides first to reset 1412 $('.owl-item').removeAttr('inert'); 1413 1414 // 2. Apply 'inert' to all non-active, cloned slides 1415 // Owl Carousel uses the 'cloned' and 'active' classes automatically. 1416 $('.owl-item:not(.active)').attr('inert', ''); 1417 1418 // 3. Ensure the currently active slides (both original and potentially a clone if it's in the active view) are not inert 1419 $('.owl-item.active').removeAttr('inert'); 1420 }); 1421 1422 // --- Accessibility Fix: Add aria-label to carousel buttons and dots --- 1423 const addAriaLabels = () => { 1424 const prevBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-prev'); 1425 const nextBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-next'); 1426 const dots = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-dot'); 1427 const slides = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-item'); 1428 if (prevBtn) { 1429 1430 prevBtn.setAttribute('aria-label', 'Previous Slide'); 1431 1432 // Remove bad ARIA 1433 prevBtn.removeAttribute('role'); 1434 } 1435 if (nextBtn) { 1436 1437 nextBtn.setAttribute('aria-label', 'Next Slide'); 1438 1439 // Remove bad ARIA 1440 nextBtn.removeAttribute('role'); 1441 } 1442
1443 dots.forEach((dot, index) => { 1444 1445 dot.setAttribute('aria-label', `Go to slide ${index + 1}`); 1446 1447 // Remove old aria-current 1448 dot.removeAttribute('aria-current'); 1449 1450 // Add aria-current to active dot 1451 if (dot.classList.contains('active')) { 1452 dot.setAttribute('aria-current', 'true'); 1453 } 1454 1455 // Optional cleanup 1456 dot.removeAttribute('role'); 1457 }); 1458 slides.forEach((slide, index) => { 1459 1460 slide.setAttribute('role', 'group'); 1461 1462 slide.setAttribute( 1463 'aria-label', 1464 `Slide ${index + 1} of ${slides.length}` 1465 ); 1466 }); 1467 }; 1468 1469 addAriaLabels(); 1470 jQuery('.countryv2fiftyfiftyblock .owl-carousel').on('changed.owl.carousel', addAriaLabels); 1471 }); 1472</script>
1472</div><div class="block countryv2roundedcardcontainerblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> 1473 <section id="" class="card-four-up-rounded padding-top-30 new-design "> 1474 <div class="top-heading-title"> 1475 <h2>Wissen, Services und Praxisunterstützung</h2> 1476 1477 <p><style type="text/css"><!--td {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}--></style> 1478<p>Nutzen Sie unsere regelmäßigen Webinare, digitale Ressourcen und praxisrelevante Services zur fachlichen Fortbildung für Ihren Berufsalltag.</p></p> 1479 </div> 1480 1481 <div class="card-grid-container grid-4"> 1482 <a class="card clickable-card bg-lightgray" style="" 1483 href="/fachpersonal/diabetes-kolleg/#Sub-Menu-6" 1484 data-href="/fachpersonal/diabetes-kolleg/#Sub-Menu-6" 1485 data-youtubevideoid="" 1486 data-vimeovideoid=""> 1487 <div class="image-wrapper"> 1488 <img src="/siteassets/hcp/homepage/webinar.jpg" 1489 alt="DiabetesKolleg Webinar" 1490 style="border-radius:50%" /> 1491 </div> 1492 <h2 class="card-title">DiabetesKolleg Webinar</h2> 1493 <div class="card-body"><p><span data-olk-copy-source="MessageBody">Bewährte Fortbildungsinhalte mit einem innovativen Fortbildungsplus.</span></p> 1494<style> 1495 .cta-button-support { 1496 background-color: #FFFFFF; 1497 font-weight: 700; 1498 text-transform: uppercase; 1499 color: #021D59; 1500 border: 0.125rem solid #021D59; 1501 border-radius: 1.875rem; 1502 line-height: 1; 1503 text-decoration: none; 1504 display: inline-block; 1505 transition: all 0.3s ease; 1506 padding: 0.75rem 1.5rem; 1507 font-size: 1rem; 1508 margin-right: 0; 1509 margin-top: 0.9375rem; 1510 white-space: nowrap; 1511 } 1512 1513 .cta-button-support:hover { 1514 background-color: #021D59; 1515 color: #fff; 1516 } 1517</style></div> 1518 <!-- CTA --> 1519 <span class="button btn-learn theme-white " 1520 id="" 1521 aria-hidden="true" 1522 data-youtubevideoid="" 1523 data-vimeovideoid=""> 1524 Mehr erfahren 1525 </span> 1526 1527 </a> 1528 <a class="card clickable-card bg-lightgray" style="" 1529 href="https://shop.ascensia.de/de/login" 1530 data-href="https://shop.ascensia.de/de/login" 1531 data-youtubevideoid="" 1532 data-vimeovideoid=""> 1533 <div class="image-wrapper"> 1534 <img src="/siteassets/hcp/homepage/apotheke.jpg" 1535 alt="Apotheken OnlineShop" 1536 style="border-radius:50%" /> 1537 </div> 1538 <h2 class="card-title">Apotheken OnlineShop</h2> 1539 <div class="card-body"><p>Der Shop bietet direkten Zugang zu unseren Produkten für Apotheken.</p> 1540<!--<div class="btn-container" style="text-align: center;"><a class="cta-button-support" role="link" href="https://shop.ascensia.de/de/login">Jetzt bestellen</a></div>--></div> 1541 <!-- CTA --> 1542 <span class="button btn-learn theme-white " 1543 id="" 1544 aria-hidden="true" 1545 data-youtubevideoid="" 1546 data-vimeovideoid=""> 1547 Jetzt bestellen 1548 </span> 1549 1550 </a> 1551 <a class="card clickable-card bg-lightgray" style="" 1552 href="/fachpersonal/service/resourcescenter/" 1553 data-href="/fachpersonal/service/resourcescenter/" 1554 data-youtubevideoid="" 1555 data-vimeovideoid=""> 1556 <div class="image-wrapper"> 1557 <img src="/siteassets/hcp/homepage/downloadcenter.jpg" 1558 alt="Resources Center" 1559 style="border-radius:50%" /> 1560 </div> 1561 <h2 class="card-title">Resources Center</h2> 1562 <div class="card-body"><p>Hier finden Sie ausgewählte Produkt- und Servicematerialien.</p> 1563<!-- <div class="btn-container" style="text-align: center;"><a class="cta-button-support" role="link" href="/EPiServer/CMS/Content/fachpersonal/service/resourcescenter,,422038/?epieditmode=False">Zum Download-Center</a></div>--></div> 1564 <!-- CTA -->
1565 <span class="button btn-learn theme-white " 1566 id="" 1567 aria-hidden="true" 1568 data-youtubevideoid="" 1569 data-vimeovideoid=""> 1570 Zum Resources Center 1571 </span> 1572 1573 </a> 1574 <a class="card clickable-card bg-lightgray" style="" 1575 href="/fachpersonal/produkte/glucocontro-online-fuer-fachpersonal/" 1576 data-href="/fachpersonal/produkte/glucocontro-online-fuer-fachpersonal/" 1577 data-youtubevideoid="" 1578 data-vimeovideoid=""> 1579 <div class="image-wrapper"> 1580 <img src="/siteassets/hcp/homepage/gluco.jpg" 1581 alt="Glucocontro.online" 1582 style="border-radius:50%" /> 1583 </div> 1584 <h2 class="card-title">Glucocontro.online</h2> 1585 <div class="card-body"><p>Mit Glucocontro teilen Patienten Messwerte mit Ihnen via Web.</p> 1586<!--<div class="btn-container" style="text-align: center;"><a class="cta-button-support" role="link" href="/EPiServer/CMS/Content/fachpersonal/produkte/glucocontro-online-fuer-fachpersonal,,423525/?epieditmode=False">Jetzt testen</a></div> --></div> 1587 <!-- CTA --> 1588 <span class="button btn-learn theme-white " 1589 id="" 1590 aria-hidden="true" 1591 data-youtubevideoid="" 1592 data-vimeovideoid=""> 1593 Jetzt testen 1594 </span> 1595 1596 </a> 1597 </div> 1598 1599 </section> 1600
1600<script> 1601 document.addEventListener("DOMContentLoaded", function () { 1602 const cards = document.querySelectorAll(".card-four-up-rounded .card"); 1603 const observer = new IntersectionObserver((entries, obs) => { 1604 entries.forEach(entry => { 1605 if (entry.isIntersecting) { 1606 entry.target.classList.add("animate-in"); 1607 obs.unobserve(entry.target); 1608 } 1609 }); 1610 }, { 1611 root: null, 1612 threshold: 0.2 1613 }); 1614 1615 cards.forEach(card => { 1616 observer.observe(card); 1617 }); 1618 }); 1619 </script>
1619 1620</div><div class="block countryv2fiftyfiftyblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> 1621 <section id="" class="fifty-fifty-block bg-white text-align-left padding-top-60 padding-bottom-60 "> 1622 1623 <div class="card-container" 1624 style=" "> 1625 1626 1627 <div class="card-wrapper flex-row-reverse mobile-reverse"> 1628 1629 1630 <div class="left-side text-left reverse"> 1631 <h2>Wie verordne ich richtig?</h2> 1632 1633<style type="text/css"><!--td {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}--></style> 1634<style type="text/css"><!--td {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}--></style> 1635<p>Klicken Sie hier für mehr Informationen rund um das Thema Verordnung von Blutzuckerteststreifen.</p> <a href="/link/32ab71441ca74796bd9627e056d794c6.aspx" class="left-side-button blue"> 1636 Mehr erfahren 1637 </a> 1638 </div> 1639 1640 1641 <div class="right-side reverse"> 1642 1643 <img src="/siteassets/hcp/homepage/verschreibung.jpg" 1644 class="desktop-image img-curved" 1645 style="max-width:600px" 1646 alt="" 1647 title="" 1648 loading="lazy" /> 1649 <img src="/siteassets/hcp/homepage/verschreibung.jpg" 1650 class="mobile-image img-curved" 1651 alt="" 1652 loading="lazy" /> 1653 </div> 1654 </div> 1655 </div> 1656 </section>
1657<script> 1658 $(document).on("click", ".accordion-header", function () { 1659 1660 const currentItem = 1661 $(this).closest(".accordion-item"); 1662 1663 const currentContent = 1664 currentItem.find(".accordion-content"); 1665 1666 const isActive = 1667 currentItem.hasClass("active-content"); 1668 1669 // Parent accordion only 1670 const accordion = 1671 currentItem.closest(".accordion"); 1672 1673 // Close all accordions 1674 accordion.find(".accordion-item") 1675 .removeClass("active-content"); 1676 1677 accordion.find(".accordion-header") 1678 .attr("aria-expanded", "false"); 1679 1680 1681 accordion.find(".accordion-content") 1682 .css("max-height", "0"); 1683 1684 // Open current if closed 1685 if (!isActive) { 1686 1687 currentItem.addClass("active-content"); 1688 1689 $(this) 1690 .attr("aria-expanded", "true"); 1691 1692 1693 currentContent.css( 1694 "max-height", 1695 currentContent.prop("scrollHeight") + "px" 1696 ); 1697 1698 // Recalculate height after carousel/images render 1699 setTimeout(() => { 1700 1701 currentContent.css( 1702 "max-height", 1703 currentContent.prop("scrollHeight") + "px" 1704 ); 1705 1706 }, 300); 1707 } 1708 }); 1709 1710 $(document).ready(function () { 1711 var owl = jQuery(".countryv2fiftyfiftyblock .owl-carousel"); 1712 1713 owl.owlCarousel({ 1714 autoplay: false, 1715 autoWidth: false, 1716 rewind: false, 1717 margin: 20, 1718 loop: false, 1719 responsiveClass: true, 1720 autoHeight: false, 1721 autoplayTimeout: 7000, 1722 smartSpeed: 800, 1723 nav: true, 1724 navText: [ 1725 '<svg width="25" height="25" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z"/></svg>', 1726 '<svg width="25" height="25" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"/></svg>' 1727 ], 1728 responsive: { 1729 0: { items: 1 }, 1730 600: { items: 1 }, 1731 768: { items: 1 }, 1732 991: { items: 1 }, 1733 1024: { items: 1 } 1734 }, 1735 onInitialized: function (event) { 1736 console.log('Owl Carousel has been fully initialized!'); 1737 $('.owl-item:not(.active)').attr('inert', ''); 1738 } 1739 }); 1740 $('.countryv2fiftyfiftyblock .carousel-inner').owlCarousel({ 1741 autoHeight: false, 1742 }); 1743 1744 owl.on('translated.owl.carousel', function (event) { 1745 // 1. Remove 'inert' from all slides first to reset 1746 $('.owl-item').removeAttr('inert'); 1747 1748 // 2. Apply 'inert' to all non-active, cloned slides 1749 // Owl Carousel uses the 'cloned' and 'active' classes automatically. 1750 $('.owl-item:not(.active)').attr('inert', ''); 1751 1752 // 3. Ensure the currently active slides (both original and potentially a clone if it's in the active view) are not inert 1753 $('.owl-item.active').removeAttr('inert'); 1754 }); 1755 1756 // --- Accessibility Fix: Add aria-label to carousel buttons and dots --- 1757 const addAriaLabels = () => { 1758 const prevBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-prev'); 1759 const nextBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-next'); 1760 const dots = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-dot'); 1761 const slides = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-item'); 1762 if (prevBtn) { 1763 1764 prevBtn.setAttribute('aria-label', 'Previous Slide'); 1765 1766 // Remove bad ARIA 1767 prevBtn.removeAttribute('role'); 1768 } 1769 if (nextBtn) { 1770 1771 nextBtn.setAttribute('aria-label', 'Next Slide'); 1772 1773 // Remove bad ARIA 1774 nextBtn.removeAttribute('role'); 1775 } 1776
1777 dots.forEach((dot, index) => { 1778 1779 dot.setAttribute('aria-label', `Go to slide ${index + 1}`); 1780 1781 // Remove old aria-current 1782 dot.removeAttribute('aria-current'); 1783 1784 // Add aria-current to active dot 1785 if (dot.classList.contains('active')) { 1786 dot.setAttribute('aria-current', 'true'); 1787 } 1788 1789 // Optional cleanup 1790 dot.removeAttribute('role'); 1791 }); 1792 slides.forEach((slide, index) => { 1793 1794 slide.setAttribute('role', 'group'); 1795 1796 slide.setAttribute( 1797 'aria-label', 1798 `Slide ${index + 1} of ${slides.length}` 1799 ); 1800 }); 1801 }; 1802 1803 addAriaLabels(); 1804 jQuery('.countryv2fiftyfiftyblock .owl-carousel').on('changed.owl.carousel', addAriaLabels); 1805 }); 1806</script>
1806</div><div class="block countryv2fiftyfiftyblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> 1807 <section id="" class="fifty-fifty-block bg-white text-align-left padding-top-60 padding-bottom-60 "> 1808 1809 <div class="card-container" 1810 style=" "> 1811 1812 1813 <div class="card-wrapper mobile-reverse"> 1814 1815 1816 <div class="left-side text-left reverse"> 1817 <h2>CONTOUR<sup>®</sup>NEXT und CONTOUR<sup>®</sup>CARE erfüllen die aktualisierten RiliBÃK Vorgaben<sup>4</sup></h2> 1818 1819<p>Eine unabhängige Prüfung der CONTOUR<sup>®</sup>NEXT und CONTOUR<sup>®</sup>CARE Messsysteme zeigte, dass die neuen RiliBÄK-Grenzen für die Kontrollprobenmessung eingehalten werden.</p> <a href="/link/45b6b34d426746b7871fc5d97a06ab70.aspx" class="left-side-button blue"> 1820 Mehr erfahren 1821 </a> 1822 </div> 1823 1824 1825 <div class="right-side reverse"> 1826 1827 <img src="/siteassets/hcp/homepage/rilibaek.jpg" 1828 class="desktop-image img-curved" 1829 style="max-width:600px" 1830 alt="" 1831 title="" 1832 loading="lazy" /> 1833 <img src="/siteassets/hcp/homepage/rilibaek.jpg" 1834 class="mobile-image img-curved" 1835 alt="" 1836 loading="lazy" /> 1837 </div> 1838 </div> 1839 </div> 1840 </section>
1841<script> 1842 $(document).on("click", ".accordion-header", function () { 1843 1844 const currentItem = 1845 $(this).closest(".accordion-item"); 1846 1847 const currentContent = 1848 currentItem.find(".accordion-content"); 1849 1850 const isActive = 1851 currentItem.hasClass("active-content"); 1852 1853 // Parent accordion only 1854 const accordion = 1855 currentItem.closest(".accordion"); 1856 1857 // Close all accordions 1858 accordion.find(".accordion-item") 1859 .removeClass("active-content"); 1860 1861 accordion.find(".accordion-header") 1862 .attr("aria-expanded", "false"); 1863 1864 1865 accordion.find(".accordion-content") 1866 .css("max-height", "0"); 1867 1868 // Open current if closed 1869 if (!isActive) { 1870 1871 currentItem.addClass("active-content"); 1872 1873 $(this) 1874 .attr("aria-expanded", "true"); 1875 1876 1877 currentContent.css( 1878 "max-height", 1879 currentContent.prop("scrollHeight") + "px" 1880 ); 1881 1882 // Recalculate height after carousel/images render 1883 setTimeout(() => { 1884 1885 currentContent.css( 1886 "max-height", 1887 currentContent.prop("scrollHeight") + "px" 1888 ); 1889 1890 }, 300); 1891 } 1892 }); 1893 1894 $(document).ready(function () { 1895 var owl = jQuery(".countryv2fiftyfiftyblock .owl-carousel"); 1896 1897 owl.owlCarousel({ 1898 autoplay: false, 1899 autoWidth: false, 1900 rewind: false, 1901 margin: 20, 1902 loop: false, 1903 responsiveClass: true, 1904 autoHeight: false, 1905 autoplayTimeout: 7000, 1906 smartSpeed: 800, 1907 nav: true, 1908 navText: [ 1909 '<svg width="25" height="25" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z"/></svg>', 1910 '<svg width="25" height="25" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"/></svg>' 1911 ], 1912 responsive: { 1913 0: { items: 1 }, 1914 600: { items: 1 }, 1915 768: { items: 1 }, 1916 991: { items: 1 }, 1917 1024: { items: 1 } 1918 }, 1919 onInitialized: function (event) { 1920 console.log('Owl Carousel has been fully initialized!'); 1921 $('.owl-item:not(.active)').attr('inert', ''); 1922 } 1923 }); 1924 $('.countryv2fiftyfiftyblock .carousel-inner').owlCarousel({ 1925 autoHeight: false, 1926 }); 1927 1928 owl.on('translated.owl.carousel', function (event) { 1929 // 1. Remove 'inert' from all slides first to reset 1930 $('.owl-item').removeAttr('inert'); 1931 1932 // 2. Apply 'inert' to all non-active, cloned slides 1933 // Owl Carousel uses the 'cloned' and 'active' classes automatically. 1934 $('.owl-item:not(.active)').attr('inert', ''); 1935 1936 // 3. Ensure the currently active slides (both original and potentially a clone if it's in the active view) are not inert 1937 $('.owl-item.active').removeAttr('inert'); 1938 }); 1939 1940 // --- Accessibility Fix: Add aria-label to carousel buttons and dots --- 1941 const addAriaLabels = () => { 1942 const prevBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-prev'); 1943 const nextBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-next'); 1944 const dots = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-dot'); 1945 const slides = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-item'); 1946 if (prevBtn) { 1947 1948 prevBtn.setAttribute('aria-label', 'Previous Slide'); 1949 1950 // Remove bad ARIA 1951 prevBtn.removeAttribute('role'); 1952 } 1953 if (nextBtn) { 1954 1955 nextBtn.setAttribute('aria-label', 'Next Slide'); 1956 1957 // Remove bad ARIA 1958 nextBtn.removeAttribute('role'); 1959 } 1960
1961 dots.forEach((dot, index) => { 1962 1963 dot.setAttribute('aria-label', `Go to slide ${index + 1}`); 1964 1965 // Remove old aria-current 1966 dot.removeAttribute('aria-current'); 1967 1968 // Add aria-current to active dot 1969 if (dot.classList.contains('active')) { 1970 dot.setAttribute('aria-current', 'true'); 1971 } 1972 1973 // Optional cleanup 1974 dot.removeAttribute('role'); 1975 }); 1976 slides.forEach((slide, index) => { 1977 1978 slide.setAttribute('role', 'group'); 1979 1980 slide.setAttribute( 1981 'aria-label', 1982 `Slide ${index + 1} of ${slides.length}` 1983 ); 1984 }); 1985 }; 1986 1987 addAriaLabels(); 1988 jQuery('.countryv2fiftyfiftyblock .owl-carousel').on('changed.owl.carousel', addAriaLabels); 1989 }); 1990</script>
1990</div><div class="block countryv2fiftyfiftyblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> 1991 <section id="" class="fifty-fifty-block bg-white text-align-left padding-top-60 padding-bottom-60 "> 1992 1993 <div class="card-container" 1994 style=" "> 1995 1996 1997 <div class="card-wrapper flex-row-reverse mobile-reverse"> 1998 1999 2000 <div class="left-side text-left reverse"> 2001 <h2>Unser Team ist gerne für Sie da</h2> 2002 2003<style type="text/css"><!--td {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}--></style> 2004<style type="text/css"><!--td {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}--></style> 2005<p>Haben Sie Fragen oder wünschen Sie zusätzliche Produktinformationen? Kontaktieren Sie uns jederzeit.</p> <a href="/link/b7b2ab0eaa56446eb9819389bc180285.aspx" class="left-side-button blue"> 2006 Kontakt 2007 </a> 2008 </div> 2009 2010 2011 <div class="right-side reverse"> 2012 2013 <img src="/siteassets/hcp/homepage/de_support_homepage.jpg" 2014 class="desktop-image img-curved" 2015 style="max-width:600px" 2016 alt="" 2017 title="" 2018 loading="lazy" /> 2019 <img src="/siteassets/hcp/homepage/de_support_homepage.jpg" 2020 class="mobile-image img-curved" 2021 alt="" 2022 loading="lazy" /> 2023 </div> 2024 </div> 2025 </div> 2026 </section>
2027<script> 2028 $(document).on("click", ".accordion-header", function () { 2029 2030 const currentItem = 2031 $(this).closest(".accordion-item"); 2032 2033 const currentContent = 2034 currentItem.find(".accordion-content"); 2035 2036 const isActive = 2037 currentItem.hasClass("active-content"); 2038 2039 // Parent accordion only 2040 const accordion = 2041 currentItem.closest(".accordion"); 2042 2043 // Close all accordions 2044 accordion.find(".accordion-item") 2045 .removeClass("active-content"); 2046 2047 accordion.find(".accordion-header") 2048 .attr("aria-expanded", "false"); 2049 2050 2051 accordion.find(".accordion-content") 2052 .css("max-height", "0"); 2053 2054 // Open current if closed 2055 if (!isActive) { 2056 2057 currentItem.addClass("active-content"); 2058 2059 $(this) 2060 .attr("aria-expanded", "true"); 2061 2062 2063 currentContent.css( 2064 "max-height", 2065 currentContent.prop("scrollHeight") + "px" 2066 ); 2067 2068 // Recalculate height after carousel/images render 2069 setTimeout(() => { 2070 2071 currentContent.css( 2072 "max-height", 2073 currentContent.prop("scrollHeight") + "px" 2074 ); 2075 2076 }, 300); 2077 } 2078 }); 2079 2080 $(document).ready(function () { 2081 var owl = jQuery(".countryv2fiftyfiftyblock .owl-carousel"); 2082 2083 owl.owlCarousel({ 2084 autoplay: false, 2085 autoWidth: false, 2086 rewind: false, 2087 margin: 20, 2088 loop: false, 2089 responsiveClass: true, 2090 autoHeight: false, 2091 autoplayTimeout: 7000, 2092 smartSpeed: 800, 2093 nav: true, 2094 navText: [ 2095 '<svg width="25" height="25" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z"/></svg>', 2096 '<svg width="25" height="25" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"/></svg>' 2097 ], 2098 responsive: { 2099 0: { items: 1 }, 2100 600: { items: 1 }, 2101 768: { items: 1 }, 2102 991: { items: 1 }, 2103 1024: { items: 1 } 2104 }, 2105 onInitialized: function (event) { 2106 console.log('Owl Carousel has been fully initialized!'); 2107 $('.owl-item:not(.active)').attr('inert', ''); 2108 } 2109 }); 2110 $('.countryv2fiftyfiftyblock .carousel-inner').owlCarousel({ 2111 autoHeight: false, 2112 }); 2113 2114 owl.on('translated.owl.carousel', function (event) { 2115 // 1. Remove 'inert' from all slides first to reset 2116 $('.owl-item').removeAttr('inert'); 2117 2118 // 2. Apply 'inert' to all non-active, cloned slides 2119 // Owl Carousel uses the 'cloned' and 'active' classes automatically. 2120 $('.owl-item:not(.active)').attr('inert', ''); 2121 2122 // 3. Ensure the currently active slides (both original and potentially a clone if it's in the active view) are not inert 2123 $('.owl-item.active').removeAttr('inert'); 2124 }); 2125 2126 // --- Accessibility Fix: Add aria-label to carousel buttons and dots --- 2127 const addAriaLabels = () => { 2128 const prevBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-prev'); 2129 const nextBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-next'); 2130 const dots = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-dot'); 2131 const slides = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-item'); 2132 if (prevBtn) { 2133 2134 prevBtn.setAttribute('aria-label', 'Previous Slide'); 2135 2136 // Remove bad ARIA 2137 prevBtn.removeAttribute('role'); 2138 } 2139 if (nextBtn) { 2140 2141 nextBtn.setAttribute('aria-label', 'Next Slide'); 2142 2143 // Remove bad ARIA 2144 nextBtn.removeAttribute('role'); 2145 } 2146
2147 dots.forEach((dot, index) => { 2148 2149 dot.setAttribute('aria-label', `Go to slide ${index + 1}`); 2150 2151 // Remove old aria-current 2152 dot.removeAttribute('aria-current'); 2153 2154 // Add aria-current to active dot 2155 if (dot.classList.contains('active')) { 2156 dot.setAttribute('aria-current', 'true'); 2157 } 2158 2159 // Optional cleanup 2160 dot.removeAttribute('role'); 2161 }); 2162 slides.forEach((slide, index) => { 2163 2164 slide.setAttribute('role', 'group'); 2165 2166 slide.setAttribute( 2167 'aria-label', 2168 `Slide ${index + 1} of ${slides.length}` 2169 ); 2170 }); 2171 }; 2172 2173 addAriaLabels(); 2174 jQuery('.countryv2fiftyfiftyblock .owl-carousel').on('changed.owl.carousel', addAriaLabels); 2175 }); 2176</script>
2176</div><div class="block countryv2fiftyfiftyblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> 2177 <section id="" class="fifty-fifty-block bg-blue text-align-left padding-top-60 padding-bottom-60 "> 2178 2179 <div class="card-container" 2180 style=" "> 2181 2182 2183 <div class="card-wrapper mobile-reverse"> 2184 2185 2186 <div class="left-side text-left reverse"> 2187 <h2>Ascensia Diabetes Care hat sich der Verbesserung der Gesundheit und Lebensqualität von Menschen mit Diabetes verschrieben.</h2> 2188 2189<style type="text/css"><!--td {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}--></style> 2190<p><span data-sheets-root="1">Unser Ziel ist es, Produkte und Lösungen anzubieten, die für Menschen mit Diabetes einen positiven Unterschied im Alltag machen. Wir möchten sicherstellen, dass Diabetes die Zukunft der Menschen nicht beeinträchtigt, damit sie ein erfüllteres Leben führen können.</span></p> <a href="/link/31e0c033e296498dbecad191d6a3edcc.aspx" class="left-side-button blue"> 2191 Mehr erfahren 2192 </a> 2193 </div> 2194 2195 2196 <div class="right-side reverse"> 2197 2198 <img src="/siteassets/hcp/homepage/logowhite_v2.png" 2199 class="desktop-image " 2200 style="max-width:600px" 2201 alt="" 2202 title="" 2203 loading="lazy" /> 2204 <img src="/siteassets/hcp/homepage/logowhite_v2.png" 2205 class="mobile-image " 2206 alt="" 2207 loading="lazy" /> 2208 </div> 2209 </div> 2210 </div> 2211 </section>
2212<script> 2213 $(document).on("click", ".accordion-header", function () { 2214 2215 const currentItem = 2216 $(this).closest(".accordion-item"); 2217 2218 const currentContent = 2219 currentItem.find(".accordion-content"); 2220 2221 const isActive = 2222 currentItem.hasClass("active-content"); 2223 2224 // Parent accordion only 2225 const accordion = 2226 currentItem.closest(".accordion"); 2227 2228 // Close all accordions 2229 accordion.find(".accordion-item") 2230 .removeClass("active-content"); 2231 2232 accordion.find(".accordion-header") 2233 .attr("aria-expanded", "false"); 2234 2235 2236 accordion.find(".accordion-content") 2237 .css("max-height", "0"); 2238 2239 // Open current if closed 2240 if (!isActive) { 2241 2242 currentItem.addClass("active-content"); 2243 2244 $(this) 2245 .attr("aria-expanded", "true"); 2246 2247 2248 currentContent.css( 2249 "max-height", 2250 currentContent.prop("scrollHeight") + "px" 2251 ); 2252 2253 // Recalculate height after carousel/images render 2254 setTimeout(() => { 2255 2256 currentContent.css( 2257 "max-height", 2258 currentContent.prop("scrollHeight") + "px" 2259 ); 2260 2261 }, 300); 2262 } 2263 }); 2264 2265 $(document).ready(function () { 2266 var owl = jQuery(".countryv2fiftyfiftyblock .owl-carousel"); 2267 2268 owl.owlCarousel({ 2269 autoplay: false, 2270 autoWidth: false, 2271 rewind: false, 2272 margin: 20, 2273 loop: false, 2274 responsiveClass: true, 2275 autoHeight: false, 2276 autoplayTimeout: 7000, 2277 smartSpeed: 800, 2278 nav: true, 2279 navText: [ 2280 '<svg width="25" height="25" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z"/></svg>', 2281 '<svg width="25" height="25" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"/></svg>' 2282 ], 2283 responsive: { 2284 0: { items: 1 }, 2285 600: { items: 1 }, 2286 768: { items: 1 }, 2287 991: { items: 1 }, 2288 1024: { items: 1 } 2289 }, 2290 onInitialized: function (event) { 2291 console.log('Owl Carousel has been fully initialized!'); 2292 $('.owl-item:not(.active)').attr('inert', ''); 2293 } 2294 }); 2295 $('.countryv2fiftyfiftyblock .carousel-inner').owlCarousel({ 2296 autoHeight: false, 2297 }); 2298 2299 owl.on('translated.owl.carousel', function (event) { 2300 // 1. Remove 'inert' from all slides first to reset 2301 $('.owl-item').removeAttr('inert'); 2302 2303 // 2. Apply 'inert' to all non-active, cloned slides 2304 // Owl Carousel uses the 'cloned' and 'active' classes automatically. 2305 $('.owl-item:not(.active)').attr('inert', ''); 2306 2307 // 3. Ensure the currently active slides (both original and potentially a clone if it's in the active view) are not inert 2308 $('.owl-item.active').removeAttr('inert'); 2309 }); 2310 2311 // --- Accessibility Fix: Add aria-label to carousel buttons and dots --- 2312 const addAriaLabels = () => { 2313 const prevBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-prev'); 2314 const nextBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-next'); 2315 const dots = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-dot'); 2316 const slides = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-item'); 2317 if (prevBtn) { 2318 2319 prevBtn.setAttribute('aria-label', 'Previous Slide'); 2320 2321 // Remove bad ARIA 2322 prevBtn.removeAttribute('role'); 2323 } 2324 if (nextBtn) { 2325 2326 nextBtn.setAttribute('aria-label', 'Next Slide'); 2327 2328 // Remove bad ARIA 2329 nextBtn.removeAttribute('role'); 2330 } 2331
2332 dots.forEach((dot, index) => { 2333 2334 dot.setAttribute('aria-label', `Go to slide ${index + 1}`); 2335 2336 // Remove old aria-current 2337 dot.removeAttribute('aria-current'); 2338 2339 // Add aria-current to active dot 2340 if (dot.classList.contains('active')) { 2341 dot.setAttribute('aria-current', 'true'); 2342 } 2343 2344 // Optional cleanup 2345 dot.removeAttribute('role'); 2346 }); 2347 slides.forEach((slide, index) => { 2348 2349 slide.setAttribute('role', 'group'); 2350 2351 slide.setAttribute( 2352 'aria-label', 2353 `Slide ${index + 1} of ${slides.length}` 2354 ); 2355 }); 2356 }; 2357 2358 addAriaLabels(); 2359 jQuery('.countryv2fiftyfiftyblock .owl-carousel').on('changed.owl.carousel', addAriaLabels); 2360 }); 2361</script>
2361</div><div class="block htmlblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> 2362<div style="margin: 30px 5%;"> 2363<p>1. Pleus S et al. J Diabetes Sci Technol 2024;18(3):644-652. doi: 10.1177/19322968221141926.</p> 2364<p>2. German Praxistest Test Contour Next & Contour Care HCP and PWD (2023) Ascensia Diabetes Care unpublished market survey. Mc-Markt-consult GmbH.</p> 2365<p>3. Richardson J et al. Clinical Relevance of Reapplication of Blood Samples During Blood Glucose Testing. Poster presented at the virtual 20th Annual Diabetes Technology Meeting (TM). 12 November 2020.</p> 2366<p>4. Ascensia Diabetes Care Deutschland GmbH, Data on File. Assessment of Contour Next and Contour Care accuracy in external quality assessment schemes (2025). Institut für Diabetes-Technologie Ulm GmbH, Deutschland.</p> 2367</div> 2368<style> 2369.footnotes { 2370 background: white; 2371font-size: 14px; 2372text-align: left; 2373font-weight: 300; 2374 2375padding-top: 2.8rem; 2376 2377padding-bottom: 2rem; 2378 2379}</style></div><div class="block pagescriptblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> 2380 2381 2382 2383 2384<style> 2385html { 2386 font-size: 16px; 2387} 2388.section-header-bar .submenu a .arrow-right-icon { 2389 /* margin-left: 20px; */ 2390 position: absolute; 2391 right: 2rem; 2392} 2393 2394.fifty-fifty-block .background-image-overlay { 2395left:0; 2396right:0; 2397width:100%; 2398max-width:100%; 2399} 2400 2401#free-device-button { 2402margin-bottom:100px; 2403} 2404 2405.card-four-up-rounded .card.bg-lightgray { 2406background-color:#f7f7f7; 2407} 2408 2409@media (min-width: 1501px) { 2410#foc .card-container { 2411 background-position: center center !important; 2412 min-height: 600px !important; 2413} 2414} 2415</style></div></div> 2416 </main> 2417 2418 2419 2420 <section class="page-bottom"> 2421 <footer class="footer-container" style="background-color:"> 2422 <div class="footer-content"> 2423 <div class="footer-column"> 2424 <div class="footer-logo-container"> 2425 <div class="footer-logo-v2"> 2426 <a href="/fachpersonal/"> 2427 <img src="/globalassets/countryv2/ascensia_diabetes_care_logo-1.png" alt="Footer Logo" /> 2428 </a> 2429 </div> 2430 2431 <div class="footer-country-label"> 2432 2433 2434 <button class="footer-country-selector-btn" 2435 id="countryV2SelectBtn" 2436 type="button" 2437 data-sds 2438 data-countryselector="countryV2Select"> 2439 <span> 2440 Deutschland 2441 </span> 2442 2443 <svg class="footer-country-selector-btn-icon" width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> 2444 <path d="M10 6L8.59 7.41L13.17 12L8.59 16.59L10 18L16 12L10 6Z" /> 2445 </svg> 2446 </button> 2447 2448 2449 </div> 2450 2451 2452 2453 2454 2455 2456
2457<script> 2458 require(['/Areas/CountryV2/Static/css/main.js'], function () { 2459 require(['jquery'], function ($) { 2460 $(document).ready(function () { 2461 console.log('country selector init'); 2462 2463 // Move the modal to the end of the body to prevent CSS overlap 2464 $('body').append($("div[data-countryselectormodal]")); 2465 2466 // Trigger button click 2467 $("[data-countryselector]").click(function (event) { 2468 event.preventDefault(); 2469 2470 var countryselectorId = $(this).data('countryselector'); 2471 2472 if (!countryselectorId) { 2473 countryselectorId = 'countryV2Select'; 2474 } 2475 2476 var $countryselector = $('#' + countryselectorId); 2477 2478 if ($countryselector.length) { 2479 $countryselector.addClass('modal fade in'); 2480 $countryselector.modal('show'); 2481 $("#find-country").focus(); 2482 } 2483 }); 2484 2485 // Close handler 2486 $('#countryV2Select').on('hidden.bs.modal', function (e) { 2487 $('#countryV2Select').removeClass('modal fade in'); 2488 $("#countryV2SelectBtn").focus(); 2489 }); 2490 }); 2491 }); 2492 }); 2493</script>
2493 2494 2495 2496<!-- Modal Dialog for Country Selection --> 2497<div id="countryV2Select" class="modal fade" tabindex="-1" role="dialog" data-countryselectormodal="true" aria-labelledby="countrySelectorDialog" aria-modal="true"> 2498 <div id="modal-map"></div> 2499 <div class="modal-dialog countryv2-select"> 2500 <div class="modal-content countryV2-select"> 2501 <div class="modal-body countryV2-select"> 2502 <h2 id="countrySelectorDialog" class="sr-only"> 2503 Select your country 2504 </h2> 2505 <button class="close-btn" aria-label="Close" tabindex="0" data-dismiss="modal"></button> 2506 <div class="country-search-field"> 2507 <label id="country-search-label" for="find-country" class="country-search-label"> 2508 Type your country 2509 </label> 2510 <p id="country-search-instructions" class="sr-only"> 2511 Type to search countries. Use the up and down arrow keys to navigate results and press Enter to select a country. 2512 </p> 2513 <input type="text" 2514 class="find-search-input" 2515 id="find-country" 2516 name="find-country" 2517 role="combobox" 2518 aria-autocomplete="list" 2519 aria-haspopup="listbox" 2520 aria-expanded="false" 2521 aria-controls="countrySelectList" 2522 aria-activedescendant="" 2523 aria-describedby="country-search-instructions" 2524 autocomplete="off" 2525 aria-label="Type your country" 2526 placeholder="Type your country" /> 2527 </div> 2528 <div id="country-results-count" 2529 class="sr-only" 2530 aria-live="polite"> 2531 </div> 2532 <div id="countrySelectResults"> 2533 </div> 2534 </div> 2535 </div> 2536 </div> 2537</div>
2538<script> 2539 (function () { 2540 2541 var modalElement = document.getElementById('countryV2Select'); 2542 2543 function trapFocus(e) { 2544 2545 if (e.key !== 'Tab') return; 2546 2547 const focusableElements = modalElement.querySelectorAll( 2548 'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])' 2549 ); 2550 2551 if (!focusableElements.length) return; 2552 2553 const firstFocusableElement = focusableElements[0]; 2554 const lastFocusableElement = 2555 focusableElements[focusableElements.length - 1]; 2556 2557 // SHIFT + TAB 2558 if (e.shiftKey) { 2559 2560 if (document.activeElement === firstFocusableElement) { 2561 2562 e.preventDefault(); 2563 lastFocusableElement.focus(); 2564 } 2565 2566 } 2567 // TAB 2568 else { 2569 2570 if (document.activeElement === lastFocusableElement) { 2571 2572 e.preventDefault(); 2573 firstFocusableElement.focus(); 2574 } 2575 } 2576 } 2577 2578 // MODAL OPEN 2579 modalElement.addEventListener('shown.bs.modal', function () { 2580 2581 const focusableElements = modalElement.querySelectorAll( 2582 'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])' 2583 ); 2584 2585 if (focusableElements.length) { 2586 2587 focusableElements[0].focus(); 2588 } 2589 2590 modalElement.addEventListener('keydown', trapFocus); 2591 }); 2592 2593 // MODAL CLOSE 2594 modalElement.addEventListener('hidden.bs.modal', function () { 2595 2596 modalElement.removeEventListener('keydown', trapFocus); 2597 }); 2598 2599 let currentIndex = -1; 2600 2601 modalElement.addEventListener('keydown', function (e) { 2602 2603 const modalOpen = 2604 modalElement.classList.contains('in'); 2605 2606 if (!modalOpen) return; 2607 2608 const items = 2609 document.querySelectorAll('#countrySelectList .countrySelectItem'); 2610 2611 2612 if (!items.length) { 2613 2614 document.getElementById('find-country') 2615 .setAttribute('aria-expanded', 'false'); 2616 2617 return; 2618 } 2619 2620 // DOWN 2621 if (e.key === 'ArrowDown') { 2622 2623 e.preventDefault(); 2624 2625 currentIndex++; 2626 2627 if (currentIndex >= items.length) { 2628 2629 currentIndex = 0; 2630 } 2631 2632 items.forEach(item => item.classList.remove('active')); 2633 2634 const currentItem = items[currentIndex]; 2635 2636 currentItem.classList.add('active'); 2637 2638 const anchor = currentItem.querySelector('a'); 2639 2640 if (anchor) { 2641 2642 anchor.focus(); 2643 } 2644 2645 document.getElementById('find-country') 2646 .setAttribute( 2647 'aria-activedescendant', 2648 currentItem.id 2649 ); 2650 } 2651 2652 // UP 2653 if (e.key === 'ArrowUp') { 2654 2655 e.preventDefault(); 2656 2657 currentIndex--; 2658 2659 if (currentIndex < 0) { 2660 2661 currentIndex = items.length - 1; 2662 } 2663 2664 items.forEach(item => item.classList.remove('active')); 2665 2666 const currentItem = items[currentIndex]; 2667 2668 currentItem.classList.add('active'); 2669 2670 const anchor = currentItem.querySelector('a'); 2671 2672 if (anchor) { 2673 2674 anchor.focus(); 2675 } 2676 2677 document.getElementById('find-country') 2678 .setAttribute( 2679 'aria-activedescendant', 2680 currentItem.id 2681 ); 2682 } 2683 2684 // ENTER 2685 if (e.key === 'Enter') { 2686 2687 const activeItem = 2688 document.querySelector( 2689 '#countrySelectList .countrySelectItem.active a' 2690 ); 2691 2692 if (activeItem) { 2693 2694 e.preventDefault(); 2695 2696 activeItem.click(); 2697 } 2698 } 2699 2700 // ESC 2701 // ESC 2702 if (e.key === 'Escape') { 2703 2704 e.preventDefault(); 2705 e.stopPropagation(); 2706 e.stopImmediatePropagation(); 2707 2708 const input = document.getElementById('find-country'); 2709 const results = document.getElementById('countrySelectResults'); 2710 2711 currentIndex = -1; 2712 2713 input.value = ''; 2714 input.setAttribute('aria-expanded', 'false'); 2715 input.removeAttribute('aria-activedescendant'); 2716 2717 if (results) { 2718 results.innerHTML = ''; 2719 } 2720
2721 items.forEach(item => { 2722 item.classList.remove('active'); 2723 item.setAttribute('aria-selected', 'false'); 2724 }); 2725 2726 return false; 2727 } 2728 }); 2729 2730 })(); 2731</script>
2731 2732 </div> 2733 </div> 2734 2735 <div class="footer-column"> 2736 <h3 class="column-title">Kontakt</h3> 2737 <p style="text-align: left;">Ascensia Diabetes Care Deutschland GmbH<br />Johannes-Kepler-Str. 5<br />51377 Leverkusen</p> 2738<p style="text-decoration: none; cursor: pointer;"><a href="/fachpersonal/service/"><span style="text-decoration: none; color: #021d59;">Kontaktieren Sie uns</span></a></p> 2739<style> 2740.column-title { 2741text-align: left; 2742} 2743p:hover a span { 2744 2745 text-decoration: underline !important; 2746 2747} 2748 2749 2750</style> 2751<style> 2752html { 2753font-size:16px !important; 2754} 2755</style> 2756 </div> 2757 <div class="footer-column"> 2758 <h3 class="column-title">Rechtliches</h3> 2759 <ul class="legal-links"> 2760<li style="text-decoration: none; cursor: pointer;"><a href="/termsandconditions/"><span style="text-decoration: none;">Allgemeine Nutzungsbedingungen</span></a></li> 2761<li style="text-decoration: none; cursor: pointer;"><a href="/datenschutzerklaerung/"><span style="text-decoration: none;">Datenschutzerklärung</span></a></li> 2762<li style="text-decoration: none; cursor: pointer;"><a href="/impressum/"><span style="text-decoration: none;">Impressum</span></a></li> 2763<li style="text-decoration: none; cursor: pointer;"><a href="http://www.ascensia.com/" target="_blank" rel="noopener"><span style="text-decoration: none;">Ascensia International</span></a></li> 2764<li style="text-decoration: none; cursor: pointer;"><a href="http://compatibility.contourone.com/" target="_blank" rel="noopener"><span style="text-decoration: none;">Übersicht kompatibler Betriebssysteme</span></a></li> 2765<li style="text-decoration: none; cursor: pointer;"><a href="http://www.ascensia.com/report-a-compliance-incident/" target="_blank" rel="noopener"><span style="text-decoration: none;">Melden Sie einen Compliance-Vorfall</span></a></li> 2766<li style="text-decoration: none; cursor: pointer;"><strong><a class="openCookiePreferenceCenter"><span style="text-decoration: none; font-weight: 600;">Cookie-Einstellungen</span></a></strong></li> 2767</ul> 2768<style> 2769li:hover span { 2770 text-decoration: underline !important; 2771} 2772</style> 2773 </div> 2774 <div class="footer-column"> 2775 <h3 class="column-title">Social</h3> 2776 <style> 2777 2778 2779 .social-icons { 2780 display: flex; /* Use flexbox for horizontal alignment of icons */ 2781 align-items: center; /* Vertically align icons in the middle */ 2782 gap: 15px; /* Space between the social media icons */ 2783 margin-bottom: 30px; /* Space between social icons and the PHC logo */ 2784 } 2785 2786 .social-icons img { 2787 width: 30px; /* Uniform width for social icons */ 2788 height: 30px; /* Uniform height for social icons */ 2789 } 2790 2791 /* Styles for the PHC Group logo text */ 2792 .phc-group-logo-text { 2793 color: #1a237e; /* Dark blue color, adjust if needed to match the image exactly */ 2794 text-align: left; /* Ensure text alignment is left */ 2795 line-height: 1; /* Reduce line height for closer text */ 2796 width: 160px; 2797 } 2798 2799 .phc-logo img { 2800 max-width: 250px; 2801 height: auto; 2802 display: block; 2803 } 2804@media only screen and (max-width: 767px) { 2805 .phc-group-logo-text { 2806 text-align: center; 2807} 2808} 2809 </style> 2810<div class="social-icons"><a href="https://www.facebook.com/ContourDiabetes/" target="_blank" rel="noopener"> <img src="/globalassets/countryv2/icons8-facebook-f-242.png" alt="Facebook icon" width="24" height="24" /> </a> <a href="https://www.youtube.com/@ContourDiabetes" target="_blank" rel="noopener"> <img src="/globalassets/countryv2/icons8-youtube-502.png" alt="icons8-youtube-50.png" width="50" height="50" /> </a> <a href="https://www.linkedin.com/company/ascensia-diabetes-care" target="_blank" rel="noopener"> <img src="/globalassets/countryv2/linkedin-icon.svg" alt="icon-linkedin" width="55" height="55" />
2810 </a></div> 2811<div class="phc-group-logo-text"><a href="https://www.phchd.com/global" target="_blank" rel="noopener"><img src="/globalassets/countryv2/phc_group_logo_darkblue.png" alt="PHC logo" width="130" height="67" /></a></div> 2812 </div> 2813 </div> 2814 2815 <div class="footer-bottom-container"> 2816 <div class="footer-bottom-content"> 2817 <div class="copyright"> 2818 © 2026 Ascensia Diabetes Care Deutschland GmbH. Alle Rechte vorbehalten. 2819 </div> 2820 </div> 2821 </div> 2822</footer> 2823
2824<script> 2825 $('#countryV2Select').on('shown.bs.modal', function () { 2826 2827 $('#find-country').focus(); 2828 2829 }); 2830</script>
2830 2831 2832 </section> 2833 2834 2835<!-- Video Popup for any Grid Items--> 2836<div class="modal fade" id="videomodalpopup" tabindex="-1" role="dialog"> 2837 <div id="cboxLoadedContent" style="overflow: auto;"> 2838 <iframe frameborder="0" allowfullscreen="" src="" class="cboxIframe"></iframe> 2839 </div> 2840 <button id="btnCloseVideomodalpopup">X</button> 2841</div> 2842<div id="loader-container-wrapper"> 2843 <div class="loader-container"> 2844 <div class="pulsing-circle"></div> 2845 </div> 2846</div> 2847 2848<style> 2849 #loader-container-wrapper { 2850 display: none; 2851 width: 100%; 2852 height: 100%; 2853 position: fixed; 2854 top: 0; 2855 left: 0; 2856 background-color: rgba(0, 0, 0, 0.3); 2857 z-index: 5000; 2858 } 2859 2860 .loader-container { 2861 display: flex; 2862 justify-content: center; 2863 align-items: center; 2864 height: 100vh; 2865 } 2866 2867 .pulsing-circle { 2868 width: 50px; 2869 height: 50px; 2870 background-color: #F3F0E9; 2871 border-radius: 50%; 2872 animation: pulse 2.5s infinite; 2873 } 2874 2875 @keyframes pulse { 2876 0%, 100% { 2877 transform: scale(1); 2878 opacity: 1; 2879 } 2880 2881 50% { 2882 transform: scale(1.5); 2883 opacity: 0.5; 2884 } 2885 } 2886</style> 2887 2888
2888<script type="text/javascript" src="https://dl.episerver.net/13.6.1/epi-util/find.js"></script>
vendor: 2 bytes, line 2888
2888
2889<script type="text/javascript"> 2890if(FindApi){var api = new FindApi();api.setApplicationUrl('/');api.setServiceApiBaseUrl('/find_v2/');api.processEventFromCurrentUri();api.bindWindowEvents();api.bindAClickEvent();api.sendBufferedEvents();} 2891</script>
2891 2892 2893 2894 2895<div id="hcpInterstitialModal" class="hcp-interstitial-modal" aria-hidden="true"> 2896<div class="hcp-interstitial-modal__backdrop" data-close-modal=""> </div> 2897<div class="hcp-interstitial-modal__dialog" role="dialog" aria-modal="true" aria-labelledby="hcpInterstitialTitle" aria-describedby="hcpInterstitialText"> 2898<div class="hcp-interstitial-modal__content"> 2899<h2 id="hcpInterstitialTitle" class="hcp-interstitial-modal__title">Dieser Bereich der Website richtet sich ausschliesslich an medizinisches Fachpersonal.</h2> 2900<p class="hcp-interstitial-modal__text">Wenn Sie Patient, betreuende Person oder Angehörige der Allgemeinbevölkerung sind, besuchen Sie bitte unsere Patientenwebsite. Dort finden Sie Informationen, die auf Ihre Bedürfnisse zugeschnitten sind.</p> 2901<div class="hcp-interstitial-modal__actions"><button class="hcp-interstitial-modal__button hcp-interstitial-modal__button--secondary" type="button" data-close-modal=""> Im FachpersonalâBereich bleiben </button> <a id="hcpInterstitialContinue" class="hcp-interstitial-modal__button hcp-interstitial-modal__button--primary" href="https://diabetes.ascensia.de"> Zum Patienten-Bereich</a></div> 2902</div> 2903</div> 2904</div> 2905<style> 2906.hcp-interstitial-modal { 2907 position: fixed; 2908 inset: 0; 2909 z-index: 9999; 2910 display: flex; 2911 align-items: center; 2912 justify-content: center; 2913 padding: 20px; 2914 opacity: 0; 2915 visibility: hidden; 2916 pointer-events: none; 2917 transition: opacity 0.2s ease, visibility 0.2s ease; 2918} 2919 2920.hcp-interstitial-modal.is-open { 2921 opacity: 1; 2922 visibility: visible; 2923 pointer-events: auto; 2924} 2925 2926.hcp-interstitial-modal__backdrop { 2927 position: absolute; 2928 inset: 0; 2929 background: rgba(20, 26, 40, 0.58); 2930} 2931 2932.hcp-interstitial-modal__dialog { 2933 position: relative; 2934 width: 100%; 2935 max-width: 540px; 2936 background: #ffffff; 2937 border-radius: 18px; 2938 box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18); 2939 z-index: 1; 2940 overflow: hidden; 2941} 2942 2943.hcp-interstitial-modal__content { 2944 padding: 32px; 2945} 2946 2947.hcp-interstitial-modal__close { 2948 position: absolute; 2949 top: 12px; 2950 right: 12px; 2951 width: 42px; 2952 height: 42px; 2953 border: 0; 2954 border-radius: 999px; 2955 background: transparent; 2956 color: #2f3a4a; 2957 font-size: 28px; 2958 line-height: 1; 2959 cursor: pointer; 2960} 2961 2962.hcp-interstitial-modal__close:hover, 2963.hcp-interstitial-modal__close:focus { 2964 background: #f2f4f7; 2965 outline: none; 2966} 2967 2968.hcp-interstitial-modal__title { 2969 margin: 0 32px 14px 0; 2970 font-size: 28px; 2971 line-height: 1.2; 2972 color: #021d59; 2973} 2974 2975.hcp-interstitial-modal__text { 2976 margin: 0; 2977 font-size: 16px; 2978 line-height: 1.6; 2979 color: #2f3a4a; 2980} 2981 2982.hcp-interstitial-modal__actions { 2983 display: flex; 2984 gap: 14px; 2985 margin-top: 28px; 2986} 2987 2988.hcp-interstitial-modal__button { 2989 display: inline-flex; 2990 align-items: center; 2991 justify-content: center; 2992 min-height: 50px; 2993 padding: 0 20px; 2994 border-radius: 10px; 2995 text-decoration: none; 2996 font-size: 16px; 2997 font-weight: 600; 2998 cursor: pointer; 2999 border: 1px solid transparent; 3000 transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease; 3001 flex: 1 1 50%; 3002 box-sizing: border-box; 3003} 3004 3005.hcp-interstitial-modal__button--primary { 3006 background: #003366; 3007 color: #ffffff; 3008} 3009 3010.hcp-interstitial-modal__button--primary:hover, 3011.hcp-interstitial-modal__button--primary:focus { 3012 background: #04308d; 3013 color:#fff; 3014 outline: none; 3015} 3016 3017.hcp-interstitial-modal__button--secondary { 3018 background: #ffffff; 3019 color: #2f3a4a; 3020 border-color: #cfd6df; 3021} 3022 3023.hcp-interstitial-modal__button--secondary:hover, 3024.hcp-interstitial-modal__button--secondary:focus { 3025 background: #f7f9fc; 3026 outline: none; 3027} 3028 3029body.hcp-interstitial-modal-open { 3030 overflow: hidden; 3031} 3032 3033@media (max-width: 990px) { 3034 .hcp-interstitial-modal { 3035 align-items: flex-end; 3036 padding: 12px; 3037 } 3038 3039 .hcp-interstitial-modal__dialog { 3040 max-width: 100%; 3041 border-radius: 18px 18px 0 0; 3042 } 3043 3044 .hcp-interstitial-modal__content { 3045 padding: 24px 20px 20px; 3046 } 3047 3048 .hcp-interstitial-modal__title { 3049 font-size: 24px; 3050 margin-right: 40px; 3051 } 3052 3053 .hcp-interstitial-modal__text { 3054 font-size: 15px; 3055 line-height: 1.5; 3056 } 3057 3058 .hcp-interstitial-modal__actions { 3059 flex-direction: column; 3060 gap: 10px; 3061 } 3062 3063 .hcp-interstitial-modal__button { 3064 width: 100%; 3065 flex: none; 3066 } 3067} 3068</style> 3069 3070 3071 3072
3073<script> 3074 (function () { 3075 var modal = document.getElementById('hcpInterstitialModal'); 3076 var continueButton = document.getElementById('hcpInterstitialContinue'); 3077 var interstitialLinks = document.querySelectorAll('a.interstitial'); 3078 3079 if (!modal || !continueButton) { 3080 return; 3081 } 3082 3083 var closeElements = modal.querySelectorAll('[data-close-modal]'); 3084 var dialog = modal.querySelector('.hcp-interstitial-modal__dialog'); 3085 3086 var targetUrl = ''; 3087 var lastFocusedElement = null; 3088 var cookieName = 'hcp_interstitial_seen'; 3089 3090 function getCookie(name) { 3091 return document.cookie 3092 .split('; ') 3093 .find(function (row) { 3094 return row.indexOf(name + '=') === 0; 3095 }); 3096 } 3097 3098 function setCookie(name, value, days) { 3099 var expires = new Date(Date.now() + days * 864e5).toUTCString(); 3100 document.cookie = name + '=' + value + '; expires=' + expires + '; path=/; SameSite=Lax'; 3101 } 3102 3103 function markAsSeen() { 3104 setCookie(cookieName, 'yes', 30); 3105 } 3106 3107 function openModal(url, triggerElement) { 3108 targetUrl = url || continueButton.getAttribute('href') || '#'; 3109 lastFocusedElement = triggerElement || null; 3110 3111 continueButton.setAttribute('href', targetUrl); 3112 modal.classList.add('is-open'); 3113 modal.setAttribute('aria-hidden', 'false'); 3114 document.body.classList.add('hcp-interstitial-modal-open'); 3115 3116 window.setTimeout(function () { 3117 continueButton.focus(); 3118 }, 10); 3119 } 3120 3121 function closeModal() { 3122 modal.classList.remove('is-open'); 3123 modal.setAttribute('aria-hidden', 'true'); 3124 document.body.classList.remove('hcp-interstitial-modal-open'); 3125 3126 markAsSeen(); 3127 3128 if (lastFocusedElement) { 3129 lastFocusedElement.focus(); 3130 } 3131 } 3132 3133 // Time-based popup after 3 seconds, only if not seen before 3134 window.addEventListener('load', function () { 3135 if (!getCookie(cookieName)) { 3136 window.setTimeout(function () { 3137 openModal(); 3138 }, 3000); 3139 } 3140 }); 3141 3142 closeElements.forEach(function (element) { 3143 element.addEventListener('click', function () { 3144 closeModal(); 3145 }); 3146 }); 3147 3148 continueButton.addEventListener('click', function () { 3149 markAsSeen(); 3150 }); 3151 3152 document.addEventListener('keydown', function (event) { 3153 if (!modal.classList.contains('is-open')) { 3154 return; 3155 } 3156 3157 if (event.key === 'Escape') { 3158 closeModal(); 3159 } 3160 }); 3161 3162 modal.addEventListener('click', function (event) { 3163 if (dialog && !dialog.contains(event.target) && modal.classList.contains('is-open')) { 3164 closeModal(); 3165 } 3166 }); 3167 })(); 3168</script>
3168 3169 3170 <input type="hidden" id="persistUTM" value="true" /> 3171
3171<script src="//cdn.cookielaw.org/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="f3020477-3713-4699-9f88-590b829ff4cd" data-document-language="true"></script>
vendor: 2 bytes, line 3171
3171
3172<script type="text/javascript"> 3173 //https://my.onetrust.com/s/article/UUID-b2d72003-853b-e75b-e337-c6d26ea327eb?topicId=0TO1Q000000ItVuWAK 3174 function OptanonWrapper() { 3175 3176 3177 if (OnetrustActiveGroups.indexOf('C0002') != -1) { gtag('consent', 'update', { 'analytics_storage': 'granted' }) }; 3178 if (OnetrustActiveGroups.indexOf('C0004') != -1) { gtag('consent', 'update', { 'ad_storage': 'granted' }) }; 3179 3180 var topLevelDomain = get_top_domain(); 3181 // Get initial OnetrustActiveGroups ids 3182 if (typeof OptanonWrapperCount == "undefined") { 3183 otGetInitialGrps(); 3184 } 3185 3186 //Delete cookies 3187 otDeleteCookie(otIniGrps); 3188 3189 // Assign OnetrustActiveGroups to custom variable 3190 function otGetInitialGrps() { 3191 OptanonWrapperCount = ''; 3192 otIniGrps = OnetrustActiveGroups; 3193 } 3194 3195 function otDeleteCookie(iniOptGrpId) { 3196 var cookieCategoriesToDelete = []; 3197 if (OnetrustActiveGroups.includes("C0002") === false) { 3198 cookieCategoriesToDelete.push("C0002"); 3199 } 3200 if (OnetrustActiveGroups.includes("C0003") === false) { 3201 cookieCategoriesToDelete.push("C0003"); 3202 } 3203 if (OnetrustActiveGroups.includes("C0004") === false) { 3204 cookieCategoriesToDelete.push("C0004"); 3205 } 3206 var otDomainGrps = JSON.parse(JSON.stringify(Optanon.GetDomainData().Groups)); 3207 //var otDeletedGrpIds = otGetInactiveId(iniOptGrpId, OnetrustActiveGroups); 3208 var otDeletedGrpIds = cookieCategoriesToDelete; 3209 if (otDeletedGrpIds.length != 0 && otDomainGrps.length != 0) { 3210 for (var i = 0; i < otDomainGrps.length; i++) { 3211 let cookieName = ''; 3212 //Check if CustomGroupId matches 3213 if (otDomainGrps[i]['CustomGroupId'] != '' && otDeletedGrpIds.includes(otDomainGrps[i]['CustomGroupId'])) { 3214 for (var j = 0; j < otDomainGrps[i]['Cookies'].length; j++) { 3215 //Delete cookie 3216 cookieName = otDomainGrps[i]['Cookies'][j]['Name']; 3217 eraseCookie(cookieName); 3218 //delete cookies with wildcard sections in their names 3219 if (cookieName.startsWith("_hj") || cookieName.startsWith("_ga") || cookieName.startsWith("_gc")) { 3220 deleteCookieByNameContains(cookieName.substring(0, 3)); 3221 } 3222 if (cookieName.startsWith("visitor_id")) { 3223 deleteCookieByNameContains("visitor_id"); 3224 } 3225 } 3226 } 3227 3228 //Check if Hostid matches 3229 if (otDomainGrps[i]['Hosts'].length != 0) { 3230 for (var j = 0; j < otDomainGrps[i]['Hosts'].length; j++) { 3231 //Check if HostId presents in the deleted list and cookie array is not blank 3232 if (otDeletedGrpIds.includes(otDomainGrps[i]['Hosts'][j]['HostId']) && otDomainGrps[i]['Hosts'][j]['Cookies'].length != 0) { 3233 for (var k = 0; k < otDomainGrps[i]['Hosts'][j]['Cookies'].length; k++) { 3234 //Delete cookie 3235 cookieName = otDomainGrps[i]['Hosts'][j]['Cookies'][k]['Name']; 3236 eraseCookie(cookieName); 3237 //delete cookies with wildcard sections in their names 3238 if (cookieName.startsWith("_hj") || cookieName.startsWith("_ga") || cookieName.startsWith("_gc")) { 3239 deleteCookieByNameContains(cookieName.substring(0, 3)); 3240 } 3241 if (cookieName.startsWith("visitor_id")) { 3242 deleteCookieByNameContains("visitor_id"); 3243 } 3244 } 3245 } 3246 } 3247 } 3248 3249 } 3250 } 3251 otGetInitialGrps(); //Reassign new group ids 3252 } 3253 3254 function deleteCookieByNameContains(substring) { 3255 const decodedCookie = decodeURIComponent(document.cookie); 3256 const cookies = decodedCookie.split(';'); 3257 3258 for (let i = 0; i < cookies.length; i++) { 3259 let cookie = cookies[i]; 3260 // Trim leading whitespace 3261 while (cookie.charAt(0) === ' ') { 3262 cookie = cookie.substring(1); 3263 } 3264 // Extract the cookie name (before the first '=') 3265 const cookieName = cookie.split('=')[0]; 3266 3267 // Check if the cookie name contains the substring 3268 if (cookieName.startsWith(substring)) { 3269 eraseCookie(cookieName); 3270 } 3271 } 3272 } 3273 3274 //Get inactive ids 3275 function otGetInactiveId(customIniId, otActiveGrp) { 3276 //Initial OnetrustActiveGroups 3277 customIniId = customIniId.split(",");
3278 customIniId = customIniId.filter(Boolean); 3279 3280 //After action OnetrustActiveGroups 3281 otActiveGrp = otActiveGrp.split(","); 3282 otActiveGrp = otActiveGrp.filter(Boolean); 3283 3284 var result = []; 3285 for (var i = 0; i < customIniId.length; i++) { 3286 if (otActiveGrp.indexOf(customIniId[i]) <= -1) { 3287 result.push(customIniId[i]); 3288 } 3289 } 3290 return result; 3291 } 3292 3293 //Delete cookie 3294 function eraseCookie(name) { 3295 //Delete root path cookies 3296 document.cookie = name + '=; Max-Age=-99999999; Path=/;domain=' + location.host; 3297 document.cookie = name + '=; Max-Age=-99999999; Path=/;domain=.' + location.host; 3298 document.cookie = name + '=; Max-Age=-99999999; Path=/;domain=' + topLevelDomain; 3299 document.cookie = name + '=; Max-Age=-99999999; Path=/;domain=.' + topLevelDomain; 3300 document.cookie = name + '=; Max-Age=-99999999; Path=/;'; 3301 localStorage.removeItem(name); 3302 3303 //Check for the current path of the page 3304 pathArray = window.location.pathname.split('/'); 3305 //Loop through path hierarchy and delete potential cookies at each path. 3306 for (var i = 0; i < pathArray.length; i++) { 3307 if (pathArray[i]) { 3308 var currentPath = pathArray.slice(0, i + 1).join('/'); 3309 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + ';'; 3310 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + '/;'; 3311 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + ';domain=' + location.host; 3312 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + ';domain=.' + location.host; 3313 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + ';domain=' + topLevelDomain; 3314 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + ';domain=.' + topLevelDomain; 3315 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + '/;domain=' + location.host; 3316 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + '/;domain=.' + location.host; 3317 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + '/;domain=' + topLevelDomain; 3318 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + '/;domain=.' + topLevelDomain; 3319 } 3320 } 3321 } 3322 3323 function get_top_domain() { 3324 var i, h, 3325 weird_cookie = 'weird_get_top_level_domain=cookie', 3326 hostname = document.location.hostname.split('.'); 3327 for (i = hostname.length - 1; i >= 0; i--) { 3328 h = hostname.slice(i).join('.'); 3329 document.cookie = weird_cookie + ';domain=.' + h + ';'; 3330 if (document.cookie.indexOf(weird_cookie) > -1) { 3331 // We were able to store a cookie! This must be it 3332 document.cookie = weird_cookie.split('=')[0] + '=;domain=.' + h + ';expires=Thu, 01 Jan 1970 00:00:01 GMT;'; 3333 return h; 3334 } 3335 } 3336 } 3337 } 3338</script>
3338 3339 3340
3340<script type="text/plain" class="optanon-category-C0004">
vendor: 703 bytes, lines 3340-3352
3340 3341 !function (f, b, e, v, n, t, s) { 3342 if (f.fbq) return; n = f.fbq = function () { 3343 n.callMethod ? 3344 n.callMethod.apply(n, arguments) : n.queue.push(arguments) 3345 }; 3346 if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0'; 3347 n.queue = []; t = b.createElement(e); t.async = !0; 3348 t.src = v; s = b.getElementsByTagName(e)[0]; 3349 s.parentNode.insertBefore(t, s) 3350 }(window, document, 'script', 3351 'https://connect.facebook.net/en_US/fbevents.js'); 3352 fbq('init', '
3352782445058929215
vendor: 68 bytes, lines 3352-3354
3352'); 3353 fbq('track', 'PageView'); 3354
3354</script>
3354 3355 3356 <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=782445058929215&ev=PageView&noscript=1" /></noscript> 3357 3358
3358<script> 3359 var isWorkableLead = false; 3360 var emailSent = false; 3361 function isEmail(email) { 3362 if (email.indexOf(' ') > 0) { 3363 return false; 3364 } 3365 var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/; 3366 return regex.test(email); 3367 } 3368 function validatePhoneNumber(input_str) { 3369 var re = /^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/; 3370 return re.test(input_str); 3371 } 3372 3373 //US phone validation 3374 function validatePhoneNumber(input_str, areaCodes) { 3375 3376 var re = /^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/; 3377 var testResult = re.test(input_str); 3378 3379 if (testResult) { 3380 let firstNumber = input_str.substring(0, 1); 3381 3382 if (firstNumber.startsWith("(")) { 3383 firstNumber = input_str.substring(1, 2); 3384 } 3385 3386 if (firstNumber != "0" && firstNumber != "1") { 3387 return true; 3388 } 3389 } 3390 3391 return false; 3392 } 3393 3394 </script>
3394 3395
3395<script> 3396 document.addEventListener('DOMContentLoaded', function () { 3397 3398 const skipLink = document.querySelector('.skip-to-main'); 3399 const mainContent = document.getElementById('main-content'); 3400 3401 if (skipLink && mainContent) { 3402 3403 skipLink.addEventListener('click', function (e) { 3404 3405 e.preventDefault(); 3406 3407 mainContent.setAttribute('tabindex', '-1'); 3408 3409 mainContent.focus(); 3410 3411 mainContent.scrollIntoView({ 3412 behavior: 'smooth', 3413 block: 'start' 3414 }); 3415 }); 3416 } 3417 }); 3418 </script>
3418 3419 3420</body> 3421</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.