1 2 3 4<!DOCTYPE html> 5 6<html lang="no"> 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/plain' 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-WK9GVF
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>CONTOUR® blodsukkermålingssystemer | Ascensia Diabetes Care Norway AS</title> 21 22<meta content="Ascensia Diabetes Care tilbyr løsninger for blodsukkermÃ¥ling for Ã¥ hjelpe med Ã¥ hÃ¥ndtere diabetes. Les mer. 23 24" name="description" /> 25 26<link href="https://www.diabetes.ascensia.no/" 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-WK9GVF
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 ','contournextone.no','www.contournextone.no','ascensia.com','www.ascensia.com','www.glucofacts.ascensia.com','diabetes.ascensia.com','www.diabetes.ascensia.com','diabetes.ascensia.no','www.diabetes.ascensia.no']); 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 <a href="/helsepersonell/">Helsepersonell</a> 124 </div> 125 126 127 </div> 128 <div class="nav-main" style="background-color: #fff;"> 129 <div class="logo"> 130 <a href="/"> 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="/produkter/contour-next/#registeredfreegoods-container" class="menu-cta-btn"> 136 BESTILL GRATIS Mà LER 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="has-submenu has-submenu-hover"> 154 155 <a class="top-anchor " 156 href="#" aria-expanded="false" 157 aria-controls="submenu-Produkter" role="button"> 158 159 160 Produkter 161 <i class="fas fa-chevron-down arrow-down-icon d-mobile-only"></i> 162 </a> 163 <ul class="submenu" id="submenu-Produkter"> 164 <li class="has-submenu has-submenu-hover "> 165 <a tabindex="0" class="sub-anchor " 166 href="#"> 167 168 169 Blodsukkermålere 170 <span class="arrow-right-icon fas fa-chevron-right d-desktop-only"></span> 171 <span class="arrow-down-icon fas fa-chevron-down d-mobile-only"></span> 172 </a> 173 174 <ul class="submenu"> 175 <li> 176 <a tabindex="0" class="sub-anchor sub-anchor-deep " 177 href="/produkter/contour-next/"> 178 179 180 CONTOUR<sup>®</sup>NEXT 181 </a> 182 </li> 183 <li> 184 <a tabindex="0" class="sub-anchor sub-anchor-deep " 185 href="/produkter/bytt_til_contour_next_na/"> 186 187 188 Bytt til CONTOUR<sup>®</sup>NEXT nå 189 </a> 190 </li> 191 </ul> 192 </li> 193 <li class="has-submenu has-submenu-hover "> 194 <a tabindex="0" class="sub-anchor " 195 href="#"> 196 197 198 Teststrimler
199 <span class="arrow-right-icon fas fa-chevron-right d-desktop-only"></span> 200 <span class="arrow-down-icon fas fa-chevron-down d-mobile-only"></span> 201 </a> 202 203 <ul class="submenu"> 204 <li> 205 <a tabindex="0" class="sub-anchor sub-anchor-deep " 206 href="/produkter/contour-next-teststrimmel/"> 207 208 209 CONTOUR<sup>®</sup>NEXT 210 </a> 211 </li> 212 </ul> 213 </li> 214 <li class="has-submenu has-submenu-hover "> 215 <a tabindex="0" class="sub-anchor " 216 href="#"> 217 218 219 Stikkepenner 220 <span class="arrow-right-icon fas fa-chevron-right d-desktop-only"></span> 221 <span class="arrow-down-icon fas fa-chevron-down d-mobile-only"></span> 222 </a> 223 224 <ul class="submenu"> 225 <li> 226 <a tabindex="0" class="sub-anchor sub-anchor-deep " 227 href="/produkter/microlet-next/"> 228 229 230 MICROLET<sup>®</sup>NEXT 231 </a> 232 </li> 233 <li> 234 <a tabindex="0" class="sub-anchor sub-anchor-deep " 235 href="/produkter/single-let-next/"> 236 237 238 SINGLE-LET<sup>â¢</sup>NEXT 239 </a> 240 </li> 241 </ul> 242 </li> 243 <li class="has-submenu has-submenu-hover "> 244 <a tabindex="0" class="sub-anchor " 245 href="#"> 246 247 248 Apper & Skyløsninger 249 <span class="arrow-right-icon fas fa-chevron-right d-desktop-only"></span> 250 <span class="arrow-down-icon fas fa-chevron-down d-mobile-only"></span> 251 </a> 252 253 <ul class="submenu"> 254 <li> 255 <a tabindex="0" class="sub-anchor sub-anchor-deep " 256 href="/produkter/contour-diabetes-app/"> 257 258 259 CONTOUR<sup>®</sup>DIABETES appen 260 </a> 261 </li> 262 </ul> 263 </li> 264 <li class="has-submenu has-submenu-hover "> 265 <a tabindex="0" class="sub-anchor " 266 href="#"> 267 268 269 Pennekanyler
270 <span class="arrow-right-icon fas fa-chevron-right d-desktop-only"></span> 271 <span class="arrow-down-icon fas fa-chevron-down d-mobile-only"></span> 272 </a> 273 274 <ul class="submenu"> 275 <li> 276 <a tabindex="0" class="sub-anchor sub-anchor-deep " 277 href="/produkter/contour-comfort/"> 278 279 280 CONTOUR<sup>®</sup>COMFORT 281 </a> 282 </li> 283 </ul> 284 </li> 285 </ul> 286 </li> 287 <li class="has-submenu has-submenu-hover"> 288 289 <a class="top-anchor " 290 href="#" aria-expanded="false" 291 aria-controls="submenu-Om-oss" role="button"> 292 293 294 Om oss 295 <i class="fas fa-chevron-down arrow-down-icon d-mobile-only"></i> 296 </a> 297 <ul class="submenu" id="submenu-Om-oss"> 298 <li class=" "> 299 <a tabindex="0" class="sub-anchor " 300 href="/about-us/"> 301 302 303 Om oss 304 </a> 305 306 </li> 307 <li class=" "> 308 <a tabindex="0" class="sub-anchor " 309 href="/about-us/aktualiteter/"> 310 311 312 Aktualiteter 313 </a> 314 315 </li> 316 <li class=" "> 317 <a tabindex="0" class="sub-anchor " 318 href="/apenhetsloven/"> 319 320 321 à penhetsloven 322 </a> 323 324 </li> 325 </ul> 326 </li> 327 <li class="has-submenu has-submenu-hover"> 328 329 <a class="top-anchor " 330 href="#" aria-expanded="false" 331 aria-controls="submenu-Diabetes" role="button"> 332 333 334 Diabetes 335 <i class="fas fa-chevron-down arrow-down-icon d-mobile-only"></i> 336 </a> 337 <ul class="submenu" id="submenu-Diabetes"> 338 <li class=" "> 339 <a tabindex="0" class="sub-anchor " 340 href="/om-diabetes/diabetes-type-1/"> 341 342 343 Type 1 diabetes 344 </a> 345 346 </li> 347 <li class=" "> 348 <a tabindex="0" class="sub-anchor " 349 href="/om-diabetes/diabetes-type-2/"> 350 351 352 Type 2 diabetes 353 </a> 354 355 </li> 356 <li class=" "> 357 <a tabindex="0" class="sub-anchor " 358 href="/om-diabetes/svangerskapsdiabetes/"> 359 360 361 Svangerskapsdiabetes 362 </a> 363 364 </li> 365 <li class=" "> 366 <a tabindex="0" class="sub-anchor " 367 href="/om-diabetes/om-blodsukkermaling/"> 368 369 370 Om blodsukkermÃ¥ling 371 </a> 372 373 </li> 374 </ul> 375 </li> 376 <li class=""> 377 378 <a class="" 379 href="/service/"> 380 Service 381 </a> 382 </li> 383 <li class="mobile-language-select d-mobile-only"> 384<a href="/helsepersonell/">Helsepersonell</a> </li> 385 <li class="mobile-language-select d-mobile-only"> 386 </li> 387 <li class="mobile-search-container d-mobile-only"> 388 <form method="get" action="/sokeresultater/"> 389 <img src="/globalassets/countryv2/magnifier-12.svg" alt="Search Icon" /> 390 <input type="text" 391 class="header-search-input" 392 name="term" 393 placeholder="Søk" 394 aria-label="Søk" /> 395 </form> 396 </li> 397 398 399<style> 400html{ 401font-size:16px; 402} 403.product-page .footnotes p { 404font-size: 12px; 405} 406.section-header-bar .menu .has-submenu .submenu a.active { 407text-decoration:none !important; 408} 409 410.section-header-bar .submenu a 411 { 412 413 justify-content: unset; 414 415} 416@media (max-width: 1024px) { .section-header-bar .mobile-search-container .header-search-input { max-width: 400px; } } 417@media (min-width: 64.063rem) { 418 .section-header-bar .submenu { 419 min-width: 14rem; 420 } 421} 422</style> <li class="menu-bar-cta-btn hidden-in-mobile"> 423 <a href="/produkter/contour-next/#registeredfreegoods-container" alt="Search Icon" class="menu-cta-btn"> 424 BESTILL GRATIS Mà LER 425 </a> 426 </li> 427 428 <li class="header-search-icon-li desktop-menu-search-icon"> 429 <button type="button" href="/sokeresultater/" class="toggle-search" aria-label="Open search" aria-expanded="false" aria-controls="header-search-panel"> 430 <img src="/globalassets/countryv2/magnifier-12.svg" alt="Search Icon" /> 431 </button> 432 <div class="header-search-container"> 433 <form method="get" action="/sokeresultater/"> 434 <label for="header-search-input" class="visually-hidden"> 435 Search 436 </label> 437 <input id="header-search-input" type="text" 438 class="header-search-input header-search-input-desktop" 439 name="term" 440 placeholder="Søk" 441 aria-label="Søk" /> 442 <button type="submit" class="header-search-button header-search-icon-btn" aria-label="Submit Search">
443 <span class="header-search-icon-arrow"></span> 444 </button> 445 </form> 446 </div> 447 </li> 448 </ul> 449 </nav> 450<style> 451.top-bar a { 452 color: #333; 453 text-decoration: none; 454 font-size: 0.875rem; 455 margin: 0; 456 font-family: "Roboto", Sans-serif; 457 font-weight: 400; 458margin-right: 10px; 459} 460 461.top-bar a:hover { 462text-decoration: underline; 463} 464.menu > li > a:hover { 465 text-decoration: underline; 466 text-underline-offset: 4px; 467text-decoration-thickness: 2px; 468} 469 470</style> 471 </div> 472 </div> 473</header> 474
475<script> 476 document.addEventListener('DOMContentLoaded', function () { 477 var windowWidth = window.innerWidth; 478 const menuToggle = document.querySelector('.menu-toggle'); 479 const topMenus = document.querySelectorAll('.top-anchor'); 480 const subMenus = document.querySelectorAll('.sub-anchor'); 481 const subMenuFlyouts = document.querySelectorAll('.submenu'); 482 const menu = document.querySelector('.menu'); 483 const bodytag = document.querySelector('body'); 484 const header = document.querySelector('.section-header-bar'); 485 const breadcrumb = document.querySelector('.breadcrumb-wrap'); 486 const topbar = document.querySelector('.top-bar'); 487 const hero = document.querySelector('.hero-top-banner-container'); 488 const searchToggle = document.querySelector('.toggle-search'); 489 const searchContainer = document.querySelector('.header-search-container'); 490 const input = document.querySelector('.header-search-input-desktop'); 491 const searchIcon = searchToggle ? searchToggle.querySelector('img') : null; 492 var focusInDeepAnchor = false; 493 let typingTimer; 494 495 function isMobileView() { 496 return window.matchMedia('(max-width: 768px)').matches; 497 } 498 499 // Anchors retain existing styling; role="button" describes their toggle action. 500 function setTopMenuExpanded(trigger, expanded) { 501 const parentLi = trigger.parentElement; 502 const submenu = parentLi.querySelector(':scope > .submenu'); 503 if (!submenu) return; 504 parentLi.classList.toggle('open', expanded); 505 submenu.classList.toggle('show', expanded); 506 // Also override hover styling when Escape or activation closes a dropdown. 507 submenu.style.display = expanded ? 'block' : 'none'; 508 trigger.setAttribute('aria-expanded', expanded ? 'true' : 'false'); 509 if (!expanded) { 510 submenu.querySelectorAll('.submenu').forEach(child => { 511 child.classList.remove('show'); 512 child.style.removeProperty('display'); 513 child.parentElement.classList.remove('open'); 514 const childTrigger = child.parentElement.querySelector(':scope > a'); 515 if (childTrigger) childTrigger.setAttribute('aria-expanded', 'false'); 516 }); 517 } 518 if (isMobileView() && menu) { 519 menu.style.height = 'auto'; 520 if (window.innerHeight < menu.offsetHeight) menu.style.height = '90vh'; 521 } 522 } 523 524 function closeAllSubmenus(context = document) { 525 context.querySelectorAll('.top-anchor[role="button"]').forEach(trigger => setTopMenuExpanded(trigger, false)); 526 context.querySelectorAll('li.has-submenu.open').forEach(li => { 527 li.classList.remove('open'); 528 const submenu = li.querySelector(':scope > .submenu'); 529 if (submenu) { 530 submenu.style.display = 'none'; //hide the submenu when transitioning from mobile to desktop resizing 531 submenu.style.removeProperty('display'); //then remove it entirely 532 //submenu.style.display = 'none'; 533 const trigger = li.querySelector(':scope > a'); 534 535 if (trigger) { 536 trigger.setAttribute('aria-expanded', 'false'); 537 } 538 } 539 }); 540 } 541 542 if (windowWidth <= 767) { 543 header.classList.toggle('sticky', true); 544 545 if (breadcrumb) { 546 breadcrumb.classList.toggle('margin-top', true); 547 } 548 else { 549 bodytag.classList.toggle('margin-top-light', true); 550 } 551 } 552 553 if (menuToggle && menu) { 554 555 /*Accessibility Start*/ 556 //topMenus.forEach(link => { 557 // link.addEventListener('focus', () => { 558 // const parentLi = link.parentElement.querySelector('.submenu'); 559 // if (parentLi.classList.contains('show') == false) { 560 // parentLi.classList.add('show', true); 561 // link.setAttribute('aria-expanded', 'true'); 562 // } 563 // });
564 // link.addEventListener('blur', () => { 565 // const parentLi = link.parentElement.querySelector('.submenu'); 566 // if (parentLi.classList.contains('show') == true) { 567 // parentLi.classList.remove('show', true); 568 // link.setAttribute('aria-expanded', 'false'); 569 // } 570 // }); 571 // link.addEventListener('mouseenter', () => { 572 573 // if (!isMobileView()) { 574 // link.setAttribute('aria-expanded', 'true'); 575 // } 576 577 // subMenuFlyouts.forEach(div => { 578 // div.classList.remove("show"); 579 // div.classList.remove("true"); 580 // }); 581 582 // topMenus.forEach(div => { 583 // if (div !== link) { 584 // div.setAttribute("aria-expanded", "false"); 585 // div.blur(); 586 // } 587 // }); 588 // }); 589 // link.parentElement.addEventListener('mouseleave', () => { 590 591 // if (!isMobileView()) { 592 // link.setAttribute('aria-expanded', 'false'); 593 // } 594 595 // }); 596 //}); 597 topMenus.forEach(link => { 598 599 link.parentElement.addEventListener('mouseenter', function () { 600 601 if (isMobileView()) return; 602 603 setTopMenuExpanded(link, true); 604 605 }); 606 607 link.parentElement.addEventListener('mouseleave', function () { 608 609 if (isMobileView()) return; 610 611 const trigger = this.querySelector(':scope > a.top-anchor'); 612 613 if (trigger && !this.contains(document.activeElement)) { 614 setTopMenuExpanded(trigger, false); 615 } 616 617 }); 618 619 }); 620 function getDirectMenuItems(submenuEl) { 621 return submenuEl ? Array.from(submenuEl.querySelectorAll(':scope > li > a')) : []; 622 } 623 624 topMenus.forEach(link => { 625 626 link.addEventListener('keydown', function (e) { 627 628 const submenu = this.parentElement.querySelector(':scope > .submenu'); 629 630 if (!submenu) return; 631 632 if (e.key === 'Enter' || e.key === ' ') { 633 634 e.preventDefault(); 635 636 if (!e.repeat) this.click(); 637 return; 638 } 639 640 if (e.key === 'Escape') { 641 e.preventDefault(); 642 setTopMenuExpanded(this, false); 643 return; 644 } 645 646 if (e.key === 'ArrowDown') { 647 648 e.preventDefault(); 649 650 setTopMenuExpanded(this, true); 651 652 const firstItem = getDirectMenuItems(submenu)[0]; 653 654 if (firstItem) { 655 firstItem.focus(); 656 } 657 } 658 659 if (e.key === 'ArrowUp') { 660 661 e.preventDefault(); 662 663 setTopMenuExpanded(this, true); 664 665 const items = getDirectMenuItems(submenu); 666 const lastItem = items[items.length - 1]; 667 668 if (lastItem) { 669 lastItem.focus(); 670 } 671 } 672 673 }); 674 675 }); 676 677 678 679 subMenus.forEach(link => { 680 681 link.addEventListener('keydown', function (e) { 682 683 const parentSubmenu = this.closest('.submenu'); 684 685 if (!parentSubmenu) return; 686 687 const items = getDirectMenuItems(parentSubmenu); 688 689 const index = items.indexOf(this); 690 691 if (e.key === 'ArrowDown') { 692 693 e.preventDefault(); 694 695 const next = items[index + 1] || items[0]; 696 697 next.focus(); 698 699 } 700 701 if (e.key === 'ArrowUp') { 702 703 e.preventDefault(); 704 705 const prev = items[index - 1] || items[items.length - 1]; 706 707 prev.focus(); 708 709 } 710 711 if (e.key === 'Home') { 712 713 e.preventDefault(); 714 715 if (items[0]) { 716 items[0].focus(); 717 } 718 719 } 720 721 if (e.key === 'End') { 722 723 e.preventDefault(); 724 725 if (items[items.length - 1]) { 726 items[items.length - 1].focus(); 727 } 728 729 } 730 731 }); 732 733 }); 734
735 subMenus.forEach(link => { 736 737 link.addEventListener('keydown', function (e) { 738 739 const parentLi = this.parentElement; 740 const nestedSubmenu = parentLi.querySelector(':scope > .submenu'); 741 742 if ((e.key === 'Enter' || e.key === 'ArrowRight') && nestedSubmenu) { 743 744 e.preventDefault(); 745 746 nestedSubmenu.classList.add('show'); 747 nestedSubmenu.style.display = 'block'; 748 749 this.setAttribute('aria-expanded', 'true'); 750 751 const firstItem = getDirectMenuItems(nestedSubmenu)[0]; 752 753 if (firstItem) { 754 firstItem.focus(); 755 } 756 757 } 758 759 if (e.key === 'ArrowLeft') { 760 761 const closestSubmenu = this.closest('.submenu'); 762 const grandParentLi = closestSubmenu ? closestSubmenu.parentElement : null; 763 764 if (grandParentLi && grandParentLi.classList.contains('has-submenu')) { 765 766 e.preventDefault(); 767 768 closestSubmenu.classList.remove('show'); 769 770 const parentTrigger = grandParentLi.querySelector(':scope > a'); 771 772 if (parentTrigger) { 773 if (parentTrigger.classList.contains('top-anchor')) setTopMenuExpanded(parentTrigger, false); 774 parentTrigger.setAttribute('aria-expanded', 'false'); 775 parentTrigger.focus(); 776 } 777 778 } 779 780 } 781 782 }); 783 784 }); 785 subMenus.forEach(link => { 786 787 link.addEventListener('keydown', function (e) { 788 789 if (e.key === 'Escape') { 790 791 const submenu = this.closest('.submenu'); 792 793 e.preventDefault(); 794 795 submenu.classList.remove('show'); 796 797 const trigger = submenu.parentElement.querySelector(':scope > a'); 798 799 if (trigger.classList.contains('top-anchor')) { 800 setTopMenuExpanded(trigger, false); 801 } else { 802 submenu.parentElement.classList.remove('open'); 803 submenu.style.display = 'none'; 804 } 805 806 trigger.setAttribute('aria-expanded', 'false'); 807 808 trigger.focus(); 809 810 } 811 812 }); 813 814 }); 815 816 // Close keyboard-opened menus when focus moves outside them. 817 // This also closes only the nested level when focus returns to its parent menu. 818 document.addEventListener('focusin', function (e) { 819 820 document.querySelectorAll('.menu .submenu.show').forEach(submenu => { 821 822 const trigger = submenu.parentElement.querySelector(':scope > a'); 823 const focusIsInsideMenu = submenu.contains(e.target); 824 const focusIsOnTrigger = trigger === e.target; 825 826 if (!focusIsInsideMenu && !focusIsOnTrigger) { 827 if (trigger && trigger.classList.contains('top-anchor')) setTopMenuExpanded(trigger, false); 828 submenu.classList.remove('show'); 829 830 if (trigger) { 831 trigger.setAttribute('aria-expanded', 'false'); 832 } 833 } 834 835 }); 836 837 }); 838 839 // Preserve keyboard focus when the pointer enters a submenu link. 840 841 //subMenus.forEach(link => { 842 // link.addEventListener('blur', () => { 843 844 // //const parentLi = link.parentElement.parentElement; 845 // var grandParentLi = null; 846 847 // //if (link.parentElement.parentElement) { 848 // // if (link.parentElement.parentElement.parentElement) { 849 // // if (link.parentElement.parentElement.parentElement.parentElement) { 850 851 // // grandParentLi = link.parentElement.parentElement.parentElement.parentElement; 852 853 // // } 854 // // } 855 // //} 856 857 858 // if (parentLi.classList.contains('show') == true) { 859 // parentLi.classList.remove('show', true); 860 // } 861 862 // if (grandParentLi && grandParentLi.classList.contains('submenu')) { 863 // grandParentLi.querySelector(':scope > .submenu'); 864 // if (grandParentLi.classList.contains('show') == true) { 865 // grandParentLi.classList.remove('show', true); 866 // } 867 // } 868 // });
869 //}); 870 /*Accessibility End*/ 871 872 menuToggle.addEventListener('click', () => { 873 874 const isActive = 875 menu.classList.contains('active'); 876 877 menu.classList.toggle('active'); 878 879 menuToggle.classList.toggle('active'); 880 881 // Check AFTER toggle 882 const expanded = 883 menu.classList.contains('active'); 884 885 menuToggle.setAttribute( 886 'aria-expanded', 887 expanded ? 'true' : 'false' 888 ); 889 890 menuToggle.setAttribute( 891 'aria-label', 892 expanded ? 'Close menu' : 'Open menu' 893 ); 894 895 if (isMobileView()) { 896 897 menu.style.height = "auto"; 898 899 setTimeout(() => { 900 901 if (window.innerHeight < menu.offsetHeight) { 902 903 menu.style.height = "90vh"; 904 905 } else { 906 907 if (!isActive) { 908 909 menu.style.height = 910 menu.offsetHeight + "px"; 911 } 912 } 913 914 }, 1000); 915 916 } else { 917 918 menu.style.height = "auto"; 919 } 920 921 if (!isActive) { 922 923 menu.querySelectorAll('li').forEach(li => { 924 925 li.style.opacity = ''; 926 li.style.transform = ''; 927 }); 928 929 } else { 930 931 closeAllSubmenus(menu); 932 } 933 }); 934 } 935 936 document.querySelectorAll('.menu li.has-submenu > a').forEach(link => { 937 link.addEventListener('click', function (e) { 938 const parentLi = this.parentElement; 939 const submenu = parentLi.querySelector(':scope > .submenu'); 940 const isArrowClick = e.target.classList.contains('arrow-down-icon') || e.target.classList.contains('arrow-right-icon'); 941 942 if (this.classList.contains('top-anchor') && this.getAttribute('role') === 'button') { 943 e.preventDefault(); 944 setTopMenuExpanded(this, this.getAttribute('aria-expanded') !== 'true'); 945 return; 946 } 947 948 if (!isMobileView() && !isArrowClick) { 949 return; 950 } 951 952 if (submenu) { 953 e.preventDefault(); 954 parentLi.classList.toggle('open'); 955 const isExpanded = parentLi.classList.contains('open'); 956 if (isMobileView()) { 957 submenu.style.display = parentLi.classList.contains('open') ? 'block' : 'none'; 958 menu.style.height = "auto"; 959 this.setAttribute('aria-expanded', isExpanded ? 'true' : 'false'); 960 setTimeout(() => { 961 if (window.innerHeight < menu.offsetHeight) { 962 menu.style.height = "90vh"; 963 } 964 }, 700); 965 } 966 else { 967 menu.style.height = "auto"; 968 } 969 } 970 }); 971 }); 972 973 const mediaQuery = window.matchMedia('(max-width: 768px)'); 974 mediaQuery.addEventListener('change', function (e) { 975 closeAllSubmenus(menu); 976 if (!e.matches) { 977 menu.classList.remove('active'); 978 menuToggle.classList.remove('active'); 979 closeAllSubmenus(menu); 980 menu.style.height = "auto"; 981 } 982 }); 983 984 window.addEventListener('scroll', () => { 985 if (windowWidth >= 768) { 986 if (header) { 987 988 if (topbar) { 989 header.classList.toggle('sticky', window.scrollY > 37); 990 991 if (breadcrumb) { 992 breadcrumb.classList.toggle('margin-top', window.scrollY > 37); 993 } 994 else { 995 bodytag.classList.toggle('margin-top', window.scrollY > 37); 996 } 997 } 998 else { 999 header.classList.toggle('sticky', window.scrollY > 0); 1000 1001 if (breadcrumb) { 1002 breadcrumb.classList.toggle('margin-top-light', window.scrollY > 0); 1003 } 1004 else { 1005 bodytag.classList.toggle('margin-top-light', window.scrollY > 0); 1006 } 1007 } 1008 } 1009 } 1010 }); 1011 1012 window.addEventListener('resize', () => { 1013 windowWidth = window.innerWidth; 1014 bodytag.classList.remove("margin-top-light"); 1015 bodytag.classList.remove("margin-top"); 1016 const submenus = document.querySelectorAll('.submenu');
1017 submenus.forEach(element => { 1018 element.style.removeProperty('display'); 1019 }); 1020 1021 if (breadcrumb) { 1022 breadcrumb.classList.remove('margin-top'); 1023 } 1024 if (windowWidth >= 768) { 1025 menu.style.height = "auto"; 1026 1027 1028 if (header) { 1029 if (topbar) { 1030 header.classList.toggle('sticky', window.scrollY > 37); 1031 1032 if (breadcrumb) { 1033 breadcrumb.classList.toggle('margin-top', window.scrollY > 37); 1034 } 1035 else { 1036 bodytag.classList.toggle('margin-top', window.scrollY > 37); 1037 } 1038 } 1039 else { 1040 header.classList.toggle('sticky', window.scrollY > 0); 1041 1042 if (breadcrumb) { 1043 breadcrumb.classList.toggle('margin-top-light', window.scrollY > 0); 1044 } 1045 else { 1046 bodytag.classList.toggle('margin-top-light', window.scrollY > 0); 1047 } 1048 } 1049 } 1050 } 1051 else { 1052 1053 header.classList.add('sticky', true); 1054 1055 if (breadcrumb) { 1056 breadcrumb.classList.add('margin-top', true); 1057 } 1058 else { 1059 bodytag.classList.toggle('margin-top-light', true); 1060 } 1061 } 1062 }); 1063 1064 if (searchToggle && searchContainer) { 1065 1066 searchToggle.addEventListener('click', function () { 1067 1068 const isExpanded = searchContainer.classList.contains('active'); 1069 1070 searchContainer.classList.toggle('active'); 1071 1072 // Accessibility 1073 searchToggle.setAttribute('aria-expanded', !isExpanded); 1074 1075 if (searchIcon) { 1076 1077 searchIcon.classList.add('fade-in'); 1078 1079 setTimeout(() => { 1080 1081 searchIcon.classList.remove('fade-in'); 1082 1083 if (!isExpanded && input) { 1084 input.focus(); 1085 } 1086 1087 }, 400); 1088 } 1089 }); 1090 1091 document.addEventListener('click', function (e) { 1092 1093 const isInside = 1094 searchContainer.contains(e.target) || 1095 searchToggle.contains(e.target); 1096 1097 if (!isInside) { 1098 1099 searchContainer.classList.remove('active'); 1100 1101 // Accessibility 1102 searchToggle.setAttribute('aria-expanded', 'false'); 1103 } 1104 }); 1105 1106 // Close search when tabbing away 1107 document.addEventListener('focusin', function (e) { 1108 1109 if ( 1110 !searchContainer.contains(e.target) && 1111 !searchToggle.contains(e.target) 1112 ) { 1113 1114 searchContainer.classList.remove('active'); 1115 1116 // Accessibility 1117 searchToggle.setAttribute('aria-expanded', 'false'); 1118 } 1119 }); 1120 } 1121 1122 if (input) { 1123 input.addEventListener('input', () => { 1124 input.classList.add('typing'); 1125 clearTimeout(typingTimer); 1126 typingTimer = setTimeout(() => { 1127 input.classList.remove('typing'); 1128 }, 1000); 1129 }); 1130 1131 input.addEventListener('blur', () => { 1132 input.classList.remove('typing'); 1133 }); 1134 } 1135 1136 // This will apply responsive autosizing css only when blue CTA has long text 1137 var ctaBtn = document.querySelector('.section-header-bar .menu-bar-cta-btn .menu-cta-btn'); 1138 var headerBar = document.querySelector('.section-header-bar'); 1139 1140 if (ctaBtn && headerBar) { 1141 let ctaText = ctaBtn.textContent.trim(); 1142 if (ctaText.length > 15) { 1143 headerBar.classList.add('long-cta-text'); 1144 1145 } 1146 } 1147 });
1148</script>
1148 1149 1150 1151 <section class="page-top page-top-clean-carousel"> 1152 1153 </section> 1154 1155 <main id="main-content" class="page-wrap" style="background-image:url('')"> 1156 <div><div class="block countryv2topbannerblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> <div class="hero-top-banner-container "> 1157 <section id="hero-1e474eb464db4abbad80185d841e98af" class="hero-section"> 1158 1159 <video autoplay muted loop playsinline aria-hidden="true" tabindex="-1" preload="auto" class="hero-video" aria-label="scenes from moments in life"> 1160 <source src="https://www.diabetes.ascensia.no/siteassets/bgm-homepage/eu_hero_video_final_mobile.mp4" type="video/mp4" media="(max-width: 767px)" /> 1161 <source src="https://www.diabetes.ascensia.no/siteassets/bgm-homepage/eu_hero_video_final.mp4" type="video/mp4" media="(min-width: 768px)" /> 1162 Video not supported. 1163 </video> 1164 1165 <div class="hero-content"> 1166 <div class="hero-content-wrapper justify-content-left"> 1167 <h1 class="hero-title"> 1168 Enkel veiledning for diabetesbehandling 1169 </h1> 1170 1171 <div class="hero-text"> 1172 <p>Opplev hvordan CONTOUR<sup>®</sup>NEXT kan forenkle din diabeteshåndtering.</p> 1173 </div> 1174 1175 <a class="hero-button " 1176 id="" 1177 href="/produkter/bytt_til_contour_next_na/" 1178 data-href="/produkter/bytt_til_contour_next_na/" 1179 data-youtubevideoid="" 1180 data-vimeovideoid=""> 1181 Lær mer 1182 </a> 1183 </div> 1184 </div> 1185 </section> 1186 </div> 1187
1187<script> 1188 document.addEventListener("DOMContentLoaded", function () { 1189 var hero = document.getElementById("hero-1e474eb464db4abbad80185d841e98af"); 1190 1191 if (hero) { 1192 var video = hero.querySelector(".hero-video"); 1193 var control = hero.querySelector(".hero-video-control"); 1194 1195 if (video && control) { 1196 1197 function updateControl() { 1198 var isPaused = video.paused; 1199 control.classList.toggle("is-paused", isPaused); 1200 control.setAttribute("aria-pressed", isPaused ? "true" : "false"); 1201 control.setAttribute("aria-label", isPaused ? "Play background video" : "Pause background video"); 1202 } 1203 1204 control.addEventListener("click", function () { 1205 if (video.paused) { 1206 var playPromise = video.play(); 1207 if (playPromise && typeof playPromise.catch === "function") { 1208 playPromise.catch(function () { updateControl(); }); 1209 } 1210 } else { 1211 video.pause(); 1212 } 1213 }); 1214 1215 video.addEventListener("play", updateControl); 1216 video.addEventListener("pause", updateControl); 1217 1218 updateControl(); 1219 window.setTimeout(function () { 1220 control.classList.add("is-visible"); 1221 }, 5000); 1222 } 1223 } 1224 1225 if (hero) hero.querySelectorAll(".hero-button").forEach(function (btn) { 1226 btn.addEventListener("click", function (e) { 1227 var href = btn.getAttribute("data-href"); 1228 var vimeoId = btn.getAttribute("data-vimeovideoid"); 1229 var youtubeId = btn.getAttribute("data-youtubevideoid"); 1230 1231 if (href && href !== "javascript:void(0);") { 1232 return; 1233 } 1234 1235 e.preventDefault(); 1236 1237 var videoUrl = ""; 1238 if (youtubeId) { 1239 videoUrl = "https://www.youtube.com/embed/" + youtubeId + "?autoplay=1"; 1240 } else if (vimeoId) { 1241 videoUrl = "https://player.vimeo.com/video/" + vimeoId + "?autoplay=1"; 1242 } 1243 1244 if (videoUrl) { 1245 openVideoModal(videoUrl); 1246 } 1247 }); 1248 }); 1249 1250 function openVideoModal(videoUrl) { 1251 var existingModal = document.getElementById("videoModalOverlay"); 1252 if (existingModal) { 1253 existingModal.remove(); 1254 } 1255 1256 var modal = document.createElement("div"); 1257 modal.id = "videoModalOverlay"; 1258 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;"; 1259 1260 modal.innerHTML = ` 1261 <div style="position:relative;max-width:90%;width:800px;"> 1262 <iframe src="${videoUrl}" width="100%" height="450" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe> 1263 <button onclick="document.getElementById('videoModalOverlay').remove()" 1264 style="position:absolute;top:-12px;right:-12px;width:32px;height:32px;border:none;background:#fff;border-radius:50%;font-size:20px;cursor:pointer;">×</button> 1265 </div> 1266 `; 1267 document.body.appendChild(modal); 1268 } 1269 }); 1270 </script>
1270 1271</div><div class="block countryv2roundedcardcontainerblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> 1272 <section id="" class="card-four-up-rounded padding-top-60 "> 1273 <div class="top-heading-title"> 1274 <h2>CONTOUR<sup>®</sup><span class="mobile-break"></span> utvikler seg med deg</h2> 1275 1276 <p>Utforsk vår CONTOUR<sup>®</sup>-løsning for blodsukkermåling.</p> 1277 </div> 1278 1279 <div class="card-grid-container grid-4"> 1280 <div class="card " style=""> 1281 1282 1283 <div class="image-wrapper"> 1284 <img src="/siteassets/bgm-homepage/ca_accuracy_1.png" 1285 style="border-radius:50%" /> 1286 </div> 1287 1288 <h2 class="card-title">Svært nøyaktig<sup>*</sup></h2> 1289 1290 <div class="card-body"><p>Stol på det svært nøyaktige CONTOUR<sup>®</sup>-systemet for å hjelpe deg med å ta bedre beslutninger for egenbehandling.</p></div> 1291 1292 <!-- CTA --> 1293 1294 </div> 1295 <div class="card " style=""> 1296 1297 1298 <div class="image-wrapper"> 1299 <img src="/siteassets/bgm-homepage/ca_smartlight.png" 1300 style="border-radius:50%" /> 1301 </div> 1302 1303 <h2 class="card-title">smartLIGHT</h2> 1304 1305 <div class="card-body"><p>Tolker enkelt blodsukkerverdier som viser om målingen er innenfor målområdet ditt.<sup>*</sup></p></div> 1306 1307 <!-- CTA --> 1308 1309 </div> 1310 <div class="card " style=""> 1311 1312 1313 <div class="image-wrapper"> 1314 <img src="/siteassets/bgm-homepage/app.png" 1315 style="border-radius:50%" /> 1316 </div> 1317 1318 <h2 class="card-title">Diabetes-app</h2> 1319 1320 <div class="card-body"><p>Den gratis CONTOUR<sup>®</sup>DIABETES-appen støtter egenbehandling av diabetes og gir mening til resultatene.</p></div> 1321 1322 <!-- CTA --> 1323 1324 </div> 1325 <div class="card " style=""> 1326 1327 1328 <div class="image-wrapper"> 1329 <img src="/siteassets/bgm-homepage/cda_easeofuse_1.png.png" 1330 style="border-radius:50%" /> 1331 </div> 1332 1333 <h2 class="card-title">Enkel Ã¥ bruke</h2> 1334 1335 <div class="card-body"><p>Klar til bruk rett fra esken. Testing i 3 enkle trinn. Stor skjerm med høy kontrast.<sup>*</sup></p></div> 1336 1337 <!-- CTA --> 1338 1339 </div> 1340 </div> 1341 1342 <p class="footer-note"><sup>*</sup>Referanser finnes på CONTOUR<sup>®</sup>-produktsiden.</p> 1343 </section> 1344
1344<script> 1345 document.addEventListener("DOMContentLoaded", function () { 1346 const cards = document.querySelectorAll(".card-four-up-rounded .card"); 1347 const observer = new IntersectionObserver((entries, obs) => { 1348 entries.forEach(entry => { 1349 if (entry.isIntersecting) { 1350 entry.target.classList.add("animate-in"); 1351 obs.unobserve(entry.target); 1352 } 1353 }); 1354 }, { 1355 root: null, 1356 threshold: 0.2 1357 }); 1358 1359 cards.forEach(card => { 1360 observer.observe(card); 1361 }); 1362 }); 1363 </script>
1363 1364</div><div class="block countryv2fiftyfiftyblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> 1365 <section id="wddbanner" class="fifty-fifty-block bg- padding-0 text-align-left padding-top-90 padding-top-mobile-30 padding-bottom-mobile-30"> 1366 1367 <div class="card-container is-block-background-image has-mobile-bg" 1368 style="background-image: url('/siteassets/wdd_banner_2026_desktop.jpg');background-size: cover;background-position: top center;background-repeat: no-repeat; --mobile-bg-image: url('/siteassets/wdd_banner_2026_mobile.jpg'); min-height:575px;"> 1369 1370 <div class="background-image-overlay" style="background-color: rgba(0, 0, 0, 0);"></div> 1371 1372 <div class="card-wrapper flex-row-reverse "> 1373 1374 1375 <div class="left-side text-left "> 1376 <h2>Verdens diabetesdag | 14. november 2026</h2> 1377 1378<style> 1379 1380 1381@media (max-width: 48rem) { 1382 #wddbanner .card-container.is-block-background-image .left-side { 1383 padding: 125px 0 0 !important; 1384 } 1385} 1386 1387</style> 1388<p>Delta i den globale <em><strong>This Is Diabetes</strong></em> konkurransen og del historien din gjennom kunst eller fotografi.</p> <a href="https://thisisdiabetes.com/" class="left-side-button "> 1389 Delta i konkurransen 1390 </a> 1391 </div> 1392 1393 1394 <div class="right-side "> 1395 1396 </div> 1397 </div> 1398 </div> 1399 </section>
1400<script> 1401 $(document).on("click", ".accordion-header", function () { 1402 1403 const currentItem = 1404 $(this).closest(".accordion-item"); 1405 1406 const currentContent = 1407 currentItem.find(".accordion-content"); 1408 1409 const isActive = 1410 currentItem.hasClass("active-content"); 1411 1412 // Parent accordion only 1413 const accordion = 1414 currentItem.closest(".accordion"); 1415 1416 // Close all accordions 1417 accordion.find(".accordion-item") 1418 .removeClass("active-content"); 1419 1420 accordion.find(".accordion-header") 1421 .attr("aria-expanded", "false"); 1422 1423 1424 accordion.find(".accordion-content") 1425 .css("max-height", "0"); 1426 1427 // Open current if closed 1428 if (!isActive) { 1429 1430 currentItem.addClass("active-content"); 1431 1432 $(this) 1433 .attr("aria-expanded", "true"); 1434 1435 1436 currentContent.css( 1437 "max-height", 1438 currentContent.prop("scrollHeight") + "px" 1439 ); 1440 1441 // Recalculate height after carousel/images render 1442 setTimeout(() => { 1443 1444 currentContent.css( 1445 "max-height", 1446 currentContent.prop("scrollHeight") + "px" 1447 ); 1448 1449 }, 300); 1450 } 1451 }); 1452 1453 $(document).ready(function () { 1454 var owl = jQuery(".countryv2fiftyfiftyblock .owl-carousel"); 1455 1456 owl.owlCarousel({ 1457 autoplay: false, 1458 autoWidth: false, 1459 rewind: false, 1460 margin: 20, 1461 loop: false, 1462 responsiveClass: true, 1463 autoHeight: false, 1464 autoplayTimeout: 7000, 1465 smartSpeed: 800, 1466 nav: true, 1467 navText: [ 1468 '<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>', 1469 '<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>' 1470 ], 1471 responsive: { 1472 0: { items: 1 }, 1473 600: { items: 1 }, 1474 768: { items: 1 }, 1475 991: { items: 1 }, 1476 1024: { items: 1 } 1477 }, 1478 onInitialized: function (event) { 1479 console.log('Owl Carousel has been fully initialized!'); 1480 $('.owl-item:not(.active)').attr('inert', ''); 1481 } 1482 }); 1483 $('.countryv2fiftyfiftyblock .carousel-inner').owlCarousel({ 1484 autoHeight: false, 1485 }); 1486 1487 owl.on('translated.owl.carousel', function (event) { 1488 // 1. Remove 'inert' from all slides first to reset 1489 $('.owl-item').removeAttr('inert'); 1490 1491 // 2. Apply 'inert' to all non-active, cloned slides 1492 // Owl Carousel uses the 'cloned' and 'active' classes automatically. 1493 $('.owl-item:not(.active)').attr('inert', ''); 1494 1495 // 3. Ensure the currently active slides (both original and potentially a clone if it's in the active view) are not inert 1496 $('.owl-item.active').removeAttr('inert'); 1497 }); 1498 1499 // --- Accessibility Fix: Add aria-label to carousel buttons and dots --- 1500 const addAriaLabels = () => { 1501 const prevBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-prev'); 1502 const nextBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-next'); 1503 const dots = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-dot'); 1504 const slides = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-item'); 1505 if (prevBtn) { 1506 1507 prevBtn.setAttribute('aria-label', 'Previous Slide'); 1508 1509 // Remove bad ARIA 1510 prevBtn.removeAttribute('role'); 1511 } 1512 if (nextBtn) { 1513 1514 nextBtn.setAttribute('aria-label', 'Next Slide'); 1515 1516 // Remove bad ARIA 1517 nextBtn.removeAttribute('role'); 1518 } 1519
1520 dots.forEach((dot, index) => { 1521 1522 dot.setAttribute('aria-label', `Go to slide ${index + 1}`); 1523 1524 // Remove old aria-current 1525 dot.removeAttribute('aria-current'); 1526 1527 // Add aria-current to active dot 1528 if (dot.classList.contains('active')) { 1529 dot.setAttribute('aria-current', 'true'); 1530 } 1531 1532 // Optional cleanup 1533 dot.removeAttribute('role'); 1534 }); 1535 slides.forEach((slide, index) => { 1536 1537 slide.setAttribute('role', 'group'); 1538 1539 slide.setAttribute( 1540 'aria-label', 1541 `Slide ${index + 1} of ${slides.length}` 1542 ); 1543 }); 1544 }; 1545 1546 addAriaLabels(); 1547 jQuery('.countryv2fiftyfiftyblock .owl-carousel').on('changed.owl.carousel', addAriaLabels); 1548 }); 1549</script>
1549</div><div class="block countryv2fiftyfiftyblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> 1550 <section id="" class="fifty-fifty-block bg- padding-0 text-align-left padding-top-30 padding-bottom-30 "> 1551 1552 <div class="card-container is-block-background-image has-mobile-bg" 1553 style="background-image: url('/siteassets/bgm-homepage/pharmacy-strips-no-1500x600_highlight.jpg');background-size: cover;background-position: top center;background-repeat: no-repeat; --mobile-bg-image: url('/siteassets/bgm-homepage/pharmacy-strips-no-729x600_darker_mobile-002.jpg'); min-height:600px;"> 1554 1555 <div class="background-image-overlay" style="background-color: rgba(0, 0, 0, 0);"></div> 1556 1557 <div class="card-wrapper flex-row-reverse "> 1558 1559 1560 <div class="left-side text-left "> 1561 1562<style> 1563.hero-title { 1564 margin: 0 0 2rem 0; 1565 color: #FFF; 1566 font-size: 2.5rem; 1567 font-weight: 600; 1568 font-family: Roboto, sans-serif; 1569 line-height: 3.25rem; 1570} 1571 1572.hero-text { 1573 font-weight: 400; 1574 font-size: 1.25rem; 1575 line-height: 1.7rem; 1576 color: #FFF; 1577 max-width: 37.5rem; 1578 margin-bottom: 3.2rem; 1579 margin-top: 0 !important; 1580 font-family: "Roboto", Sans-serif; 1581} 1582.hero-button { 1583 font-family: "Roboto", Sans-serif; 1584 font-weight: 700; 1585 text-transform: uppercase; 1586 border-style: solid; 1587 border-width: 0.125rem; 1588 border-color: #FFFFFF; 1589 border-radius: 1.875rem; 1590 max-width: max-content; 1591 color: #fff; 1592 display: inline-block; 1593 font-size: 1.25rem; 1594 line-height: 1; 1595 padding: 0.75rem 1.5rem; 1596 text-align: center; 1597 background-color: transparent; 1598 cursor: pointer; 1599 white-space: nowrap; 1600 transition: all 0.3s ease; 1601} 1602.hero-button:hover { 1603 background-color: #fff; 1604 color: #000; 1605 border-color: #fff; 1606} 1607.fifty-fifty-block .card-container.is-block-background-image .card-wrapper { 1608 padding: 3rem 2rem; 1609} 1610.hero-content .hero-text p{ 1611 text-align: left !important; 1612 } 1613 @media (max-width: 48rem) { 1614 .hero-content .hero-text{ 1615 display: flex; 1616 flex-direction: column; 1617 align-items: center; 1618 } 1619 .hero-content .hero-text p{ 1620 text-align: center !important; 1621 } 1622 .hero-title{ 1623 text-align: center; 1624 } 1625 1626 } 1627</style> 1628<div class="hero-content"> 1629<div class="hero-content-wrapper justify-content-left"> 1630<h1 class="hero-title">Bestill strimler</h1> 1631<div class="hero-text"> 1632<p>Kjøp dine CONTOUR<sup>®</sup>NEXT-teststrimler i alle apotekkjeder i Norge</p> 1633<p> </p> 1634<a class="hero-button" role="link" href="/link/aff3d849847549cebc4199440e7d7a83.aspx" data-href="/produkter/bytt_til_contour_next_na/" data-youtubevideoid="" data-vimeovideoid=""> Lær mer </a></div> 1635</div> 1636</div> </div> 1637 1638 1639 <div class="right-side "> 1640 1641 </div> 1642 </div> 1643 </div> 1644 </section>
1645<script> 1646 $(document).on("click", ".accordion-header", function () { 1647 1648 const currentItem = 1649 $(this).closest(".accordion-item"); 1650 1651 const currentContent = 1652 currentItem.find(".accordion-content"); 1653 1654 const isActive = 1655 currentItem.hasClass("active-content"); 1656 1657 // Parent accordion only 1658 const accordion = 1659 currentItem.closest(".accordion"); 1660 1661 // Close all accordions 1662 accordion.find(".accordion-item") 1663 .removeClass("active-content"); 1664 1665 accordion.find(".accordion-header") 1666 .attr("aria-expanded", "false"); 1667 1668 1669 accordion.find(".accordion-content") 1670 .css("max-height", "0"); 1671 1672 // Open current if closed 1673 if (!isActive) { 1674 1675 currentItem.addClass("active-content"); 1676 1677 $(this) 1678 .attr("aria-expanded", "true"); 1679 1680 1681 currentContent.css( 1682 "max-height", 1683 currentContent.prop("scrollHeight") + "px" 1684 ); 1685 1686 // Recalculate height after carousel/images render 1687 setTimeout(() => { 1688 1689 currentContent.css( 1690 "max-height", 1691 currentContent.prop("scrollHeight") + "px" 1692 ); 1693 1694 }, 300); 1695 } 1696 }); 1697 1698 $(document).ready(function () { 1699 var owl = jQuery(".countryv2fiftyfiftyblock .owl-carousel"); 1700 1701 owl.owlCarousel({ 1702 autoplay: false, 1703 autoWidth: false, 1704 rewind: false, 1705 margin: 20, 1706 loop: false, 1707 responsiveClass: true, 1708 autoHeight: false, 1709 autoplayTimeout: 7000, 1710 smartSpeed: 800, 1711 nav: true, 1712 navText: [ 1713 '<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>', 1714 '<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>' 1715 ], 1716 responsive: { 1717 0: { items: 1 }, 1718 600: { items: 1 }, 1719 768: { items: 1 }, 1720 991: { items: 1 }, 1721 1024: { items: 1 } 1722 }, 1723 onInitialized: function (event) { 1724 console.log('Owl Carousel has been fully initialized!'); 1725 $('.owl-item:not(.active)').attr('inert', ''); 1726 } 1727 }); 1728 $('.countryv2fiftyfiftyblock .carousel-inner').owlCarousel({ 1729 autoHeight: false, 1730 }); 1731 1732 owl.on('translated.owl.carousel', function (event) { 1733 // 1. Remove 'inert' from all slides first to reset 1734 $('.owl-item').removeAttr('inert'); 1735 1736 // 2. Apply 'inert' to all non-active, cloned slides 1737 // Owl Carousel uses the 'cloned' and 'active' classes automatically. 1738 $('.owl-item:not(.active)').attr('inert', ''); 1739 1740 // 3. Ensure the currently active slides (both original and potentially a clone if it's in the active view) are not inert 1741 $('.owl-item.active').removeAttr('inert'); 1742 }); 1743 1744 // --- Accessibility Fix: Add aria-label to carousel buttons and dots --- 1745 const addAriaLabels = () => { 1746 const prevBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-prev'); 1747 const nextBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-next'); 1748 const dots = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-dot'); 1749 const slides = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-item'); 1750 if (prevBtn) { 1751 1752 prevBtn.setAttribute('aria-label', 'Previous Slide'); 1753 1754 // Remove bad ARIA 1755 prevBtn.removeAttribute('role'); 1756 } 1757 if (nextBtn) { 1758 1759 nextBtn.setAttribute('aria-label', 'Next Slide'); 1760 1761 // Remove bad ARIA 1762 nextBtn.removeAttribute('role'); 1763 } 1764
1765 dots.forEach((dot, index) => { 1766 1767 dot.setAttribute('aria-label', `Go to slide ${index + 1}`); 1768 1769 // Remove old aria-current 1770 dot.removeAttribute('aria-current'); 1771 1772 // Add aria-current to active dot 1773 if (dot.classList.contains('active')) { 1774 dot.setAttribute('aria-current', 'true'); 1775 } 1776 1777 // Optional cleanup 1778 dot.removeAttribute('role'); 1779 }); 1780 slides.forEach((slide, index) => { 1781 1782 slide.setAttribute('role', 'group'); 1783 1784 slide.setAttribute( 1785 'aria-label', 1786 `Slide ${index + 1} of ${slides.length}` 1787 ); 1788 }); 1789 }; 1790 1791 addAriaLabels(); 1792 jQuery('.countryv2fiftyfiftyblock .owl-carousel').on('changed.owl.carousel', addAriaLabels); 1793 }); 1794</script>
1794</div><div class="block countryv2cardcarouselcontainerblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> <section id="" class="carousel-three-up-container padding-top-30 " aria-label="Card carousel"> 1795 <div class="top-heading-title"> 1796 1797 </div> 1798 <div class="carousel-three-up" aria-live="polite"> 1799 <div class="carousel-inner owl-carousel" id="carouselInner" style="transform: translateX(0);"> 1800 <article class="card" > 1801 <img src="/siteassets/products/contour-comfort/carousel_4mm_contourcomfort.png" alt="" title="CONTOUR<sup>®</sup>COMFORT" /> 1802 <h2 class="card-title">CONTOUR<sup>®</sup>COMFORT</h2> 1803 <p class="card-body">CONTOUR<sup>®</sup>COMFORT er utviklet for å gjøre injeksjoner mer komfortable<sup>*</sup> og mer kontrollert, dag etter dag.</p> 1804 1805 <div class="card-buttons"> 1806 <a class="button btn-learn " 1807 id="" 1808 href="/produkter/contour-comfort/" 1809 data-href="/produkter/contour-comfort/" 1810 data-youtubevideoid="" 1811 data-vimeovideoid="" 1812 aria-label="Learn more about CONTOUR<sup>®</sup>COMFORT" 1813 target="_self"> 1814 Lær mer 1815 </a> 1816 1817 </div> 1818 1819 <div class="card-footer"> 1820<p><sup>*</sup>Referanser finnes på produktsiden.</p> </div> 1821 </article> 1822 <article class="card" > 1823 <img src="/siteassets/bgm-homepage/image-20260120-160534.png" alt="" title="CONTOUR<sup>®</sup>NEXT" /> 1824 <h2 class="card-title">CONTOUR<sup>®</sup>NEXT</h2> 1825 <p class="card-body">CONTOUR<sup>®</sup>NEXT blodsukkermålesystem. Oppdag god nøyaktighet<sup>*</sup> og brukervennlighet – funksjoner du ønsker fra en måler.</p> 1826 1827 <div class="card-buttons"> 1828 <a class="button btn-learn " 1829 id="" 1830 href="/produkter/contour-next/" 1831 data-href="/produkter/contour-next/" 1832 data-youtubevideoid="" 1833 data-vimeovideoid="" 1834 aria-label="Learn more about CONTOUR<sup>®</sup>NEXT" 1835 target="_self"> 1836 Lær mer 1837 </a> 1838 1839 <a class="button btn-shop " 1840 id="" 1841 href="/produkter/contour-next/#registeredfreegoods-container" 1842 data-href="/produkter/contour-next/#registeredfreegoods-container" 1843 data-youtubevideoid="" 1844 data-vimeovideoid="" 1845 aria-label="Shop now for CONTOUR<sup>®</sup>NEXT" 1846 target="_self"> 1847 Bestill gratis mÃ¥ler 1848 </a> 1849 </div> 1850 1851 <div class="card-footer"> 1852<p><sup>*</sup>Referanser finnes på produktsiden.</p> </div> 1853 </article> 1854 <article class="card" > 1855 <img src="/siteassets/bgm-homepage/image-20260120-160655.png" alt="" title="CONTOUR<sup>®</sup>NEXT teststrimler" /> 1856 <h2 class="card-title">CONTOUR<sup>®</sup>NEXT teststrimler</h2> 1857 <p class="card-body">Svært nøyaktig og med Second-Chance<sup>®</sup> Sampling-teknologi for å spare teststrimler.<sup>*</sup></p> 1858 1859 <div class="card-buttons"> 1860 <a class="button btn-learn " 1861 id="" 1862 href="/produkter/contour-next-teststrimmel/" 1863 data-href="/produkter/contour-next-teststrimmel/" 1864 data-youtubevideoid="" 1865 data-vimeovideoid="" 1866 aria-label="Learn more about CONTOUR<sup>®</sup>NEXT teststrimler" 1867 target="_self"> 1868 Lær mer 1869 </a> 1870 1871 </div> 1872 1873 <div class="card-footer"> 1874<p><sup>*</sup>Referanser finnes på produktsiden.</p> </div> 1875 </article> 1876 <article class="card" > 1877 <img src="/siteassets/bgm-homepage/image-20260120-160802.png" alt="" title="CONTOUR<sup>®</sup>DIABETES appen" /> 1878 <h2 class="card-title">CONTOUR<sup>®</sup>DIABETES appen</h2> 1879 <p class="card-body">Smartere håndtering av diabetes. Test, følg og del resultater på en enklere må
1879te slik at du kan få en bedre forståelse av blodsukkermønstrene dine.<sup>*</sup></p> 1880 1881 <div class="card-buttons"> 1882 <a class="button btn-learn " 1883 id="" 1884 href="/produkter/contour-diabetes-app/" 1885 data-href="/produkter/contour-diabetes-app/" 1886 data-youtubevideoid="" 1887 data-vimeovideoid="" 1888 aria-label="Learn more about CONTOUR<sup>®</sup>DIABETES appen" 1889 target="_self"> 1890 Lær mer 1891 </a> 1892 1893 </div> 1894 1895 <div class="card-footer"> 1896<p><sup>*</sup>Referanser finnes på produktsiden.</p> </div> 1897 </article> 1898 <article class="card" > 1899 <img src="/siteassets/bgm-homepage/microlet_lancing_device_500x500px.png" alt="" title="MICROLET<sup>®</sup>NEXT" /> 1900 <h2 class="card-title">MICROLET<sup>®</sup>NEXT</h2> 1901 <p class="card-body">MICROLET<sup>®</sup>NEXT stikkepenn gir minimal smerte slik at du kan teste blodsukkernivået med trygghet og nøyaktighet.</p> 1902 1903 <div class="card-buttons"> 1904 <a class="button btn-learn " 1905 id="" 1906 href="/produkter/microlet-next/" 1907 data-href="/produkter/microlet-next/" 1908 data-youtubevideoid="" 1909 data-vimeovideoid="" 1910 aria-label="Learn more about MICROLET<sup>®</sup>NEXT" 1911 target="_self"> 1912 Lær mer 1913 </a> 1914 1915 </div> 1916 1917 <div class="card-footer"> 1918 <span style="visibility:hidden;">*Placeholder for consistent height*</span> 1919 </div> 1920 </article> 1921 1922 1923 </div> 1924 </div> 1925 </section> 1926
1926<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
1926 1927
1927<script src="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/owl.carousel.min.js"></script>
1927 1928
1928<script> 1929 document.addEventListener("DOMContentLoaded", function () { 1930 const buttons = document.querySelectorAll(".card-buttons a.button"); 1931 buttons.forEach(button => { 1932 button.addEventListener("click", function (e) { 1933 const href = this.getAttribute("data-href"); 1934 const youtubeId = this.getAttribute("data-youtubevideoid"); 1935 const vimeoId = this.getAttribute("data-vimeovideoid"); 1936 const target = this.getAttribute("target"); 1937 1938 if (href) { 1939 if (target === "_blank") { 1940 window.open(href, "_blank"); 1941 } else { 1942 window.location.href = href; 1943 } 1944 return; 1945 } 1946 1947 e.preventDefault(); 1948 1949 if (youtubeId) { 1950 window.open(`https://www.youtube.com/watch?v=${youtubeId}`, '_target'); 1951 } else if (vimeoId) { 1952 window.open(`https://vimeo.com/${vimeoId}`, '_target'); 1953 } 1954 }); 1955 }); 1956 if (!false) { 1957 var owl = jQuery(".owl-carousel"); 1958 1959 owl.owlCarousel({ 1960 autoplay: false, 1961 rewind: false, 1962 margin: 0, 1963 loop: true, 1964 responsiveClass: true, 1965 autoHeight: true, 1966 autoplayTimeout: 7000, 1967 smartSpeed: 800, 1968 nav: true, 1969 navText: [ 1970 '<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>', 1971 '<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>' 1972 ], 1973 responsive: { 1974 0: { items: 1 }, 1975 600: { items: 2 }, 1976 768: { items: 2 }, 1977 991: { items: 2 }, 1978 1024: { items: 3 }, 1979 1366: { items: 3 } 1980 }, 1981 onInitialized: function (event) { 1982 console.log('Owl Carousel has been fully initialized!'); 1983 $('.owl-item:not(.active)').attr('inert', ''); 1984 } 1985 }); 1986 1987 owl.on('translated.owl.carousel', function (event) { 1988 // 1. Remove 'inert' from all slides first to reset 1989 $('.owl-item').removeAttr('inert'); 1990 1991 // 2. Apply 'inert' to all non-active, cloned slides 1992 // Owl Carousel uses the 'cloned' and 'active' classes automatically. 1993 $('.owl-item:not(.active)').attr('inert', ''); 1994 1995 // 3. Ensure the currently active slides (both original and potentially a clone if it's in the active view) are not inert 1996 $('.owl-item.active').removeAttr('inert'); 1997 }); 1998 1999 // --- Accessibility Fix: Add aria-label to carousel buttons and dots --- 2000 const addAriaLabels = () => { 2001 const prevBtn = document.querySelector('.owl-prev'); 2002 const nextBtn = document.querySelector('.owl-next'); 2003 const dots = document.querySelectorAll('.owl-dot'); 2004 const slides = document.querySelectorAll('.owl-item'); 2005 if (prevBtn) { 2006 2007 prevBtn.setAttribute('aria-label', 'Previous Slide'); 2008 2009 // Remove bad ARIA 2010 prevBtn.removeAttribute('role'); 2011 } 2012 if (nextBtn) { 2013 2014 nextBtn.setAttribute('aria-label', 'Next Slide'); 2015 2016 // Remove bad ARIA 2017 nextBtn.removeAttribute('role'); 2018 } 2019
2020 dots.forEach((dot, index) => { 2021 2022 dot.setAttribute('aria-label', `Go to slide ${index + 1}`); 2023 2024 // Remove old aria-current 2025 dot.removeAttribute('aria-current'); 2026 2027 // Add aria-current to active dot 2028 if (dot.classList.contains('active')) { 2029 dot.setAttribute('aria-current', 'true'); 2030 } 2031 2032 // Optional cleanup 2033 dot.removeAttribute('role'); 2034 }); 2035 slides.forEach((slide, index) => { 2036 2037 slide.setAttribute('role', 'group'); 2038 2039 slide.setAttribute( 2040 'aria-label', 2041 `Slide ${index + 1} of ${slides.length}` 2042 ); 2043 }); 2044 }; 2045 2046 addAriaLabels(); 2047 jQuery('.owl-carousel').on('changed.owl.carousel', addAriaLabels); 2048 } 2049 }); 2050 </script>
2050 2051 <style> 2052 .carousel-three-up .owl-dot:focus { 2053 outline: 3px solid #000000 !important; 2054 outline-offset: 3px; 2055 } 2056 </style> 2057</div><div class="block countryv2fiftyfiftyblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> 2058 <section id="" class="fifty-fifty-block bg- padding-0 text-align-left padding-top-30 padding-bottom-30 "> 2059 2060 <div class="card-container is-block-background-image" 2061 style="background-image: url('/siteassets/bgm-homepage/app_section_background_no.jpg');background-size: cover;background-position: top center;background-repeat: no-repeat; min-height:550px;"> 2062 2063 <div class="background-image-overlay" style="background-color: rgba(0, 0, 0, 0);"></div> 2064 2065 <div class="card-wrapper "> 2066 2067 2068 <div class="left-side text-left "> 2069 <h2>CONTOUR<sup>®</sup>DIABETES-appen er tilgjengelig for Ã¥ støtte egenbehandling av diabetes og gi innsikt og mening til resultatene.</h2> 2070 2071<p>Koble<sup>*</sup> måleren til CONTOUR<sup>®</sup>DIABETES-appen for en sømløs opplevelse.</p> 2072<p> </p> 2073<div class="app-buttons-container"><a class="app-store-button" href="https://apps.apple.com/no/app/contour-diabetes-app-no/id1145663999" target="_blank" rel="noopener"> <img src="/link/e16c348f5f6e41d886e0101a553fa730.aspx" alt="Download on the App Store" width="564" height="167" /> </a> <a class="google-play-button" href="https://play.google.com/store/apps/details?id=com.ascensia.contour.no" target="_blank" rel="noopener"> <img src="/link/8bdf029428004968815beffee786ba48.aspx" alt="Get it on Google Play" width="564" height="168" /><br /><br /></a></div> 2074<style> 2075/* --- APP STORE / GOOGLE PLAY BUTTON STYLING (IMAGE-BASED) --- */ 2076.app-buttons-container { 2077 display: flex; 2078 flex-wrap: wrap; /* Allows buttons to wrap to the next line on smaller screens */ 2079 gap: 15px; /* Space between the image buttons */ 2080 margin-top: 20px; 2081 justify-content: flex-start; /* Aligns buttons to the left */ 2082} 2083 2084.app-store-button, 2085.google-play-button { 2086 display: inline-block; /* Allows the link to be sized by its content (the image) */ 2087 padding: 0; /* Remove any default link padding */ 2088 border: none; /* Ensure no default link border */ 2089 background: none; /* No background color on the link itself */ 2090 text-decoration: none; /* Remove underline from the link */ 2091 line-height: 0; /* Prevents extra vertical space around the image due to line-height */ 2092 font-size: 0; /* Prevents extra horizontal space/issues from font rendering */ 2093 transition: transform 0.2s ease-in-out; /* Smooth hover effect */ 2094} 2095 2096.app-store-button:hover, 2097.google-play-button:hover { 2098 transform: scale(1.03); /* Slightly enlarge on hover for visual feedback */ 2099 /* Optional: Add a subtle shadow on hover if desired */ 2100 /* box-shadow: 0 4px 8px rgba(0,0,0,0.2); */ 2101} 2102 2103.app-store-button img, 2104.google-play-button img { 2105 display: block; /* Ensures the image behaves predictably within the link */ 2106 max-width: 180px; /* Adjust this to control the *maximum* width of your buttons */ 2107 height: auto; /* Maintain aspect ratio */ 2108 object-fit: contain; /* Ensures the entire image is visible within its bounds */ 2109} 2110 2111 2112/* --- Responsive Adjustments for App Buttons --- */ 2113@media (max-width: 1024px) { 2114 .app-buttons-container { 2115 flex-direction: column; /* Stack buttons vertically on smaller screens */ 2116 align-items: center; /* Center stacked buttons */ 2117 justify-content: center; /* Ensures centered if parent text-align is center */ 2118 margin:0 auto; 2119 } 2120 2121 .app-store-button img, 2122 .google-play-button img { 2123 width: 100%; /* Make images fill their container width on mobile */ 2124 height: auto; /* Maintain aspect ratio */ 2125 } 2126} 2127</style> </div> 2128 2129 2130 <div class="right-side "> 2131 2132 <img src="/siteassets/bgm-homepage/app_section_background_no.jpg" 2133 class="mobile-image " 2134 alt="" 2135 loading="lazy" /> 2136 </div> 2137 </div> 2138 </div> 2139 </section>
2140<script> 2141 $(document).on("click", ".accordion-header", function () { 2142 2143 const currentItem = 2144 $(this).closest(".accordion-item"); 2145 2146 const currentContent = 2147 currentItem.find(".accordion-content"); 2148 2149 const isActive = 2150 currentItem.hasClass("active-content"); 2151 2152 // Parent accordion only 2153 const accordion = 2154 currentItem.closest(".accordion"); 2155 2156 // Close all accordions 2157 accordion.find(".accordion-item") 2158 .removeClass("active-content"); 2159 2160 accordion.find(".accordion-header") 2161 .attr("aria-expanded", "false"); 2162 2163 2164 accordion.find(".accordion-content") 2165 .css("max-height", "0"); 2166 2167 // Open current if closed 2168 if (!isActive) { 2169 2170 currentItem.addClass("active-content"); 2171 2172 $(this) 2173 .attr("aria-expanded", "true"); 2174 2175 2176 currentContent.css( 2177 "max-height", 2178 currentContent.prop("scrollHeight") + "px" 2179 ); 2180 2181 // Recalculate height after carousel/images render 2182 setTimeout(() => { 2183 2184 currentContent.css( 2185 "max-height", 2186 currentContent.prop("scrollHeight") + "px" 2187 ); 2188 2189 }, 300); 2190 } 2191 }); 2192 2193 $(document).ready(function () { 2194 var owl = jQuery(".countryv2fiftyfiftyblock .owl-carousel"); 2195 2196 owl.owlCarousel({ 2197 autoplay: false, 2198 autoWidth: false, 2199 rewind: false, 2200 margin: 20, 2201 loop: false, 2202 responsiveClass: true, 2203 autoHeight: false, 2204 autoplayTimeout: 7000, 2205 smartSpeed: 800, 2206 nav: true, 2207 navText: [ 2208 '<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>', 2209 '<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>' 2210 ], 2211 responsive: { 2212 0: { items: 1 }, 2213 600: { items: 1 }, 2214 768: { items: 1 }, 2215 991: { items: 1 }, 2216 1024: { items: 1 } 2217 }, 2218 onInitialized: function (event) { 2219 console.log('Owl Carousel has been fully initialized!'); 2220 $('.owl-item:not(.active)').attr('inert', ''); 2221 } 2222 }); 2223 $('.countryv2fiftyfiftyblock .carousel-inner').owlCarousel({ 2224 autoHeight: false, 2225 }); 2226 2227 owl.on('translated.owl.carousel', function (event) { 2228 // 1. Remove 'inert' from all slides first to reset 2229 $('.owl-item').removeAttr('inert'); 2230 2231 // 2. Apply 'inert' to all non-active, cloned slides 2232 // Owl Carousel uses the 'cloned' and 'active' classes automatically. 2233 $('.owl-item:not(.active)').attr('inert', ''); 2234 2235 // 3. Ensure the currently active slides (both original and potentially a clone if it's in the active view) are not inert 2236 $('.owl-item.active').removeAttr('inert'); 2237 }); 2238 2239 // --- Accessibility Fix: Add aria-label to carousel buttons and dots --- 2240 const addAriaLabels = () => { 2241 const prevBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-prev'); 2242 const nextBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-next'); 2243 const dots = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-dot'); 2244 const slides = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-item'); 2245 if (prevBtn) { 2246 2247 prevBtn.setAttribute('aria-label', 'Previous Slide'); 2248 2249 // Remove bad ARIA 2250 prevBtn.removeAttribute('role'); 2251 } 2252 if (nextBtn) { 2253 2254 nextBtn.setAttribute('aria-label', 'Next Slide'); 2255 2256 // Remove bad ARIA 2257 nextBtn.removeAttribute('role'); 2258 } 2259
2260 dots.forEach((dot, index) => { 2261 2262 dot.setAttribute('aria-label', `Go to slide ${index + 1}`); 2263 2264 // Remove old aria-current 2265 dot.removeAttribute('aria-current'); 2266 2267 // Add aria-current to active dot 2268 if (dot.classList.contains('active')) { 2269 dot.setAttribute('aria-current', 'true'); 2270 } 2271 2272 // Optional cleanup 2273 dot.removeAttribute('role'); 2274 }); 2275 slides.forEach((slide, index) => { 2276 2277 slide.setAttribute('role', 'group'); 2278 2279 slide.setAttribute( 2280 'aria-label', 2281 `Slide ${index + 1} of ${slides.length}` 2282 ); 2283 }); 2284 }; 2285 2286 addAriaLabels(); 2287 jQuery('.countryv2fiftyfiftyblock .owl-carousel').on('changed.owl.carousel', addAriaLabels); 2288 }); 2289</script>
2289</div><div class="block countryv2threecardselectorblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> <div id="" class="threecardselector-container padding-top-60 padding-bottom-60 padding-top-mobile-0 "> 2290 <div class="card card-first text-align-left"> 2291 <h2 class="card-title">Lær mer om diabetes</h2> 2292 2293 <div class="card-body"> 2294 <p class="card-body">Her kan du lære mer om riktige livsstilsvalg, medisiner og måleteknikker for å holde blodsukkeret under kontroll. Med regelmessige kontroller, balansert kosthold og fysisk aktivitet kan du ta kontroll over helsen din og forebygge komplikasjoner.</p> 2295 </div> 2296 2297 </div> 2298 2299 <a href="/link/d01f3a3fa74b470b86f7311920338d4a.aspx" class="card-link-wrapper"> 2300 <div class="card image-card mobile-pos-top-center" style="background-image: url('/siteassets/bgm-homepage/t1.png'); min-height:500px;"> 2301 <p class="card-text">Type 1-diabetes</p> 2302 </div> 2303 </a> 2304 <a href="/link/786986d0f7b3496783cc11007fb2e75b.aspx" class="card-link-wrapper"> 2305 <div class="card image-card mobile-pos-top-center" style="background-image: url('/siteassets/bgm-homepage/t2.png'); min-height:500px;"> 2306 <p class="card-text">Type 2-diabetes</p> 2307 </div> 2308 </a> 2309 <a href="/link/89735685ca2e4237b45526dc051f1ec1.aspx" class="card-link-wrapper"> 2310 <div class="card image-card mobile-pos-top-center" style="background-image: url('/siteassets/bgm-homepage/gestational.png'); min-height:500px;"> 2311 <p class="card-text">Svangerskaps diabetes</p> 2312 </div> 2313 </a> 2314 2315 </div> 2316</div><div class="block countryv2fiftyfiftyblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> 2317 <section id="" class="fifty-fifty-block bg-blue padding-0 text-align-left "> 2318 2319 <div class="card-container is-block-background-image" 2320 style="background-image: url('/siteassets/bgm-homepage/register_no_background.png');background-size: cover;background-position: top center;background-repeat: no-repeat; "> 2321 2322 <div class="background-image-overlay" style="background-color: rgba(0, 0, 0, 0);"></div> 2323 2324 <div class="card-wrapper mobile-reverse"> 2325 2326 2327 <div class="left-side text-left reverse"> 2328 <h2>Registrer mÃ¥leren din</h2> 2329 2330<p>Vi holder deg oppdatert med nyttig produktinformasjon og støtte for å hjelpe med diabetesbehandlingen din.</p> <a href="/link/ec6dc85c3c2d489fa3b9c9957f8eaf76.aspx" class="left-side-button blue"> 2331 Registrer deg nå 2332 </a> 2333 </div> 2334 2335 2336 <div class="right-side reverse"> 2337 2338 <img src="/siteassets/bgm-homepage/register_no_background.png" 2339 class="mobile-image " 2340 alt="" 2341 loading="lazy" /> 2342 </div> 2343 </div> 2344 </div> 2345 </section>
2346<script> 2347 $(document).on("click", ".accordion-header", function () { 2348 2349 const currentItem = 2350 $(this).closest(".accordion-item"); 2351 2352 const currentContent = 2353 currentItem.find(".accordion-content"); 2354 2355 const isActive = 2356 currentItem.hasClass("active-content"); 2357 2358 // Parent accordion only 2359 const accordion = 2360 currentItem.closest(".accordion"); 2361 2362 // Close all accordions 2363 accordion.find(".accordion-item") 2364 .removeClass("active-content"); 2365 2366 accordion.find(".accordion-header") 2367 .attr("aria-expanded", "false"); 2368 2369 2370 accordion.find(".accordion-content") 2371 .css("max-height", "0"); 2372 2373 // Open current if closed 2374 if (!isActive) { 2375 2376 currentItem.addClass("active-content"); 2377 2378 $(this) 2379 .attr("aria-expanded", "true"); 2380 2381 2382 currentContent.css( 2383 "max-height", 2384 currentContent.prop("scrollHeight") + "px" 2385 ); 2386 2387 // Recalculate height after carousel/images render 2388 setTimeout(() => { 2389 2390 currentContent.css( 2391 "max-height", 2392 currentContent.prop("scrollHeight") + "px" 2393 ); 2394 2395 }, 300); 2396 } 2397 }); 2398 2399 $(document).ready(function () { 2400 var owl = jQuery(".countryv2fiftyfiftyblock .owl-carousel"); 2401 2402 owl.owlCarousel({ 2403 autoplay: false, 2404 autoWidth: false, 2405 rewind: false, 2406 margin: 20, 2407 loop: false, 2408 responsiveClass: true, 2409 autoHeight: false, 2410 autoplayTimeout: 7000, 2411 smartSpeed: 800, 2412 nav: true, 2413 navText: [ 2414 '<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>', 2415 '<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>' 2416 ], 2417 responsive: { 2418 0: { items: 1 }, 2419 600: { items: 1 }, 2420 768: { items: 1 }, 2421 991: { items: 1 }, 2422 1024: { items: 1 } 2423 }, 2424 onInitialized: function (event) { 2425 console.log('Owl Carousel has been fully initialized!'); 2426 $('.owl-item:not(.active)').attr('inert', ''); 2427 } 2428 }); 2429 $('.countryv2fiftyfiftyblock .carousel-inner').owlCarousel({ 2430 autoHeight: false, 2431 }); 2432 2433 owl.on('translated.owl.carousel', function (event) { 2434 // 1. Remove 'inert' from all slides first to reset 2435 $('.owl-item').removeAttr('inert'); 2436 2437 // 2. Apply 'inert' to all non-active, cloned slides 2438 // Owl Carousel uses the 'cloned' and 'active' classes automatically. 2439 $('.owl-item:not(.active)').attr('inert', ''); 2440 2441 // 3. Ensure the currently active slides (both original and potentially a clone if it's in the active view) are not inert 2442 $('.owl-item.active').removeAttr('inert'); 2443 }); 2444 2445 // --- Accessibility Fix: Add aria-label to carousel buttons and dots --- 2446 const addAriaLabels = () => { 2447 const prevBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-prev'); 2448 const nextBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-next'); 2449 const dots = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-dot'); 2450 const slides = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-item'); 2451 if (prevBtn) { 2452 2453 prevBtn.setAttribute('aria-label', 'Previous Slide'); 2454 2455 // Remove bad ARIA 2456 prevBtn.removeAttribute('role'); 2457 } 2458 if (nextBtn) { 2459 2460 nextBtn.setAttribute('aria-label', 'Next Slide'); 2461 2462 // Remove bad ARIA 2463 nextBtn.removeAttribute('role'); 2464 } 2465
2466 dots.forEach((dot, index) => { 2467 2468 dot.setAttribute('aria-label', `Go to slide ${index + 1}`); 2469 2470 // Remove old aria-current 2471 dot.removeAttribute('aria-current'); 2472 2473 // Add aria-current to active dot 2474 if (dot.classList.contains('active')) { 2475 dot.setAttribute('aria-current', 'true'); 2476 } 2477 2478 // Optional cleanup 2479 dot.removeAttribute('role'); 2480 }); 2481 slides.forEach((slide, index) => { 2482 2483 slide.setAttribute('role', 'group'); 2484 2485 slide.setAttribute( 2486 'aria-label', 2487 `Slide ${index + 1} of ${slides.length}` 2488 ); 2489 }); 2490 }; 2491 2492 addAriaLabels(); 2493 jQuery('.countryv2fiftyfiftyblock .owl-carousel').on('changed.owl.carousel', addAriaLabels); 2494 }); 2495</script>
2495</div><div class="block countryv2fiftyfiftyblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> 2496 <section id="" class="fifty-fifty-block bg-white text-align-left padding-top-30 padding-bottom-30 "> 2497 2498 <div class="card-container" 2499 style=" "> 2500 2501 2502 <div class="card-wrapper flex-row-reverse "> 2503 2504 2505 <div class="left-side text-left "> 2506 <h2>Nyheter</h2> 2507 2508<p>Dette gjør vi, vil du vite mer?</p> <a href="/link/749b43ef35894aba95d0c8100c6ccf25.aspx" class="left-side-button blue"> 2509 Lær mer 2510 </a> 2511 </div> 2512 2513 2514 <div class="right-side "> 2515 2516 <img src="/siteassets/bgm-homepage/newspaper.png" 2517 class="desktop-image img-curved" 2518 style="max-width:" 2519 alt="" 2520 title="" 2521 loading="lazy" /> 2522 <img src="/siteassets/bgm-homepage/newspaper.png" 2523 class="mobile-image img-curved" 2524 alt="" 2525 loading="lazy" /> 2526 </div> 2527 </div> 2528 </div> 2529 </section>
2530<script> 2531 $(document).on("click", ".accordion-header", function () { 2532 2533 const currentItem = 2534 $(this).closest(".accordion-item"); 2535 2536 const currentContent = 2537 currentItem.find(".accordion-content"); 2538 2539 const isActive = 2540 currentItem.hasClass("active-content"); 2541 2542 // Parent accordion only 2543 const accordion = 2544 currentItem.closest(".accordion"); 2545 2546 // Close all accordions 2547 accordion.find(".accordion-item") 2548 .removeClass("active-content"); 2549 2550 accordion.find(".accordion-header") 2551 .attr("aria-expanded", "false"); 2552 2553 2554 accordion.find(".accordion-content") 2555 .css("max-height", "0"); 2556 2557 // Open current if closed 2558 if (!isActive) { 2559 2560 currentItem.addClass("active-content"); 2561 2562 $(this) 2563 .attr("aria-expanded", "true"); 2564 2565 2566 currentContent.css( 2567 "max-height", 2568 currentContent.prop("scrollHeight") + "px" 2569 ); 2570 2571 // Recalculate height after carousel/images render 2572 setTimeout(() => { 2573 2574 currentContent.css( 2575 "max-height", 2576 currentContent.prop("scrollHeight") + "px" 2577 ); 2578 2579 }, 300); 2580 } 2581 }); 2582 2583 $(document).ready(function () { 2584 var owl = jQuery(".countryv2fiftyfiftyblock .owl-carousel"); 2585 2586 owl.owlCarousel({ 2587 autoplay: false, 2588 autoWidth: false, 2589 rewind: false, 2590 margin: 20, 2591 loop: false, 2592 responsiveClass: true, 2593 autoHeight: false, 2594 autoplayTimeout: 7000, 2595 smartSpeed: 800, 2596 nav: true, 2597 navText: [ 2598 '<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>', 2599 '<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>' 2600 ], 2601 responsive: { 2602 0: { items: 1 }, 2603 600: { items: 1 }, 2604 768: { items: 1 }, 2605 991: { items: 1 }, 2606 1024: { items: 1 } 2607 }, 2608 onInitialized: function (event) { 2609 console.log('Owl Carousel has been fully initialized!'); 2610 $('.owl-item:not(.active)').attr('inert', ''); 2611 } 2612 }); 2613 $('.countryv2fiftyfiftyblock .carousel-inner').owlCarousel({ 2614 autoHeight: false, 2615 }); 2616 2617 owl.on('translated.owl.carousel', function (event) { 2618 // 1. Remove 'inert' from all slides first to reset 2619 $('.owl-item').removeAttr('inert'); 2620 2621 // 2. Apply 'inert' to all non-active, cloned slides 2622 // Owl Carousel uses the 'cloned' and 'active' classes automatically. 2623 $('.owl-item:not(.active)').attr('inert', ''); 2624 2625 // 3. Ensure the currently active slides (both original and potentially a clone if it's in the active view) are not inert 2626 $('.owl-item.active').removeAttr('inert'); 2627 }); 2628 2629 // --- Accessibility Fix: Add aria-label to carousel buttons and dots --- 2630 const addAriaLabels = () => { 2631 const prevBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-prev'); 2632 const nextBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-next'); 2633 const dots = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-dot'); 2634 const slides = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-item'); 2635 if (prevBtn) { 2636 2637 prevBtn.setAttribute('aria-label', 'Previous Slide'); 2638 2639 // Remove bad ARIA 2640 prevBtn.removeAttribute('role'); 2641 } 2642 if (nextBtn) { 2643 2644 nextBtn.setAttribute('aria-label', 'Next Slide'); 2645 2646 // Remove bad ARIA 2647 nextBtn.removeAttribute('role'); 2648 } 2649
2650 dots.forEach((dot, index) => { 2651 2652 dot.setAttribute('aria-label', `Go to slide ${index + 1}`); 2653 2654 // Remove old aria-current 2655 dot.removeAttribute('aria-current'); 2656 2657 // Add aria-current to active dot 2658 if (dot.classList.contains('active')) { 2659 dot.setAttribute('aria-current', 'true'); 2660 } 2661 2662 // Optional cleanup 2663 dot.removeAttribute('role'); 2664 }); 2665 slides.forEach((slide, index) => { 2666 2667 slide.setAttribute('role', 'group'); 2668 2669 slide.setAttribute( 2670 'aria-label', 2671 `Slide ${index + 1} of ${slides.length}` 2672 ); 2673 }); 2674 }; 2675 2676 addAriaLabels(); 2677 jQuery('.countryv2fiftyfiftyblock .owl-carousel').on('changed.owl.carousel', addAriaLabels); 2678 }); 2679</script>
2679</div><div class="block countryv2fiftyfiftyblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> 2680 <section id="" class="fifty-fifty-block bg-white text-align-left padding-top-30 padding-bottom-90 "> 2681 2682 <div class="card-container" 2683 style=" "> 2684 2685 2686 <div class="card-wrapper "> 2687 2688 2689 <div class="left-side text-left "> 2690 <h2>Vi er her for Ã¥ hjelpe</h2> 2691 2692<p>Fra instruksjonsvideoer til dagbøker – utforsk våre nettbaserte ressurser for å finne informasjonen du trenger, når du trenger den.</p> <a href="/link/89d3048736274286ba89c460715a8ea9.aspx" class="left-side-button "> 2693 UTFORSK VÅR SUPPORTSIDE 2694 </a> 2695 </div> 2696 2697 2698 <div class="right-side "> 2699 2700 <img src="/siteassets/bgm-homepage/support.jpg" 2701 class="desktop-image img-curved" 2702 style="max-width:" 2703 alt="" 2704 title="" 2705 loading="lazy" /> 2706 <img src="/siteassets/bgm-homepage/support.jpg" 2707 class="mobile-image img-curved" 2708 alt="" 2709 loading="lazy" /> 2710 </div> 2711 </div> 2712 </div> 2713 </section>
2714<script> 2715 $(document).on("click", ".accordion-header", function () { 2716 2717 const currentItem = 2718 $(this).closest(".accordion-item"); 2719 2720 const currentContent = 2721 currentItem.find(".accordion-content"); 2722 2723 const isActive = 2724 currentItem.hasClass("active-content"); 2725 2726 // Parent accordion only 2727 const accordion = 2728 currentItem.closest(".accordion"); 2729 2730 // Close all accordions 2731 accordion.find(".accordion-item") 2732 .removeClass("active-content"); 2733 2734 accordion.find(".accordion-header") 2735 .attr("aria-expanded", "false"); 2736 2737 2738 accordion.find(".accordion-content") 2739 .css("max-height", "0"); 2740 2741 // Open current if closed 2742 if (!isActive) { 2743 2744 currentItem.addClass("active-content"); 2745 2746 $(this) 2747 .attr("aria-expanded", "true"); 2748 2749 2750 currentContent.css( 2751 "max-height", 2752 currentContent.prop("scrollHeight") + "px" 2753 ); 2754 2755 // Recalculate height after carousel/images render 2756 setTimeout(() => { 2757 2758 currentContent.css( 2759 "max-height", 2760 currentContent.prop("scrollHeight") + "px" 2761 ); 2762 2763 }, 300); 2764 } 2765 }); 2766 2767 $(document).ready(function () { 2768 var owl = jQuery(".countryv2fiftyfiftyblock .owl-carousel"); 2769 2770 owl.owlCarousel({ 2771 autoplay: false, 2772 autoWidth: false, 2773 rewind: false, 2774 margin: 20, 2775 loop: false, 2776 responsiveClass: true, 2777 autoHeight: false, 2778 autoplayTimeout: 7000, 2779 smartSpeed: 800, 2780 nav: true, 2781 navText: [ 2782 '<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>', 2783 '<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>' 2784 ], 2785 responsive: { 2786 0: { items: 1 }, 2787 600: { items: 1 }, 2788 768: { items: 1 }, 2789 991: { items: 1 }, 2790 1024: { items: 1 } 2791 }, 2792 onInitialized: function (event) { 2793 console.log('Owl Carousel has been fully initialized!'); 2794 $('.owl-item:not(.active)').attr('inert', ''); 2795 } 2796 }); 2797 $('.countryv2fiftyfiftyblock .carousel-inner').owlCarousel({ 2798 autoHeight: false, 2799 }); 2800 2801 owl.on('translated.owl.carousel', function (event) { 2802 // 1. Remove 'inert' from all slides first to reset 2803 $('.owl-item').removeAttr('inert'); 2804 2805 // 2. Apply 'inert' to all non-active, cloned slides 2806 // Owl Carousel uses the 'cloned' and 'active' classes automatically. 2807 $('.owl-item:not(.active)').attr('inert', ''); 2808 2809 // 3. Ensure the currently active slides (both original and potentially a clone if it's in the active view) are not inert 2810 $('.owl-item.active').removeAttr('inert'); 2811 }); 2812 2813 // --- Accessibility Fix: Add aria-label to carousel buttons and dots --- 2814 const addAriaLabels = () => { 2815 const prevBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-prev'); 2816 const nextBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-next'); 2817 const dots = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-dot'); 2818 const slides = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-item'); 2819 if (prevBtn) { 2820 2821 prevBtn.setAttribute('aria-label', 'Previous Slide'); 2822 2823 // Remove bad ARIA 2824 prevBtn.removeAttribute('role'); 2825 } 2826 if (nextBtn) { 2827 2828 nextBtn.setAttribute('aria-label', 'Next Slide'); 2829 2830 // Remove bad ARIA 2831 nextBtn.removeAttribute('role'); 2832 } 2833
2834 dots.forEach((dot, index) => { 2835 2836 dot.setAttribute('aria-label', `Go to slide ${index + 1}`); 2837 2838 // Remove old aria-current 2839 dot.removeAttribute('aria-current'); 2840 2841 // Add aria-current to active dot 2842 if (dot.classList.contains('active')) { 2843 dot.setAttribute('aria-current', 'true'); 2844 } 2845 2846 // Optional cleanup 2847 dot.removeAttribute('role'); 2848 }); 2849 slides.forEach((slide, index) => { 2850 2851 slide.setAttribute('role', 'group'); 2852 2853 slide.setAttribute( 2854 'aria-label', 2855 `Slide ${index + 1} of ${slides.length}` 2856 ); 2857 }); 2858 }; 2859 2860 addAriaLabels(); 2861 jQuery('.countryv2fiftyfiftyblock .owl-carousel').on('changed.owl.carousel', addAriaLabels); 2862 }); 2863</script>
2863</div><div class="block countryv2fiftyfiftyblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> 2864 <section id="" class="fifty-fifty-block bg-blue text-align-left padding-top-60 padding-bottom-60 "> 2865 2866 <div class="card-container" 2867 style=" "> 2868 2869 2870 <div class="card-wrapper mobile-reverse"> 2871 2872 2873 <div class="left-side text-left reverse"> 2874 <h2>Ascensia Diabetes Care er dedikert til Ã¥ forbedre helsen og livet til personer med diabetes</h2> 2875 2876<p>Vi er skapere av den verdensberømte CONTOUR<sup>®</sup>-porteføljen av blodsukkermålingssystemer. I mer enn 80 år har vårt mål vært å levere produkter og løsninger som gjør en positiv forskjell i hverdagen for personer med diabetes.</p> <a href="/link/ae497b637b7b4b77a16297787abba938.aspx" class="left-side-button "> 2877 Lær mer 2878 </a> 2879 </div> 2880 2881 2882 <div class="right-side reverse"> 2883 2884 <img src="/globalassets/countryv2/ascensia_logo_alt_colour_900x235.png" 2885 class="desktop-image " 2886 style="max-width:600px" 2887 alt="" 2888 title="" 2889 loading="lazy" /> 2890 <img src="/globalassets/countryv2/ascensia_logo_alt_colour_900x235.png" 2891 class="mobile-image " 2892 alt="" 2893 loading="lazy" /> 2894 </div> 2895 </div> 2896 </div> 2897 </section>
2898<script> 2899 $(document).on("click", ".accordion-header", function () { 2900 2901 const currentItem = 2902 $(this).closest(".accordion-item"); 2903 2904 const currentContent = 2905 currentItem.find(".accordion-content"); 2906 2907 const isActive = 2908 currentItem.hasClass("active-content"); 2909 2910 // Parent accordion only 2911 const accordion = 2912 currentItem.closest(".accordion"); 2913 2914 // Close all accordions 2915 accordion.find(".accordion-item") 2916 .removeClass("active-content"); 2917 2918 accordion.find(".accordion-header") 2919 .attr("aria-expanded", "false"); 2920 2921 2922 accordion.find(".accordion-content") 2923 .css("max-height", "0"); 2924 2925 // Open current if closed 2926 if (!isActive) { 2927 2928 currentItem.addClass("active-content"); 2929 2930 $(this) 2931 .attr("aria-expanded", "true"); 2932 2933 2934 currentContent.css( 2935 "max-height", 2936 currentContent.prop("scrollHeight") + "px" 2937 ); 2938 2939 // Recalculate height after carousel/images render 2940 setTimeout(() => { 2941 2942 currentContent.css( 2943 "max-height", 2944 currentContent.prop("scrollHeight") + "px" 2945 ); 2946 2947 }, 300); 2948 } 2949 }); 2950 2951 $(document).ready(function () { 2952 var owl = jQuery(".countryv2fiftyfiftyblock .owl-carousel"); 2953 2954 owl.owlCarousel({ 2955 autoplay: false, 2956 autoWidth: false, 2957 rewind: false, 2958 margin: 20, 2959 loop: false, 2960 responsiveClass: true, 2961 autoHeight: false, 2962 autoplayTimeout: 7000, 2963 smartSpeed: 800, 2964 nav: true, 2965 navText: [ 2966 '<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>', 2967 '<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>' 2968 ], 2969 responsive: { 2970 0: { items: 1 }, 2971 600: { items: 1 }, 2972 768: { items: 1 }, 2973 991: { items: 1 }, 2974 1024: { items: 1 } 2975 }, 2976 onInitialized: function (event) { 2977 console.log('Owl Carousel has been fully initialized!'); 2978 $('.owl-item:not(.active)').attr('inert', ''); 2979 } 2980 }); 2981 $('.countryv2fiftyfiftyblock .carousel-inner').owlCarousel({ 2982 autoHeight: false, 2983 }); 2984 2985 owl.on('translated.owl.carousel', function (event) { 2986 // 1. Remove 'inert' from all slides first to reset 2987 $('.owl-item').removeAttr('inert'); 2988 2989 // 2. Apply 'inert' to all non-active, cloned slides 2990 // Owl Carousel uses the 'cloned' and 'active' classes automatically. 2991 $('.owl-item:not(.active)').attr('inert', ''); 2992 2993 // 3. Ensure the currently active slides (both original and potentially a clone if it's in the active view) are not inert 2994 $('.owl-item.active').removeAttr('inert'); 2995 }); 2996 2997 // --- Accessibility Fix: Add aria-label to carousel buttons and dots --- 2998 const addAriaLabels = () => { 2999 const prevBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-prev'); 3000 const nextBtn = document.querySelector('.countryv2fiftyfiftyblock .owl-next'); 3001 const dots = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-dot'); 3002 const slides = document.querySelectorAll('.countryv2fiftyfiftyblock .owl-item'); 3003 if (prevBtn) { 3004 3005 prevBtn.setAttribute('aria-label', 'Previous Slide'); 3006 3007 // Remove bad ARIA 3008 prevBtn.removeAttribute('role'); 3009 } 3010 if (nextBtn) { 3011 3012 nextBtn.setAttribute('aria-label', 'Next Slide'); 3013 3014 // Remove bad ARIA 3015 nextBtn.removeAttribute('role'); 3016 } 3017
3018 dots.forEach((dot, index) => { 3019 3020 dot.setAttribute('aria-label', `Go to slide ${index + 1}`); 3021 3022 // Remove old aria-current 3023 dot.removeAttribute('aria-current'); 3024 3025 // Add aria-current to active dot 3026 if (dot.classList.contains('active')) { 3027 dot.setAttribute('aria-current', 'true'); 3028 } 3029 3030 // Optional cleanup 3031 dot.removeAttribute('role'); 3032 }); 3033 slides.forEach((slide, index) => { 3034 3035 slide.setAttribute('role', 'group'); 3036 3037 slide.setAttribute( 3038 'aria-label', 3039 `Slide ${index + 1} of ${slides.length}` 3040 ); 3041 }); 3042 }; 3043 3044 addAriaLabels(); 3045 jQuery('.countryv2fiftyfiftyblock .owl-carousel').on('changed.owl.carousel', addAriaLabels); 3046 }); 3047</script>
3047</div><div class="block htmlblock col-lg-12 col-md-12 col-sm-12 col-xs-12 "> 3048<style> 3049 html { 3050 font-size: 16px; 3051 } 3052 3053 .section-header-bar .submenu a .arrow-right-icon { 3054 /* margin-left: 20px; */ 3055 position: absolute; 3056 right: 2rem; 3057 } 3058 3059 .carousel-three-up .button { 3060 3061 max-width: 15.25rem; 3062 3063 } 3064 3065 .card-container.is-block-background-image[style*="ca_camping_wide.jpg"] { 3066 /*filter: brightness(0.8);*/ 3067 background-image: linear-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)), url('/siteassets/bgm-homepage/ca_camping_wide.jpg') !important; 3068 } 3069 3070 .card-container.is-block-background-image[style*="newsletter.jpg"] { 3071 /* filter: brightness(0.8);*/ 3072 background-image: linear-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)), url('/siteassets/bgm-homepage/newsletter.jpg') !important; 3073 } 3074 3075 @media only screen and (max-width: 767px) { 3076 .threecardselector-container .image-card[style*="t1.png"] { 3077 background-position: center center !important; 3078 } 3079 } 3080 3081 @media only screen and (max-width: 767px) { 3082 .threecardselector-container .image-card[style*="gestational.png"] { 3083 background-position: top center !important; 3084 } 3085 } 3086 3087 .mobile-break { 3088 display: none; 3089 } 3090 3091 @media only screen and (max-width: 767px) { 3092 .mobile-break { 3093 display: block; 3094 } 3095 } 3096 3097 3098 3099 .card-container.is-block-background-image[style*="new_picture-pharmacy.png"] { 3100 min-height: 32.875rem !important; 3101 background-size: contain; 3102 /* shows full image */ 3103 background-repeat: no-repeat; 3104 background-position: center; 3105 } 3106 3107 .card-container.is-block-background-image[style*="new_picture-pharmacy.png"] .left-side-button { 3108 background-color: #FFFFFF; 3109 color: #021D59; 3110 border: 0.125rem solid #021D59; 3111 3112 } 3113 3114 } 3115 3116 3117 @media (max-width: 768px) { 3118 .card-container.is-block-background-image { 3119 display: flex; 3120 flex-direction: column; 3121 /* stack elements vertically */ 3122 align-items: center; 3123 /* center horizontally */ 3124 justify-content: center; 3125 /* center vertically if needed */ 3126 text-align: center; 3127 /* center text */ 3128 } 3129 3130 .card-container.is-block-background-image .teststrip-boxes { 3131 display: flex; 3132 flex-direction: row; 3133 /* keep them side by side */ 3134 justify-content: center; 3135 /* center the row */ 3136 flex-wrap: wrap; 3137 /* allow wrapping if space is tight */ 3138 margin-top: 1rem; 3139 /* spacing under the text */ 3140 } 3141 3142 .card-container.is-block-background-image .teststrip-boxes .box { 3143 margin: 0.5rem; 3144 /* spacing between boxes */ 3145 } 3146 } 3147 3148 3149 3150 @media (max-width: 30rem) { 3151 3152 .card-container.is-block-background-image { 3153 display: flex; 3154 flex-direction: column; 3155 justify-content: center; 3156 /* vertical center */ 3157 align-items: center; 3158 /* horizontal center */ 3159 text-align: center; 3160 3161 background-size: cover; 3162 background-position: center center !important; 3163 /* key change */ 3164 background-repeat: no-repeat; 3165 } 3166 3167 .card-container.is-block-background-image .content-wrapper { 3168 margin-top: 0; 3169 /* remove any extra top spacing */ 3170 } 3171 } 3172 3173 @media (max-width: 48rem) { 3174 .fifty-fifty-block .card-container.is-block-background-image[style*="new_picture-pharmacy.png"] { 3175 background-image: url('/siteassets/bgm-homepage/new_picture-pharmacy.png') !important; 3176 } 3177 } 3178</style></div></div> 3179 </main> 3180 3181 3182 3183 <section class="page-bottom"> 3184 <footer class="footer-container" style="background-color:"> 3185 <div class="footer-content"> 3186 <div class="footer-column"> 3187 <div class="footer-logo-container"> 3188 <div class="footer-logo-v2"> 3189 <a href="/"> 3190 <img src="/globalassets/countryv2/ascensia_diabetes_care_logo-1.png" alt="Footer Logo" /> 3191 </a> 3192 </div> 3193 3194 <div class="footer-country-label"> 3195 3196 3197 <button class="footer-country-selector-btn" 3198 id="countryV2SelectBtn" 3199 type="button" 3200 data-sds 3201 data-countryselector="countryV2Select">
3202 <span> 3203 Norge 3204 </span> 3205 3206 <svg class="footer-country-selector-btn-icon" width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> 3207 <path d="M10 6L8.59 7.41L13.17 12L8.59 16.59L10 18L16 12L10 6Z" /> 3208 </svg> 3209 </button> 3210 3211 3212 </div> 3213 3214 3215 3216 3217 3218 3219
3220<script> 3221 require(['/Areas/CountryV2/Static/css/main.js'], function () { 3222 require(['jquery'], function ($) { 3223 $(document).ready(function () { 3224 console.log('country selector init'); 3225 3226 // Move the modal to the end of the body to prevent CSS overlap 3227 $('body').append($("div[data-countryselectormodal]")); 3228 3229 // Trigger button click 3230 $("[data-countryselector]").click(function (event) { 3231 event.preventDefault(); 3232 3233 var countryselectorId = $(this).data('countryselector'); 3234 3235 if (!countryselectorId) { 3236 countryselectorId = 'countryV2Select'; 3237 } 3238 3239 var $countryselector = $('#' + countryselectorId); 3240 3241 if ($countryselector.length) { 3242 $countryselector.addClass('modal fade in'); 3243 $countryselector.modal('show'); 3244 $("#find-country").focus(); 3245 } 3246 }); 3247 3248 // Close handler 3249 $('#countryV2Select').on('hidden.bs.modal', function (e) { 3250 $('#countryV2Select').removeClass('modal fade in'); 3251 $("#countryV2SelectBtn").focus(); 3252 }); 3253 }); 3254 }); 3255 }); 3256</script>
3256 3257 3258 3259<!-- Modal Dialog for Country Selection --> 3260<div id="countryV2Select" class="modal fade" tabindex="-1" role="dialog" data-countryselectormodal="true" aria-labelledby="countrySelectorDialog" aria-modal="true"> 3261 <div id="modal-map"></div> 3262 <div class="modal-dialog countryv2-select"> 3263 <div class="modal-content countryV2-select"> 3264 <div class="modal-body countryV2-select"> 3265 <h2 id="countrySelectorDialog" class="sr-only"> 3266 Select your country 3267 </h2> 3268 <button class="close-btn" aria-label="Close" tabindex="0" data-dismiss="modal"></button> 3269 <div class="country-search-field"> 3270 <label id="country-search-label" for="find-country" class="country-search-label"> 3271 Type your country 3272 </label> 3273 <p id="country-search-instructions" class="sr-only"> 3274 Type to search countries. Use the up and down arrow keys to navigate results and press Enter to select a country. 3275 </p> 3276 <input type="text" 3277 class="find-search-input" 3278 id="find-country" 3279 name="find-country" 3280 role="combobox" 3281 aria-autocomplete="list" 3282 aria-haspopup="listbox" 3283 aria-expanded="false" 3284 aria-controls="countrySelectList" 3285 aria-activedescendant="" 3286 aria-describedby="country-search-instructions" 3287 autocomplete="off" 3288 aria-label="Type your country" 3289 placeholder="Type your country" /> 3290 </div> 3291 <div id="country-results-count" 3292 class="sr-only" 3293 aria-live="polite"> 3294 </div> 3295 <div id="countrySelectResults"> 3296 </div> 3297 </div> 3298 </div> 3299 </div> 3300</div>
3301<script> 3302 (function () { 3303 3304 var modalElement = document.getElementById('countryV2Select'); 3305 3306 function trapFocus(e) { 3307 3308 if (e.key !== 'Tab') return; 3309 3310 const focusableElements = modalElement.querySelectorAll( 3311 'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])' 3312 ); 3313 3314 if (!focusableElements.length) return; 3315 3316 const firstFocusableElement = focusableElements[0]; 3317 const lastFocusableElement = 3318 focusableElements[focusableElements.length - 1]; 3319 3320 // SHIFT + TAB 3321 if (e.shiftKey) { 3322 3323 if (document.activeElement === firstFocusableElement) { 3324 3325 e.preventDefault(); 3326 lastFocusableElement.focus(); 3327 } 3328 3329 } 3330 // TAB 3331 else { 3332 3333 if (document.activeElement === lastFocusableElement) { 3334 3335 e.preventDefault(); 3336 firstFocusableElement.focus(); 3337 } 3338 } 3339 } 3340 3341 // MODAL OPEN 3342 modalElement.addEventListener('shown.bs.modal', function () { 3343 3344 const focusableElements = modalElement.querySelectorAll( 3345 'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])' 3346 ); 3347 3348 if (focusableElements.length) { 3349 3350 focusableElements[0].focus(); 3351 } 3352 3353 modalElement.addEventListener('keydown', trapFocus); 3354 }); 3355 3356 // MODAL CLOSE 3357 modalElement.addEventListener('hidden.bs.modal', function () { 3358 3359 modalElement.removeEventListener('keydown', trapFocus); 3360 }); 3361 3362 let currentIndex = -1; 3363 3364 modalElement.addEventListener('keydown', function (e) { 3365 3366 const modalOpen = 3367 modalElement.classList.contains('in'); 3368 3369 if (!modalOpen) return; 3370 3371 const items = 3372 document.querySelectorAll('#countrySelectList .countrySelectItem'); 3373 3374 3375 if (!items.length) { 3376 3377 document.getElementById('find-country') 3378 .setAttribute('aria-expanded', 'false'); 3379 3380 return; 3381 } 3382 3383 // DOWN 3384 if (e.key === 'ArrowDown') { 3385 3386 e.preventDefault(); 3387 3388 currentIndex++; 3389 3390 if (currentIndex >= items.length) { 3391 3392 currentIndex = 0; 3393 } 3394 3395 items.forEach(item => item.classList.remove('active')); 3396 3397 const currentItem = items[currentIndex]; 3398 3399 currentItem.classList.add('active'); 3400 3401 const anchor = currentItem.querySelector('a'); 3402 3403 if (anchor) { 3404 3405 anchor.focus(); 3406 } 3407 3408 document.getElementById('find-country') 3409 .setAttribute( 3410 'aria-activedescendant', 3411 currentItem.id 3412 ); 3413 } 3414 3415 // UP 3416 if (e.key === 'ArrowUp') { 3417 3418 e.preventDefault(); 3419 3420 currentIndex--; 3421 3422 if (currentIndex < 0) { 3423 3424 currentIndex = items.length - 1; 3425 } 3426 3427 items.forEach(item => item.classList.remove('active')); 3428 3429 const currentItem = items[currentIndex]; 3430 3431 currentItem.classList.add('active'); 3432 3433 const anchor = currentItem.querySelector('a'); 3434 3435 if (anchor) { 3436 3437 anchor.focus(); 3438 } 3439 3440 document.getElementById('find-country') 3441 .setAttribute( 3442 'aria-activedescendant', 3443 currentItem.id 3444 ); 3445 } 3446 3447 // ENTER 3448 if (e.key === 'Enter') { 3449 3450 const activeItem = 3451 document.querySelector( 3452 '#countrySelectList .countrySelectItem.active a' 3453 ); 3454 3455 if (activeItem) { 3456 3457 e.preventDefault(); 3458 3459 activeItem.click(); 3460 } 3461 } 3462 3463 // ESC 3464 // ESC 3465 if (e.key === 'Escape') { 3466 3467 e.preventDefault(); 3468 e.stopPropagation(); 3469 e.stopImmediatePropagation(); 3470 3471 const input = document.getElementById('find-country'); 3472 const results = document.getElementById('countrySelectResults'); 3473 3474 currentIndex = -1; 3475 3476 input.value = ''; 3477 input.setAttribute('aria-expanded', 'false'); 3478 input.removeAttribute('aria-activedescendant'); 3479 3480 if (results) { 3481 results.innerHTML = ''; 3482 } 3483
3484 items.forEach(item => { 3485 item.classList.remove('active'); 3486 item.setAttribute('aria-selected', 'false'); 3487 }); 3488 3489 return false; 3490 } 3491 }); 3492 3493 })(); 3494</script>
3494 3495 </div> 3496 </div> 3497 3498 <div class="footer-column"> 3499 <h3 class="column-title">Kontakt</h3> 3500 <p style="text-align: left;">Ascensia Diabetes Care Norway AS<br />Strandveien 50, 1366 Lysaker<br />Postboks 323, 1326 Lysaker, Norge</p> 3501<p style="text-decoration: none; cursor: pointer; text-align: left;"><a role="link" href="/service/"><span style="text-decoration: none; color: #021d59;">Kontakt oss</span></a></p> 3502<p style="text-decoration: none; text-align: left;"><span style="text-decoration: none; color: #021d59;"><span>VAT Nr. NO 915 642 888</span></span></p> 3503<style> 3504.column-title { 3505text-align: left; 3506} 3507p:hover a span { 3508 3509 text-decoration: underline !important; 3510 3511} 3512 3513 3514</style> 3515 </div> 3516 <div class="footer-column"> 3517 <h3 class="column-title">Lovlig</h3> 3518 <ul class="legal-links"> 3519<li style="text-decoration: none; cursor: pointer;"><a role="link" href="/generelle-bruksvilkar/"><span style="text-decoration: none;">Generelle bruksvilkår</span></a></li> 3520<li style="text-decoration: none; cursor: pointer;"><a role="link" href="/personvernerklaering/"><span style="text-decoration: none;">Personvernerklæring</span></a></li> 3521<li style="text-decoration: none; cursor: pointer;"><a role="link" href="/service/Brukerveiledninger/"><span style="text-decoration: none;">Brukerveiledninger</span></a></li> 3522<li style="text-decoration: none; cursor: pointer;"><a role="link" href="/imprint/"><span style="text-decoration: none;">Imprint</span></a></li> 3523<li style="text-decoration: none; cursor: pointer;"><a role="link" href="http://www.ascensia.com/" target="_blank" rel="noopener"><span style="text-decoration: none;">Ascensia site</span></a></li> 3524<li style="text-decoration: none; cursor: pointer;"><a role="link" href="http://compatibility.contourone.com/" target="_blank" rel="noopener"><span style="text-decoration: none;">Liste over operativsystemer som er kompatible med CONTOUR<sup>®</sup> DIABETES appen</span></a></li> 3525<li style="text-decoration: none; cursor: pointer;"><a role="link" href="/rapporter-en-etterlevelseshendelse/" target="_blank" rel="noopener"><span style="text-decoration: none;">Rapporter en etterlevelseshendelse</span></a></li> 3526<li style="text-decoration: none; cursor: pointer;"><strong><a class="openCookiePreferenceCenter" role="link"><span style="text-decoration: none; font-weight: 600;">Informasjonskapselinnstillinger</span></a></strong></li> 3527</ul> 3528<style> 3529li:hover span { 3530 text-decoration: underline !important; 3531} 3532.openCookiePreferenceCenter:focus{ 3533outline :dotted 2px; 3534} 3535 3536@media (max-width: 767px) { 3537 .footer-container .legal-links { 3538 padding-left: 5.25rem; 3539 } 3540} 3541 3542</style> 3543 </div> 3544 <div class="footer-column"> 3545 <h3 class="column-title">Sosiale medier</h3> 3546 <style> 3547 3548 3549 .social-icons { 3550 display: flex; /* Use flexbox for horizontal alignment of icons */ 3551 align-items: center; /* Vertically align icons in the middle */ 3552 gap: 15px; /* Space between the social media icons */ 3553 margin-bottom: 30px; /* Space between social icons and the PHC logo */ 3554 } 3555 3556 .social-icons img { 3557 width: 30px; /* Uniform width for social icons */ 3558 height: 30px; /* Uniform height for social icons */ 3559 } 3560 3561 /* Styles for the PHC Group logo text */ 3562 .phc-group-logo-text { 3563 color: #1a237e; /* Dark blue color, adjust if needed to match the image exactly */ 3564 text-align: left; /* Ensure text alignment is left */ 3565 line-height: 1; /* Reduce line height for closer text */ 3566 width: 160px; 3567 } 3568 3569 .phc-logo img { 3570 max-width: 250px; 3571 height: auto; 3572 display: block; 3573 } 3574@media only screen and (max-width: 767px) { 3575 .phc-group-logo-text { 3576 text-align: center; 3577} 3578} 3579 </style> 3580<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="http://www.ascensiadiabetes.ca/nb-NO/SysSiteAssets/linkedin-icon.svg" alt="icons8-youtube-50.png" width="55" height="55" />
3580 </a></div> 3581<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> 3582 </div> 3583 </div> 3584 3585 <div class="footer-bottom-container"> 3586 <div class="footer-bottom-content"> 3587 <div class="copyright"> 3588 © 2026 Ascensia Diabetes Care Norway AS. Alle rettigheter forbeholdt. 3589 </div> 3590 </div> 3591 </div> 3592</footer> 3593
3594<script> 3595 $('#countryV2Select').on('shown.bs.modal', function () { 3596 3597 $('#find-country').focus(); 3598 3599 }); 3600</script>
3600 3601 3602 </section> 3603 3604 3605<!-- Video Popup for any Grid Items--> 3606<div class="modal fade" id="videomodalpopup" tabindex="-1" role="dialog"> 3607 <div id="cboxLoadedContent" style="overflow: auto;"> 3608 <iframe frameborder="0" allowfullscreen="" src="" class="cboxIframe"></iframe> 3609 </div> 3610 <button id="btnCloseVideomodalpopup">X</button> 3611</div> 3612<div id="loader-container-wrapper"> 3613 <div class="loader-container"> 3614 <div class="pulsing-circle"></div> 3615 </div> 3616</div> 3617 3618<style> 3619 #loader-container-wrapper { 3620 display: none; 3621 width: 100%; 3622 height: 100%; 3623 position: fixed; 3624 top: 0; 3625 left: 0; 3626 background-color: rgba(0, 0, 0, 0.3); 3627 z-index: 5000; 3628 } 3629 3630 .loader-container { 3631 display: flex; 3632 justify-content: center; 3633 align-items: center; 3634 height: 100vh; 3635 } 3636 3637 .pulsing-circle { 3638 width: 50px; 3639 height: 50px; 3640 background-color: #F3F0E9; 3641 border-radius: 50%; 3642 animation: pulse 2.5s infinite; 3643 } 3644 3645 @keyframes pulse { 3646 0%, 100% { 3647 transform: scale(1); 3648 opacity: 1; 3649 } 3650 3651 50% { 3652 transform: scale(1.5); 3653 opacity: 0.5; 3654 } 3655 } 3656</style> 3657 3658
3658<script type="text/javascript" src="https://dl.episerver.net/13.6.1/epi-util/find.js"></script>
vendor: 2 bytes, line 3658
3658
3659<script type="text/javascript"> 3660if(FindApi){var api = new FindApi();api.setApplicationUrl('/');api.setServiceApiBaseUrl('/find_v2/');api.processEventFromCurrentUri();api.bindWindowEvents();api.bindAClickEvent();api.sendBufferedEvents();} 3661</script>
3661 3662 3663 3664 3665 3666
3666<script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="d1cd497c-31ec-490e-ac1c-2b7d4a2c1a26" data-document-language="true"></script>
vendor: 2 bytes, line 3666
3666
3667<script type="text/javascript"> 3668 //https://my.onetrust.com/s/article/UUID-b2d72003-853b-e75b-e337-c6d26ea327eb?topicId=0TO1Q000000ItVuWAK 3669 function OptanonWrapper() { 3670 3671 3672 if (OnetrustActiveGroups.indexOf('C0002') != -1) { gtag('consent', 'update', { 'analytics_storage': 'granted' }) }; 3673 if (OnetrustActiveGroups.indexOf('C0004') != -1) { gtag('consent', 'update', { 'ad_storage': 'granted' }) }; 3674 3675 var topLevelDomain = get_top_domain(); 3676 // Get initial OnetrustActiveGroups ids 3677 if (typeof OptanonWrapperCount == "undefined") { 3678 otGetInitialGrps(); 3679 } 3680 3681 //Delete cookies 3682 otDeleteCookie(otIniGrps); 3683 3684 // Assign OnetrustActiveGroups to custom variable 3685 function otGetInitialGrps() { 3686 OptanonWrapperCount = ''; 3687 otIniGrps = OnetrustActiveGroups; 3688 } 3689 3690 function otDeleteCookie(iniOptGrpId) { 3691 var cookieCategoriesToDelete = []; 3692 if (OnetrustActiveGroups.includes("C0002") === false) { 3693 cookieCategoriesToDelete.push("C0002"); 3694 } 3695 if (OnetrustActiveGroups.includes("C0003") === false) { 3696 cookieCategoriesToDelete.push("C0003"); 3697 } 3698 if (OnetrustActiveGroups.includes("C0004") === false) { 3699 cookieCategoriesToDelete.push("C0004"); 3700 } 3701 var otDomainGrps = JSON.parse(JSON.stringify(Optanon.GetDomainData().Groups)); 3702 //var otDeletedGrpIds = otGetInactiveId(iniOptGrpId, OnetrustActiveGroups); 3703 var otDeletedGrpIds = cookieCategoriesToDelete; 3704 if (otDeletedGrpIds.length != 0 && otDomainGrps.length != 0) { 3705 for (var i = 0; i < otDomainGrps.length; i++) { 3706 let cookieName = ''; 3707 //Check if CustomGroupId matches 3708 if (otDomainGrps[i]['CustomGroupId'] != '' && otDeletedGrpIds.includes(otDomainGrps[i]['CustomGroupId'])) { 3709 for (var j = 0; j < otDomainGrps[i]['Cookies'].length; j++) { 3710 //Delete cookie 3711 cookieName = otDomainGrps[i]['Cookies'][j]['Name']; 3712 eraseCookie(cookieName); 3713 //delete cookies with wildcard sections in their names 3714 if (cookieName.startsWith("_hj") || cookieName.startsWith("_ga") || cookieName.startsWith("_gc")) { 3715 deleteCookieByNameContains(cookieName.substring(0, 3)); 3716 } 3717 if (cookieName.startsWith("visitor_id")) { 3718 deleteCookieByNameContains("visitor_id"); 3719 } 3720 } 3721 } 3722 3723 //Check if Hostid matches 3724 if (otDomainGrps[i]['Hosts'].length != 0) { 3725 for (var j = 0; j < otDomainGrps[i]['Hosts'].length; j++) { 3726 //Check if HostId presents in the deleted list and cookie array is not blank 3727 if (otDeletedGrpIds.includes(otDomainGrps[i]['Hosts'][j]['HostId']) && otDomainGrps[i]['Hosts'][j]['Cookies'].length != 0) { 3728 for (var k = 0; k < otDomainGrps[i]['Hosts'][j]['Cookies'].length; k++) { 3729 //Delete cookie 3730 cookieName = otDomainGrps[i]['Hosts'][j]['Cookies'][k]['Name']; 3731 eraseCookie(cookieName); 3732 //delete cookies with wildcard sections in their names 3733 if (cookieName.startsWith("_hj") || cookieName.startsWith("_ga") || cookieName.startsWith("_gc")) { 3734 deleteCookieByNameContains(cookieName.substring(0, 3)); 3735 } 3736 if (cookieName.startsWith("visitor_id")) { 3737 deleteCookieByNameContains("visitor_id"); 3738 } 3739 } 3740 } 3741 } 3742 } 3743 3744 } 3745 } 3746 otGetInitialGrps(); //Reassign new group ids 3747 } 3748 3749 function deleteCookieByNameContains(substring) { 3750 const decodedCookie = decodeURIComponent(document.cookie); 3751 const cookies = decodedCookie.split(';'); 3752 3753 for (let i = 0; i < cookies.length; i++) { 3754 let cookie = cookies[i]; 3755 // Trim leading whitespace 3756 while (cookie.charAt(0) === ' ') { 3757 cookie = cookie.substring(1); 3758 } 3759 // Extract the cookie name (before the first '=') 3760 const cookieName = cookie.split('=')[0]; 3761 3762 // Check if the cookie name contains the substring 3763 if (cookieName.startsWith(substring)) { 3764 eraseCookie(cookieName); 3765 } 3766 } 3767 } 3768 3769 //Get inactive ids 3770 function otGetInactiveId(customIniId, otActiveGrp) { 3771 //Initial OnetrustActiveGroups 3772 customIniId = customIniId.split(",");
3773 customIniId = customIniId.filter(Boolean); 3774 3775 //After action OnetrustActiveGroups 3776 otActiveGrp = otActiveGrp.split(","); 3777 otActiveGrp = otActiveGrp.filter(Boolean); 3778 3779 var result = []; 3780 for (var i = 0; i < customIniId.length; i++) { 3781 if (otActiveGrp.indexOf(customIniId[i]) <= -1) { 3782 result.push(customIniId[i]); 3783 } 3784 } 3785 return result; 3786 } 3787 3788 //Delete cookie 3789 function eraseCookie(name) { 3790 //Delete root path cookies 3791 document.cookie = name + '=; Max-Age=-99999999; Path=/;domain=' + location.host; 3792 document.cookie = name + '=; Max-Age=-99999999; Path=/;domain=.' + location.host; 3793 document.cookie = name + '=; Max-Age=-99999999; Path=/;domain=' + topLevelDomain; 3794 document.cookie = name + '=; Max-Age=-99999999; Path=/;domain=.' + topLevelDomain; 3795 document.cookie = name + '=; Max-Age=-99999999; Path=/;'; 3796 localStorage.removeItem(name); 3797 3798 //Check for the current path of the page 3799 pathArray = window.location.pathname.split('/'); 3800 //Loop through path hierarchy and delete potential cookies at each path. 3801 for (var i = 0; i < pathArray.length; i++) { 3802 if (pathArray[i]) { 3803 var currentPath = pathArray.slice(0, i + 1).join('/'); 3804 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + ';'; 3805 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + '/;'; 3806 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + ';domain=' + location.host; 3807 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + ';domain=.' + location.host; 3808 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + ';domain=' + topLevelDomain; 3809 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + ';domain=.' + topLevelDomain; 3810 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + '/;domain=' + location.host; 3811 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + '/;domain=.' + location.host; 3812 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + '/;domain=' + topLevelDomain; 3813 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + '/;domain=.' + topLevelDomain; 3814 } 3815 } 3816 } 3817 3818 function get_top_domain() { 3819 var i, h, 3820 weird_cookie = 'weird_get_top_level_domain=cookie', 3821 hostname = document.location.hostname.split('.'); 3822 for (i = hostname.length - 1; i >= 0; i--) { 3823 h = hostname.slice(i).join('.'); 3824 document.cookie = weird_cookie + ';domain=.' + h + ';'; 3825 if (document.cookie.indexOf(weird_cookie) > -1) { 3826 // We were able to store a cookie! This must be it 3827 document.cookie = weird_cookie.split('=')[0] + '=;domain=.' + h + ';expires=Thu, 01 Jan 1970 00:00:01 GMT;'; 3828 return h; 3829 } 3830 } 3831 } 3832 } 3833</script>
3833 3834
3834<script> 3835 var isWorkableLead = false; 3836 var emailSent = false; 3837 function isEmail(email) { 3838 if (email.indexOf(' ') > 0) { 3839 return false; 3840 } 3841 var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/; 3842 return regex.test(email); 3843 } 3844 function validatePhoneNumber(input_str) { 3845 var re = /^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/; 3846 return re.test(input_str); 3847 } 3848 3849 //US phone validation 3850 function validatePhoneNumber(input_str, areaCodes) { 3851 3852 var re = /^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/; 3853 var testResult = re.test(input_str); 3854 3855 if (testResult) { 3856 let firstNumber = input_str.substring(0, 1); 3857 3858 if (firstNumber.startsWith("(")) { 3859 firstNumber = input_str.substring(1, 2); 3860 } 3861 3862 if (firstNumber != "0" && firstNumber != "1") { 3863 return true; 3864 } 3865 } 3866 3867 return false; 3868 } 3869 3870 </script>
3870 3871
3871<script> 3872 document.addEventListener('DOMContentLoaded', function () { 3873 3874 const skipLink = document.querySelector('.skip-to-main'); 3875 const mainContent = document.getElementById('main-content'); 3876 3877 if (skipLink && mainContent) { 3878 3879 skipLink.addEventListener('click', function (e) { 3880 3881 e.preventDefault(); 3882 3883 mainContent.setAttribute('tabindex', '-1'); 3884 3885 mainContent.focus(); 3886 3887 mainContent.scrollIntoView({ 3888 behavior: 'smooth', 3889 block: 'start' 3890 }); 3891 }); 3892 } 3893 }); 3894 </script>
3894 3895 3896</body> 3897</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.