CINXE.COM

Krus Bokelsker sort - Leve Kjøkken » Bokkilden

<!DOCTYPE html> <html lang="nb" class="h-full"> <!-- Copyright De norske Bokklubbene. All rights reserved. --> <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# product: http://ogp.me/ns/product#" > <script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="055187ca-ee46-469e-82db-ed7e26998c59" type="text/javascript" async></script> <script type="text/javascript"> window.dataLayer = window.dataLayer || []; window.dataLayer.push({ event: 'view_item', ecommerce: { items: [{ item_name: 'Krus Bokelsker sort', item_id: '16543874', price: '179.0', discount: '0.0', quantity: '1', // insert quantity item_list_name: 'SAP VOLUMKJOP', promotion_name: '', // (optional) Add credit to a promotion item_brand: 'Leve Kjøkken ', item_category: 'Gaver og utstyr', item_category2: 'Voksen', item_category3: '0', item_category4: 'Norsk', item_category5: 'Leve Kjøkken', item_variant: '' }] } }); </script> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5J5HG2K');</script> <!-- End Google Tag Manager --> <base href="https://www.bokkilden.no/"/> <title>Krus Bokelsker sort - Leve Kjøkken » Bokkilden </title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="version" content=""/> <meta name="google-site-verification" content="gsrBS7DVfQBttAlDQew6-hr-iyI0w5fZC--CFIF4xzM"/> <meta property="og:site_name" content="Bokkilden"/> <meta property="og:locale" content="nb_NO"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="format-detection" content="telephone=no"/> <meta name="description" content="Vår pris 179,-. Det perfekte kruset for alle bokelskere! Kategorier: Kjøkken, Kopper. Isbn 7023567030566"/> <meta property="og:description" content="Vår pris 179,-. Det perfekte kruset for alle bokelskere! Kategorier: Kjøkken, Kopper. Isbn 7023567030566"/> <meta name="keywords" content="kjøkken, kopper, bøker, bokhandel, internettbokhandel, bok, billigbøker, billige bøker, e-bøker, dvd"/> <meta property="fb:app_id" content="121894421201314"/> <meta property="og:title" content="Krus Bokelsker sort - Leve Kjøkken"/> <meta name="robots" content="" /> <meta property="og:type" content="product"/> <meta property="product:condition" content="new"/> <meta property="product:brand" content="Leve Kjøkken"/> <meta property="product:price:amount" content="179"/> <meta property="product:price:currency" content="NOK"/> <meta property="product:retailer_item_id" content="16543874"/> <meta property="product:availability" content="in stock"/> <link rel="image_src" href="https://www.bokkilden.no/servlet/VisBildeServlet?produktId=16543874"/> <meta property="og:image" content="https://www.bokkilden.no/servlet/VisBildeServlet?produktId=16543874&width=600"/> <meta property="og:image:width" content="600"> <meta property="og:url" content="https://www.bokkilden.no/kjoekken/krus-bokelsker-sort-leve-kjoekken/produkt.do?produktId=16543874"/> <link rel="canonical" href="https://www.bokkilden.no/kjoekken/krus-bokelsker-sort-leve-kjoekken/produkt.do?produktId=16543874"/> <link href="/static/css/bokkilden/style.css?rel=34b92bab02edc2b493db124971594860" rel="stylesheet"> <script type="module" src="/static/js/app.js?rel=9837d605d917102d931facc6067c7307"></script> <script src="/static/js/dialogPolyfill.js"></script> <link rel="stylesheet" href="/static/css/dialog-polyfill.css"/> <link rel="manifest" href="/static/manifest/bokkilden/site.webmanifest"/> <link rel="icon" type="image/x-icon" href="/static/icons/bokkilden/favicon.ico"/> <link rel="icon" sizes="16x16" href="/static/images/bokkilden/favicon-16x16.png"/> <link rel="icon" sizes="32x32" href="/static/images/bokkilden/favicon-32x32.png"/> <link rel="icon" sizes="192x192" href="/static/images/bokkilden/android-chrome-192x192.png"> <link rel="icon" sizes="512x512" href="/static/images/bokkilden/android-chrome-512x512.png"> <link rel="apple-touch-icon" sizes="180x180" href="/static/images/bokkilden/apple-touch-icon.png"/> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Product", "url": "https://www.bokkilden.no/kjoekken/krus-bokelsker-sort-leve-kjoekken/produkt.do?produktId=16543874", "image": "https://www.bokkilden.no/servlet/VisBildeServlet?produktId=16543874", "description": "Gaver og utstyr. Det perfekte kruset for alle bokelskere!.", "name": "Krus Bokelsker sort ", "gtin13": "7023567030566" ,"aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.63", "ratingCount": "19" }, "review": [ { "@type": "Review", "author": { "@type": "Person", "name": "Elin Fag" }, "datePublished": "2024-10-15", "reviewBody": "Jeg er kjempefornøyd med produktet :-).. Varen kom trygt frem uten skader :-) :-).. Kjempefin til å ta seg en kopp kaffe/te i :-) :-)..", "name": "Medlemsvurdering", "reviewRating": { "@type": "Rating", "bestRating": "5", "ratingValue": "5", "worstRating": "1" } } , { "@type": "Review", "author": { "@type": "Person", "name": "brede" }, "datePublished": "2024-10-15", "reviewBody": "fin kopp til te eller varm solbærsaft.", "name": "Medlemsvurdering", "reviewRating": { "@type": "Rating", "bestRating": "5", "ratingValue": "5", "worstRating": "1" } } , { "@type": "Review", "author": { "@type": "Person", "name": "Tove-Irene Tandberg" }, "datePublished": "2024-10-15", "reviewBody": "Mottatt i alt 3 stykker og er veldig fornøyd. Store og romslige til varm drikke", "name": "Medlemsvurdering", "reviewRating": { "@type": "Rating", "bestRating": "5", "ratingValue": "5", "worstRating": "1" } } , { "@type": "Review", "author": { "@type": "Person", "name": "Ragnhild Fossmark" }, "datePublished": "2024-02-06", "reviewBody": "Stor og god tekopp.", "name": "Medlemsvurdering", "reviewRating": { "@type": "Rating", "bestRating": "5", "ratingValue": "5", "worstRating": "1" } } , { "@type": "Review", "author": { "@type": "Person", "name": "Renate Fjorden Kvernmo" }, "datePublished": "2022-04-08", "reviewBody": "Liker koppen veldig godt, fin størrelse.", "name": "Gøyal kopp", "reviewRating": { "@type": "Rating", "bestRating": "5", "ratingValue": "5", "worstRating": "1" } } , { "@type": "Review", "author": { "@type": "Person", "name": "Susan T. Gibbs" }, "datePublished": "2021-06-29", "reviewBody": "", "name": "krus bokelsker sort", "reviewRating": { "@type": "Rating", "bestRating": "5", "ratingValue": "5", "worstRating": "1" } } , { "@type": "Review", "author": { "@type": "Person", "name": "Torill Fritsvold" }, "datePublished": "2020-08-26", "reviewBody": "Grei kopp", "name": "Krus Bokelsker", "reviewRating": { "@type": "Rating", "bestRating": "5", "ratingValue": "5", "worstRating": "1" } } , { "@type": "Review", "author": { "@type": "Person", "name": "Inger Lisbeth Lie" }, "datePublished": "2020-08-25", "reviewBody": "Veldig begeistret for koppen . 🤩", "name": "Bokelsker kopp", "reviewRating": { "@type": "Rating", "bestRating": "5", "ratingValue": "5", "worstRating": "1" } } , { "@type": "Review", "author": { "@type": "Person", "name": "Anne-Gerd Låstad" }, "datePublished": "2020-08-25", "reviewBody": "Flott kopp", "name": "Kopp", "reviewRating": { "@type": "Rating", "bestRating": "5", "ratingValue": "5", "worstRating": "1" } } , { "@type": "Review", "author": { "@type": "Person", "name": "Kristin" }, "datePublished": "2020-05-26", "reviewBody": "En perfekt kopp til en god kopp kaffe 👍🏻", "name": "Bokelsker", "reviewRating": { "@type": "Rating", "bestRating": "5", "ratingValue": "5", "worstRating": "1" } } ] ,"offers": { "@type": "Offer", "price": "179.0", "itemCondition": "https://schema.org/NewCondition", "availability": "https://schema.org/InStock", "priceCurrency": "NOK" ,"shippingDetails": { "@type": "OfferShippingDetails", "shippingRate": { "@type": "MonetaryAmount", "value": "0", "currency": "NOK" } } } } </script> </head> <body class="h-full bg-papirhvit text-svart font-serif text-lg md:text-xl lg:text-2xl"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5J5HG2K" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <svg xmlns="http://www.w3.org/2000/svg" class="hidden"> <symbol id="icon-check" viewBox="0 0 20 20"> <path d="m0 8.548 8.136 9.841L20 3.31l-2.16-1.699-9.757 12.401-5.965-7.215L0 8.548Z" fill="currentColor"></path> </symbol> <symbol id="icon-shopping" viewBox="0 0 576 512"> <path d="M16 0C7.2 0 0 7.2 0 16s7.2 16 16 16H53.9c7.6 0 14.2 5.3 15.7 12.8l58.9 288c6.1 29.8 32.3 51.2 62.7 51.2H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H191.2c-15.2 0-28.3-10.7-31.4-25.6L152 288H466.5c29.4 0 55-20 62.1-48.5L575.5 51.9c2.1-8.6-3.1-17.3-11.6-19.4s-17.3 3.1-19.4 11.6L497.6 231.8C494 246 481.2 256 466.5 256H145.4L100.9 38.4C96.3 16 76.7 0 53.9 0H16zM168 456a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0a56 56 0 1 0 -112 0 56 56 0 1 0 112 0zm200-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 80a56 56 0 1 0 0-112 56 56 0 1 0 0 112zM240 128c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V144h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V64c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H256c-8.8 0-16 7.2-16 16z" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" fill="currentColor"></path> </symbol> <symbol id="icon-search" viewBox="0 0 28 28"> <path d="M9.855 16.736 0 26.574l1.407 1.41 9.856-9.84a10.194 10.194 0 0 0 6.5 2.329C23.417 20.473 28 15.89 28 10.237 28 4.583 23.417 0 17.763 0 12.11 0 7.527 4.583 7.527 10.237c0 2.467.873 4.731 2.328 6.499Zm7.908 1.746a8.246 8.246 0 1 1 .002-16.492 8.246 8.246 0 0 1-.002 16.492Z" fill="currentColor"></path> </symbol> <symbol id="icon-bar" viewBox="0 0 49 49"> <path d="M0 43h49v-3H0v3Zm0-17.001h49v-3H0v3ZM0 9h49V6H0v3Z" fill="currentColor"></path> </symbol> <symbol id="icon-arrow-right" viewBox="0 0 448 512"> <path d="M443.3 267.3c6.2-6.2 6.2-16.4 0-22.6l-176-176c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L393.4 240 16 240c-8.8 0-16 7.2-16 16s7.2 16 16 16l377.4 0L244.7 420.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l176-176z" fill="currentColor"></path> </symbol> <symbol id="icon-arrow-left" viewBox="0 0 448 512"> <path d="M4.7 244.7c-6.2 6.2-6.2 16.4 0 22.6l176 176c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L54.6 272 432 272c8.8 0 16-7.2 16-16s-7.2-16-16-16L54.6 240 203.3 91.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-176 176z" fill="currentColor"></path> </symbol> <symbol id="icon-arrow-up" viewBox="0 0 384 512"> <path d="M203.3 36.7c-6.2-6.2-16.4-6.2-22.6 0l-176 176c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L176 86.6V464c0 8.8 7.2 16 16 16s16-7.2 16-16V86.6L356.7 235.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-176-176z" fill="currentColor"></path> </symbol> <symbol id="icon-arrow-down" viewBox="0 0 384 512"> <path d="M180.7 475.3c6.2 6.2 16.4 6.2 22.6 0l176-176c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L208 425.4 208 48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 377.4L27.3 276.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l176 176z" fill="currentColor"></path> </symbol> <symbol id="icon-symbol" viewBox="0 0 15 15"> <path d="M11.891 7.061c.832.104 1.514.343 2.041.715.712.508 1.068 1.21 1.068 2.107 0 .612-.173 1.16-.525 1.649-.352.489-.872.874-1.566 1.155-.695.281-1.544.422-2.55.422H4.921v-.897c.521 0 .886-.087 1.095-.259v-.004c.209-.172.311-.449.311-.829V3.876c0-.381-.106-.657-.32-.829-.214-.172-.574-.259-1.086-.259v-.897h5.371c1.344 0 2.363.24 3.057.716s1.041 1.128 1.041 1.957c0 .771-.302 1.382-.907 1.831-.421.311-.951.529-1.592.652v.014ZM0 12.307c1.379 0 2.629-.502 3.533-1.313.904-.811 1.464-1.931 1.464-3.168C2.238 7.826 0 9.833 0 12.307Zm11.81-.911c.445-.358.667-.879.667-1.572 0-.693-.223-1.169-.663-1.5-.441-.335-1.09-.498-1.949-.498H8.677v4.105H9.95c.792 0 1.41-.177 1.855-.535h.005ZM0 2.362c0 1.24.56 2.36 1.464 3.17.904.81 2.154 1.311 3.533 1.311C4.997 4.37 2.759 2.362 0 2.362Zm11.378 3.96c.405-.335.61-.815.61-1.45 0-.584-.183-1.051-.552-1.39-.37-.34-.89-.508-1.567-.508H8.682v3.851h.965c.748 0 1.322-.168 1.731-.498v-.005Z" fill="currentColor"></path> </symbol> <symbol id="icon-close" viewBox="0 0 17 17"> <path d="M8.5 7.172 1.914.586.5 2l6.586 6.586-6.223 6.222 1.414 1.415L8.5 10l6.222 6.222 1.414-1.414-6.222-6.222L16.5 2 15.085.586 8.5 7.172Z" fill="currentColor"></path> </symbol> <symbol id="icon-heart" viewBox="0 0 37 32"> <path d="M9.764.32h-.006V.313a9.74 9.74 0 0 0-9.75 9.716c-.041.702-.469 12.923 18.071 21.464l.421.194.422-.194C37.53 22.92 37.03 10.641 36.992 10.017c-.015-5.36-4.364-9.701-9.743-9.704h-.006a9.74 9.74 0 0 0-8.737 5.424A9.737 9.737 0 0 0 9.764.313V.32Zm-.006 2.008a7.727 7.727 0 0 0-7.735 7.735l-.002.07s-.651 11.254 16.48 19.333C35.63 21.387 34.98 10.133 34.98 10.133l-.003-.07a7.728 7.728 0 0 0-7.731-7.735 7.728 7.728 0 0 0-7.732 7.735h-2.015l-.003-.2a7.726 7.726 0 0 0-7.732-7.535h-.006Z" fill="currentColor" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" ></path> </symbol> <symbol id="icon-heart-fill" viewBox="0 0 37 32"> <path d="M9.764.32h-.006V.313a9.74 9.74 0 0 0-9.75 9.716c-.041.702-.469 12.923 18.071 21.464l.421.194.422-.194C37.53 22.92 37.03 10.641 36.992 10.017c-.015-5.36-4.364-9.701-9.743-9.704h-.006a9.74 9.74 0 0 0-8.737 5.424A9.737 9.737 0 0 0 9.764.313V.32Z" style="fill:#d52f09;fill-rule:nonzero"></path> </symbol> <symbol id="icon-dice-4" viewBox="0 0 47 47"> <path d="M0 0h47v47H0V0Zm34.688 38.586h.001a3.873 3.873 0 0 0 3.854-3.854c0-2.114-1.739-3.853-3.853-3.854h-.001a3.873 3.873 0 0 0-3.854 3.854c0 2.114 1.739 3.853 3.853 3.854Zm-22.381 0c2.114-.001 3.853-1.74 3.853-3.854a3.873 3.873 0 0 0-3.854-3.854 3.873 3.873 0 0 0-3.854 3.854 3.873 3.873 0 0 0 3.854 3.854h.001Zm0-22.463a3.873 3.873 0 0 0 3.855-3.855 3.873 3.873 0 0 0-3.855-3.855 3.873 3.873 0 0 0-3.855 3.855 3.873 3.873 0 0 0 3.855 3.855Zm22.381 0a3.873 3.873 0 0 0 3.855-3.855 3.873 3.873 0 0 0-3.855-3.855 3.873 3.873 0 0 0-3.855 3.855 3.873 3.873 0 0 0 3.855 3.855Z" style="fill:#d52f09;fill-rule:nonzero"></path> </symbol> <symbol id="icon-dice-5" viewBox="0 0 47 47"> <path d="M0 0h47v47H0V0Zm34.688 38.586h.001a3.873 3.873 0 0 0 3.854-3.854c0-2.114-1.739-3.853-3.853-3.854h-.001a3.873 3.873 0 0 0-3.854 3.854c0 2.114 1.739 3.853 3.853 3.854Zm-22.381 0c2.114-.001 3.853-1.74 3.853-3.854a3.873 3.873 0 0 0-3.854-3.854 3.873 3.873 0 0 0-3.854 3.854 3.873 3.873 0 0 0 3.854 3.854h.001Zm10.67-11.231a3.873 3.873 0 0 0 3.854-3.854V23.5c-.001-2.114-1.74-3.853-3.854-3.853a3.873 3.873 0 0 0-3.854 3.854 3.873 3.873 0 0 0 3.854 3.854Zm-10.67-11.232a3.873 3.873 0 0 0 3.855-3.855 3.873 3.873 0 0 0-3.855-3.855 3.873 3.873 0 0 0-3.855 3.855 3.873 3.873 0 0 0 3.855 3.855Zm22.381 0a3.873 3.873 0 0 0 3.855-3.855 3.873 3.873 0 0 0-3.855-3.855 3.873 3.873 0 0 0-3.855 3.855 3.873 3.873 0 0 0 3.855 3.855Z" style="fill:#d52f09; fill-rule:nonzero"></path> </symbol> <symbol id="icon-dice-6" viewBox="0 0 47 47"> <path d="M0 0h47v47H0V0Zm12.309 38.586a3.873 3.873 0 0 0 3.854-3.854 3.873 3.873 0 0 0-3.854-3.854 3.873 3.873 0 0 0-3.854 3.854 3.873 3.873 0 0 0 3.854 3.854Zm22.383 0a3.873 3.873 0 0 0 3.854-3.854 3.873 3.873 0 0 0-3.854-3.854 3.873 3.873 0 0 0-3.854 3.854 3.873 3.873 0 0 0 3.854 3.854ZM12.309 27.355c2.114-.001 3.854-1.741 3.854-3.855a3.873 3.873 0 0 0-3.855-3.855h-.001c-2.114.001-3.854 1.741-3.854 3.855a3.873 3.873 0 0 0 3.855 3.855h.001Zm22.383 0c2.114-.001 3.854-1.741 3.854-3.855a3.873 3.873 0 0 0-3.855-3.855h-.001c-2.114.001-3.854 1.741-3.854 3.855a3.873 3.873 0 0 0 3.855 3.855h.001ZM12.309 16.123c2.114-.001 3.854-1.741 3.854-3.855a3.873 3.873 0 0 0-3.855-3.855h-.001c-2.114.001-3.854 1.741-3.854 3.855a3.873 3.873 0 0 0 3.855 3.855h.001Zm22.383 0c2.114-.001 3.854-1.741 3.854-3.855a3.873 3.873 0 0 0-3.855-3.855h-.001c-2.114.001-3.854 1.741-3.854 3.855a3.873 3.873 0 0 0 3.855 3.855h.001Z" style="fill:#d52f09; fill-rule:nonzero"></path> </symbol> <symbol id="icon-star" viewBox="0 0 576 512"> <path d="M288.1 0l86.5 164 182.7 31.6L428 328.5 454.4 512 288.1 430.2 121.7 512l26.4-183.5L18.9 195.6 201.5 164 288.1 0z" fill="currentColor"></path> </symbol> <symbol id="icon-facebook" viewBox="0 0 448 512"> <path d="M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z" fill="currentColor"></path> </symbol> <symbol id="icon-instagram" viewBox="0 0 448 512"> <path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z" fill="currentColor"></path> </symbol> <symbol id="icon-visa" viewBox="0 0 576 512"> <path d="M470.1 231.3s7.6 37.2 9.3 45H446c3.3-8.9 16-43.5 16-43.5-.2.3 3.3-9.1 5.3-14.9l2.8 13.4zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM152.5 331.2L215.7 176h-42.5l-39.3 106-4.3-21.5-14-71.4c-2.3-9.9-9.4-12.7-18.2-13.1H32.7l-.7 3.1c15.8 4 29.9 9.8 42.2 17.1l35.8 135h42.5zm94.4.2L272.1 176h-40.2l-25.1 155.4h40.1zm139.9-50.8c.2-17.7-10.6-31.2-33.7-42.3-14.1-7.1-22.7-11.9-22.7-19.2.2-6.6 7.3-13.4 23.1-13.4 13.1-.3 22.7 2.8 29.9 5.9l3.6 1.7 5.5-33.6c-7.9-3.1-20.5-6.6-36-6.6-39.7 0-67.6 21.2-67.8 51.4-.3 22.3 20 34.7 35.2 42.2 15.5 7.6 20.8 12.6 20.8 19.3-.2 10.4-12.6 15.2-24.1 15.2-16 0-24.6-2.5-37.7-8.3l-5.3-2.5-5.6 34.9c9.4 4.3 26.8 8.1 44.8 8.3 42.2.1 69.7-20.8 70-53zM528 331.4L495.6 176h-31.1c-9.6 0-16.9 2.8-21 12.9l-59.7 142.5H426s6.9-19.2 8.4-23.3H486c1.2 5.5 4.8 23.3 4.8 23.3H528z" fill="currentColor"></path> </symbol> <symbol id="icon-mastercard" viewBox="0 0 576 512"> <path d="M482.9 410.3c0 6.8-4.6 11.7-11.2 11.7-6.8 0-11.2-5.2-11.2-11.7 0-6.5 4.4-11.7 11.2-11.7 6.6 0 11.2 5.2 11.2 11.7zm-310.8-11.7c-7.1 0-11.2 5.2-11.2 11.7 0 6.5 4.1 11.7 11.2 11.7 6.5 0 10.9-4.9 10.9-11.7-.1-6.5-4.4-11.7-10.9-11.7zm117.5-.3c-5.4 0-8.7 3.5-9.5 8.7h19.1c-.9-5.7-4.4-8.7-9.6-8.7zm107.8.3c-6.8 0-10.9 5.2-10.9 11.7 0 6.5 4.1 11.7 10.9 11.7 6.8 0 11.2-4.9 11.2-11.7 0-6.5-4.4-11.7-11.2-11.7zm105.9 26.1c0 .3.3.5.3 1.1 0 .3-.3.5-.3 1.1-.3.3-.3.5-.5.8-.3.3-.5.5-1.1.5-.3.3-.5.3-1.1.3-.3 0-.5 0-1.1-.3-.3 0-.5-.3-.8-.5-.3-.3-.5-.5-.5-.8-.3-.5-.3-.8-.3-1.1 0-.5 0-.8.3-1.1 0-.5.3-.8.5-1.1.3-.3.5-.3.8-.5.5-.3.8-.3 1.1-.3.5 0 .8 0 1.1.3.5.3.8.3 1.1.5s.2.6.5 1.1zm-2.2 1.4c.5 0 .5-.3.8-.3.3-.3.3-.5.3-.8 0-.3 0-.5-.3-.8-.3 0-.5-.3-1.1-.3h-1.6v3.5h.8V426h.3l1.1 1.4h.8l-1.1-1.3zM576 81v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V81c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM64 220.6c0 76.5 62.1 138.5 138.5 138.5 27.2 0 53.9-8.2 76.5-23.1-72.9-59.3-72.4-171.2 0-230.5-22.6-15-49.3-23.1-76.5-23.1-76.4-.1-138.5 62-138.5 138.2zm224 108.8c70.5-55 70.2-162.2 0-217.5-70.2 55.3-70.5 162.6 0 217.5zm-142.3 76.3c0-8.7-5.7-14.4-14.7-14.7-4.6 0-9.5 1.4-12.8 6.5-2.4-4.1-6.5-6.5-12.2-6.5-3.8 0-7.6 1.4-10.6 5.4V392h-8.2v36.7h8.2c0-18.9-2.5-30.2 9-30.2 10.2 0 8.2 10.2 8.2 30.2h7.9c0-18.3-2.5-30.2 9-30.2 10.2 0 8.2 10 8.2 30.2h8.2v-23zm44.9-13.7h-7.9v4.4c-2.7-3.3-6.5-5.4-11.7-5.4-10.3 0-18.2 8.2-18.2 19.3 0 11.2 7.9 19.3 18.2 19.3 5.2 0 9-1.9 11.7-5.4v4.6h7.9V392zm40.5 25.6c0-15-22.9-8.2-22.9-15.2 0-5.7 11.9-4.8 18.5-1.1l3.3-6.5c-9.4-6.1-30.2-6-30.2 8.2 0 14.3 22.9 8.3 22.9 15 0 6.3-13.5 5.8-20.7.8l-3.5 6.3c11.2 7.6 32.6 6 32.6-7.5zm35.4 9.3l-2.2-6.8c-3.8 2.1-12.2 4.4-12.2-4.1v-16.6h13.1V392h-13.1v-11.2h-8.2V392h-7.6v7.3h7.6V416c0 17.6 17.3 14.4 22.6 10.9zm13.3-13.4h27.5c0-16.2-7.4-22.6-17.4-22.6-10.6 0-18.2 7.9-18.2 19.3 0 20.5 22.6 23.9 33.8 14.2l-3.8-6c-7.8 6.4-19.6 5.8-21.9-4.9zm59.1-21.5c-4.6-2-11.6-1.8-15.2 4.4V392h-8.2v36.7h8.2V408c0-11.6 9.5-10.1 12.8-8.4l2.4-7.6zm10.6 18.3c0-11.4 11.6-15.1 20.7-8.4l3.8-6.5c-11.6-9.1-32.7-4.1-32.7 15 0 19.8 22.4 23.8 32.7 15l-3.8-6.5c-9.2 6.5-20.7 2.6-20.7-8.6zm66.7-18.3H408v4.4c-8.3-11-29.9-4.8-29.9 13.9 0 19.2 22.4 24.7 29.9 13.9v4.6h8.2V392zm33.7 0c-2.4-1.2-11-2.9-15.2 4.4V392h-7.9v36.7h7.9V408c0-11 9-10.3 12.8-8.4l2.4-7.6zm40.3-14.9h-7.9v19.3c-8.2-10.9-29.9-5.1-29.9 13.9 0 19.4 22.5 24.6 29.9 13.9v4.6h7.9v-51.7zm7.6-75.1v4.6h.8V302h1.9v-.8h-4.6v.8h1.9zm6.6 123.8c0-.5 0-1.1-.3-1.6-.3-.3-.5-.8-.8-1.1-.3-.3-.8-.5-1.1-.8-.5 0-1.1-.3-1.6-.3-.3 0-.8.3-1.4.3-.5.3-.8.5-1.1.8-.5.3-.8.8-.8 1.1-.3.5-.3 1.1-.3 1.6 0 .3 0 .8.3 1.4 0 .3.3.8.8 1.1.3.3.5.5 1.1.8.5.3 1.1.3 1.4.3.5 0 1.1 0 1.6-.3.3-.3.8-.5 1.1-.8.3-.3.5-.8.8-1.1.3-.6.3-1.1.3-1.4zm3.2-124.7h-1.4l-1.6 3.5-1.6-3.5h-1.4v5.4h.8v-4.1l1.6 3.5h1.1l1.4-3.5v4.1h1.1v-5.4zm4.4-80.5c0-76.2-62.1-138.3-138.5-138.3-27.2 0-53.9 8.2-76.5 23.1 72.1 59.3 73.2 171.5 0 230.5 22.6 15 49.5 23.1 76.5 23.1 76.4.1 138.5-61.9 138.5-138.4z" fill="currentColor"></path> </symbol> <symbol id="icon-thumb" viewBox="0 0 29 29"> <path d="M17.751 1.555c1.473.301 2.43 1.769 2.136 3.278l-.131.662a14.045 14.045 0 0 1-1.631 4.364h8.156c1.501 0 2.719 1.247 2.719 2.785s-1.105 2.67-2.509 2.78c.436.493.697 1.149.697 1.863 0 1.357-.952 2.489-2.204 2.733.249.418.391.917.391 1.445 0 1.236-.787 2.286-1.875 2.646.04.191.063.395.063.603 0 1.538-1.218 2.786-2.719 2.786h-4.163a5.36 5.36 0 0 1-3.019-.934l-2.181-1.492c-1.512-1.033-2.418-2.774-2.418-4.636v-6.453c0-1.695.753-3.291 2.039-4.353l.419-.342a8.374 8.374 0 0 0 2.9-4.886l.13-.662c.294-1.508 1.728-2.489 3.2-2.187ZM1.812 10.787h3.625c1.003 0 1.813.83 1.813 1.857v12.999c0 1.027-.81 1.857-1.813 1.857H1.812C.81 27.5 0 26.67 0 25.643V12.644c0-1.027.81-1.857 1.812-1.857Z" fill="currentColor"></path> </symbol> <symbol id="icon-play" viewBox="0 0 384 512"> <path d="M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80V432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z" fill="currentColor"></path> </symbol> </svg> <!-- START ESI-fragment: "/kundeKampanje.do?plassering=kampanjestripe&kampDokId=&kampPlassering=" --> <div style="display: contents;" class="contents" > <div class="sticky bg-svart text-papirhvit w-full z-50 fx-hover absolute top-0 text-xl text-center py-1"> <!--xsl id=121--><div style="text-align: center;"><strong>BLACK WEEK – </strong><strong><a class="link" href="side.do?dokId=735607">nye tilbud hver dag!</a></strong></div> </div> </div> <!-- SLUTT ESI-fragment: "/kundeKampanje.do?plassering=kampanjestripe&kampDokId=&kampPlassering=" --> <div class="content-wrapper"> <header class="mb-8 md:mb-10 lg:mb-20 pt-2 lg:pt-5"> <nav class="text-lg md:text-xl flex items-center gap-2 md:gap-4 justify-end mb-2 md:mb-4 lg:mb-8"> <!-- START ESI-fragment: "/toppmenyLogin.do?tellaUrl=produkteditor/16543874&" --> <div data-load-on-event="userLoggedIn" data-src="/toppmenyLogin.do?tellaUrl=produkteditor/16543874&" style="display: contents;" class="contents" > <a href="/medlem/minSide.do" class="hover:underline" data-selenium="minSide">Logg inn (Min side)</a> </div> <!-- SLUTT ESI-fragment: "/toppmenyLogin.do?tellaUrl=produkteditor/16543874&" --> <a href="/handlekurv.do" class="hover:underline" data-basket-button="">Handlekurv <!-- START ESI-fragment: "/handlekurv.do?vis=antall" --> <div data-load-on-event="basketChanged" data-src="/handlekurv.do?vis=antall" style="display: contents;" class="contents" > (0) </div> <!-- SLUTT ESI-fragment: "/handlekurv.do?vis=antall" --> </a> </nav> <div class="flex flex-wrap lg:flex-nowrap items-center gap-4 lg:gap-8 [--height:50px]"> <a href="/side.do?rom=MP" class="w-2/3 md:w-1/3 lg:w-[370px]" aria-label="Tilbake til forsiden"> <img src="/static/images/bokkilden/logo.svg" width="372" height="47" alt=""> </a> <button onclick="document.querySelector('#sidebarMenu').showModal()" class="h-[var(--height)] w-[var(--height)] flex-col group ml-auto lg:ml-0 md:order-last justify-center items-center" aria-label="Vis meny"> <span class="flex justify-center text-3xl text-primary group-hover:text-svart leading-none"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-bar"></use> </svg> </span> <span class="text-xs md:text-base leading-none text-center block">Meny</span> </button> <link rel="stylesheet" href="/static/css/autoComplete.css"/> <div id="sokefelt" class="relative w-full md:w-auto md:flex-1 md:ml-12 lg:flex-none lg:w-[550px] lg:ml-auto lg:mr-0 h-[var(--height)] "> <form action="enkeltSok.do" id="site-search" class="w-full h-full text-lg md:text-xl"> <input id="main-search" name="enkeltsok" data-selenium="enkeltsok" class="border-2 border-svart px-4 block w-full bg-transparent focus:!bg-papirhvit" style="padding-top: 0.56rem; padding-bottom: 0.56rem;" placeholder="Finn din neste bok her" aria-label="Søke etter produkter" autocomplete="off" aria-controls="autoComplete_list_1" aria-autocomplete="both" role="combobox" aria-owns="autoComplete_list_1" aria-haspopup="true" aria-expanded="false" autofocus="autofocus"> <ul id="autoComplete_list_1" role="listbox" hidden="" class="divide-y divide-svart border border-svart -mt-0.5 bg-papirhvit"></ul> <button class="absolute top-0 right-0 w-11 h-full text-2xl md:text-3xl hover:text-primary flex items-center justify-center" aria-label="Søk" type="submit" data-selenium="sok"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-search"></use> </svg> </button> </form> </div> </div> </header> </div> <!-- START ESI-fragment: "/sidemeny.do" --> <div style="display: contents;" class="contents" > <dialog id="sidebarMenu" class="fixed left-0 top-0 w-full md:left-auto md:w-[400px] right-0 md:shadow bg-papirhvit bottom-0 z-50 overflow-y-auto pb-12 animate-slide-right backdrop:bg-black backdrop:bg-opacity-20 max-h-full max-w-full m-0 p-0 h-full"> <div data-content class="contents"> <nav class="grid grid-cols-1 divide-y divide-svart pt-2 border-b border-svart mb-4" aria-labelledby="#link-name"> <div class="p-4 flex items-center gap-1"> <h2 class="font-bold text-primary flex-1" id="link-name">Meny</h2> <form method="dialog" class="contents"> <button class="p-2 text-sm" aria-label="Skjul navigasjon" tabindex="-1"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-close"></use> </svg> </button> </form> </div> <div> <button class="px-4 py-3 flex items-center gap-1 w-full" onclick="toogleSidebarGroup(this)" aria-expanded="false"> <div class="flex-1 text-left font-bold"> Bøker </div> <span class="icon flex p-2 text-lg"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-arrow-down"></use> </svg> </span> </button> <div class="children-menu py-2 hidden"> <a href="/utvalg.do?term=utgittdato:[NOW-3MONTH%20TO%20NOW]%20AND%20produkttype:B%20AND%20(bokgruppe:4*+OR%20bokgruppe:3*)&overskrift=Nyheter&vis=ruter" class="px-4 py-2 block w-full"> Nyheter </a> </a> <a href="/gavehjelper.do" class="px-4 py-2 block w-full"> Gavehjelper </a> <a href="/utvalg.do?term=planlagt_utgivelsesdato:%5bNOW%20TO%20*%5d+regdato:%5bNOW-6MONTH%20TO%20NOW%5d-klasse_kode:Y*+innbinding:Innbundet+bokgruppe:4*+OR%20bokgruppe3*+bilde_kommer:0&overskrift=Bøker%20som%20kommer&vis=ruter" class="px-4 py-2 block w-full"> Bøker som kommer </a> <a href="/bestselgereBokhandel.do?navn=Skjønnlitteratur" class="px-4 py-2 block w-full"> Bestselgere Norge </a> <a href="/bestselgere.do?rom=Skjonnlitteratur" class="px-4 py-2 block w-full"> Bestselgere Bokkilden </a> <a href="/utvalg.do?term=(thema_kode:FF*+OR+thema_kode:FH*)+AND+spraak:Norsk*+AND+bilde_kommer:0&overskrift=Krim%20og%20spenning" class="px-4 py-2 block w-full"> Krim </a> <a href="/utvalg.do?term=thema_kode:F*%20AND%20-thema_kode:FF*&overskrift=Romaner" class="px-4 py-2 block w-full"> Romaner </a> <a href="/utvalg.do?term=spraak:Engelsk+AND+thema_kode:F*&overskrift=Engelsk%20skjønnlitteratur" class="px-4 py-2 block w-full"> Engelsk skjønnlitteratur </a> <a href="/emneSok.do?term=thema_kode:DC&overskrift=Lyrikk" class="px-4 py-2 block w-full"> Lyrikk </a> <a href="/emneSok.do?term=thema_kode:X&overskrift=Tegneserier" class="px-4 py-2 block w-full"> Tegneserier </a> <a href="/utvalg.do?term=thema_kode:Y*&overskrift=Barn%20og%20ungdom" class="px-4 py-2 block w-full"> Barn og ungdom </a> <a href="/side.do?dokId=713383" class="px-4 py-2 block w-full"> Debutanter </a> <a href="/emneSok.do?utvalg=faglitteratur" class="px-4 py-2 block w-full"> Faglitteratur </a> <a href="/utvalg.do?term=utgittdato:%5BNOW-3MONTH%20TO%20NOW%5D%20AND%20produkttype:B%20AND%20(bokgruppe:3*)&overskrift=Nyheter%20faktabøker" class="px-4 py-2 block w-full"> Fakta </a> <a href="/side.do?dokId=690196" class="px-4 py-2 block w-full"> #booktok </a> <a href="/utvalg.do?term=produkttype:X&overskrift=E-bøker" class="px-4 py-2 block w-full"> E-bøker</a> <a href="/utvalg.do?term=produkttype:Z%20OR%20produkttype:L&overskrift=Lydbøker" class="px-4 py-2 block w-full"> Lydbøker</a> </div> </div> <div> <button class="px-4 py-3 flex items-center gap-1 w-full" onclick="toogleSidebarGroup(this)" aria-expanded="false"> <div class="flex-1 text-left font-bold"> Gaver og interiør </div> <span class="icon flex p-2 text-lg"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-arrow-down"></use> </svg> </span> </button> <div class="children-menu py-2 hidden"> <a href="/side.do?dokId=649350" class="px-4 py-2 block w-full"> Nyheter </a> <a href="/filter.do?filterId=1094187" class="px-4 py-2 block w-full"> Billigkroken </a> <a href="/emneSok.do?term=klasse_kode:25.4&overskrift=Interiør" class="px-4 py-2 block w-full"> Interiør </a> <a href="/emneSok.do?term=klasse_kode:25.4.5&overskrift=Kjøkken" class="px-4 py-2 block w-full"> Kjøkken </a> <a href="/emneSok.do?term=klasse_kode:25.1&overskrift=Fritid" class="px-4 py-2 block w-full"> Fritid </a> <a href="/emneSok.do?term=klasse_kode:25.2&overskrift=Klær%20og%20tilbehør" class="px-4 py-2 block w-full"> Klær & tilbehør </a> <a href="/emneSok.do?term=klasse_kode:25.3&overskrift=Velvære" class="px-4 py-2 block w-full"> Velvære </a> <a href="/emneSok.do?term=klasse_kode:25.5&overskrift=Barn" class="px-4 py-2 block w-full"> Barn </a> </div> </div> <div> <button class="px-4 py-3 flex items-center gap-1 w-full" aria-expanded="false"> <div class="flex-1 text-left font-bold"> <a href="/side.do?dokId=734314">JUL</a> </div> </button> </div> <div> <button class="px-4 py-3 flex items-center gap-1 w-full" onclick="toogleSidebarGroup(this)" aria-expanded="false"> <div class="flex-1 text-left font-bold"> <strong>Salg</strong> </div> <span class="icon flex p-2 text-lg"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-arrow-down"></use> </svg> </span> </button> <div class="children-menu py-2 hidden"> <a href="/filter.do?filterId=1094187&antall=100&til=sorterFilter" class="px-4 py-2 block w-full"> Billigkroken </a> <a href="/filter.do?filterId=1096383&antall=100&til=sorterFilter" class="px-4 py-2 block w-full"> Lagersalg bøker </a> </div> </div> </nav> <script> (function () { function toogleSidebarGroup(el) { var parent = el.parentNode; parent.querySelector(".icon").classList.toggle("rotate-180"); const isExpanded = el.getAttribute("aria-expanded") === "true"; el.setAttribute("aria-expanded", isExpanded ? "false" : "true"); parent.querySelector(".children-menu").classList.toggle("hidden"); } window.toogleSidebarGroup = window.toogleSidebarGroup || toogleSidebarGroup; })(); </script> <div> <a href="/medlem/minSide.do" class="px-4 py-2 flex gap-1"> Min side </a> <a href="/kundeservice.do" class="px-4 py-2 flex gap-1"> Kundeservice </a> <a href="/side.do?dokId=665592" class="px-4 py-2 flex gap-1 font-bold"> Gavekort – en perfekt gave </a> <a href="/nyKunde.do" class="px-4 py-2 flex gap-1"> Registrer deg </a> </div> </div> </dialog> <script> const dialog = document.querySelector("#sidebarMenu"); dialogPolyfill.registerDialog(dialog); (function () { if (dialog) { dialog.addEventListener("click", () => dialog.close()); const dialogContent = dialog.querySelector("[data-content]"); dialogContent.addEventListener("click", (event) => event.stopPropagation() ); } })(); </script> </div> <!-- SLUTT ESI-fragment: "/sidemeny.do" --> <main class="content-wrapper" id="main"> <!-- Content area start --> <script> function skrollTil(elementId){ const el = document.querySelector(elementId); window.scrollTo({ top: el.offsetTop -20, behavior: "smooth" }); return false; } </script> <div id='FEIL.fordelsklubb' class='sambo_melding_feil' style='display:none'><div class='' style='display:none'></div></div> <div id='INFO.fordelsklubb' class='sambo_melding_info' style='display:none'><div class='' style='display:none'></div></div> <section class="grid gap-6 md:gap-y-12 md:gap-x-10 grid-cols-1 md:grid-cols-[1fr_31%] md:grid-rows-[auto_1fr] mb-8"> <div class="contents text-center md:text-left"> <header> <h1 class="h1 break-words max-w-[800px]">Krus Bokelsker sort</h1> <div class="max-w-[var(--max-width)] mx-auto grid grid-cols-1 gap-4"> <p> <span itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> <a class="font-bold link" href="/utvalg.do?term=produsent:%22Leve+Kj%C3%B8kken%22&amp;overskrift=Leve Kjøkken">Leve Kjøkken</a> </span></span> </p> <div class="text-base md:text-lg flex items-center gap-4 w-fit mx-auto md:mx-0"> <a href="#" class="link" onclick="return skrollTil('#medlemmers-vurdering')"> <div class="flex gap-1 items-center"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> <span class="w-1/2 absolute top-0 left-0 overflow-hidden"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> </a> <a href="#" class="link hidden md:block" onclick="return skrollTil('#medlemmers-vurdering')">19 vurderinger</a> </div> <div class="hidden md:block"> <button disabled class="flex justify-center items-center text-[38px] " onclick="toggleHeart(this)" data-favorite="16543874" data-favorite-checked="false" aria-label="Favoritt" data-selenium="hjerteFavoritt"> <span data-favorite-true=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart-fill"></use> </svg> </span> <span data-favorite-false=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart"></use> </svg> </span> </button> </div> </div> </header> <aside class="[--size:28px] sm:[--size:32px] lg:[--size:44px] md:col-start-2 md:row-span-2"> <div class="grid grid-cols-[var(--size)_1fr_var(--size)] gap-2 md:gap-4 md:grid-cols-1"> <div class="col-start-2 relative md:col-start-1"> <div class="mix-blend-multiply"> <button class="contents" onclick="showImageDialog()"> <picture> <source srcset="/servlet/VisBildeServlet?produktId=16543874&amp;width=600" media="(min-width: 1024px)" data-gallery-source-main=""> <img src="/servlet/VisBildeServlet?produktId=16543874&amp;width=400&format=jpg" alt="Krus Bokelsker sort" height="1000" width="1000" data-gallery-image-width="600" data-gallery-image-main="" data-index="0" loading="eager" class="block w-full h-auto"> </picture> </button> <div class="grid grid-cols-1 gap-2 md:gap-4 mt-2 sm:mt-2 lg:mt-4" data-slider-container=""> <div class="relative"> <div class="flex scroll-smooth snap-x snap-mandatory overflow-x-auto scrollbar-hide -mx-0.5 sm:-mx-1 lg:-mx-2" data-slider="" data-count="3"> <div class="flex snap-start shrink-0 px-0.5 sm:px-1 lg:px-2 w-1/3" data-slide-item> <button class="block w-full" onclick="setGalleryImage({'src':'servlet/VisBildeServlet?bildeId=422250','name':'Krus Bokelsker sort','width':400,'height':400}, 0)"> <img src="/servlet/VisBildeServlet?bildeId=422250&#38;width=200" alt="Krus Bokelsker sort" height="400" width="400" loading="lazy" class="w-full h-auto bg-white mix-blend-multiply"> </button> </div> <div class="flex snap-start shrink-0 px-0.5 sm:px-1 lg:px-2 w-1/3" data-slide-item> <button class="block w-full" onclick="setGalleryImage({'src':'servlet/VisBildeServlet?bildeId=418033','name':'Krus Bokelsker sort','width':400,'height':400}, 0)"> <img src="/servlet/VisBildeServlet?bildeId=418033&#38;width=200" alt="Krus Bokelsker sort" height="400" width="400" loading="lazy" class="w-full h-auto bg-white mix-blend-multiply"> </button> </div> <div class="flex snap-start shrink-0 px-0.5 sm:px-1 lg:px-2 w-1/3" data-slide-item> <button class="block w-full" onclick="setGalleryImage({'src':'servlet/VisBildeServlet?bildeId=418034','name':'Krus Bokelsker sort','width':400,'height':400}, 0)"> <img src="/servlet/VisBildeServlet?bildeId=418034&#38;width=200" alt="Krus Bokelsker sort" height="400" width="400" loading="lazy" class="w-full h-auto bg-white mix-blend-multiply"> </button> </div> <div class="flex snap-start shrink-0 px-0.5 sm:px-1 lg:px-2 w-1/3" data-slide-item> <button class="block w-full" onclick="setGalleryImage({'src':'servlet/VisBildeServlet?produktId=16543874','name':'Krus Bokelsker sort','width':400,'height':400}, 0)"> <img src="/servlet/VisBildeServlet?produktId=16543874&#38;width=200" alt="Krus Bokelsker sort" height="400" width="400" loading="lazy" class="w-full h-auto bg-white mix-blend-multiply"> </button> </div> </div> <button data-prev="" aria-label="Forrige side" disabled="true" class="absolute top-1/2 rounded-full -translate-y-1/2 disabled:hidden hidden sm:flex p-1 text-lg bg-white left-1"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-arrow-left"></use> </svg> </button> <button data-next="" aria-label="Neste side" class="absolute top-1/2 rounded-full -translate-y-1/2 disabled:hidden hidden sm:flex p-1 text-lg bg-white right-1"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-arrow-right"></use> </svg> </button> </div> <nav data-pagina="" class="flex items-center gap-2 justify-center p-px" data-btn-class="h-4 w-4 border-2 border-current rounded-full disabled:bg-current"> <button disabled="true" class="h-4 w-4 border-2 border-current rounded-full disabled:bg-current"></button> <button class="h-4 w-4 border-2 border-current rounded-full disabled:bg-current"></button> <button class="h-4 w-4 border-2 border-current rounded-full disabled:bg-current"></button> </nav> </div> <dialog id="productImageDialog" class="fixed top-1/2 -translate-y-1/2 left-1/2 -translate-x-1/2 origin-center p-0 w-auto h-full bg-transparent max-w-[90vw] max-h-[90vh] aspect-square z-50 m-0 backdrop:bg-black backdrop:bg-opacity-10"> <div class="flex items-center justify-center w-full h-full"> <div data-content="" class="w-fit h-fit relative"> <form method="dialog"> <button class="p-3 absolute right-3 top-3 text-base z-10" tabindex="-1"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-close"></use> </svg> </button> </form> <div class="grid grid-cols-1 gap-4 relative bg-white" data-slider-container=""> <div class="relative"> <div class="flex scroll-smooth snap-x snap-mandatory overflow-x-auto scrollbar-hide -mx-px invisible" data-slider-lazy="" data-count="5 data-index="0"> <div class="flex snap-start shrink-0 px-px w-full" data-slide-item=""> <img src="/servlet/VisBildeServlet?produktId=16543874&amp;width=1200" alt="Krus Bokelsker sort" height="634" width="400" loading="eager" class="object-contain w-full h-auto"> </div> <div class="flex snap-start shrink-0 px-px w-full" data-slide-item> <img src="/servlet/VisBildeServlet?bildeId=422250&#38;width=1200" alt="bilde" height="400" width="400" loading="lazy" class="object-contain w-full h-auto"> </div> <div class="flex snap-start shrink-0 px-px w-full" data-slide-item> <img src="/servlet/VisBildeServlet?bildeId=418033&#38;width=1200" alt="bilde" height="400" width="400" loading="lazy" class="object-contain w-full h-auto"> </div> <div class="flex snap-start shrink-0 px-px w-full" data-slide-item> <img src="/servlet/VisBildeServlet?bildeId=418034&#38;width=1200" alt="bilde" height="400" width="400" loading="lazy" class="object-contain w-full h-auto"> </div> <div class="flex snap-start shrink-0 px-px w-full" data-slide-item> <img src="/servlet/VisBildeServlet?produktId=16543874&#38;width=1200" alt="bilde" height="400" width="400" loading="lazy" class="object-contain w-full h-auto"> </div> </div> <button data-prev="" aria-label="Forrige side" disabled="" class="absolute top-1/2 rounded-full -translate-y-1/2 disabled:hidden p-2 text-2xl bg-white left-1"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-arrow-left"></use> </svg> </button> <button data-next="" aria-label="Neste side" class="absolute top-1/2 rounded-full -translate-y-1/2 disabled:hidden p-2 text-2xl bg-white right-1"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-arrow-right"></use> </svg> </button> </div> <nav data-pagina="" class="flex items-center gap-2 justify-center p-px absolute bottom-4 w-full" data-btn-class="h-4 w-4 border-2 border-current rounded-full disabled:bg-current"></nav> </div> </div> </div> </dialog> <script> (function () { const dialog = document.querySelector("#productImageDialog"); const dialogSlider = dialog.querySelector("[data-slider-lazy]"); const mainImage = document.querySelector("[data-gallery-image-main]"); const mainSource = document.querySelector("[data-gallery-source-main]"); function setGalleryImage(image = {}, index = 1) { const imageWidth = mainImage.getAttribute("data-gallery-image-width"); mainSource.setAttribute("srcset",`${image.src}&width=${imageWidth}`); mainImage.setAttribute("width", image.width); mainImage.setAttribute("height", image.height); mainImage.setAttribute("alt", image.name); mainImage.setAttribute("data-index", index); dialogSlider.setAttribute("data-index", index); } window.setGalleryImage = window.setGalleryImage || setGalleryImage; function showImageDialog() { dialog.showModal(); // Evt om initSlider må i en timeout for å sikret at dialogen er åpen og at riktig visningsbredde er satt av nettleser setTimeout(() => { dialogSlider.initSlider && dialogSlider.initSlider(() => { dialogSlider.classList.remove("invisible"); }); }, 100); } if (dialog) { dialog.addEventListener("close", () => { dialogSlider.classList.add("invisible"); }); dialog.addEventListener("click", () => dialog.close()); const dialogContent = dialog.querySelector("[data-content]"); dialogContent.addEventListener("click", (event) => event.stopPropagation() ); } //showImageDialog(); window.showImageDialog = window.showImageDialog || showImageDialog; })(); </script> <script> (function () { // import { createSnapSlider } from 'use-snap-slider/dist/snap-slider' const throttle = (fn, wait) => { let inThrottle; let lastFn; let lastTime; return function () { const context = this; const args = arguments; if (!inThrottle) { fn.apply(context, args); lastTime = Date.now(); inThrottle = true; } else { clearTimeout(lastFn); lastFn = setTimeout(() => { if (Date.now() - lastTime >= wait) { fn.apply(context, args); lastTime = Date.now(); } }, Math.max(wait - (Date.now() - lastTime), 0)); } }; }; function createSnapSlider({ element: _element, count = 1, countDelta, index = 0, circular, indexDelta, initalSubscriptionPublish = true, itemSelector = ":scope > *", debug = false, }) { let initalIndex = index; let state = { index, indexDelta: indexDelta || index, count, countDelta: countDelta || count, }; let prevIndexDelta = index; let slidesPerPage = 1; let itemPositions = []; let muteScrollListner = false; let left = 0; let element; function updateIndexDelta() { if (element) { const prev = element.scrollLeft; const { indexDelta: indexDelta2 } = state; left = indexDelta2 * (element.offsetWidth / slidesPerPage); debug && console.log("updateIndexDelta", { scrollLeft: prev, offsetWidth: element.offsetWidth, slidesPerPage, left, }); if (prevIndexDelta !== indexDelta2) { const distance = Math.abs(prev - left); const limitInstantScroll = element.offsetWidth * 2; prevIndexDelta = indexDelta2; muteScrollListner = true; const behavior = distance > limitInstantScroll ? "instant" : "smooth"; element.scroll({ left, top: 0, behavior, }); } else { if (initalIndex) { muteScrollListner = true; element.scroll({ left, top: 0, // @ts-expect-error [mildly irritated message] behavior: "instant", }); initalIndex = void 0; } } } } let publishDirty = false; let listeners = []; const subscribe = (callback) => { listeners.push(callback); if (element && (publishDirty || initalSubscriptionPublish)) { callback(getState()); } return () => { listeners = listeners.filter((x) => x !== callback); if (listeners.length < 1) { destroy(); } }; }; function notify() { listeners.forEach((callback) => { callback(getState()); }); } const getState = () => { const { indexDelta: indexDelta2, countDelta: countDelta2 } = state; return { ...state, prevEnabled: circular || indexDelta2 > 0, nextEnabled: circular || countDelta2 - slidesPerPage > indexDelta2, }; }; function update(params) { let dirty = false; let indexDeltaDirty = false; const keys = Object.keys(params); keys.forEach((key) => { if (state[key] !== params[key]) { state[key] = Number(params[key]); dirty = true; if (key === "indexDelta") { indexDeltaDirty = true; } } }); if (dirty) { publishDirty = listeners.length === 0; notify(); if (indexDeltaDirty) { updateIndexDelta(); } } } function fixIndex(nextIndex) { const { index: index2, indexDelta: indexDelta2 } = nextIndex; const { countDelta: countDelta2, count: count2 } = state; const last = countDelta2 - slidesPerPage; return { index: indexDelta2 < last ? index2 : count2 - 1, indexDelta: indexDelta2, }; } function calculate() { if (element) { let contentWidth = 0; let itemWidth = 0; itemPositions = []; element.querySelectorAll(itemSelector).forEach((slide) => { itemPositions.push(contentWidth); contentWidth += slide.clientWidth; itemWidth = slide.clientWidth; }); slidesPerPage = Math.round(element.offsetWidth / itemWidth); const countDelta2 = itemPositions.length; const count2 = Math.ceil(countDelta2 / slidesPerPage); const { index: index2 } = state; const resetIndexMayby = index2 + 1 > count2 ? { index: 0, indexDelta: 0, } : {}; update({ count: count2, countDelta: countDelta2, ...resetIndexMayby, }); } } let ticking = false; function onScroll() { if (!ticking && element) { const scrollLeft = element.scrollLeft; window.requestAnimationFrame(() => { debug && console.log("onScroll", { scrollLeft, muteScrollListner, left, }); if (muteScrollListner) { const leftToScroll = Math.abs(left - scrollLeft); if (leftToScroll < 2) { muteScrollListner = false; } } else { const positionItem = itemPositions.reduce((prev, curr) => { return Math.abs(curr - scrollLeft) < Math.abs(prev - scrollLeft) ? curr : prev; }); const indexDelta2 = itemPositions.findIndex( (x) => x === positionItem ); prevIndexDelta = indexDelta2; update( fixIndex({ index: Math.floor(indexDelta2 / slidesPerPage), indexDelta: indexDelta2, }) ); } ticking = false; }); ticking = true; } } const onScrollFn = throttle(onScroll, 200); const onResizeFn = throttle(calculate, 500); function setElement(_el) { if (element) { destroy(); } element = _el; updateIndexDelta(); calculate(); element == null ? void 0 : element.addEventListener("scroll", onScrollFn); window.addEventListener("resize", onResizeFn); } _element && setElement(_element); const jumpTo = function (index2, indexDelta2) { if (indexDelta2 !== void 0) { update( fixIndex({ index: Math.floor(indexDelta2 / slidesPerPage), indexDelta: indexDelta2, }) ); } if (index2 !== void 0) { update( fixIndex({ index: index2, indexDelta: index2 * slidesPerPage, }) ); } }; const destroy = () => { element == null ? void 0 : element.removeEventListener("scroll", onScrollFn); window.removeEventListener("resize", onResizeFn); }; const goNext = () => { const { countDelta: countDelta2, indexDelta: indexDelta2 } = state; const last = countDelta2 - slidesPerPage; const next = indexDelta2 + slidesPerPage <= last ? indexDelta2 + slidesPerPage : circular && indexDelta2 === last ? 0 : last; jumpTo(void 0, next); }; const goPrev = () => { const { indexDelta: indexDelta2, countDelta: countDelta2 } = state; const last = countDelta2 - slidesPerPage; const next = indexDelta2 - slidesPerPage >= 0 ? indexDelta2 - slidesPerPage : circular && indexDelta2 === 0 ? last : 0; jumpTo(void 0, next); }; return { destroy, getState, subscribe, jumpTo, setElement, calculate, goNext, goPrev, }; } // Egen implentering for siden function createSnapSliderVanilla(element, cb) { const container = element.closest("[data-slider-container]"); const debug = Boolean(element.getAttribute("data-debug")); const count = Number(element.getAttribute("data-count")); const index = Number(element.getAttribute("data-index")); const nextBtn = container && container.querySelector("[data-next]"); const prevBtn = container && container.querySelector("[data-prev]"); const pagina = container && container.querySelector("[data-pagina]"); const btnClass = pagina && pagina.getAttribute("data-btn-class"); let hasInit = false; debug && console.log("init debug", { scrollLeft: element.scrollLeft, offsetWidth: element.offsetWidth, }); const { jumpTo, goNext, goPrev, subscribe } = createSnapSlider({ element, count: count || 1, index: index || 0, itemSelector: "[data-slide-item]", debug, }); subscribe((obj) => { if (!hasInit) { hasInit = true; cb && cb(); } debug && console.log(obj); if (obj.nextEnabled) { nextBtn && nextBtn.removeAttribute("disabled"); } else { nextBtn && nextBtn.setAttribute("disabled", "true"); } if (obj.prevEnabled) { prevBtn && prevBtn.removeAttribute("disabled"); } else { prevBtn && prevBtn.setAttribute("disabled", "true"); } if (pagina) { pagina.innerHTML = ""; for (let i = 0; i < obj.count; i++) { const button = document.createElement("button"); button.addEventListener("click", () => jumpTo(i)); if (i === obj.index) { button.setAttribute("disabled", "true"); } button.className = `${btnClass}`; pagina.append(button); } } }); prevBtn && prevBtn.addEventListener("click", goPrev); nextBtn && nextBtn.addEventListener("click", goNext); } document.querySelectorAll("[data-slider]").forEach((slider) => { createSnapSliderVanilla(slider); }); window.createSnapSlider = window.createSnapSlider || createSnapSliderVanilla; function createSnapSliderVanillaLazy(element) { element.initSlider = (cb) => { createSnapSliderVanilla(element, cb); }; } document.querySelectorAll("[data-slider-lazy]").forEach((slider) => { createSnapSliderVanillaLazy(slider); }); })(); </script> </div> </div> <div class="flex justify-end gap-2 flex-col md:hidden"> <div class="mb-10"> <button disabled class="flex justify-center items-center text-[length:var(--size)] mx-auto text-primary" onclick="toggleHeart(this)" data-favorite="16543874" data-favorite-checked="false" aria-label="Favoritt" data-selenium="hjerteFavoritt"> <span data-favorite-true=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart-fill"></use> </svg> </span> <span data-favorite-false=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart"></use> </svg> </span> </button> </div> <div class="mt-auto"> </div> </div> </div> </aside> </div> <div class="grid grid-cols-1 auto-rows-min gap-6 md:gap-12"> <div> <h2 class="h3">Finnes i disse variantene:</h2> <nav class="grid grid-cols-5 sm:grid-cols-6 md:flex gap-2 items-center flex-wrap"> <a href="/produkt.do?produktId=16543873" class="block w-full relative md:w-20 p-1 border-2 hover:border-primary border-transparent" title="Bokelsker rød"> <img src="/servlet/VisBildeServlet?produktId=16543873&amp;width=200" alt="Bokelsker rød" height="400" width="400" loading="lazy" class="block w-full h-auto mix-blend-multiply"> </a> <a href="/produkt.do?produktId=16543874" class="block w-full relative md:w-20 p-1 border-2 hover:border-primary border-primary" title="Bokelsker sort"> <img src="/servlet/VisBildeServlet?produktId=16543874&amp;width=200" alt="Bokelsker sort" height="400" width="400" loading="lazy" class="block w-full h-auto mix-blend-multiply"> </a> <a href="/produkt.do?produktId=23061983" class="block w-full relative md:w-20 p-1 border-2 hover:border-primary border-transparent" title="Boknerd"> <img src="/servlet/VisBildeServlet?produktId=23061983&amp;width=200" alt="Boknerd" height="400" width="400" loading="lazy" class="block w-full h-auto mix-blend-multiply"> </a> </nav> </div> </div> <div class="grid grid-cols-1 auto-rows-min gap-6 md:gap-12"> </div> </section> <div class="flex flex-wrap gap-6 md:gap-x-10"> <aside class="border-t-2 border-svart pt-6 md:order-last w-full md:w-[31%]"> <div class="hidden md:block"> <nav class="flex items-center gap-3 flex-wrap"> <a href="/emneSok.do?term=klasse_kode:25.4.5" class="btn"> Kjøkken </a> <a href="/emneSok.do?term=klasse_kode:25.4.5.7" class="btn"> Kopper </a> </nav> </div> </aside> <div class="flex-1"> <!-- hovedspalte --> <div class="border-y-2 border-svart"> <div class="flex flex-wrap lg:flex-nowrap gap-4 items-center py-6"> <div class="flex items-center gap-4"> <strong class="text-4xl md:text-5xl leading-tight whitespace-nowrap ">179,-</strong> </div> <button class="btn btn-solid px-4 py-3 md:py-2 md:max-w-[16rem] xl:px-10 whitespace-nowrap flex-grow w-full md:w-auto" onclick="addtoBasket(16543874, this)" data-selenium="leggIHandlekurv"> Legg i handlekurv </button> <div class="flex justify-center text-lg w-full lg:w-auto"> <div class="leading-tight w-auto text-left"> Sendes innen 2 virkedager </div></div> </div> </div> <div class="grid grid-cols-1 py-8 md:py-12 gap-16 md:gap-24 chop-offset-8 md:chop-offset-12 chop-y-2 chop-svart"> <section id="om-boka"> <div class="markup mb-6"> <p>Se hit, alle bokelskere! Her er kruset du har lett etter &ndash; kruset som kompletterer lesestunden og gj&oslash;r den enda mer verdifull. Kruset som alle bokelskere burde ha. Kruset som rommer en stor kopp te eller kaffe, og som er behagelig &aring; holde i selv med varmt innhold. Dette er rett og slett Bokelsker-kruset, en herlig liten gave til deg selv eller noen du er glad i. S&aring; trakt deg en kopp te, legg bena p&aring; bordet og finn frem boka du har hatt lyst til &aring; lese s&aring; lenge. N&aring; skal det nytes!</p> <p><strong>Materiale:</strong> porselen<br /> <strong>M&aring;l:</strong> h&oslash;yde 9 cm, dia 10 cm<br /> <strong>Volum:</strong> 3 dl</p> </div> <div class="text-base"> Nr: 8136769 </div> </section> <section id="medlemmers-vurdering"> <div class="flex flex-wrap items-center gap-2 justify-between mb-4 md:mb-8"> <h2 class="h2 mb-0">Kunders vurdering</h2> <button id="skrivVurdering" class="btn" aria-expanded="false" onclick="showReviewForm(this)"> Skriv en vurdering </button> </div> <div id='FEIL.productRating' class='sambo_melding_feil' style='display:none'><div class='' style='display:none'></div></div> <div id='INFO.productRating' class='sambo_melding_info' style='display:none'><div class='' style='display:none'></div></div> <div data-review-form-wrapper="" hidden="" class="border-b border-svart pb-6 md:pb-12 mb-6 md:mb-12"> <!-- START ESI-fragment: "/skrivAnmeldelse.do?produktId=16543874" --> <div data-load-on-event="userLoggedIn" data-src="/skrivAnmeldelse.do?produktId=16543874" style="display: contents;" class="contents" > <div class="border-b border-svart mb-4 md:mb-8 pb-2 flex items-center justify-between gap-4"> <h3 class="font-bold">Skriv en vurdering</h3> <button class="p-2 text-base" aria-label="Lukk skjema" onclick="hideReviewForm()"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-close"></use> </svg> </button> </div> <form action="/medlem/ratingSubmit.do" method="post" data-review-form="" class="grid grid-cols-1 gap-4 md:gap-6"> <div>Du må <a class="link" href="/login.do">logge&nbsp;inn</a> for å skrive en produktanmeldelse.</div> </form> <script> (function () { let btn; const wrapper = document.querySelector( "[data-review-form-wrapper]" ); const stjernefeilmelding = document.querySelector( "[data-anmeldelse-feilmelding]" ); const form = document.querySelector("[data-review-form]"); const ratingInput = form.querySelector("[name=ratingStars]"); const ratingField = form.querySelector("[data-rating-field]"); const anmSubmit = form.querySelector("#anmSubmit"); const anmSpinner = form.querySelector("#anmSpinner"); function showReviewForm(el) { window.confirmUserLoggedInOrShowLoginPopup().then(async function(isLoggedIn) { if(isLoggedIn) { btn = el; btn.setAttribute("aria-expanded", "true"); wrapper.removeAttribute("hidden"); } }); } window.showReviewForm = window.showReviewForm || showReviewForm; function hideReviewForm() { btn.setAttribute("aria-expanded", "false"); wrapper.setAttribute("hidden", "true"); } window.hideReviewForm = window.hideReviewForm || hideReviewForm; async function submitReviewForm(formEl) { const formData = new FormData(formEl); if (validateRatingForm(Object.fromEntries(formData))) { const data = new URLSearchParams(formData); const response = await fetch(formEl.getAttribute("action"), { method: "POST", body: data, }); if (response.ok) { hideReviewForm(); formEl.reset(); window.location.hash = 'medlemmers-vurdering'; window.location.reload(); } else { wrapper.innerHTML = "<p><strong>Noe gikk galt!</strong><br />Prøv igjen senere.</p>"; } } else { stjernefeilmelding.innerHTML = "Gi et antall stjerner mellom 1 og 5"; stjernefeilmelding.removeAttribute("hidden"); //skroll til feilmelding stjernefeilmelding.scrollIntoView(); } } function changeRatingValue(num) { const value = parseInt(num); const stars = ratingField.querySelectorAll("button > span"); stars.forEach((star, i) => { if (i + 1 <= value) { star.classList.remove("opacity-30"); } else { star.classList.add("opacity-30"); } }); ratingInput.value = value; //skjul feilmelding stjernefeilmelding.setAttribute("hidden", "true"); } window.changeRatingValue = changeRatingValue; form.addEventListener("submit", (e) => { e.preventDefault(); anmSpinner.removeAttribute("hidden"); anmSpinner.setAttribute("hidden", "true"); submitReviewForm(e.target); }); function validateRatingForm(entries) { var valid = true; const stars = parseInt(entries.ratingStars); if (!(stars > 0 && stars < 6)) { valid = false; } return valid; } })(); </script> </div> <!-- SLUTT ESI-fragment: "/skrivAnmeldelse.do?produktId=16543874" --> </div> <div class="grid grid-cols-1 auto-rows-min gap-6 md:gap-12"> <article class="grid grid-cols-1 gap-4"> <div class="flex items-center gap-4"> <div class="flex items-center justify-center bg-svart h-10 w-10 md:h-12 md:w-12 text-white"> E </div> <div class="flex-1"> <div class="flex gap-1 items-center text-base md:text-lg mb-1"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> <cite class="not-italic">Elin Fag – 15.10.2024 </cite> </div> </div> <div> <p> – Jeg er kjempefornøyd med produktet :-).. Varen kom trygt frem uten skader :-) :-).. Kjempefin til å ta seg en kopp kaffe/te i :-) :-).. </p> </div> </article> <article class="grid grid-cols-1 gap-4"> <div class="flex items-center gap-4"> <div class="flex items-center justify-center bg-svart h-10 w-10 md:h-12 md:w-12 text-white"> b </div> <div class="flex-1"> <div class="flex gap-1 items-center text-base md:text-lg mb-1"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> <cite class="not-italic">brede – 15.10.2024 </cite> </div> </div> <div> <p> – fin kopp til te eller varm solbærsaft. </p> </div> </article> <article class="grid grid-cols-1 gap-4"> <div class="flex items-center gap-4"> <div class="flex items-center justify-center bg-svart h-10 w-10 md:h-12 md:w-12 text-white"> T </div> <div class="flex-1"> <div class="flex gap-1 items-center text-base md:text-lg mb-1"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> <cite class="not-italic">Tove-Irene Tandberg – 15.10.2024 </cite> </div> </div> <div> <p> – Mottatt i alt 3 stykker og er veldig fornøyd. Store og romslige til varm drikke </p> </div> </article> <article class="grid grid-cols-1 gap-4"> <div class="flex items-center gap-4"> <div class="flex items-center justify-center bg-svart h-10 w-10 md:h-12 md:w-12 text-white"> R </div> <div class="flex-1"> <div class="flex gap-1 items-center text-base md:text-lg mb-1"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> <cite class="not-italic">Ragnhild Fossmark – 06.02.2024 </cite> </div> </div> <div> <p> – Stor og god tekopp. </p> </div> </article> <article class="grid grid-cols-1 gap-4"> <div class="flex items-center gap-4"> <div class="flex items-center justify-center bg-svart h-10 w-10 md:h-12 md:w-12 text-white"> R </div> <div class="flex-1"> <div class="flex gap-1 items-center text-base md:text-lg mb-1"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> <cite class="not-italic">Renate Fjorden Kvernmo – 08.04.2022 </cite> </div> </div> <div> <p> – Liker koppen veldig godt, fin størrelse. </p> </div> </article> <article class="grid grid-cols-1 gap-4"> <div class="flex items-center gap-4"> <div class="flex items-center justify-center bg-svart h-10 w-10 md:h-12 md:w-12 text-white"> S </div> <div class="flex-1"> <div class="flex gap-1 items-center text-base md:text-lg mb-1"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> <cite class="not-italic">Susan T. Gibbs – 29.06.2021 </cite> </div> </div> <div> <p> – krus bokelsker sort </p> </div> </article> <article class="grid grid-cols-1 gap-4"> <div class="flex items-center gap-4"> <div class="flex items-center justify-center bg-svart h-10 w-10 md:h-12 md:w-12 text-white"> T </div> <div class="flex-1"> <div class="flex gap-1 items-center text-base md:text-lg mb-1"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> <cite class="not-italic">Torill Fritsvold – 26.08.2020 </cite> </div> </div> <div> <p> – Grei kopp </p> </div> </article> <article class="grid grid-cols-1 gap-4"> <div class="flex items-center gap-4"> <div class="flex items-center justify-center bg-svart h-10 w-10 md:h-12 md:w-12 text-white"> I </div> <div class="flex-1"> <div class="flex gap-1 items-center text-base md:text-lg mb-1"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> <cite class="not-italic">Inger Lisbeth Lie – 25.08.2020 </cite> </div> </div> <div> <p> – Veldig begeistret for koppen . 🤩 </p> </div> </article> <article class="grid grid-cols-1 gap-4"> <div class="flex items-center gap-4"> <div class="flex items-center justify-center bg-svart h-10 w-10 md:h-12 md:w-12 text-white"> A </div> <div class="flex-1"> <div class="flex gap-1 items-center text-base md:text-lg mb-1"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> <cite class="not-italic">Anne-Gerd Låstad – 25.08.2020 </cite> </div> </div> <div> <p> – Flott kopp </p> </div> </article> <article class="grid grid-cols-1 gap-4"> <div class="flex items-center gap-4"> <div class="flex items-center justify-center bg-svart h-10 w-10 md:h-12 md:w-12 text-white"> K </div> <div class="flex-1"> <div class="flex gap-1 items-center text-base md:text-lg mb-1"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> <cite class="not-italic">Kristin – 26.05.2020 </cite> </div> </div> <div> <p> – En perfekt kopp til en god kopp kaffe 👍🏻 </p> </div> </article> <article class="grid grid-cols-1 gap-4"> <div class="flex items-center gap-4"> <div class="flex items-center justify-center bg-svart h-10 w-10 md:h-12 md:w-12 text-white"> A </div> <div class="flex-1"> <div class="flex gap-1 items-center text-base md:text-lg mb-1"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> <cite class="not-italic">Aud Ek – 03.05.2020 </cite> </div> </div> <div> <p> – Mye brukt til te og "Rett i koppen"-supper. Super. </p> </div> </article> <article class="grid grid-cols-1 gap-4"> <div class="flex items-center gap-4"> <div class="flex items-center justify-center bg-svart h-10 w-10 md:h-12 md:w-12 text-white"> K </div> <div class="flex-1"> <div class="flex gap-1 items-center text-base md:text-lg mb-1"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> <cite class="not-italic">Kirsten Skilbrigt – 30.04.2020 </cite> </div> </div> <div> <p> – Passer godt til te pga størrelse og fasong😊 </p> </div> </article> <article class="grid grid-cols-1 gap-4"> <div class="flex items-center gap-4"> <div class="flex items-center justify-center bg-svart h-10 w-10 md:h-12 md:w-12 text-white"> R </div> <div class="flex-1"> <div class="flex gap-1 items-center text-base md:text-lg mb-1"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> <cite class="not-italic">Rolf-Arne Evensen – 29.04.2020 </cite> </div> </div> <div> <p> – Et krus med denne utforming, videst øverst, slik at kaffe/te blir fortere kald er ikke det beste produktet. Fordelen med utformingen er at man kan plassere andre krus oppi. </p> </div> </article> <article class="grid grid-cols-1 gap-4"> <div class="flex items-center gap-4"> <div class="flex items-center justify-center bg-svart h-10 w-10 md:h-12 md:w-12 text-white"> T </div> <div class="flex-1"> <div class="flex gap-1 items-center text-base md:text-lg mb-1"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> <cite class="not-italic">Tove-Irene Tandberg – 29.04.2020 </cite> </div> </div> <div> <p> – Veldig god kopp/krus har brukt den til kaffe,te og kakao </p> </div> </article> <article class="grid grid-cols-1 gap-4"> <div class="flex items-center gap-4"> <div class="flex items-center justify-center bg-svart h-10 w-10 md:h-12 md:w-12 text-white"> G </div> <div class="flex-1"> <div class="flex gap-1 items-center text-base md:text-lg mb-1"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> <cite class="not-italic">GuriMalla – 28.04.2020 </cite> </div> </div> <div> <p> – Søt, koselig kopp. </p> </div> </article> <article class="grid grid-cols-1 gap-4"> <div class="flex items-center gap-4"> <div class="flex items-center justify-center bg-svart h-10 w-10 md:h-12 md:w-12 text-white"> K </div> <div class="flex-1"> <div class="flex gap-1 items-center text-base md:text-lg mb-1"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> <cite class="not-italic">Kari – 31.03.2020 </cite> </div> </div> <div> <p> – Fin og grei kopp. Fornøyd med gaven. Passer best til tekopp. </p> </div> </article> <article class="grid grid-cols-1 gap-4"> <div class="flex items-center gap-4"> <div class="flex items-center justify-center bg-svart h-10 w-10 md:h-12 md:w-12 text-white"> H </div> <div class="flex-1"> <div class="flex gap-1 items-center text-base md:text-lg mb-1"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> <cite class="not-italic">Hilde Straumbotn – 31.03.2020 </cite> </div> </div> <div> <p> – Elsker denne koppen. God å holde og god P drikke av </p> </div> </article> <article class="grid grid-cols-1 gap-4"> <div class="flex items-center gap-4"> <div class="flex items-center justify-center bg-svart h-10 w-10 md:h-12 md:w-12 text-white"> G </div> <div class="flex-1"> <div class="flex gap-1 items-center text-base md:text-lg mb-1"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> <cite class="not-italic">Gudrun Jære Hoel – 31.03.2020 </cite> </div> </div> <div> <p> – Fin kopp </p> </div> </article> <article class="grid grid-cols-1 gap-4"> <div class="flex items-center gap-4"> <div class="flex items-center justify-center bg-svart h-10 w-10 md:h-12 md:w-12 text-white"> B </div> <div class="flex-1"> <div class="flex gap-1 items-center text-base md:text-lg mb-1"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> <cite class="not-italic">Bodil Wiik-Hansen – 25.08.2019 </cite> </div> </div> <div> <p> – Jeg gjorde dessverre en feil i bestillinga som Bokklubben kostnadsfrist omgjorde for meg (bestite 1 i stedet for 2). Koppene skal jeg gi bort som gave, men de ser ut til å være funksjonelle. Pga god service gir jeg 5 stjerner. </p> </div> </article> </div> </section> </div> <!-- hovedspalte end --> </div> </div> <section class="grid grid-cols-1 border-t-2 py-8 md:py-12 border-svart gap-16 md:gap-24 chop-offset-8 md:chop-offset-12 chop-y-2 chop-svart"> <!-- START ESI-fragment: "/lignendeProdukter.do?produktId=16543874" --> <div style="display: contents;" class="contents" > <div> <h2 class="h2 pb-4 md:pb-12">Flere produkter fra Leve Kjøkken:</h2> <section class="grid grid-cols-2 md:grid-cols-4 gap-[var(--grid-spacing)] md:gap-y-16 md:chop-offset-[calc(var(--grid-spacing)/2)] md:chop-x-2 chop-svart"> <article class="block [--size:38px] lg:[--size:50px] mt-8 md:mt-0"> <div class="flex mb-4 gap-2 lg:gap-3 flex-col-reverse "> <a href="/kjeler-og-former/gryte-i-stoepejern-brun-3-5-liter-leve-kjoekken/produkt.do?produktId=24299384" class="flex-1" aria-label="Gryte i støpejern brun 3,5 liter"> <figure class="flex relative items-end aspect-square mix-blend-multiply "> <div class="relative mr-auto max-w-full max-h-full fx-hover" style="aspect-ratio:400 / 400 "> <picture> <source media="(min-width: 768px)" srcset="/servlet/VisBildeServlet?produktId=24299384&amp;width=400"> <source media="(max-width: 767px)" srcset="/servlet/VisBildeServlet?produktId=24299384&amp;width=200"> <img src="/servlet/VisBildeServlet?produktId=24299384&amp;width=400&amp;format=jpg" alt="Gryte i støpejern brun 3,5 liter" height="400" width="400" loading="lazy" class="block w-full h-full" data-selenium="bokomslag"> </picture> </div> </figure> </a> <div class="flex justify-end gap-2 flex-row-reverse items-center h-[var(--size)]"> <button disabled class="flex justify-center items-center text-[calc(var(--size)-10px)] ml-auto" onclick="toggleHeart(this)" data-favorite="24299384" data-favorite-checked="false" aria-label="Favoritt" data-selenium="hjerteFavoritt"> <span data-favorite-true=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart-fill"></use> </svg> </span> <span data-favorite-false=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart"></use> </svg> </span> </button> </div> </div> <div> <h2 class="font-bold leading-tight group whitespace-nowrap overflow-hidden text-ellipsis"> <a href="/kjeler-og-former/gryte-i-stoepejern-brun-3-5-liter-leve-kjoekken/produkt.do?produktId=24299384" class="group-hover:underline" title="Gryte i støpejern brun 3,5 liter "> Gryte i støpejern brun 3,5 liter </a> </h2> <cite class="not-italic block text-base md:text-lg"> Leve Kjøkken </cite> <div class="text-xs uppercase">Gaver og interiør&nbsp;</div> <div class="flex items-center md:mt-4 "> <div class="flex-1 flex items-end gap-1 sm:gap-2"> <strong class="text-xl sm:text-2xl md:text-3xl text-primary"> 299,- </strong> <span class="sm:text-lg md:text-xl line-through"> 799,- </span> </div> </div> <div class=" md:mt-4 text-sm md:text-base"> <div class="flex gap-1 items-center" title="Gjennomsnittlig 4.6 stjerner"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> <span class="w-1/2 absolute top-0 left-0 overflow-hidden"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> </div> </div> </article> <article class="block [--size:38px] lg:[--size:50px] mt-8 md:mt-0"> <div class="flex mb-4 gap-2 lg:gap-3 flex-col-reverse "> <a href="/kjoekken/krus-boknerd-leve-kjoekken/produkt.do?produktId=23061983" class="flex-1" aria-label="Krus Boknerd"> <figure class="flex relative items-end aspect-square mix-blend-multiply "> <div class="relative mr-auto max-w-full max-h-full fx-hover" style="aspect-ratio:400 / 399 "> <picture> <source media="(min-width: 768px)" srcset="/servlet/VisBildeServlet?produktId=23061983&amp;width=400"> <source media="(max-width: 767px)" srcset="/servlet/VisBildeServlet?produktId=23061983&amp;width=200"> <img src="/servlet/VisBildeServlet?produktId=23061983&amp;width=400&amp;format=jpg" alt="Krus Boknerd" height="399" width="400" loading="lazy" class="block w-full h-full" data-selenium="bokomslag"> </picture> </div> </figure> </a> <div class="flex justify-end gap-2 flex-row-reverse items-center h-[var(--size)]"> <button disabled class="flex justify-center items-center text-[calc(var(--size)-10px)] ml-auto" onclick="toggleHeart(this)" data-favorite="23061983" data-favorite-checked="false" aria-label="Favoritt" data-selenium="hjerteFavoritt"> <span data-favorite-true=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart-fill"></use> </svg> </span> <span data-favorite-false=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart"></use> </svg> </span> </button> </div> </div> <div> <h2 class="font-bold leading-tight group whitespace-nowrap overflow-hidden text-ellipsis"> <a href="/kjoekken/krus-boknerd-leve-kjoekken/produkt.do?produktId=23061983" class="group-hover:underline" title="Krus Boknerd "> Krus Boknerd </a> </h2> <cite class="not-italic block text-base md:text-lg"> Leve Kjøkken </cite> <div class="text-xs uppercase">Gaver og interiør&nbsp;</div> <div class="flex items-center md:mt-4 "> <div class="flex-1 flex items-end gap-1 sm:gap-2"> <strong class="text-xl sm:text-2xl md:text-3xl "> 179,- </strong> </div> <button class="text-[calc(var(--size)-14px)] p-2 hover:text-primary" onclick="addtoBasket(23061983, this )" aria-label="Legg i handlekurv" data-selenium="leggIHandlekurv"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-shopping"></use> </svg> </button> </div> <div class=" md:mt-4 text-sm md:text-base"> <div class="flex gap-1 items-center" title="Gjennomsnittlig 4.38 stjerner"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> <span class="w-1/2 absolute top-0 left-0 overflow-hidden"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> </div> </div> </article> <article class="block [--size:38px] lg:[--size:50px] mt-8 md:mt-0"> <div class="flex mb-4 gap-2 lg:gap-3 flex-col-reverse "> <a href="/kjoekken/krus-bokelsker-roed-leve-kjoekken/produkt.do?produktId=16543873" class="flex-1" aria-label="Krus Bokelsker rød"> <figure class="flex relative items-end aspect-square mix-blend-multiply "> <div class="relative mr-auto max-w-full max-h-full fx-hover" style="aspect-ratio:400 / 400 "> <picture> <source media="(min-width: 768px)" srcset="/servlet/VisBildeServlet?produktId=16543873&amp;width=400"> <source media="(max-width: 767px)" srcset="/servlet/VisBildeServlet?produktId=16543873&amp;width=200"> <img src="/servlet/VisBildeServlet?produktId=16543873&amp;width=400&amp;format=jpg" alt="Krus Bokelsker rød" height="400" width="400" loading="lazy" class="block w-full h-full" data-selenium="bokomslag"> </picture> </div> </figure> </a> <div class="flex justify-end gap-2 flex-row-reverse items-center h-[var(--size)]"> <button disabled class="flex justify-center items-center text-[calc(var(--size)-10px)] ml-auto" onclick="toggleHeart(this)" data-favorite="16543873" data-favorite-checked="false" aria-label="Favoritt" data-selenium="hjerteFavoritt"> <span data-favorite-true=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart-fill"></use> </svg> </span> <span data-favorite-false=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart"></use> </svg> </span> </button> </div> </div> <div> <h2 class="font-bold leading-tight group whitespace-nowrap overflow-hidden text-ellipsis"> <a href="/kjoekken/krus-bokelsker-roed-leve-kjoekken/produkt.do?produktId=16543873" class="group-hover:underline" title="Krus Bokelsker rød "> Krus Bokelsker rød </a> </h2> <cite class="not-italic block text-base md:text-lg"> Leve Kjøkken </cite> <div class="text-xs uppercase">Gaver og interiør&nbsp;</div> <div class="flex items-center md:mt-4 "> <div class="flex-1 flex items-end gap-1 sm:gap-2"> <strong class="text-xl sm:text-2xl md:text-3xl "> 179,- </strong> </div> <button class="text-[calc(var(--size)-14px)] p-2 hover:text-primary" onclick="addtoBasket(16543873, this )" aria-label="Legg i handlekurv" data-selenium="leggIHandlekurv"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-shopping"></use> </svg> </button> </div> <div class=" md:mt-4 text-sm md:text-base"> <div class="flex gap-1 items-center" title="Gjennomsnittlig 4.54 stjerner"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> <span class="w-1/2 absolute top-0 left-0 overflow-hidden"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> </div> </div> </article> <article class="block [--size:38px] lg:[--size:50px] mt-8 md:mt-0"> <div class="flex mb-4 gap-2 lg:gap-3 flex-col-reverse "> <a href="/servise/jenny-servise-24-deler-leve-kjoekken/produkt.do?produktId=27846685" class="flex-1" aria-label="Jenny servise 24 deler"> <figure class="flex relative items-end aspect-square mix-blend-multiply "> <div class="relative mr-auto max-w-full max-h-full fx-hover" style="aspect-ratio:400 / 400 "> <picture> <source media="(min-width: 768px)" srcset="/servlet/VisBildeServlet?produktId=27846685&amp;width=400"> <source media="(max-width: 767px)" srcset="/servlet/VisBildeServlet?produktId=27846685&amp;width=200"> <img src="/servlet/VisBildeServlet?produktId=27846685&amp;width=400&amp;format=jpg" alt="Jenny servise 24 deler" height="400" width="400" loading="lazy" class="block w-full h-full" data-selenium="bokomslag"> </picture> </div> </figure> </a> <div class="flex justify-end gap-2 flex-row-reverse items-center h-[var(--size)]"> <button disabled class="flex justify-center items-center text-[calc(var(--size)-10px)] ml-auto" onclick="toggleHeart(this)" data-favorite="27846685" data-favorite-checked="false" aria-label="Favoritt" data-selenium="hjerteFavoritt"> <span data-favorite-true=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart-fill"></use> </svg> </span> <span data-favorite-false=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart"></use> </svg> </span> </button> </div> </div> <div> <h2 class="font-bold leading-tight group whitespace-nowrap overflow-hidden text-ellipsis"> <a href="/servise/jenny-servise-24-deler-leve-kjoekken/produkt.do?produktId=27846685" class="group-hover:underline" title="Jenny servise 24 deler "> Jenny servise 24 deler </a> </h2> <cite class="not-italic block text-base md:text-lg"> Leve Kjøkken </cite> <div class="text-xs uppercase">Gaver og interiør&nbsp;</div> <div class="flex items-center md:mt-4 "> <div class="flex-1 flex items-end gap-1 sm:gap-2"> <strong class="text-xl sm:text-2xl md:text-3xl "> 1199,- </strong> </div> <button class="text-[calc(var(--size)-14px)] p-2 hover:text-primary" onclick="addtoBasket(27846685, this )" aria-label="Legg i handlekurv" data-selenium="leggIHandlekurv"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-shopping"></use> </svg> </button> </div> <div class=" md:mt-4 text-sm md:text-base"> <div class="flex gap-1 items-center" title="Gjennomsnittlig 4.13 stjerner"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> </div> </div> </article> </section> <p class="flex justify-end mt-4 lg:mt-10 lg:-mb-8"> <a href="/lignendeProdukter.do?produktId=16543874&overskrift=Flere produkter fra Leve Kjøkken&vis=stor" class="text-xl lg:text-3xl w-fit font-bold flex items-center gap-2 md:gap-4 hover:underline"> Se flere <svg class="h-[1em] w-[1em] inline" aria-hidden="true" role="img"> <use xlink:href="#icon-arrow-right"></use> </svg> </a> </p> </div> </div> <!-- SLUTT ESI-fragment: "/lignendeProdukter.do?produktId=16543874" --> <!-- START ESI-fragment: "/anbefalingerFelt.do?produktId=16543874&vis=deSomKjopte&typeFilter=producttype_ting&produktside=true" --> <div style="display: contents;" class="contents" > <div> <h2 class="h2 pb-4 md:pb-12">De som kjøpte denne kjøpte også:</h2> <div> <section> <div class="grid grid-cols-1 md:-mt-7 mx-[calc(var(--grid-spacing)/2*-1)] gap-4 md:gap-6" data-slider-container=""> <div class="relative"> <div class="flex scroll-smooth snap-x snap-mandatory overflow-x-auto scrollbar-hide pt-8" data-slider="" data-count="9"> <div class="flex snap-start shrink-0 w-1/2 nth-2:snap-always md:w-1/4 md:nth-2:snap-normal md:nth-4:snap-always" data-slide-item="" data-sannsyn-recommendation="23061983" data-sannsyn-recommender-ID="BokkildenItemItemByType" > <div class="w-full flex flex-col"> <div class="px-[calc(var(--grid-spacing)/2)] border-r-2 border-svart flex-1"> <article class="block [--size:38px] lg:[--size:50px] mt-8 md:mt-0"> <div class="flex mb-4 gap-2 lg:gap-3 flex-col-reverse "> <a href="/kjoekken/krus-boknerd-leve-kjoekken/produkt.do?produktId=23061983" class="flex-1" aria-label="Krus Boknerd"> <figure class="flex relative items-end aspect-square mix-blend-multiply "> <div class="relative mr-auto max-w-full max-h-full fx-hover" style="aspect-ratio:400 / 399 "> <picture> <source media="(min-width: 768px)" srcset="/servlet/VisBildeServlet?produktId=23061983&amp;width=400"> <source media="(max-width: 767px)" srcset="/servlet/VisBildeServlet?produktId=23061983&amp;width=200"> <img src="/servlet/VisBildeServlet?produktId=23061983&amp;width=400&amp;format=jpg" alt="Krus Boknerd" height="399" width="400" loading="lazy" class="block w-full h-full" data-selenium="bokomslag"> </picture> </div> </figure> </a> <div class="flex justify-end gap-2 flex-row-reverse items-center h-[var(--size)]"> <button disabled class="flex justify-center items-center text-[calc(var(--size)-10px)] ml-auto" onclick="toggleHeart(this)" data-favorite="23061983" data-favorite-checked="false" aria-label="Favoritt" data-selenium="hjerteFavoritt"> <span data-favorite-true=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart-fill"></use> </svg> </span> <span data-favorite-false=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart"></use> </svg> </span> </button> </div> </div> <div> <h2 class="font-bold leading-tight group whitespace-nowrap overflow-hidden text-ellipsis"> <a href="/kjoekken/krus-boknerd-leve-kjoekken/produkt.do?produktId=23061983" class="group-hover:underline" title="Krus Boknerd "> Krus Boknerd </a> </h2> <cite class="not-italic block text-base md:text-lg"> Leve Kjøkken </cite> <div class="text-xs uppercase">Gaver og interiør&nbsp;</div> <div class="flex items-center md:mt-4 "> <div class="flex-1 flex items-end gap-1 sm:gap-2"> <strong class="text-xl sm:text-2xl md:text-3xl "> 179,- </strong> </div> <button class="text-[calc(var(--size)-14px)] p-2 hover:text-primary" onclick="addtoBasket(23061983, this )" aria-label="Legg i handlekurv" data-selenium="leggIHandlekurv"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-shopping"></use> </svg> </button> </div> <div class=" md:mt-4 text-sm md:text-base"> <div class="flex gap-1 items-center" title="Gjennomsnittlig 4.38 stjerner"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> <span class="w-1/2 absolute top-0 left-0 overflow-hidden"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> </div> </div> </article> </div> </div> </div> <div class="flex snap-start shrink-0 w-1/2 nth-2:snap-always md:w-1/4 md:nth-2:snap-normal md:nth-4:snap-always" data-slide-item="" data-sannsyn-recommendation="16543873" data-sannsyn-recommender-ID="BokkildenItemItemByType" > <div class="w-full flex flex-col"> <div class="px-[calc(var(--grid-spacing)/2)] border-r-2 border-svart flex-1"> <article class="block [--size:38px] lg:[--size:50px] mt-8 md:mt-0"> <div class="flex mb-4 gap-2 lg:gap-3 flex-col-reverse "> <a href="/kjoekken/krus-bokelsker-roed-leve-kjoekken/produkt.do?produktId=16543873" class="flex-1" aria-label="Krus Bokelsker rød"> <figure class="flex relative items-end aspect-square mix-blend-multiply "> <div class="relative mr-auto max-w-full max-h-full fx-hover" style="aspect-ratio:400 / 400 "> <picture> <source media="(min-width: 768px)" srcset="/servlet/VisBildeServlet?produktId=16543873&amp;width=400"> <source media="(max-width: 767px)" srcset="/servlet/VisBildeServlet?produktId=16543873&amp;width=200"> <img src="/servlet/VisBildeServlet?produktId=16543873&amp;width=400&amp;format=jpg" alt="Krus Bokelsker rød" height="400" width="400" loading="lazy" class="block w-full h-full" data-selenium="bokomslag"> </picture> </div> </figure> </a> <div class="flex justify-end gap-2 flex-row-reverse items-center h-[var(--size)]"> <button disabled class="flex justify-center items-center text-[calc(var(--size)-10px)] ml-auto" onclick="toggleHeart(this)" data-favorite="16543873" data-favorite-checked="false" aria-label="Favoritt" data-selenium="hjerteFavoritt"> <span data-favorite-true=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart-fill"></use> </svg> </span> <span data-favorite-false=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart"></use> </svg> </span> </button> </div> </div> <div> <h2 class="font-bold leading-tight group whitespace-nowrap overflow-hidden text-ellipsis"> <a href="/kjoekken/krus-bokelsker-roed-leve-kjoekken/produkt.do?produktId=16543873" class="group-hover:underline" title="Krus Bokelsker rød "> Krus Bokelsker rød </a> </h2> <cite class="not-italic block text-base md:text-lg"> Leve Kjøkken </cite> <div class="text-xs uppercase">Gaver og interiør&nbsp;</div> <div class="flex items-center md:mt-4 "> <div class="flex-1 flex items-end gap-1 sm:gap-2"> <strong class="text-xl sm:text-2xl md:text-3xl "> 179,- </strong> </div> <button class="text-[calc(var(--size)-14px)] p-2 hover:text-primary" onclick="addtoBasket(16543873, this )" aria-label="Legg i handlekurv" data-selenium="leggIHandlekurv"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-shopping"></use> </svg> </button> </div> <div class=" md:mt-4 text-sm md:text-base"> <div class="flex gap-1 items-center" title="Gjennomsnittlig 4.54 stjerner"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> <span class="w-1/2 absolute top-0 left-0 overflow-hidden"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> </div> </div> </article> </div> </div> </div> <div class="flex snap-start shrink-0 w-1/2 nth-2:snap-always md:w-1/4 md:nth-2:snap-normal md:nth-4:snap-always" data-slide-item="" data-sannsyn-recommendation="40067215" data-sannsyn-recommender-ID="BokkildenItemItemByType" > <div class="w-full flex flex-col"> <div class="px-[calc(var(--grid-spacing)/2)] border-r-2 border-svart flex-1"> <article class="block [--size:38px] lg:[--size:50px] mt-8 md:mt-0"> <div class="flex mb-4 gap-2 lg:gap-3 flex-col-reverse "> <a href="/bakeutstyr/bake-it-kjevle-og-bakematte-rig-tig/produkt.do?produktId=40067215" class="flex-1" aria-label="BAKE-IT kjevle og bakematte"> <figure class="flex relative items-end aspect-square mix-blend-multiply "> <div class="relative mr-auto max-w-full max-h-full fx-hover" style="aspect-ratio:400 / 400 "> <picture> <source media="(min-width: 768px)" srcset="/servlet/VisBildeServlet?produktId=40067215&amp;width=400"> <source media="(max-width: 767px)" srcset="/servlet/VisBildeServlet?produktId=40067215&amp;width=200"> <img src="/servlet/VisBildeServlet?produktId=40067215&amp;width=400&amp;format=jpg" alt="BAKE-IT kjevle og bakematte" height="400" width="400" loading="lazy" class="block w-full h-full" data-selenium="bokomslag"> </picture> </div> </figure> </a> <div class="flex justify-end gap-2 flex-row-reverse items-center h-[var(--size)]"> <button disabled class="flex justify-center items-center text-[calc(var(--size)-10px)] ml-auto" onclick="toggleHeart(this)" data-favorite="40067215" data-favorite-checked="false" aria-label="Favoritt" data-selenium="hjerteFavoritt"> <span data-favorite-true=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart-fill"></use> </svg> </span> <span data-favorite-false=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart"></use> </svg> </span> </button> </div> </div> <div> <h2 class="font-bold leading-tight group whitespace-nowrap overflow-hidden text-ellipsis"> <a href="/bakeutstyr/bake-it-kjevle-og-bakematte-rig-tig/produkt.do?produktId=40067215" class="group-hover:underline" title="BAKE-IT kjevle og bakematte "> BAKE-IT kjevle og bakematte </a> </h2> <cite class="not-italic block text-base md:text-lg"> rig-tig </cite> <div class="text-xs uppercase">Gaver og interiør&nbsp;</div> <div class="flex items-center md:mt-4 "> <div class="flex-1 flex items-end gap-1 sm:gap-2"> <strong class="text-xl sm:text-2xl md:text-3xl text-primary"> 334,- </strong> <span class="sm:text-lg md:text-xl line-through"> 669,- </span> </div> <button class="text-[calc(var(--size)-14px)] p-2 hover:text-primary" onclick="addtoBasket(40067215, this )" aria-label="Legg i handlekurv" data-selenium="leggIHandlekurv"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-shopping"></use> </svg> </button> </div> <div class=" md:mt-4 text-sm md:text-base"> <div class="flex gap-1 items-center" title="Gjennomsnittlig 3.0 stjerner"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> </div> </div> </article> </div> </div> </div> <div class="flex snap-start shrink-0 w-1/2 nth-2:snap-always md:w-1/4 md:nth-2:snap-normal md:nth-4:snap-always" data-slide-item="" data-sannsyn-recommendation="14687597" data-sannsyn-recommender-ID="BokkildenItemItemByType" > <div class="w-full flex flex-col"> <div class="px-[calc(var(--grid-spacing)/2)] border-r-2 border-svart flex-1"> <article class="block [--size:38px] lg:[--size:50px] mt-8 md:mt-0"> <div class="flex mb-4 gap-2 lg:gap-3 flex-col-reverse "> <a href="/kjeler-og-former/osaka-tekanne-i-stoepejern-0-8-l-blaa-leve-kjoekken/produkt.do?produktId=14687597" class="flex-1" aria-label="Osaka tekanne i støpejern 0,8 l blå"> <figure class="flex relative items-end aspect-square mix-blend-multiply "> <div class="relative mr-auto max-w-full max-h-full fx-hover" style="aspect-ratio:400 / 400 "> <picture> <source media="(min-width: 768px)" srcset="/servlet/VisBildeServlet?produktId=14687597&amp;width=400"> <source media="(max-width: 767px)" srcset="/servlet/VisBildeServlet?produktId=14687597&amp;width=200"> <img src="/servlet/VisBildeServlet?produktId=14687597&amp;width=400&amp;format=jpg" alt="Osaka tekanne i støpejern 0,8 l blå" height="400" width="400" loading="lazy" class="block w-full h-full" data-selenium="bokomslag"> </picture> </div> </figure> </a> <div class="flex justify-end gap-2 flex-row-reverse items-center h-[var(--size)]"> <button disabled class="flex justify-center items-center text-[calc(var(--size)-10px)] ml-auto" onclick="toggleHeart(this)" data-favorite="14687597" data-favorite-checked="false" aria-label="Favoritt" data-selenium="hjerteFavoritt"> <span data-favorite-true=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart-fill"></use> </svg> </span> <span data-favorite-false=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart"></use> </svg> </span> </button> </div> </div> <div> <h2 class="font-bold leading-tight group whitespace-nowrap overflow-hidden text-ellipsis"> <a href="/kjeler-og-former/osaka-tekanne-i-stoepejern-0-8-l-blaa-leve-kjoekken/produkt.do?produktId=14687597" class="group-hover:underline" title="Osaka tekanne i støpejern 0,8 l blå "> Osaka tekanne i støpejern 0,8 l blå </a> </h2> <cite class="not-italic block text-base md:text-lg"> Leve Kjøkken </cite> <div class="text-xs uppercase">Gaver og interiør&nbsp;</div> <div class="flex items-center md:mt-4 "> <div class="flex-1 flex items-end gap-1 sm:gap-2"> <strong class="text-xl sm:text-2xl md:text-3xl text-primary"> 299,- </strong> <span class="sm:text-lg md:text-xl line-through"> 799,- </span> </div> <button class="text-[calc(var(--size)-14px)] p-2 hover:text-primary" onclick="addtoBasket(14687597, this )" aria-label="Legg i handlekurv" data-selenium="leggIHandlekurv"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-shopping"></use> </svg> </button> </div> <div class=" md:mt-4 text-sm md:text-base"> <div class="flex gap-1 items-center" title="Gjennomsnittlig 4.0 stjerner"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> </div> </div> </article> </div> </div> </div> <div class="flex snap-start shrink-0 w-1/2 nth-2:snap-always md:w-1/4 md:nth-2:snap-normal md:nth-4:snap-always" data-slide-item="" data-sannsyn-recommendation="25007914" data-sannsyn-recommender-ID="BokkildenItemItemByType" > <div class="w-full flex flex-col"> <div class="px-[calc(var(--grid-spacing)/2)] border-r-2 border-svart flex-1"> <article class="block [--size:38px] lg:[--size:50px] mt-8 md:mt-0"> <div class="flex mb-4 gap-2 lg:gap-3 flex-col-reverse "> <a href="/hage-og-uterom/linnea-selvvanningskuler-h15-cm-3-stk-leve-interioer/produkt.do?produktId=25007914" class="flex-1" aria-label="Linnea selvvanningskuler H15 cm 3 stk"> <figure class="flex relative items-end aspect-square mix-blend-multiply "> <div class="relative mr-auto max-w-full max-h-full fx-hover" style="aspect-ratio:400 / 400 "> <picture> <source media="(min-width: 768px)" srcset="/servlet/VisBildeServlet?produktId=25007914&amp;width=400"> <source media="(max-width: 767px)" srcset="/servlet/VisBildeServlet?produktId=25007914&amp;width=200"> <img src="/servlet/VisBildeServlet?produktId=25007914&amp;width=400&amp;format=jpg" alt="Linnea selvvanningskuler H15 cm 3 stk" height="400" width="400" loading="lazy" class="block w-full h-full" data-selenium="bokomslag"> </picture> </div> </figure> </a> <div class="flex justify-end gap-2 flex-row-reverse items-center h-[var(--size)]"> <button disabled class="flex justify-center items-center text-[calc(var(--size)-10px)] ml-auto" onclick="toggleHeart(this)" data-favorite="25007914" data-favorite-checked="false" aria-label="Favoritt" data-selenium="hjerteFavoritt"> <span data-favorite-true=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart-fill"></use> </svg> </span> <span data-favorite-false=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart"></use> </svg> </span> </button> </div> </div> <div> <h2 class="font-bold leading-tight group whitespace-nowrap overflow-hidden text-ellipsis"> <a href="/hage-og-uterom/linnea-selvvanningskuler-h15-cm-3-stk-leve-interioer/produkt.do?produktId=25007914" class="group-hover:underline" title="Linnea selvvanningskuler H15 cm 3 stk "> Linnea selvvanningskuler H15 cm 3 stk </a> </h2> <cite class="not-italic block text-base md:text-lg"> Leve Interiør </cite> <div class="text-xs uppercase">Gaver og interiør&nbsp;</div> <div class="flex items-center md:mt-4 "> <div class="flex-1 flex items-end gap-1 sm:gap-2"> <strong class="text-xl sm:text-2xl md:text-3xl text-primary"> 129,- </strong> <span class="sm:text-lg md:text-xl line-through"> 349,- </span> </div> <button class="text-[calc(var(--size)-14px)] p-2 hover:text-primary" onclick="addtoBasket(25007914, this )" aria-label="Legg i handlekurv" data-selenium="leggIHandlekurv"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-shopping"></use> </svg> </button> </div> <div class=" md:mt-4 text-sm md:text-base"> <div class="flex gap-1 items-center" title="Gjennomsnittlig 2.73 stjerner"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> <span class="w-1/2 absolute top-0 left-0 overflow-hidden"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> </div> </div> </article> </div> </div> </div> <div class="flex snap-start shrink-0 w-1/2 nth-2:snap-always md:w-1/4 md:nth-2:snap-normal md:nth-4:snap-always" data-slide-item="" data-sannsyn-recommendation="23177149" data-sannsyn-recommender-ID="BokkildenItemItemByType" > <div class="w-full flex flex-col"> <div class="px-[calc(var(--grid-spacing)/2)] border-r-2 border-svart flex-1"> <article class="block [--size:38px] lg:[--size:50px] mt-8 md:mt-0"> <div class="flex mb-4 gap-2 lg:gap-3 flex-col-reverse "> <a href="/tur-friluft/eineaasen-dobbel-hengekoeye-m-nett-leve-interioer/produkt.do?produktId=23177149" class="flex-1" aria-label="Eineåsen dobbel hengekøye m/nett"> <figure class="flex relative items-end aspect-square mix-blend-multiply "> <div class="relative mr-auto max-w-full max-h-full fx-hover" style="aspect-ratio:400 / 400 "> <picture> <source media="(min-width: 768px)" srcset="/servlet/VisBildeServlet?produktId=23177149&amp;width=400"> <source media="(max-width: 767px)" srcset="/servlet/VisBildeServlet?produktId=23177149&amp;width=200"> <img src="/servlet/VisBildeServlet?produktId=23177149&amp;width=400&amp;format=jpg" alt="Eineåsen dobbel hengekøye m/nett" height="400" width="400" loading="lazy" class="block w-full h-full" data-selenium="bokomslag"> </picture> </div> </figure> </a> <div class="flex justify-end gap-2 flex-row-reverse items-center h-[var(--size)]"> <button disabled class="flex justify-center items-center text-[calc(var(--size)-10px)] ml-auto" onclick="toggleHeart(this)" data-favorite="23177149" data-favorite-checked="false" aria-label="Favoritt" data-selenium="hjerteFavoritt"> <span data-favorite-true=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart-fill"></use> </svg> </span> <span data-favorite-false=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart"></use> </svg> </span> </button> </div> </div> <div> <h2 class="font-bold leading-tight group whitespace-nowrap overflow-hidden text-ellipsis"> <a href="/tur-friluft/eineaasen-dobbel-hengekoeye-m-nett-leve-interioer/produkt.do?produktId=23177149" class="group-hover:underline" title="Eineåsen dobbel hengekøye m/nett "> Eineåsen dobbel hengekøye m/nett </a> </h2> <cite class="not-italic block text-base md:text-lg"> Leve Interiør </cite> <div class="text-xs uppercase">Gaver og interiør&nbsp;</div> <div class="flex items-center md:mt-4 "> <div class="flex-1 flex items-end gap-1 sm:gap-2"> <strong class="text-xl sm:text-2xl md:text-3xl "> 1099,- </strong> </div> <button class="text-[calc(var(--size)-14px)] p-2 hover:text-primary" onclick="addtoBasket(23177149, this )" aria-label="Legg i handlekurv" data-selenium="leggIHandlekurv"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-shopping"></use> </svg> </button> </div> <div class=" md:mt-4 text-sm md:text-base"> <div class="flex gap-1 items-center" title="Gjennomsnittlig 4.0 stjerner"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> </div> </div> </article> </div> </div> </div> <div class="flex snap-start shrink-0 w-1/2 nth-2:snap-always md:w-1/4 md:nth-2:snap-normal md:nth-4:snap-always" data-slide-item="" data-sannsyn-recommendation="23151947" data-sannsyn-recommender-ID="BokkildenItemItemByType" > <div class="w-full flex flex-col"> <div class="px-[calc(var(--grid-spacing)/2)] border-r-2 border-svart flex-1"> <article class="block [--size:38px] lg:[--size:50px] mt-8 md:mt-0"> <div class="flex mb-4 gap-2 lg:gap-3 flex-col-reverse "> <a href="/arabia/krus-mummi-0-3l-snorkfroeken-arabia/produkt.do?produktId=23151947" class="flex-1" aria-label="Krus Mummi 0,3l Snorkfrøken"> <figure class="flex relative items-end aspect-square mix-blend-multiply "> <div class="relative mr-auto max-w-full max-h-full fx-hover" style="aspect-ratio:400 / 400 "> <picture> <source media="(min-width: 768px)" srcset="/servlet/VisBildeServlet?produktId=23151947&amp;width=400"> <source media="(max-width: 767px)" srcset="/servlet/VisBildeServlet?produktId=23151947&amp;width=200"> <img src="/servlet/VisBildeServlet?produktId=23151947&amp;width=400&amp;format=jpg" alt="Krus Mummi 0,3l Snorkfrøken" height="400" width="400" loading="lazy" class="block w-full h-full" data-selenium="bokomslag"> </picture> </div> </figure> </a> <div class="flex justify-end gap-2 flex-row-reverse items-center h-[var(--size)]"> <button disabled class="flex justify-center items-center text-[calc(var(--size)-10px)] ml-auto" onclick="toggleHeart(this)" data-favorite="23151947" data-favorite-checked="false" aria-label="Favoritt" data-selenium="hjerteFavoritt"> <span data-favorite-true=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart-fill"></use> </svg> </span> <span data-favorite-false=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart"></use> </svg> </span> </button> </div> </div> <div> <h2 class="font-bold leading-tight group whitespace-nowrap overflow-hidden text-ellipsis"> <a href="/arabia/krus-mummi-0-3l-snorkfroeken-arabia/produkt.do?produktId=23151947" class="group-hover:underline" title="Krus Mummi 0,3l Snorkfrøken "> Krus Mummi 0,3l Snorkfrøken </a> </h2> <cite class="not-italic block text-base md:text-lg"> Arabia </cite> <div class="text-xs uppercase">Gaver og interiør&nbsp;</div> <div class="flex items-center md:mt-4 "> <div class="flex-1 flex items-end gap-1 sm:gap-2"> <strong class="text-xl sm:text-2xl md:text-3xl "> 249,- </strong> </div> <button class="text-[calc(var(--size)-14px)] p-2 hover:text-primary" onclick="addtoBasket(23151947, this )" aria-label="Legg i handlekurv" data-selenium="leggIHandlekurv"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-shopping"></use> </svg> </button> </div> <div class=" md:mt-4 text-sm md:text-base"> <div class="flex gap-1 items-center" title="Gjennomsnittlig 5.0 stjerner"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> </div> </div> </article> </div> </div> </div> <div class="flex snap-start shrink-0 w-1/2 nth-2:snap-always md:w-1/4 md:nth-2:snap-normal md:nth-4:snap-always" data-slide-item="" data-sannsyn-recommendation="27846685" data-sannsyn-recommender-ID="BokkildenItemItemByType" > <div class="w-full flex flex-col"> <div class="px-[calc(var(--grid-spacing)/2)] border-r-2 border-svart flex-1"> <article class="block [--size:38px] lg:[--size:50px] mt-8 md:mt-0"> <div class="flex mb-4 gap-2 lg:gap-3 flex-col-reverse "> <a href="/servise/jenny-servise-24-deler-leve-kjoekken/produkt.do?produktId=27846685" class="flex-1" aria-label="Jenny servise 24 deler"> <figure class="flex relative items-end aspect-square mix-blend-multiply "> <div class="relative mr-auto max-w-full max-h-full fx-hover" style="aspect-ratio:400 / 400 "> <picture> <source media="(min-width: 768px)" srcset="/servlet/VisBildeServlet?produktId=27846685&amp;width=400"> <source media="(max-width: 767px)" srcset="/servlet/VisBildeServlet?produktId=27846685&amp;width=200"> <img src="/servlet/VisBildeServlet?produktId=27846685&amp;width=400&amp;format=jpg" alt="Jenny servise 24 deler" height="400" width="400" loading="lazy" class="block w-full h-full" data-selenium="bokomslag"> </picture> </div> </figure> </a> <div class="flex justify-end gap-2 flex-row-reverse items-center h-[var(--size)]"> <button disabled class="flex justify-center items-center text-[calc(var(--size)-10px)] ml-auto" onclick="toggleHeart(this)" data-favorite="27846685" data-favorite-checked="false" aria-label="Favoritt" data-selenium="hjerteFavoritt"> <span data-favorite-true=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart-fill"></use> </svg> </span> <span data-favorite-false=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart"></use> </svg> </span> </button> </div> </div> <div> <h2 class="font-bold leading-tight group whitespace-nowrap overflow-hidden text-ellipsis"> <a href="/servise/jenny-servise-24-deler-leve-kjoekken/produkt.do?produktId=27846685" class="group-hover:underline" title="Jenny servise 24 deler "> Jenny servise 24 deler </a> </h2> <cite class="not-italic block text-base md:text-lg"> Leve Kjøkken </cite> <div class="text-xs uppercase">Gaver og interiør&nbsp;</div> <div class="flex items-center md:mt-4 "> <div class="flex-1 flex items-end gap-1 sm:gap-2"> <strong class="text-xl sm:text-2xl md:text-3xl "> 1199,- </strong> </div> <button class="text-[calc(var(--size)-14px)] p-2 hover:text-primary" onclick="addtoBasket(27846685, this )" aria-label="Legg i handlekurv" data-selenium="leggIHandlekurv"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-shopping"></use> </svg> </button> </div> <div class=" md:mt-4 text-sm md:text-base"> <div class="flex gap-1 items-center" title="Gjennomsnittlig 4.13 stjerner"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span class="relative"> <span class="block opacity-30"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> </div> </div> </article> </div> </div> </div> <div class="flex snap-start shrink-0 w-1/2 nth-2:snap-always md:w-1/4 md:nth-2:snap-normal md:nth-4:snap-always" data-slide-item="" data-sannsyn-recommendation="23814632" data-sannsyn-recommender-ID="BokkildenItemItemByType" > <div class="w-full flex flex-col"> <div class="px-[calc(var(--grid-spacing)/2)] border-r-2 border-svart flex-1"> <article class="block [--size:38px] lg:[--size:50px] mt-8 md:mt-0"> <div class="flex mb-4 gap-2 lg:gap-3 flex-col-reverse "> <a href="/barn/matboks-treroms-blomst-roed-rosa-blafre/produkt.do?produktId=23814632" class="flex-1" aria-label="Matboks treroms blomst rød/rosa"> <figure class="flex relative items-end aspect-square mix-blend-multiply "> <div class="relative mr-auto max-w-full max-h-full fx-hover" style="aspect-ratio:400 / 400 "> <picture> <source media="(min-width: 768px)" srcset="/servlet/VisBildeServlet?produktId=23814632&amp;width=400"> <source media="(max-width: 767px)" srcset="/servlet/VisBildeServlet?produktId=23814632&amp;width=200"> <img src="/servlet/VisBildeServlet?produktId=23814632&amp;width=400&amp;format=jpg" alt="Matboks treroms blomst rød/rosa" height="400" width="400" loading="lazy" class="block w-full h-full" data-selenium="bokomslag"> </picture> </div> </figure> </a> <div class="flex justify-end gap-2 flex-row-reverse items-center h-[var(--size)]"> <button disabled class="flex justify-center items-center text-[calc(var(--size)-10px)] ml-auto" onclick="toggleHeart(this)" data-favorite="23814632" data-favorite-checked="false" aria-label="Favoritt" data-selenium="hjerteFavoritt"> <span data-favorite-true=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart-fill"></use> </svg> </span> <span data-favorite-false=""> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-heart"></use> </svg> </span> </button> </div> </div> <div> <h2 class="font-bold leading-tight group whitespace-nowrap overflow-hidden text-ellipsis"> <a href="/barn/matboks-treroms-blomst-roed-rosa-blafre/produkt.do?produktId=23814632" class="group-hover:underline" title="Matboks treroms blomst rød/rosa "> Matboks treroms blomst rød/rosa </a> </h2> <cite class="not-italic block text-base md:text-lg"> Blafre </cite> <div class="text-xs uppercase">Gaver og interiør&nbsp;</div> <div class="flex items-center md:mt-4 "> <div class="flex-1 flex items-end gap-1 sm:gap-2"> <strong class="text-xl sm:text-2xl md:text-3xl "> 199,- </strong> </div> <button class="text-[calc(var(--size)-14px)] p-2 hover:text-primary" onclick="addtoBasket(23814632, this )" aria-label="Legg i handlekurv" data-selenium="leggIHandlekurv"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-shopping"></use> </svg> </button> </div> <div class=" md:mt-4 text-sm md:text-base"> <div class="flex gap-1 items-center" title="Gjennomsnittlig 5.0 stjerner"> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> <span> <span class="block"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-star"></use> </svg> </span> </span> </div> </div> </div> </article> </div> </div> </div> </div> <button data-prev="" aria-label="Forrige side" disabled="true" class="absolute top-1/2 rounded-full -translate-y-1/2 disabled:hidden p-2 md:p-4 bg-papirhvit text-svart border-svart border-2 hidden xl:block left-1 lg:-left-7"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-arrow-left"></use> </svg> </button> <button data-next="" aria-label="Neste side" class="absolute top-1/2 rounded-full -translate-y-1/2 disabled:hidden p-2 md:p-4 bg-papirhvit text-svart border-svart border-2 hidden xl:block right-1 lg:-right-7"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-arrow-right"></use> </svg> </button> </div> <nav data-pagina="" class="flex items-center gap-2 justify-center p-px" data-btn-class="h-4 w-4 border-2 border-current rounded-full disabled:bg-current"><button disabled="true" class="h-4 w-4 border-2 border-current rounded-full disabled:bg-current"></button><button class="h-4 w-4 border-2 border-current rounded-full disabled:bg-current"></button></nav> </div> </section> <script> (function () { // import { createSnapSlider } from 'use-snap-slider/dist/snap-slider' const throttle = (fn, wait) => { let inThrottle; let lastFn; let lastTime; return function () { const context = this; const args = arguments; if (!inThrottle) { fn.apply(context, args); lastTime = Date.now(); inThrottle = true; } else { clearTimeout(lastFn); lastFn = setTimeout(() => { if (Date.now() - lastTime >= wait) { fn.apply(context, args); lastTime = Date.now(); } }, Math.max(wait - (Date.now() - lastTime), 0)); } }; }; function createSnapSlider({ element: _element, count = 1, countDelta, index = 0, circular, indexDelta, initalSubscriptionPublish = true, itemSelector = ":scope > *", debug = false, }) { let initalIndex = index; let state = { index, indexDelta: indexDelta || index, count, countDelta: countDelta || count, }; let prevIndexDelta = index; let slidesPerPage = 1; let itemPositions = []; let muteScrollListner = false; let left = 0; let element; function updateIndexDelta() { if (element) { const prev = element.scrollLeft; const { indexDelta: indexDelta2 } = state; left = indexDelta2 * (element.offsetWidth / slidesPerPage); debug && console.log("updateIndexDelta", { scrollLeft: prev, offsetWidth: element.offsetWidth, slidesPerPage, left, }); if (prevIndexDelta !== indexDelta2) { const distance = Math.abs(prev - left); const limitInstantScroll = element.offsetWidth * 2; prevIndexDelta = indexDelta2; muteScrollListner = true; const behavior = distance > limitInstantScroll ? "instant" : "smooth"; element.scroll({ left, top: 0, behavior, }); } else { if (initalIndex) { muteScrollListner = true; element.scroll({ left, top: 0, // @ts-expect-error [mildly irritated message] behavior: "instant", }); initalIndex = void 0; } } } } let publishDirty = false; let listeners = []; const subscribe = (callback) => { listeners.push(callback); if (element && (publishDirty || initalSubscriptionPublish)) { callback(getState()); } return () => { listeners = listeners.filter((x) => x !== callback); if (listeners.length < 1) { destroy(); } }; }; function notify() { listeners.forEach((callback) => { callback(getState()); }); } const getState = () => { const { indexDelta: indexDelta2, countDelta: countDelta2 } = state; return { ...state, prevEnabled: circular || indexDelta2 > 0, nextEnabled: circular || countDelta2 - slidesPerPage > indexDelta2, }; }; function update(params) { let dirty = false; let indexDeltaDirty = false; const keys = Object.keys(params); keys.forEach((key) => { if (state[key] !== params[key]) { state[key] = Number(params[key]); dirty = true; if (key === "indexDelta") { indexDeltaDirty = true; } } }); if (dirty) { publishDirty = listeners.length === 0; notify(); if (indexDeltaDirty) { updateIndexDelta(); } } } function fixIndex(nextIndex) { const { index: index2, indexDelta: indexDelta2 } = nextIndex; const { countDelta: countDelta2, count: count2 } = state; const last = countDelta2 - slidesPerPage; return { index: indexDelta2 < last ? index2 : count2 - 1, indexDelta: indexDelta2, }; } function calculate() { if (element) { let contentWidth = 0; let itemWidth = 0; itemPositions = []; element.querySelectorAll(itemSelector).forEach((slide) => { itemPositions.push(contentWidth); contentWidth += slide.clientWidth; itemWidth = slide.clientWidth; }); slidesPerPage = Math.round(element.offsetWidth / itemWidth); const countDelta2 = itemPositions.length; const count2 = Math.ceil(countDelta2 / slidesPerPage); const { index: index2 } = state; const resetIndexMayby = index2 + 1 > count2 ? { index: 0, indexDelta: 0, } : {}; update({ count: count2, countDelta: countDelta2, ...resetIndexMayby, }); } } let ticking = false; function onScroll() { if (!ticking && element) { const scrollLeft = element.scrollLeft; window.requestAnimationFrame(() => { debug && console.log("onScroll", { scrollLeft, muteScrollListner, left, }); if (muteScrollListner) { const leftToScroll = Math.abs(left - scrollLeft); if (leftToScroll < 2) { muteScrollListner = false; } } else { const positionItem = itemPositions.reduce((prev, curr) => { return Math.abs(curr - scrollLeft) < Math.abs(prev - scrollLeft) ? curr : prev; }); const indexDelta2 = itemPositions.findIndex( (x) => x === positionItem ); prevIndexDelta = indexDelta2; update( fixIndex({ index: Math.floor(indexDelta2 / slidesPerPage), indexDelta: indexDelta2, }) ); } ticking = false; }); ticking = true; } } const onScrollFn = throttle(onScroll, 200); const onResizeFn = throttle(calculate, 500); function setElement(_el) { if (element) { destroy(); } element = _el; updateIndexDelta(); calculate(); element == null ? void 0 : element.addEventListener("scroll", onScrollFn); window.addEventListener("resize", onResizeFn); } _element && setElement(_element); const jumpTo = function (index2, indexDelta2) { if (indexDelta2 !== void 0) { update( fixIndex({ index: Math.floor(indexDelta2 / slidesPerPage), indexDelta: indexDelta2, }) ); } if (index2 !== void 0) { update( fixIndex({ index: index2, indexDelta: index2 * slidesPerPage, }) ); } }; const destroy = () => { element == null ? void 0 : element.removeEventListener("scroll", onScrollFn); window.removeEventListener("resize", onResizeFn); }; const goNext = () => { const { countDelta: countDelta2, indexDelta: indexDelta2 } = state; const last = countDelta2 - slidesPerPage; const next = indexDelta2 + slidesPerPage <= last ? indexDelta2 + slidesPerPage : circular && indexDelta2 === last ? 0 : last; jumpTo(void 0, next); }; const goPrev = () => { const { indexDelta: indexDelta2, countDelta: countDelta2 } = state; const last = countDelta2 - slidesPerPage; const next = indexDelta2 - slidesPerPage >= 0 ? indexDelta2 - slidesPerPage : circular && indexDelta2 === 0 ? last : 0; jumpTo(void 0, next); }; return { destroy, getState, subscribe, jumpTo, setElement, calculate, goNext, goPrev, }; } // Egen implentering for siden function createSnapSliderVanilla(element, cb) { const container = element.closest("[data-slider-container]"); const debug = Boolean(element.getAttribute("data-debug")); const count = Number(element.getAttribute("data-count")); const index = Number(element.getAttribute("data-index")); const nextBtn = container && container.querySelector("[data-next]"); const prevBtn = container && container.querySelector("[data-prev]"); const pagina = container && container.querySelector("[data-pagina]"); const btnClass = pagina && pagina.getAttribute("data-btn-class"); let hasInit = false; debug && console.log("init debug", { scrollLeft: element.scrollLeft, offsetWidth: element.offsetWidth, }); const { jumpTo, goNext, goPrev, subscribe } = createSnapSlider({ element, count: count || 1, index: index || 0, itemSelector: "[data-slide-item]", debug, }); subscribe((obj) => { if (!hasInit) { hasInit = true; cb && cb(); } debug && console.log(obj); if (obj.nextEnabled) { nextBtn && nextBtn.removeAttribute("disabled"); } else { nextBtn && nextBtn.setAttribute("disabled", "true"); } if (obj.prevEnabled) { prevBtn && prevBtn.removeAttribute("disabled"); } else { prevBtn && prevBtn.setAttribute("disabled", "true"); } if (pagina) { pagina.innerHTML = ""; for (let i = 0; i < obj.count; i++) { const button = document.createElement("button"); button.addEventListener("click", () => jumpTo(i)); if (i === obj.index) { button.setAttribute("disabled", "true"); } button.className = `${btnClass}`; pagina.append(button); } } }); prevBtn && prevBtn.addEventListener("click", goPrev); nextBtn && nextBtn.addEventListener("click", goNext); } document.querySelectorAll("[data-slider]").forEach((slider) => { createSnapSliderVanilla(slider); }); window.createSnapSlider = window.createSnapSlider || createSnapSliderVanilla; function createSnapSliderVanillaLazy(element) { element.initSlider = (cb) => { createSnapSliderVanilla(element, cb); }; } document.querySelectorAll("[data-slider-lazy]").forEach((slider) => { createSnapSliderVanillaLazy(slider); }); })(); </script> </div> </div> </div> <!-- SLUTT ESI-fragment: "/anbefalingerFelt.do?produktId=16543874&vis=deSomKjopte&typeFilter=producttype_ting&produktside=true" --> </section> <!-- START ESI-fragment: "/kundeKampanje.do?plassering=produkt&kampDokId=&kampPlassering=" --> <div style="display: contents;" class="contents" > <hr class="h-0.5 bg-svart border-0 my-10"> <div class="grid grid-cols-1 gap-8 lg:gap-16 my-4 lg:my-8"> <section> <!--xsl id=161--><a href="/side.do?dokId=735607"><div class="max-w-full p-6 flex flex-col items-center text-center lg:text-4xl&#xA; bg-svart text-papirhvit "><h2 class="h2 mb-2 mt-10 md:text-[86px] md:leading-[1.1] font-bold">Black Week</h2><div class="mb-4">- følg med hver dag for helsvarte, men uimotståelige tilbud </div></div></a> </section> </div> </div> <!-- SLUTT ESI-fragment: "/kundeKampanje.do?plassering=produkt&kampDokId=&kampPlassering=" --> <script> document.addEventListener("DOMContentLoaded", function () { if (window.location.hash === '#skriv-anmeldelse') { let el = document.getElementById('skrivVurdering'); el.scrollIntoView(); showReviewForm(el); } else if (window.location.hash === '#medlemmers-vurdering') { window.scrollTo({ top: document.getElementById('medlemmers-vurdering').offsetTop - 20, behavior: 'auto' }) } }); </script> <!-- START ESI-fragment: "/registrerProdukt.do?produktId=16543874" --> <div style="display: contents;" class="contents" > </div> <!-- SLUTT ESI-fragment: "/registrerProdukt.do?produktId=16543874" --> <!-- Content area end --> </main> <script> (function () { function isLoggedIn() { return (document.cookie.indexOf('CryptPwd') !== -1) || (document.cookie.indexOf('KundeNr') !== -1); } window.isLoggedIn = isLoggedIn; function showLoginDialog() { return new Promise((resolve, reject) => { document.body.addEventListener("userLoggedIn", (event) => { resolve(true); }); document.body.addEventListener("userNotLoggedIn", (event) => { // Bruker lukket loginPopup resolve(false); }); const loginDialog = document.querySelector("#loginPopupDialog"); loginDialog.showModal(); }); } window.showLoginDialog = showLoginDialog; function confirmUserLoggedInOrShowLoginPopup() { return new Promise((resolve, reject) => { if(!window.isLoggedIn()) { // Ikke innlogget, vis logindialog const loginPromise = showLoginDialog(); resolve(loginPromise); } else { // Allerede innlogget resolve(true); } }); } window.confirmUserLoggedInOrShowLoginPopup = confirmUserLoggedInOrShowLoginPopup; })(); </script> <script> (function () { function toggleHeart(element) { window.confirmUserLoggedInOrShowLoginPopup().then(async function(isLoggedIn) { if(isLoggedIn) { const produktId = element.dataset.favorite; const erFavoritt = element.dataset.favoriteChecked === "true"; element.dataset.favoriteChecked = !erFavoritt; const data = {}; data[erFavoritt ? "fjernProduktId" : "leggTilProduktId"] = produktId; const response = await fetch( '/api/kunde/favoritter.json', { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify(data), } ); element.blur(); } }); } window.toggleHeart = window.toggleHeart || toggleHeart; function initFavorites() { // Hent favoritter og merk hjerter const hjerteknapper = document.querySelectorAll('button[data-favorite]'); if(window.isLoggedIn()) { const data = {}; const sjekkProduktIder = []; for(let i = 0; i < hjerteknapper.length; i++) { sjekkProduktIder.push(hjerteknapper[i].dataset.favorite); } data["sjekkProduktIder"] = sjekkProduktIder; if(sjekkProduktIder.length) { fetch( '/api/kunde/favoritter.json', { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify(data), } ) .then(res => res.json()) .then(favoritter => { if(favoritter && favoritter.produktId) { favoritter.produktId.forEach((produktId) => { const element = document.querySelector(`[data-favorite="${produktId}"]`); if (element) { element.dataset.favoriteChecked = true; } }); } // Ferdig med å laste favoritter. Gjør hjertene klikkbare for(let i = 0; i < hjerteknapper.length; i++) { hjerteknapper[i].disabled = false; } }); } } else { // Ikke logget inn, gjør hjertene klikkbare for(let i = 0; i < hjerteknapper.length; i++) { hjerteknapper[i].disabled = false; } } } window.initFavorites = initFavorites; })(); </script> <script> function initLoadOnEvent(rootElement) { // Legger til en event-lytter for alle elementer med data-load-on-event // attributt (dette er en space-separert liste med eventnavn). Nytt innhold hentes // fra URL i attributtet data-src. let root = rootElement ? rootElement : document; const loadOnEventElements = root.querySelectorAll('[data-load-on-event]'); loadOnEventElements.forEach((element) => { const eventNames = element.dataset.loadOnEvent.split(' '); eventNames.forEach((eventName) => { eventName = eventName.trim(); let once = false; let parts = eventName.split(':'); // e.g. "basketChanged:once" if(parts.length > 1) { eventName = parts[0]; once = parts[1] === 'once'; } const options = {'once': once}; //console.log('Legger til eventlistener på ' + eventName + ' for el ' + element + ', options=' + options); document.addEventListener(eventName, async event => { const url = element.dataset.src; const response = await fetch(url); if(response.ok) { const html = await response.text(); element.innerHTML = html; } else { console.log(`Fikk status ${response.status} (${response.statusText}) ved lasting av ${url}. Trigget av event ${eventName} på element ${element}`) } }, options); }); }); } window.initLoadOnEvent = initLoadOnEvent; </script> <script> (function() { function getElementHeight(element) { let height = 0; console.log(element); if(element) { height = element.offsetHeight; if(height === 0) { // Element has no height. Sum height of children instead. if(element.children.length) { for(let i = 0; element.children; i < element.children.length) { height += element.children[i].offsetHeight; } } } } return height; } function insertHtmlAndRunScripts(element, html) { // Set current height as min-height for element before changing // with innerHTML to avoid "jumping" when content disappears and // reappears. const elHeight = getElementHeight(element); let oldMinHeight; if(elHeight > 0) { oldMinHeight = window.getComputedStyle(element, null).minHeight; element.style.minHeight = elHeight + 'px'; } element.innerHTML = html; if(oldMinHeight) { element.style.minHeight = oldMinHeight; } const scriptEls = element.querySelectorAll('script'); scriptEls.forEach( (el) => { eval(el.text); // Run script }); initLoadOnEvent(element); // Init data-load-on-event elements element.dispatchEvent(new Event("fragmentLoaded", {bubbles: true})); } window.insertHtmlAndRunScripts = insertHtmlAndRunScripts; })(); </script> <script> (function() { function initPage() { window.initLoadOnEvent(); window.initFavorites(); } window.initPage = initPage; window.initPage(); })(); </script> <script> (function () { function dropDownToggleBtn(btn) { const parent = btn.parentNode; let isExpanded = btn.getAttribute("aria-expanded") === "true"; const dropdown = parent.querySelector("[data-dropdown-content]"); const icon = btn.querySelector("[data-dropdown-icon]"); function outsideHandler(e) { if (isExpanded && e.target.closest("[data-dropdown-content]")) return; close(); document.removeEventListener("click", outsideHandler); } function close() { btn.setAttribute("aria-expanded", "false"); dropdown && dropdown.setAttribute("hidden", "true"); icon && icon.classList.remove("rotate-180"); isExpanded = false; } btn.close = close; function open() { btn.setAttribute("aria-expanded", "true"); dropdown && dropdown.removeAttribute("hidden"); icon && icon.classList.add("rotate-180"); isExpanded = true; document.addEventListener("click", outsideHandler); } if (isExpanded) { open(); } btn.addEventListener("click", (e) => { if (isExpanded) { e.stopPropagation(); } btn.blur(); setTimeout(() => { isExpanded ? close() : open(); }, 0); }); } document .querySelectorAll("[data-dropdown]") .forEach((item) => dropDownToggleBtn(item)); })(); </script> <template id="alert-error-template"> <div class="border-svart border-2 p-3 bg-stone-100 relative mb-4" role="alert" data-base-classes="relative"> <span class="block sm:inline alert-message"></span> </div> </template> <template id="alert-info-template"> <div class="border-svart border-2 p-3 bg-stone-100 relative mb-4" role="alert" data-base-classes="relative"> <span class="block sm:inline alert-message"></span> </div> </template> <script> (function () { function findScopesByType(baseElement, cssClass) { baseElement = baseElement ? baseElement : document; let scopes = []; const msgSlots = baseElement.querySelectorAll('.sambo_melding_' + cssClass); msgSlots.forEach((slot) => { let parts = slot.id.split(' '); for(let i = 0; i < parts.length; i++) { scopes.push(parts[i]); } }); return scopes; } function findScopes(baseElement) { let scopes = []; scopes = scopes.concat(findScopesByType(baseElement, 'fatal')); scopes = scopes.concat(findScopesByType(baseElement, 'feil')); scopes = scopes.concat(findScopesByType(baseElement, 'info')); return scopes; } function findPopupScopes(baseElement) { baseElement = baseElement ? baseElement : document; let popupScopes = []; let slots = baseElement.querySelectorAll('#popupShow'); slots.forEach((slot) => { if(slot.datasets.scopes) { popupScopes.push(slot.dataset.scopes); } else { popupScopes.push('popup'); } }); return popupScopes; } function placeMessages(baseElement, messagesResponse) { let messages = messagesResponse.meldinger; let suppressed = messagesResponse.suppressed; let messagePlaced = false; for(let i = 0; i < messages.length; i++) { placeMessage(baseElement, messages[i]); messagePlaced = true; } if(messagePlaced && baseElement) { baseElement.scrollIntoView(); } if(suppressed && suppressed.length > 0) { alert('POPUP MSG: ' + suppressed) } } function placeMessage(baseElement, message) { baseElement = baseElement ? baseElement : document; // Må erstatte '.' i id'er med '\\.' for å kunne slå opp med JS const placeId = message.scope.replaceAll('.', '\\.'); const place = baseElement.querySelector('#' + placeId); let templateId; if(message.type === 'feil') { templateId = 'alert-error-template'; } else { templateId = 'alert-info-template'; } const alertTemplateEl = document.querySelector('#' + templateId); const alertFragment = alertTemplateEl.content.cloneNode(true); alertFragment.querySelector('.alert-message').innerHTML = message.value; // Kopier style fra element skrevet ut av custom tag (satt med style_class attributt) let classNames = place.children[0].getAttribute('class'); if(classNames && classNames.trim()) { // Overkjør helt style fra templat, inkluder klasser fra data-base-classes classNames += ' ' + alertFragment.firstElementChild.dataset.baseClasses; alertFragment.firstElementChild.setAttribute('class', classNames); } const alertEl = alertFragment.querySelector('div[role=alert]'); alertEl.setAttribute('data-alert-type', message.type); alertEl.setAttribute('data-alert-varighet', message.varighet); alertEl.setAttribute('data-alert-key', message.key); place.parentNode.insertBefore(alertFragment, place.nextElementSibling); } async function getAndPlaceMessages(baseElement, scopes, popupScopes) { if(scopes.length === 0 && popupScopes.length === 0) { return; } const url = '/meldinger/alle?' + new URLSearchParams({ scopes: scopes, suppress: popupScopes }); fetch(url) .then(res => res.json()) .then(messages => { placeMessages(baseElement, messages); }); } function removePreviousUserMessages(baseElement) { // Fjern tidligere viste alerts som bare skal vises en gang baseElement = baseElement ? baseElement : document; const previousMessages = baseElement.querySelectorAll('.mx-auto div[role=alert][data-alert-varighet=SINGLE]'); previousMessages.forEach(e => e.remove()); } function showUserMessages(baseElement) { const scopes = findScopes(baseElement); const popupScopes = findPopupScopes(baseElement); removePreviousUserMessages(baseElement); getAndPlaceMessages(baseElement, scopes, popupScopes); } window.showUserMessages = showUserMessages; showUserMessages(); })(); </script> <dialog id="loginPopupDialog" class="fixed top-1/2 -translate-y-1/2 left-1/2 -translate-x-1/2 origin-center p-4 py-6 md:p-6 md:py-8 w-[400px] bg-papirhvit max-w-[90vw] z-50 m-0 backdrop:bg-black backdrop:bg-opacity-10 shadow-lg"> <div class="contents"> <form method="dialog"> <button class="p-3 absolute right-1 top-1 text-base" tabindex="-1"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-close"></use> </svg> </button> </form> <div data-content=""> <h1 class="h2">Logg inn</h1> <div id='FEIL.loggInn' class='sambo_melding_feil' style='display:none'><div class='' style='display:none'></div></div> <div id='INFO.loggInn' class='sambo_melding_info' style='display:none'><div class='' style='display:none'></div></div> <form action="/loginPopup.do" class="grid grid-cols-1 gap-4 md:gap-6 loginForm"> <div> <label for="dialogfield-username" class="field-label text-xl">E-postadresse</label> <input type="email" name="login" id="dialogfield-username" class="form-field form-field-l" placeholder="E-postadresse" title="Din e-postadresse" oninvalid="this.setCustomValidity('Ikke en gyldig e-postadresse')" onchange="this.setCustomValidity('')" value="" required> </div> <div> <label for="dialogfield-password" class="field-label text-xl">Passord</label> <input name="passord" id="dialogfield-password" type="password" class="form-field form-field-l" title="Ditt passord" placeholder="Passord" oninvalid="this.setCustomValidity('Passord er påkrevet')" onchange="this.setCustomValidity('')" required> </div> <div class="flex items-center gap-4"> <input type="checkbox" class="form-check form-check-l mr-1" name="permanent" id="dialoghusk-meg" checked> <label for="dialoghusk-meg" class="text-xl">Husk meg</label> </div> <input type="hidden" name="loginType" value="loginPopupDialog"/> <div> <button class="btn btn-solid px-10"> <div role="status" class="loginSpinner hidden"> <svg aria-hidden="true" class="inline w-8 h-8 mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-gray-600 dark:fill-gray-300" viewBox="0 0 100 101" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z" fill="currentColor"/> <path d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z" fill="currentFill"/> </svg> <span class="sr-only">Logger inn</span> </div> Logg inn </button> </div> </form> <p class="text-xl mt-8">Ikke medlem ennå? <a class="link" href="/blimedlem.do?saId=MB">Registrer deg her</a></p> <p class="text-xl">Glemt <a class="link" href="/medlem/loggInn.do?forgot-form&vis=ja#glemt">medlemsnummer/passord?</a></p> </div> </div> </dialog> <script> (function () { function initLoginDialog() { var loginDialog = document.querySelector("#loginPopupDialog"); dialogPolyfill.registerDialog(loginDialog); window.showUserMessages(loginDialog); var closedByUser = true; loginDialog.addEventListener("close", (event) => { if (closedByUser) { // Bruker lukket loginPopup loginDialog.dispatchEvent(new Event("userNotLoggedIn", {bubbles: true})); } }); const loginForm = loginDialog.querySelector(".loginForm"); const loginSpinner = loginDialog.querySelector(".loginSpinner"); loginForm.addEventListener("submit", async (event) => { event.preventDefault(); loginSpinner.classList.toggle('hidden'); const data = new URLSearchParams(new FormData(loginForm)); const response = await fetch('/loginPopup.do', { method: "POST", body: data }); loginSpinner.classList.toggle('hidden'); if (response.status !== 401) { // Vellykket login loginDialog.dispatchEvent(new Event("userLoggedIn", {bubbles: true})); window.initFavorites(); closedByUser = false; loginDialog.close(); } else { const html = await response.text(); loginDialog.outerHTML = html; initLoginDialog(); } }); } initLoginDialog(); })(); </script> <dialog id="addBasketDialog" class="m-auto p-4 py-6 md:p-6 md:py-8 w-[600px] bg-papirhvit max-w-[90vw] z-50 backdrop:bg-black backdrop:bg-opacity-10 shadow-lg"> <div class="contents"> <form method="dialog"> <button class="p-3 absolute right-1 top-1 text-base" tabindex="-1"> <svg class="h-[1em] w-[1em]" aria-hidden="true" role="img"> <use xlink:href="#icon-close"></use> </svg> </button> </form> <h1 class="h2">Handlekurv</h1> <div class="mx-auto"> <div id='FEIL.handlekurv' class='sambo_melding_feil' style='display:none'><div class='' style='display:none'></div></div> <div id='INFO.handlekurv' class='sambo_melding_info' style='display:none'><div class='' style='display:none'></div></div> <div id='INFO.mersalg' class='sambo_melding_info' style='display:none'><div class='' style='display:none'></div></div> <div id='INFO.ordregavekort' class='sambo_melding_info' style='display:none'><div class='' style='display:none'></div></div> </div> <hr class="h-0.5 bg-svart border-0 my-6 md:my-12"> <div class="grid grid-cols-1 gap-12 md:gap-20 chop-offset-6 md:chop-offset-10 chop-y-2 chop-svart mb-8 md:mb-16" data-content=""> </div> </div> </dialog> <script> (function () { const dialog = document.querySelector("#addBasketDialog"); if (dialog) { // La klikk utenfor dialog lukke den dialog.addEventListener("click", () => dialog.close()); const dialogContent = dialog.querySelector(".contents"); dialogContent.addEventListener("click", (event) => event.stopPropagation() ); } async function loadBasket(element, templat) { const response = await fetch(`/handlekurv.do?vis=${templat}`); const html = await response.text(); insertHtmlAndRunScripts(element, html); window.showUserMessages(dialog); } async function addtoBasket(produktId, el, prisType) { const basket = document.querySelector("#handlekurvinnhold"); var targetElement; var templat; var url; if (!basket) { // vis minihandlekurv-popup el.blur(); window.scrollTo(0, 0); dialog.showModal(); targetElement = dialog.querySelector("[data-content]"); templat = "dropdown"; } else { targetElement = basket; templat = "storInnhold"; } if (prisType!=null) { url = `/handlekurv.do?kjop=${produktId}&prisType=${prisType}`; } else { url = `/handlekurv.do?kjop=${produktId}`; } const response = await fetch(url); await loadBasket(targetElement, templat); targetElement.dispatchEvent(new Event("basketChanged", {bubbles: true})); } window.addtoBasket = window.addtoBasket || addtoBasket; })(); </script> <script> (function () { const dialog = document.querySelector("#addBasketDialog"); dialogPolyfill.registerDialog(dialog); async function changeBasketCount(itemId, fromCount, toCount) { let templat = "dropdown"; if (document.querySelector("#handlekurvinnhold")) { templat = "storInnhold"; } const response = await fetch(`/handlekurv.do?oppdater=${itemId}&antall=${toCount}&vis=${templat}`); const html = await response.text(); if (dialog && dialog.open) { // minihandlekurv er åpen insertHtmlAndRunScripts(dialog.querySelector("[data-content]"), html); window.showUserMessages(dialog); } else { const basket = document.querySelector("#handlekurvinnhold"); if (basket) { // viser handlekurven i kasse insertHtmlAndRunScripts(basket, html); const msgEl = document.getElementById('handlekurv-kasse-messages'); window.showUserMessages(msgEl); } } dialog.dispatchEvent(new Event("basketChanged", {bubbles: true})); } window.changeBasketCount = changeBasketCount; })(); </script> <script> (function() { let euid = "null"; const match = document.cookie.match( /(; )?KundeNr=([^;]*);?/ ); if(match) { euid = match[2]; } const script = document.createElement("script"); script.async = true; script.src = "https://recommender.sannsyn.com/jsrecapi/1.0/crec?service=bokklubben&euid=" + euid; document.head.appendChild(script); })(); </script> <script> (function() { function removeNonDigitsOnPaste(e) { if(e && e.clipboardData && e.clipboardData.getData) { e.preventDefault(); let pastedText = e.clipboardData.getData('text/plain'); e.target.value = pastedText.replace(/\D/g, ''); } } window.removeNonDigitsOnPaste = removeNonDigitsOnPaste; })(); </script> <footer class="sticky top-[100vh] py-8 md:py-20"> <div class="content-wrapper"> <hr class="h-0.5 bg-svart border-0"> <div class="grid grid-cols-2 md:grid-cols-4 gap-4 md:gap-8 my-6 md:my-12 text-lg"> <p> <strong class="block">Bokkilden</strong> <a href="/side.do?rom=MP" class="block underline hover:no-underline">Bøker</a> <a href="/side.do?dokId=649350" class="block underline hover:no-underline"> Gaver og interiør</a> <a href="/bestselgere.do?rom=skjonnlitteratur" class="block underline hover:no-underline"> Bestselgere</a> <a href="/side.do?dokId=665592" class="block underline hover:no-underline">GAVEKORT</a> </p><p> <strong class="block">Om oss</strong> <a href="/side.do?dokId=714336" class="block underline hover:no-underline"> Om Bokkilden </a><a href="/kundeservice.do" class="block underline hover:no-underline"> Kundeservice </a><a href="/side.do?dokId=714307" class="block underline hover:no-underline"> Personvern </a> </a> </p> <p> <strong class="block">Kontakt oss</strong> <a href="/kundeservice.do" class="block underline hover:no-underline">Kundeservice</a> </p> </div> <div class="flex flex-wrap gap-2 items-center justify-center md:justify-between"> <p class="text-sm md:text-base"> © Bokkilden | Org. nr.: 911 167 905 </p> </div> </div> </footer> <div id="popupDialogContainer"> </div> <script> (function () { async function lastKampanjePopup() { const response = await fetch("/kundeKampanje.do?plassering=popUp&kampDokId=&kampPlassering="); const html = await response.text(); window.insertHtmlAndRunScripts(document.getElementById("popupDialogContainer"), html); document.cookie = 'kampanjePopupVist=1'; } if(document.cookie.indexOf('kampanjePopupVist') < 0) { lastKampanjePopup(); } })(); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10