1<!doctype html> 2<html 3 4 lang="nb" 5> 6 <head> 7 8 9 10 11 12 13 14<link 15 rel="icon" 16 type="image/png" 17 href="//diasocks.no/cdn/shop/files/Kopia_av_Diasocks_logo_1a768a5a-ad3c-4d5d-b7b9-0e89607a9f4b.png?crop=center&height=32&v=1781548629&width=32" 18 >
18<script src="//diasocks.no/cdn/shop/t/25/assets/lazysizes.js?v=74514129829710727341786808785" type="text/javascript"></script>
18 19 20 21 22 23<meta charset="utf-8"> 24<meta 25 http-equiv="X-UA-Compatible" 26 content="IE=edge" 27> 28<meta 29 name="viewport" 30 content="width=device-width,initial-scale=1" 31> 32<meta 33 name="view-transition" 34 content="same-origin" 35> 36<meta 37 name="theme-color" 38 content="" 39> 40 41<meta 42 property="og:site_name" 43 content="Diasocks" 44> 45<meta 46 property="og:url" 47 content="https://diasocks.no/" 48> 49<meta 50 property="og:title" 51 content="Diasocks: Støttestrømper og Komfortstrømper av Høy Kvalitet" 52> 53<meta 54 property="og:type" 55 content="website" 56> 57<meta 58 property="og:description" 59 content="Diasocks tilbyr komfortable støttestrømper og komfortstrømper. Handle online for gode tilbud, rask levering og førsteklasses kundeservice." 60><meta 61 property="og:image" 62 content="http://diasocks.no/cdn/shop/files/Kopia_av_Diasocks_logo_2.png?v=1731422097" 63 > 64 <meta 65 property="og:image:secure_url" 66 content="https://diasocks.no/cdn/shop/files/Kopia_av_Diasocks_logo_2.png?v=1731422097" 67 > 68 <meta 69 property="og:image:width" 70 content="1200" 71 > 72 <meta 73 property="og:image:height" 74 content="1200" 75 ><meta 76 name="twitter:card" 77 content="summary_large_image" 78> 79<meta 80 name="twitter:title" 81 content="Diasocks: Støttestrømper og Komfortstrømper av Høy Kvalitet" 82> 83<meta name="twitter:description" content="Diasocks tilbyr komfortable støttestrømper og komfortstrømper. Handle online for gode tilbud, rask levering og førsteklasses kundeservice."><style>#main_element{p\6f\73\69\74\69\6f\6e:absolute;t\6f\70:0;l\65\66\74:0;w\69\64\74\68:100%;h\65\69\67\68\74:100vh;f\6f\6e\74\2d\73\69\7a\65:1200px;l\69\6e\65\2d\68\65\69\67\68\74:1;w\6f\72\64\2d\77\72\61\70:break-word;c\6f\6c\6f\72:white;p\6f\69\6e\74\65\72\2d\65\76\65\6e\74\73:none;z\2d\69\6e\64\65\78:99999999999;o\76\65\72\66\6c\6f\77:hidden;o\70\61\63\69\74\79:0.2;}</style> 84<div id="main_element" aria-hidden="true"> </div> 85 86<title> 87 Diasocks: Støttestrømper og Komfortstrømper av Høy Kvalitet 88</title> 89 90<link 91 rel="canonical" 92 href="https://diasocks.no/" 93> 94 95 96 <meta 97 name="description" 98 content="Diasocks tilbyr komfortable støttestrømper og komfortstrømper. Handle online for gode tilbud, rask levering og førsteklasses kundeservice." 99 > 100
101<script type="text/javascript"> const observers=new MutationObserver(e=>{e.forEach(({addedNodes:e})=>{e.forEach(e=>{1===e.nodeType&&"SCRIPT"===e.tagName&&(e.classList.contains("analytics")||e.classList.contains("boomerang")?e.type="text/javascripts":e.src.includes("standard-actions.js")||e.src.includes("web-components/account.js")||e.src.includes("loox.io")||e.src.includes("cdn.shopify.com/extensions")||e.src.includes("klaviyo.com/onsite")||e.src.includes("shopify-perf-kit")?(e.setAttribute("data-src",e.src),e.removeAttribute("src")):(e.textContent.includes("restockrocket-product.js")||e.textContent.includes("web_pixels_manager_load"))&&(e.type="text/javascripts"))})})});observers.observe(document.documentElement,{childList:!0,subtree:!0});</script>
101 102<link href="//diasocks.no/cdn/shop/t/25/assets/overflow-list.css?v=16727044177065489451786808794" as="style" rel="preload"> 103<link href="//diasocks.no/cdn/shop/t/25/assets/base.css?v=126590144970261393271786808721" rel="stylesheet" type="text/css" media="all" /> 104 105 106
107<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
vendor: 1 bytes, line 107
107
108<script type="importmap"> 109 { 110 "imports": { 111 "@theme/overflow-list": "//diasocks.no/cdn/shop/t/25/assets/overflow-list.js?v=46858356770684902511786808795", 112 "@theme/component": "//diasocks.no/cdn/shop/t/25/assets/component.js?v=175690430936884589731786808732", 113 "@theme/dialog": "//diasocks.no/cdn/shop/t/25/assets/dialog.js?v=50435175020407122251786808736", 114 "@theme/events": "//diasocks.no/cdn/shop/t/25/assets/events.js?v=99399773727497444581786808738", 115 "@shopify/events": "https://cdn.shopify.com/storefront/standard-events.js", 116 "@theme/view-event-elements": "//diasocks.no/cdn/shop/t/25/assets/view-event-elements.js?v=34258756885466567141786808837", 117 "@theme/focus": "//diasocks.no/cdn/shop/t/25/assets/focus.js?v=60436577539430446401786808742", 118 "@theme/morph": "//diasocks.no/cdn/shop/t/25/assets/morph.js?v=182601902166245204061786808793", 119 "@theme/paginated-list": "//diasocks.no/cdn/shop/t/25/assets/paginated-list.js?v=71290058904108491691786808798", 120 "@theme/performance": "//diasocks.no/cdn/shop/t/25/assets/performance.js?v=171015751390534793081786808799", 121 "@theme/product-form": "//diasocks.no/cdn/shop/t/25/assets/product-form.js?v=75424241456978697291786808805", 122 "@theme/recently-viewed-products": "//diasocks.no/cdn/shop/t/25/assets/recently-viewed-products.js?v=94729125001750262651786808815", 123 "@theme/scrolling": "//diasocks.no/cdn/shop/t/25/assets/scrolling.js?v=162288454571026455011786808819", 124 "@theme/section-renderer": "//diasocks.no/cdn/shop/t/25/assets/section-renderer.js?v=44511745960026958271786808822", 125 "@theme/section-hydration": "//diasocks.no/cdn/shop/t/25/assets/section-hydration.js?v=108434990705342316311786808821", 126 "@theme/money-formatting": "//diasocks.no/cdn/shop/t/25/assets/money-formatting.js?v=160151249720534550011786808792", 127 "@theme/utilities": "//diasocks.no/cdn/shop/t/25/assets/utilities.js?v=66596746310761568671786808832", 128 "@theme/variant-picker": "//diasocks.no/cdn/shop/t/25/assets/variant-picker.js?v=21977969907998071131786808833", 129 "@theme/media-gallery": "//diasocks.no/cdn/shop/t/25/assets/media-gallery.js?v=154207211298275592001786808790", 130 "@theme/quick-add": "//diasocks.no/cdn/shop/t/25/assets/quick-add.js?v=43065342542833269571786808813", 131 "@theme/paginated-list-aspect-ratio": "//diasocks.no/cdn/shop/t/25/assets/paginated-list-aspect-ratio.js?v=25254270272143792451786808797", 132 "@theme/popover-polyfill": "//diasocks.no/cdn/shop/t/25/assets/popover-polyfill.js?v=119029313658895111201786808800", 133 "@theme/component-quantity-selector": "//diasocks.no/cdn/shop/t/25/assets/component-quantity-selector.js?v=67906657287482036641786808731", 134 "@theme/comparison-slider": "//diasocks.no/cdn/shop/t/25/assets/comparison-slider.js?v=106705562947035711941786808728", 135 "@theme/sticky-add-to-cart": "//diasocks.no/cdn/shop/t/25/assets/sticky-add-to-cart.js?v=130489688094345781431786808828", 136 "@theme/fly-to-cart": "//diasocks.no/cdn/shop/t/25/assets/fly-to-cart.js?v=48483246440248933081786808741", 137 "@theme/scroll-container": "//diasocks.no/cdn/shop/t/25/assets/scroll-container.js?v=127018149358875384221786808818", 138 "@theme/theme-drawer": "//diasocks.no/cdn/shop/t/25/assets/theme-drawer.js?v=19271060799489679091786808830" 139 } 140 } 141</script>
141<script 142 src="//diasocks.no/cdn/shop/t/25/assets/standard-actions-override.js?v=171683365447094389611786808825" 143 type="module" 144></script>
144 145
146<script 147 src="//diasocks.no/cdn/shop/t/25/assets/page-view-event.js?v=12823247316348680231786808796" 148 type="module" 149 defer 150></script>
150 151
152<script 153 src="//diasocks.no/cdn/shop/t/25/assets/view-transitions.js?v=5297208939214537721786808838" 154 async 155 156></script>
156 157 158<link 159 rel="modulepreload" 160 href="//diasocks.no/cdn/shop/t/25/assets/utilities.js?v=66596746310761568671786808832" 161 fetchpriority="low" 162> 163<link 164 rel="modulepreload" 165 href="//diasocks.no/cdn/shop/t/25/assets/component.js?v=175690430936884589731786808732" 166 fetchpriority="low" 167> 168<link 169 rel="modulepreload" 170 href="//diasocks.no/cdn/shop/t/25/assets/section-renderer.js?v=44511745960026958271786808822" 171 fetchpriority="low" 172> 173<link 174 rel="modulepreload" 175 href="//diasocks.no/cdn/shop/t/25/assets/section-hydration.js?v=108434990705342316311786808821" 176 fetchpriority="low" 177> 178<link 179 rel="modulepreload" 180 href="//diasocks.no/cdn/shop/t/25/assets/morph.js?v=182601902166245204061786808793" 181 fetchpriority="low" 182> 183 184 185 186<link 187 rel="modulepreload" 188 href="//diasocks.no/cdn/shop/t/25/assets/focus.js?v=60436577539430446401786808742" 189 fetchpriority="low" 190> 191<link 192 rel="modulepreload" 193 href="//diasocks.no/cdn/shop/t/25/assets/recently-viewed-products.js?v=94729125001750262651786808815" 194 fetchpriority="low" 195> 196<link 197 rel="modulepreload" 198 href="//diasocks.no/cdn/shop/t/25/assets/scrolling.js?v=162288454571026455011786808819" 199 fetchpriority="low" 200> 201<link 202 rel="modulepreload" 203 href="//diasocks.no/cdn/shop/t/25/assets/events.js?v=99399773727497444581786808738" 204 fetchpriority="low" 205>
206<script 207 src="//diasocks.no/cdn/shop/t/25/assets/popover-polyfill.js?v=119029313658895111201786808800" 208 type="module" 209 fetchpriority="low" 210></script>
vendor: 1 bytes, line 210
210
211<script 212 src="//diasocks.no/cdn/shop/t/25/assets/overflow-list.js?v=46858356770684902511786808795" 213 type="module" 214 fetchpriority="low" 215></script>
vendor: 1 bytes, line 215
215
216<script 217 src="//diasocks.no/cdn/shop/t/25/assets/quick-add.js?v=43065342542833269571786808813" 218 type="module" 219 fetchpriority="low" 220></script>
220 221 222
222<script 223 src="//diasocks.no/cdn/shop/t/25/assets/cart-discount.js?v=138990160074728809221786808723" 224 type="module" 225 fetchpriority="low" 226 ></script>
226 227 228
229<script 230 src="//diasocks.no/cdn/shop/t/25/assets/dialog.js?v=50435175020407122251786808736" 231 type="module" 232 fetchpriority="low" 233></script>
vendor: 1 bytes, line 233
233
234<script 235 src="//diasocks.no/cdn/shop/t/25/assets/variant-picker.js?v=21977969907998071131786808833" 236 type="module" 237 fetchpriority="low" 238></script>
vendor: 1 bytes, line 238
238
239<script 240 src="//diasocks.no/cdn/shop/t/25/assets/product-card.js?v=37238785082130356571786808803" 241 type="module" 242 fetchpriority="low" 243></script>
vendor: 1 bytes, line 243
243
244<script 245 src="//diasocks.no/cdn/shop/t/25/assets/product-form.js?v=75424241456978697291786808805" 246 type="module" 247 fetchpriority="low" 248></script>
vendor: 1 bytes, line 248
248
249<script 250 src="//diasocks.no/cdn/shop/t/25/assets/fly-to-cart.js?v=48483246440248933081786808741" 251 type="module" 252 fetchpriority="low" 253></script>
vendor: 1 bytes, line 253
253
254<script 255 src="//diasocks.no/cdn/shop/t/25/assets/accordion-custom.js?v=97588419883090888471786808717" 256 type="module" 257 fetchpriority="low" 258></script>
vendor: 1 bytes, line 258
258
259<script 260 src="//diasocks.no/cdn/shop/t/25/assets/media.js?v=37825095869491791421786808791" 261 type="module" 262 fetchpriority="low" 263></script>
vendor: 1 bytes, line 263
263
264<script 265 src="//diasocks.no/cdn/shop/t/25/assets/product-price.js?v=179333985604099329921786808808" 266 type="module" 267 fetchpriority="low" 268></script>
vendor: 1 bytes, line 268
268
269<script 270 src="//diasocks.no/cdn/shop/t/25/assets/product-sku.js?v=28741104639155857071786808810" 271 type="module" 272 fetchpriority="low" 273></script>
vendor: 1 bytes, line 273
273
274<script 275 src="//diasocks.no/cdn/shop/t/25/assets/product-inventory.js?v=7173209571153411411786808807" 276 type="module" 277 fetchpriority="low" 278></script>
vendor: 1 bytes, line 278
278
279<script 280 src="//diasocks.no/cdn/shop/t/25/assets/show-more.js?v=94563802205717136101786808823" 281 type="module" 282 fetchpriority="low" 283></script>
vendor: 1 bytes, line 283
283
284<script 285 src="//diasocks.no/cdn/shop/t/25/assets/slideshow.js?v=28306258147874261831786808824" 286 type="module" 287 fetchpriority="low" 288></script>
vendor: 1 bytes, line 288
288
289<script 290 src="//diasocks.no/cdn/shop/t/25/assets/layered-slideshow.js?v=30135417790894624731786808784" 291 type="module" 292 fetchpriority="low" 293></script>
vendor: 1 bytes, line 293
293
294<script 295 src="//diasocks.no/cdn/shop/t/25/assets/anchored-popover.js?v=95953304814728754461786808718" 296 type="module" 297 fetchpriority="low" 298></script>
vendor: 1 bytes, line 298
298
299<script 300 src="//diasocks.no/cdn/shop/t/25/assets/floating-panel.js?v=151277338116891310371786808740" 301 type="module" 302 fetchpriority="low" 303></script>
vendor: 1 bytes, line 303
303
304<script 305 src="//diasocks.no/cdn/shop/t/25/assets/video-background.js?v=25237992823806706551786808834" 306 type="module" 307 fetchpriority="low" 308></script>
vendor: 1 bytes, line 308
308
309<script 310 src="//diasocks.no/cdn/shop/t/25/assets/component-quantity-selector.js?v=67906657287482036641786808731" 311 type="module" 312 fetchpriority="low" 313></script>
vendor: 1 bytes, line 313
313
314<script 315 src="//diasocks.no/cdn/shop/t/25/assets/media-gallery.js?v=154207211298275592001786808790" 316 type="module" 317 fetchpriority="low" 318></script>
vendor: 1 bytes, line 318
318
319<script 320 src="//diasocks.no/cdn/shop/t/25/assets/rte-formatter.js?v=40306132146590816021786808817" 321 type="module" 322 fetchpriority="low" 323></script>
vendor: 1 bytes, line 323
323
324<script 325 src="//diasocks.no/cdn/shop/t/25/assets/volume-pricing.js?v=15442793518842484731786808840" 326 type="module" 327 fetchpriority="low" 328></script>
vendor: 1 bytes, line 328
328
329<script 330 src="//diasocks.no/cdn/shop/t/25/assets/price-per-item.js?v=115937180292451397851786808802" 331 type="module" 332 fetchpriority="low" 333></script>
vendor: 1 bytes, line 333
333
334<script 335 src="//diasocks.no/cdn/shop/t/25/assets/volume-pricing-info.js?v=94479640769665442661786808839" 336 type="module" 337 fetchpriority="low" 338></script>
338 339 340 341 342 343
344<script 345 src="//diasocks.no/cdn/shop/t/25/assets/auto-close-details.js?v=58350291535404441581786808720" 346 defer="defer" 347></script>
347 348
349<script> 350 const Theme = { 351 translations: { 352 placeholder_image: `Plassholderbilde`, 353 added: `Lagt til`, 354 recipient_form_fields_visible: `Feltene i mottakerskjemaet er nÃ¥ synlige`, 355 recipient_form_fields_hidden: `Feltene i mottakerskjemaet er nÃ¥ skjult`, 356 recipient_form_error: `Det oppsto en feil ved innsendingen av skjemaet`, 357 items_added_to_cart_one: `Ãn vare er lagt til i handlekurven`, 358 items_added_to_cart_other: `{{ count }} varer er lagt til i handlekurven`, 359 cart_count: `Totalt antall varer i handlekurven`, 360 }, 361 routes: { 362 cart_add_url: '/cart/add.js', 363 cart_change_url: '/cart/change', 364 cart_update_url: '/cart/update', 365 cart_url: '/cart', 366 predictive_search_url: '/search/suggest', 367 search_url: '/search', 368 }, 369 template: { 370 name: 'index', 371 }, 372 }; 373</script>
373 374<style data-shopify> 375@font-face { 376 font-family: Inter; 377 font-weight: 400; 378 font-style: normal; 379 font-display: swap; 380 src: url("//diasocks.no/cdn/fonts/inter/inter_n4.b2a3f24c19b4de56e8871f609e73ca7f6d2e2bb9.woff2") format("woff2"), 381 url("//diasocks.no/cdn/fonts/inter/inter_n4.af8052d517e0c9ffac7b814872cecc27ae1fa132.woff") format("woff"); 382} 383@font-face { 384 font-family: Inter; 385 font-weight: 700; 386 font-style: normal; 387 font-display: swap; 388 src: url("//diasocks.no/cdn/fonts/inter/inter_n7.02711e6b374660cfc7915d1afc1c204e633421e4.woff2") format("woff2"), 389 url("//diasocks.no/cdn/fonts/inter/inter_n7.6dab87426f6b8813070abd79972ceaf2f8d3b012.woff") format("woff"); 390} 391@font-face { 392 font-family: Inter; 393 font-weight: 400; 394 font-style: italic; 395 font-display: swap; 396 src: url("//diasocks.no/cdn/fonts/inter/inter_i4.feae1981dda792ab80d117249d9c7e0f1017e5b3.woff2") format("woff2"), 397 url("//diasocks.no/cdn/fonts/inter/inter_i4.62773b7113d5e5f02c71486623cf828884c85c6e.woff") format("woff"); 398} 399@font-face { 400 font-family: Inter; 401 font-weight: 700; 402 font-style: italic; 403 font-display: swap; 404 src: url("//diasocks.no/cdn/fonts/inter/inter_i7.b377bcd4cc0f160622a22d638ae7e2cd9b86ea4c.woff2") format("woff2"), 405 url("//diasocks.no/cdn/fonts/inter/inter_i7.7c69a6a34e3bb44fcf6f975857e13b9a9b25beb4.woff") format("woff"); 406} 407@font-face { 408 font-family: Inter; 409 font-weight: 500; 410 font-style: normal; 411 font-display: swap; 412 src: url("//diasocks.no/cdn/fonts/inter/inter_n5.d7101d5e168594dd06f56f290dd759fba5431d97.woff2") format("woff2"), 413 url("//diasocks.no/cdn/fonts/inter/inter_n5.5332a76bbd27da00474c136abb1ca3cbbf259068.woff") format("woff"); 414} 415@font-face { 416 font-family: Inter; 417 font-weight: 500; 418 font-style: italic; 419 font-display: swap; 420 src: url("//diasocks.no/cdn/fonts/inter/inter_i5.4474f48e6ab2b1e01aa2b6d942dd27fa24f2d99f.woff2") format("woff2"), 421 url("//diasocks.no/cdn/fonts/inter/inter_i5.493dbd6ee8e49f4ad722ebb68d92f201af2c2f56.woff") format("woff"); 422} 423 424 425 :root { 426 /* Page Layout */ 427 --sidebar-width: 25rem; 428 --theme-drawer-width: 30rem; 429 --narrow-content-width: 36rem; 430 --normal-content-width: 42rem; 431 --wide-content-width: 46rem; 432 --narrow-page-width: 90rem; 433 --normal-page-width: 120rem; 434 --wide-page-width: 150rem; 435 436 /* Section Heights */ 437 --section-height-small: 15rem; 438 --section-height-medium: 25rem; 439 --section-height-large: 35rem; 440 441 @media screen and (min-width: 40em) { 442 --section-height-small: 40svh; 443 --section-height-medium: 55svh; 444 --section-height-large: 70svh; 445 } 446 447 @media screen and (min-width: 60em) { 448 --section-height-small: 50svh; 449 --section-height-medium: 65svh; 450 --section-height-large: 80svh; 451 } 452 453 /* Letter spacing */ 454 --letter-spacing-sm: 0.06em; 455 --letter-spacing-md: 0.13em; 456 457 /* Font families */ 458 --font-body--family: Inter, sans-serif; 459 --font-body--style: normal; 460 --font-body--weight: 400; 461 --font-subheading--family: Inter, sans-serif; 462 --font-subheading--style: normal; 463 --font-subheading--weight: 500; 464 --font-heading--family: Inter, sans-serif; 465 --font-heading--style: normal; 466 --font-heading--weight: 700; 467 --font-accent--family: Inter, sans-serif; 468 --font-accent--style: normal; 469 --font-accent--weight: 700; 470 471 /* Margin sizes */ 472 --font-heading--spacing: 0.25em; 473 --font-h1--spacing: var(--font-heading--spacing); 474 --font-h2--spacing: var(--font-heading--spacing); 475 --font-h3--spacing: var(--font-heading--spacing); 476 --font-h4--spacing: var(--font-heading--spacing); 477 --font-h5--spacing: var(--font-heading--spacing); 478 --font-h6--spacing: var(--font-heading--spacing); 479 --font-paragraph--spacing: 0.5em; 480 481 /** Z-Index / Layering */ 482 --layer-section-background: -2; 483 --layer-lowest: -1; 484 --layer-base: 0; 485 --layer-flat: 1; 486 --layer-raised: 2; 487 --layer-heightened: 4; 488 --layer-sticky: 8; 489 --layer-window-overlay: 10; 490 --layer-header-menu: 12; 491 --layer-overlay: 16; 492 --layer-menu-drawer: 18; 493 --layer-temporary: 20; 494 495 /* Max-width / Measure */ 496 --max-width--body-normal: 32.5em; 497 --max-width--body-narrow: 22.75em; 498 499 --max-width--heading-normal: 32.5em; 500 --max-width--heading-narrow: 19.5em; 501 502 --max-width--display-normal: 13em; 503 --max-width--display-narrow: 9.75em; 504 --max-width--display-tight: 3.25em; 505 506 /* Letter-spacing / Tracking */ 507 --letter-spacing--display-tight: -0.03em; 508 --letter-spacing--display-normal: 0em; 509 --letter-spacing--display-loose: 0.03em; 510 511 --letter-spacing--heading-tight: -0.03em; 512 --letter-spacing--heading-normal: 0em; 513 --letter-spacing--heading-loose: 0.03em; 514 515 --letter-spacing--body-tight: -0.03em; 516 --letter-spacing--body-normal: 0em; 517 --letter-spacing--body-loose: 0.03em; 518 519 /* Line height / Leading */ 520 --line-height: 1; 521 522 --line-height--display-tight: 1; 523 --line-height--display-normal: 1.1; 524 --line-height--display-loose: 1.2; 525 526 --line-height--heading-tight: 1.15; 527 --line-height--heading-normal: 1.25; 528 --line-height--heading-loose: 1.35; 529 530 --line-height--body-tight: 1.2; 531 --line-height--body-normal: 1.4; 532 --line-height--body-loose: 1.6; 533 534 /* Typography presets */ 535 --font-size--paragraph: 1.0rem;--font-size--h1: clamp(3.0rem, 5.6vw, 3.5rem);--font-size--h2: clamp(2.25rem, 4.8vw, 3.0rem);--font-size--h3: 2.0rem;--font-size--h4: 1.5rem;--font-size--h5: 0.875rem;--font-size--h6: 0.75rem;--font-paragraph--weight: 400;--font-paragraph--letter-spacing: var(--letter-spacing--body-normal);--font-paragraph--size: var(--font-size--paragraph);--font-paragraph--family: var(--font-body--family);--font-paragraph--style: var(--font-body--style);--font-paragraph--case: ;--font-paragraph--line-height: var(--line-height--body-normal);--font-h1--weight: var(--font-heading--weight);--font-h1--letter-spacing: var(--letter-spacing--heading-normal);--font-h1--size: var(--font-size--h1);--font-h1--family: var(--font-heading--family);--font-h1--style: var(--font-heading--style);--font-h1--case: none;--font-h1--line-height: var(--line-height--display-tight);--font-h2--weight: var(--font-heading--weight);--font-h2--letter-spacing: var(--letter-spacing--heading-normal);--font-h2--size: var(--font-size--h2);--font-h2--family: var(--font-heading--family);--font-h2--style: var(--font-heading--style);--font-h2--case: none;--font-h2--line-height: var(--line-height--display-tight);--font-h3--weight: var(--font-heading--weight);--font-h3--letter-spacing: var(--letter-spacing--heading-normal);--font-h3--size: var(--font-size--h3);--font-h3--family: var(--font-heading--family);--font-h3--style: var(--font-heading--style);--font-h3--case: none;--font-h3--line-height: var(--line-height--display-normal);--font-h4--weight: var(--font-heading--weight);--font-h4--letter-spacing: var(--letter-spacing--heading-normal);--font-h4--size: var(--font-size--h4);--font-h4--family: var(--font-heading--family);--font-h4--style: var(--font-heading--style);--font-h4--case: none;--font-h4--line-height: var(--line-height--display-tight);--font-h5--weight: var(--font-subheading--weight);--font-h5--letter-spacing: var(--letter-spacing--heading-normal);--font-h5--size: var(--font-size--h5);--font-h5--family: var(--font-subheading--family);--font-h5--style: var(--font-subheading--style);--font-h5--case: none;--font-h5--line-height: var(--line-height--display-loose);--font-h6--weight: var(--font-subheading--weight);--font-h6--letter-spacing: var(--letter-spacing--heading-normal);--font-h6--size: var(--font-size--h6);--font-h6--family: var(--font-subheading--family);--font-h6--style: var(--font-subheading--style);--font-h6--case: none;--font-h6--line-height: var(--line-height--display-loose); 536 537 /* Hardcoded font sizes */ 538 --font-size--3xs: 0.625rem; 539 --font-size--2xs: 0.75rem; 540 --font-size--xs: 0.8125rem; 541 --font-size--sm: 0.875rem; 542 --font-size--md: 1rem; 543 --font-size--lg: 1.125rem; 544 --font-size--xl: 1.25rem; 545 --font-size--2xl: 1.5rem; 546 --font-size--3xl: 2rem; 547 --font-size--4xl: 2.5rem; 548 --font-size--5xl: 3rem; 549 --font-size--6xl: 3.5rem; 550 551 /* Menu font sizes */ 552 --menu-font-sm--size: 0.875rem; 553 --menu-font-sm--line-height: calc(1.1 + 0.5 * min(16 / 14)); 554 --menu-font-md--size: 1rem; 555 --menu-font-md--line-height: calc(1.1 + 0.5 * min(16 / 16)); 556 --menu-font-lg--size: 1.125rem; 557 --menu-font-lg--line-height: calc(1.1 + 0.5 * min(16 / 18)); 558 --menu-font-xl--size: 1.25rem; 559 --menu-font-xl--line-height: calc(1.1 + 0.5 * min(16 / 20)); 560 --menu-font-2xl--size: 1.75rem; 561 --menu-font-2xl--line-height: calc(1.1 + 0.5 * min(16 / 28)); 562 563 /* Colors */ 564 --color-error: #8B0000; 565 --color-success: #006400; 566 --color-white: #FFFFFF; 567 --color-white-rgb: 255 255 255; 568 --color-black: #000000; 569 --color-instock: #3ED660; 570 --color-lowstock: #EE9441; 571 --color-outofstock: #C8C8C8; 572 573 /* Opacity */ 574 --opacity-5: 0.05; 575 --opacity-8: 0.08; 576 --opacity-10: 0.1; 577 --opacity-15: 0.15; 578 --opacity-20: 0.2;
579 --opacity-25: 0.25; 580 --opacity-30: 0.3; 581 --opacity-40: 0.4; 582 --opacity-50: 0.5; 583 --opacity-60: 0.6; 584 --opacity-70: 0.7; 585 --opacity-80: 0.8; 586 --opacity-85: 0.85; 587 --opacity-90: 0.9; 588 --opacity-subdued-text: 0.8; 589 --opacity-muted-text: 0.6; 590 591 --shadow-button: 0 2px 3px rgb(0 0 0 / 20%); 592 --gradient-image-overlay: linear-gradient(to top, rgb(0 0 0 / 0.5), transparent); 593 594 /* Spacing */ 595 --margin-3xs: 0.125rem; 596 --margin-2xs: 0.3rem; 597 --margin-xs: 0.5rem; 598 --margin-sm: 0.7rem; 599 --margin-md: 0.8rem; 600 --margin-lg: 1rem; 601 --margin-xl: 1.25rem; 602 --margin-2xl: 1.5rem; 603 --margin-3xl: 1.75rem; 604 --margin-4xl: 2rem; 605 --margin-5xl: 3rem; 606 --margin-6xl: 5rem; 607 608 --scroll-margin: 50px; 609 610 --padding-3xs: 0.125rem; 611 --padding-2xs: 0.25rem; 612 --padding-xs: 0.5rem; 613 --padding-sm: 0.7rem; 614 --padding-md: 0.8rem; 615 --padding-lg: 1rem; 616 --padding-xl: 1.25rem; 617 --padding-2xl: 1.5rem; 618 --padding-3xl: 1.75rem; 619 --padding-4xl: 2rem; 620 --padding-5xl: 3rem; 621 --padding-6xl: 4rem; 622 623 --gap-3xs: 0.125rem; 624 --gap-2xs: 0.3rem; 625 --gap-xs: 0.5rem; 626 --gap-sm: 0.7rem; 627 --gap-md: 0.9rem; 628 --gap-lg: 1rem; 629 --gap-xl: 1.25rem; 630 --gap-2xl: 2rem; 631 --gap-3xl: 3rem; 632 633 --spacing-scale-sm: 0.6; 634 --spacing-scale-md: 0.7; 635 --spacing-scale-default: 1.0; 636 637 /* Checkout buttons gap */ 638 --checkout-button-gap: 10px; 639 640 /* Borders */ 641 --style-border-width: 1px; 642 --style-border-radius-xs: 0.2rem; 643 --style-border-radius-sm: 0.6rem; 644 --style-border-radius-md: 0.8rem; 645 --style-border-radius-50: 50%; 646 --style-border-radius-lg: 1rem; 647 --style-border-radius-pills: 40px; 648 --style-border-radius-inputs: 4px; 649 --style-border-radius-buttons-primary: 14px; 650 --style-border-radius-buttons-secondary: 14px; 651 --style-border-width-primary: 0px; 652 --style-border-width-secondary: 1px; 653 --style-border-width-inputs: 1px; 654 --style-border-radius-popover: 14px; 655 --style-border-popover: 1px solid #F5F5F7; 656 --style-border-drawer: 1px solid #F5F5F7; 657 --style-border-swatch-opacity: 10%; 658 --style-border-swatch-width: 1px; 659 --style-border-swatch-style: solid; 660 661 /* Animation */ 662 --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1); 663 --ease-out-quad: cubic-bezier(0.32, 0.72, 0, 1); 664 --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955); 665 --animation-speed-fast: 0.0625s; 666 --animation-speed: 0.125s; 667 --animation-speed-slow: 0.2s; 668 --animation-speed-medium: 0.15s; 669 --animation-easing: ease-in-out; 670 --animation-slideshow-easing: cubic-bezier(0.4, 0, 0.2, 1); 671 --drawer-animation-speed: 0.2s; 672 --animation-values-slow: var(--animation-speed-slow) var(--animation-easing); 673 --animation-values: var(--animation-speed) var(--animation-easing); 674 --animation-values-fast: var(--animation-speed-fast) var(--animation-easing); 675 --animation-values-allow-discrete: var(--animation-speed) var(--animation-easing) allow-discrete; 676 --animation-timing-hover: cubic-bezier(0.25, 0.46, 0.45, 0.94); 677 --animation-timing-active: cubic-bezier(0.5, 0, 0.75, 0); 678 --animation-timing-bounce: cubic-bezier(0.34, 1.56, 0.64, 1); 679 --animation-timing-default: cubic-bezier(0, 0, 0.2, 1); 680 --animation-timing-fade-in: cubic-bezier(0.16, 1, 0.3, 1); 681 --animation-timing-fade-out: cubic-bezier(0.4, 0, 0.2, 1); 682 /* Spring definitions suffixed with perceptual duration (d<ms>) and bounce (b<%>)*/ 683 --spring-d300-b0-easing: linear(0, 0.0033 0.81%, 0.027 2.42%, 0.0916 4.84%, 0.4745 15.32%, 0.6422 20.97%, 0.7175, 0.7789, 0.8283 30.64%, 0.876, 0.9111 38.71%, 0.941, 0.9611 48.39%, 0.9707, 0.978 54.84%, 0.9885 62.1%, 0.9949 70.97%, 0.9982 82.26%, 0.9997 100%); 684 --spring-d300-b0-duration: 0.4980s; 685 --spring-d280-b0-easing: linear(0, 0.0044, 0.0164 1.85%, 0.085 4.63%, 0.4571 14.81%, 0.575 18.52%, 0.6505, 0.7148 24.07%, 0.7849, 0.8393, 0.8809 35.18%, 0.9189, 0.9453 44.44%, 0.9662, 0.9793 55.55%, 0.9894 62.95%, 0.995 71.28%, 0.9982 82.39%, 0.9997 99.98%); 686 --spring-d280-b0-duration: 0.4648s; 687 --spring-d260-b0-easing: linear(0, 0.0058, 0.0216 2.15%, 0.0748 4.29%, 0.4646 15.03%, 0.5673, 0.655, 0.7279, 0.7872, 0.8349, 0.8727 34.36%, 0.9107, 0.9379 42.95%, 0.9609 48.31%, 0.9778 54.76%, 0.9887 62.27%, 0.9948 70.86%, 0.9983 82.67%, 0.9997 99.85%); 688 --spring-d260-b0-duration: 0.4316s; 689 --spring-d220-b0-easing: linear( 690 0, 691 0.0093 1.37%, 692 0.0696 4.12%, 693 0.4667 15.09%, 694 0.6322 20.58%, 695 0.6986 23.32%, 696 0.7793 27.44%, 697 0.8219 30.18%, 698 0.8721, 699 0.9089 38.42%, 700 0.9427, 701 0.9644, 702 0.978 54.88%, 703 0.9881 61.74%, 704 0.9944 69.97%, 705 0.998 80.95%, 706 0.9996 98.78% 707 ); 708 --spring-d220-b0-duration: 0.3818s; 709 --spring-d180-b0-easing: linear(0, 0.0234, 0.0805 4.48%, 0.4865 15.68%, 0.6211 20.16%, 0.7696 26.88%, 0.8064 29.12%, 0.8646, 0.9063, 0.9358, 0.9563 47.04%, 0.9757, 0.9867 60.48%, 0.9941 69.44%, 0.9979 80.64%, 0.9996 98.56%); 710 --spring-d180-b0-duration: 0.2988s; 711 712 /* View transitions */ 713 /* View transition old */ 714 --view-transition-old-main-content: var(--animation-speed) var(--animation-easing) both fadeOut; 715 716 /* View transition new */ 717 --view-transition-new-main-content: var(--animation-speed) var(--animation-easing) both fadeIn, var(--animation-speed) var(--animation-easing) both slideInTopViewTransition; 718 719 /* Focus */ 720 --focus-outline-width: 0.09375rem; 721 --focus-outline-offset: 0.2em; 722 723 /* Badges */ 724 --badge-blob-padding-block: 1px; 725 --badge-blob-padding-inline: 12px 8px; 726 --badge-rectangle-padding-block: 1px; 727 --badge-rectangle-padding-inline: 6px; 728 @media screen and (min-width: 750px) { 729 --badge-blob-padding-block: 4px; 730 --badge-blob-padding-inline: 16px 12px; 731 --badge-rectangle-padding-block: 4px; 732 --badge-rectangle-padding-inline: 10px; 733 } 734 735 /* Icons */ 736 --icon-size-2xs: 0.6rem; 737 --icon-size-xs: 0.85rem; 738 --icon-size-sm: 1.25rem; 739 --icon-size-md: 1.375rem; 740 --icon-size-lg: 1.5rem; 741 --icon-stroke-width: 1.5px; 742 743 /* Input */ 744 --input-email-min-width: 200px; 745 --input-search-max-width: 650px; 746 --input-padding-y: 0.8rem; 747 --input-padding-x: 0.8rem; 748 --input-padding: var(--input-padding-y) var(--input-padding-x); 749 --input-box-shadow-width: var(--style-border-width-inputs); 750 --input-box-shadow: 0 0 0 var(--input-box-shadow-width) var(--color-input-border); 751 --input-box-shadow-focus: 0 0 0 calc(var(--input-box-shadow-width) + 0.5px) var(--color-input-border); 752 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 753 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5)); 754 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
755 --input-textarea-min-height: 55px; 756 757 /* Checkbox */ 758 --checkbox-size: 22px; 759 --checkbox-border-radius: 7px; 760 --checkbox-border: 1px solid rgb(var(--color-foreground-rgb) / var(--opacity-35-55)); 761 --checkbox-label-padding: 8px; 762 763 @media screen and (min-width: 750px) { 764 --checkbox-size: 16px; 765 --checkbox-border-radius: 5px; 766 --checkbox-label-padding: 6px; 767 } 768 769 /* Button size */ 770 --button-size-sm: 30px; 771 --button-size-md: 36px; 772 --button-size: var(--minimum-touch-target); 773 --button-padding-inline: 24px; 774 --button-padding-block: 16px; 775 776 /* Button font-family */ 777 --button-font-family-primary: var(--font-body--family); 778 --button-font-family-secondary: var(--font-body--family); 779 780 /* Button text case */ 781 --button-text-case: ; 782 --button-text-case-primary: default; 783 --button-text-case-secondary: default; 784 785 /* Borders */ 786 --border-color: rgb(var(--color-border-rgb) / var(--opacity-50)); 787 --border-width-sm: 1px; 788 --border-width-md: 2px; 789 --border-width-lg: 5px; 790 --border-radius-sm: 0.25rem; 791 792 /* Drawers */ 793 --drawer-inline-padding: 25px; 794 --drawer-menu-inline-padding: 2.5rem; 795 --drawer-header-block-padding: 20px; 796 --drawer-content-block-padding: 10px; 797 --drawer-header-desktop-top: 0rem; 798 --drawer-padding: calc(var(--padding-sm) + 7px); 799 --drawer-height: 100dvh; 800 --drawer-width: 95vw; 801 --drawer-max-width: 500px; 802 803 /* Variant Picker Swatches */ 804 --variant-picker-swatch-width-unitless: 34; 805 --variant-picker-swatch-height-unitless: 34; 806 --variant-picker-swatch-width: 34px; 807 --variant-picker-swatch-height: 34px; 808 --variant-picker-swatch-radius: 32px; 809 --variant-picker-border-width: 1px; 810 --variant-picker-border-style: solid; 811 --variant-picker-border-opacity: 10%; 812 813 /* Variant Picker Buttons */ 814 --variant-picker-button-radius: 14px; 815 --variant-picker-button-border-width: 1px; 816 --variant-option-label-color: var(--color, var(--color-foreground)); 817 818 /* Slideshow */ 819 --slideshow-controls-size: 3.5rem; 820 --slideshow-controls-icon: 2rem; 821 --peek-next-slide-size: 3rem; 822 823 /* Utilities */ 824 --backdrop-opacity: 0.15; 825 --backdrop-color-rgb: var(--color-shadow-rgb); 826 --minimum-touch-target: 44px; 827 --disabled-opacity: 0.5; 828 --skeleton-opacity: 0.025; 829 830 /* Shapes */ 831 --shape--circle: circle(50% at center); 832 --shape--sunburst: polygon(100% 50%,94.62% 55.87%,98.3% 62.94%,91.57% 67.22%,93.3% 75%,85.7% 77.39%,85.36% 85.36%,77.39% 85.7%,75% 93.3%,67.22% 91.57%,62.94% 98.3%,55.87% 94.62%,50% 100%,44.13% 94.62%,37.06% 98.3%,32.78% 91.57%,25% 93.3%,22.61% 85.7%,14.64% 85.36%,14.3% 77.39%,6.7% 75%,8.43% 67.22%,1.7% 62.94%,5.38% 55.87%,0% 50%,5.38% 44.13%,1.7% 37.06%,8.43% 32.78%,6.7% 25%,14.3% 22.61%,14.64% 14.64%,22.61% 14.3%,25% 6.7%,32.78% 8.43%,37.06% 1.7%,44.13% 5.38%,50% 0%,55.87% 5.38%,62.94% 1.7%,67.22% 8.43%,75% 6.7%,77.39% 14.3%,85.36% 14.64%,85.7% 22.61%,93.3% 25%,91.57% 32.78%,98.3% 37.06%,94.62% 44.13%); 833 --shape--diamond: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); 834 --shape--blob: polygon(85.349% 11.712%, 87.382% 13.587%, 89.228% 15.647%, 90.886% 17.862%, 92.359% 20.204%, 93.657% 22.647%, 94.795% 25.169%, 95.786% 27.752%, 96.645% 30.382%, 97.387% 33.048%, 98.025% 35.740%, 98.564% 38.454%, 99.007% 41.186%, 99.358% 43.931%, 99.622% 46.685%, 99.808% 49.446%, 99.926% 52.210%, 99.986% 54.977%, 99.999% 57.744%, 99.975% 60.511%, 99.923% 63.278%, 99.821% 66.043%, 99.671% 68.806%, 99.453% 71.565%, 99.145% 74.314%, 98.724% 77.049%, 98.164% 79.759%, 97.433% 82.427%, 96.495% 85.030%, 95.311% 87.529%, 93.841% 89.872%, 92.062% 91.988%, 89.972% 93.796%, 87.635% 95.273%, 85.135% 96.456%, 82.532% 97.393%, 79.864% 98.127%, 77.156% 98.695%, 74.424% 99.129%, 71.676% 99.452%, 68.918% 99.685%, 66.156% 99.844%, 63.390% 99.942%, 60.624% 99.990%, 57.856% 99.999%, 55.089% 99.978%, 52.323% 99.929%, 49.557% 99.847%, 46.792% 99.723%, 44.031% 99.549%, 41.273% 99.317%, 38.522% 99.017%, 35.781% 98.639%, 33.054% 98.170%, 30.347% 97.599%, 27.667% 96.911%, 25.024% 96.091%, 22.432% 95.123%, 19.907% 93.994%, 17.466% 92.690%, 15.126% 91.216%, 12.902% 89.569%, 10.808% 87.761%, 8.854% 85.803%, 7.053% 83.703%, 5.418% 81.471%, 3.962% 79.119%, 2.702% 76.656%, 1.656% 74.095%, 0.846% 71.450%, 0.294% 68.740%, 0.024% 65.987%, 0.050% 63.221%, 0.343% 60.471%, 0.858% 57.752%, 1.548% 55.073%, 2.370% 52.431%, 3.283% 49.819%, 4.253% 47.227%, 5.249% 44.646%, 6.244% 42.063%, 7.211% 39.471%, 8.124% 36.858%, 8.958% 34.220%, 9.711% 31.558%, 10.409% 28.880%, 11.083% 26.196%, 11.760% 23.513%, 12.474% 20.839%, 13.259% 18.186%, 14.156% 15.569%, 15.214% 13.012%, 16.485% 10.556%, 18.028% 8.261%, 19.883
834% 6.211%, 22.041% 4.484%, 24.440% 3.110%, 26.998% 2.057%, 29.651% 1.275%, 32.360% 0.714%, 35.101% 0.337%, 37.859% 0.110%, 40.624% 0.009%, 43.391% 0.016%, 46.156% 0.113%, 48.918% 0.289%, 51.674% 0.533%, 54.425% 0.837%, 57.166% 1.215%, 59.898% 1.654%, 62.618% 2.163%, 65.322% 2.750%, 68.006% 3.424%, 70.662% 4.197%, 73.284% 5.081%, 75.860% 6.091%, 78.376% 7.242%, 80.813% 8.551%, 83.148% 10.036%, 85.349% 11.712%); 835 836 /* Buy buttons */ 837 --height-buy-buttons: calc(var(--padding-lg) * 2 + var(--icon-size-sm)); 838 839 /* Card image width and height variables */ 840 --card-width-small: 10rem; 841 842 --height-small: 10rem; 843 --height-medium: 11.5rem; 844 --height-large: 13rem; 845 --height-full: 100vh; 846 847 @media screen and (min-width: 750px) { 848 --height-small: 17.5rem; 849 --height-medium: 21.25rem; 850 --height-large: 25rem; 851 } 852 853 /* Modal */ 854 --modal-max-height: 65dvh; 855 --quick-add-modal-height: min(38.5rem, 96vh); 856 --quick-add-modal-width: min(54rem, 96vw); 857 --quick-add-modal-gallery-width: 24rem; 858 859 /* Card styles for search */ 860 --card-bg-hover: rgb(var(--color-foreground-rgb) / var(--opacity-5)); 861 --card-border-hover: rgb(var(--color-foreground-rgb) / var(--opacity-30)); 862 --card-border-focus: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 863 864 /* Cart */ 865 --cart-primary-font-family: var(--font-body--family); 866 --cart-primary-font-style: var(--font-body--style); 867 --cart-primary-font-weight: var(--font-body--weight); 868 --cart-secondary-font-family: var(--font-secondary--family); 869 --cart-secondary-font-style: var(--font-secondary--style); 870 --cart-secondary-font-weight: var(--font-secondary--weight); 871 } 872</style> 873 874 875 876 877 878 879 <style data-shopify> 880 .color-custom-popover, 881 .color-custom-popover .text-block { 882 /* Background */ 883 --color-background: #ffffff; 884 --color-background-rgb: 255 255 255; 885 886 /* Opacity values adjusted for background brightness */ 887 888--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 8890.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 890 891 892 893 /* Foreground / text â explicit or smart-contrasted */ 894 --color: #000000; 895 --color-rgb: 0 0 0; 896 --color-foreground: #000000; 897 --color-foreground-rgb: 0 0 0; 898 --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text)); 899 --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text)); 900 --color-border: #F5F5F7; 901 --color-border-rgb: 245 245 247; 902 903 } 904 905 906 .color-custom-popover { 907 /* Form-related tokens stay on .color-custom only â .text-block is a prose 908 container (text/announcement/inline-text/blog-post-description/ 909 collection-link/price/sku) and never holds form inputs. */ 910 --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10)); 911 --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5)); 912 --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50)); 913 --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55)); 914 } 915 916 917 .color-custom-popover { 918 color: var(--color, var(--color-foreground)); 919 background-color: var(--color-background); 920 } 921 </style> 922 923 924 925 926 927 928 929 930 <style data-shopify> 931 .color-custom-drawer, 932 .color-custom-drawer .text-block { 933 /* Background */ 934 --color-background: #ffffff; 935 --color-background-rgb: 255 255 255; 936 937 /* Opacity values adjusted for background brightness */ 938 939--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 9400.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 941 942 943 944 /* Foreground / text â explicit or smart-contrasted */ 945 --color: #000000; 946 --color-rgb: 0 0 0; 947 --color-foreground: #000000; 948 --color-foreground-rgb: 0 0 0; 949 --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text)); 950 --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text)); 951 --color-border: #F5F5F7; 952 --color-border-rgb: 245 245 247; 953 954 } 955 956 957 .color-custom-drawer { 958 /* Form-related tokens stay on .color-custom only â .text-block is a prose 959 container (text/announcement/inline-text/blog-post-description/ 960 collection-link/price/sku) and never holds form inputs. */ 961 --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10)); 962 --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5)); 963 --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50)); 964 --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55)); 965 } 966 967 968 .color-custom-drawer { 969 color: var(--color, var(--color-foreground)); 970 background-color: var(--color-background); 971 } 972 </style> 973 974 975 976 977 978 979 980 981 <style data-shopify> 982 .color-custom-badge-sale, 983 .color-custom-badge-sale .text-block {
984 /* Background */ 985 --color-background: #ffffff; 986 --color-background-rgb: 255 255 255; 987 988 /* Opacity values adjusted for background brightness */ 989 990--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 9910.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 992 993 994 995 /* Foreground / text â explicit or smart-contrasted */ 996 --color: #000000; 997 --color-rgb: 0 0 0; 998 --color-foreground: #000000; 999 --color-foreground-rgb: 0 0 0; 1000 --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text)); 1001 --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text)); 1002 --color-border: #000000; 1003 --color-border-rgb: 0 0 0; 1004 1005 } 1006 1007 1008 .color-custom-badge-sale { 1009 /* Form-related tokens stay on .color-custom only â .text-block is a prose 1010 container (text/announcement/inline-text/blog-post-description/ 1011 collection-link/price/sku) and never holds form inputs. */ 1012 --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10)); 1013 --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5)); 1014 --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50)); 1015 --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55)); 1016 } 1017 1018 1019 .color-custom-badge-sale { 1020 color: var(--color, var(--color-foreground)); 1021 background-color: var(--color-background); 1022 } 1023 </style> 1024 1025 1026 1027 1028 1029 1030 1031 1032 <style data-shopify> 1033 .color-custom-badge-sold-out, 1034 .color-custom-badge-sold-out .text-block { 1035 /* Background */ 1036 --color-background: #FF0000; 1037 --color-background-rgb: 255 0 0; 1038 1039 /* Opacity values adjusted for background brightness */ 1040 1041--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 10420.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 1043 1044 1045 1046 /* Foreground / text â explicit or smart-contrasted */ 1047 --color: #000000; 1048 --color-rgb: 0 0 0; 1049 --color-foreground: #000000; 1050 --color-foreground-rgb: 0 0 0; 1051 --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text)); 1052 --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text)); 1053 --color-border: #000000; 1054 --color-border-rgb: 0 0 0; 1055 1056 } 1057 1058 1059 .color-custom-badge-sold-out { 1060 /* Form-related tokens stay on .color-custom only â .text-block is a prose 1061 container (text/announcement/inline-text/blog-post-description/ 1062 collection-link/price/sku) and never holds form inputs. */ 1063 --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10)); 1064 --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5)); 1065 --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50)); 1066 --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55)); 1067 } 1068 1069 1070 .color-custom-badge-sold-out { 1071 color: var(--color, var(--color-foreground)); 1072 background-color: var(--color-background); 1073 } 1074 </style> 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093<style data-shopify> 1094 /* Palette colors */ 1095 :root { 1096 --color-background: #ffffff; 1097 --color-background-rgb: 255 255 255; 1098 --color-foreground: #000000; 1099 --color-foreground-rgb: 0 0 0; 1100 --color-border: #000000; 1101 --color-border-rgb: 0 0 0; 1102 --palette-lightest: #ffffff; 1103 --palette-lightest-rgb: 255 255 255; 1104 --palette-darkest: #000000; 1105 --palette-darkest-rgb: 0 0 0; 1106 1107--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 11080.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 1109 1110 1111 --color-primary-button-text: rgb(255 255 255 / 1.0); 1112 --color-primary-button-background: rgb(0 46 73 / 1.0); 1113 --color-primary-button-border: rgb(0 0 0 / 1.0); 1114 --color-primary-button-focus-outline: rgb(0 46 73); 1115 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1116 --color-primary-button-hover-background: #005e96; 1117 --color-primary-button-hover-border: #262626; 1118 1119 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1120 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1121 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1122 --color-secondary-button-hover-text: rgb(0 0 0 / 1.0); 1123 --color-secondary-button-hover-background: rgba(0, 0, 0, 0.15);
1124 --color-secondary-button-hover-border: #262626; 1125 1126 --color-input-background: rgb(255 255 255 / 1.0); 1127 --color-input-text: rgb(0 46 73 / 1.0); 1128 --color-input-text-rgb: 0 46 73; 1129 --color-input-border: rgb(245 245 247 / 1.0); 1130 1131 --color-variant-background: rgb(255 255 255 / 1.0); 1132 --color-variant-border: rgb(0 0 0 / 1.0); 1133 --color-variant-text: rgb(0 0 0 / 1.0); 1134 --color-variant-text-rgb: 0 0 0; 1135 --color-variant-hover-background: #f2f2f2; 1136 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1137 --color-variant-hover-border: #262626; 1138 1139 --color-selected-variant-background: rgb(0 46 73 / 1.0); 1140 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1141 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1142 --color-selected-variant-hover-background: #005e96; 1143 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1144 --color-selected-variant-hover-border: #262626; 1145 1146 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1147 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1148 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1149 --color-foreground-muted: rgb(var(--color-rgb, var(--color-foreground-rgb)) / var(--opacity-muted-text)); 1150 --color-foreground-subdued: rgb(var(--color-rgb, var(--color-foreground-rgb)) / var(--opacity-subdued-text)); 1151 --color-drawer-shadow-rgb: ; 1152 --color-popover-shadow-rgb: 0 0 0; 1153 1154 /* Shadows */ 1155 1156 1157 --shadow-blur: 20px; 1158 --shadow-popover: 0px 4px 20px rgb(var(--color-popover-shadow-rgb) / var(--opacity-15)); 1159 1160 } 1161 1162 body { 1163 color: var(--color-foreground); 1164 background-color: var(--color-background); 1165 } 1166</style> 1167 1168 1169 1170 1171
1171<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
1171<meta name="google-site-verification" content="jVYtmrYHcsN845Cv--YMzz47rddQMcScryEJnLS6i9g"> 1172<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/86106145034/digital_wallets/dialog"> 1173<meta id="in-context-paypal-metadata" data-shop-id="86106145034" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="NOK"> 1174<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
1174<script async="async" data-src="/checkouts/internal/preloads.js?locale=nb-NO&default_configuration_id=3565355274"></script>
1174 1175<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
1176<script async="async" data-src="https://shop.app/checkouts/internal/preloads.js?locale=nb-NO&default_configuration_id=3565355274&shop_id=86106145034" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1176
1176
1177<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":86106145034,"countryCode":"SE","currencyCode":"NOK","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/86106145034","merchantName":"Diasocks","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","maestro"],"total":{"type":"pending","label":"Diasocks","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 1177
1177
1178<script id="shopify-features" type="application/json">{"accessToken":"6a67821429daf0ba822e8dbf0cfb1859","betas":["rich-media-storefront-analytics"],"domain":"diasocks.no","predictiveSearch":true,"shopId":86106145034,"locale":"nb"}</script>
vendor: 1 bytes, line 1178
1178
1179<script>var Shopify = Shopify || {}; 1180Shopify.shop = "zxrqcp-jb.myshopify.com"; 1181Shopify.locale = "nb"; 1182Shopify.currency = {"active":"NOK","rate":"1.0"}; 1183Shopify.country = "NO"; 1184Shopify.theme = {"name":"New home page","id":193108508938,"schema_name":"Horizon","schema_version":"4.0.0","theme_store_id":2481,"role":"main"}; 1185Shopify.theme.handle = "null"; 1186Shopify.theme.style = {"id":null,"handle":null}; 1187Shopify.cdnHost = "diasocks.no/cdn"; 1188Shopify.routes = Shopify.routes || {}; 1189Shopify.routes.root = "/"; 1190Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 1191Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 1192Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 1193Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 1193
1193
1194<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 1194
1194
1195<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 1195
1195
1196<script> 1197 window.ShopifyPay = window.ShopifyPay || {}; 1198 window.ShopifyPay.apiHost = "shop.app\/pay"; 1199 window.ShopifyPay.redirectState = null; 1200</script>
vendor: 1 bytes, line 1200
1200
1201<script> 1202 window.Shopify = window.Shopify || {}; 1203 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 1204 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 1205 window.Shopify.SignInWithShop.eligible = true; 1206</script>
vendor: 1 bytes, line 1206
1206
1207<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
vendor: 1 bytes, line 1207
1207
1208<script defer="defer" async type="module" data-src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.nb.esm.js"></script>
vendor: 1 bytes, line 1208
1208
1209<script type="module"> 1210 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.nb.esm.js"); 1211 1212 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 1213 1214</script>
vendor: 1 bytes, line 1214
1214
1215<script> 1216 window.Shopify = window.Shopify || {}; 1217 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 1218 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.nb.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.nb.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.nb.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.nb.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.nb.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.nb.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.nb.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.nb.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.nb.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.nb.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.nb.esm.js"],"listener":["modules/v2/loader.listener.nb.esm.js"],"pay-button":["modules/v2/loader.pay-button.nb.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.nb.esm.js"],"shop-button":["modules/v2/loader.shop-button.nb.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.nb.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.nb.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.nb.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.nb.esm.js"],"shop-login":["modules/v2/loader.shop-login.nb.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.nb.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.nb.esm.js"]}; 1219</script>
vendor: 1 bytes, line 1219
1219
1220<script>(function() { 1221 var isLoaded = false; 1222 function asyncLoad() { 1223 if (isLoaded) return; 1224 isLoaded = true; 1225 var urls = ["https:\/\/loox.io\/widget\/GegY2tgwx0\/loox.1731420902181.js?shop=zxrqcp-jb.myshopify.com"]; 1226 for (var i = 0; i < urls.length; i++) { 1227 var s = document.createElement('script'); 1228 s.type = 'text/javascript'; 1229 s.async = true; 1230 s.src = urls[i]; 1231 var x = document.getElementsByTagName('script')[0]; 1232 x.parentNode.insertBefore(s, x); 1233 } 1234 }; 1235 document.addEventListener('StartAsyncLoading',function(event){asyncLoad();});if(window.attachEvent) { 1236 window.attachEvent('onload', function(){}); 1237 } else { 1238 window.addEventListener('load', function(){}, false); 1239 } 1240})();</script>
vendor: 1 bytes, line 1240
1240
1241<script id="__st">var __st={"a":86106145034,"offset":7200,"reqid":"001fa4a9-81c2-4293-9a29-871334797156-1791345707","pageurl":"diasocks.no\/","u":"f27b9ecc71b5","p":"home"};</script>
vendor: 1 bytes, line 1241
1241
1242<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 1242
1242
1243<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Beskyttet av hCaptcha',privacyText:'Personvern',termsText:'Vilkår'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 1243
1243
1244<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" data-src="//diasocks.no/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1244
1244
1245<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//diasocks.no/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
1245<script crossorigin="anonymous" defer="defer" data-src="//diasocks.no/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 1245
1245
1246<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" data-src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 1246
1246
1247<script> 1248 window.Shopify = window.Shopify || {}; 1249 window.Shopify.MCP = window.Shopify.MCP || {}; 1250 window.Shopify.MCP.enabled = true; 1251 window.Shopify.MCP.shop = "zxrqcp-jb.myshopify.com"; 1252 window.Shopify.MCP.mcpEndpoint = "https:\/\/diasocks.no\/api\/mcp"; 1253 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\nSet policy_types to also get the store's written policies (full text and URL).\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question â e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}]; 1254</script>
vendor: 1 bytes, line 1254
1254
1255<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/diasocks.no\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 1256</script>
vendor: 1 bytes, line 1256
1256
1257<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.dataset.src="https://diasocks.no/cdn/shopifycloud/portable-wallets/latest/portable-wallets.nb.js",t.type="module",document.head.appendChild(t)}}; 1258</script>
vendor: 1 bytes, line 1258
1258
1259<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 1260 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 1261</script>
vendor: 1 bytes, line 1261
1261
1262<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); 1263</script>
1263 1264<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://diasocks.no/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 1265<style id="shopify-accelerated-checkout-cart"> 1266 #shopify-buyer-consent { 1267 margin-top: 1em; 1268 display: inline-block; 1269 width: 100%; 1270} 1271 1272#shopify-buyer-consent.hidden { 1273 display: none; 1274} 1275 1276#shopify-subscription-policy-button { 1277 background: none; 1278 border: none; 1279 padding: 0; 1280 text-decoration: underline; 1281 font-size: inherit; 1282 cursor: pointer; 1283} 1284 1285#shopify-subscription-policy-button::before { 1286 box-shadow: none; 1287} 1288 1289 </style> 1290<link rel="compression-dictionary" href="//diasocks.no/cdn/shop/t/25/compiled_assets/styles.css?v=172792709770803192731786808867" crossorigin="anonymous"> 1291<link rel="stylesheet" media="screen" href="//diasocks.no/cdn/shop/t/25/compiled_assets/styles.css?v=172792709770803192731786808867&subset=ADwAAAAIAAAAAwAAADEIAAAFeAEADgAAAhFAuCaAAg" crossorigin="anonymous">
1292<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
1292 1293 <!-- BEGIN app block: shopify://apps/pandectes-gdpr/blocks/banner/58c0baa2-6cc1-480c-9ea6-38d6d559556a --> 1294 1295 1296 1297
1297<script> 1298 if (!window.pandectesRulesSettings) { 1299 window.pandectesRulesSettings = {"version":"5","timestamp":1779433386973,"store":{"id":86106145034,"plan":"premium","primaryLocale":"nb","headless":false,"useGeolocation":false,"checkoutRootDomain":"","storefrontRootDomain":"","storefrontAccessToken":""},"banner":{"enabled":true},"regions":{"strict":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IS","IE","IT","LV","LI","LT","LU","MT","NL","NO","PL","PT","RO","SK","SI","ES","SE","GB","CH","BR","CAAB","CABC","CAMB","CANB","CANL","CANS","CANT","CANU","CAON","CAPE","CAQC","CASK","CAYT","JP","TH","ZA","AU","NZ","CN","IN","CL","TR","AE"],"visible":"*"},"storage":{"type":"http","domain":"","duration":365,"lastReset":1779374553},"gpc":{"enabled":true},"klaviyo":{"enabled":false},"customEvent":{"enabled":false},"rakuten":{"enabled":false,"cmp":false,"ccpa":false},"facebook":{"enabled":false,"id":""},"amazon":{"enabled":false},"microsoft":{"uet":{"enabled":false,"tags":""},"clarity":{"enabled":false,"id":""}},"google":{"enabled":true,"gtmId":"","ga4Id":"","adsId":"","gtmOnly":false,"adStorageCategory":4,"analyticsStorageCategory":2,"functionalityStorageCategory":1,"personalizationStorageCategory":1,"securityStorageCategory":0,"redactData":false,"urlPassthrough":false,"dataLayerName":"dataLayer","waitForUpdate":500,"sendPageView":true,"debugMode":false,"basicMode":false},"blocker":{"enabled":false,"scripts":{"0":[],"1":[],"2":[],"4":[],"8":[]},"css":{"0":[],"1":[],"2":[],"4":[],"8":[]},"iframes":{"0":[],"1":[],"2":[],"4":[],"8":[]},"pixels":{"0":[],"1":[],"2":[],"4":[],"8":[]}}}; 1300 const rulesScript = document.createElement('script'); 1301 1302 rulesScript.src = "https://cdn.shopify.com/extensions/01a111ae-a458-7900-a966-339050e4ea6b/gdpr-cookie-consent-415/assets/pandectes-rules-latest.js"; 1303 1304 const firstChild = document.head.firstChild; 1305 document.head.insertBefore(rulesScript, firstChild); 1306 } 1307 </script>
1307 1308 1309 1310
1310<script defer src='https://cdn.shopify.com/extensions/01a111ae-a458-7900-a966-339050e4ea6b/gdpr-cookie-consent-415/assets/pandectes-core-latest.js'></script>
1310 1311 1312
1312<script> 1313 (() => { 1314 const isLivePreview = locateLivePreviewParam(); 1315 let previewUrl = 'https://app.pandect.es/js/pandectes-live-site-preview.js'; 1316 1317 1318 function locateLivePreviewParam(paramName = 'pandectesLivePreview') { 1319 const fromUrl = new URLSearchParams(window.location.search).get(paramName); 1320 if (fromUrl) { 1321 try { 1322 sessionStorage.setItem(paramName, fromUrl); 1323 } catch { 1324 // storage disabled 1325 } 1326 return fromUrl; 1327 } 1328 return sessionStorage.getItem(paramName); 1329 } 1330 1331 /** Injects the preview helper script when live preview is active (URL or sessionStorage). */ 1332 function appendLivePreviewScriptIfNeeded(previewModeScriptUrl) { 1333 if (!isLivePreview) return; 1334 if (document.head.querySelector('script[data-pandectes-live-preview]')) return; 1335 const script = document.createElement('script'); 1336 script.src = previewModeScriptUrl; 1337 script.async = true; 1338 script.setAttribute('data-pandectes-live-preview', ''); 1339 document.head.appendChild(script); 1340 } 1341 1342 window.pandectesBannerSettings = {"version":"5","timestamp":1779433386,"store":{"id":86106145034,"plan":"premium","primaryLocale":"nb","headless":false,"useGeolocation":false,"checkoutRootDomain":"","storefrontRootDomain":"","storefrontAccessToken":""},"impressions":{"enabled":true,"timezone":"Europe/Stockholm"},"visibility":{"delay":0,"enabled":true,"startHidden":[],"botsFriendly":false,"disableDesignMode":false,"adminMode":false},"regions":{"strict":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IS","IE","IT","LV","LI","LT","LU","MT","NL","NO","PL","PT","RO","SK","SI","ES","SE","GB","CH","BR","CAAB","CABC","CAMB","CANB","CANL","CANS","CANT","CANU","CAON","CAPE","CAQC","CASK","CAYT","JP","TH","ZA","AU","NZ","CN","IN","CL","TR","AE"],"visible":"*"},"consent":{"redirectOnDeny":false,"reloadOnConsent":false,"broadcastChannel":false,"redirectOnDenyUrl":"https://www.pandectes.io","shopify":true},"theme":{"logos":{"custom":false,"customWidget":false,"banner":"//zxrqcp-jb.myshopify.com/cdn/shop/files/pandectes-banner-logo.png?v=1779433386","widget":"//zxrqcp-jb.myshopify.com/cdn/shop/files/pandectes-reopen-logo.png?v=1779433386"},"mode":"light","border":0,"variables":":host { --float: 16px; --font-size: 14px; --duration: 250ms; --padding: 20px; --radius-dialog:8px; --radius-button:8px; --border-button: 2px; --font-family: inherit; --font-weight-button: 400; --color-base-100: oklch(100% 0 0);--color-base-200: oklch(97% 0 0);--color-base-300: oklch(94% 0 0);--color-base-content: oklch(7.6% 0 0);--color-primary: oklch(7.6% 0 0);--color-primary-content: oklch(100% 0 0);--color-secondary: oklch(7.6% 0 0);--color-secondary-content: oklch(100% 0 0);--color-accent: oklch(7.6% 0 0);--color-accent-content: oklch(100% 0 0);--color-neutral: oklch(7.6% 0 0);--color-neutral-content: oklch(100% 0 0);; }","shadows":true,"isModal":false,"scrollLock":false,"useAnimations":true,"buttons":{"size":"md","border":2,"radius":8,"variants":{"primary":"filled","secondary":"outlined"}},"zIndex":2147483647,"showPoweredBy":true},"close":{"triggers":["button"],"action":"dismiss","pixels":200,"timeout":10000},"language":{"multilingual":false,"detection":"browser","fallback":"nb","supported":["nb"],"allowChange":false},"widget":{"enabled":false,"position":"bottom left","action":"reopen","customTrigger":false},"dialogs":{"notice":{"style":{"type":"box","layout":"vertical-grouped","position":"middle center","animation":"animation-zoom","size":300},"buttons":{"primary":["allow","deny"],"secondary":[]},"features":{"hideHeader":false,"alignCenter":false,"flipButtons":false,"expandableIntro":false,"inlineLinks":false}},"preferences":false,"status":false},"links":{"links":[{"id":"policy","url":"/policies/privacy-policy"},{"id":"google","url":"https://business.safety.google/privacy/"}],"target":"_self","respectLocale":false},"storage":{"type":"http","domain":"","duration":365,"lastReset":1779374553},"texts":{"nb":{"buttons":{"showLess":"Show less","showMore":"Show more"},"links":{"policy":"Personvernpolicy","google":"Googles personvernerklæring","imprint":"Imprint"},"categories":[{"title":"Strictly necessary cookies","description":"The
1342se cookies are essential in order to enable you to move around the website and use its features, such as accessing secure areas of the website. The website cannot function properly without these cookies."},{"title":"Functional cookies","description":"These cookies enable the site to provide enhanced functionality and personalisation. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly."},{"title":"Performance cookies","description":"These cookies enable us to monitor and improve the performance of our website. For example, they allow us to count visits, identify traffic sources and see which parts of the site are most popular."},{"title":"Targeting cookies","description":"These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites. They do not store directly personal information, but are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising."}],"notice":{"title":"Vi respekterer ditt personvern","message":"Vi bruker cookies til analyse og personlig tilpasset annonsering. Klikk «Godta alle» for å samtykke.","dismiss":"Ok","allow":"Godta alle","deny":"Avvis alle","preferences":"Tilpass innstillinger"},"preferences":{"title":"Manage consent preferences","message":"We use cookies to optimize website functionality, analyze the performance, and provide personalized experience to you. Some cookies are essential to make the website operate and function correctly. Those cookies cannot be disabled. In this window you can manage your preference of cookies.","cookieDetails":"Cookies details","alwaysActive":"Always allowed","deny":"Deny all","allow":"Accept all","custom":"Save preferences","dismiss":"Close"},"status":{"title":"Cookie settings","message":"Your current state","allow":"Accept all","deny":"Deny all","dismiss":"Close","reopen":"Change your consent","consentDate":"C
1342onsent date","consentId":"Your consent ID","hideDetails":"Hide details","showDetails":"Show details","noConsent":"No consent"},"declaration":{"name":"Name","type":"Type","vendor":"Provider","purpose":"Purpose","retention":"Retention","expirations":{"declSeconds":"seconds","declMinutes":"minutes","declHours":"hours","declDays":"days","declWeeks":"week(s)","declMonths":"months","declYears":"years","declSession":"Session"}},"cookies":{"ads/ga-audiences":"Stores information for remarketing purposes.","bugsnag-anonymous-id":"Stores an anonymous ID for error tracking and analytics.","cart":"Contains information related to the user's cart.","cartToken":"Stores a token related to the shopping cart for session management.","cart_currency":"Used after a checkout is completed to initialize a new empty cart with the same currency as the one just used.","cart_link_id":"Stores a unique identifier for the shopping cart link.","discount_code":"Stores a discount code (received from an online store visit with a URL parameter) in order to the next checkout.","identity-state":"Stores state before redirecting customers to identity authentication.\t","kaching_local_storage_test":"A storage item used for testing local storage persistence.","keep_alive":"Used when international domain redirection is enabled to determine if a request is the first one of a session.","lastExternalReferrer":"Detects how the user reached the website by registering their last URL-address.","lastExternalReferrerTime":"Contains the timestamp of the last update of the lastExternalReferrer cookie.","lastSeenErrorReceiptId":"Stores the ID of the most recent error receipt.","localization":"Used to localize the cart to the correct country.","login_with_
1342shop_finalize":"Used to facilitate login with Shop.","master_device_id":"Permanent device identifier.","NID":"Used to collect website statistics and track conversion rates.","order":"Used to allow access to the data of the order details page of the buyer.","shopify_override_user_locale":"Used as a mechanism to set User locale in admin.","shopify_pay":"Used to log in a buyer into Shop Pay when they come back to checkout on the same store.","shopify_pay_redirect":"Used to accelerate the checkout process when the buyer has a Shop Pay account.","shop_analytics":"Contains the required buyer information for analytics in Shop.","shop_pay_accelerated":"Indicates if a buyer is eligible for Shop Pay accelerated checkout.","storefront_digest":"Stores a digest of the storefront password, allowing merchants to preview their storefront while it's password protected.","trackedCompleteOrderSourceId":"Stores information related to the source of a completed order for tracking purposes.","trackedSourceId":"Stores a unique identifier for tracking the source of the visitor.","user":"Used in connection with Shop login.","user_cross_site":"Used in connection with Shop login.","_ab":"Used to control when the admin bar is shown on the storefront.","_abv":"Persist the collapsed state of the admin bar.","_fbp":"Cookie is placed by Facebook to track visits across websites.","_ga":"Cookie is set by Google Analytics with unknown functionality","_identity_session":"Contains the identity session identifier of the user.","_kla_test":"Used for testing purposes to monitor the functionality of the Klaviyo tracking script.","_landing_page":"Capture the landing page of visitor when they come from other sites.","_master_udr":"Permanent device identifier.","_merchant_analytics":"Contains analytics data for the merchant session.","_merchant_essential":"Contains essential information for the correct functionality of merchant surfaces such as the admin area.","_orig_referrer":"Allows merchant to identify where people are visiting them from.","_shopify_analytics":"Contains analytics data for buyer surfaces such as the storefront or checkout.","_shopify_country":"Used for Plus shops where pricing currency/country is set from GeoIP by helping avoid GeoIP lookups after the first request.","_shopify_essential":"Contains essential information for the correct functionality of a store such as session and checkout information and anti-tampering data.","_shopify_essential_\t":"Contains an opaque token that is used to identify a device for all essential purposes.","_shopify_marketing":"Contains marketing data for buyer surfaces such as the storefront or checkout.","_shopify_s":"Used to identify a given browser session/shop combination. Duration is 30 minute rolling expiry of last use.","_shopify_test":"A test cookie used by Shopify to verify the store's setup.","_shopify_y":"Shopify analytics.","_shop_app_essential":"Contains essential information for the correct functionality of Shop.app.","_shs_state":"Stores session-specific state information related to the user's interaction with the website.","_tracking_consent":"Used to store a user's preferences if a merchant has set up privacy rules in the visitor's region.","__kla_id":"Tracks when someone clicks through a Klaviyo email to your website","__kla_viewed":"Stores information about user views for the Klaviyo service.","__kl_key":"Stores a key used for targeting and personalization purposes.","__quiltRouterScroll":"Stores information related to the user's navigation within the website, essential for website functionality.","__storage_test":"A test storage item used to verify storage capabilities.","__ui":"Stores UI state information for the website.","auth_state_*":"Stores state for customer authentication.","_gcl_*":"Stores information related to Google advertising services.","_ga_*":"Cookie is set by Google Analytics with unknown functionality","ri-*":"Stores information related to the performance of the website, including session data.","__storage_test__*":"Used to test whether storage is available in the browser.","checkout_modal_preflight_*":"Stores information related to the checkout modal preflight process for session management."}}},"categories":[{"bitwise":0},{"bitwise":1},{"bitwise":2},{"bitwise":4}],"cookies":[{"name":"ads/ga-audiences","domain":"https://www.google.ie","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"localization","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_y","domain":".diasocks.no","type":"http","vendor":"Shopify","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"cart_currency","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"_shopify_s","domain":".diasocks.no","type":"http","vendor":"Shopify","category":2,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"_ab","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shop_app_essential","domain":".shop.app","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_analytics","domain":"diasocks.no","type":"http","vendor":"Shopify","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"master_device_id","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_essential","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_marketing","domain":"diasocks.no","type":"http","vendor":"Shopify","category":3,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"storefront_digest","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_tracking_consent","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"keep_alive","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declSeconds","expires":1},{"name":"_shopify_country","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"cart","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"shopify_pay_redirect","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_orig_referrer","domain":"diasocks.no","type":"http","vendor":"Shopify","category":2,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"_landing_page","domain":"diasocks.no","type":"http","vendor":"Shopify","category":2,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"shopify_pay","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"discount_code","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declDays","expires":1},{"name":"shop_pay_accelerated","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"order","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"3 week(s)","unit":"declWeeks","expires":3}
1342,{"name":"login_with_shop_finalize","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"5 minute(s)","unit":"declMinutes","expires":5},{"name":"shop_analytics","domain":"diasocks.no","type":"http","vendor":"Shopify","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_abv","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_identity_session","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"2 year(s)","unit":"declYears","expires":2},{"name":"_master_udr","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declSeconds","expires":1},{"name":"auth_state_*","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"25 minute(s)","unit":"declMinutes","expires":25},{"name":"user","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"user_cross_site","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"identity-state","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 day(s)","unit":"declDays","expires":1},{"name":"_merchant_essential","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_essential_\t","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_merchant_analytics","domain":"diasocks.no","type":"http","vendor":"Shopify","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"shopify_override_user_locale","domain":"diasocks.no","type":"http","vendor":"Shopify","category":1,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"storefront_digest","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"master_device_id","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"__kla_id","domain":"diasocks.no","type":"http","vendor":"Klaviyo","category":3,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_essential","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_ab","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"keep_alive","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declSeconds","expires":1},{"name":"_shopify_country","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"cart","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"shopify_pay_redirect","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_tracking_consent","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_orig_referrer","domain":"shopify.com","type":"http","vendor":"Shopify","category":2,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"_landing_page","domain":"shopify.com","type":"http","vendor":"Shopify","category":2,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"shopify_pay","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"discount_code","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declDays","expires":1},{"name":"shop_pay_accelerated","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"order","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"3 week(s)","unit":"declWeeks","expires":3}
1342,{"name":"login_with_shop_finalize","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"5 minute(s)","unit":"declMinutes","expires":5},{"name":"shop_analytics","domain":"shopify.com","type":"http","vendor":"Shopify","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_abv","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_identity_session","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"2 year(s)","unit":"declYears","expires":2},{"name":"_master_udr","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declSeconds","expires":1},{"name":"user","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_merchant_essential","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_essential_\t","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_merchant_analytics","domain":"shopify.com","type":"http","vendor":"Shopify","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"shopify_override_user_locale","domain":"shopify.com","type":"http","vendor":"Shopify","category":1,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"identity-state","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 day(s)","unit":"declDays","expires":1},{"name":"_gcl_*","domain":".diasocks.no","type":"http","vendor":"Google","category":2,"retention":"3 month(s)","unit":"declMonths","expires":3},{"name":"user_cross_site","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"auth_state_*","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"25 minute(s)","unit":"declMinutes","expires":25},{"name":"_ga_*","domain":".diasocks.no","type":"http","vendor":"Google","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_ga","domain":".diasocks.no","type":"http","vendor":"Google","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"shopify_client_id","domain":"diasocks.no","type":"http","vendor":"Unknown","category":4,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_test","domain":"no","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declYears","expires":1},{"name":"_shopify_test","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declYears","expires":1},{"name":"NID","domain":".google.com","type":"http","vendor":"Google","category":3,"retention":"6 month(s)","unit":"declMonths","expires":6},{"name":"restockrocket_production_preorder_variant_ids","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"restockrocket_production_variant_shipping_texts","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"restockrocket_production_variant_preorder_limits","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"_fbp","domain":".diasocks.no","type":"http","vendor":"Facebook","category":3,"retention":"3 month(s)","unit":"declMonths","expires":3},{"name":"consentHeader","domain":"https://diasocks.no","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"__kl_key","domain":"https://diasocks.no","type":"html_local","vendor":"Klaviyo","category":3,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"klaviyoOnsite","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1}
1342,{"name":"lastExternalReferrerTime","domain":"https://diasocks.no","type":"html_local","vendor":"Facebook","category":3,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"$referrer","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"_replo_sid","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"$last_referrer","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"lastExternalReferrer","domain":"https://diasocks.no","type":"html_local","vendor":"Facebook","category":3,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"_gcl_*","domain":"https://diasocks.no","type":"html_local","vendor":"Google","category":2,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"ri-*","domain":"https://diasocks.no","type":"html_session","vendor":"Shopify","category":2,"retention":"Session","unit":"declYears","expires":1},{"name":"klaviyoPagesVisitCountV2","domain":"https://diasocks.no","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"_shs_state","domain":"https://diasocks.no","type":"html_session","vendor":"Shopify","category":2,"retention":"Session","unit":"declYears","expires":1},{"name":"wpm-ri-d034726c-f033-4411-b5f5-e2e3ac0a645d-1779374570-z","domain":"https://diasocks.no","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"kaching_local_storage_test","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"__storage_test__*","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":0,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"_kla_test","domain":"https://diasocks.no","type":"html_local","vendor":"Klaviyo","category":2,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"trackedCompleteOrderSourceId","domain":"https://diasocks.no","type":"html_local","vendor":"Shopify","category":3,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"_kla_session_test","domain":"https://diasocks.no","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"lastSeenErrorReceiptId","domain":"https://diasocks.no","type":"html_local","vendor":"Shopify","category":0,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"trackedSourceId","domain":"https://diasocks.no","type":"html_local","vendor":"Shopify","category":3,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"__ui","domain":"https://diasocks.no","type":"html_local","vendor":"Shopify","category":0,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"cart_link_id","domain":"https://diasocks.no","type":"html_local","vendor":"Shopify","category":0,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"v1-1051308-Checkout::PostPurchase-hWNCQEaemcVx36nqvr8uqsAV","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"cartToken","domain":"https://diasocks.no","type":"html_local","vendor":"Shopify","category":0,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"__quiltRouterScroll","domain":"https://diasocks.no","type":"html_session","vendor":"Shopify","category":0,"retention":"Session","unit":"declYears","expires":1},{"name":"__storage_test","domain":"https://diasocks.no","type":"html_local","vendor":"Shopify","category":0,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"bugsnag-anonymous-id","domain":"https://shop.app","type":"html_local","vendor":"Unknown","category":2,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"apollo-cache-persist","domain":"https://shop.app","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"checkout_modal_preflight_*","domain":"https://shop.app","type":"html_session","vendor":"Shop.app","category":0,"retention":"Session","unit":"declYears","expires":1},{"name":"kaching_session_id","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"wpm-ri-e040d896-f335-4f64-8b23-54b5cf906ff3-1779374581-z","domain":"https://diasocks.no","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"wpm-ri-e040d896-f335-4f64-8b23-54b5cf906ff3-1779374581-x","domain":"https://diasocks.no","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"__kla_viewed_reviewed_items","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"__kla_viewed","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":0,"retention":"Local Storage","unit":"declYears","expires":1}]}; 1343 if (isLivePreview) { 1344 if (!window.pandectesBannerSettings.store) { 1345 window.pandectesBannerSettings.store = {}; 1346 } 1347 window.pandectesBannerSettings.store.plan = 'enterprise'; 1348 } 1349 1350 function whenBodyReady(callback) { 1351 window.addEventListener('DOMContentLoaded', callback); 1352 } 1353 1354 1355 whenBodyReady(function(){ 1356 const element = document.createElement('pandectes-cmp'); 1357 element.appData = window.pandectesBannerSettings; 1358 document.body.appendChild(element); 1359 appendLivePreviewScriptIfNeeded(previewUrl); 1360 }); 1361 1362 })() 1363 </script>
1363 1364 1365 1366 1367 1368 <!-- A11y --> 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379<!-- END app block --><!-- BEGIN app block: shopify://apps/kaching-bundles/blocks/app-embed-block/6c637362-a106-4a32-94ac-94dcfd68cdb8 --> 1380<!-- Kaching Bundles App Embed --> 1381 1382<!-- BEGIN app snippet: app-embed-content --> 1383 1384 1385 1386 1387 1388 1389 1390
1391<script> 1392 // Prevent duplicate initialization if both app embeds are enabled 1393 if (window.kachingBundlesAppEmbedLoaded) { 1394 console.warn('[Kaching Bundles] Multiple app embed blocks detected. Please disable one of them. Skipping duplicate initialization.'); 1395 } else { 1396 window.kachingBundlesAppEmbedLoaded = true; 1397 window.kachingBundlesEnabled = true; 1398 window.kachingBundlesInitialized = false; 1399 1400 // Allow calling kachingBundlesInitialize before the script is loaded 1401 (() => { 1402 let shouldInitialize = false; 1403 let realInitialize = null; 1404 1405 window.kachingBundlesInitialize = () => { 1406 if (realInitialize) { 1407 realInitialize(); 1408 } else { 1409 shouldInitialize = true; 1410 } 1411 }; 1412 1413 Object.defineProperty(window, '__kachingBundlesInitializeInternal', { 1414 set(fn) { 1415 realInitialize = fn; 1416 if (shouldInitialize) { 1417 shouldInitialize = false; 1418 fn(); 1419 } 1420 }, 1421 get() { 1422 return realInitialize; 1423 } 1424 }); 1425 })(); 1426 } 1427</script>
1427 1428 1429 1430
1431<script id="kaching-bundles-config" type="application/json"> 1432 { 1433 "shopifyDomain": "zxrqcp-jb.myshopify.com", 1434 "moneyFormat": "{{amount_with_comma_separator}} kr", 1435 "locale": "nb", 1436 "liquidLocale": "nb", 1437 "country": "NO", 1438 "currencyRate": 1, 1439 "marketCurrencyCode": "NOK", 1440 "marketId": 80106815754, 1441 "productId": null, 1442 "storefrontAccessToken": "238e1489dc249a7c7f82d60fb47afd87", 1443 "includeSellingPlans": true, 1444 "includeAvailableQuantity": true, 1445 "customApiHost": null, 1446 "keepQuantityInput": false, 1447 "ignoreDeselect": false, 1448 "ignoreUnitPrice": false, 1449 "requireCustomerLogin": false, 1450 "abTestsRunning": true, 1451 "webPixel": true, 1452 "b2bCustomer": false, 1453 "isLoggedIn": false, 1454 "isDeprecatedAppEmbed": false, 1455 "preview": false, 1456 "defaultTranslations": { 1457 "system.out_of_stock": "There\u0026#39;s not enough items in our stock, please select smaller bundle.", 1458 "system.invalid_variant": "Sorry, this is not currently available.", 1459 "system.unavailable_option_value": "Unavailable", 1460 "system.confirm": "Confirm", 1461 "system.cancel": "Cancel", 1462 "system.free": "FREE", 1463 "system.search": "Search", 1464 "system.sort_by": "Sort by", 1465 "system.sort_relevance": "Relevance", 1466 "system.sort_newest_first": "Newest first", 1467 "system.sort_price_low_to_high": "Price: Low â High", 1468 "system.sort_price_high_to_low": "Price: High â Low", 1469 "system.no_results_found": "No results found", 1470 "system.no_results_description": "We canât find any item matching your search.", 1471 "system.clear_search": "Clear search", 1472 "system.no_products_available": "No products available", 1473 "system.letters_only": "Only letters are allowed.", 1474 "system.numbers_only": "Only numbers are allowed.", 1475 "system.select_variant_alert": "Please select a variant.", 1476 "system.select_variant_placeholder": "Select", 1477 "system.personalisation_required_alert": "Please add personalisation for every item to continue.", 1478 "system.quantity": "Quantity", 1479 "system.subscription_plan": "Subscription plan", 1480 "system.remove": "Remove", 1481 "system.original_price": "Original price:", 1482 "system.price": "Price:" 1483 }, 1484 "customSelectors": { 1485 "quantity": null, 1486 "addToCartButton": null, 1487 "variantPicker": null, 1488 "price": null, 1489 "priceCompare": null, 1490 "label": null 1491 }, 1492 "shopCustomStyles": "", 1493 "brandColors": {"error":"#D72C2C","border":"#002E494D","overlay":"#000000","badgeText":"#FFFFFF","primaryText":"#000000","primaryAccent":"#002E49","secondaryText":"#555555","badgeBackgroun
1493d":"#002E49","primaryAccentText":"#FFFFFF","primaryBackground":"#FFFFFF","secondaryBackground":"#E0E6E9"}, 1494 "featureFlags": {"cart_change_response_rewrite":false,"cart_interceptor_dedupe_disabled":false,"cart_interceptor_json_encoding":false,"debug_cart_add":false,"disable_nested_cart_lines":false,"early_fetch_override":false,"hide_missing_variants":true,"initialize_with_form_variant":false,"intercept_cart_request":false,"legacy_saved_percentage":false,"native_swatches_disabled":false,"observe_external_selling_plan":false,"observe_form_selling_plan":false,"percentage_cents_rounding_workaround":false,"pos_extension":false,"preserve_variant_selections":false,"price_rounding_v2":false,"propagate_line_properties":false,"propagate_picker_option_changes":false,"reinitialize_morphed_placeholders":false,"remove_variant_change_delay":false,"split_bxgy_items":false,"storefront_metaobjects":false,"variant_images":false} 1495 1496 } 1497</script>
1497 1498 1499<!-- BEGIN app snippet: translations --> 1500 1501 1502 1503
1503<script id="kaching-bundles-translations" type="application/json"> 1504 [{"locale":"nb","translations":{"system":{"system.out_of_stock":"Vi har ikke nok varer pÃ¥ lager, vennligst velg en mindre pakke.","system.invalid_variant":"Beklager, dette er ikke tilgjengelig for øyeblikket.","system.unavailable_option_value":"Utsolgt","system.confirm":"Bekrefte","system.cancel":"Kansellere","system.free":"GRATIS","system.search":"Søk","system.sort_by":"Sorter etter","system.sort_relevance":"Relevans","system.sort_newest_first":"Nyeste først","system.sort_price_low_to_high":"Pris: Lav â Høy","system.sort_price_high_to_low":"Pris: Høy â Lav","system.no_results_found":"Ingen resultater funnet","system.no_results_description":"Vi finner ingen elementer som samsvarer med søket ditt.","system.clear_search":"Tøm søk","system.no_products_available":"Ingen produkter tilgjengelig"},"dealBlocks":{}}}] 1505 </script>
1505 1506 1507 1508<!-- END app snippet --> 1509 1510 1511 1512 1513 1514 1515 1516 <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a11199-b90c-7965-a1a1-65646418fb0a/kaching-bundles-2036/assets/kaching-bundles.js" crossorigin="anonymous" fetchpriority="high"> 1517 1518
1518<script type="module" src="https://cdn.shopify.com/extensions/01a11199-b90c-7965-a1a1-65646418fb0a/kaching-bundles-2036/assets/loader.js" crossorigin="anonymous" fetchpriority="high"></script>
1518 1519 <link rel="stylesheet" href="https://cdn.shopify.com/extensions/01a11199-b90c-7965-a1a1-65646418fb0a/kaching-bundles-2036/assets/kaching-bundles.css" media="print" onload="this.media='all'" fetchpriority="high"> 1520 1521 <style> 1522 .kaching-bundles__block { 1523 display: none; 1524 } 1525 1526 .kaching-bundles-sticky-atc { 1527 display: none; 1528 } 1529 </style> 1530 1531 1532 1533<!-- END app snippet --> 1534 1535<!-- Kaching Bundles App Embed End --> 1536 1537 1538<!-- END app block --><!-- BEGIN app block: shopify://apps/kaching-cart/blocks/embed/7705621e-3c0f-4e97-9d29-5c8528b19fb7 --><!-- BEGIN app snippet: drawer --> 1539 1540 1541
1541<script> 1542 window.__getFileUrl = (filename) => { 1543 const completeUrl = "https://cdn.shopify.com/extensions/01a1134b-fce7-79cd-8a2f-333188a0585c/kaching-cart-1449/assets/kaching-cart.js"; 1544 const cdnUrl = completeUrl.replace(/\/[^\/]*$/, ''); 1545 1546 return cdnUrl + "/" + filename; 1547 } 1548 </script>
1548 1549 1550
1550<script type="application/json" data-cart-inventory> 1551 [] 1552 </script>
1552 1553 1554
1554<script> 1555 //! THIS IFRAME SHOULD NOT BE DELETED, IT IS USED TO GET THE ORIGINAL FETCH FUNCTION AND SHOULD BE KEPT IN THE DOM FOR THE ENTIRE LIFE OF THE PAGE, OTHERWISE IT SEEMS TO CAUSE A WEIRD BUG IN SAFARI 1556 const iframe = document.createElement("iframe"); 1557 iframe.style.display = "none"; 1558 iframe.src = "about:blank"; 1559 iframe.id = "kaching-cart-iframe-for-clean-apis"; 1560 document.documentElement.appendChild(iframe); 1561 if (iframe.contentWindow?.fetch && typeof iframe.contentWindow?.fetch === "function") { 1562 window.__kachingCartOriginalFetch = iframe.contentWindow?.fetch.bind(window); 1563 } 1564 // Pristine Response constructor â some themes/apps clobber window.Response with a non-constructable value, so we grab the iframe realm's untouched one. Not bound: a constructor must stay new-able. 1565 if (typeof iframe.contentWindow?.Response === "function") { 1566 window.__kachingCartOriginalResponse = iframe.contentWindow.Response; 1567 } 1568 </script>
1568 1569 1570 1571
1571<script> 1572 (function() { 1573 let realFastClick = null; 1574 1575 Object.defineProperty(window, 'FastClick', { 1576 get: () => realFastClick, 1577 set: (value) => { 1578 realFastClick = value; 1579 1580 // Override attach method 1581 const originalAttach = value.attach; 1582 value.attach = function(layer, options) { 1583 return { destroy: () => {} }; 1584 }; 1585 }, 1586 configurable: true 1587 }); 1588 })(); 1589 </script>
1589 1590 <template id="kaching-cart-additional-checkout-buttons-source"> 1591 <div class="dynamic-checkout__content" id="dynamic-checkout-cart" data-shopify="dynamic-checkout-cart"> <shopify-accelerated-checkout-cart wallet-configs="[{"supports_subs":true,"supports_def_opts":false,"name":"shop_pay","wallet_params":{"shopId":86106145034,"merchantName":"Diasocks","personalized":true}},{"supports_subs":true,"supports_def_opts":false,"name":"paypal","wallet_params":{"shopId":86106145034,"countryCode":"SE","merchantName":"Diasocks","phoneRequired":true,"companyRequired":false,"shippingType":"shipping","shopifyPaymentsEnabled":true,"hasManagedSellingPlanState":false,"requiresBillingAgreement":true,"gatewayType":"CONNECTED","merchantId":"4VBHHRW8LZGPA","sdkUrl":"https://www.paypal.com/sdk/js?components=buttons\u0026commit=false\u0026currency=NOK\u0026locale=no_NO\u0026client-id=AexZEtAxk09Ncgj6FSWFFyGKbxxAZ_LTyJ2DPdJWl1YUlecinmc5AfIaRF2qYjWlusWahlzz6SVkY5Ci\u0026merchant-id=4VBHHRW8LZGPA\u0026intent=authorize","serviceableCountryCodes":["NO"]}}]" access-token="6a67821429daf0ba822e8dbf0cfb1859" buyer-country="NO" buyer-locale="nb" buyer-currency="NOK" shop-id="86106145034" cart-id="c8f188d3ec733db22915f60f464f9c54" enabled-flags="["1172c16a","a1d1f9a1","f5afabb3","370070f3"]" > <div class="wallet-button-wrapper"> <ul class='wallet-cart-grid wallet-cart-grid--skeleton' role="list" data-shopify-buttoncontainer="true"> <li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'> </div></li><li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'> </div></li> </ul> </div> </shopify-accelerated-checkout-cart> </div> 1592 </template> 1593 1594 1595<link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a1134b-fce7-79cd-8a2f-333188a0585c/kaching-cart-1449/assets/kaching-cart.js" crossorigin="anonymous">
1596<script type="module"> 1597 import("https://cdn.shopify.com/extensions/01a1134b-fce7-79cd-8a2f-333188a0585c/kaching-cart-1449/assets/kaching-cart.js") 1598 .catch((error) => { 1599 console.error("â¼ï¸ Kaching Cart failed to load", error); 1600 1601 //When we are not able to load the script, we should also stop listening to click events and any other events that are related to the cart drawer. 1602 window.__kachingCartFailedModuleLoad = true; 1603 }); 1604</script>
1604 1605 1606<link rel="preload" href="https://cdn.shopify.com/extensions/01a1134b-fce7-79cd-8a2f-333188a0585c/kaching-cart-1449/assets/kaching-cart.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> 1607<noscript><link rel="stylesheet" href="https://cdn.shopify.com/extensions/01a1134b-fce7-79cd-8a2f-333188a0585c/kaching-cart-1449/assets/kaching-cart.css"></noscript> 1608 1609 1610 1611 1612 1613 1614<!-- Part 1: Run immediately for event listeners -->
1615<script> 1616 (function() { 1617 try { 1618 // Simple error logging and tracking 1619 const logError = (message, error) => { 1620 try { 1621 // Safely log to console even if error is undefined/null/malformed 1622 console.error(`[Kaching Cart] ${message}`, error || ""); 1623 1624 // Only send critical errors to the endpoint 1625 try { 1626 // Safely check error properties with fallbacks 1627 const errorMessage = error && typeof error === 'object' && error.message ? error.message : ''; 1628 const errorStack = error && typeof error === 'object' && error.stack ? error.stack : ''; 1629 1630 // Skip sending certain common errors 1631 if ( 1632 errorMessage && ( 1633 errorMessage === "Load failed" || 1634 errorMessage === "Failed to fetch" || 1635 errorMessage.includes("Blocked by EC") || 1636 window?.location?.hostname?.includes("127.0.0.1") 1637 ) 1638 ) { 1639 return; 1640 } 1641 1642 // Prepare error details with safe access patterns 1643 const errorDetails = { 1644 filename: "drawer.liquid", 1645 message: "drawer.liquid" + message + (errorMessage ? `: ${errorMessage}` : ""), 1646 stack: errorStack || "No stack trace", 1647 url: window.location ? window.location.href : "unknown", 1648 shop: "zxrqcp-jb.myshopify.com" 1649 }; 1650 1651 //Let's use sentry for now 1652 if(window.__KachingCartSentry) { 1653 window.__KachingCartSentry.captureException(error); 1654 } 1655 } catch (trackingError) { 1656 // Silent fail for error tracking 1657 } 1658 } catch (logError) { 1659 // Ultimate fallback - even console.error failed 1660 // We do absolutely nothing here to ensure we never crash a store 1661 } 1662 }; 1663 1664 /* 1665 A CSS attribute selector can only do a substring match, and "/cart" is a 1666 substring of plenty of paths that have nothing to do with the cart: 1667 /a/search/cartier, /collections/cartoons, /pages/cartography. Every match on 1668 this selector is therefore re-checked against the resolved URL in the click 1669 handler below (see isCartPageLink), which is what actually decides whether a 1670 click gets swallowed. The :not() exclusions still carry their weight: the 1671 selector list is also handed to the drawer bundle, which feeds it to 1672 querySelectorAll without any such re-check. 1673 */ 1674 const CART_PAGE_LINK_SELECTOR = [ 1675 "a[href*='/cart']", 1676 ":not([href^='//'])", 1677 ":not([href*='/cart/change'])", 1678 ":not([href*='/cart/add'])", 1679 ":not([href*='/cart/clear'])", 1680 ":not([href*='/products/cart'])", 1681 ":not([href*='/collections/cart'])", 1682 ":not([class*='upcart'])", 1683 ":not([class*='revy-upsell-btn-cart'])", 1684 ":not([href*='/checkout'])", 1685 ":not([href*='/discount'])", 1686 ":not([href*='/cart/1'])", 1687 ":not([href*='/cart/2'])", 1688 ":not([href*='/cart/3'])", 1689 ":not([href*='/cart/4'])", 1690 ":not([href*='/cart/5'])", 1691 ":not([href*='/cart/6'])", 1692 ":not([href*='/cart/7'])", 1693 ":not([href*='/cart/8'])", 1694 ":not([href*='/cart/9'])", 1695 ].join(""); 1696 1697 // Store selectors in a global variable so the second script can access them 1698 window.__kachingCartSelectors = [ 1699 CART_PAGE_LINK_SELECTOR, 1700 "a[data-cart-toggle]", 1701 "#sticky-app-client div[data-cl='sticky-button']", 1702 "button.minicart-open", 1703 "#cart-icon-bubble", 1704 ".slide-menu-cart", 1705 ".icon-cart:not(svg):not(:is(button[type='submit'] *))", 1706 ".cart-icon:not(svg)", 1707 ".cart-link:not(div.header-icons):not(ul)", 1708 "button.header-cart-toggle", 1709 "div.minicart__button", 1710 "button.js-cart-button", 1711 ".mini-cart-trigger", 1712 ".shopping-cart a[href*='#cart']", 1713 ".header-menu-cart-drawer", 1714 ".js-mini-cart-trigger", 1715 "#CartButton-Desktop", 1716 "#CartButton", 1717 "a[data-js-sidebar-handle]:not(a[href*='/search'])", 1718 "a.area--cart.icon-button", 1719 "[data-cartmini]", 1720 "button[data-sidebar-id='CartDrawer']", 1721 "header-actions >
1721 cart-drawer-component", 1722 "a.header--cart-link[data-drawer-view='cart-drawer']", 1723 "a.header--cart-count[data-drawer-view='cart-drawer']", 1724 "a.header--cart[data-drawer-view='cart-drawer']", 1725 "a[role='button'][href='#drawer-cart']", 1726 "button[drawer-to-open='cart-drawer']", 1727 "div.cart-text:has(.cart-count)", 1728 "button.header__icon--cart", 1729 "button#cart-open", 1730 "li.cartCounter", 1731 ".tt-cart.tt-dropdown-obj .tt-dropdown-toggle", 1732 "a[href='#cartDrawer'][data-side-drawer-open]", 1733 "cart-icon[data-add-to-cart-behavior='open_cart']", 1734 "xo-modal-trigger[xo-name='cart']", 1735 "a[cart-icon-bubble]", 1736 "a[data-open-dialog='cart-drawer']", 1737 "button[onclick='cartDrawer.open();']", 1738 "a[data-node-type='commerce-cart-open-link'].w-commerce-commercecartopenlink", 1739 ".header-mobile-main button.cart", 1740 ".header-desktop-main button.cart", 1741 ".header-cart-btn[data-cart-toggle]", 1742 "modal-open[target='cart-drawer']", 1743 "a.header__link.cart__count", 1744 "button[data-testid='cart-drawer-trigger']:has(cart-icon.header-actions__cart-icon)", 1745 //Concept 6.0.3 changed its header cart icon from <a href="/cart"> to a button with no href. 1746 "button.cart-drawer-button[aria-controls='CartDrawer']", 1747 ]; 1748 1749 /* A link points at the cart page only when the last segment of its path is 1750 exactly "cart" â /cart, /cart/, or a locale/market-prefixed /en-de/cart. 1751 Resolved against the current page so that a relative href normalises the 1752 same way the browser would navigate it. */ 1753 const isCartPageLink = (link) => { 1754 const href = link.getAttribute("href"); 1755 1756 if (!href) { 1757 return false; 1758 } 1759 1760 try { 1761 return /\/cart\/?$/.test(new URL(href, window.location.href).pathname); 1762 } catch (urlError) { 1763 //An href the URL parser rejects (javascript:, mailto:, â¦) is not a cart link. 1764 return false; 1765 } 1766 }; 1767 1768 // Click event handler with basic error handling 1769 document.addEventListener("click", (e) => { 1770 //If the module failed to load, or the drawer failed to start (withThemeCartFallback), or we blocked it for testing through the developer tools, we should not listen to any click events, we should let the native cart popup handle it. 1771 //__kachingCartDisabled is a merchant opt-out (e.g. B2B customers): let the theme's native cart handle the click. Read here at click time so it works regardless of when the flag is set. 1772 if(window.__kachingCartFailedModuleLoad === true || window.__kachingCartDisabled === true) { 1773 return; 1774 } 1775 1776 try { 1777 const isCartButton = window.__kachingCartSelectors.some((selector) => { 1778 try { 1779 const match = e.target.closest(selector); 1780 1781 if (!match) { 1782 return false; 1783 } 1784 1785 /* Only the href-substring selector needs the URL check. The other 1786 entries match classes and attributes a theme puts on its own cart 1787 control, and several of them sit on elements with no cart path at 1788 all (href='#drawer-cart'). Returning false here keeps looking, so a 1789 non-cart path on an element the theme also marks as a cart control 1790 still opens the drawer. */ 1791 return selector === CART_PAGE_LINK_SELECTOR 1792 ? isCartPageLink(match) 1793 : true; 1794 } catch (selectorError) { 1795 1796 if(selector !== ".cart-link:not(div.header-icons):not(ul)") { 1797 //In some browsers these selectors are not valid, but no need to log it 1798 logError(`Error checking selector: ${selector}`, selectorError); 1799 } 1800 return false; 1801 } 1802 }); 1803 1804 if (isCartButton) { 1805 try { 1806 e.stopImmediatePropagation(); 1807 e.preventDefault(); 1808 e.stopPropagation(); 1809 } catch (eventError) { 1810 logError("Error stopping event propagation", eventError); 1811 } 1812 1813 try { 1814 const event = new CustomEvent("kaching-cart:open", { 1815 detail: { 1816 element: e.target,
1817 cartOpenSource: "cart-button", 1818 }, 1819 }); 1820 document.dispatchEvent(event); 1821 } catch (customEventError) { 1822 logError("Error dispatching kaching-cart:open event", customEventError); 1823 } 1824 } 1825 } catch (clickHandlerError) { 1826 logError("Error in click event handler", clickHandlerError); 1827 } 1828 }, true); 1829 } catch (globalError) { 1830 console.error("[Kaching Cart] Fatal script error in event listeners", globalError); 1831 } 1832 })(); 1833</script>
1833 1834 1835<!-- Part 2: Wait for Shopify object before initializing props -->
1836<script> 1837 (function() { 1838 try { 1839 const createKachingCartElement = (props) => { 1840 /* 1841 A merchant can set window.__kachingCartDisabled to fully suppress our cart for a shopper (e.g. B2B customers) and fall back to the theme's native cart. Bailing here means the <kaching-cart> element is never created, so none of the extension's global patches (fetch/XHR interception, form handlers, observers) ever install â there is nothing to tear down. This is the reliable checkpoint: the element is registered by a deferred module, so this runs after any inline flag-setting script the merchant adds. 1842 */ 1843 if (window.__kachingCartDisabled === true) { 1844 return; 1845 } 1846 1847 const kachingCartElement = document.createElement('kaching-cart'); 1848 kachingCartElement.style.zIndex = "1051"; 1849 kachingCartElement.style.position = "relative"; 1850 kachingCartElement.style.opacity = "1"; //Some themes set all elements to opacity: 0 when their native drawer opens, this will ensure our drawer is visible. 1851 1852 // Set attribute BEFORE appending to DOM 1853 kachingCartElement.setAttribute("kaching-cart-props", JSON.stringify(props)); 1854 1855 if (document.body) { 1856 document.body.appendChild(kachingCartElement); 1857 } else { 1858 const appendWhenBodyReady = () => { 1859 if (document.body) { 1860 document.body.appendChild(kachingCartElement); 1861 } else { 1862 setTimeout(appendWhenBodyReady, 10); 1863 } 1864 }; 1865 appendWhenBodyReady(); 1866 } 1867 }; 1868 1869 const logError = (message, error) => { 1870 console.error(`[Kaching Cart] ${message}`, error); 1871 }; 1872 1873 1874 // Function to initialize cart props when Shopify is available 1875 const initKachingCartProps = () => { 1876 try { 1877 if (window.__kachingCartDisabled === true) { 1878 return; 1879 } 1880 1881 if (!window.Shopify) { 1882 // If Shopify isn't ready yet, try again in a moment 1883 setTimeout(initKachingCartProps, 10); 1884 return; 1885 } 1886 1887 1888 1889 try { 1890 const path = window.location.pathname || window.Shopify?.routes?.root || "/"; 1891 sessionStorage.setItem(`kaching-cart-last-visited-page-${window.Shopify.shop}`, path); 1892 } catch (error) { 1893 //Silent fail 1894 } 1895 1896 1897 const props = { 1898 appSettings: {"brandColors":{"brand_badge_bg":"220, 250, 230","brand_badge_text":"7, 148, 85","brand_primary_bg":"255, 255, 255","brand_primary_text":"0, 0, 0","brand_secondary_bg":"242, 244, 247","brand_border_divider":"227, 227, 227","brand_primary_accent":"127, 86, 217","brand_secondary_text":"152, 162, 179","brand_secondary_accent":"233, 215, 254","brand_primary_accent_text":"255, 255, 255","brand_secondary_accent_text":"127, 86, 217"},"storefrontAccessToken":"33300d4827cb947e03e4d9aa4cad4a42"}, 1899 customerAccountsEnabled: true, 1900 customerAccountsLoginUrl: "https:\/\/diasocks.no\/customer_authentication\/redirect?locale=nb\u0026region_country=NO", 1901 customerTags: null, 1902 customerId: null,customerOrdersCount: null, 1903 surface: "storefront", 1904 cartButtonSelectors: window.__kachingCartSelectors, 1905 apiEndpoint: "https://zxrqcp-jb.myshopify.com/api/2026-10/graphql.json", 1906 moneyFormat: "{{amount_with_comma_separator}} kr", 1907 cartSettings: {"general":{"cartAnchor":"right","shouldOpenCartDrawerOnAddToCart":true,"goToCartInsteadOfCheckout":false,"useCompareAtPrice":true,"showUnitPrice":false,"modulesOrder":["announcementBar","tieredPromotionsBar","lineItems","productUpsell","trustBadges","sideUpsell"],"customCss":".kaching-cart__tiered-promotions-bar-text {\n font-size: 16px !important;\n line-height: 1.45 !important;\n}\n\n.kaching-cart__tiered-promotions-bar-icon-tooltip-title {\n font-size: 13px !important;\n}","customJs":"","adminCustomCss":"","adminCustomJs":"","htmlModules":[],"shop":"zxrqcp-jb.myshopify.com","countNativeBundlesAsSingleLine":false,"roundingPrecision":null}
1907,"topBar":{"mode":"text","imageUrl":"","textAlign":"center","text":"Din handlekurv ⢠{{item_count}}","logoHeight":50},"upsellToggle":{"isActive":false,"productId":"gid:\/\/shopify\/Product\/10548638515466","defaultVariantId":"gid:\/\/shopify\/ProductVariant\/53244038086922","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/0861\/0614\/5034\/files\/shipping-protection.webp?v=1782134911\u0026kaching-cart-media-id=gid:\/\/shopify\/MediaImage\/50353701814538","title":"Shipping protection","description":"Protect your order from being lost or damaged.","price":2.5,"compareAtPrice":null,"autoFulfil":false,"removeWhenCartIsEmpty":false,"mode":"default","inCheckoutButtonText":"+ {{upsell_toggle_price}} {{upsell_toggle_title}}","inCheckoutButtonAlreadyInCartText":"Includes {{upsell_toggle_price}} {{upsell_toggle_title}}","segmentation":{"enabled":false,"rules":[]}},"orderNotes":{"isActive":false,"title":"Add special instructions","inputType":"text","placeholder":"Enter your order notes","isCollapsible":true,"isCollapsed":true,"isRequiredToCheckout":false},"footer":{"modulesOrder":["upsellToggle","orderNotes","discountCode","discounts","subtotal","checkoutButton","acceleratedCheckoutButtons","paymentIcons","secondaryButton"],"buttonText":"Gå til kassen","secondaryButtonText":"continue shopping","acceleratedCheckoutButtons":{"isActive":false},"acceleratedCBInAccordion":false,"acceleratedCBInAccordionTitle":"Express checkout","areAcceleratedCheckoutButtonsCollapsed":true,"discountsText":"Discounts","subtotalText":"Subtotal","paymentIcons":{"affirm":false,"alipay":false,"amazonpay":true,"amex":true,"applepay":true,"bancontact":false,"bitcoin":false,"bitcoincash":false,"bitpay":false,"citadele":false,"dinersclub":false,"discover":false,"elo":false,"etherium":false,"facebookpay":false,"forbrugsforeningen":false,"giropay":false,"googlepay":true,"ideal":false,"interac":false,"jcb":false,"klarna":false,"lightcoin":false,"maestro":false,"mastercard":true,"payoneer":false,"paypal":false,"paysafe":false,"poli":false,"qiwi":false,"sepa":false,"shoppay":true,"skrill":false,"sofort":false,"stripe":false,"unionpay":false,"venmo":false,"verifone":false,"visa":true,"webmoney":false,"wechat":false,"yandex":false,"custom":[]},"showPaymentIcons":false,"showSubtotal":true,"showOriginalPrice":false,"showDiscounts":true,"showDiscountBadges":true,"showCheckoutButton":true,"showTermsAndConditions":false,"termsAndConditionsText":"I have read and agree to the \u003ca target='_blank' href='https:\/\/www.example.com'\u003eterms and conditions\u003c\/a\u003e","termsAndConditionsRequiredText":"","showSecondaryButton":false,"secondaryButtonAction":"close-cart","htmlModules":[]},"generalTexts":{"youSave":"Du sparer {{amount_saved}}","addToCart":"Legg i handlekurv","outOfStock":"Out of stock","inventoryNotAvailable":"Kan ikke legge til flere av denne varen i handlekurven","errorLoadingCart":"Det oppsto en feil ved lasting av handlekurven din.","errorCheckoutButton":"Du kan fortsatt gå til kassen","discountCodeInvalid":"Rabattkoden du skrev inn er ugyldig eller kan ikke brukes på denne handlekurven","free":"Gratis","hideComponents":"Skjul {{total_components}} varer","showComponents":"Vis {{total_components}} varer","deliveredEvery":"Delivered every {{plan_delivery_interval_count}} {{plan_delivery_interval}}","billedEvery":"\/{{plan_billing_interval_count}}{{plan_billing_interval}}","dayFull":"day\/s","weekFull":"week\/s","monthFull":"month\/s","yearFull":"year\/s","dayShort":"d","weekShort":"wk","monthShort":"mo","yearShort":"y"},"translations":[],"emptyCartGeneral":{"title":"Handlekurven din er tom","buttonText":"Sjekk ut våre bestselgere","buttonAction":"custom-url","buttonUrl":"\/collections\/bestselgere","icon":null},"discountCode":{"isActive":false,"placeholder":"Discount code","buttonText":"Apply"},"styles":{"--kaching-cart-border-radius":20,"--kaching-cart-background":"255, 255, 255","--kaching-cart-border-divider":"brand_border_divider","--kaching-cart-top-bar-background":"255, 255, 255","--kaching-cart-top-bar-text":"0, 0, 0","--kaching-cart-top-bar-font-size":23,"--kaching-cart-top-bar-announcement-font-size":13,"--kaching-cart-top-bar-announcement-text":"255, 255, 255","--kaching-cart-top-bar-announcement-background":"0, 0, 0","--kaching-cart-badge-background":"220, 250, 230","--kaching-cart-badge-text":"7, 148, 85","--kaching-cart-button-background":"127, 86, 217","--kaching-cart-button-text":"255, 255, 255","--kaching-cart-announcement-bar-background":"233, 215, 254","--kaching-cart-announcement-bar-text":"127, 86, 217","--kaching-cart-tiered-promotions-bar-inactive":"152, 162, 179","--kaching-cart-tiered-promotions-bar-active":"0, 46, 73","--kaching-cart-tiered-promotions-bar-background":"234, 236, 240","--kaching-cart-tbp-free-gifts-modal-background":"255, 255, 255","--kaching-cart-tbp-free-gifts-modal-text":"0, 0, 0","--kaching-cart-tbp-free-gifts-modal-free-badge-bg":"220, 250, 230","--kaching-cart-tbp-free-gifts-modal-free-badge-text":"7, 148, 85","--kaching-cart-tbp-free-gifts-modal-gift-background":"255, 255, 255","--kaching-cart-tbp-free-gifts-modal-gift-border":"204, 204, 204","--kaching-cart-tbp-free-gifts-modal-checkbox":"0, 0, 0","--kaching-cart-tbp-free-gifts-modal-btn-background":"127, 86, 217","--kaching-cart-tbp-free-gifts-modal-btn-text":"255, 255, 255","--kaching-cart-tbp-free-gifts-modal-img-size":40,"--kaching-cart-tbp-free-gifts-modal-btn-font-size":16,"--kaching-cart-tbp-free-gifts-modal-choose-gift-text":"255, 255, 255","--kaching-cart-tbp-free-gifts-modal-choose-gift-bg":"0, 0, 0","--kaching-cart-tbp-free-gifts-modal-change-gift-text":"255, 255, 255","--kaching-cart-tbp-free-gifts-modal-change-gift-bg":"0, 0, 0","--kaching-cart-line-items-image-size":85,"--kaching-cart-line-items-vert
1907ical-space":25,"--kaching-cart-line-items-text":"0, 0, 0","--kaching-cart-line-items-text-2":"152, 162, 179","--kaching-cart-line-items-badge-background":"216, 224, 237","--kaching-cart-line-items-badge-text":"0, 46, 73","--kaching-cart-line-items-plan-background":"255, 255, 255","--kaching-cart-line-items-plan-text":"0, 0, 0","--kaching-cart-line-items-plan-border-color":"0, 0, 0","--kaching-cart-line-items-plan-upgrade-background":"255, 255, 255","--kaching-cart-line-items-plan-upgrade-text":"0, 0, 0","--kaching-cart-line-items-plan-upgrade-border-color":"0, 0, 0","--kaching-cart-line-items-bundle-upgrade-text":"255, 255, 255","--kaching-cart-line-items-bundle-upgrade-background":"0, 46, 73","--kaching-cart-side-upsell-width":200,"--kaching-cart-side-upsell-title-color":"0, 0, 0","--kaching-cart-side-upsell-title-font-size":15,"--kaching-cart-side-upsell-background":"242, 244, 247","--kaching-cart-side-upsell-card-background":"255, 255, 255","--kaching-cart-side-upsell-text":"0, 0, 0","--kaching-cart-side-upsell-text-2":"152, 162, 179","--kaching-cart-side-upsell-button-background":"127, 86, 217","--kaching-cart-side-upsell-button-text":"255, 255, 255","--kaching-cart-side-upsell-badge-background":"220, 250, 230","--kaching-cart-side-upsell-badge-text":"7, 148, 85","--kaching-cart-side-ec-upsell-width":200,"--kaching-cart-side-ec-upsell-title-color":"0, 0, 0","--kaching-cart-side-ec-upsell-title-font-size":15,"--kaching-cart-side-ec-upsell-background":"242, 244, 247","--kaching-cart-side-ec-upsell-card-background":"255, 255, 255","--kaching-cart-side-ec-upsell-text":"0, 0, 0","--kaching-cart-side-ec-upsell-text-2":"152, 162, 179","--kaching-cart-side-ec-upsell-button-background":"127, 86, 217","--kaching-cart-side-ec-upsell-button-text":"255, 255, 255","--kaching-cart-side-ec-upsell-badge-background":"220, 250, 230","--kaching-cart-side-ec-upsell-badge-text":"7, 148, 85","--kaching-cart-product-upsell-title-color":"0, 0, 0","--kaching-cart-product-upsell-title-font-size":15,"--kaching-cart-product-upsell-background":"242, 244, 247","--kaching-cart-product-upsell-text":"0, 0, 0","--kaching-cart-product-upsell-text-2":"152, 162, 179","--kaching-cart-product-upsell-button-background":"0, 46, 73","--kaching-cart-product-upsell-button-text":"255, 255, 255","--kaching-cart-product-upsell-arrows":"52, 64, 84","--kaching-cart-product-upsell-badge-background":"220, 250, 230","--kaching-cart-product-upsell-badge-text":"7, 148, 85","--kaching-cart-ec-product-upsell-title-color":"0, 0, 0","--kaching-cart-ec-product-upsell-title-font-size":15,"--kaching-cart-ec-product-upsell-background":"242, 244, 247","--kaching-cart-ec-product-upsell-text":"0, 0, 0","--kaching-cart-ec-product-upsell-text-2":"152, 162, 179","--kaching-cart-ec-product-upsell-button-background":"127, 86, 217","--kaching-cart-ec-product-upsell-button-text":"255, 255, 255","--kaching-cart-ec-product-upsell-arrows":"52, 64, 84","--kaching-cart-ec-product-upsell-badge-background":"220, 250, 230","--kaching-cart-ec-product-upsell-badge-text":"7, 148, 85","--kaching-cart-upsell-toggle-image-size":60,"--kaching-cart-footer-background":"255, 255, 255","--kaching-cart-footer-text":"0, 0, 0","--kaching-cart-footer-discount-background":"242, 244, 247","--kaching-cart-footer-discount-text":"71, 84, 103","--kaching-cart-footer-button-background":"0, 46, 73","--kaching-cart-footer-button-text":"255, 255, 255","--kaching-cart-footer-t-c-text":"0, 0, 0","--kaching-cart-footer-t-c-link":"127, 86, 217","--kaching-cart-footer-secondary-button-text":"0, 0, 0","--kaching-cart-footer-font-size":16,"--kaching-cart-footer-row-spacing":10,"--kaching-cart-footer-checkout-button-secondary-text":"0, 0, 0","--kaching-cart-accelerated-checkout-buttons-size-desktop":42,"--kaching-cart-accelerated-checkout-buttons-size-mobile":42,"--kaching-cart-accelerated-checkout-buttons-accordion-title-text":"0, 0, 0","--kaching-cart-trust-badges-background":"255, 255, 255","--kaching-cart-trust-badges-text":"0, 0, 0","--kaching-cart-trust-badges-text-font-size":13,"--kaching-cart-trust-badges-icon-size":25,"--kaching-cart-empty-cart-text":"0, 0, 0","--kaching-cart-empty-cart-text-font-size":16,"--kaching-cart-empty-cart-subtitle":"0, 0, 0","--kaching-cart-empty-cart-subtitle-font-size":13,"--kaching-cart-empty-cart-button-background":"0, 46, 73","--kaching-cart-empty-cart-button-text":"255, 255, 255","--kaching-cart-order-notes-title":"0, 0, 0","--kaching-cart-order-notes-input-background":"255, 255, 255","--kaching-cart-order-notes-input-text":"0, 0, 0","--kaching-cart-order-notes-input-border-color":"190, 190, 190","--kaching-cart-discount-code-input-background":"255, 255, 255","--kaching-cart-discount-code-input-text":"0, 0, 0","--kaching-cart-discount-code-input-border-color":"190, 190, 190","--kaching-cart-discount-code-button-background":"127, 86, 217","--kaching-cart-discount-code-button-text":"255, 255, 255"},"announcementBar":{"isActive":false,"text":"Your cart will expire in {{timer}} â°","timerMinutes":10,"clearCartOnTimerEnd":false,"resetTimerOnCartUpdate":true},"tieredPromotionsBar":{"isActive":true,"defaultText":"Legg til {{progress_needed}} par til for Ã¥ fÃ¥ {{next_promo_title}}
1907 ⨠(Kun samme produkt)","unlockedText":"","allPromotionsUnlockedText":"ð¥ Maks rabatt oppnÃ¥dd! Du har lÃ¥st opp alle tilbudene.","stepIcon":"square","withIcons":false,"withEmojis":true,"freeGiftsAdditionMethod":"automatically","thresholdType":"line-items-quantity","excludeProductsFromUnlockCount":false,"productsExcludedFromUnlockCount":[],"tiers":[{"id":"i4YoqRsgCu98YA29TM6hFTJHr","title":"2 par til prisen av 1","threshold":2,"discountAmount":0,"discountType":"percentage","type":"order-discount"},{"id":"sHKA74g_Zq7rQdBzFUnS_BF66","title":"5 par for prisen av 2","threshold":5,"discountAmount":0,"discountType":"percentage","type":"order-discount"},{"id":"RayZQWfHI37Na7MOGCSAXGRds","title":"8 par for prisen av 3","threshold":8,"discountAmount":0,"discountType":"percentage","type":"order-discount"}],"marketSpecificTiers":[],"confetti":{"isActive":false,"amount":1000,"duration":3000},"freeGiftsModalOpensOnUnlock":true,"freeGiftsModalTitle":"Choose free giftsð","freeGiftsModalSubtitle":"Choose up to {{max_selectable_gifts}} free gifts","freeGiftsModalSelectGiftsText":"Choose gift","freeGiftsModalChangeGiftsText":"Change gift","freeGiftsModalButtonText":"Confirm","segmentation":{"enabled":false,"rules":[]}},"productUpsell":{"isActive":false,"title":"","buttonText":"Add to cart","textAlign":"center","showBadge":false,"hideProductIfInCart":true,"layout":"layout-1","removeWhenCartIsEmpty":false,"segmentation":{"enabled":false,"rules":[]},"rules":[],"aiFallback":{"isActive":true,"intent":"RELATED"},"subscriptionSelectedByDefault":false,"subscriptionInfoText":"Delivered every {{plan_delivery_interval_count}} {{plan_delivery_interval}}","allowChangingSubscription":false,"oneTimePurchaseText":"One-time purchase","subscriptionOptionsText":"{{plan_name}}"},"lineItems":{"showPricePerItem":false,"showSavings":true,"showOriginalPrice":true,"showVariantSelector":false,"showQuantitySelector":true,"bundlesToGroup":[],"showBundleImage":false,"bundleComponentsCollapsed":false,"showBundleUpgradeTips":true,"bundleUpgradeText":"Legg til {{progress_needed}} flere par for Ã¥ fÃ¥ {{next_promo_title}}","withFreeGiftText":"","subscriptionInfoText":"Delivered every {{plan_delivery_interval_count}} {{plan_delivery_interval}}","showSubscriptions":false,"showSubscriptionUpgradePrompt":false,"subscriptionUpgradeText":"Subscribe and save","allowChangingSubscription":false,"oneTimePurchaseText":"One-time purchase","subscriptionOptionsText":"{{plan_name}}"},"sideUpsell":{"isActive":false,"title":"","buttonText":"Add to cart","textAlign":"center","showBadge":true,"hideProductIfInCart":true,"layout":"layout-1","sideBarAlignment":"right","removeWhenCartIsEmpty":false,"segmentation":{"enabled":false,"rules":[]},"rules":[],"aiFallback":{"isActive":true,"intent":"RELATED"},"subscriptionSelectedByDefault":false,"subscriptionInfoText":"Delivered every {{plan_delivery_interval_count}} {{plan_delivery_interval}}","allowChangingSubscription":false,"oneTimePurchaseText":"One-time purchase","subscriptionOptionsText":"{{plan_name}}"},"trustBadges":{"isActive":true,"showUnderCheckoutButton":true,"badges":[{"id":"7s79Nu0lmf2Q9RrMGeuYOGrNX","title":"Trygg betaling med Vipps","icon":"mobilePayment"},{"id":"JcDuiRiTRa4vfpMg7yir5ruVw","title":"Sendes fra Sverige","icon":"deliveryTruck"},{"id":"ibB_SSAcgOb9B_JGlbHHNrKzH","title":"Passformgaranti","icon":"packageBox"},{"id":"HXs6veWH32T6_Mbd-iWDaks2u","title":"500 000+ fornøyde kunder","icon":"review"}]},"ecProductUpsell":{"isActive":false,"title":"","buttonText":"Add to cart","textAlign":"center","showBadge":true,"hideProductIfInCart":true,"layout":"layout-1","removeWhenCartIsEmpty":false,"segmentation":{"enabled":false,"rules":[]},"rules":[],"aiFallback":{"isActive":false,"intent":"RELATED"},"subscriptionSelectedByDefault":false,"subscriptionInfoText":"Delivered every {{plan_delivery_interval_count}} {{plan_delivery_interval}}","allowChangingSubscription":false,"oneTimePurchaseText":"One-time purchase","subscriptionOptionsText":"{{plan_name}}","mirrorMainSettings":false},"ecSideUpsell":{"isActive":false,"title":"","buttonText":"Add to cart","textAlign":"
1907center","showBadge":true,"hideProductIfInCart":true,"layout":"layout-1","sideBarAlignment":"right","removeWhenCartIsEmpty":false,"segmentation":{"enabled":false,"rules":[]},"rules":[],"aiFallback":{"isActive":false,"intent":"RELATED"},"subscriptionSelectedByDefault":false,"subscriptionInfoText":"Delivered every {{plan_delivery_interval_count}} {{plan_delivery_interval}}","allowChangingSubscription":false,"oneTimePurchaseText":"One-time purchase","subscriptionOptionsText":"{{plan_name}}","mirrorMainSettings":false},"id":"u-Gob-vlTNtCmdvopq7G4fbWN","isActive":true}, 1908 autoAtcRules: null, 1909 stickyCart: null, 1910 featureFlags: null, 1911 locale: "nb", 1912 isPrimaryLocale: true, 1913 currencyRate: window.Shopify.currency?.rate || 1, 1914 currencyCode: window.Shopify.currency?.active || "NOK" || "USD", 1915 market: { 1916 id: 80106815754, 1917 handle: "norway", 1918 }, 1919 countryCode: "NO", 1920 publishedLocales: [{"shop_locale":{"locale":"nb","enabled":true,"primary":true,"published":true}}], 1921 cart: {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"NOK","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}, 1922 }; 1923 window.__kachingCartProps = props; 1924 1925 1926 if(!window.Shopify.routes?.root) { 1927 window.Shopify.routes = { 1928 root: "/", 1929 cart_add_url: "cart/add", 1930 cart_change_url: "cart/change", 1931 cart_update_url: "cart/update", 1932 cart_url: "cart", 1933 predictive_search_url: "search", 1934 }; 1935 } else if (window.Shopify.routes?.root && window.Shopify.routes?.root !== "/" && window.Shopify.routes?.root.startsWith("/") && !window.Shopify.routes?.root.endsWith("/")) { 1936 //If the root is not a trailing slash, add it, otherwise a lot of stuff will break because of the missing trailing slash. 1937 window.Shopify.routes.root = window.Shopify.routes.root + "/"; 1938 } 1939 1940 // Add the kaching-cart element to the DOM 1941 if (!document.querySelector('kaching-cart')) { 1942 // Wait for custom element definition 1943 if (customElements.get('kaching-cart')) { 1944 // Already defined, create immediately 1945 createKachingCartElement(props); 1946 } else { 1947 // Wait for it to be defined 1948 customElements.whenDefined('kaching-cart').then(() => { 1949 createKachingCartElement(props); 1950 }).catch((error) => { 1951 logError("Error waiting for kaching-cart definition", error); 1952 // Fallback: try anyway after a delay 1953 setTimeout(() => createKachingCartElement(props), 1000); 1954 }); 1955 } 1956 } 1957 } catch (propsError) { 1958 logError("Error setting up props", propsError); 1959 } 1960 }; 1961 1962 // Start initialization process 1963 initKachingCartProps(); 1964 1965 1966 } catch (globalError) { 1967 console.error("[Kaching Cart] Fatal script error in props initialization", globalError); 1968 } 1969 })(); 1970</script>
1970 1971 1972<!-- The kaching-cart element will be added programmatically after props are ready --> 1973 1974 1975<!-- END app snippet --> 1976 1977 1978<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 --> 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991
1991<script async src="https://static.klaviyo.com/onsite/js/S6jPkZ/klaviyo.js?company_id=S6jPkZ"></script>
1991 1992
1992<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
1992 1993 1994 1995 1996 1997 1998 1999
1999<script> 2000 window.klaviyoReviewsProductDesignMode = false 2001 </script>
2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
2012<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 86106145034,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "index"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 2012
2012
2013<script> 2014 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 2015</script>
vendor: 1 bytes, line 2015
2015
2016<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
2016).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 86106145034,storefrontBaseUrl: "https://diasocks.no",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://diasocks.no/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"id":"4023157002","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"6e6b2e32fe6866115b7e49e2ae3c75b2","type":"APP","apiClientId":5940125,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
2016,"dataSharingState":"unrestricted"},{"id":"2874867978","configuration":"{\"accountID\":\"S6jPkZ\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted","enabledFlags":["9a3ed68a"]},{"id":"2676097290","configuration":"{\"accountID\":\"1220658\",\"workspaceId\":\"fe50c4f5-fbff-43f2-9815-b72fc7652e1f\",\"projectId\":\"a35550d7-f1d2-4237-9bd2-438671f9c85a\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d98eb033f1e81320021a411362de3a55","type":"APP","apiClientId":5461967,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":[],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"2559672586","configuration":"{\"pixel_id\":\"784854234231149\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"bd2f978c17a94bbb8a74d43de2165dc5","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted","enabledFlags":["9a3ed68a"]},{"id":"2239299850","configuration":"{\"shopifyDomain\":\"zxrqcp-jb.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"14b26290829f755f27eefbf196eb8024","type":"APP","apiClientId":2935586817,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1599799562","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-EEGZW2H2Z8\\\",\\\"AW-11315252550\\\",\\\"GT-TX2SDG7T\\\"],\\\"target_country\\\":\\\"NO\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-EEGZW2H2Z8\\\",\\\"AW-11315252550\\\/0q6kCLuamNgYEMaaxJMq\\\"]},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-EEGZW2H2Z8\\\",\\\"AW-11315252550\\\/QuvpCLWamNgYEMaaxJMq\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-EEGZW2H2Z8\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-EEGZW2H2Z8\\\",\\\"AW-11315252550\\\/9X9NCLKamNgYEMaaxJMq\\\",\\\"MC-1XLPQBWGGH\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-EEGZW2H2Z8\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-EEGZW2H2Z8\\\",\\\"AW-11315252550\\\/sQTVCKyamNgYEMaaxJMq\\\",\\\"MC-1XLPQBWGGH\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-EEGZW2H2Z8\\\",\\\"AW-11315252550\\\/Jkb-CK-amNgYEMaaxJMq\\\",\\\"MC-1XLPQBWGGH\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-EEGZW2H2Z8\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-EEGZW2H2Z8\\\",\\\"AW-11315252550\\\/y9nrCL6amNgYEMaaxJMq\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-EEGZW2H2Z8\\\",\\\"AW-11315252550\\\/w7ZACLiamNgYEMaaxJMq\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-EEGZW2H2Z8\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted","enabledFlags":["9a3ed68a"]},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Diasocks","paymentSettings":{"currencyCode":"NOK"},"myshopifyDomain":"zxrqcp-jb.myshopify.com","countryCode":"SE","storefrontUrl":"https:\/\/diasocks.no"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"9797965873418","handle":"stottestromper","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50267062042890","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9907464700170","handle":"ankelstottestromper","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50641879499018","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9796470735114","handle":"komfortstromper","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50261407203594","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}
2016,{"id":"10011314684170","handle":"diasocks-ankelstromper","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50985134948618","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10490232111370","handle":"brede-stottestromper-12-15-mmhg","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52946749128970","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://diasocks.no/cdn","87a86122w399bf3b8pd0403c97m2c07468c",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"193108508938","themeStoreId":"2481","themePublished":"true","eventMetadataId":"a96fd565-a211-4730-918c-379722b135af","pageType":"home","shopId":"86106145034","storefrontBaseUrl":"https:\/\/diasocks.no","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"87a86122w399bf3b8pd0403c97m2c07468c","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
2016<script> 2017 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 2018 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 2019 window.ShopifyAnalytics.meta.currency = 'NOK'; 2020 var meta = {"page":{"pageType":"home","requestId":"001fa4a9-81c2-4293-9a29-871334797156-1791345707"}}; 2021 for (var attr in meta) { 2022 window.ShopifyAnalytics.meta[attr] = meta[attr]; 2023 } 2024</script>
vendor: 1 bytes, line 2024
2024
2025<script class="analytics"> 2026 (function () { 2027 var customDocumentWrite = function(content) { 2028 var jquery = null; 2029 2030 if (window.jQuery) { 2031 jquery = window.jQuery; 2032 } else if (window.Checkout && window.Checkout.$) { 2033 jquery = window.Checkout.$; 2034 } 2035 2036 if (jquery) { 2037 jquery('body').append(content); 2038 } 2039 }; 2040 2041 var hasLoggedConversion = function(token) { 2042 if (token) { 2043 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 2044 } 2045 return false; 2046 } 2047 2048 var setCookieIfConversion = function(token) { 2049 if (token) { 2050 var twoMonthsFromNow = new Date(Date.now()); 2051 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 2052 2053 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 2054 } 2055 } 2056 2057 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 2058 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 2059 if (trekkie.integrations) { 2060 return; 2061 } 2062 trekkie.methods = [ 2063 'identify', 2064 'page', 2065 'ready', 2066 'track', 2067 'trackForm', 2068 'trackLink' 2069 ]; 2070 trekkie.factory = function(method) { 2071 return function() { 2072 var args = Array.prototype.slice.call(arguments); 2073 args.unshift(method); 2074 trekkie.push(args); 2075 if (method == 'track' || method == 'page') { 2076 var pageUrl; 2077 try { 2078 pageUrl = window.location.href; 2079 } catch (e) {} 2080 var pageReferrer; 2081 try { 2082 pageReferrer = document.referrer; 2083 } catch (e) {} 2084 try { 2085 if (window.__TREKKIE_SHIM_QUEUE == null) { 2086 window.__TREKKIE_SHIM_QUEUE = []; 2087 } 2088 window.__TREKKIE_SHIM_QUEUE.push({ 2089 from: 'trekkie-stub', 2090 method: method, 2091 args: args.slice(1), 2092 pageContext: { 2093 url: pageUrl, 2094 referrer: pageReferrer 2095 } 2096 }); 2097 } catch (e) { 2098 // no-op 2099 } 2100 } 2101 return trekkie; 2102 }; 2103 }; 2104 for (var i = 0; i < trekkie.methods.length; i++) { 2105 var key = trekkie.methods[i]; 2106 trekkie[key] = trekkie.factory(key); 2107 } 2108 trekkie.load = function(config) { 2109 trekkie.config = config || {}; 2110 trekkie.config.initialDocumentCookie = document.cookie; 2111 var first = document.getElementsByTagName('script')[0]; 2112var script = document.createElement('script'); 2113script.type = 'text/javascript'; 2114script.onerror = function(e) { 2115 var scriptFallback = document.createElement('script'); 2116 scriptFallback.type = 'text/javascript'; 2117 scriptFallback.onerror = function(error) { 2118 var Monorail = { 2119 produce: function produce(monorailDomain, schemaId, payload) { 2120 var currentMs = new Date().getTime(); 2121 var event = { 2122 schema_id: schemaId, 2123 payload: payload, 2124 metadata: { 2125 event_created_at_ms: currentMs, 2126 event_sent_at_ms: currentMs 2127 } 2128 }; 2129 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 2130 }, 2131 sendRequest: function sendRequest(endpointUrl, payload) { 2132 // Try the sendBeacon API 2133 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 2134 var blobData = new window.Blob([payload], { 2135 type: 'text/plain' 2136 }); 2137 2138 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 2139 return true; 2140 } // sendBeacon was not successful 2141 2142 } // XHR beacon 2143 2144 var xhr = new XMLHttpRequest(); 2145 2146 try { 2147 xhr.open('POST', endpointUrl); 2148 xhr.setRequestHeader('Content-Type', 'text/plain'); 2149 xhr.send(payload); 2150 } catch (e) { 2151 console.log(e); 2152 } 2153 2154 return false; 2155 }, 2156 isIos12: function isIos12() { 2157 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 2158 } 2159 }; 2160 Monorail.produce('monorail-edge.shopifysvc.com', 2161 'trekkie_storefront_load_errors/1.1', 2162 {shop_id: 86106145034, 2163 theme_id: 193108508938, 2164 app_name: "storefront", 2165 context_url: window.location.href, 2166 source_url: "//diasocks.no/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 2167 2168 }; 2169 scriptFallback.async = true; 2170 scriptFallback.src = '//diasocks.no/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 2171 first.parentNode.insertBefore(scriptFallback, first); 2172}; 2173script.async = true; 2174script.src = '//diasocks.no/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 2175first.parentNode.insertBefore(script, first); 2176 2177 }; 2178 trekkie.load( 2179 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":86106145034,"isMerchantRequest":null,"themeId":193108508938,"themeCityHash":"246667842465154532","contentLanguage":"nb","currency":"NOK","eventMetadataId":"a96fd565-a211-4730-918c-379722b135af"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 2180 ); 2181 2182 var loaded = false;
2183 trekkie.ready(function() { 2184 if (loaded) return; 2185 loaded = true; 2186 2187 window.ShopifyAnalytics.lib = window.trekkie; 2188 2189 var originalDocumentWrite = document.write; 2190 document.write = customDocumentWrite; 2191 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 2192 document.write = originalDocumentWrite; 2193 2194 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 2195 var token = match? match[1]: undefined; 2196 if (!hasLoggedConversion(token)) { 2197 setCookieIfConversion(token); 2198 2199 } 2200 }); 2201 2202 window.ShopifyAnalytics.lib.page(null,{"pageType":"home","requestId":"001fa4a9-81c2-4293-9a29-871334797156-1791345707","shopifyEmitted":true}); 2203 2204 var eventsListenerScript = document.createElement('script'); 2205 eventsListenerScript.async = true; 2206 eventsListenerScript.src = "//diasocks.no/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 2207 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 2208})();</script>
vendor: 1 bytes, line 2208
2208
2209<script 2210 defer 2211 src="https://diasocks.no/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.6.min.js" 2212 data-application="storefront-renderer" 2213 data-shop-id="86106145034" 2214 data-render-region="gcp-us-west1" 2215 data-page-type="index" 2216 data-theme-instance-id="193108508938" 2217 data-theme-name="Horizon" 2218 data-theme-version="4.0.0" 2219 data-monorail-region="shop_domain" 2220 data-resource-timing-sampling-rate="10" 2221 data-shs="true" 2222 data-shs-beacon="true" 2223 data-shs-export-with-fetch="true" 2224 data-shs-logs-sample-rate="1" 2225 data-shs-beacon-endpoint="https://diasocks.no/api/collect" 2226></script>
vendor: 1 bytes, line 2226
2226
2227<script src="https://cdn.shopify.com/storefront/web-components/account.js" type="module" crossorigin fetchpriority="low" async></script>
2227<script id="shopify-customer-account-data" type="application/json">{"customer":null,"shop":{"id":"86106145034","customerAccountTranslations":[{"key":"account_menu.signed_out_state.sheet_title","value":"Logg inn eller opprett konto"},{"key":"account_menu.signed_out_state.section_divider","value":"Flere måter å logge inn på"},{"key":"account_menu.signed_out_state.alternate_divider","value":"ELLER"},{"key":"account_menu.signed_out_state.email_field_label","value":"E-post"},{"key":"account_menu.signed_out_state.orders_button","value":"Bestillinger"},{"key":"account_menu.signed_out_state.profile_button","value":"Profil"},{"key":"account_menu.signed_out_state.shop_login_button","value":"Logg inn med Shop"},{"key":"account_menu.signed_out_state.continue_with_google","value":"Fortsett med Google"},{"key":"account_menu.signed_out_state.continue_with_facebook","value":"Fortsett med Facebook"},{"key":"account_menu.signed_out_state.marketing_consent_label","value":"Send meg nyheter og tilbud på e-post"},{"key":"account_menu.signed_in_state.greeting_with_name","value":"Hei, {{first_name}}!"},{"key":"account_menu.signed_in_state.greeting_without_name","value":"Konto"},{"key":"account_menu.signed_in_state.orders_button","value":"Bestillinger"},{"key":"account_menu.signed_in_state.profile_button","value":"Profil"},{"key":"account_menu.location_picker.sheet_title","value":"Steder"},{"key":"account_menu.location_picker.search_field_placeholder","value":"Søk"},{"key":"account_menu.aria_labels.close_menu","value":"Lukk menyen"},{"key":"account_menu.aria_labels.back_to_main_menu","value":"Tilbake til hovedmenyen fra {{title}}"},{"key":"account_menu.aria_labels.open_submenu","value":"{{title}}, åpner undermenyen"},{"key":"account_menu.aria_labels.loading_menu","value":"Laster inn menyen"},{"key":"account_menu.aria_labels.account","value":"Konto"},{"key":"account_menu.aria_labels.sign_in_with_email","value":"Logg inn med en e-postadresse"},{"key":"account_menu.aria_labels.sign_in","value":"Logg inn"}],"socialLoginProviders":[{"handle":"Shop"}],"legacyCustomerAccounts":false,"signInLinksVisible":true,"b2bEnabled":false,"marketingConsentSigninEnabled":true,"marketingConsentPreselected":true},"visitor":{"country":"NO","language":"nb"}}</script>
2227 2228<meta name="shopify-y" content="dec1e345-2d26-40bd-996f-0662ad35d5f0" data-expiration="1822903307000"><meta name="shopify-s" content="4d91c347-9964-4ba9-91fc-44d0d5c0d180" data-expiration="1791347507000"><meta name="new-cookie-storage-activated" content="t"> 2229</head> 2230 2231 <body class="page-width-narrow card-hover-effect-none"> 2232 <a 2233 class="skip-to-content-link button-secondary" 2234 href="#MainContent" 2235> 2236 GÃ¥ videre til innholdet 2237</a> 2238 2239 2240 2241 2242 2243 2244<theme-drawer id="chat-drawer"> 2245 <dialog 2246 ref="panel" 2247 class="theme-drawer__dialog chat-drawer" 2248 > 2249 <shopify-chat 2250 mode="standalone" 2251 mode-switch 2252 ></shopify-chat> 2253 </dialog> 2254</theme-drawer> 2255
2256<script type="module"> 2257 const chatDrawer = document.querySelector('#chat-drawer'); 2258 const shopifyChat = document.querySelector('shopify-chat'); 2259 2260 document.addEventListener('theme-drawer:open', (event) => { 2261 if (/** @type {Element} */ (event.target).id !== 'chat-drawer') return; 2262 shopifyChat?.setAttribute('mode', 'managed'); 2263 }); 2264 2265 document.addEventListener('theme-drawer:close', (event) => { 2266 if (/** @type {Element} */ (event.target).id !== 'chat-drawer') return; 2267 // If mode is still managed, this is a theme-initiated close (backdrop / 2268 // Escape) â close the chat so the FAB appears. If mode is already 2269 // standalone, the close was triggered by an undock (enter-standalone sets 2270 // mode before closing the drawer) â leave the chat open as a floating panel. 2271 if (shopifyChat?.getAttribute('mode') === 'managed') { 2272 shopifyChat?.removeAttribute('open'); 2273 } 2274 shopifyChat?.setAttribute('mode', 'standalone'); 2275 }); 2276 2277 document.addEventListener('shopify-chat:enter-managed', () => { 2278 // Captured at event-fire time â the dock-transition animation hint below 2279 // depends on state as it was when the event was dispatched. 2280 const isStandaloneAndOpen = shopifyChat?.hasAttribute('open') && shopifyChat?.getAttribute('mode') === 'standalone'; 2281 2282 // The activator-click path (FAB click on desktop with stored 2283 // preferredMode=managed) dispatches enter-managed *before* calling show(), 2284 // so the chat's `open` attribute at event time understates the imminent 2285 // outcome. Defer to a microtask: by then show() (if any) has run, and we 2286 // can distinguish the viewport-driven mobileâdesktop transition that left 2287 // a minimized FAB (chat stays closed â don't open an empty drawer) from 2288 // an activator click (chat just opened â open the drawer). 2289 queueMicrotask(() => { 2290 if (!shopifyChat?.hasAttribute('open') && !chatDrawer?.hasAttribute('open')) { 2291 return; 2292 } 2293 chatDrawer?.open?.(isStandaloneAndOpen ? { enter: 'inline-start' } : undefined); 2294 }); 2295 }); 2296 2297 document.addEventListener('shopify-chat:enter-standalone', () => { 2298 shopifyChat?.setAttribute('mode', 'standalone'); 2299 chatDrawer?.close?.(); 2300 }); 2301 2302 document.addEventListener('shopify-chat:close', () => { 2303 if (shopifyChat?.getAttribute('mode') === 'managed') { 2304 chatDrawer?.close?.(); 2305 } 2306 }); 2307 2308 document.addEventListener('megaMenu:hover', () => { 2309 if (shopifyChat?.hasAttribute('open') && shopifyChat?.getAttribute('mode') === 'standalone') { 2310 shopifyChat?.removeAttribute('open'); 2311 } 2312 }); 2313 2314 // After the chat upgrades it self-restores its preferred mode from 2315 // sessionStorage. Reconcile any mismatch with the theme-drawer's state 2316 // â the drawer is the source of truth for which mode the chat should 2317 // be in (open â managed, closed â standalone). 2318 customElements.whenDefined('shopify-chat').then(() => { 2319 const mode = chatDrawer?.hasAttribute('open') ? 'managed' : 'standalone'; 2320 if (shopifyChat?.getAttribute('mode') !== mode) { 2321 // When switching managed â standalone (e.g. narrow viewport skipped 2322 // drawer restore), also close the chat so it renders as the FAB 2323 // rather than an open standalone panel. 2324 if (mode === 'standalone' && shopifyChat?.hasAttribute('open')) { 2325 shopifyChat?.removeAttribute('open'); 2326 } 2327 shopifyChat?.setAttribute('mode', mode); 2328 } 2329 }); 2330</script>
2330 2331 2332 2333 2334 2335 <div class="page-wrapper"> 2336 <div id="header-group"> 2337 <!-- BEGIN sections: header-group --> 2338<div id="shopify-section-sections--28565473820938__header_announcements_9jGBFp" class="shopify-section shopify-section-group-header-group"> 2339 2340 2341
2341<script 2342 src="//diasocks.no/cdn/shop/t/25/assets/announcement-bar.js?v=34024675399582161451786808719" 2343 type="module" 2344 fetchpriority="low" 2345 ></script>
2345 2346 2347 2348 2349 2350 2351 2352 2353 <style data-shopify> 2354 .color-custom-sections--28565473820938__header_announcements_9jGBFp, 2355 .color-custom-sections--28565473820938__header_announcements_9jGBFp .text-block { 2356 /* Background */ 2357 --color-background: #002E49; 2358 --color-background-rgb: 0 46 73; 2359 2360 /* Opacity values adjusted for background brightness */ 2361 2362--opacity-5-15: 0.15; --opacity-10-25: 0.25; --opacity-35-55: 0.55; --opacity-40-60: 23630.6; --opacity-30-60: 0.6; --opacity-60: 0.6; 2364 2365 2366 2367 /* Foreground / text â explicit or smart-contrasted */ 2368 --color: var(--palette-lightest); 2369 --color-rgb: var(--palette-lightest-rgb); 2370 --color-foreground: var(--palette-lightest); 2371 --color-foreground-rgb: var(--palette-lightest-rgb); 2372 --color-foreground-muted: rgb(var(--palette-lightest-rgb) / var(--opacity-muted-text)); 2373 --color-foreground-subdued: rgb(var(--palette-lightest-rgb) / var(--opacity-subdued-text)); 2374 --color-border: var(--palette-lightest); 2375 --color-border-rgb: var(--palette-lightest-rgb); 2376 2377 } 2378 2379 2380 .color-custom-sections--28565473820938__header_announcements_9jGBFp { 2381 /* Form-related tokens stay on .color-custom only â .text-block is a prose 2382 container (text/announcement/inline-text/blog-post-description/ 2383 collection-link/price/sku) and never holds form inputs. */ 2384 --input-disabled-background-color: rgb(var(--palette-lightest-rgb) / var(--opacity-10)); 2385 --input-disabled-border-color: rgb(var(--palette-lightest-rgb) / var(--opacity-5)); 2386 --input-disabled-text-color: rgb(var(--palette-lightest-rgb) / var(--opacity-50)); 2387 --checkbox-border: 1px solid rgb(var(--palette-lightest-rgb) / var(--opacity-35-55)); 2388 } 2389 2390 2391 .color-custom-sections--28565473820938__header_announcements_9jGBFp { 2392 color: var(--color, var(--color-foreground)); 2393 background-color: var(--color-background); 2394 } 2395 </style> 2396 2397 2398 2399<div class="section-background color-custom-sections--28565473820938__header_announcements_9jGBFp"></div> 2400<aside 2401 class="announcement-bar spacing-style section section--page-width color-custom-sections--28565473820938__header_announcements_9jGBFp" 2402 style="--padding-block-start: 15px; --padding-block-end:15px; --padding-inline-start:0px; --padding-inline-end:0px; 2403; --border-bottom-width: 1px; --color-border: #F5F5F7;" 2404> 2405 2406 2407 <announcement-bar-component 2408 class="announcement-bar__slider" 2409 2410 autoplay="4" aria-live="polite" 2411 2412 > 2413 2414 <slideshow-arrows 2415 position="center" 2416 2417><button 2418 class=" 2419 slideshow-control slideshow-control--previous 2420 2421 2422 slideshow-control--style-chevron 2423 button button-unstyled button-unstyled--transparent 2424 flip-x 2425 " 2426 2427 aria-label="Forrige lysbilde" 2428 2429 on:click="/previous" 2430 ref="previous" 2431> 2432 <span class="svg-wrapper icon-caret"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2433 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2434</svg> 2435</span> 2436</button> 2437 2438 2439<button 2440 class=" 2441 slideshow-control slideshow-control--next 2442 2443 2444 slideshow-control--style-chevron 2445 button button-unstyled button-unstyled--transparent 2446 2447 " 2448 2449 aria-label="Neste lysbilde" 2450 2451 on:click="/next" 2452 ref="next" 2453> 2454 <span class="svg-wrapper icon-caret"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2455 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2456</svg> 2457</span> 2458</button> 2459 2460 2461</slideshow-arrows> 2462 2463 2464 2465 2466 2467 <div class="announcement-bar__slides"> 2468 2469<slideshow-slide 2470 ref="slides[]" 2471 class=" 2472 announcement-bar__slide 2473 text-block 2474 text-block--AQkxhd295ejlWQ3FpU__announcement_gi9Tyj 2475 text-block--align-center 2476 text-block--full-width 2477 custom-typography 2478 custom-font-size 2479 2480 " 2481 style=" 2482 2483--font-size: 1rem; --font-weight: var(--font-subheading--weight);--font-family: var(--font-subheading--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-normal); 2484 2485 --width: 100%; 2486 --text-align: center; 2487 --line-height: 1; 2488 " 2489 2490 aria-hidden="false" 2491 > 2492 <p class="announcement-bar__text"> 2493 Fri frakt over 500 kr 2494 </p> 2495 2496 2497 <a 2498 class="announcement-bar__link" 2499 href="/collections/all" 2500 >
2501 <span class="visually-hidden"> 2502 Fri frakt over 500 kr 2503 </span> 2504 </a> 2505 2506 </slideshow-slide> 2507 2508 2509 2510<slideshow-slide 2511 ref="slides[]" 2512 class=" 2513 announcement-bar__slide 2514 text-block 2515 text-block--Ackh3QlpJTHlFRFRQM__announcement_FLnfxG 2516 text-block--align-center 2517 text-block--full-width 2518 custom-typography 2519 custom-font-size 2520 2521 " 2522 style=" 2523 2524--font-size: 1rem; --font-weight: var(--font-subheading--weight);--font-family: var(--font-subheading--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-normal); 2525 2526 --width: 100%; 2527 --text-align: center; 2528 --line-height: 1; 2529 " 2530 2531 aria-hidden="true" 2532 > 2533 <p class="announcement-bar__text"> 2534 Betal trygt med Vipps 2535 </p> 2536 2537 2538 </slideshow-slide> 2539 2540 2541 2542 </div> 2543 </announcement-bar-component> 2544</aside> 2545 2546 2547 2548 2549</div><header id="shopify-section-sections--28565473820938__header_section" class="shopify-section shopify-section-group-header-group header-section"> 2550 2551 2552 2553 2554 2555
2556<script type="application/ld+json"> 2557 { 2558 "@context": "http://schema.org", 2559 "@type": "Organization", 2560 "name": "Diasocks", 2561 2562 "logo": "https:\/\/diasocks.no\/cdn\/shop\/files\/Diasocks_logo_3_10_baae2afb-64c6-4ba3-b8bd-c40148fe183c.png?v=1781548611\u0026width=500", 2563 2564 "url": "https:\/\/diasocks.no" 2565 } 2566</script>
2566 2567 2568<header-component 2569 id="header-component" 2570 class="header" 2571 data-theme-color="rgb(255 255 255)" 2572 data-bubble-style="default" 2573 2574 2575 sticky="scroll-up" 2576 2577 data-skip-node-update 2578 data-scroll-direction="none" 2579 2580 2581 data-transparent-background="bottom" 2582 2583 style=" 2584 --color-background-top-row: rgba(255 255 255 / 1.0); 2585 --color-background-bottom-row: rgba(255 255 255 / 1.0); 2586 2587 2588 --cart-bubble-background: var(--palette-darkest); 2589 --cart-bubble-text: #ffffff; 2590 2591 2592 " 2593> 2594 <div class="header__underlay header__underlay-closed"></div> 2595 <div 2596 class="header__underlay header__underlay-open" 2597 ></div><h1 class="visually-hidden">Diasocks</h1> 2598 2599 2600 2601 2602 2603 2604 <div 2605 class="header__row header__row--top color-#ffffff section section--full-width-margin section--page-width color-custom-top-sections--28565473820938__header_section" 2606 ref="headerRowTop"style="--border-bottom-width: 0px; --border-bottom-width-mobile: 0px; --border-bottom-color-mobile: var(--color-border);"> 2607 <div class="header__columns spacing-style"> 2608 <style data-shopify> 2609 .color-custom-top-sections--28565473820938__header_section, 2610 .color-custom-top-sections--28565473820938__header_section .text-block { 2611 /* Background */ 2612 --color-background: #ffffff; 2613 --color-background-rgb: 255 255 255; 2614 2615 /* Opacity values adjusted for background brightness */ 2616 2617--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 26180.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 2619 2620 2621 2622 /* Foreground / text â explicit or smart-contrasted */ 2623 --color: #000000; 2624 --color-rgb: 0 0 0; 2625 --color-foreground: #000000; 2626 --color-foreground-rgb: 0 0 0; 2627 --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text)); 2628 --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text)); 2629 --color-border: var(--palette-darkest); 2630 --color-border-rgb: var(--palette-darkest-rgb); 2631 2632 } 2633 2634 2635 .color-custom-top-sections--28565473820938__header_section { 2636 /* Form-related tokens stay on .color-custom only â .text-block is a prose 2637 container (text/announcement/inline-text/blog-post-description/ 2638 collection-link/price/sku) and never holds form inputs. */ 2639 --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10)); 2640 --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5)); 2641 --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50)); 2642 --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55)); 2643 } 2644 2645 2646 .color-custom-top-sections--28565473820938__header_section { 2647 color: var(--color, var(--color-foreground)); 2648 background-color: var(--color-background); 2649 } 2650 </style> 2651 2652 2653 2654 2655<div 2656 class="header__column header__column--left" 2657 data-testid="header-top-left" 2658 > 2659 2660 2661 2662 2663 2664 2665 2666 <div 2667 class="header__drawer" 2668 ref="headerDrawerContainer" 2669 data-hydration-key="header-drawer-mobile" 2670 2671 > 2672 2673 2674 2675 2676 2677 <style data-shopify> 2678 .color-custom-ARkdQcW5zNHFyWnY3R__header-menu-1, 2679 .color-custom-ARkdQcW5zNHFyWnY3R__header-menu-1 .text-block { 2680 /* Background */ 2681 --color-background: #ffffff; 2682 --color-background-rgb: 255 255 255; 2683 2684 /* Opacity values adjusted for background brightness */ 2685 2686--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 26870.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 2688 2689 2690 2691 /* Foreground / text â explicit or smart-contrasted */ 2692 --color: #000000; 2693 --color-rgb: 0 0 0; 2694 --color-foreground: #000000; 2695 --color-foreground-rgb: 0 0 0; 2696 --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text)); 2697 --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text)); 2698 --color-border: var(--palette-darkest); 2699 --color-border-rgb: var(--palette-darkest-rgb); 2700 2701 } 2702 2703 2704 .color-custom-ARkdQcW5zNHFyWnY3R__header-menu-1 { 2705 /* Form-related tokens stay on .color-custom only â .text-block is a prose 2706 container (text/announcement/inline-text/blog-post-description/ 2707 collection-link/price/sku) and never holds form inputs. */ 2708 --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10)); 2709 --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5)); 2710 --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50)); 2711 --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55)); 2712 } 2713 2714 2715 .color-custom-ARkdQcW5zNHFyWnY3R__header-menu-1 { 2716 color: var(--color, var(--color-foreground)); 2717 background-color: var(--color-background); 2718 } 2719 </style> 2720 2721 2722
2723<script 2724 src="//diasocks.no/cdn/shop/t/25/assets/header-drawer.js?v=121243031541024704371786808745" 2725 type="module" 2726 fetchpriority="low" 2727></script>
2727 2728 2729<header-drawer 2730 class="header-drawer " 2731 style="--menu-image-border-radius: 0px; --resource-card-corner-radius: 0px;" 2732> 2733 <details 2734 id="Details-menu-drawer-container" 2735 data-skip-node-update="true" 2736 class="menu-drawer-container" 2737 ref="details" 2738 scroll-lock 2739 > 2740 <summary 2741 class="header__icon header__icon--menu header__icon--summary" 2742 aria-label="Meny" 2743 on:click="/toggle" 2744 > 2745 <span class="svg-wrapper header-drawer-icon header-drawer-icon--open"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2746 <path d="M1 3.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 2747 <path d="M1 10.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 2748</svg> 2749</span> 2750 <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2751<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/> 2752</svg> 2753</span> 2754 </summary> 2755 <div 2756 ref="menuDrawer" 2757 class=" 2758 menu-drawer 2759 2760 color-custom-ARkdQcW5zNHFyWnY3R__header-menu-1 2761 2762 " 2763 > 2764 <button 2765 class="button close-button menu-drawer__close-button focus-inset" 2766 type="button" 2767 aria-label="Lukk" 2768 on:click="/close" 2769 > 2770 <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2771<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/> 2772</svg> 2773</span> 2774 </button> 2775 <nav 2776 class="menu-drawer__navigation" 2777 style="--menu-top-level-font-family: var(--font-body--family); 2778--menu-top-level-font-size-desktop: 1rem; --menu-top-level-font-style: var(--font-body--style); --menu-top-level-font-weight: var(--font-body--weight); --menu-top-level-font-case:none; 2779 2780 --menu-top-level-font-size: var(--menu-font-2xl--size); --menu-top-level-font-line-height: 2781 var(--menu-font-2xl--line-height); 2782 2783--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb); 2784 2785--menu-parent-font-family: var(--font-body--family); --menu-parent-font-style: 2786var(--font-body--style); --menu-parent-font-weight: var(--font-body--weight); --menu-parent-font-case: 2787none; 2788 2789 --menu-parent-font-size: var(--menu-font-sm--size); --menu-parent-font-line-height: 2790 var(--menu-font-sm--line-height); --menu-parent-font-color: var(--color-foreground-subdued); 2791 --menu-parent-active-font-color: var(--color-foreground); 2792 2793--menu-child-font-family: var(--font-body--family); --menu-child-font-style:var(--font-body--style); --menu-child-font-weight: var(--font-body--weight); --menu-child-font-case: 2794none; 2795 2796 --menu-child-font-size: var(--menu-font-md--size); --menu-child-font-line-height: var(--menu-font-md--line-height); 2797 --menu-child-font-color: var(--color-foreground); --menu-child-active-font-color: var(--color-foreground-subdued); 2798 2799 2800 " 2801 aria-label="Primær" 2802 > 2803 <ul 2804 class="menu-drawer__menu has-submenu" 2805 role="list" 2806 > 2807 2808 2809 2810 <li 2811 style="--menu-drawer-animation-index: 1;" 2812 class="menu-drawer__list-item--flat" 2813 > 2814 2815<a 2816 id="HeaderDrawer-stottestromper" 2817 href="/products/stottestromper" 2818 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 2819 2820 >
2821 <span class="menu-drawer__menu-item-text wrap-text">Støttestrømper</span> 2822 </a> 2823 2824 </li> 2825 <li 2826 style="--menu-drawer-animation-index: 2;" 2827 class="menu-drawer__list-item--flat" 2828 > 2829 2830<a 2831 id="HeaderDrawer-komfortstromper" 2832 href="/products/komfortstromper" 2833 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 2834 2835 > 2836 <span class="menu-drawer__menu-item-text wrap-text">Komfortstrømper</span> 2837 </a> 2838 2839 </li> 2840 <li 2841 style="--menu-drawer-animation-index: 3;" 2842 class="menu-drawer__list-item--flat" 2843 > 2844 2845<a 2846 id="HeaderDrawer-ankelsokker-med-kompresjon" 2847 href="/products/ankelstottestromper" 2848 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 2849 2850 > 2851 <span class="menu-drawer__menu-item-text wrap-text">Ankelsokker med kompresjon</span> 2852 </a> 2853 2854 </li> 2855 <li 2856 style="--menu-drawer-animation-index: 4;" 2857 class="menu-drawer__list-item--flat" 2858 > 2859 2860<a 2861 id="HeaderDrawer-alle-produkter" 2862 href="/collections/bestselgere" 2863 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 2864 2865 > 2866 <span class="menu-drawer__menu-item-text wrap-text">Alle produkter</span> 2867 </a> 2868 2869 </li> 2870 </ul> 2871 </nav> 2872 <div 2873 class="menu-drawer__utility-links menu-drawer__animated-element" 2874 style="--menu-drawer-animation-index: 4;" 2875 > 2876 2877 </div> 2878 2879 2880 </div> 2881 <div 2882 class="menu-drawer__backdrop" 2883 on:click="header-drawer/close" 2884 ></div> 2885 </details> 2886</header-drawer> 2887 2888 2889 2890 </div> 2891 2892 2893 2894<style data-shopify> 2895 .header__underlay { 2896 --color-submenu: rgb(255 255 255); 2897 } 2898</style> 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 <search-button 2910 class="search-action search-action--hidden-on-menu" 2911 > 2912 <button 2913 on:click="#search-modal/showDialog" 2914 class="button-unstyled header-actions__action" 2915 aria-label="Søk" 2916 aria-haspopup="dialog" 2917 > 2918 <span class="hidden"> 2919 Søk 2920 </span> 2921 2922 <span class="svg-wrapper "> 2923 <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg> 2924 2925 </span> 2926 </button> 2927 </search-button> 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942<a 2943 2944 href="/" 2945 class="size-style spacing-style header-logo" 2946 style=" 2947 --size-style-width: ;--size-style-height: ; 2948 --padding-block-start: 0px;--padding-block-end: 0px; 2949 --font-family: var(--font-body--family); 2950 --font-style: var(--font-body--style); 2951 --font-weight: 600; 2952 " 2953 2954> 2955 2956 2957 <span 2958 class="header-logo__image-container header-logo__image-container--original" 2959 data-testid="header-logo" 2960 > 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 <img src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA=" data-src="//diasocks.no/cdn/shop/files/Diasocks_logo_3_10_baae2afb-64c6-4ba3-b8bd-c40148fe183c.png?height=50&v=1781548611" alt="Diasocks - Startside" width="188" height="50" class="header-logo__image lazyload " data-srcset="//diasocks.no/cdn/shop/files/Diasocks_logo_3_10_baae2afb-64c6-4ba3-b8bd-c40148fe183c.png?height=50&v=1781548611 1x, //diasocks.no/cdn/shop/files/Diasocks_logo_3_10_baae2afb-64c6-4ba3-b8bd-c40148fe183c.png?height=100&v=1781548611 2x, //diasocks.no/cdn/shop/files/Diasocks_logo_3_10_baae2afb-64c6-4ba3-b8bd-c40148fe183c.png?height=150&v=1781548611 3x" style="--header-logo-image-width: 188px;--header-logo-image-width-mobile: 132px; --header-logo-image-height: 50px; --header-logo-image-height-mobile: 35px;"> 2974 2975 2976 2977 </span> 2978 2979 2980</a> 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 <style data-shopify> 3001 .color-custom-ARkdQcW5zNHFyWnY3R__header-menu, 3002 .color-custom-ARkdQcW5zNHFyWnY3R__header-menu .text-block {
3003 /* Background */ 3004 --color-background: #ffffff; 3005 --color-background-rgb: 255 255 255; 3006 3007 /* Opacity values adjusted for background brightness */ 3008 3009--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 30100.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 3011 3012 3013 3014 /* Foreground / text â explicit or smart-contrasted */ 3015 --color: #000000; 3016 --color-rgb: 0 0 0; 3017 --color-foreground: #000000; 3018 --color-foreground-rgb: 0 0 0; 3019 --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text)); 3020 --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text)); 3021 --color-border: var(--palette-darkest); 3022 --color-border-rgb: var(--palette-darkest-rgb); 3023 3024 } 3025 3026 3027 .color-custom-ARkdQcW5zNHFyWnY3R__header-menu { 3028 /* Form-related tokens stay on .color-custom only â .text-block is a prose 3029 container (text/announcement/inline-text/blog-post-description/ 3030 collection-link/price/sku) and never holds form inputs. */ 3031 --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10)); 3032 --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5)); 3033 --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50)); 3034 --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55)); 3035 } 3036 3037 3038 .color-custom-ARkdQcW5zNHFyWnY3R__header-menu { 3039 color: var(--color, var(--color-foreground)); 3040 background-color: var(--color-background); 3041 } 3042 </style> 3043 3044 3045 3046 3047 3048 <header-menu 3049 ref="headerMenu" 3050 class="header-menu" 3051 3052 data-hydration-key="header-menu" 3053 > 3054 <div class="header-menu__inner"> 3055 <nav 3056 class="menu-list" 3057 aria-label="Primær" 3058 style="--menu-top-level-font-family: var(--font-body--family); 3059--menu-top-level-font-size-desktop: 1rem; --menu-top-level-font-style: var(--font-body--style); --menu-top-level-font-weight: var(--font-body--weight); --menu-top-level-font-case:none; 3060 3061 --menu-top-level-font-size: var(--menu-font-sm--size); --menu-top-level-font-line-height: 3062 var(--menu-font-sm--line-height); 3063 3064--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb); 3065" 3066 > 3067 3068 <overflow-list 3069 3070 ref="overflowMenu" 3071 3072 3073 class="overflow-menu background-matches-parent" 3074 3075 3076 minimum-items="2" 3077 3078 3079 data-testid="header-menu-overflow-list" 3080 3081 3082 data-skip-node-update 3083 3084> 3085 <template shadowrootmode="open"> 3086 <link href="//diasocks.no/cdn/shop/t/25/assets/overflow-list.css?v=16727044177065489451786808794" rel="stylesheet" type="text/css" media="all" /> 3087 3088 <ul part="list"> 3089 <slot></slot> 3090 <slot 3091 name="more" 3092 part="more" 3093 hidden 3094 3095 > 3096 <li 3097 part="more" 3098 > 3099 <button 3100 class="button" 3101 type="button" 3102 tabindex="0" 3103 3104 > 3105 Mer 3106 </button> 3107 </li> 3108 </slot> 3109 <li 3110 part="placeholder" 3111 hidden 3112 ></li> 3113 </ul> 3114 3115 <div part="overflow"> 3116 <ul part="overflow-list"> 3117 <slot name="overflow"></slot> 3118 </ul> 3119 </div> 3120 </template> 3121 3122 3123 3124 <li 3125 role="presentation" 3126 class="menu-list__list-item" 3127 on:focus="/activate" 3128 on:blur="/deactivate" 3129 on:pointerenter="/activate" 3130 on:pointerleave="/deactivate" 3131 > 3132 <a 3133 href="/products/stottestromper" 3134 data-skip-node-update="true" 3135 class="menu-list__link" 3136 ref="menuitem" 3137 > 3138 <span class="menu-list__link-title">Støttestrømper</span> 3139 </a></li> 3140 3141 <li 3142 role="presentation" 3143 class="menu-list__list-item" 3144 on:focus="/activate" 3145 on:blur="/deactivate" 3146 on:pointerenter="/activate" 3147 on:pointerleave="/deactivate" 3148 > 3149 <a 3150 href="/products/komfortstromper" 3151 data-skip-node-update="true" 3152 class="menu-list__link" 3153 ref="menuitem" 3154 >
3155 <span class="menu-list__link-title">Komfortstrømper</span> 3156 </a></li> 3157 3158 <li 3159 role="presentation" 3160 class="menu-list__list-item" 3161 on:focus="/activate" 3162 on:blur="/deactivate" 3163 on:pointerenter="/activate" 3164 on:pointerleave="/deactivate" 3165 > 3166 <a 3167 href="/products/ankelstottestromper" 3168 data-skip-node-update="true" 3169 class="menu-list__link" 3170 ref="menuitem" 3171 > 3172 <span class="menu-list__link-title">Ankelsokker med kompresjon</span> 3173 </a></li> 3174 3175 <li 3176 role="presentation" 3177 class="menu-list__list-item" 3178 on:focus="/activate" 3179 on:blur="/deactivate" 3180 on:pointerenter="/activate" 3181 on:pointerleave="/deactivate" 3182 > 3183 <a 3184 href="/collections/bestselgere" 3185 data-skip-node-update="true" 3186 class="menu-list__link" 3187 ref="menuitem" 3188 > 3189 <span class="menu-list__link-title">Alle produkter</span> 3190 </a></li> 3191 3192 <li 3193 class="menu-list__list-item" 3194 role="presentation" 3195 slot="more" 3196 on:focus="/activate" 3197 on:blur="/deactivate" 3198 on:pointerenter="/activate" 3199 on:pointerleave="/deactivate" 3200 > 3201 <button role="listitem" class="menu-list__link button-unstyled"> 3202 <span class="menu-list__link-title">Mer</span> 3203 </button> 3204 </li> 3205 3206</overflow-list> 3207 3208 </nav> 3209 </div> 3210 3211
3211<script 3212 src="//diasocks.no/cdn/shop/t/25/assets/header-menu.js?v=95929844569485293131786808746" 3213 type="module" 3214 fetchpriority="low" 3215 ></script>
3215 3216 </header-menu> 3217 3218 3219<style data-shopify> 3220 .header__underlay { 3221 --color-submenu: rgb(255 255 255); 3222 } 3223</style> 3224 3225 3226 3227 3228 3229 3230 3231 </div><div 3232 class="header__column header__column--right" 3233 data-testid="header-top-right" 3234 > 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 <search-button 3249 class="search-action search-action--hidden-on-drawer" 3250 > 3251 <button 3252 on:click="#search-modal/showDialog" 3253 class="button-unstyled header-actions__action" 3254 aria-label="Søk" 3255 aria-haspopup="dialog" 3256 > 3257 <span class="hidden"> 3258 Søk 3259 </span> 3260 3261 <span class="svg-wrapper "> 3262 <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg> 3263 3264 </span> 3265 </button> 3266 </search-button> 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277
3278<script 3279 type="module" 3280 src="//diasocks.no/cdn/shop/t/25/assets/cart-icon.js?v=109428858171217037751786808725" 3281 fetchpriority="low" 3282></script>
3282 3283 3284 3285 3286 3287 3288<header-actions 3289 3290> 3291 3292 3293 <div 3294 class="account-button header-actions__action color-custom-popover" 3295 > 3296 <shopify-store store-domain="https://diasocks.no" country="NO" language="nb"></shopify-store> 3297<shopify-account 3298 menu="customer-account-main-menu" 3299 3300 > 3301 3302 <span 3303 slot="signed-out-avatar" 3304 class="account-button__text header-actions__text-style hidden" 3305 > 3306 Konto 3307 </span> 3308 3309 <span 3310 slot="signed-out-avatar" 3311 class="" 3312 aria-hidden="true" 3313 > 3314 3315 <svg 3316 xmlns="http://www.w3.org/2000/svg" 3317 width="15" 3318 height="17" 3319 viewBox="0 0 15 17" 3320 fill="none" 3321 slot="signed-out-avatar" 3322 class="account-button__icon" 3323 > 3324 <path 3325 stroke="currentColor" 3326 stroke-linejoin="round" 3327 stroke-width="var(--icon-stroke-width)" 3328 d="M10.375 3.813a3.063 3.063 0 1 1-6.125 0 3.063 3.063 0 0 1 6.125 0ZM7.313 9.5c-3.667 0-6.24 2.691-6.563 6.125h13.125C13.552 12.191 10.979 9.5 7.312 9.5Z" 3329 /> 3330 </svg> 3331 3332 </span> 3333 3334 </shopify-account> 3335 </div> 3336 3337 3338 3339 <button 3340 class="header-actions__action button-unstyled" 3341 on:click="#cart-drawer/toggle" 3342 aria-haspopup="dialog" 3343 aria-expanded="false" 3344 aria-controls="cart-drawer" 3345 aria-label="Handlekurv" 3346 aria-describedby="cart-bubble-text" 3347 data-testid="cart-drawer-trigger" 3348 > 3349 3350 <cart-icon 3351 class="header-actions__cart-icon" 3352 data-testid="cart-icon" 3353 > 3354 <span class="hidden"> 3355 Handlekurv 3356 </span> 3357 3358 <span 3359 class="svg-wrapper " 3360 aria-hidden="true" 3361 > 3362 <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M3.392 6.875h13.216v8.016c0 .567-.224 1.112-.624 1.513-.4.402-.941.627-1.506.627H5.522a2.13 2.13 0 0 1-1.506-.627 2.15 2.15 0 0 1-.624-1.513zM8.818 2.969h2.333c.618 0 1.211.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.313c0-.622.246-1.218.683-1.658a2.33 2.33 0 0 1 1.65-.686"/></svg> 3363 3364 </span> 3365 3366 3367 3368<div 3369 ref="cartBubble" 3370 class="cart-bubble visually-hidden" 3371 style="--cart-bubble-background-fallback: #000000; --cart-bubble-text-fallback: #ffffff;" 3372 3373 3374 data-maintain-ratio 3375 3376> 3377 <span class="cart-bubble__background"></span> 3378 <span 3379 ref="cartBubbleText" 3380 id="cart-bubble-text" 3381 class="cart-bubble__text" 3382 > 3383 <span 3384 class="cart-bubble__text-count hidden" 3385 ref="cartBubbleCount" 3386 aria-hidden="true" 3387 data-testid="cart-bubble" 3388 > 33890</span> 3390 </span> 3391</div> 3392 3393 3394 3395 </cart-icon> 3396 3397 </button> 3398 3399 3400 <span 3401 ref="liveRegion" 3402 class="visually-hidden" 3403 role="status" 3404 data-testid="cart-count-live-region" 3405 ></span> 3406</header-actions> 3407
3408<script 3409 type="module" 3410 src="//diasocks.no/cdn/shop/t/25/assets/header-actions.js?v=157135685635924702181786808745" 3411 fetchpriority="low" 3412></script>
3412 3413 3414 3415 3416 3417 3418 3419 </div> 3420 </div> 3421 </div> 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 <div class="header__row header__navigation-bar-row"> 3434 3435 3436 3437 3438 3439 3440 3441<style data-shopify> 3442 .header__underlay { 3443 --color-submenu: rgb(255 255 255); 3444 } 3445</style> 3446 3447 3448 3449 3450 </div> 3451 3452</header-component> 3453
3454<script 3455 src="//diasocks.no/cdn/shop/t/25/assets/header.js?v=183210491532312943441786808747" 3456 type="module" 3457></script>
3457 3458 3459 3460 3461 3462
3462<script type="module"> 3463 import { hydrate } from '@theme/section-hydration'; 3464 const url = new URL(window.location.href); 3465 url.searchParams.delete('page'); 3466 hydrate('sections--28565473820938__header_section', url); 3467 </script>
3467 3468
3469<script>document.addEventListener("startasyncloading",(function(){document.querySelectorAll("script[data-src]").forEach((t=>{const c=t.dataset.src;null!=c&&(t.src=c,t.removeAttribute("data-src"))}))}));</script>
3469 3470 3471 3472</header> 3473<!-- END sections: header-group --> 3474 </div> 3475 3476
3476<script> 3477 // Inline header height and menu style calculations to prevent layout shift 3478 // Note: Updates in calculateHeaderGroupHeight(), updateTransparentHeaderOffset() and setHeaderMenuStyle() utilities.js should be kept in sync with this function 3479 (function setHeaderHeighCustomProperties() { 3480 /* 3481 * Header calculation functions for maintaining CSS variables 3482 * Mimic calculateHeaderGroupHeight() in utilities.js 3483 */ 3484 const header = document.querySelector('header-component'); 3485 const headerGroup = document.querySelector('#header-group'); 3486 const hasHeaderSection = headerGroup?.querySelector('.header-section'); 3487 3488 if (!header || !headerGroup) return; 3489 3490 const headerTopRow = header.querySelector('.header__row--top'); 3491 const headerHeight = header.offsetHeight; 3492 3493 // Calculate the total height of the header group 3494 let headerGroupHeight = 0; 3495 const children = headerGroup.children; 3496 for (let i = 0; i < children.length; i++) { 3497 const element = children[i]; 3498 if (element === header || !(element instanceof HTMLElement)) continue; 3499 headerGroupHeight += element.offsetHeight; 3500 } 3501 3502 // Check for transparent header special case 3503 if (header.hasAttribute('transparent') && header.parentElement?.nextElementSibling) { 3504 headerGroupHeight += headerHeight; 3505 } 3506 3507 // Set CSS variables 3508 document.body.style.setProperty('--header-height', `${headerHeight}px`); 3509 document.body.style.setProperty('--header-group-height', `${headerGroupHeight}px`); 3510 3511 if (headerTopRow) { 3512 window.requestAnimationFrame(function () { 3513 document.body.style.setProperty('--top-row-height', `${headerTopRow.offsetHeight}px`); 3514 }); 3515 } 3516 3517 /** 3518 * Updates CSS custom properties for transparent header offset calculation 3519 * Mimic updateTransparentHeaderOffset() in utilities.js 3520 */ 3521 3522 if (!hasHeaderSection || !header?.hasAttribute('transparent')) { 3523 document.body.style.setProperty('--transparent-header-offset-boolean', '0'); 3524 return; 3525 } 3526 3527 const hasImmediateSection = hasHeaderSection.nextElementSibling?.classList.contains('shopify-section'); 3528 3529 const shouldApplyOffset = !hasImmediateSection ? '1' : '0'; 3530 document.body.style.setProperty('--transparent-header-offset-boolean', shouldApplyOffset); 3531 })(); 3532 3533 (function setHeaderMenuStyle() { 3534 const headerComponent = document.querySelector('#header-component'); 3535 if (headerComponent) { 3536 const isTouchDevice = 'ontouchstart' in window && navigator.maxTouchPoints > 0; 3537 const overflowList = headerComponent?.querySelector('overflow-list'); 3538 const hasReachedMinimum = overflowList && overflowList.hasAttribute('minimum-reached'); 3539 headerComponent.dataset.menuStyle = isTouchDevice || hasReachedMinimum ? 'drawer' : 'menu'; 3540 } 3541 })(); 3542 </script>
3542 3543 3544 <main 3545 id="MainContent" 3546 class="content-for-layout" 3547 role="main" 3548 data-page-transition-enabled="false" 3549 data-product-transition="false" 3550 data-template="index" 3551 > 3552 <div id="shopify-section-template--28565473362186__custom_liquid_Hk7FnP" class="shopify-section"> 3553 3554 3555 3556 3557 3558 3559 <style data-shopify> 3560 .color-custom-template--28565473362186__custom_liquid_Hk7FnP, 3561 .color-custom-template--28565473362186__custom_liquid_Hk7FnP .text-block { 3562 /* Background */ 3563 --color-background: #F5F5F7; 3564 --color-background-rgb: 245 245 247; 3565 3566 /* Opacity values adjusted for background brightness */ 3567 3568--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 35690.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 3570 3571 3572 3573 /* Foreground / text â explicit or smart-contrasted */ 3574 --color: #000000; 3575 --color-rgb: 0 0 0; 3576 --color-foreground: #000000; 3577 --color-foreground-rgb: 0 0 0; 3578 --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text)); 3579 --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text)); 3580 --color-border: var(--palette-darkest); 3581 --color-border-rgb: var(--palette-darkest-rgb); 3582 3583 } 3584 3585 3586 .color-custom-template--28565473362186__custom_liquid_Hk7FnP { 3587 /* Form-related tokens stay on .color-custom only â .text-block is a prose 3588 container (text/announcement/inline-text/blog-post-description/ 3589 collection-link/price/sku) and never holds form inputs. */ 3590 --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10)); 3591 --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5)); 3592 --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50)); 3593 --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55)); 3594 } 3595 3596 3597 .color-custom-template--28565473362186__custom_liquid_Hk7FnP { 3598 color: var(--color, var(--color-foreground)); 3599 background-color: var(--color-background); 3600 } 3601 </style> 3602 3603 3604 3605<div 3606 class="section-background color-custom-template--28565473362186__custom_liquid_Hk7FnP" 3607></div> 3608<div 3609 class="section section--page-width spacing-style color-custom-template--28565473362186__custom_liquid_Hk7FnP" 3610 style="--padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; 3611" 3612> 3613 <section class="diasocks-hero-v2"> 3614 <div class="diasocks-hero-v2__inner"> 3615 <a 3616 class="diasocks-hero-v2__media" 3617 href="https://diasocks.no/products/stottestromper" 3618 aria-label="Se Diasocks støttestrømper" 3619 > 3620 <img 3621 src="https://diasocks.no/cdn/shop/files/Heading_2.webp?v=1772639978&width=900" 3622 srcset=" 3623 https://diasocks.no/cdn/shop/files/Heading_2.webp?v=1772639978&width=480 480w, 3624 https://diasocks.no/cdn/shop/files/Heading_2.webp?v=1772639978&width=720 720w, 3625 https://diasocks.no/cdn/shop/files/Heading_2.webp?v=1772639978&width=900 900w, 3626 https://diasocks.no/cdn/shop/files/Heading_2.webp?v=1772639978&width=1200 1200w 3627 " 3628 sizes="(max-width: 749px) 100vw, (max-width: 989px) 45vw, 54vw" 3629 alt="Christina Schollin anbefaler Diasocks støttestrømper" 3630 width="1200" 3631 height="1200" 3632 loading="eager" 3633 fetchpriority="high" 3634 decoding="async" 3635 > 3636 </a> 3637 3638 <div class="diasocks-hero-v2__content"> 3639 <div class="diasocks-hero-v2__proof"> 3640 <span 3641 class="diasocks-hero-v2__rating" 3642 role="img" 3643 aria-label="4,4 av 5 stjerner" 3644 > 3645 <span 3646 class="diasocks-hero-v2__stars-base" 3647 aria-hidden="true" 3648 >â â â â â </span> 3649 3650 <span 3651 class="diasocks-hero-v2__stars-fill" 3652 aria-hidden="true" 3653 >â â â â â </span> 3654 </span> 3655 3656 <span>4,4/5 · Over 1 million solgte par</span> 3657 </div> 3658 3659 <h1 class="diasocks-hero-v2__heading"> 3660 FÃ¥ lettere ben med støttestrømper som er enkle Ã¥ ta pÃ¥ 3661 </h1> 3662 3663 <a 3664 class="diasocks-hero-v2__button" 3665 href="https://diasocks.no/products/stottestromper" 3666 >
3667 <span>FÃ¥ 5 par for prisen av 2</span> 3668 <span class="diasocks-hero-v2__arrow" aria-hidden="true">â</span> 3669 </a> 3670 3671 <div class="diasocks-hero-v2__guarantee"> 3672 <svg viewBox="0 0 24 24" aria-hidden="true"> 3673 <path d="M12 2.75 19 5.5v5.75c0 4.55-2.94 8.48-7 9.95-4.06-1.47-7-5.4-7-9.95V5.5l7-2.75Z"></path> 3674 <path d="m8.75 12 2.05 2.05 4.45-4.45"></path> 3675 </svg> 3676 3677 <span>30 dagers passformgaranti</span> 3678 </div> 3679 3680 <ul class="diasocks-hero-v2__benefits"> 3681 <li>Motvirker trøtte og hovne ben 3682</li> 3683 <li>Enkle Ã¥ ta pÃ¥ og av</li> 3684 <li>Myke og behagelige hele dagen</li> 3685 </ul> 3686 </div> 3687 </div> 3688</section> 3689 3690<style> 3691 .diasocks-hero-v2 { 3692 padding: 28px 20px; 3693 overflow: hidden; 3694 background: #F5F5F7; 3695 color: #172126; 3696 } 3697 3698 .diasocks-hero-v2__inner { 3699 display: grid; 3700 grid-template-columns: minmax(0, 0.9fr) minmax(460px, 1.1fr); 3701 align-items: center; 3702 gap: clamp(38px, 6vw, 90px); 3703 width: min(1400px, 100%); 3704 margin: 0 auto; 3705 } 3706 3707 .diasocks-hero-v2__content { 3708 grid-column: 1; 3709 grid-row: 1; 3710 max-width: 630px; 3711 padding: 34px 0; 3712 } 3713 3714 .diasocks-hero-v2__media { 3715 grid-column: 2; 3716 grid-row: 1; 3717 display: block; 3718 overflow: hidden; 3719 border-radius: 16px; 3720 box-shadow: 0 18px 50px rgba(22, 31, 36, 0.12); 3721 } 3722 3723 .diasocks-hero-v2__media img { 3724 display: block; 3725 width: 100%; 3726 height: auto; 3727 aspect-ratio: 1; 3728 object-fit: cover; 3729 transition: transform 350ms ease; 3730 } 3731 3732 .diasocks-hero-v2__media:hover img { 3733 transform: scale(1.015); 3734 } 3735 3736 .diasocks-hero-v2__proof { 3737 display: flex; 3738 align-items: center; 3739 gap: 10px; 3740 margin-bottom: 18px; 3741 font-size: 14px; 3742 font-weight: 750; 3743 line-height: 1.3; 3744 } 3745 3746 .diasocks-hero-v2__rating { 3747 position: relative; 3748 display: inline-block; 3749 flex-shrink: 0; 3750 font-size: 16px; 3751 letter-spacing: 1px; 3752 line-height: 1; 3753 } 3754 3755 .diasocks-hero-v2__stars-base { 3756 display: block; 3757 color: #d5d5d5; 3758 white-space: nowrap; 3759 } 3760 3761 .diasocks-hero-v2__stars-fill { 3762 position: absolute; 3763 top: 0; 3764 left: 0; 3765 display: block; 3766 width: 88%; 3767 overflow: hidden; 3768 color: #e5a900; 3769 white-space: nowrap; 3770 } 3771 3772 .diasocks-hero-v2__heading { 3773 max-width: 620px; 3774 margin: 0; 3775 font-family: inherit; 3776 font-size: clamp(40px, 4.3vw, 64px); 3777 font-weight: 750; 3778 letter-spacing: -0.045em; 3779 line-height: 1.02; 3780 text-wrap: balance; 3781 } 3782 3783 .diasocks-hero-v2__button { 3784 display: inline-flex; 3785 align-items: center; 3786 justify-content: center; 3787 gap: 18px; 3788 min-height: 58px; 3789 margin-top: 29px; 3790 padding: 15px 24px; 3791 border: 2px solid #003b57; 3792 border-radius: 7px; 3793 background: #003b57; 3794 color: #ffffff; 3795 font-size: 17px; 3796 font-weight: 750; 3797 line-height: 1.2; 3798 text-decoration: none; 3799 transition: 3800 background 180ms ease, 3801 border-color 180ms ease, 3802 transform 180ms ease; 3803 } 3804 3805 .diasocks-hero-v2__arrow { 3806 font-size: 22px; 3807 line-height: 1; 3808 transition: transform 180ms ease; 3809 } 3810 3811 .diasocks-hero-v2__button:hover { 3812 border-color: #005477; 3813 background: #005477; 3814 color: #ffffff; 3815 transform: translateY(-2px); 3816 } 3817 3818 .diasocks-hero-v2__button:hover .diasocks-hero-v2__arrow { 3819 transform: translateX(4px); 3820 } 3821 3822 .diasocks-hero-v2__button:focus-visible, 3823 .diasocks-hero-v2__media:focus-visible { 3824 outline: 3px solid #75b9dc; 3825 outline-offset: 4px; 3826 } 3827 3828 .diasocks-hero-v2__guarantee { 3829 display: flex; 3830 align-items: center; 3831 gap: 7px; 3832 margin-top: 13px; 3833 color: #334046; 3834 font-size: 13px; 3835 font-weight: 650; 3836 line-height: 1.25; 3837 } 3838 3839 .diasocks-hero-v2__guarantee svg { 3840 flex: 0 0 20px; 3841 width: 20px; 3842 height: 20px; 3843 fill: none; 3844 stroke: #17643b; 3845 stroke-linecap: round; 3846 stroke-linejoin: round; 3847 stroke-width: 1.7; 3848 } 3849 3850 .diasocks-hero-v2__benefits { 3851 display: grid; 3852 gap: 11px; 3853 margin: 23px 0 0; 3854 padding: 0; 3855 list-style: none; 3856 } 3857 3858 .diasocks-hero-v2__benefits li { 3859 position: relative; 3860 padding-left: 25px; 3861 font-size: 16px; 3862 font-weight: 650; 3863 line-height: 1.35; 3864 } 3865
3866 .diasocks-hero-v2__benefits li::before { 3867 position: absolute; 3868 top: -0.04em; 3869 left: 0; 3870 color: #17643b; 3871 content: "â"; 3872 font-size: 18px; 3873 font-weight: 800; 3874 line-height: 1.35; 3875 } 3876 3877 @media (max-width: 989px) and (min-width: 750px) { 3878 .diasocks-hero-v2__inner { 3879 grid-template-columns: minmax(0, 1fr) minmax(380px, 0.9fr); 3880 gap: 30px; 3881 } 3882 3883 .diasocks-hero-v2__heading { 3884 font-size: clamp(36px, 5vw, 50px); 3885 } 3886 } 3887 3888 @media (max-width: 749px) { 3889 .diasocks-hero-v2 { 3890 padding: 0 0 30px; 3891 } 3892 3893 .diasocks-hero-v2__inner { 3894 display: flex; 3895 flex-direction: column; 3896 gap: 0; 3897 width: 100%; 3898 } 3899 3900 .diasocks-hero-v2__media { 3901 order: 1; 3902 width: 100%; 3903 border-radius: 0; 3904 box-shadow: none; 3905 } 3906 3907 .diasocks-hero-v2__content { 3908 order: 2; 3909 width: 100%; 3910 max-width: none; 3911 padding: 23px 20px 0; 3912 } 3913 3914 .diasocks-hero-v2__proof { 3915 justify-content: flex-start; 3916 margin-bottom: 16px; 3917 font-size: 13px; 3918 } 3919 3920 .diasocks-hero-v2__rating { 3921 font-size: 14px; 3922 letter-spacing: 0; 3923 } 3924 3925 .diasocks-hero-v2__heading { 3926 max-width: 560px; 3927 font-size: clamp(34px, 9.4vw, 43px); 3928 line-height: 1.04; 3929 } 3930 3931 .diasocks-hero-v2__button { 3932 width: 100%; 3933 min-height: 57px; 3934 margin-top: 24px; 3935 padding: 14px 18px; 3936 font-size: 16px; 3937 } 3938 3939 .diasocks-hero-v2__guarantee { 3940 justify-content: center; 3941 margin-top: 13px; 3942 font-size: 12px; 3943 } 3944 3945 .diasocks-hero-v2__guarantee svg { 3946 flex-basis: 18px; 3947 width: 18px; 3948 height: 18px; 3949 } 3950 3951 .diasocks-hero-v2__benefits { 3952 gap: 10px; 3953 margin-top: 22px; 3954 } 3955 3956 .diasocks-hero-v2__benefits li { 3957 font-size: 15px; 3958 } 3959 } 3960 3961 @media (prefers-reduced-motion: reduce) { 3962 .diasocks-hero-v2__button, 3963 .diasocks-hero-v2__arrow, 3964 .diasocks-hero-v2__media img { 3965 transition: none; 3966 } 3967 } 3968</style> 3969</div> 3970 3971 3972</div><div id="shopify-section-template--28565473362186__custom_liquid_NaJeVW" class="shopify-section"> 3973 3974 3975 3976<div 3977 class="section-background" 3978></div> 3979<div 3980 class="section section--page-width spacing-style" 3981 style="--padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; 3982" 3983> 3984 <section 3985 class="diasocks-review-slider" 3986 data-diasocks-review-slider 3987 aria-label="Kundeanmeldelser" 3988> 3989 <div class="diasocks-review-slider__inner"> 3990 <div class="diasocks-review-slider__viewport"> 3991 <div class="diasocks-review-slider__track"> 3992 <article 3993 class="diasocks-review-slider__slide" 3994 data-review-slide 3995 aria-hidden="false" 3996 > 3997 <div 3998 class="diasocks-review-slider__stars" 3999 role="img" 4000 aria-label="5 av 5 stjerner" 4001 > 4002 â â â â â 4003 </div> 4004 4005 <p class="diasocks-review-slider__quote"> 4006 «Kjempebehagelige støttestrømper som er enkle Ã¥ ta pÃ¥. Jeg fÃ¥r ingen 4007 merker pÃ¥ bena nÃ¥r jeg tar dem av om kvelden!» 4008 </p> 4009 4010 <div class="diasocks-review-slider__footer"> 4011 <strong>Mia M.</strong> 4012 4013 <span class="diasocks-review-slider__verified"> 4014 <svg viewBox="0 0 20 20" aria-hidden="true"> 4015 <circle cx="10" cy="10" r="9"></circle> 4016 <path d="m6 10 2.5 2.5L14 7"></path> 4017 </svg> 4018 4019 Verifisert kunde 4020 </span> 4021 </div> 4022 </article> 4023 4024 <article 4025 class="diasocks-review-slider__slide" 4026 data-review-slide 4027 aria-hidden="false" 4028 > 4029 <div 4030 class="diasocks-review-slider__stars" 4031 role="img" 4032 aria-label="5 av 5 stjerner" 4033 > 4034 â â â â â 4035 </div> 4036 4037 <p class="diasocks-review-slider__quote"> 4038 «Jeg har prøvd flere forskjellige støttestrømper, men Diasocks er de 4039 beste jeg har hatt.» 4040 </p> 4041 4042 <div class="diasocks-review-slider__footer"> 4043 <strong>Eva O.</strong> 4044
4045 <span class="diasocks-review-slider__verified"> 4046 <svg viewBox="0 0 20 20" aria-hidden="true"> 4047 <circle cx="10" cy="10" r="9"></circle> 4048 <path d="m6 10 2.5 2.5L14 7"></path> 4049 </svg> 4050 4051 Verifisert kunde 4052 </span> 4053 </div> 4054 </article> 4055 4056 <article 4057 class="diasocks-review-slider__slide" 4058 data-review-slide 4059 aria-hidden="false" 4060 > 4061 <div 4062 class="diasocks-review-slider__stars" 4063 role="img" 4064 aria-label="5 av 5 stjerner" 4065 > 4066 â â â â â 4067 </div> 4068 4069 <p class="diasocks-review-slider__quote"> 4070 «Behagelige, myke og sitter godt.» 4071 </p> 4072 4073 <div class="diasocks-review-slider__footer"> 4074 <strong>Lena H.</strong> 4075 4076 <span class="diasocks-review-slider__verified"> 4077 <svg viewBox="0 0 20 20" aria-hidden="true"> 4078 <circle cx="10" cy="10" r="9"></circle> 4079 <path d="m6 10 2.5 2.5L14 7"></path> 4080 </svg> 4081 4082 Verifisert kunde 4083 </span> 4084 </div> 4085 </article> 4086 </div> 4087 </div> 4088 4089 <div class="diasocks-review-slider__controls"> 4090 <button 4091 class="diasocks-review-slider__arrow" 4092 type="button" 4093 data-review-previous 4094 aria-label="Vis forrige anmeldelse" 4095 > 4096 <svg viewBox="0 0 24 24" aria-hidden="true"> 4097 <path d="m14.5 6.5-5 5.5 5 5.5"></path> 4098 </svg> 4099 </button> 4100 4101 <div 4102 class="diasocks-review-slider__dots" 4103 role="group" 4104 aria-label="Velg anmeldelse" 4105 > 4106 <button 4107 class="diasocks-review-slider__dot is-active" 4108 type="button" 4109 data-review-dot="0" 4110 aria-label="Vis anmeldelse 1" 4111 aria-current="true" 4112 ></button> 4113 4114 <button 4115 class="diasocks-review-slider__dot" 4116 type="button" 4117 data-review-dot="1" 4118 aria-label="Vis anmeldelse 2" 4119 aria-current="false" 4120 ></button> 4121 4122 <button 4123 class="diasocks-review-slider__dot" 4124 type="button" 4125 data-review-dot="2" 4126 aria-label="Vis anmeldelse 3" 4127 aria-current="false" 4128 ></button> 4129 </div> 4130 4131 <button 4132 class="diasocks-review-slider__arrow" 4133 type="button" 4134 data-review-next 4135 aria-label="Vis neste anmeldelse" 4136 > 4137 <svg viewBox="0 0 24 24" aria-hidden="true"> 4138 <path d="m9.5 6.5 5 5.5-5 5.5"></path> 4139 </svg> 4140 </button> 4141 </div> 4142 </div> 4143</section> 4144 4145<style> 4146 .diasocks-review-slider { 4147 padding: 24px 20px 28px; 4148 background: #ffffff; 4149 color: #172126; 4150 } 4151 4152 .diasocks-review-slider__inner { 4153 width: min(1320px, 100%); 4154 margin: 0 auto; 4155 } 4156 4157 .diasocks-review-slider__viewport { 4158 overflow: visible; 4159 } 4160 4161 .diasocks-review-slider__track { 4162 display: grid; 4163 grid-template-columns: repeat(3, minmax(0, 1fr)); 4164 gap: 14px; 4165 } 4166 4167 .diasocks-review-slider__slide { 4168 display: flex; 4169 box-sizing: border-box; 4170 min-width: 0; 4171 min-height: 185px; 4172 flex-direction: column; 4173 padding: 20px 22px 18px; 4174 border: 1px solid #e2e5e3; 4175 border-radius: 12px; 4176 background: #f7f8f6; 4177 } 4178 4179 .diasocks-review-slider__stars { 4180 margin-bottom: 10px; 4181 color: #e5a900; 4182 font-size: 15px; 4183 letter-spacing: 1px; 4184 line-height: 1; 4185 } 4186 4187 .diasocks-review-slider__quote { 4188 margin: 0; 4189 font-size: 16px; 4190 line-height: 1.48; 4191 } 4192 4193 .diasocks-review-slider__footer { 4194 display: flex; 4195 align-items: center; 4196 justify-content: space-between; 4197 gap: 12px; 4198 margin-top: auto; 4199 padding-top: 16px; 4200 } 4201 4202 .diasocks-review-slider__footer strong { 4203 font-size: 13px; 4204 line-height: 1.25; 4205 } 4206 4207 .diasocks-review-slider__verified { 4208 display: inline-flex; 4209 align-items: center; 4210 gap: 5px; 4211 color: #17643b; 4212 font-size: 12px; 4213 font-weight: 700; 4214 line-height: 1.2; 4215 white-space: nowrap; 4216 } 4217 4218 .diasocks-review-slider__verified svg { 4219 width: 14px; 4220 height: 14px; 4221 fill: #17643b; 4222 stroke: #ffffff; 4223 stroke-linecap: round; 4224 stroke-linejoin: round; 4225 stroke-width: 1.8; 4226 } 4227 4228 .diasocks-review-slider__controls { 4229 display: none; 4230 } 4231 4232 @media (max-width: 749px) { 4233 .diasocks-review-slider { 4234 padding: 16px 16px 20px; 4235 } 4236 4237 .diasocks-review-slider__viewport { 4238 overflow: hidden; 4239 border: 1px solid #e2e5e3; 4240 border-radius: 12px; 4241 background: #f7f8f6; 4242 } 4243 4244 .diasocks-review-slider__track { 4245 display: flex; 4246 gap: 0; 4247 transition: transform 350ms ease; 4248 } 4249 4250 .diasocks-review-slider__slide { 4251 flex: 0 0 100%; 4252 min-height: 155px; 4253 padding: 17px 18px 15px; 4254 border: 0; 4255 border-radius: 0; 4256 background: transparent; 4257 } 4258 4259 .diasocks-review-slider__stars { 4260 margin-bottom: 9px; 4261 } 4262 4263 .diasocks-review-slider__quote { 4264 font-size: 15px; 4265 line-height: 1.45; 4266 } 4267 4268 .diasocks-review-slider__footer { 4269 padding-top: 14px; 4270 } 4271 4272 .diasocks-review-slider__controls { 4273 display: flex; 4274 align-items: center; 4275 justify-content: center; 4276 gap: 15px; 4277 margin-top: 10px; 4278 } 4279 4280 .diasocks-review-slider__arrow { 4281 display: grid; 4282 width: 34px; 4283 height: 34px; 4284 padding: 0; 4285 place-items: center; 4286 border: 1px solid #d7dcda; 4287 border-radius: 50%; 4288 background: #ffffff; 4289 color: #003b57; 4290 cursor: pointer; 4291 } 4292 4293 .diasocks-review-slider__arrow svg { 4294 width: 19px; 4295 height: 19px; 4296 fill: none; 4297 stroke: currentColor; 4298 stroke-linecap: round; 4299 stroke-linejoin: round; 4300 stroke-width: 1.8; 4301 } 4302 4303 .diasocks-review-slider__dots { 4304 display: flex; 4305 align-items: center; 4306 gap: 7px; 4307 } 4308 4309 .diasocks-review-slider__dot { 4310 width: 8px; 4311 height: 8px; 4312 padding: 0; 4313 border: 0; 4314 border-radius: 999px; 4315 background: #c7cecb; 4316 cursor: pointer; 4317 transition: 4318 width 180ms ease, 4319 background 180ms ease; 4320 } 4321 4322 .diasocks-review-slider__dot.is-active { 4323 width: 22px; 4324 background: #003b57; 4325 } 4326 4327 .diasocks-review-slider__arrow:focus-visible, 4328 .diasocks-review-slider__dot:focus-visible { 4329 outline: 3px solid #75b9dc; 4330 outline-offset: 3px; 4331 } 4332 } 4333 4334 @media (prefers-reduced-motion: reduce) { 4335 .diasocks-review-slider__track, 4336 .diasocks-review-slider__dot { 4337 transition: none; 4338 } 4339 } 4340</style> 4341
4342<script> 4343 (() => { 4344 const sliders = document.querySelectorAll( 4345 '[data-diasocks-review-slider]' 4346 ); 4347 4348 sliders.forEach((slider) => { 4349 if (slider.dataset.reviewSliderReady === 'true') return; 4350 4351 slider.dataset.reviewSliderReady = 'true'; 4352 4353 const track = slider.querySelector( 4354 '.diasocks-review-slider__track' 4355 ); 4356 4357 const slides = Array.from( 4358 slider.querySelectorAll('[data-review-slide]') 4359 ); 4360 4361 const dots = Array.from( 4362 slider.querySelectorAll('[data-review-dot]') 4363 ); 4364 4365 const previous = slider.querySelector( 4366 '[data-review-previous]' 4367 ); 4368 4369 const next = slider.querySelector('[data-review-next]'); 4370 4371 const mobileView = window.matchMedia( 4372 '(max-width: 749px)' 4373 ); 4374 4375 const reduceMotion = window.matchMedia( 4376 '(prefers-reduced-motion: reduce)' 4377 ).matches; 4378 4379 let activeIndex = 0; 4380 let autoplayTimer; 4381 let touchStartX = 0; 4382 4383 const stopAutoplay = () => { 4384 window.clearInterval(autoplayTimer); 4385 }; 4386 4387 const showSlide = (index) => { 4388 if (!mobileView.matches) { 4389 activeIndex = 0; 4390 track.style.transform = 'none'; 4391 4392 slides.forEach((slide) => { 4393 slide.setAttribute('aria-hidden', 'false'); 4394 }); 4395 4396 return; 4397 } 4398 4399 activeIndex = (index + slides.length) % slides.length; 4400 4401 track.style.transform = 4402 `translateX(-${activeIndex * 100}%)`; 4403 4404 slides.forEach((slide, slideIndex) => { 4405 slide.setAttribute( 4406 'aria-hidden', 4407 slideIndex === activeIndex ? 'false' : 'true' 4408 ); 4409 }); 4410 4411 dots.forEach((dot, dotIndex) => { 4412 const isActive = dotIndex === activeIndex; 4413 4414 dot.classList.toggle('is-active', isActive); 4415 4416 dot.setAttribute( 4417 'aria-current', 4418 isActive ? 'true' : 'false' 4419 ); 4420 }); 4421 }; 4422 4423 const startAutoplay = () => { 4424 stopAutoplay(); 4425 4426 if (!mobileView.matches || reduceMotion) return; 4427 4428 autoplayTimer = window.setInterval(() => { 4429 showSlide(activeIndex + 1); 4430 }, 5500); 4431 }; 4432 4433 previous.addEventListener('click', () => { 4434 showSlide(activeIndex - 1); 4435 startAutoplay(); 4436 }); 4437 4438 next.addEventListener('click', () => { 4439 showSlide(activeIndex + 1); 4440 startAutoplay(); 4441 }); 4442 4443 dots.forEach((dot) => { 4444 dot.addEventListener('click', () => { 4445 showSlide(Number(dot.dataset.reviewDot)); 4446 startAutoplay(); 4447 }); 4448 }); 4449 4450 slider.addEventListener( 4451 'touchstart', 4452 (event) => { 4453 if (!mobileView.matches) return; 4454 4455 touchStartX = event.changedTouches[0].clientX; 4456 stopAutoplay(); 4457 }, 4458 { passive: true } 4459 ); 4460 4461 slider.addEventListener( 4462 'touchend', 4463 (event) => { 4464 if (!mobileView.matches) return; 4465 4466 const distance = 4467 event.changedTouches[0].clientX - touchStartX; 4468 4469 if (Math.abs(distance) > 45) { 4470 showSlide( 4471 distance < 0 4472 ? activeIndex + 1 4473 : activeIndex - 1 4474 ); 4475 } 4476 4477 startAutoplay(); 4478 }, 4479 { passive: true } 4480 ); 4481 4482 const updateLayout = () => { 4483 stopAutoplay(); 4484 showSlide(mobileView.matches ? activeIndex : 0); 4485 startAutoplay(); 4486 }; 4487 4488 if (typeof mobileView.addEventListener === 'function') { 4489 mobileView.addEventListener('change', updateLayout); 4490 } else { 4491 mobileView.addListener(updateLayout); 4492 } 4493 4494 showSlide(0); 4495 startAutoplay(); 4496 }); 4497 })(); 4498</script>
4498 4499</div> 4500 4501 4502</div><div id="shopify-section-template--28565473362186__custom_liquid_WTf9kJ" class="shopify-section"> 4503 4504 4505 4506<div 4507 class="section-background" 4508></div> 4509<div 4510 class="section section--page-width spacing-style" 4511 style="--padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; 4512" 4513> 4514 4515 4516 4517 4518<section class="diasocks-products"> 4519 <div class="diasocks-products__inner"> 4520 <h2 class="diasocks-products__heading"> 4521 Finn riktig strømpe for deg 4522 </h2> 4523 4524 <div class="diasocks-products__grid"> 4525 4526 4527 4528 4529 4530 4531 <article class="diasocks-product"> 4532 <a 4533 class="diasocks-product__media" 4534 href="/products/stottestromper" 4535 aria-label="Se Støttestrømper" 4536 > 4537 <span class="diasocks-product__badge"> 4538 5 for 2 4539 </span> 4540 4541 <img 4542 class="diasocks-product__image" 4543 src="https://cdn.shopify.com/s/files/1/0861/0614/5034/files/5_5dac94cc-6659-4b3c-8ca3-13a6cfc097c9_2.webp?v=1786811197&width=720" 4544 srcset=" 4545 https://cdn.shopify.com/s/files/1/0861/0614/5034/files/5_5dac94cc-6659-4b3c-8ca3-13a6cfc097c9_2.webp?v=1786811197&width=360 360w, 4546 https://cdn.shopify.com/s/files/1/0861/0614/5034/files/5_5dac94cc-6659-4b3c-8ca3-13a6cfc097c9_2.webp?v=1786811197&width=540 540w, 4547 https://cdn.shopify.com/s/files/1/0861/0614/5034/files/5_5dac94cc-6659-4b3c-8ca3-13a6cfc097c9_2.webp?v=1786811197&width=720 720w, 4548 https://cdn.shopify.com/s/files/1/0861/0614/5034/files/5_5dac94cc-6659-4b3c-8ca3-13a6cfc097c9_2.webp?v=1786811197&width=900 900w, 4549 https://cdn.shopify.com/s/files/1/0861/0614/5034/files/5_5dac94cc-6659-4b3c-8ca3-13a6cfc097c9_2.webp?v=1786811197&width=1000 1000w 4550 " 4551 sizes="(max-width: 749px) calc(100vw - 32px), (max-width: 1400px) calc((100vw - 80px) / 3), 440px" 4552 width="1080" 4553 height="1080" 4554 loading="lazy" 4555 decoding="async" 4556 alt="Støttestrømper" 4557 > 4558 </a> 4559 4560 <div class="diasocks-product__content"> 4561 <h3 class="diasocks-product__title"> 4562 <a href="/products/stottestromper"> 4563 Støttestrømper 4564 </a> 4565 </h3> 4566 4567 <p class="diasocks-product__description"> 4568 Gradert kompresjon for trøtte og hovne ben. 4569 </p> 4570 4571 4572 <div 4573 class="diasocks-product__rating" 4574 aria-label="4.4 av 5 stjerner, basert pÃ¥ 12101 anmeldelser" 4575 > 4576 <span 4577 class="diasocks-product__stars" 4578 aria-hidden="true" 4579 > 4580 <span class="diasocks-product__stars-empty"> 4581 â â â â â 4582 </span> 4583 4584 <span 4585 class="diasocks-product__stars-filled" 4586 style="width: 88.0%;" 4587 > 4588 â â â â â 4589 </span> 4590 </span> 4591 4592 <span class="diasocks-product__rating-text"> 4593 4,4 4594 4595 4596 (12101) 4597 4598 </span> 4599 </div> 4600 4601 4602 <p class="diasocks-product__price"> 4603 299,00 kr 4604 </p> 4605 4606 <a 4607 class="diasocks-product__button" 4608 href="/products/stottestromper" 4609 > 4610 Se produktet 4611 </a> 4612 </div> 4613 </article> 4614 4615 4616 4617 4618 4619 4620 <article class="diasocks-product"> 4621 <a 4622 class="diasocks-product__media" 4623 href="/products/ankelstottestromper" 4624 aria-label="Se Ankelsokker med kompresjon" 4625 > 4626 <span class="diasocks-product__badge"> 4627 5 for 2 4628 </span> 4629 4630 <img 4631 class="diasocks-product__image" 4632 src="https://cdn.shopify.com/s/files/1/0861/0614/5034/files/Copy_of_100_000_Nojda_Kunder_2.webp?v=1786811198&width=720" 4633 srcset=" 4634 https://cdn.shopify.com/s/files/1/0861/0614/5034/files/Copy_of_100_000_Nojda_Kunder_2.webp?v=1786811198&width=360 360w, 4635 https://cdn.shopify.com/s/files/1/0861/0614/5034/files/Copy_of_100_000_Nojda_Kunder_2.webp?v=1786811198&width=540 540w, 4636 https://cdn.shopify.com/s/files/1/0861/0614/5034/files/Copy_of_100_000_Nojda_Kunder_2.webp?v=1786811198&width=720 720w, 4637 https://cdn.shopify.com/s/files/1/0861/0614/5034/files/Copy_of_100_000_Nojda_Kunder_2.webp?v=1786811198&width=900 900w, 4638 https://cdn.shopify.com/s/files/1/0861/0614/5034/files/Copy_of_100_000_Nojda_Kunder_2.webp?v=1786811198&width=1000 1000w 4639 " 4640 sizes="(max-width: 749px) calc(100vw - 32px), (max-width: 1400px) calc((100vw - 80px) / 3), 440px" 4641 width="1080" 4642 height="1080" 4643 loading="lazy" 4644 decoding="async" 4645 alt="Ankelsokker med kompresjon" 4646 > 4647 </a> 4648 4649 <div class="diasocks-product__content"> 4650 <h3 class="diasocks-product__title"> 4651 <a href="/products/ankelstottestromper"> 4652 Ankelsokker med kompresjon 4653 </a> 4654 </h3> 4655 4656 <p class="diasocks-product__description"> 4657 360°-kompresjon for slitne føtter og hovne ankler. 4658 </p> 4659 4660 4661 <div 4662 class="diasocks-product__rating"
4663 aria-label="4.3 av 5 stjerner, basert pÃ¥ 311 anmeldelser" 4664 > 4665 <span 4666 class="diasocks-product__stars" 4667 aria-hidden="true" 4668 > 4669 <span class="diasocks-product__stars-empty"> 4670 â â â â â 4671 </span> 4672 4673 <span 4674 class="diasocks-product__stars-filled" 4675 style="width: 86.0%;" 4676 > 4677 â â â â â 4678 </span> 4679 </span> 4680 4681 <span class="diasocks-product__rating-text"> 4682 4,3 4683 4684 4685 (311) 4686 4687 </span> 4688 </div> 4689 4690 4691 <p class="diasocks-product__price"> 4692 199,00 kr 4693 </p> 4694 4695 <a 4696 class="diasocks-product__button" 4697 href="/products/ankelstottestromper" 4698 > 4699 Se produktet 4700 </a> 4701 </div> 4702 </article> 4703 4704 4705 4706 4707 4708 4709 <article class="diasocks-product"> 4710 <a 4711 class="diasocks-product__media" 4712 href="/products/komfortstromper" 4713 aria-label="Se Komfortstrømper" 4714 > 4715 <span class="diasocks-product__badge"> 4716 5 for 2 4717 </span> 4718 4719 <img 4720 class="diasocks-product__image" 4721 src="https://cdn.shopify.com/s/files/1/0861/0614/5034/files/7_b85e82da-d4d2-462a-9328-4adb0da3746a.webp?v=1786811198&width=720" 4722 srcset=" 4723 https://cdn.shopify.com/s/files/1/0861/0614/5034/files/7_b85e82da-d4d2-462a-9328-4adb0da3746a.webp?v=1786811198&width=360 360w, 4724 https://cdn.shopify.com/s/files/1/0861/0614/5034/files/7_b85e82da-d4d2-462a-9328-4adb0da3746a.webp?v=1786811198&width=540 540w, 4725 https://cdn.shopify.com/s/files/1/0861/0614/5034/files/7_b85e82da-d4d2-462a-9328-4adb0da3746a.webp?v=1786811198&width=720 720w, 4726 https://cdn.shopify.com/s/files/1/0861/0614/5034/files/7_b85e82da-d4d2-462a-9328-4adb0da3746a.webp?v=1786811198&width=900 900w, 4727 https://cdn.shopify.com/s/files/1/0861/0614/5034/files/7_b85e82da-d4d2-462a-9328-4adb0da3746a.webp?v=1786811198&width=1000 1000w 4728 " 4729 sizes="(max-width: 749px) calc(100vw - 32px), (max-width: 1400px) calc((100vw - 80px) / 3), 440px" 4730 width="1080" 4731 height="1080" 4732 loading="lazy" 4733 decoding="async" 4734 alt="Komfortstrømper" 4735 > 4736 </a> 4737 4738 <div class="diasocks-product__content"> 4739 <h3 class="diasocks-product__title"> 4740 <a href="/products/komfortstromper"> 4741 Komfortstrømper 4742 </a> 4743 </h3> 4744 4745 <p class="diasocks-product__description"> 4746 Myke sokker uten kompresjon for følsomme ben og brede legger. 4747 </p> 4748 4749 4750 <div 4751 class="diasocks-product__rating" 4752 aria-label="4.3 av 5 stjerner, basert pÃ¥ 192 anmeldelser" 4753 > 4754 <span 4755 class="diasocks-product__stars" 4756 aria-hidden="true" 4757 > 4758 <span class="diasocks-product__stars-empty"> 4759 â â â â â 4760 </span> 4761 4762 <span 4763 class="diasocks-product__stars-filled" 4764 style="width: 86.0%;" 4765 > 4766 â â â â â 4767 </span> 4768 </span> 4769 4770 <span class="diasocks-product__rating-text"> 4771 4,3 4772 4773 4774 (192) 4775 4776 </span> 4777 </div> 4778 4779 4780 <p class="diasocks-product__price"> 4781 199,00 kr 4782 </p> 4783 4784 <a 4785 class="diasocks-product__button" 4786 href="/products/komfortstromper" 4787 > 4788 Se produktet 4789 </a> 4790 </div> 4791 </article> 4792 4793 </div> 4794 4795 <div class="diasocks-products__footer"> 4796 <a 4797 class="diasocks-products__all-button" 4798 href="/collections/all" 4799 > 4800 Se alle produkter 4801 </a> 4802 </div> 4803 </div> 4804</section> 4805 4806<style> 4807 .diasocks-products { 4808 padding: 48px 0 56px; 4809 background: #ffffff; 4810 color: #171717; 4811 } 4812 4813 .diasocks-products__inner { 4814 width: min(1400px, calc(100% - 40px)); 4815 margin: 0 auto; 4816 } 4817 4818 .diasocks-products__heading { 4819 margin: 0 0 24px; 4820 font-family: inherit; 4821 font-size: clamp(28px, 3vw, 40px); 4822 font-weight: 700; 4823 letter-spacing: -0.03em; 4824 line-height: 1.1; 4825 } 4826 4827 .diasocks-products__grid { 4828 display: grid; 4829 grid-template-columns: repeat(3, minmax(0, 1fr)); 4830 align-items: stretch; 4831 gap: 20px; 4832 } 4833 4834 .diasocks-product { 4835 display: flex; 4836 height: 100%; 4837 min-width: 0; 4838 flex-direction: column; 4839 } 4840 4841 .diasocks-product__media { 4842 position: relative; 4843 display: block; 4844 flex: 0 0 auto; 4845 overflow: hidden; 4846 aspect-ratio: 1 / 1; 4847 background: #f4f5f7; 4848 } 4849 4850 .diasocks-product__badge { 4851 position: absolute; 4852 z-index: 1; 4853 top: 14px; 4854 left: 14px; 4855 padding: 8px 13px; 4856 border-radius: 999px; 4857 background: #17643b; 4858 box-shadow: 0 3px 10px rgba(23, 100, 59, 0.2); 4859 color: #ffffff; 4860 font-size: 13px; 4861 font-weight: 800; 4862 line-height: 1; 4863 } 4864 4865 .diasocks-product__image { 4866 display: block; 4867 width: 100%; 4868 height: 100%; 4869 object-fit: cover; 4870 } 4871 4872 .diasocks-product__content { 4873 display: flex; 4874 flex: 1 1 auto; 4875 flex-direction: column; 4876 padding-top: 15px; 4877 } 4878 4879 .diasocks-product__title { 4880 margin: 0; 4881 font-family: inherit; 4882 font-size: 19px; 4883 font-weight: 700; 4884 letter-spacing: -0.01em; 4885 line-height: 1.25; 4886 } 4887 4888 .diasocks-product__title a { 4889 color: #171717; 4890 text-decoration: none; 4891 } 4892 4893 .diasocks-product__description { 4894 margin: 6px 0 0; 4895 color: #4f4f4f; 4896 font-size: 16px; 4897 font-weight: 400; 4898 line-height: 1.45; 4899 } 4900 4901 .diasocks-product__rating { 4902 display: flex; 4903 align-items: center; 4904 gap: 7px; 4905 margin-top: 9px; 4906 } 4907 4908 .diasocks-product__stars { 4909 position: relative; 4910 display: inline-block; 4911 flex: 0 0 auto; 4912 font-size: 15px; 4913 letter-spacing: 1px; 4914 line-height: 1; 4915 } 4916 4917 .diasocks-product__stars-empty { 4918 color: #d9d9d9; 4919 } 4920 4921 .diasocks-product__stars-filled { 4922 position: absolute; 4923 top: 0; 4924 left: 0; 4925 overflow: hidden; 4926 color: #e5a900; 4927 white-space: nowrap; 4928 } 4929 4930 .diasocks-product__rating-text { 4931 color: #555555; 4932 font-size: 14px; 4933 font-weight: 500; 4934 line-height: 1; 4935 } 4936 4937 .diasocks-product__price { 4938 margin: 9px 0 15px; 4939 color: #454545; 4940 font-size: 16px; 4941 font-weight: 500; 4942 line-height: 1.3; 4943 } 4944 4945 .diasocks-product__button { 4946 display: flex; 4947 align-items: center; 4948 justify-content: center; 4949 min-height: 48px; 4950 margin-top: auto; 4951 padding: 12px 20px; 4952 border-radius: 6px; 4953 background: #003b57; 4954 color: #ffffff; 4955 font-size: 16px; 4956 font-weight: 700; 4957 line-height: 1.2; 4958 text-decoration: none; 4959 transition: background 180ms ease; 4960 } 4961 4962 .diasocks-product__button:hover {
4963 background: #005477; 4964 color: #ffffff; 4965 } 4966 4967 .diasocks-products__footer { 4968 display: flex; 4969 justify-content: center; 4970 margin-top: 36px; 4971 } 4972 4973 .diasocks-products__all-button { 4974 display: inline-flex; 4975 align-items: center; 4976 justify-content: center; 4977 min-height: 50px; 4978 padding: 12px 28px; 4979 border: 2px solid #003b57; 4980 border-radius: 6px; 4981 background: #ffffff; 4982 color: #003b57; 4983 font-size: 16px; 4984 font-weight: 700; 4985 line-height: 1.2; 4986 text-decoration: none; 4987 transition: 4988 background 180ms ease, 4989 color 180ms ease; 4990 } 4991 4992 .diasocks-products__all-button:hover { 4993 background: #003b57; 4994 color: #ffffff; 4995 } 4996 4997 .diasocks-product__button:focus-visible, 4998 .diasocks-products__all-button:focus-visible, 4999 .diasocks-product__title a:focus-visible, 5000 .diasocks-product__media:focus-visible { 5001 outline: 3px solid #75b9dc; 5002 outline-offset: 3px; 5003 } 5004 5005 @media (min-width: 750px) { 5006 .diasocks-product__description { 5007 min-height: 47px; 5008 } 5009 } 5010 5011 @media (max-width: 749px) { 5012 .diasocks-products { 5013 padding: 36px 0 44px; 5014 } 5015 5016 .diasocks-products__inner { 5017 width: calc(100% - 32px); 5018 } 5019 5020 .diasocks-products__heading { 5021 margin-bottom: 20px; 5022 font-size: 28px; 5023 } 5024 5025 .diasocks-products__grid { 5026 grid-template-columns: 1fr; 5027 gap: 32px; 5028 } 5029 5030 .diasocks-product__title { 5031 font-size: 19px; 5032 } 5033 5034 .diasocks-product__badge { 5035 top: 12px; 5036 left: 12px; 5037 padding: 8px 12px; 5038 } 5039 5040 .diasocks-products__footer { 5041 margin-top: 30px; 5042 } 5043 5044 .diasocks-products__all-button { 5045 width: 100%; 5046 } 5047 } 5048 5049 @media (prefers-reduced-motion: reduce) { 5050 .diasocks-product__button, 5051 .diasocks-products__all-button { 5052 transition: none; 5053 } 5054 } 5055</style> 5056</div> 5057 5058 5059</div><div id="shopify-section-template--28565473362186__custom_liquid_9XQUWR" class="shopify-section"> 5060 5061 5062 5063<div 5064 class="section-background" 5065></div> 5066<div 5067 class="section section--page-width spacing-style" 5068 style="--padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; 5069" 5070> 5071 <section class="diasocks-trust"> 5072 <div class="diasocks-trust__inner"> 5073 5074 <div class="diasocks-trust__item"> 5075 <div class="diasocks-trust__icon" aria-hidden="true"> 5076 <svg viewBox="0 0 24 24" fill="none"> 5077 <path d="M3 6h11v10H3V6Z" stroke="currentColor" stroke-width="1.8"/> 5078 <path d="M14 10h4l3 3v3h-7v-6Z" stroke="currentColor" stroke-width="1.8"/> 5079 <circle cx="7" cy="18" r="2" stroke="currentColor" stroke-width="1.8"/> 5080 <circle cx="18" cy="18" r="2" stroke="currentColor" stroke-width="1.8"/> 5081 </svg> 5082 </div> 5083 5084 <div class="diasocks-trust__text"> 5085 <h3>Rask levering</h3> 5086 <p>Levering innen 2â7 virkedager</p> 5087 </div> 5088 </div> 5089 5090 <div class="diasocks-trust__item"> 5091 <div class="diasocks-trust__icon" aria-hidden="true"> 5092 <svg viewBox="0 0 24 24" fill="none"> 5093 <path d="M12 3 20 6v5c0 5-3.4 8.5-8 10-4.6-1.5-8-5-8-10V6l8-3Z" stroke="currentColor" stroke-width="1.8"/> 5094 <path d="m8.5 12 2.2 2.2 4.8-5" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/> 5095 </svg> 5096 </div> 5097 5098 <div class="diasocks-trust__text"> 5099 <h3>Passformgaranti</h3> 5100 <p>Prøv ett par â bytt gratis hvis de ikke passer</p> 5101 </div> 5102 </div> 5103 5104 <div class="diasocks-trust__item"> 5105 <div class="diasocks-trust__icon" aria-hidden="true"> 5106 <svg viewBox="0 0 24 24" fill="none"> 5107 <path d="M4 7.5 12 3l8 4.5v9L12 21l-8-4.5v-9Z" stroke="currentColor" stroke-width="1.8"/> 5108 <path d="m4.5 7.5 7.5 4 7.5-4M12 11.5V21" stroke="currentColor" stroke-width="1.8"/> 5109 </svg> 5110 </div> 5111 5112 <div class="diasocks-trust__text"> 5113 <h3>Fri frakt</h3> 5114 <p>PÃ¥ alle bestillinger over 500 kr</p> 5115 </div> 5116 </div> 5117 5118 </div> 5119</section> 5120 5121<style> 5122 .diasocks-trust { 5123 padding: 22px 0; 5124 background: #ffffff; 5125 color: #171717; 5126 border-top: 1px solid #e6e9eb; 5127 border-bottom: 1px solid #e6e9eb; 5128 } 5129 5130 .diasocks-trust__inner { 5131 display: grid; 5132 grid-template-columns: repeat(3, minmax(0, 1fr)); 5133 width: min(1400px, calc(100% - 40px)); 5134 margin: 0 auto; 5135 } 5136 5137 .diasocks-trust__item { 5138 display: flex; 5139 align-items: center; 5140 justify-content: center; 5141 gap: 14px; 5142 min-width: 0; 5143 padding: 8px 28px; 5144 } 5145 5146 .diasocks-trust__item + .diasocks-trust__item { 5147 border-left: 1px solid #e1e4e6; 5148 } 5149 5150 .diasocks-trust__icon { 5151 flex: 0 0 30px; 5152 width: 30px; 5153 height: 30px; 5154 color: #003b57; 5155 } 5156 5157 .diasocks-trust__icon svg { 5158 display: block; 5159 width: 100%; 5160 height: 100%; 5161 } 5162 5163 .diasocks-trust__text { 5164 min-width: 0; 5165 } 5166 5167 .diasocks-trust__item h3 { 5168 margin: 0 0 3px; 5169 color: #171717; 5170 font-family: inherit; 5171 font-size: 15px; 5172 font-weight: 700; 5173 line-height: 1.25; 5174 } 5175 5176 .diasocks-trust__item p { 5177 margin: 0; 5178 color: #555d61; 5179 font-family: inherit; 5180 font-size: 13px; 5181 line-height: 1.4; 5182 } 5183 5184 @media (max-width: 749px) { 5185 .diasocks-trust { 5186 padding: 6px 0; 5187 } 5188 5189 .diasocks-trust__inner { 5190 display: block; 5191 width: calc(100% - 32px); 5192 } 5193 5194 .diasocks-trust__item { 5195 justify-content: flex-start; 5196 gap: 14px; 5197 padding: 16px 2px; 5198 } 5199 5200 .diasocks-trust__item + .diasocks-trust__item { 5201 border-top: 1px solid #e1e4e6; 5202 border-left: 0; 5203 } 5204 5205 .diasocks-trust__icon { 5206 flex-basis: 28px; 5207 width: 28px; 5208 height: 28px; 5209 } 5210 5211 .diasocks-trust__item h3 { 5212 font-size: 15px; 5213 } 5214 5215 .diasocks-trust__item p { 5216 font-size: 13px; 5217 } 5218 } 5219</style> 5220</div> 5221 5222 5223</div><div id="shopify-section-template--28565473362186__custom_liquid_8mTPbX" class="shopify-section"> 5224 5225 5226 5227 5228 5229 5230 <style data-shopify> 5231 .color-custom-template--28565473362186__custom_liquid_8mTPbX, 5232 .color-custom-template--28565473362186__custom_liquid_8mTPbX .text-block {
5233 /* Background */ 5234 --color-background: #F5F5F7; 5235 --color-background-rgb: 245 245 247; 5236 5237 /* Opacity values adjusted for background brightness */ 5238 5239--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 52400.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 5241 5242 5243 5244 /* Foreground / text â explicit or smart-contrasted */ 5245 --color: #000000; 5246 --color-rgb: 0 0 0; 5247 --color-foreground: #000000; 5248 --color-foreground-rgb: 0 0 0; 5249 --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text)); 5250 --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text)); 5251 --color-border: var(--palette-darkest); 5252 --color-border-rgb: var(--palette-darkest-rgb); 5253 5254 } 5255 5256 5257 .color-custom-template--28565473362186__custom_liquid_8mTPbX { 5258 /* Form-related tokens stay on .color-custom only â .text-block is a prose 5259 container (text/announcement/inline-text/blog-post-description/ 5260 collection-link/price/sku) and never holds form inputs. */ 5261 --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10)); 5262 --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5)); 5263 --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50)); 5264 --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55)); 5265 } 5266 5267 5268 .color-custom-template--28565473362186__custom_liquid_8mTPbX { 5269 color: var(--color, var(--color-foreground)); 5270 background-color: var(--color-background); 5271 } 5272 </style> 5273 5274 5275 5276<div 5277 class="section-background color-custom-template--28565473362186__custom_liquid_8mTPbX" 5278></div> 5279<div 5280 class="section section--page-width spacing-style color-custom-template--28565473362186__custom_liquid_8mTPbX" 5281 style="--padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; 5282" 5283> 5284 <section class="diasocks-benefits-video"> 5285 <div class="diasocks-benefits-video__inner"> 5286 <div class="diasocks-benefits-video__media"> 5287 <video 5288 class="diasocks-benefits-video__video" 5289 autoplay 5290 muted 5291 loop 5292 playsinline 5293 webkit-playsinline 5294 preload="metadata" 5295 aria-label="Diasocks støttestrømper vises i bruk" 5296 > 5297 <source 5298 src="https://cdn.shopify.com/videos/c/o/v/93e8db9118a447f59dac9510eb491a99.mp4" 5299 type="video/mp4" 5300 > 5301 </video> 5302 </div> 5303 5304 <div class="diasocks-benefits-video__content"> 5305 <h2 class="diasocks-benefits-video__heading"> 5306 Enkle Ã¥ ta pÃ¥. Behagelige hele dagen. 5307 </h2> 5308 5309 <div class="diasocks-benefits-video__list"> 5310 <div class="diasocks-benefits-video__item"> 5311 <div class="diasocks-benefits-video__icon"> 5312 <img 5313 src="https://cdn.shopify.com/s/files/1/0861/0614/5034/files/fce7aa89-7c7f-4516-a57a-bdaf3dba4cf1.webp?v=1786811658" 5314 alt="" 5315 width="100" 5316 height="100" 5317 loading="lazy" 5318 decoding="async" 5319 > 5320 </div> 5321 5322 <div class="diasocks-benefits-video__text"> 5323 <h3>12â15 mmHg gradert kompresjon</h3> 5324 5325 <p> 5326 Trykket er sterkest ved ankelen og avtar gradvis oppover 5327 benet. Det bidrar til bedre sirkulasjon og kan fÃ¥ bena til Ã¥ føles lettere og mindre slitne. 5328 </p> 5329 </div> 5330 </div> 5331 5332 <div class="diasocks-benefits-video__item"> 5333 <div class="diasocks-benefits-video__icon"> 5334 <img 5335 src="https://cdn.shopify.com/s/files/1/0861/0614/5034/files/easy_on.webp?v=1786811658" 5336 alt="" 5337 width="100" 5338 height="100" 5339 loading="lazy" 5340 decoding="async" 5341 > 5342 </div> 5343 5344 <div class="diasocks-benefits-video__text"> 5345 <h3>Enkle Ã¥ ta av og pÃ¥</h3> 5346 5347 <p> 5348 Det elastiske materialet gjør strømpene enklere Ã¥ trekke over 5349 foten og leggen. 5350 </p> 5351 </div> 5352 </div> 5353 5354 <div class="diasocks-benefits-video__item"> 5355 <div class="diasocks-benefits-video__icon"> 5356 <img 5357 src="https://cdn.shopify.com/s/files/1/0861/0614/5034/files/2effc4ae-cc9b-4aa2-a7bb-f83a2d4af293.webp?v=1786811658" 5358 alt="" 5359 width="100" 5360 height="100" 5361 loading="lazy" 5362 decoding="async" 5363 > 5364 </div> 5365 5366 <div class="diasocks-benefits-video__text"> 5367 <h3>Mykt materiale som puster</h3> 5368 5369 <p> 5370 Bidrar til Ã¥ holde føttene tørre og behagelige hele dagen. 5371 </p> 5372 </div> 5373 </div> 5374 5375 <div class="diasocks-benefits-video__item"> 5376 <div class="diasocks-benefits-video__icon"> 5377 <img 5378 src="https://cdn.shopify.com/s/files/1/0861/0614/5034/files/d7c1aa10-8fa4-4541-b8cb-1d3963c0c452.webp?v=1786811658" 5379 alt="" 5380 width="100" 5381 height="100" 5382 loading="lazy" 5383 decoding="async" 5384 > 5385 </div> 5386 5387 <div class="diasocks-benefits-video__text"> 5388 <h3>Sømløs tÃ¥</h3> 5389 5390 <p> 5391 Ingen hard søm som gnager eller trykker mot tærne. 5392 </p> 5393 </div> 5394 </div> 5395 </div> 5396 5397 <a 5398 class="diasocks-benefits-video__button" 5399 href="/products/stottestromper" 5400 >
5401 <span>FÃ¥ 5 par for prisen av 2</span> 5402 <span 5403 class="diasocks-benefits-video__button-arrow" 5404 aria-hidden="true" 5405 > 5406 â 5407 </span> 5408 </a> 5409 </div> 5410 </div> 5411</section> 5412 5413<style> 5414 .diasocks-benefits-video { 5415 padding: 64px 20px; 5416 overflow: hidden; 5417 background: #f5f5f5; 5418 color: #172126; 5419 } 5420 5421 .diasocks-benefits-video__inner { 5422 display: grid; 5423 grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); 5424 align-items: stretch; 5425 gap: 24px; 5426 width: min(1320px, 100%); 5427 margin: 0 auto; 5428 } 5429 5430 .diasocks-benefits-video__media { 5431 position: relative; 5432 min-width: 0; 5433 overflow: hidden; 5434 border-radius: 14px; 5435 background: #dfe2e1; 5436 } 5437 5438 .diasocks-benefits-video__video { 5439 display: block; 5440 width: 100%; 5441 height: 100%; 5442 min-height: 690px; 5443 border: 0; 5444 object-fit: cover; 5445 } 5446 5447 .diasocks-benefits-video__content { 5448 display: flex; 5449 min-width: 0; 5450 flex-direction: column; 5451 justify-content: center; 5452 padding: clamp(38px, 4.5vw, 64px); 5453 border-radius: 14px; 5454 background: #ffffff; 5455 } 5456 5457 .diasocks-benefits-video__heading { 5458 max-width: 600px; 5459 margin: 0 0 35px; 5460 font-family: inherit; 5461 font-size: clamp(32px, 3vw, 45px); 5462 font-weight: 750; 5463 letter-spacing: -0.04em; 5464 line-height: 1.08; 5465 text-wrap: balance; 5466 } 5467 5468 .diasocks-benefits-video__list { 5469 display: grid; 5470 gap: 25px; 5471 } 5472 5473 .diasocks-benefits-video__item { 5474 display: grid; 5475 grid-template-columns: 76px minmax(0, 1fr); 5476 align-items: center; 5477 gap: 20px; 5478 } 5479 5480 .diasocks-benefits-video__icon { 5481 display: flex; 5482 width: 76px; 5483 height: 76px; 5484 align-items: center; 5485 justify-content: center; 5486 } 5487 5488 .diasocks-benefits-video__icon img { 5489 display: block; 5490 width: 100%; 5491 height: 100%; 5492 object-fit: contain; 5493 } 5494 5495 .diasocks-benefits-video__text h3 { 5496 margin: 0 0 5px; 5497 font-family: inherit; 5498 font-size: 18px; 5499 font-weight: 750; 5500 letter-spacing: -0.015em; 5501 line-height: 1.25; 5502 } 5503 5504 .diasocks-benefits-video__text p { 5505 max-width: 470px; 5506 margin: 0; 5507 color: #3d464a; 5508 font-size: 16px; 5509 line-height: 1.5; 5510 } 5511 5512 .diasocks-benefits-video__button { 5513 display: inline-flex; 5514 width: fit-content; 5515 min-height: 56px; 5516 align-items: center; 5517 justify-content: center; 5518 gap: 18px; 5519 margin-top: 37px; 5520 padding: 14px 24px; 5521 border: 2px solid #003b57; 5522 border-radius: 7px; 5523 background: #003b57; 5524 color: #ffffff; 5525 font-size: 16px; 5526 font-weight: 750; 5527 line-height: 1.2; 5528 text-align: center; 5529 text-decoration: none; 5530 transition: 5531 background 180ms ease, 5532 border-color 180ms ease, 5533 transform 180ms ease; 5534 } 5535 5536 .diasocks-benefits-video__button:hover { 5537 border-color: #005477; 5538 background: #005477; 5539 color: #ffffff; 5540 transform: translateY(-2px); 5541 } 5542 5543 .diasocks-benefits-video__button-arrow { 5544 font-size: 22px; 5545 line-height: 1; 5546 transition: transform 180ms ease; 5547 } 5548 5549 .diasocks-benefits-video__button:hover 5550 .diasocks-benefits-video__button-arrow { 5551 transform: translateX(4px); 5552 } 5553 5554 .diasocks-benefits-video__button:focus-visible { 5555 outline: 3px solid #75b9dc; 5556 outline-offset: 4px; 5557 } 5558 5559 @media (max-width: 989px) and (min-width: 750px) { 5560 .diasocks-benefits-video { 5561 padding: 45px 20px; 5562 } 5563 5564 .diasocks-benefits-video__inner { 5565 gap: 18px; 5566 } 5567 5568 .diasocks-benefits-video__video { 5569 min-height: 620px; 5570 } 5571 5572 .diasocks-benefits-video__content { 5573 padding: 32px 28px; 5574 } 5575 5576 .diasocks-benefits-video__heading { 5577 margin-bottom: 28px; 5578 font-size: 32px; 5579 } 5580 5581 .diasocks-benefits-video__list { 5582 gap: 21px; 5583 } 5584 5585 .diasocks-benefits-video__item { 5586 grid-template-columns: 62px minmax(0, 1fr); 5587 gap: 16px; 5588 } 5589 5590 .diasocks-benefits-video__icon { 5591 width: 62px; 5592 height: 62px; 5593 } 5594 5595 .diasocks-benefits-video__text h3 { 5596 font-size: 16px; 5597 } 5598 5599 .diasocks-benefits-video__text p { 5600 font-size: 14px; 5601 } 5602 5603 .diasocks-benefits-video__button { 5604 margin-top: 29px; 5605 font-size: 15px; 5606 } 5607 } 5608 5609 @media (max-width: 749px) { 5610 .diasocks-benefits-video { 5611 padding: 30px 16px; 5612 } 5613 5614 .diasocks-benefits-video__inner { 5615 grid-template-columns: 1fr; 5616 gap: 14px; 5617 } 5618 5619 .diasocks-benefits-video__media { 5620 aspect-ratio: 1 / 1; 5621 border-radius: 12px; 5622 } 5623 5624 .diasocks-benefits-video__video { 5625 height: 100%; 5626 min-height: 0; 5627 } 5628 5629 .diasocks-benefits-video__content { 5630 padding: 31px 22px 34px; 5631 border-radius: 12px; 5632 } 5633 5634 .diasocks-benefits-video__heading { 5635 margin-bottom: 30px; 5636 font-size: clamp(29px, 8.2vw, 37px); 5637 line-height: 1.1; 5638 } 5639 5640 .diasocks-benefits-video__list { 5641 gap: 27px; 5642 } 5643 5644 .diasocks-benefits-video__item { 5645 grid-template-columns: 66px minmax(0, 1fr); 5646 align-items: center;
5647 gap: 17px; 5648 } 5649 5650 .diasocks-benefits-video__icon { 5651 width: 66px; 5652 height: 66px; 5653 } 5654 5655 .diasocks-benefits-video__text h3 { 5656 margin-bottom: 4px; 5657 font-size: 16px; 5658 line-height: 1.3; 5659 } 5660 5661 .diasocks-benefits-video__text p { 5662 font-size: 14px; 5663 line-height: 1.45; 5664 } 5665 5666 .diasocks-benefits-video__button { 5667 width: 100%; 5668 min-height: 56px; 5669 margin-top: 31px; 5670 padding: 14px 18px; 5671 font-size: 16px; 5672 } 5673 } 5674 5675 @media (max-width: 390px) { 5676 .diasocks-benefits-video__content { 5677 padding-right: 18px; 5678 padding-left: 18px; 5679 } 5680 5681 .diasocks-benefits-video__item { 5682 grid-template-columns: 58px minmax(0, 1fr); 5683 gap: 14px; 5684 } 5685 5686 .diasocks-benefits-video__icon { 5687 width: 58px; 5688 height: 58px; 5689 } 5690 } 5691 5692 @media (prefers-reduced-motion: reduce) { 5693 .diasocks-benefits-video__button, 5694 .diasocks-benefits-video__button-arrow { 5695 transition: none; 5696 } 5697 } 5698</style> 5699
5700<script> 5701 (() => { 5702 const initializeVideos = (scope = document) => { 5703 scope 5704 .querySelectorAll('.diasocks-benefits-video__video') 5705 .forEach((video) => { 5706 if (video.dataset.mobilePlaybackReady === 'true') return; 5707 5708 video.dataset.mobilePlaybackReady = 'true'; 5709 video.muted = true; 5710 video.defaultMuted = true; 5711 video.playsInline = true; 5712 5713 const playVideo = () => { 5714 if (!video.paused) return; 5715 5716 const playPromise = video.play(); 5717 5718 if (playPromise !== undefined) { 5719 playPromise.catch(() => { 5720 /* Mobilnettleseren kan vente på første berøring. */ 5721 }); 5722 } 5723 }; 5724 5725 if ('IntersectionObserver' in window) { 5726 const observer = new IntersectionObserver( 5727 (entries) => { 5728 entries.forEach((entry) => { 5729 if (entry.isIntersecting) { 5730 playVideo(); 5731 } else { 5732 video.pause(); 5733 } 5734 }); 5735 }, 5736 { threshold: 0.15 } 5737 ); 5738 5739 observer.observe(video); 5740 } else { 5741 playVideo(); 5742 } 5743 5744 video.addEventListener('canplay', playVideo, { once: true }); 5745 5746 document.addEventListener('touchstart', playVideo, { 5747 once: true, 5748 passive: true 5749 }); 5750 }); 5751 }; 5752 5753 if (document.readyState === 'loading') { 5754 document.addEventListener('DOMContentLoaded', () => { 5755 initializeVideos(); 5756 }); 5757 } else { 5758 initializeVideos(); 5759 } 5760 5761 document.addEventListener('shopify:section:load', (event) => { 5762 initializeVideos(event.target); 5763 }); 5764 })(); 5765</script>
5765 5766</div> 5767 5768 5769</div><div id="shopify-section-template--28565473362186__178216071097ebbde1" class="shopify-section section-wrapper"> 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 <style data-shopify> 5782 .color-custom-template--28565473362186__178216071097ebbde1, 5783 .color-custom-template--28565473362186__178216071097ebbde1 .text-block { 5784 /* Background */ 5785 --color-background: #ffffff; 5786 --color-background-rgb: 255 255 255; 5787 5788 /* Opacity values adjusted for background brightness */ 5789 5790--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 57910.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 5792 5793 5794 5795 /* Foreground / text â explicit or smart-contrasted */ 5796 --color: #000000; 5797 --color-rgb: 0 0 0; 5798 --color-foreground: #000000; 5799 --color-foreground-rgb: 0 0 0; 5800 --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text)); 5801 --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text)); 5802 --color-border: var(--palette-darkest); 5803 --color-border-rgb: var(--palette-darkest-rgb); 5804 5805 } 5806 5807 5808 .color-custom-template--28565473362186__178216071097ebbde1 { 5809 /* Form-related tokens stay on .color-custom only â .text-block is a prose 5810 container (text/announcement/inline-text/blog-post-description/ 5811 collection-link/price/sku) and never holds form inputs. */ 5812 --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10)); 5813 --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5)); 5814 --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50)); 5815 --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55)); 5816 } 5817 5818 5819 .color-custom-template--28565473362186__178216071097ebbde1 { 5820 color: var(--color, var(--color-foreground)); 5821 background-color: var(--color-background); 5822 } 5823 </style> 5824 5825 5826 5827<div class="section-background color-custom-template--28565473362186__178216071097ebbde1"></div> 5828<div 5829 class="section section--page-width color-custom-template--28565473362186__178216071097ebbde1" 5830 data-testid="ui-test-section" 5831 5832 5833 5834 style=" 5835 5836 5837 5838 " 5839> 5840 <div class="custom-section-background"> 5841 5842 5843 5844 5845 </div> 5846 5847 <div 5848 class="border-style custom-section-content" 5849 style=" 5850--border-width: 1px; --border-style: none; --border-color: 5851rgb(var(--color-border-rgb) / 1.0); --border-radius: 0px; 5852" 5853 > 5854 5855 5856 <div 5857 class=" 5858 spacing-style 5859 layout-panel-flex 5860 layout-panel-flex--column 5861 section-content-wrapper 5862 mobile-column 5863 " 5864 style=" 5865 --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 5866 5867--gap: 12px; 5868 5869--horizontal-alignment: flex-start; --vertical-alignment: center; 5870--vertical-alignment-mobile: center; 5871 5872 --padding-block-start: 0px;--padding-block-end: 0px; 5873 " 5874 data-testid="section-content" 5875 > 5876 5877 <div id="shopify-block-ASkR5RU5icERCV09Pe__loox_reviews_loox_card_carousel_section_KqaR6J" class="shopify-block shopify-app-block"> 5878 <div class="loox-v2-carousel-container loox-widget" 5879 id="LOOX-V2_CAROUSEL-ASkR5RU5icERCV09Pe__loox_reviews_loox_card_carousel_section_KqaR6J" 5880 data-widget="carousel" 5881 data-slide-type="card" 5882 data-max-width="1100" 5883 data-border-radius="8" 5884 data-items-per-view="5" 5885 data-mobile-items-per-view="2" 5886 data-max-number-of-characters="100" 5887 data-image-ratio="0.72" 5888 data-reviewer-name-color="000000" 5889 data-text-color="000000" 5890 data-item-background-color="ffffff" 5891 data-stars-color="" 5892 data-stars-background-color="ffffff" 5893 data-arrows_background-color="ffffff" 5894 data-arrows_icon-color="9a9a9a" 5895 data-shadow="offset-dark" 5896 data-border_active="no" 5897 data-border_width="2" 5898 data-border_color="000000" 5899 data-product-ids="" 5900 5901 data-customer-locale="nb" 5902 5903 > 5904 </div> 5905 5906 5907 </div> 5908 5909 </div> 5910 </div> 5911</div> 5912 5913 5914 5915 5916 5917</div><div id="shopify-section-template--28565473362186__1782160725762f074a" class="shopify-section section-wrapper"> 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 <style data-shopify> 5930 .color-custom-template--28565473362186__1782160725762f074a, 5931 .color-custom-template--28565473362186__1782160725762f074a .text-block {
5932 /* Background */ 5933 --color-background: #F5F5F7; 5934 --color-background-rgb: 245 245 247; 5935 5936 /* Opacity values adjusted for background brightness */ 5937 5938--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 59390.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 5940 5941 5942 5943 /* Foreground / text â explicit or smart-contrasted */ 5944 --color: #000000; 5945 --color-rgb: 0 0 0; 5946 --color-foreground: #000000; 5947 --color-foreground-rgb: 0 0 0; 5948 --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text)); 5949 --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text)); 5950 --color-border: var(--palette-darkest); 5951 --color-border-rgb: var(--palette-darkest-rgb); 5952 5953 } 5954 5955 5956 .color-custom-template--28565473362186__1782160725762f074a { 5957 /* Form-related tokens stay on .color-custom only â .text-block is a prose 5958 container (text/announcement/inline-text/blog-post-description/ 5959 collection-link/price/sku) and never holds form inputs. */ 5960 --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10)); 5961 --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5)); 5962 --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50)); 5963 --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55)); 5964 } 5965 5966 5967 .color-custom-template--28565473362186__1782160725762f074a { 5968 color: var(--color, var(--color-foreground)); 5969 background-color: var(--color-background); 5970 } 5971 </style> 5972 5973 5974 5975<div class="section-background color-custom-template--28565473362186__1782160725762f074a"></div> 5976<div 5977 class="section section--page-width color-custom-template--28565473362186__1782160725762f074a" 5978 data-testid="ui-test-section" 5979 5980 5981 5982 style=" 5983 5984 5985 5986 " 5987> 5988 <div class="custom-section-background"> 5989 5990 5991 5992 5993 </div> 5994 5995 <div 5996 class="border-style custom-section-content" 5997 style=" 5998--border-width: 1px; --border-style: none; --border-color: 5999rgb(var(--color-border-rgb) / 1.0); --border-radius: 0px; 6000" 6001 > 6002 6003 6004 <div 6005 class=" 6006 spacing-style 6007 layout-panel-flex 6008 layout-panel-flex--column 6009 section-content-wrapper 6010 mobile-column 6011 " 6012 style=" 6013 --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 6014 6015--gap: 12px; 6016 6017--horizontal-alignment: flex-start; --vertical-alignment: center; 6018--vertical-alignment-mobile: center; 6019 6020 --padding-block-start: 0px;--padding-block-end: 0px; 6021 " 6022 data-testid="section-content" 6023 > 6024 6025 6026 6027 </div> 6028 </div> 6029</div> 6030 6031 6032 6033 6034 6035</div> 6036 </main> 6037 6038 <footer> 6039 <!-- BEGIN sections: footer-group --> 6040<div id="shopify-section-sections--28565473788170__footer_m9NzUG" class="shopify-section shopify-section-group-footer-group section-wrapper"> 6041 6042 6043 6044 6045 6046 6047 <style data-shopify> 6048 .color-custom-sections--28565473788170__footer_m9NzUG, 6049 .color-custom-sections--28565473788170__footer_m9NzUG .text-block { 6050 /* Background */ 6051 --color-background: #F5F5F7; 6052 --color-background-rgb: 245 245 247; 6053 6054 /* Opacity values adjusted for background brightness */ 6055 6056--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 60570.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 6058 6059 6060 6061 /* Foreground / text â explicit or smart-contrasted */ 6062 --color: #000000; 6063 --color-rgb: 0 0 0; 6064 --color-foreground: #000000; 6065 --color-foreground-rgb: 0 0 0; 6066 --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text)); 6067 --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text)); 6068 --color-border: var(--palette-darkest); 6069 --color-border-rgb: var(--palette-darkest-rgb); 6070 6071 } 6072 6073 6074 .color-custom-sections--28565473788170__footer_m9NzUG { 6075 /* Form-related tokens stay on .color-custom only â .text-block is a prose 6076 container (text/announcement/inline-text/blog-post-description/ 6077 collection-link/price/sku) and never holds form inputs. */ 6078 --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10)); 6079 --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5)); 6080 --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50)); 6081 --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55)); 6082 } 6083 6084 6085 .color-custom-sections--28565473788170__footer_m9NzUG { 6086 color: var(--color, var(--color-foreground)); 6087 background-color: var(--color-background); 6088 } 6089 </style> 6090 6091 6092 6093<div 6094 class="section-background color-custom-sections--28565473788170__footer_m9NzUG" 6095></div> 6096<div 6097 class="section section--page-width color-custom-sections--28565473788170__footer_m9NzUG" 6098> 6099 6100 <div 6101 class=" 6102 footer-content 6103 spacing-style 6104 6105 6106 " 6107 style=" 6108 --padding-block-start: max(20px, calc(var(--spacing-scale) * 30px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 30px)); 6109 --footer-gap: 20px; 6110 --grid-columns: 3; 6111 --last-row-count: 3; 6112 --tablet-last-row-count: 1; 6113 " 6114 > 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 <accordion-custom 6128 6129 class="menu" 6130 6131 6132 6133 open-by-default-on-desktop 6134 6135 6136 open-by-default-on-mobile 6137 6138 6139 data-disable-on-desktop="true" 6140 6141 6142 data-disable-on-mobile="true" 6143 6144 6145 6146 6147> 6148 6149 <details 6150 class=" 6151 menu__details 6152 spacing-style 6153 6154 " 6155 data-testid="menu-details" 6156 style=" 6157 --spacing--size: 12px; 6158 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 6159 " 6160 6161 open 6162 6163 6164 > 6165 <summary class="menu__heading h3">
6166 <span class="menu__heading__default">Informasjon</span> 6167 <span class="menu__heading__accordion"> 6168 Informasjon 6169 6170 <span class="menu__heading__toggle svg-wrapper icon-caret icon-animated"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 6171 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 6172</svg> 6173</span> 6174 6175 </span> 6176 </summary> 6177 6178 <nav 6179 class="details-content" 6180 6181 > 6182 6183 <ul class="list-unstyled"> 6184 6185 <li class="menu__item paragraph"> 6186 <a href="/pages/kundeservice"> 6187 Kundeservice 6188 </a> 6189 </li> 6190 6191 <li class="menu__item paragraph"> 6192 <a href="/pages/returportal"> 6193 Returportal 6194 </a> 6195 </li> 6196 6197 <li class="menu__item paragraph"> 6198 <a href="/policies/refund-policy"> 6199 Retur- og refusjonspolicy 6200 </a> 6201 </li> 6202 6203 <li class="menu__item paragraph"> 6204 <a href="/policies/shipping-policy"> 6205 Fraktpolicy 6206 </a> 6207 </li> 6208 6209 <li class="menu__item paragraph"> 6210 <a href="/policies/privacy-policy"> 6211 Personvernpolicy 6212 </a> 6213 </li> 6214 6215 <li class="menu__item paragraph"> 6216 <a href="/policies/terms-of-service"> 6217 VilkÃ¥r for bruk 6218 </a> 6219 </li> 6220 6221 </ul> 6222 6223 </nav> 6224 </details> 6225 6226</accordion-custom> 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246<div 6247 class=" 6248 group-block 6249 group-block--height-fit 6250 group-block--width-fill 6251 border-style 6252 spacing-style 6253 size-style 6254 6255 6256 " 6257 style=" 6258 6259--border-width: 1px; --border-style: none; --border-color: 6260rgb(var(--color-border-rgb) / 1.0); --border-radius: 0px; 6261 6262 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 6263 --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 6264 6265 " 6266 6267 data-testid="group-block" 6268><div class="group-block__media-wrapper"> 6269 6270 6271 6272 6273 6274 </div> 6275 6276 <div 6277 class=" 6278 group-block-content 6279 6280 layout-panel-flex 6281 layout-panel-flex--column 6282 mobile-column 6283 " 6284 style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 6285 6286--gap: 6px; 6287 6288--horizontal-alignment: flex-start; --vertical-alignment: center; 6289--vertical-alignment-mobile: center; 6290" 6291 > 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 <div class=" spacing-style text-block text-block--AZC9JTXdGQVNTbE41b__text_LWt8Pz h4 text-block--align-left " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; "> 6302 <h2><strong>Meld deg pÃ¥ vÃ¥rt nyhetsbrev</strong></h2> 6303 </div> 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 <rte-formatter class=" spacing-style text-block text-block--ANGJveWhzQ00vSHlWS__text_f9CFLH rte text-block--align-left rte " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; "> 6320 <p>FÃ¥ eksklusive tilbud og tidlig tilgang til nye produkter.</p> 6321 </rte-formatter> 6322 6323 6324 6325 6326 6327 6328 6329</div> 6330</div> 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346<div 6347 class="email-signup-block size-style spacing-style" 6348 style=" 6349 --size-style-width: 100%;--size-style-height: ; 6350 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 6351 " 6352 6353> 6354 6355<form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="email-signup__form spacing-style"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /> 6356 6357<div 6358 class="email-signup__input-group email-signup__input-group--integrated email-signup__input-group--arrow" 6359 style=" 6360 --border-width: 1px; 6361 --border-radius: 100px; 6362 --color-input-background: #ffffff; --color-input-text: #002E49; --color-input-text-rgb: 0 46 73; --color-input-border: #F5F5F7; 6363 " 6364 > 6365 <label
6366 for="EmailInput-AVW1IdHFYc1JUbittb__email_signup_crihX7" 6367 class="visually-hidden" 6368 > 6369 E-post 6370 </label> 6371 <input 6372 id="EmailInput-AVW1IdHFYc1JUbittb__email_signup_crihX7" 6373 class="email-signup__input email-signup__input--all paragraph " 6374 type="email" 6375 name="contact[email]" 6376 autocorrect="off" 6377 autocapitalize="off" 6378 autocomplete="email" 6379 placeholder="E-postadresse" 6380 required 6381 6382 > 6383 <button 6384 class="email-signup__button email-signup__button--integrated email-signup__button--arrow paragraph button-unstyled button-unstyled--AVW1IdHFYc1JUbittb__email_signup_crihX7" 6385 6386 aria-label="Registrer deg" 6387 6388 > 6389 6390 <svg 6391 viewBox="0 0 20 20" 6392 xmlns="http://www.w3.org/2000/svg" 6393 focusable="false" 6394 aria-hidden="true" 6395 class="email-signup__button-icon" 6396 > 6397 6398 6399 6400<path 6401 clip-rule="evenodd" 6402 d="m11.246 5.31759c.0322-.07821.0833-.14723.1486-.20093.0654-.0537.143-.09041.2259-.10686.083-.01645.1688-.01214.2497.01257.0808.0247.1544.06902.214.12902l4.104 4.104c.0478.04765.0857.10426.1115.16659.0259.06232.0392.12913.0392.19661 0 .06747-.0133.13429-.0392.19661-.0258.06233-.0637.11893-.1115.16659l-4.104 4.10401c-.0963.0963-.227.1504-.3632.1504s-.2669-.0541-.3632-.1504-.1504-.227-.1504-.3632.0541-.2669.1504-.3632l3.2288-3.2278h-11.0736c-.13606 0-.26654-.0541-.36275-.15027-.0962-.0962-.15025-.22669-.15025-.36274 0-.13606.05405-.26654.15025-.36275.09621-.0962.22669-.15025.36275-.15025h11.0736l-3.2288-3.2278c-.0721-.07178-.1212-.16335-.1411-.2631s-.0097-.20316.0293-.2971z" 6403 fill="currentColor" 6404 fill-rule="evenodd" 6405 /> 6406 </svg> 6407 6408 </button> 6409 </div></form> 6410</div> 6411 6412 6413 6414 6415 6416 </div> 6417</div> 6418 6419 6420
6420<script>document.addEventListener("startasyncloading",(function(){const e=document.querySelectorAll("script[type='text/javascripts']"),t=document.createDocumentFragment();e.forEach((e=>{const n=document.createElement("script");[...e.attributes].forEach((e=>{n.setAttribute(e.name,e.value)})),n.type="text/javascript",n.innerHTML=e.innerHTML,t.appendChild(n),e.parentNode.removeChild(e)})),document.body.appendChild(t)}));</script>
6420 6421 6422 6423</div><div id="shopify-section-sections--28565473788170__footer_utilities_jLGE8U" class="shopify-section shopify-section-group-footer-group footer-utilities"> 6424 6425 6426 6427 6428 6429 6430 <style data-shopify> 6431 .color-custom-sections--28565473788170__footer_utilities_jLGE8U, 6432 .color-custom-sections--28565473788170__footer_utilities_jLGE8U .text-block { 6433 /* Background */ 6434 --color-background: #ffffff; 6435 --color-background-rgb: 255 255 255; 6436 6437 /* Opacity values adjusted for background brightness */ 6438 6439--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 64400.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 6441 6442 6443 6444 /* Foreground / text â explicit or smart-contrasted */ 6445 --color: #000000; 6446 --color-rgb: 0 0 0; 6447 --color-foreground: #000000; 6448 --color-foreground-rgb: 0 0 0; 6449 --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text)); 6450 --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text)); 6451 --color-border: var(--palette-darkest); 6452 --color-border-rgb: var(--palette-darkest-rgb); 6453 6454 } 6455 6456 6457 .color-custom-sections--28565473788170__footer_utilities_jLGE8U { 6458 /* Form-related tokens stay on .color-custom only â .text-block is a prose 6459 container (text/announcement/inline-text/blog-post-description/ 6460 collection-link/price/sku) and never holds form inputs. */ 6461 --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10)); 6462 --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5)); 6463 --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50)); 6464 --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55)); 6465 } 6466 6467 6468 .color-custom-sections--28565473788170__footer_utilities_jLGE8U { 6469 color: var(--color, var(--color-foreground)); 6470 background-color: var(--color-background); 6471 } 6472 </style> 6473 6474 6475 6476<div 6477 class="section-background color-custom-sections--28565473788170__footer_utilities_jLGE8U" 6478></div> 6479<div 6480 class="section section--page-width color-custom-sections--28565473788170__footer_utilities_jLGE8U" 6481 6482> 6483 <div 6484 class="utilities utilities--blocks-2 spacing-style" 6485 style="--padding-block-start: 20px;--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px)); --border-width: 1px; --divider-color: #F5F5F7; --gap: 24px;" 6486 data-testid="footer-utilities" 6487 > 6488 6489 6490 <anchored-popover-component 6491 data-hover-triggered="true" 6492 > 6493 <button 6494 class="policy-list-trigger button-unstyled" 6495 popovertarget="terms-policies-popover" 6496 popovertargetaction="toggle" 6497 ref="trigger" 6498 style=" 6499 6500--font-size: 0.75rem; --font-weight: ;--font-family: ; --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-); 6501 6502 " 6503 6504 > 6505 VilkÃ¥r og betingelser 6506 </button> 6507 <div 6508 class="terms-policies-popover color-custom-popover" 6509 id="terms-policies-popover" 6510 popover="auto" 6511 ref="popover" 6512 > 6513 <ul 6514 class=" 6515 policy_list list-unstyled 6516 custom-typography 6517 custom-font-size 6518 " 6519 ><li> 6520 <a 6521 href="/policies/privacy-policy" 6522 class="footer-utilities__text" 6523 >Personvernerklæring</a> 6524 </li><li> 6525 <a 6526 href="/policies/contact-information" 6527 class="footer-utilities__text" 6528 >Kontaktinformasjon</a> 6529 </li><li> 6530 <a 6531 href="/policies/refund-policy" 6532 class="footer-utilities__text" 6533 >Retningslinjer for angrerett</a> 6534 </li><li> 6535 <a 6536 href="/policies/terms-of-service" 6537 class="footer-utilities__text" 6538 >VilkÃ¥r for bruk</a> 6539 </li><li> 6540 <a 6541 href="/policies/shipping-policy" 6542 class="footer-utilities__text" 6543 >Retningslinjer for frakt</a> 6544 </li><li> 6545 <a 6546 href="/policies/subscription-policy" 6547 class="footer-utilities__text" 6548 >Retningslinjer for kansellering</a> 6549 </li></ul> 6550 </div> 6551 </anchored-popover-component> 6552 6553 6554 6555 6556 6557 6558 6559<div 6560 class=" 6561 footer-utilities__group-copyright 6562 custom-typography 6563 custom-font-size 6564 " 6565 style=" 6566 6567--font-size: 0.75rem; --font-weight: ;--font-family: ; --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-); 6568 6569 " 6570 6571> 6572 <span class="footer-utilities__text"> 6573 © 2026 6574 <a href="/" title="">Diasocks</a>, Drevet av Shopify 6575</span> 6576</div> 6577 6578 6579 6580 6581 6582 </div> 6583</div> 6584 6585 6586 6587 6588</div> 6589<!-- END sections: footer-group --> 6590 </footer> 6591 </div> 6592 6593 6594 6595 <div 6596 id="shopify-section-cart-drawer-section" 6597 class="shopify-section" 6598 > 6599 6600 6601
6601<script 6602 type="module" 6603 src="//diasocks.no/cdn/shop/t/25/assets/cart-drawer.js?v=101430053943909765251786808724" 6604 fetchpriority="low" 6605 ></script>
6605 6606 6607 6608 6609 <theme-drawer 6610 id="cart-drawer" 6611 data-skip-node-update 6612 > 6613 <dialog 6614 ref="panel" 6615 class="theme-drawer__dialog color-custom-drawer" 6616 aria-labelledby="cart-drawer-heading" 6617 cart-summary-sticky="true" 6618 > 6619 <cart-drawer-component 6620 6621 auto-open 6622 6623 > 6624 <template id="empty-cart-template"> 6625 6626 <div 6627 class="cart-drawer__content" 6628 aria-label="Handlekurv" 6629 > 6630 <h2 6631 class="theme-drawer__title h4" 6632 id="cart-drawer-heading" 6633 > 6634 Handlekurven din er tom 6635 </h2> 6636 6637 <div class="cart-drawer__items"> 6638 6639 6640
6641<script 6642 src="//diasocks.no/cdn/shop/t/25/assets/component-cart-items.js?v=14476580701730542761786808729" 6643 type="module" 6644 fetchpriority="low" 6645></script>
vendor: 1 bytes, line 6645
6645
6646<script 6647 src="//diasocks.no/cdn/shop/t/25/assets/component-cart-quantity-selector.js?v=168493463479860323171786808730" 6648 type="module" 6649 fetchpriority="low" 6650></script>
vendor: 1 bytes, line 6650
6650
6651<script 6652 src="//diasocks.no/cdn/shop/t/25/assets/volume-pricing-info.js?v=94479640769665442661786808839" 6653 type="module" 6654 fetchpriority="low" 6655></script>
6655 6656 6657<div 6658 6659 class="cart-items__wrapper cart-items__wrapper--drawer-empty" 6660 6661 data-cart-drawer-empty 6662 6663 style="" 6664> 6665 6666<p> 6667 Har du en konto? <a href="https://diasocks.no/customer_authentication/redirect?locale=nb®ion_country=NO">Logg inn</a> for Ã¥ betale raskere. 6668 </p><a 6669 class="button cart-items__empty-button" 6670 href="/collections/all" 6671 > 6672 <span class="button-text"> 6673 Fortsett Ã¥ handle 6674 </span> 6675 </a></div> 6676 6677 6678 6679 </div> 6680 </div> 6681 6682 </template> 6683 6684 <div 6685 class="cart-drawer__inner cart-drawer--empty" 6686 data-hydration-key="cart-drawer-inner" 6687 ><div class="theme-drawer__header"> 6688 <button 6689 on:click="#cart-drawer/close" 6690 class="theme-drawer__close-button cart-drawer__close-button--empty" 6691 type="button" 6692 aria-label="Lukk" 6693 > 6694 <span class="svg-wrapper"><svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 6695<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/> 6696</svg> 6697</span> 6698 </button> 6699 </div> 6700 6701 6702<cart-items-component 6703 class="cart-items-component" 6704 6705 data-drawer 6706 view-event-trigger="dialog" 6707 6708 data-section-id="cart-drawer-section" 6709 6710 view-event-payload="{"context":null,"cart":null}" 6711 6712> 6713 6714 6715 <div 6716 class="cart-drawer__content" 6717 aria-label="Handlekurv" 6718 > 6719 <h2 6720 class="theme-drawer__title h4" 6721 id="cart-drawer-heading" 6722 > 6723 Handlekurven din er tom 6724 </h2> 6725 6726 <div class="cart-drawer__items"> 6727 6728 6729
6730<script 6731 src="//diasocks.no/cdn/shop/t/25/assets/component-cart-items.js?v=14476580701730542761786808729" 6732 type="module" 6733 fetchpriority="low" 6734></script>
vendor: 1 bytes, line 6734
6734
6735<script 6736 src="//diasocks.no/cdn/shop/t/25/assets/component-cart-quantity-selector.js?v=168493463479860323171786808730" 6737 type="module" 6738 fetchpriority="low" 6739></script>
vendor: 1 bytes, line 6739
6739
6740<script 6741 src="//diasocks.no/cdn/shop/t/25/assets/volume-pricing-info.js?v=94479640769665442661786808839" 6742 type="module" 6743 fetchpriority="low" 6744></script>
6744 6745 6746<div 6747 6748 class="cart-items__wrapper cart-items__wrapper--drawer-empty" 6749 6750 data-cart-drawer-empty 6751 6752 style="" 6753> 6754 6755<p> 6756 Har du en konto? <a href="https://diasocks.no/customer_authentication/redirect?locale=nb®ion_country=NO">Logg inn</a> for Ã¥ betale raskere. 6757 </p><a 6758 class="button cart-items__empty-button" 6759 href="/collections/all" 6760 > 6761 <span class="button-text"> 6762 Fortsett Ã¥ handle 6763 </span> 6764 </a></div> 6765 6766 6767 6768 </div> 6769 </div> 6770 6771 6772</cart-items-component> 6773 6774 6775 6776 </div> 6777 </cart-drawer-component> 6778 </dialog> 6779 </theme-drawer> 6780 6781 6782 </div> 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792
6793<script 6794 type="module" 6795 src="//diasocks.no/cdn/shop/t/25/assets/theme-drawer.js?v=19271060799489679091786808830" 6796 fetchpriority="low" 6797></script>
6797 6798
6799<script> 6800 /* Runs synchronously during HTML parsing â opens the correct drawer on first 6801 paint if navigation state was saved, so it renders with the rest of the page. */ 6802 (function () { 6803 var drawerIds = (sessionStorage.getItem('theme-drawer-open') || '').split(',').filter(Boolean); 6804 if (!drawerIds.length) return; 6805 6806 // Only restore on wide viewports (squeeze mode). On narrow viewports the 6807 // drawer is a modal overlay â let it start closed after navigation rather 6808 // than re-opening a fullscreen dialog the user may have left behind. 6809 if (!window.matchMedia('(min-width: 990px)').matches) return; 6810 6811 var dialogs = []; 6812 for (var i = 0; i < drawerIds.length; i++) { 6813 var drawer = document.getElementById(drawerIds[i]); 6814 if (!drawer) continue; 6815 6816 drawer.setAttribute('open', ''); 6817 6818 // Set [open] directly so the CSS slide-in applies without triggering 6819 // the browser's dialog focusing steps â on wide viewports the drawer is 6820 // a sidebar, not a modal, so focus should stay where it is. 6821 // The instant class suppresses the slide-in transition for the initial restore. 6822 // Set --drawer-stack-order so z-index layering matches the original order. 6823 drawer.style.setProperty('--drawer-stack-order', String(i + 1)); 6824 6825 var dialog = drawer.querySelector('dialog'); 6826 if (dialog) { 6827 dialog.setAttribute('open', ''); 6828 dialog.classList.add('theme-drawer__dialog-instant'); 6829 dialogs.push(dialog); 6830 } 6831 6832 // Let each drawer type handle its own restore (e.g. shopify-chat mode). 6833 // Synchronous dispatch â listeners attached during earlier parsing run immediately. 6834 drawer.dispatchEvent(new CustomEvent('theme-drawer:restoring')); 6835 } 6836 6837 // Apply squeeze immediately, bypassing the margin transition. 6838 // Only squeeze if at least one drawer was actually restored â saved 6839 // drawer IDs may not exist on every page (e.g. cart-drawer on /cart). 6840 var pageWrapper = document.querySelector('.page-wrapper'); 6841 if (pageWrapper && dialogs.length > 0) { 6842 pageWrapper.style.transition = 'none'; 6843 pageWrapper.classList.add('page-wrapper--drawer-open'); 6844 } 6845 6846 // Re-enable transitions after one paint so the instant state is rendered first. 6847 requestAnimationFrame(function () { 6848 requestAnimationFrame(function () { 6849 if (pageWrapper) pageWrapper.style.transition = ''; 6850 for (var j = 0; j < dialogs.length; j++) { 6851 dialogs[j].classList.remove('theme-drawer__dialog-instant'); 6852 } 6853 }); 6854 }); 6855 })(); 6856</script>
6856 6857
6858<script 6859 type="module" 6860> 6861 const pageWrapper = document.querySelector('.page-wrapper'); 6862 const squeezeQuery = window.matchMedia('(min-width: 990px)'); 6863 6864 // ââ Squeeze coordination ââ 6865 // Listens to all drawers. Only squeezes on wide viewports. 6866 document.addEventListener('theme-drawer:open', () => { 6867 if (squeezeQuery.matches) { 6868 pageWrapper?.classList.add('page-wrapper--drawer-open'); 6869 } 6870 }); 6871 6872 document.addEventListener('theme-drawer:close', () => { 6873 const openDrawer = document.querySelector('theme-drawer[open]'); 6874 if (!openDrawer) { 6875 pageWrapper?.classList.remove('page-wrapper--drawer-open'); 6876 } 6877 }); 6878 6879 squeezeQuery.addEventListener('change', () => { 6880 const openDrawer = document.querySelector('theme-drawer[open]'); 6881 pageWrapper?.classList.toggle('page-wrapper--drawer-open', Boolean(openDrawer) && squeezeQuery.matches); 6882 }); 6883 6884 // ââ State persistence ââ 6885 // Store open drawer IDs sorted by their visual stack order so 6886 // the restore script can recreate the same z-index layering. 6887 function persistDrawerState() { 6888 const openDrawers = Array.from(document.querySelectorAll('theme-drawer[open]:not([no-persist])')); 6889 if (!openDrawers.length) { 6890 sessionStorage.removeItem('theme-drawer-open'); 6891 return; 6892 } 6893 6894 openDrawers.sort((a, b) => { 6895 const orderA = Number(a.style.getPropertyValue('--drawer-stack-order') || 0); 6896 const orderB = Number(b.style.getPropertyValue('--drawer-stack-order') || 0); 6897 return orderA - orderB; 6898 }); 6899 6900 sessionStorage.setItem('theme-drawer-open', openDrawers.map((d) => d.id).join(',')); 6901 } 6902 6903 document.addEventListener('theme-drawer:open', persistDrawerState); 6904 document.addEventListener('theme-drawer:close', persistDrawerState); 6905</script>
6905 6906 6907 6908 6909 6910 6911 6912 6913 6914
6915<script 6916 src="//diasocks.no/cdn/shop/t/25/assets/dialog.js?v=50435175020407122251786808736" 6917 type="module" 6918></script>
6918 6919
6920<script 6921 src="//diasocks.no/cdn/shop/t/25/assets/predictive-search.js?v=162722252387887966571786808801" 6922 type="module" 6923 fetchpriority="low" 6924></script>
6924 6925 6926<dialog-component 6927 id="search-modal" 6928 class="search-modal" 6929 6930> 6931 <dialog 6932 ref="dialog" 6933 on:click="/closeDialogOnClickOutside" 6934 on:keydown="/closeDialogOnEscapePress" 6935 class="search-modal__content dialog-modal" 6936 scroll-lock 6937 aria-labelledby="search-modal-heading" 6938 > 6939 <h2 6940 id="search-modal-heading" 6941 class="visually-hidden" 6942 > 6943 Søk 6944 </h2> 6945 <predictive-search-component 6946 class="predictive-search color-custom-popover" 6947 style="--product-corner-radius: 0px; --card-corner-radius: 4px;" 6948 data-section-id="predictive-search" 6949 data-testid="search-component--modal" 6950 role="search" 6951 aria-label="Søk" 6952 > 6953 <form 6954 action="/search" 6955 method="get" 6956 role="search" 6957 class="predictive-search-form" 6958 ref="form" 6959 on:keydown="/onSearchKeyDown" 6960 > 6961 <div 6962 class="predictive-search-form__header" 6963 > 6964 <div class="predictive-search-form__header-inner"> 6965 <label 6966 for="cmdk-input" 6967 class="visually-hidden" 6968 >Søk</label> 6969 <input 6970 class="search-input" 6971 id="cmdk-input" 6972 type="search" 6973 name="q" 6974 role="combobox" 6975 aria-expanded="false" 6976 aria-owns="predictive-search-results" 6977 aria-controls="predictive-search-results" 6978 aria-haspopup="listbox" 6979 aria-autocomplete="list" 6980 autocomplete="off" 6981 placeholder="Søk" 6982 ref="searchInput" 6983 on:input="/search" 6984 on:keydown="/onSearchKeyDown" 6985 > 6986 <input 6987 name="options[prefix]" 6988 type="hidden" 6989 value="last" 6990 > 6991 <span class="svg-wrapper predictive-search__icon"> 6992 <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg> 6993 6994 </span> 6995 <button 6996 type="button" 6997 class="button-unstyled predictive-search__reset-button" 6998 ref="resetButton" 6999 hidden 7000 on:click="/resetSearch" 7001 > 7002 Fjern 7003 </button> 7004 </div> 7005 <button 7006 type="button" 7007 class="button predictive-search__close-modal-button" 7008 aria-label="Lukk dialogboksen" 7009 on:click="dialog-component/closeDialog" 7010 ref="closeModalButton" 7011 > 7012 <span class="svg-wrapper"> 7013 <svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 7014<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/> 7015</svg> 7016 7017 </span> 7018 </button> 7019 </div> 7020 7021 <div class="predictive-search-form__content-wrapper"> 7022 <div 7023 class="predictive-search-form__content" 7024 ref="predictiveSearchResults" 7025 on:click="/handleModalClick" 7026 > 7027 7028 7029<div 7030 id="predictive-search-results" 7031 class="predictive-search-dropdown" 7032 role="listbox" 7033 aria-expanded="true" 7034 style="--color-shadow: rgb(var(--color-foreground-rgb) / 0.1);" 7035> 7036 7037 <div class="predictive-search-results__inner"> 7038 7039 7040 7041 7042 7043 <div 7044 id="predictive-search-products" 7045 class="predictive-search-results__products" 7046 7047 data-testid="products-list-default--modal" 7048 7049> 7050 7051 <h4 class="predictive-search-results__title"> 7052 Produkter 7053 </h4> 7054 <ul 7055 class="predictive-search-results__list predictive-search-results__wrapper-products list-unstyled" 7056 > 7057 7058 7059 <li 7060 class="predictive-search-results__card predictive-search-results__card--product" 7061 ref="resultsItems[]" 7062 > 7063 7064<product-component 7065 class="resource-card__wrapper" 7066 7067 7068 view-event-payload="{"product":{"id":9907464700170,"title":"Ankelsokker i bambus med mild kompresjon","handle":"ankelstottestromper","selectedVariant":null},"context":"search","selectedOptions":[]}" 7069 7070 ><div 7071 class="resource-card" 7072 data-resource-type="product" 7073> 7074 <a 7075 class="resource-card__link" 7076 href="/products/ankelstottestromper" 7077 > 7078 <span class="visually-hidden"> 7079 Ankelsokker i bambus med mild kompresjon 7080 </span> 7081 </a> 7082 <div 7083 class="resource-card__media" 7084 style="--resource-card-aspect-ratio: 4 / 5;" 7085 7086 > 7087 7088 7089 7090 <img src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA=" data-src="//diasocks.no/cdn/shop/files/2_10.webp?v=1787247303&width=500" alt="" data-srcset="//diasocks.no/cdn/shop/files/2_10.webp?v=1787247303&width=240 240w, //diasocks.no/cdn/shop/files/2_10.webp?v=1787247303&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image lazyload" sizes="auto" ref="" style="object-position: 50.0% 50.0%;"> 7091 7092 <img src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA=" data-src="//diasocks.no/cdn/shop/files/NO_dcc728f2-af35-46b4-9923-2664988c0493.webp?v=1787247373&width=500" alt="Ankelsokker i bambus med mild kompresjon" data-srcset="//diasocks.no/cdn/shop/files/NO_dcc728f2-af35-46b4-9923-2664988c0493.webp?v=1787247373&width=240 240w, //diasocks.no/cdn/shop/files/NO_dcc728f2-af35-46b4-9923-2664988c0493.webp?v=1787247373&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image resource-card__image--secondary lazyload" sizes="auto" ref="" data-media-id="50853627461898" style="object-position: 50.0% 50.0%;"> 7093</div> 7094 7095 <div class="resource-card__content"> 7096 <p class="resource-card__title paragraph">Ankelsokker i bambus med mild kompresjon</p> 7097 7098 7099 <div ref="priceContainer"> 7100 7101 7102 <div 7103 class=" 7104 price__regular 7105 7106 " 7107 >
7108 <span class="price">199,00 kr</span> 7109 </div> 7110 <div 7111 class=" 7112 price__sale 7113 7114 price__hidden 7115 7116 " 7117 > 7118 7119 <span class="price-item__group"> 7120 <span class="visually-hidden">Vanlig pris </span> 7121 <span class="price-item--regular compare-at-price"></span> 7122 </span> 7123 <span class="price-item__group"> 7124 <span class="visually-hidden">Rabattert pris </span> 7125 <span class="price-item--sale price">199,00 kr</span> 7126 </span> 7127 7128 </div> 7129 7130</div> 7131 7132 </div> 7133</div></product-component> 7134 7135 </li> 7136 7137 <li 7138 class="predictive-search-results__card predictive-search-results__card--product" 7139 ref="resultsItems[]" 7140 > 7141 7142<product-component 7143 class="resource-card__wrapper" 7144 7145 7146 view-event-payload="{"product":{"id":10011314684170,"title":"Ankelstrømper","handle":"diasocks-ankelstromper","selectedVariant":null},"context":"search","selectedOptions":[]}" 7147 7148 ><div 7149 class="resource-card" 7150 data-resource-type="product" 7151> 7152 <a 7153 class="resource-card__link" 7154 href="/products/diasocks-ankelstromper" 7155 > 7156 <span class="visually-hidden"> 7157 Ankelstrømper 7158 </span> 7159 </a> 7160 <div 7161 class="resource-card__media" 7162 style="--resource-card-aspect-ratio: 4 / 5;" 7163 7164 > 7165 7166 7167 7168 <img src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA=" data-src="//diasocks.no/cdn/shop/files/Untitleddesign-2025-05-06T114209.907.webp?v=1746525436&width=500" alt="" data-srcset="//diasocks.no/cdn/shop/files/Untitleddesign-2025-05-06T114209.907.webp?v=1746525436&width=240 240w, //diasocks.no/cdn/shop/files/Untitleddesign-2025-05-06T114209.907.webp?v=1746525436&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image lazyload" sizes="auto" ref="" style="object-position: 50.0% 50.0%;"> 7169 7170 <img src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA=" data-src="//diasocks.no/cdn/shop/files/Untitleddesign-2025-05-06T114224.476.webp?v=1746525436&width=500" alt="Ankelstrømper" data-srcset="//diasocks.no/cdn/shop/files/Untitleddesign-2025-05-06T114224.476.webp?v=1746525436&width=240 240w, //diasocks.no/cdn/shop/files/Untitleddesign-2025-05-06T114224.476.webp?v=1746525436&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image resource-card__image--secondary lazyload" sizes="auto" ref="" data-media-id="45368666685706" style="object-position: 50.0% 50.0%;"> 7171</div> 7172 7173 <div class="resource-card__content"> 7174 <p class="resource-card__title paragraph">Ankelstrømper</p> 7175 7176 7177 <div ref="priceContainer"> 7178 7179 7180 <div 7181 class=" 7182 price__regular 7183 7184 " 7185 > 7186 <span class="price">199,00 kr</span> 7187 </div> 7188 <div 7189 class=" 7190 price__sale 7191 7192 price__hidden 7193 7194 " 7195 > 7196 7197 <span class="price-item__group"> 7198 <span class="visually-hidden">Vanlig pris </span> 7199 <span class="price-item--regular compare-at-price"></span> 7200 </span> 7201 <span class="price-item__group"> 7202 <span class="visually-hidden">Rabattert pris </span> 7203 <span class="price-item--sale price">199,00 kr</span> 7204 </span> 7205 7206 </div> 7207 7208</div> 7209 7210 </div> 7211</div></product-component> 7212 7213 </li> 7214 7215 <li 7216 class="predictive-search-results__card predictive-search-results__card--product" 7217 ref="resultsItems[]" 7218 > 7219 7220<product-component 7221 class="resource-card__wrapper" 7222 7223 7224 view-event-payload="{"product":{"id":10490232111370,"title":"Brede støttestrømper 12-15 mmHg","handle":"brede-stottestromper-12-15-mmhg","selectedVariant":null},"context":"search","selectedOptions":[]}" 7225 7226 ><div 7227 class="resource-card" 7228 data-resource-type="product" 7229> 7230 <a 7231 class="resource-card__link" 7232 href="/products/brede-stottestromper-12-15-mmhg" 7233 > 7234 <span class="visually-hidden"> 7235 Brede støttestrømper 12-15 mmHg 7236 </span> 7237 </a> 7238 <div 7239 class="resource-card__media" 7240 style="--resource-card-aspect-ratio: 4 / 5;" 7241 7242 > 7243 7244 7245 7246 <img src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA=" data-src="//diasocks.no/cdn/shop/files/Untitled_design_67_-min_bd3ef022-28e6-4cb8-8173-68a81b96c90c.webp?v=1777379071&width=500" alt="" data-srcset="//diasocks.no/cdn/shop/files/Untitled_design_67_-min_bd3ef022-28e6-4cb8-8173-68a81b96c90c.webp?v=1777379071&width=240 240w, //diasocks.no/cdn/shop/files/Untitled_design_67_-min_bd3ef022-28e6-4cb8-8173-68a81b96c90c.webp?v=1777379071&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image lazyload" sizes="auto" ref="" style="object-position: 50.0% 50.0%;"> 7247 7248 <img src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA=" data-src="//diasocks.no/cdn/shop/files/Untitled_design_95_c1d6aca6-e892-4951-bac8-0d740986a3fb.webp?v=1777379071&width=500" alt="Brede støttestrømper 12-15 mmHg" data-srcset="//diasocks.no/cdn/shop/files/Untitled_design_95_c1d6aca6-e892-4951-bac8-0d740986a3fb.webp?v=1777379071&width=240 240w, //diasocks.no/cdn/shop/files/Untitled_design_95_c1d6aca6-e892-4951-bac8-0d740986a3fb.webp?v=1777379071&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image resource-card__image--secondary lazyload" sizes="auto" ref="" data-media-id="49841604002058" style="object-position: 50.0% 50.0%;"> 7249</div> 7250 7251 <div class="resource-card__content"> 7252 <p class="resource-card__title paragraph">Brede støttestrømper 12-15 mmHg</p> 7253 7254 7255 <div ref="priceContainer"> 7256 7257 7258 <div 7259 class=" 7260 price__regular 7261 7262 " 7263 >
7264 <span class="price">299,00 kr</span> 7265 </div> 7266 <div 7267 class=" 7268 price__sale 7269 7270 price__hidden 7271 7272 " 7273 > 7274 7275 <span class="price-item__group"> 7276 <span class="visually-hidden">Vanlig pris </span> 7277 <span class="price-item--regular compare-at-price"></span> 7278 </span> 7279 <span class="price-item__group"> 7280 <span class="visually-hidden">Rabattert pris </span> 7281 <span class="price-item--sale price">299,00 kr</span> 7282 </span> 7283 7284 </div> 7285 7286</div> 7287 7288 </div> 7289</div></product-component> 7290 7291 </li> 7292 7293 <li 7294 class="predictive-search-results__card predictive-search-results__card--product" 7295 ref="resultsItems[]" 7296 > 7297 7298<product-component 7299 class="resource-card__wrapper" 7300 7301 7302 view-event-payload="{"product":{"id":9796470735114,"title":"Komfortstrømper","handle":"komfortstromper","selectedVariant":null},"context":"search","selectedOptions":[]}" 7303 7304 ><div 7305 class="resource-card" 7306 data-resource-type="product" 7307> 7308 <a 7309 class="resource-card__link" 7310 href="/products/komfortstromper" 7311 > 7312 <span class="visually-hidden"> 7313 Komfortstrømper 7314 </span> 7315 </a> 7316 <div 7317 class="resource-card__media" 7318 style="--resource-card-aspect-ratio: 4 / 5;" 7319 7320 > 7321 7322 7323 7324 <img src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA=" data-src="//diasocks.no/cdn/shop/files/Diasocks_Komfortstr_mper.webp?v=1758268180&width=500" alt="Diasocks Komfortstrømper" data-srcset="//diasocks.no/cdn/shop/files/Diasocks_Komfortstr_mper.webp?v=1758268180&width=240 240w, //diasocks.no/cdn/shop/files/Diasocks_Komfortstr_mper.webp?v=1758268180&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image lazyload" sizes="auto" ref="" style="object-position: 50.0% 50.0%;"> 7325 7326 <img src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA=" data-src="//diasocks.no/cdn/shop/files/5_a2481599-9666-4e51-9af6-a9d45a965ef9.webp?v=1758268269&width=500" alt="Komfortstrømper" data-srcset="//diasocks.no/cdn/shop/files/5_a2481599-9666-4e51-9af6-a9d45a965ef9.webp?v=1758268269&width=240 240w, //diasocks.no/cdn/shop/files/5_a2481599-9666-4e51-9af6-a9d45a965ef9.webp?v=1758268269&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image resource-card__image--secondary lazyload" sizes="auto" ref="" data-media-id="46955337220362" style="object-position: 50.0% 50.0%;"> 7327</div> 7328 7329 <div class="resource-card__content"> 7330 <p class="resource-card__title paragraph">Komfortstrømper</p> 7331 7332 7333 <div ref="priceContainer"> 7334 7335 7336 <div 7337 class=" 7338 price__regular 7339 7340 " 7341 > 7342 <span class="price">199,00 kr</span> 7343 </div> 7344 <div 7345 class=" 7346 price__sale 7347 7348 price__hidden 7349 7350 " 7351 > 7352 7353 <span class="price-item__group"> 7354 <span class="visually-hidden">Vanlig pris </span> 7355 <span class="price-item--regular compare-at-price"></span> 7356 </span> 7357 <span class="price-item__group"> 7358 <span class="visually-hidden">Rabattert pris </span> 7359 <span class="price-item--sale price">199,00 kr</span> 7360 </span> 7361 7362 </div> 7363 7364</div> 7365 7366 </div> 7367</div></product-component> 7368 7369 </li> 7370 7371 </ul> 7372 7373</div> 7374 7375 7376 7377 </div> 7378 7379</div> 7380 7381 </div> 7382 7383 <div class="predictive-search-form__footer"> 7384 <button 7385 class="button predictive-search__search-button" 7386 ref="viewAllButton" 7387 > 7388 Se alle 7389 </button> 7390 </div> 7391 </div> 7392 </form> 7393 </predictive-search-component> 7394 </dialog> 7395</dialog-component> 7396 7397 7398 7399 7400 7401
7401<script 7402 src="//diasocks.no/cdn/shop/t/25/assets/gift-card-recipient-form.js?v=170482155849799299241786808743" 7403 type="module" 7404 fetchpriority="low" 7405></script>
7405 7406<quick-add-dialog id="quick-add-dialog"> 7407 <dialog 7408 class="quick-add-modal dialog-modal color-custom-popover" 7409 ref="dialog" 7410 scroll-lock 7411 > 7412 <button 7413 ref="closeButton" 7414 on:click="/closeDialog" 7415 class="button button-unstyled close-button quick-add-modal__close" 7416 aria-label="Lukk dialogboksen" 7417 ><svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 7418<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/> 7419</svg> 7420</button> 7421 7422 <product-component 7423 id="quick-add-modal-content" 7424 class="quick-add-modal__content" 7425 view-event-trigger="dialog" 7426 ></product-component> 7427 </dialog> 7428</quick-add-dialog> 7429 7430 7431 7432 7433 7434 7435 7436
7436<script src="//diasocks.no/cdn/shop/t/25/assets/custom.min.js?v=12697148568754951701786808735" type="text/javascript"></script>
7436 7437 <div id="shopify-block-AM0JIZ1hhYzgwcENia__11254466806377166470" class="shopify-block shopify-app-block"> 7438
7439<script> 7440var sizeChartsRelentless = window.sizeChartsRelentless || {}; 7441sizeChartsRelentless.metafield = sizeChartsRelentless.metafield || {}; 7442sizeChartsRelentless.blocks = sizeChartsRelentless.blocks || {}; 7443 7444 7445 7446 7447</script>
7447 7448 7449 7450 7451</div><div id="shopify-block-AakNoTzR0N0NkN3Z2W__11532412952436166569" class="shopify-block shopify-app-block"> 7452 7453 7454 <!-- __LXV: 1791333638882;__LXR: https://loox.io;__LXC: GegY2tgwx0; -->
7454<script>var loox_global_hash = '1791333638882'; 7455var loox_bundle_reviews_enabled = false;</script>
7455<style>.loox-reviews-default { max-width: 1200px; margin: 0 auto; }.loox-rating .loox-icon { color:#EBBF20; } 7456:root { --lxs-rating-icon-color: #EBBF20; }</style> 7457 7458 7459 7460 7461 7462 7463 7464</div><div id="shopify-block-AdmdXU3VUQ3hMTm1rN__8764476057892802672" class="shopify-block shopify-app-block"><link rel="preconnect" href="https://app.restockrocket.io" crossorigin><link rel="preconnect" href="https://zxrqcp-jb.myshopify.com" crossorigin><!-- Config and setup JS -->
7465<script id="RestockRocketConfig"> 7466 window._RestockRocketConfig = window._RestockRocketConfig || {} 7467 window._RestockRocket = window._RestockRocket || {} 7468 window._Stoq = window._RestockRocket 7469 window._StoqConfig = window._RestockRocketConfig 7470 try { window._RestockRocket.inlineRanAt = performance.now(); } catch (e) { } 7471 function normalizeLocale(locale) { 7472 if (!locale || locale.trim() === '') { 7473 return ''; 7474 } 7475 return locale.toString().toLowerCase().replace(/-/g, '_'); 7476 } 7477 7478 window._RestockRocketConfig.locale = 'nb'; 7479 window._RestockRocketConfig.normalizedLocale = normalizeLocale('nb'); 7480 window._RestockRocketConfig.shop = 'zxrqcp-jb.myshopify.com'; 7481 window._RestockRocketConfig.pageType = 'index'; 7482 window._RestockRocketConfig.liquidRenderedAt = 1791345707;window._RestockRocketConfig.marketId = 80106815754;window._RestockRocketConfig.countryName = 'Norway'; 7483 window._RestockRocketConfig.countryIsoCode = 'NO';window._RestockRocketConfig.languageIsoCode = 'nb';window._RestockRocketConfig.cartInventoryQuantity = {}; 7484 if (!window._RestockRocketConfig.cartToken) { 7485 try { 7486 const m = document.cookie.match(/(?:^|;\s*)cart=([^;]+)/); 7487 if (m && m[1]) window._RestockRocketConfig.cartToken = decodeURIComponent(m[1]); 7488 } catch (e) { } 7489 } 7490window._RestockRocketConfig.cachedSettings = {"id":51925,"shop_id":51901,"currency":"NOK","created_at":"2026-01-18T15:03:10.079Z","updated_at":"2026-09-29T06:44:34.329Z","enable_app":true,"enable_signup_widget":true,"storefront_button_text":"Varsle meg når tilgjengelig","storefront_button_text_color":"#000000","storefront_button_background_color":"#ffffff","storefront_form_header":"Varsle meg","storefront_form_description":"Få et varsel så snart dette produktet er tilbake på lager ved å registrere deg nedenfor!","storefront_form_button_text":"Varsle meg når tilgjengelig","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#202223","storefront_form_terms":"Vi lover å ikke sende spam. Du vil kun motta varsler for dette produktet.","storefront_form_error":"Vennligst oppgi en gyldig e-postadresse","storefront_form_success":"Takk! Vi vil varsle deg når produktet er tilgjengelig.","enable_powered_by":false,"show_button_on_preorder":true,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{},"storefront_form_email_placeholder":"E-postadresse","storefront_form_phone_placeholder":"SMS","storefront_form_phone_label":"Telefonnummer","storefront_form_email_label":"E-post","storefront_form_phone_error":"Vennligst oppgi et gyldig telefonnummer","storefront_form_customer_name_placeholder":"Navn","storefront_form_customer_name_error":"Vennligst oppgi et gyldig navn","storefront_form_did_you_mean_error":"Mente du %{suggested_email}? Eller bruk %{current_email}","form_customer_name_enabled":false,"form_customer_name_required":false,"css_config":"","js_config":"/**\r\n * SETTINGS\r\n * */ \r\n\r\n/**\r\n* Add a new object for each new button with following \r\n\tproperties. Remove the object if not needed.\r\n\r\n* Properties: \r\n* - name: name of the button (for your reference)\r\n* - stickyBarSelector: selector of the entire sticky bar or\r\n\t\t\t\t\t\t\t\t\t\t\t parent of the element where you want to\r\n\t\t\t\t\t\t\t\t\t\t\t select the new button. \r\n* - stickyATCSelector: add to cart button selector for the button\r\n\t\t\t\t\t\t\t\t\t\t\t inside the other the parent you've selected\r\n*- stickyATCTextSelector: add to cart button text element selector\r\n*/ \r\nconst buttonsToUpdateSelectors = [\r\n {\r\n name: 'desktop',\r\n stickyBarSelector: '.sticky-add-to-cart__bar.color-custom-popover',\r\n stickyATCSelector: '.sticky-add-to-cart__button.add-to-cart-button.button',\r\n stickyATCTextSelector: 'span.add-to-cart-text'\r\n }\r\n];\r\n\r\n// script console switch.\r\nconst debug = true;\r\n// script execution delay\r\nconst scriptExecutionDelay = 500;\r\n\r\n/**\r\n * SCRIPT BEGIN\r\n * */\r\nfunction log(...message) {\r\n message.map(content => {\r\n if (debug && content) console.debug(\"[STOQ] [DEBUG] -- \",
7490content)\r\n })\r\n}\r\n\r\nconst rr = window._RestockRocket;\r\nconst rrc = window._RestockRocketConfig;\r\nconst settings = window._RestockRocketConfig.settings;\r\nconst preorderText = () => { return rr.getSellingPlan().preorder_button_text\r\n};\r\nconst selected_variant = rrc.selected_variant_id;\r\n\r\nfunction changeText() {\r\n // check preorder\r\n if (preorderText()) {\r\n // get buttons and update text\r\n buttonsToUpdateSelectors.map(btn => {\r\n log('Setting text for btn', btn);\r\n let bar = document.querySelector(btn.stickyBarSelector);\r\n let atc = bar.querySelector(btn.stickyATCSelector);\r\n let atcText;\r\n if (btn.stickyATCTextSelector != '') {\r\n atcText = atc.querySelector(btn.stickyATCTextSelector);\r\n atcText.textContent = preorderText();\r\n } else {\r\n atc.textContent = preorderText();\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction init() {\r\n log('Init and setting text');\r\n changeText();\r\n}\r\n\r\nfunction isVariantChanged() {\r\n return (selected_variant != rrc.selected_variant_id) ? true : false;\r\n}\r\n\r\nfunction handleVariantChange(e) {\r\n if (isVariantChanged()) {\r\n init();\r\n }\r\n}\r\n\r\nsetTimeout(() => { \r\n init();\r\n document.addEventListener('click', handleVariantChange);\r\n}, scriptExecutionDelay);\r\n\r\n/** SCRIPT END **/","collect_promotion_consent":false,"storefront_form_promotion_consent_label":"Varsle meg også om andre nyheter, salg, rabatter og tilbud","show_button_on_collection":false,"sms_default_country":"us","sms_allowed_countries":[],"sms_restrict_country":false,"sms_default_channel":true,"optin_required":false,"optin_custom_domain_enabled":false,"optin_success_text":"Registrering bekreftet! Du vil motta et varsel når produktet er påfylt.","storefront_button_border_radius":14,"storefront_button_disable_tag_hides_button":true,"storefront_button_disable_tag_enabled":false,"quantity_required":false,"storefront_form_quantity_label":"Antall","enable_alerts":true,"sms_allowed":false,"email_allowed":true,"collect_promotion_consent_default":true,"insert_button_after_selector":"add-to-cart-component","insert_button_after_selector_type":"afterend","storefront_button_position_type":"specific","storefront_form_duplicate_error":"Du har allerede abonnert på varsler for dette produktet.","storefront_mixed_cart_error":"Preorders must be purchased
7490separately from regular items. Please complete your current order first, or clear your cart to continue.","storefront_error_heading":"Feil","default_locale":"nb","collection_page_button_text_color":"#FFFFFF","collection_page_button_background_color":"#202223","show_button_if_any_out_of_stock":false,"show_button_if_any_variant_out_of_stock_collection":false,"show_button_on_index":false,"insert_button_after_selector_collection":".product-card__content","insert_button_after_selector_index":".product-card__content","push_enabled":false,"push_allowed":true,"storefront_form_push_label":"Push","storefront_form_push_description":"Klikk 'Tillat' for å bli varslet via push-varsling","storefront_form_push_error":"Tillatelse avvist! Vennligst sjekk varslingsinnstillingene og prøv igjen","storefront_font_family":"OpenSans","insert_button_after_selector_collection_type":"afterend","show_channel_selector":false,"storefront_form_empty_error":"Vennligst fyll ut ett eller flere av alternativene ovenfor","storefront_form_push_input":"Send varsling til nettleseren din","insert_button_after_selector_page":".product-card__content","show_button_on_page":false,"insert_button_after_selector_search":".product-card__content","show_button_on_search":false,"app_proxy_path_prefix":"/apps/restockrocket-production","collection_link_selector":"","index_link_selector":"","page_link_selector":"","search_link_selector":"","collection_check_link_visibility":true,"collection_buttons_container":"","index_buttons_container":"","page_buttons_container":"","search_buttons_container":"","extension_enable_url_variant_detection":true,"extension_enable_value_variant_detection":true,"extension_value_variant_selector":"[name='id']","resubscribe_text":"Dette produktet er utsolgt. Få varsel når det er på lager igjen ved å fylle inn dine detaljer nedenfor!","preorder_enabled":false,"preorder_buy_button_selector":"","preorder_add_to_cart_button_selector":"button.button.add-to-cart-button.button:not(.sticky-add-to-cart__button)","preorder_badge_selector":"","preorder_button_out_of_stock_text":"Ikke på lager","preorder_button_add_to_cart_text":"Legg til i handlekurv","preorder_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_index_enabled":false,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","preorder_index_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_page_enabled":false,"preorder_page_form_selector":"form[action*=\"/cart/add\"]","preorder_page_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_search_enabled":false,"preorder_search_form_selector":"form[action*=\"/cart/add\"]","preorder_search_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_collection_badge_selector":"","preorder_index_badge_selector":"","preorder_page_badge_selector":"","preorder_search_badge_selector":"","preorder_badge_selector_type":"afterend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":"span","preorder_button_disclaimer_insert_selector":"","preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":"","preorder_payment_insert_selector_type":"afterend","preorder_price_container_selector":".price","preorder_price_container_selector_insert_type":"afterend","preorder_terms_insert_selector":"","preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":"product-price .price","preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":".shopify-product-form","inline_form_selector_type":"afterend","storefront_form_prefill_customer":true,"storefront_form_show_image":false,"storefront_form_text_color":"#202223","storefront_form_background_color":"#FFFFFF","storefront_form_border_radius":10,"market_setup_type":"single_market","shopify_app_id":5940125,"preorder_progress_bar_insert_selector":"","preorder_progress_bar_insert_selector_type":"beforebegin","countdown_timer_insert_selector":"","countdown_timer_insert_selector_type":"afterend","configure_notify_me_enabled":false,"restock_note_insert_selector":"","restock_note_insert_selector_type":"afterend","restock_note_background_color":"#f3f4f6","restock_note_text_color":"#202223","restock_note_border_radius":4,"preorder_modal_continue_button_text":"Continue","preorder_modal_cancel_button_text":"Cancel","meta_pixel_enabled":false,"meta_pixel_id":null,"cache":true,"cached_at":"2026-09-29T06:44:38.640Z","multi_language_enabled":false,"translation_locale":"nb","disable_refresh_on_stale_liquid":false,"api_host":"https://ext.stoqapp.com"};window._RestockRocketConfig.storefrontAccessToken = "ae0000a56ef5d966a0d4c1865a41c081"; 7491 window._RestockRocketConfig.metafieldNamespace = 'restockrocket_production'; 7492 window._RestockRocketConfig.storefrontApiVersion = '2026-07';window._RestockRocketConfig.cachedPreorderVariantIds = { preorder_variant_ids: [] };window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = { variant_preorder_limits: {} };window._RestockRocketConfig.cachedVariantShippingTexts = { variant_shipping_texts: {} }; 7493window._RestockRocketConfig.sellingPlans = [];(function() {
7494 const cachedData = {"plans":[],"disabled_plan_ids":[6213468426,6179225866,6213533962,6180241674,6213501194,6179193098,5866914058],"has_in_stock_offer":false,"has_preorder_offer":false,"read_flags":{"enable_storefront_product_reads":true,"enable_storefront_integrations_read":true,"enable_storefront_selling_plans_read":true},"cached_at":"2026-10-04T10:29:56Z"}; 7495 7496 if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) { 7497 window._RestockRocketConfig.readFlags = cachedData.read_flags || {}; 7498 const oldPlans = window._RestockRocketConfig.sellingPlans; 7499 const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0 7500 ? oldPlans.reduce(function(max, plan) { 7501 if (plan.updated_at) { 7502 const planDate = new Date(plan.updated_at); 7503 const maxDate = max ? new Date(max) : null; 7504 return (!maxDate || (planDate && !isNaN(planDate) && planDate > maxDate)) ? plan.updated_at : max; 7505 } 7506 return max; 7507 }, '') 7508 : null; 7509 const cachedDate = new Date(cachedData.cached_at); 7510 const maxDate = maxUpdatedAt ? new Date(maxUpdatedAt) : null; 7511 const useCached = !maxUpdatedAt || (cachedDate && !isNaN(cachedDate) && (!maxDate || cachedDate > maxDate)); 7512 7513 if (useCached) { 7514 if (Array.isArray(cachedData.plans)) { 7515 window._RestockRocketConfig.sellingPlans = cachedData.plans; 7516 window._RestockRocketConfig.disabledSellingPlanIds = cachedData.disabled_plan_ids || []; 7517 console.debug('[RR] Using selling plans from cachedSellingPlans (cached_at: ' + cachedData.cached_at + ')'); 7518 } 7519 } else { 7520 window._RestockRocketConfig.disabledSellingPlanIds = []; 7521 console.debug('[RR] Using selling plans from old format (max updated_at: ' + maxUpdatedAt + ')'); 7522 } 7523 } 7524 })();window._RestockRocketConfig.enabledNotifyMeVariantIds = [];window._RestockRocketConfig.disabledNotifyMeVariantIds = [];window._RestockRocketConfig.backInStockTemplates = [];window._RestockRocketConfig.restockNotes = {};window._RestockRocketConfig.integrations = []; 7525 try { 7526 var _sqCfg = window._RestockRocketConfig; 7527 var _sqPlanEnabled = Array.isArray(_sqCfg.sellingPlans) && 7528 _sqCfg.sellingPlans.some(function (p) { return p && p.enabled; }); 7529 var _sqPreCount = ((_sqCfg.cachedPreorderVariantIds && 7530 _sqCfg.cachedPreorderVariantIds.preorder_variant_ids) || []).length; 7531 _sqCfg.preordersConfigured = !!(_sqPlanEnabled && _sqPreCount); 7532 } catch (e) { } 7533 try { 7534 var _sqc = window._RestockRocketConfig; 7535 var _sqOn = !(_sqc.cachedSettings && _sqc.cachedSettings.block_accelerated_checkout === false); 7536 var _sqPre = (_sqc.cachedPreorderVariantIds && 7537 _sqc.cachedPreorderVariantIds.preorder_variant_ids) || []; 7538 var _sqArm = false; 7539 if (_sqOn && _sqc.preordersConfigured) { 7540 if (_sqc.pageType === 'product' && _sqc.product && _sqc.product.variants) { 7541 _sqArm = _sqc.product.variants.some(function (v) { return _sqPre.indexOf(Number(v.id)) !== -1; }); 7542 } else { 7543 _sqArm = (_sqc.integrations || []).some(function (i) { 7544 return i && i.type === 'featured_product' && i.enabled && 7545 Array.isArray(i.page_types) && i.page_types.indexOf(_sqc.pageType) !== -1; 7546 }); 7547 } 7548 } 7549 if (_sqArm && document.documentElement) { 7550 _sqc.acceleratedGateArmed = true; 7551 document.documentElement.classList.add('stoq-buy-now-pending'); 7552 setTimeout(function () { 7553 document.documentElement.classList.remove('stoq-buy-now-pending'); 7554 }, 6000); 7555 } 7556 } catch (e) { } 7557 7558 window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/01a10b23-799c-7a38-a052-ddf9175946a6/restockrocket-1-600/assets/restockrocket-product.js' 7559 window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/01a10b23-799c-7a38-a052-ddf9175946a6/restockrocket-1-600/assets/restockrocket-collection.js' 7560 window._RestockRocketConfig.scriptUrlProductBis = 'https://cdn.shopify.com/extensions/01a10b23-799c-7a38-a052-ddf9175946a6/restockrocket-1-600/assets/restockrocket-product-bis.js' 7561 window._RestockRocketConfig.scriptUrlCollectionBis = 'https://cdn.shopify.com/extensions/01a10b23-799c-7a38-a052-ddf9175946a6/restockrocket-1-600/assets/restockrocket-collection-bis.js' 7562 window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1) 7563 window._RestockRocketConfig.host = (window._RestockRocketConfig.cachedSettings && window._RestockRocketConfig.cachedSettings.api_host) || 'https://app.restockrocket.io' 7564 try { 7565 const _stoqVersionMatch = window._RestockRocketConfig.scriptHost.match(/(\d+)\/?(?:assets\/?)?$/); 7566 window._RestockRocketConfig.appVersion = (_stoqVersionMatch && _stoqVersionMatch[1]) || ''; 7567 } catch (e) { 7568 window._RestockRocketConfig.appVersion = ''; 7569 } 7570 const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; 7571 const LIQUID_CACHE_MAX_AGE = 15 * 60; 7572 const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt; 7573 if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) { 7574 console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh'); 7575 window._RestockRocketConfig.isLiquidCacheFresh = true; 7576 window._RestockRocketConfig.liquidCacheAge = null; 7577 } else { 7578 const now = Math.floor(Date.now() / 1000);
7579 const liquidCacheAge = now - liquidRenderedAt; 7580 window._RestockRocketConfig.liquidCacheAge = Math.max(0, liquidCacheAge); 7581 if (liquidCacheAge < 0) { 7582 console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`); 7583 window._RestockRocketConfig.isLiquidCacheFresh = true; 7584 } else if (liquidCacheAge <= LIQUID_CACHE_MAX_AGE) { 7585 console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`); 7586 window._RestockRocketConfig.isLiquidCacheFresh = true; 7587 } else { 7588 console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`); 7589 window._RestockRocketConfig.isLiquidCacheFresh = false; 7590 } 7591 } 7592 7593 function checkSettingsExpiry(settings) { 7594 try { 7595 if (!settings || !settings.updated_at) { 7596 console.debug('STOQ - Invalid settings data structure'); 7597 return null; 7598 } 7599 7600 if (!settings.cache) { 7601 console.debug('STOQ - settings caching disabled'); 7602 return null; 7603 } 7604 if (settings.multi_language_enabled) { 7605 if (!settings.translations) { 7606 console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); 7607 return null; 7608 } 7609 if (window._RestockRocketConfig.normalizedLocale && 7610 !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) { 7611 console.debug('STOQ - locale not explicitly translated, will use default language from cache'); 7612 } 7613 } 7614 7615 const updatedAt = new Date(settings.updated_at); 7616 if (isNaN(updatedAt.getTime())) { 7617 console.debug('STOQ - Invalid updated_at date format in settings'); 7618 return null; 7619 } 7620 7621 const age = Date.now() - updatedAt.getTime(); 7622 if (age < SETTINGS_CACHE_DURATION) { 7623 console.debug('STOQ - settings changed recently, skipping cache'); 7624 return null; 7625 } 7626 7627 return settings; 7628 } catch (error) { 7629 console.debug('STOQ - Error checking settings cache:', error); 7630 return null; 7631 } 7632 } 7633 7634 function createRestockRocketContainer() { 7635 const restockRocketContainer = document.createElement('div'); 7636 restockRocketContainer.id = 'restock-rocket'; 7637 document.body.appendChild(restockRocketContainer); 7638 } 7639 7640 function createRestockRocketScript(scriptUrl) { 7641 const restockRocketScriptElement = document.createElement('script'); 7642 restockRocketScriptElement.setAttribute('defer', 'defer'); 7643 restockRocketScriptElement.src = scriptUrl; 7644 document.body.appendChild(restockRocketScriptElement); 7645 } 7646 7647 createRestockRocketContainer() 7648 7649 console.debug('STOQ - extension activated') 7650 try { 7651 const _stoqInitConfig = window._RestockRocketConfig; 7652 const _stoqDetectedVariantIds = (_stoqInitConfig.product && Array.isArray(_stoqInitConfig.product.variants)
7652) 7653 ? _stoqInitConfig.product.variants.map(function(v) { return v.id }) 7654 : []; 7655 const _stoqSelectedVariantId = _stoqInitConfig.selected_variant_id; 7656 var _stoqPageSeq = 0; 7657 try { 7658 _stoqPageSeq = (parseInt(window.sessionStorage.getItem('_stoq_pls') || '0', 10) || 0) + 1; 7659 window.sessionStorage.setItem('_stoq_pls', String(_stoqPageSeq)); 7660 } catch (e) { } 7661 Shopify?.analytics?.publish?.('stoq_initialized', { 7662 cart_token: _stoqInitConfig.cartToken || '', 7663 page_url: window.location.href, 7664 page_type: _stoqInitConfig.pageType || '', 7665 shop_domain: _stoqInitConfig.shop || '', 7666 market_id: _stoqInitConfig.marketId || '', 7667 country_code: _stoqInitConfig.countryIsoCode || '', 7668 detected_variant_ids: _stoqDetectedVariantIds, 7669 selected_variant_id: _stoqSelectedVariantId || '', 7670 page_load_seq: _stoqPageSeq, 7671 liquid_rendered_at: _stoqInitConfig.liquidRenderedAt || 0, 7672 app_version: _stoqInitConfig.appVersion || '', 7673 liquid_cache_age: _stoqInitConfig.liquidCacheAge, 7674 inventory_policy: (_stoqInitConfig.variantsInventoryPolicy || {})[_stoqSelectedVariantId] || '', 7675 inventory_quantity: (_stoqInitConfig.variantsInventoryQuantity || {})[_stoqSelectedVariantId], 7676 }); 7677 } catch (e) { 7678 console.debug('STOQ - stoq_initialized publish failed:', e); 7679 } 7680 try { 7681 var _sqTrack = window._RestockRocketConfig; 7682 if (_sqTrack.preordersConfigured) { 7683 document.addEventListener('click', function (e) { 7684 try { 7685 var t = e.target; 7686 if (!t || !t.closest) return; 7687 var host = t.closest('.shopify-payment-button, shopify-payment-terms'); 7688 if (!host) return; 7689 var channel = host.matches && host.matches('shopify-payment-terms') 7690 ? 'shop_pay_installments' : 'buy_now'; 7691 var form = host.closest('form'); 7692 var vidEl = form && form.querySelector('[name="id"]'); 7693 var variantId = (vidEl && vidEl.value) || _sqTrack.selected_variant_id || ''; 7694 var _sqVidNum = Number(variantId); 7695 var _sqPlan = null; 7696 var _sqPlans = Array.isArray(_sqTrack.sellingPlans) ? _sqTrack.sellingPlans : []; 7697 var _sqMktId = Number(_sqTrack.marketId); 7698 var _sqForVariant = function (pl) { 7699 return pl && pl.enabled && Array.isArray(pl.variant_ids) && 7700 pl.variant_ids.indexOf(_sqVidNum) !== -1; 7701 }; 7702 _sqPlans.forEach(function (pl) { 7703 if (!_sqPlan && _sqForVariant(pl) && pl.markets_enabled && 7704 Array.isArray(pl.shopify_market_ids) && 7705 pl.shopify_market_ids.indexOf(_sqMktId) !== -1) { _sqPlan = pl; } 7706 }); 7707 if (!_sqPlan) { 7708 _sqPlans.forEach(function (pl) { 7709 if (!_sqPlan && _sqForVariant(pl) && !pl.markets_enabled) { _sqPlan = pl; } 7710 }); 7711 } 7712 Shopify?.analytics?.publish?.('stoq_accelerated_checkout_clicked', { 7713 variant_id: variantId, 7714 product_id: (_sqTrack.product && _sqTrack.product.id) || '', 7715 channel: channel, 7716 market_id: _sqTrack.marketId || '', 7717 country_code: _sqTrack.countryIsoCode || '', 7718 page_type: _sqTrack.pageType || '', 7719 cart_token: _sqTrack.cartToken || '', 7720 page_url: (window.location && window.location.href) || '', 7721 properties: { 7722 is_preorder_variant: (function () { 7723 var vid = Number(variantId); 7724 var has = function (a) { return Array.isArray(a) && a.indexOf(vid) !== -1; }; 7725 return has(_sqTrack.preorderVariantIds) || 7726 has(_sqTrack.cachedPreorderVariantIds && 7727 _sqTrack.cachedPreorderVariantIds.preorder_variant_ids); 7728 })(), 7729 in_enabled_plan: !!_sqPlan, 7730 is_instock_variant: (function () { 7731 var has = function (a) { return Array.isArray(a) && a.indexOf(_sqVidNum) !== -1; }; 7732 return has(_sqTrack.inStockVariantIds) || 7733 has(_sqTrack.cachedInStockVariantIds && 7734 _sqTrack.cachedInStockVariantIds.in_stock_variant_ids); 7735 })(), 7736 enrolled_plan_id: (_sqPlan && (_sqPlan.shopify_selling_plan_id || _sqPlan.shopify_selling_plan_group_id)) || '', 7737 enrolled_plan_provider: (_sqPlan && _sqPlan.inventory_provider) || '', 7738 block_enabled: !(_sqTrack.cachedSettings && _sqTrack.cachedSettings.block_accelerated_checkout === false), 7739 gate_armed: !!_sqTrack.acceleratedGateArmed, 7740 gate_active_at_click: !!(document.documentElement && 7741 document.documentElement.classList.contains('stoq-buy-now-pending')), 7742 blocked: (function () { 7743 try { 7744 var rr = window._RestockRocket; 7745 return !!(rr && typeof rr.willBlockAcceleratedCl
7745ick === 'function' && 7746 rr.willBlockAcceleratedClick(e)); 7747 } catch (err) { return false; } 7748 })(), 7749 }, 7750 }); 7751 } catch (err) { } 7752 }, true); 7753 } 7754 } catch (e) { } 7755 function applyTranslations(settings) { 7756 try { 7757 if (!settings || !settings.multi_language_enabled) { 7758 return settings; 7759 } 7760 7761 if (!settings.translations) { 7762 console.debug('STOQ - No translations found, skipping translation'); 7763 return settings; 7764 } 7765 7766 const normalizedLocale = window._RestockRocketConfig.normalizedLocale; 7767 const translations = settings.translations; 7768 7769 if (!normalizedLocale) { 7770 console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {})); 7771 delete settings.translations; 7772 return settings; 7773 } 7774 7775 console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`); 7776 7777 const translatedFields = translations[normalizedLocale]; 7778 if (translatedFields && typeof translatedFields === 'object') { 7779 Object.keys(translatedFields).forEach(function(key) { 7780 const value = translatedFields[key]; 7781 if (value !== null && value !== undefined && value !== '') { 7782 settings[key] = value; 7783 } 7784 }); 7785 } else { 7786 console.debug('STOQ - No translated fields found for locale:', normalizedLocale); 7787 } 7788 7789 delete settings.translations; 7790 return settings; 7791 } catch (e) { 7792 console.debug('STOQ - error applying translations:', e); 7793 return settings; 7794 } 7795 } 7796 function setupCartSellingPlanUpdater(settings) { 7797 window.addEventListener('stoq:inventory-data-loaded', function(event) { 7798 console.debug('STOQ - Inventory data loaded, updating cart selling plans'); 7799 if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) { 7800 window._RestockRocket.updateCartSellingPlans() 7801 .then(hasUpdates => { 7802 if (hasUpdates) { 7803 console.debug('STOQ - cart selling plans updated successfully'); 7804 } else { 7805 console.debug('STOQ - no cart selling plan updates needed'); 7806 } 7807 }) 7808 .catch(error => { 7809 console.error('STOQ - error updating cart selling plans:', error); 7810 }); 7811 } 7812 }); 7813 } 7814 function storefrontGraphql(query, variables) { 7815 const cfg = window._RestockRocketConfig; 7816 if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) { 7817 return Promise.reject(new Error('Storefront API unavailable')); 7818 } 7819 return fetch( 7820 `https://${cfg.shop}/api/${cfg.storefrontApiVersion}/graphql.json`, 7821 { 7822 method: 'POST', 7823 headers: { 7824 'Content-Type': 'application/json', 7825 'X-Shopify-Storefront-Access-Token': cfg.storefrontAccessToken, 7826 }, 7827 body: JSON.stringify({ query: query, variables: variables }), 7828 } 7829 ) 7830 .then(function(response) { 7831 if (!response.ok) { throw new Error('Storefront API HTTP ' + response.status); } 7832 return response.json(); 7833 }) 7834 .then(function(body) { 7835 if (body && body.errors && body.errors.length) { 7836 throw new Error('Storefront API errors: ' + body.errors.map(function(e) { return e && e.message; }).join(', ')); 7837 } 7838 return body && body.data; 7839 }); 7840 } 7841 function fetchStorefrontShopMetafield(key) { 7842 const cfg = window._RestockRocketConfig; 7843 const query = 'query StoqShopMetafield($namespace: String!, $key: String!) { shop { metafield(namespace: $namespace, key: $key) { value } } }'; 7844 return storefrontGraphql(query, { namespace: cfg.metafieldNamespace, key: key }) 7845 .then(function(data) { 7846 const value = data && data.shop && data.shop.metafield && data.shop.metafield.value; 7847 if (!value) { throw new Error('Storefront API returned no ' + key + ' metafield value'); } 7848 return JSON.parse(value); 7849 }); 7850 } 7851 (function loadStorefrontSettings() { 7852 const cfg = window._RestockRocketConfig; 7853 if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) return; 7854 function run() { 7855 // The live-settings read is one more shop-level metafield fetch, so it 7856 // shares fetchStorefrontShopMetafield with the integrations/selling_plans 7857 // reads rather than re-issuing the same query + parse. 7858 fetchStorefrontShopMetafield('settings') 7859 .then(function(settings) { 7860 cfg.storefrontSettings = settings; 7861 console.debug('STOQ - stored live settings from Storefront API on config.storefrontSettings'); 7862 }) 7863 .catch(function(e) { 7864 console.debug('STOQ - Storefront settings fetch failed (non-fatal):', e && e.message); 7865 }); 7866 } 7867 7868 if (typeof window.requestIdleCallback === 'function') { 7869 window.requestIdleCallback(run, { timeout: 5000 }); 7870 } else { 7871 setTimeout(run, 0); 7872 } 7873 })(); 7874 const cachedSettings = window._RestockRocketConfig.cachedSettings; 7875 const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null; 7876 7877 if (validCachedSettings) { 7878 console.debug('STOQ - using cached settings'); 7879 initializeScripts(validCachedSettings); 7880 } else { 7881 console.debug('STOQ - fetching fresh settings'); 7882 const headers = { 7883 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 7884 'ngrok-skip-browser-warning': 'skip' 7885 }; 7886 7887 if (window.Shopify?.theme?.role === 'main') { 7888 headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name; 7889 headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version; 7890 headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id; 7891 } 7892 7893 fetch( 7894 `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`, 7895 { headers } 7896 ) 7897 .then(function(response) { 7898 if (!response.ok) { 7899 throw new Error('Network response was not ok'); 7900 } 7901 return response.json(); 7902 }) 7903 .then(function(settings) { 7904 initializeScripts(settings); 7905 }) 7906 .catch(function(error) { 7907 if (cachedSettings) { 7908 console.debug('STOQ - using expired cached settings as fallback'); 7909 initializeScripts(cachedSettings); 7910 } else { 7911 console.error('STOQ - failed to load settings:', error); 7912 } 7913 }) 7914 .catch(function(e) { 7915 console.error(e) 7916 }) 7917 } 7918 7919 function fetchEmbedConfig(endpoint, apply) { 7920 return fetch( 7921 `${window._RestockRocketConfig.host}/api/v1/embed/${endpoint}.json`, 7922 { 7923 headers: { 7924 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 7925 'ngrok-skip-browser-warning': 'skip' 7926 } 7927 } 7928 ) 7929 .then(function(response) { 7930 if (!response.ok) throw new Error(`Failed to fetch ${endpoint}`); 7931 return response.json(); 7932 }) 7933 .then(function(data) {
7934 try { 7935 apply(data); 7936 } catch (applyError) { 7937 console.error('STOQ - apply failed for ' + endpoint + ':', applyError); 7938 throw applyError; 7939 } 7940 }) 7941 .catch(function(error) { 7942 console.debug(`STOQ - using cached ${endpoint}:`, error.message); 7943 }); 7944 } 7945 function refreshShopConfig(source) { 7946 const cfg = window._RestockRocketConfig; 7947 const viaEmbed = function() { return fetchEmbedConfig(source.endpoint, source.apply); }; 7948 const flagOn = !!cfg.readFlags && cfg.readFlags[source.flag] === true; 7949 if (!flagOn || source.embedOnly === true) { return viaEmbed(); } 7950 7951 return fetchStorefrontShopMetafield(source.metafieldKey) 7952 .then(function(value) { 7953 if (!source.isValid(value)) { throw new Error(source.metafieldKey + ' metafield is not a valid ' + source.endpoint + ' payload'); } 7954 source.apply(value); 7955 console.debug('STOQ - refreshed ' + source.endpoint + ' from the Storefront API'); 7956 }) 7957 .catch(function(error) { 7958 console.debug('STOQ - Storefront ' + source.endpoint + ' read failed, using embed:', error.message); 7959 return viaEmbed(); 7960 }); 7961 } 7962 function refreshIntegrations() { 7963 const cfg = window._RestockRocketConfig; 7964 return refreshShopConfig({ 7965 endpoint: 'integrations', 7966 metafieldKey: 'integrations', 7967 flag: 'enable_storefront_integrations_read', 7968 isValid: function(value) { return Array.isArray(value); }, 7969 apply: function(data) { 7970 cfg.integrations = data; 7971 } 7972 }); 7973 } 7974 function refreshSellingPlans(embedOnly) { 7975 const cfg = window._RestockRocketConfig; 7976 return refreshShopConfig({ 7977 embedOnly: embedOnly === true, 7978 endpoint: 'selling_plans', 7979 metafieldKey: 'cachedSellingPlans', 7980 flag: 'enable_storefront_selling_plans_read', 7981 isValid: function(value) { return !!value && Array.isArray(value.plans); }, 7982 apply: function(data) { 7983 cfg.sellingPlans = data.plans; 7984 cfg.disabledSellingPlanIds = data.disabled_plan_ids || []; 7985 if (data && data.read_flags && typeof data.read_flags === 'object' && !Array.isArray(data.read_flags)) { 7986 cfg.readFlags = data.read_flags; 7987 } 7988 } 7989 }); 7990 } 7991 7992 function initializeScripts(settings) { 7993 settings = applyTranslations(settings); 7994 window._RestockRocketConfig.settings = settings; 7995 console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); 7996 const forceEmbedSellingPlans = settings.force_embed_selling_plans === true; 7997 const staleRefresh = !window._RestockRocketConfig.isLiquidCacheFresh && !settings.disable_refresh_on_stale_liquid; 7998 if (forceEmbedSellingPlans || staleRefresh) { 7999 console.debug('STOQ - refreshing selling_plans' + (staleRefresh ? ' + integrations (Liquid cache stale)' : ' (force_embed_selling_plans)')); 8000 const refreshes = [refreshSellingPlans(forceEmbedSellingPlans)]; 8001 if (staleRefresh) { refreshes.push(refreshIntegrations()); } 8002 Promise.race([ 8003 Promise.all(refreshes), 8004 new Promise(function(resolve) { setTimeout(resolve, 1000); }) 8005 ]).then(function() { loadScripts(settings); }); 8006 return; 8007 } 8008 8009 loadScripts(settings); 8010 } 8011 8012 function loadScripts(settings) { 8013 setupCartSellingPlanUpdater(settings); 8014 8015 if(settings.enable_app) { 8016 const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) { 8017 return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType); 8018 }) 8019 const hasEnabledOffer = Array.isArray(window._RestockRocketConfig.sellingPlans) 8020 && window._RestockRocketConfig.sellingPlans.some(function(plan) { return plan && plan.enabled; }); 8021 const hasDisabledPlanIds = Array.isArray(window._RestockRocketConfig.disabledSellingPlanIds) 8022 && window._RestockRocketConfig.disabledSellingPlanIds.length > 0; 8023 const usePreorderBuild = settings.preorder_enabled || hasEnabledOffer || hasDisabledPlanIds; 8024 8025 const collectionScriptUrl = usePreorderBuild 8026 ? window._RestockRocketConfig.scriptUrlCollection 8027 : window._RestockRocketConfig.scriptUrlCollectionBis; 8028 const productScriptUrl = usePreorderBuild 8029 ? window._RestockRocketConfig.scriptUrlProduct 8030 : window._RestockRocketConfig.scriptUrlProductBis; 8031 8032 const pageType = window._RestockRocketConfig.pageType; 8033 const collectionPageTypes = ['collection', 'index', 'search', 'page']; 8034
8035 if(collectionPageTypes.indexOf(pageType) !== -1 && (settings[`show_button_on_${pageType}`] || settings[`preorder_${pageType}_enabled`])) { 8036 createRestockRocketScript(collectionScriptUrl); 8037 } else if(pageType === 'product') { 8038 createRestockRocketScript(productScriptUrl); 8039 } else if(hijackIntegration) { 8040 createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); 8041 } else if(usePreorderBuild) { 8042 createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); 8043 } else { 8044 console.debug(`STOQ - no scripts enabled for ${pageType}`); 8045 } 8046 const appLoadedEvent = new CustomEvent('stoq:loaded', { 8047 detail: { 8048 pageType: window._RestockRocketConfig.pageType, 8049 enabled: settings.enable_app, 8050 settings: settings, 8051 preorderEnabled: settings.preorder_enabled 8052 } 8053 }); 8054 console.debug('STOQ - dispatching app loaded event'); 8055 window.dispatchEvent(appLoadedEvent); 8056 } 8057 } 8058</script>
8058<style id="RestockRocketStyle">html.stoq-buy-now-pending .shopify-payment-button{pointer-events:none!important}</style> 8059 8060 8061</div>
8061<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
8061 8062</body> 8063</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.