1<!doctype html> 2<html class="no-js" lang="en"> 3<head> 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0, height=device-height, minimum-scale=1.0, maximum-scale=1.0"> 7 <meta name="theme-color" content="#101010"> 8 9 <!-- Network optimisations --> 10<link rel="preconnect" href="//cdn.shopify.com" crossorigin> 11<link rel="preconnect" href="//fonts.shopifycdn.com" crossorigin> 12 13<link rel="preload" as="style" href="//lineofoslo.com/cdn/shop/t/59/assets/theme-critical.css?v=162120900224067417921789730220"><link rel="preload" as="script" href="//lineofoslo.com/cdn/shop/t/59/assets/scrollreveal.min.js?v=163720458850474464051789730219"><link rel="preload" href="//lineofoslo.com/cdn/fonts/figtree/figtree_n3.e4cc0323f8b9feb279bf6ced9d868d88ce80289f.woff2" as="font" type="font/woff2" crossorigin> 14<link rel="preload" href="//lineofoslo.com/cdn/fonts/figtree/figtree_n3.e4cc0323f8b9feb279bf6ced9d868d88ce80289f.woff2" as="font" type="font/woff2" crossorigin> 15<link rel="canonical" href="https://lineofoslo.com/products/krista-check-skjorte"> 16 <link rel="shortcut icon" href="//lineofoslo.com/cdn/shop/files/Line_20of_20Oslo_20Favicon.png?crop=center&height=32&v=1769762520&width=32" type="image/png"> 17 18 19 <!-- Title and description ================================================== --> 20 <title>Line of Oslo Krista Check Shirt</title><meta name="description" content="The perfect soft shirt â Krista Check! This relaxed shirt features a classic collar and button closures along the front and cuffs. Perfect styled with our âLas Vegasâ jeans for a relaxed everyday look.The model is 175 cm tall and wears a size S."><!-- /snippets/social-meta-tags.liquid --> 21 22 23 24 25<meta property="og:site_name" content="Line of Oslo"> 26<meta property="og:url" content="https://lineofoslo.com/products/krista-check-skjorte"> 27<meta property="og:title" content="Line of Oslo Krista Check Shirt"> 28<meta property="og:type" content="product"> 29<meta property="og:description" content="The perfect soft shirt â Krista Check! This relaxed shirt features a classic collar and button closures along the front and cuffs. Perfect styled with our âLas Vegasâ jeans for a relaxed everyday look.The model is 175 cm tall and wears a size S."> 30 31 <meta property="og:price:amount" content="1.199,00"> 32 <meta property="og:price:currency" content="NOK"> 33 34<meta property="og:image" content="http://lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-15_1200x1200.png?v=1789652209"><meta property="og:image" content="http://lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-14_1200x1200.png?v=1789652209"><meta property="og:image" content="http://lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-13_1200x1200.jpg?v=1788170877"> 35<meta property="og:image:secure_url" content="https://lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-15_1200x1200.png?v=1789652209"><meta property="og:image:secure_url" content="https://lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-14_1200x1200.png?v=1789652209"><meta property="og:image:secure_url" content="https://lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-13_1200x1200.jpg?v=1788170877"> 36 37 38<meta name="twitter:card" content="summary_large_image"> 39<meta name="twitter:title" content="Line of Oslo Krista Check Shirt"> 40<meta name="twitter:description" content="The perfect soft shirt â Krista Check! This relaxed shirt features a classic collar and button closures along the front and cuffs. Perfect styled with our âLas Vegasâ jeans for a relaxed everyday look.The model is 175 cm tall and wears a size S."> 41 42 <!-- JS before CSSOM =================================================== --> 43
43<script type="text/javascript"> 44 theme = {}; 45 theme.t = {}; 46 theme.t.add_to_cart = 'Add to cart'; 47 theme.t.sold_out = 'Sold out'; 48 theme.t.unavailable = 'Unavailable'; 49 theme.t.regular_price = 'Regular price'; 50 theme.t.sale_price = 'Sale price'; 51 theme.t.qty_notice_in_stock = 'In stock'; 52 theme.t.qty_notice_low_stock = 'Low stock'; 53 theme.t.qty_notice_sold_out = 'Out of stock'; 54 theme.t.qty_notice_number_in_stock_html = '<span>[qty]</span> in stock'; 55 theme.t.qty_notice_number_low_stock_html = 'Only <span>[qty]</span> in stock'; 56 theme.t.discount_currency = 'Save [discount]'; 57 theme.t.discount_percentage = 'Save [discount]%'; 58 theme.t.discount_text = 'On Sale'; 59 theme.t.unit_price_label = 'Unit price'; 60 theme.t.unit_price_separator = 'per'; 61 theme.money_format = '<span class=money>{{amount_with_comma_separator}} kr</span>'; 62 theme.map = {}; 63 theme.map_settings_url="//lineofoslo.com/cdn/shop/t/59/assets/map_settings.min.js?v=55973849163231613841789730210"; 64 theme.cart_type = 'page'; 65 theme.cart_ajax = false; 66 theme.routes = { 67 rootUrl: "/", 68 rootUrlSlash: "/", 69 cartUrl: "/cart", 70 cartAddUrl: "/cart/add", 71 cartChangeUrl: "/cart/change" 72 }; 73 theme.assets = { 74 plyr: "//lineofoslo.com/cdn/shop/t/59/assets/plyr.min.js?v=4209607025050129391789730215", 75 masonry: "//lineofoslo.com/cdn/shop/t/59/assets/masonry.min.js?v=52946867241060388171789730211", 76 77 fecha: "//lineofoslo.com/cdn/shop/t/59/assets/fecha.min.js?v=77892649025288305351789730207" 78 }; 79 </script>
79 80 81 <style id="fontsupporttest">@font-face{font-family:"font";src:url("https://")}</style> 82
82<script type="text/javascript"> 83 function supportsFontFace() { 84 function blacklist() { 85 var match = /(WebKit|windows phone.+trident)\/(\d+)/i.exec(navigator.userAgent); 86 return match && parseInt(match[2], 10) < (match[1] == 'WebKit' ? 533 : 6); 87 } 88 function hasFontFaceSrc() { 89 var style = document.getElementById('fontsupporttest'); 90 var sheet = style.sheet || style.styleSheet; 91 var cssText = sheet ? (sheet.cssRules && sheet.cssRules[0] ? sheet.cssRules[0].cssText : sheet.cssText || '') : ''; 92 return /src/i.test(cssText); 93 } 94 return !blacklist() && hasFontFaceSrc(); 95 } 96 document.documentElement.classList.replace('no-js', 'js'); 97 if (window.matchMedia("(pointer: coarse)").matches) {document.documentElement.classList.add('touchevents')} else {document.documentElement.classList.add('no-touchevents')} 98 if (supportsFontFace()) {document.documentElement.classList.add('fontface')} 99 </script>
99 100
100<script src="//lineofoslo.com/cdn/shop/t/59/assets/jquery.min.js?v=115860211936397945481789730209" defer="defer"></script>
100 101
101<script src="//lineofoslo.com/cdn/shop/t/59/assets/vendor.min.js?v=150964745298878648461789730222" defer="defer"></script>
101 102
102<script src="//lineofoslo.com/cdn/shop/t/59/assets/ajax-cart.js?v=75524019650848056511789730242" defer="defer"></script>
102 103 104 <!-- CSS ================================================== --> 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136<style data-shopify> 137 138:root { 139 --color--brand: #101010; 140 --color--brand-dark: #030303; 141 --color--brand-light: #1d1d1d; 142 143 --color--accent: #fff6e7; 144 --color--accent-dark: #ffeccd; 145 146 --color--link: #5d5d5d; 147 --color--link-dark: #000000; 148 149 --color--text: #212121; 150 --color--text-light: rgba(33, 33, 33, 0.7); 151 --color--text-lighter: rgba(33, 33, 33, 0.55); 152 --color--text-lightest: rgba(33, 33, 33, 0.2); 153 --color--text-bg: rgba(33, 33, 33, 0.1); 154 155 --color--text-bg: rgba(33, 33, 33, 0.1); 156 157 --color--headings: #212121; 158 --color--alt-text: #515151; 159 --color--btn: #ffffff; 160 161 --color--product-bg: rgba(0,0,0,0); 162 --color--product-sale: #101010; 163 164 --color--low-stock: #C00000; 165 --color--in-stock: #4A9F53; 166 167 --color--drawer-bg: #ffffff; 168 169 --color--bg: #ffffff; 170 --color--bg-alpha: rgba(255, 255, 255, 0.8); 171 --color--bg-light: #ffffff; 172 --color--bg-dark: #f2f2f2; 173 174 --color--drop-shadow: rgba(42, 42, 42, 0.2); 175 176 --color--cart-announcement-icon: #212121; 177 178 --color--label-brand: rgba(16, 16, 16, 0.8); 179 --color--label-sold_out: rgba(242, 242, 242, 0.8); 180 --color--label-discount: rgba(81, 81, 81, 0.8); 181 --color--label-new: rgba(229, 229, 229, 0.8); 182 --color--label-custom1: rgba(229, 229, 229, 0.8); 183 --color--label-custom2: rgba(229, 229, 229, 0.8); 184 185 --color--text-label-brand: #FFFFFF; 186 --color--text-label-sold_out: #000000; 187 --color--text-label-discount: #FFFFFF; 188 --color--text-label-new: #000000; 189 --color--text-label-custom_one: #000000; 190 --color--text-label-custom_two: #000000; 191 192 --font--size-base: 13.4; 193 --font--line-base: 30; 194 195 --font--size-h1: 26; 196 --font--size-h2: 21; 197 --font--size-h3: 17; 198 --font--size-h4: 16; 199 --font--size-h5: 14; 200 --font--size-h6: 13; 201 202 --font--size-grid: 13; 203 --font--size-nav: 12; 204 --font--size-product-form-headings: 13; 205 206 --font--body: Figtree, sans-serif; 207 --font--body-style: normal; 208 --font--body-weight: 300; 209 210 --font--title: Figtree, sans-serif; 211 --font--title-weight: 300; 212 --font--title-style: normal; 213 --font--title-space: 1px; 214 --font--title-transform: uppercase; 215 216 --font--button: Figtree, sans-serif; 217 --font--button-weight: 300; 218 --font--button-style: normal; 219 220 --font--button-space: 1px; 221 --font--button-transform: none; 222 --font--button-size: 15; 223 --font--button-mobile-size: 12px; 224 225 --radius-button: 0px; 226 --radius-form: 30px; 227 --radius-variant: 15px; 228 --radius-label: 15px; 229 --radius-popup: 12px; 230 --radius-container: 0px; 231 --radius-media: 0px; 232 233 --checkbox-check-invert: 1; 234 235 --pswp-zoom-icon: url(//lineofoslo.com/cdn/shop/t/59/assets/pswp-zoom-icon.svg?v=67469326774256890881789730218); 236 --pswp-zoom-icon-2x: url(//lineofoslo.com/cdn/shop/t/59/assets/pswp-zoom-icon-2x.svg?v=61739606496987631131789730217); 237 --pswp-zoom-out-icon: url(//lineofoslo.com/cdn/shop/t/59/assets/pswp-zoom-out-icon.svg?v=113437214394839984061789730219); 238 --pswp-zoom-out-icon-2x: url(//lineofoslo.com/cdn/shop/t/59/assets/pswp-zoom-out-icon-2x.svg?v=57085294041578667101789730218); 239} 240</style> 241 242 <style>@font-face { 243 font-family: Figtree; 244 font-weight: 300; 245 font-style: normal; 246 font-display: swap; 247 src: url("//lineofoslo.com/cdn/fonts/figtree/figtree_n3.e4cc0323f8b9feb279bf6ced9d868d88ce80289f.woff2") format("woff2"), 248 url("//lineofoslo.com/cdn/fonts/figtree/figtree_n3.db79ac3fb83d054d99bd79fccf8e8782b5cf449e.woff") format("woff"); 249} 250 251@font-face { 252 font-family: Figtree; 253 font-weight: 300; 254 font-style: normal; 255 font-display: swap; 256 src: url("//lineofoslo.com/cdn/fonts/figtree/figtree_n3.e4cc0323f8b9feb279bf6ced9d868d88ce80289f.woff2") format("woff2"), 257 url("//lineofoslo.com/cdn/fonts/figtree/figtree_n3.db79ac3fb83d054d99bd79fccf8e8782b5cf449e.woff") format("woff"); 258} 259 260@font-face { 261 font-family: Figtree; 262 font-weight: 400; 263 font-style: normal; 264 font-display: swap; 265 src: url("//lineofoslo.com/cdn/fonts/figtree/figtree_n4.3c0838aba1701047e60be6a99a1b0a40ce9b8419.woff2") format("woff2"), 266 url("//lineofoslo.com/cdn/fonts/figtree/figtree_n4.c0575d1db21fc3821f17fd6617d3dee552312137.woff") format("woff"); 267} 268 269@font-face { 270 font-family: Figtree; 271 font-weight: 300; 272 font-style: italic; 273 font-display: swap; 274 src: url("//lineofoslo.com/cdn/fonts/figtree/figtree_i3.914abbe7a583759f0a18bf02652c9ee1f4bb1c6d.woff2") format("woff2"), 275 url("//lineofoslo.com/cdn/fonts/figtree/figtree_i3.3d7354f07ddb3c61082efcb69896c6
2755d6c00d9fa.woff") format("woff"); 276} 277 278@font-face { 279 font-family: Figtree; 280 font-weight: 400; 281 font-style: italic; 282 font-display: swap; 283 src: url("//lineofoslo.com/cdn/fonts/figtree/figtree_i4.89f7a4275c064845c304a4cf8a4a586060656db2.woff2") format("woff2"), 284 url("//lineofoslo.com/cdn/fonts/figtree/figtree_i4.6f955aaaafc55a22ffc1f32ecf3756859a5ad3e2.woff") format("woff"); 285} 286 287</style> 288 289<link rel="stylesheet" href="//lineofoslo.com/cdn/shop/t/59/assets/theme-critical.css?v=162120900224067417921789730220"> 290 291<link rel="preload" href="//lineofoslo.com/cdn/shop/t/59/assets/theme.css?v=12648037784957562811789730221" as="style" onload="this.onload=null;this.rel='stylesheet'"> 292<noscript><link rel="stylesheet" href="//lineofoslo.com/cdn/shop/t/59/assets/theme.css?v=12648037784957562811789730221"></noscript>
293<script> 294 /*! loadCSS rel=preload polyfill. [c]2017 Filament Group, Inc. MIT License */ 295 (function(w){"use strict";if(!w.loadCSS){w.loadCSS=function(){}}var rp=loadCSS.relpreload={};rp.support=(function(){var ret;try{ret=w.document.createElement("link").relList.supports("preload")}catch(e){ret=false}return function(){return ret}})();rp.bindMediaToggle=function(link){var finalMedia=link.media||"all";function enableStylesheet(){if(link.addEventListener){link.removeEventListener("load",enableStylesheet)}else if(link.attachEvent){link.detachEvent("onload",enableStylesheet)}link.setAttribute("onload",null);link.media=finalMedia}if(link.addEventListener){link.addEventListener("load",enableStylesheet)}else if(link.attachEvent){link.attachEvent("onload",enableStylesheet)}setTimeout(function(){link.rel="stylesheet";link.media="only x"});setTimeout(enableStylesheet,3000)};rp.poly=function(){if(rp.support()){return}var links=w.document.getElementsByTagName("link");for(var i=0;i<links.length;i+=1){var link=links[i];if(link.rel==="preload"&&link.getAttribute("as")==="style"&&!link.getAttribute("data-loadcss")){link.setAttribute("data-loadcss",true);rp.bindMediaToggle(link)}}};if(!rp.support()){rp.poly();var run=w.setInterval(rp.poly,500);if(w.addEventListener){w.addEventListener("load",function(){rp.poly();w.clearInterval(run)})}else if(w.attachEvent){w.attachEvent("onload",function(){rp.poly();w.clearInterval(run)})}}if(typeof exports!=="undefined"){exports.loadCSS=loadCSS}else{w.loadCSS=loadCSS}}(typeof global!=="undefined"?global:this)); 296</script>
296 297 298 <!-- JS after CSSOM=================================================== --> 299
299<script src="//lineofoslo.com/cdn/shop/t/59/assets/theme.min.js?v=53964633791350846211789730221" defer="defer"></script>
299 300
300<script src="//lineofoslo.com/cdn/shop/t/59/assets/custom.js?v=152733329445290166911789730205" defer="defer"></script>
300 301 302 303 304 305
305<script src="//lineofoslo.com/cdn/shop/t/59/assets/scrollreveal.min.js?v=163720458850474464051789730219"></script>
305 306 307 308<meta name="google-site-verification" content="WYjlGVcRG_sYyFAeryFDmrqp7Um2jGozHEZiW4QHFIY" /> 309 <!-- Header hook for plugins ================================================== --> 310
310<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
310<meta name="google-site-verification" content="i5UGZ1f_yFoEq4GhEH9HelIyuVrHnzZuTSs0U6rsAmo"> 311<meta name="facebook-domain-verification" content="zk2s8pumewljkm0n7bo4wxmhgkiu6d"> 312<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/77073219897/digital_wallets/dialog"> 313<meta id="in-context-paypal-metadata" data-shop-id="77073219897" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="NOK"> 314<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="buy" href="/cart/53937968578873:1?ucp/version=2026-08-25" payment="com.google.pay dev.shopify.card dev.shopify.shop_pay"><link rel="alternate" hreflang="x-default" href="https://lineofoslo.no/products/krista-check-skjorte"> 315<link rel="alternate" hreflang="nb" href="https://lineofoslo.no/products/krista-check-skjorte"> 316<link rel="alternate" hreflang="en-AE" href="https://lineofoslo.com/products/krista-check-skjorte"> 317<link rel="alternate" hreflang="en-AT" href="https://lineofoslo.com/products/krista-check-skjorte"> 318<link rel="alternate" hreflang="en-AU" href="https://lineofoslo.com/products/krista-check-skjorte"> 319<link rel="alternate" hreflang="en-BE" href="https://lineofoslo.com/products/krista-check-skjorte"> 320<link rel="alternate" hreflang="en-CA" href="https://lineofoslo.com/products/krista-check-skjorte"> 321<link rel="alternate" hreflang="en-CH" href="https://lineofoslo.com/products/krista-check-skjorte"> 322<link rel="alternate" hreflang="en-CZ" href="https://lineofoslo.com/products/krista-check-skjorte"> 323<link rel="alternate" hreflang="en-DE" href="https://lineofoslo.com/products/krista-check-skjorte"> 324<link rel="alternate" hreflang="en-DK" href="https://lineofoslo.com/products/krista-check-skjorte"> 325<link rel="alternate" hreflang="en-ES" href="https://lineofoslo.com/products/krista-check-skjorte"> 326<link rel="alternate" hreflang="en-FI" href="https://lineofoslo.com/products/krista-check-skjorte"> 327<link rel="alternate" hreflang="en-FR" href="https://lineofoslo.com/products/krista-check-skjorte"> 328<link rel="alternate" hreflang="en-GB" href="https://lineofoslo.com/products/krista-check-skjorte"> 329<link rel="alternate" hreflang="en-HK" href="https://lineofoslo.com/products/krista-check-skjorte"> 330<link rel="alternate" hreflang="en-IE" href="https://lineofoslo.com/products/krista-check-skjorte"> 331<link rel="alternate" hreflang="en-IL" href="https://lineofoslo.com/products/krista-check-skjorte"> 332<link rel="alternate" hreflang="en-IT" href="https://lineofoslo.com/products/krista-check-skjorte"> 333<link rel="alternate" hreflang="en-JP" href="https://lineofoslo.com/products/krista-check-skjorte"> 334<link rel="alternate" hreflang="en-KR" href="https://lineofoslo.com/products/krista-check-skjorte"> 335<link rel="alternate" hreflang="en-MY" href="https://lineofoslo.com/products/krista-check-skjorte"> 336<link rel="alternate" hreflang="en-NL" href="https://lineofoslo.com/products/krista-check-skjorte"> 337<link rel="alternate" hreflang="en-NZ" href="https://lineofoslo.com/products/krista-check-skjorte"> 338<link rel="alternate" hreflang="en-PL" href="https://lineofoslo.com/products/krista-check-skjorte"> 339<link rel="alternate" hreflang="en-PT" href="https://lineofoslo.com/products/krista-check-skjorte"> 340<link rel="alternate" hreflang="en-SE" href="https://lineofoslo.com/products/krista-check-skjorte"> 341<link rel="alternate" hreflang="en-SG" href="https://lineofoslo.com/products/krista-check-skjorte"> 342<link rel="alternate" hreflang="en-US" href="https://lineofoslo.com/products/krista-check-skjorte"> 343<link rel="alternate" hreflang="en-SI" href="https://lineofoslo.com/products/krista-check-skjorte"> 344<link rel="alternate" type="application/json+oembed" href="https://lineofoslo.com/products/krista-check-skjorte.oembed">
345<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=23200057"></script>
vendor: 1 bytes, line 345
345
346<script id="shopify-features" type="application/json">{"accessToken":"dd5e44dcbec987206704992a88357e7c","betas":["rich-media-storefront-analytics"],"domain":"lineofoslo.com","predictiveSearch":true,"shopId":77073219897,"locale":"en"}</script>
vendor: 1 bytes, line 346
346
347<script>var Shopify = Shopify || {}; 348Shopify.shop = "line-of-oslo-demo.myshopify.com"; 349Shopify.locale = "en"; 350Shopify.currency = {"active":"NOK","rate":"1.0"}; 351Shopify.country = "US"; 352Shopify.theme = {"name":"nyheter - jakker","id":190072160569,"schema_name":"Creative","schema_version":"4.0.1","theme_store_id":1829,"role":"main"}; 353Shopify.theme.handle = "null"; 354Shopify.theme.style = {"id":null,"handle":null}; 355Shopify.cdnHost = "lineofoslo.com/cdn"; 356Shopify.routes = Shopify.routes || {}; 357Shopify.routes.root = "/"; 358Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 359Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 360Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 361Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 361
361
362<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 362
362
363<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 363
363
364<script> 365 window.Shopify = window.Shopify || {}; 366 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 367 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 368 window.Shopify.SignInWithShop.eligible = true; 369</script>
vendor: 1 bytes, line 369
369
370<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 370
370
371<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 371
371
372<script type="module"> 373 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 374 375 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 376 377</script>
vendor: 1 bytes, line 377
377
378<script> 379 window.Shopify = window.Shopify || {}; 380 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 381 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]}; 382</script>
vendor: 1 bytes, line 382
382
383<script>(function() { 384 var isLoaded = false; 385 function asyncLoad() { 386 if (isLoaded) return; 387 isLoaded = true; 388 var urls = ["https:\/\/cdn.nfcube.com\/instafeed-07a9289258d296d58f84a4d264460dca.js?shop=line-of-oslo-demo.myshopify.com","https:\/\/chimpstatic.com\/mcjs-connected\/js\/users\/b1f10dee11671b35185b00303\/2cba71fb896992cacc69a22dc.js?shop=line-of-oslo-demo.myshopify.com","https:\/\/gtm.gropulse.com\/get_script?shop=line-of-oslo-demo.myshopify.com","https:\/\/bubble.trymimir.com\/lineofoslo.js?shop=line-of-oslo-demo.myshopify.com"]; 389 for (var i = 0; i < urls.length; i++) { 390 var s = document.createElement('script'); 391 s.type = 'text/javascript'; 392 s.async = true; 393 s.src = urls[i]; 394 var x = document.getElementsByTagName('script')[0]; 395 x.parentNode.insertBefore(s, x); 396 } 397 }; 398 if(window.attachEvent) { 399 window.attachEvent('onload', asyncLoad); 400 } else { 401 window.addEventListener('load', asyncLoad, false); 402 } 403})();</script>
vendor: 1 bytes, line 403
403
404<script id="__st">var __st={"a":77073219897,"offset":7200,"reqid":"c7322200-e40a-4c51-98a1-ec6e9765893a-1791594287","pageurl":"lineofoslo.com\/collections\/news\/products\/krista-check-skjorte","u":"1c4ee4bf0384","p":"product","rtyp":"product","rid":10276261626169};</script>
vendor: 1 bytes, line 404
404
405<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 405
405
406<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 406
406
407<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//lineofoslo.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 407
407
408<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//lineofoslo.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
408<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 408
408
409<script> 410 window.Shopify = window.Shopify || {}; 411 window.Shopify.MCP = window.Shopify.MCP || {}; 412 window.Shopify.MCP.enabled = true; 413 window.Shopify.MCP.shop = "line-of-oslo-demo.myshopify.com"; 414 window.Shopify.MCP.mcpEndpoint = "https:\/\/lineofoslo.com\/api\/mcp"; 415 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\nSet policy_types to also get the store's written policies (full text and URL).\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question â e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}]; 416</script>
vendor: 1 bytes, line 416
416
417<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/lineofoslo.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-f427de6a.js","sha256-ypGF+5vIq4Psw4WG7nsVtdd\/TCfsJWnrNuACdqLCElY=");})(); 418</script>
vendor: 1 bytes, line 418
418
419<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://lineofoslo.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 420</script>
vendor: 1 bytes, line 420
420
421<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 422 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 423</script>
vendor: 1 bytes, line 423
423
424<script> 425 function portableWalletsCleanup(e){e&&e.src&&console.error("Failed to load portable wallets script "+e.src);var t=document.querySelectorAll("shopify-accelerated-checkout .shopify-payment-button__skeleton, shopify-accelerated-checkout-cart .wallet-cart-button__skeleton"),e=document.getElementById("shopify-buyer-consent");for(let e=0;e<t.length;e++)t[e].remove();e&&e.remove()}function portableWalletsNotLoadedAsModule(e){e instanceof ErrorEvent&&"string"==typeof e.message&&e.message.includes("import.meta")&&"string"==typeof e.filename&&e.filename.includes("portable-wallets")&&(window.removeEventListener("error",portableWalletsNotLoadedAsModule),window.Shopify.PaymentButton.failedToLoad=e,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",window.Shopify.PaymentButton.init):window.Shopify.PaymentButton.init())}window.addEventListener("error",portableWalletsNotLoadedAsModule); 426</script>
426 427
428<script type="module" src="https://lineofoslo.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js" onError="portableWalletsCleanup(this)" crossorigin="anonymous"></script>
vendor: 1 bytes, line 428
428
429<script nomodule> 430 document.addEventListener("DOMContentLoaded", portableWalletsCleanup); 431</script>
431 432 433<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://lineofoslo.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 434<style id="shopify-accelerated-checkout-cart"> 435 #shopify-buyer-consent { 436 margin-top: 1em; 437 display: inline-block; 438 width: 100%; 439} 440 441#shopify-buyer-consent.hidden { 442 display: none; 443} 444 445#shopify-subscription-policy-button { 446 background: none; 447 border: none; 448 padding: 0; 449 text-decoration: underline; 450 font-size: inherit; 451 cursor: pointer; 452} 453 454#shopify-subscription-policy-button::before { 455 box-shadow: none; 456} 457 458 </style> 459
460<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
460 461<!-- BEGIN app block: shopify://apps/consentmo-gdpr/blocks/gdpr_cookie_consent/4fbe573f-a377-4fea-9801-3ee0858cae41 --> 462<link rel="preconnect" href="https://app.consentmo.com" crossorigin data-csm-preconnect="app"> 463<link rel="dns-prefetch" href="https://workers.consentmo.com" data-csm-preconnect="workers"> 464<link rel="dns-prefetch" href="https://storage.consentmo.com" data-csm-preconnect="storage"> 465<link rel="preconnect" href="https://cdn.consentmo.com" crossorigin data-csm-preconnect="cdn"><link rel="prefetch" href="https://cdn.shopify.com/extensions/01a12154-4cd8-77a6-b810-64e92981e3ee/gdpr-backpack-920/assets/layout-cookie-bar.consentmo.js" crossorigin data-csm-layout-prefetch="banner"> 466 <link rel="prefetch" href="https://cdn.shopify.com/extensions/01a12154-4cd8-77a6-b810-64e92981e3ee/gdpr-backpack-920/assets/layout-cookie-dialog.consentmo.js" crossorigin data-csm-layout-prefetch="dialog"> 467 <link rel="prefetch" href="https://cdn.shopify.com/extensions/01a12154-4cd8-77a6-b810-64e92981e3ee/gdpr-backpack-920/assets/layout-cookie-box.consentmo.js" crossorigin data-csm-layout-prefetch="box"> 468 <link rel="prefetch" href="https://cdn.shopify.com/extensions/01a12154-4cd8-77a6-b810-64e92981e3ee/gdpr-backpack-920/assets/layout-cookie-smart-banner.consentmo.js" crossorigin data-csm-layout-prefetch="smart"> 469 <link rel="prefetch" href="https://cdn.shopify.com/extensions/01a12154-4cd8-77a6-b810-64e92981e3ee/gdpr-backpack-920/assets/layout-mobile-cookie-bar.consentmo.js" crossorigin data-csm-layout-prefetch="mobile">
469<script> 470(function () { 471 try { 472 document.documentElement.classList.add('csm-cookie-embed'); 473 } catch (e) {} 474})(); 475</script>
475<script data-consentmo-data-src-bootstrap> 476(function () { 477 'use strict'; 478 if (window.__consentmoDataSrcBootstrapInit) return; 479 window.__consentmoDataSrcBootstrapInit = true; 480 481 var DATA_SRC_SELECTOR = [ 482 'script[data-src*="consentmo_cookie_consent"]', 483 'script[data-src*="gdpr_cookie_consent.min"]', 484 'script[data-src*="gdrp_cookie_consent_unlimited"]' 485 ].join(','); 486 487 function activateConsentmoDataSrcScripts() { 488 if (!window.Shopify || !window.Shopify.shop) return; 489 document.querySelectorAll(DATA_SRC_SELECTOR).forEach(function (scriptEl) { 490 // getAttribute: src="" must not count as "already has src" (.src === page URL). 491 if (scriptEl.getAttribute('src')) return; 492 var url = scriptEl.getAttribute('data-src'); 493 if (!url) return; 494 if (scriptEl.getAttribute('type') === 'text/plain') { 495 scriptEl.removeAttribute('type'); 496 } 497 scriptEl.src = url; 498 }); 499 } 500 function scheduleActivation() { 501 activateConsentmoDataSrcScripts(); 502 // Retry on next task so other DCL handlers (lazy-loaders) can finish setting Shopify.shop / data-src first. 503 setTimeout(activateConsentmoDataSrcScripts, 0); 504 } 505 if (document.readyState === 'loading') { 506 document.addEventListener('DOMContentLoaded', scheduleActivation, { once: true }); 507 } else { 508 scheduleActivation(); 509 } 510})(); 511</script>
511 512 513 514<!-- END app block --><!-- BEGIN app block: shopify://apps/timesact-pre-order/blocks/app-embed-v2/bf6c109b-79b5-457c-8752-0e5e9e9676e7 -->
514<script> 515 window.TimesactData = (function() { 516 517 518 519 const data = { 520 debug: false, 521 useCustomScript: false, 522 shopDomain: "line-of-oslo-demo.myshopify.com", 523 locale: "en", 524 currency: "NOK", 525 selectors: {"form":"form[action*=\"\/cart\/add\"], [data-block-id=\"buy_buttons\"] .shopify-product-form, product-sticky-bar","badge":".product__media-gallery, .product-media-container, .product-single__media-wrapper, .product-gallery","message":"button[type=\"submit\"]","variant":"select[name=\"id\"], input[type=\"radio\"][name^=\"option\"], .variant-input","widgets":"button[type=\"submit\"]","quickView":{"form":"form[action*=\"\/cart\/add\"], [data-block-id=\"buy_buttons\"] .shopify-product-form, product-sticky-bar","badge":".product__media-gallery, .product-media-container, .product-gallery","button":".quick-add__submit, .quick-view-btn, [data-quick-add], .product-card__quick-add-button","message":"button[type=\"submit\"]","variant":"select[name=\"id\"], input[name=\"id\"], input[type=\"radio\"][name^=\"option\"], .variant-input","widgets":"button[type=\"submit\"]","container":".quick-add-modal__content-info:visible, .quick-buy-modal:visible","addToCartButton":"button[type=\"submit\"], input[type=\"submit\"]","addToCartButtonText":null,"shopifyPaymentButton":".shopify-payment-button, [data-shopify=\"payment-button\"]"},"collection":{"form":"form[action*=\"\/cart\/add\"]","badge":".card__inner","productCard":".product-card, .card--product, .product-item, .product-card-wrapper","addToCartButton":"button[type=\"submit\"], input[type=\"submit\"]","addToCartButtonText":null},"quantityInput":"input[name=\"quantity\"], .quantity__input","priceContainer":".price, .product__price, .product-single__price","addToCartButton":"button[type=\"submit\"], input[type=\"submit\"]","addToCartButtonText":null,"variantChangingTime":50,"shopifyPaymentButton":".shopify-payment-button, [data-shopify=\"payment-button\"]"}, 526 527 appDisabled: false, 528 529 530 storefront: { 531 apiVersion: "2026-01", 532 accessToken: "8f41e0a9a1b21c3eebcbcf8fd320508f", 533 shopDomain: "line-of-oslo-demo.myshopify.com" 534 }, 535 536 537 defaultTexts: { 538 addToCart: "Add to cart", 539 soldOut: "Sold out", 540 unavailable: "Unavailable" 541 }, 542 543 544 experiences: { 545 546 547 548 549 1859: { 550 id: 1859, 551 metaobjectId: "276889403705", 552 title: "Pre-order (Copy)", 553 updatedAt: "2026-08-31T10:35:46Z", 554 555 556 preOrderEnabled: true, 557 backInStockEnabled: false, 558 comingSoonEnabled: false, 559 lowStockEnabled: false, 560 561 562 backInStockStoreLevelEnabled: false, 563 lowStockStoreLevelEnabled: false, 564 565 566 preOrderConfig: {"id":"1548","stockOption":"WHEN_OUT_OF_STOCK","shippingDateType":"EXACT_DATE","shippingDateJsonb":{"specificDate":"2026-10-29T00:00:00.000Z"},"billingPolicyType":"FULL_AMOUNT","billingPolicyJsonb":null,"inventoryPolicy":"ON_SALE","pricingPolicyType":"NO_DISCOUNT","pricingPolicyValue":"0.00","sellingPlanGroupId":"9
5660653655353","sellingPlanId":"703641190713","autoEnableContinueSelling":true,"purchaseOptionMode":"PURCHASE_OPTION","fulfillmentStatusType":"UNFULFILLED","fulfillmentOptionsJsonb":null,"category":"PREORDER","notificationChannel":"BUILT_IN","uiConfig":{"cart":{"alert":{"style":{"buttonTextColor":"#FFFFFF","buttonBackgroundColor":"#f70427"},"content":{"title":"Important Notice","message":"By placing this order you acknowledge that you are informed about and agree to our shipping policy, our terms of service and our refund policy.","buttonText":"I agree","dismissLabel":"Don't show this message again."},"triggers":{"onCartPage":true,"onButtonClick":false},"isEnabled":false},"label":"Expected ship date: 29. October","labelKey":"Pre-order","labelValue":"Delivers as soon as available.","mixedAlert":{"style":{"buttonTextColor":"#FFFFFF","buttonBackgroundColor":"#f70427"},"content":{"title":"Important Notice","message":"Because your cart contains both in-stock products and out-of-stock products your order will be shipped when out-of-stock products are restocked.","buttonText":"Okay, Got it!","dismissLabel":"Don't show this message again."},"triggers":{"onCartPage":true,"onButtonClick":false},"isEnabled":false},"blockMixedCart":{"message":"Your cart contains both pre-order and in-stock items. Please remove one type before checking out.","isEnabled":false}},"badge":{"top":true,"text":"Pre-Order","type":"ROUNDED","right":true,"style":{"fontSize":14,"fontColor":"#ffffff","fontWeight":400,"backgroundColor":"#000000"},"isEnabled":true},"timer":{"style":{"timer":{"color":"#E84545","fontSize":44},"title":{"color":"#c4c6e3","fontSize":30},"labels":{"color":"#bdc3fb","fontSize":14},"container":{"marginTop":20,"background":"#2c2e4a","borderSize":0,"paddingTop":30,"borderColor":"#FFF","borderRadius":8,"marginBottom":20,"paddingBottom":30},"subheading":{"color":"#bdc3fb","fontSize":18}},"content":{"dates":{"type":"CURRENT","endAt":"DATE","endDate":"2026-08-11T00:00:00.000Z","minutes":1440,"startAt":"NOW","startDate":"2026-08-10T00:00:00.000Z"},"title":"Hurry up!","labels":{"days":"Days","mins":"Mins","secs":"Secs","hours":"Hrs"},"onceItEnds":{"value":"unpublish-timer","customTitle":""},"subheading":"Sale ends in:"},"isEnabled":false,"placement":"BELOW"},"button":{"text":"Pre-Order","type":"DEFAULT","style":{"width":100,"height":50,"fontSize":18,"fontColor":"#FFF","fontStyle":"normal","widthType":"PERCENT","fontWeight":100,"heightType":"FIXED","borderColor":"#000","borderWidth":2,"borderRadius":10,"backgroundColor":"#000"},"soldOutText":"Sold Out","addToCartText":"Add to Cart"},"message":{"text":"Expected ship date: 9. October","style":{"fontSize":14,"fontColor":"#000","fontStyle":"normal","textAlign":"center","fontWeight":400},"placementType":"BELOW"},"collection":{"badge":{"top":true,"text":"Pre-Order","type":"ROUNDED","right":true,"style":{"fontSize":14,"fontColor":"#ffffff","fontWeight":400,"backgroundColor":"#000000"},"isEnabled":true},"button":{"text":"Pre-Order","type":"DEFAULT","style":{"width":100,"height":50,"fontSize":18,"fontColor":"#FFF","fontStyle":"normal","widthType":"PERCENT","fontWeight":100,"heightType":"FIXED","borderColor":"#000","borderWidth":2,"borderRadius":10,"backgroundColor":"#000"},"soldOutText":"Sold Out","addToCartText":"Add to Cart"},"message":{"text":"Expected ship date: 29. October","style":{"fontSize":14,"fontColor":"#000","fontStyle":"normal","textAlign":"center","fontWeight":400},"placementType":"BELOW"}},"sellingPlanWidget":{"style":{"padding":14,"fontSize":13,"maxWidth":400,"fontColor":"#6b7280","radioSize":20,"fontWeight":400,"borderColor":"#e5e7eb","borderWidth":1.5,"borderRadius":8,"radioSelectedColor":"#000000"},"content":{"description":"Pay a deposit now, the rest when it ships."}}},"createdAt":"2026-08-31T10:26:51.374Z","updatedAt":"2026-09-22T10:07:02.368Z"}, 567 backInStockConfig: {"id":"1136","stockOption":"WHEN_OUT_OF_STOCK","quantityThreshold":1,"category":"BACK_IN_STOCK","notificationChannel":"BUILT_IN","smsNotificationChannel":"BUILT_IN","uiConfig":{"badge":{"top":true,"text":"Notify Me","type":"ROUNDED","right":true,"style":{"fontSize":14,"fontColor":"#ffffff","fontWeight":400,"backgroundColor":"#000000"},"isEnabled":false},"timer":{"style":{"timer":{"color":"#E84545","fontSize":44},"title":{"color":"#c4c6e3","fontSize":30},"labels":{"color":"#bdc3fb","fontSize":14},"container":{"marginTop":20,"background":"#2c2e4a","borderSize":0,"paddingTop":30,"borderColor":"#FFF","borderRadius":8,"marginBottom":20,"paddingBottom":30},"subheading":{"color":"#bdc3fb","fontSize":18}},"content":{"dates":{"type":"CURRENT","endAt":"DATE","endDate":"2026-09-01T00:00:00.000Z","minutes":1440,"startAt":"NOW","startDate":"2026-08-31T00:00:00.000Z"},"title":"Hurry up!","labels":{"days":"Days","mins":"Mins","secs":"Secs","hours":"Hrs"},"onceItEnds":{"value":"unpublish-timer","customTitle":""},"subheading":"Sale ends in:"},"isEnabled":false,"placement":"BELOW"},"button":{"text":"Notify when available","type":"CUSTOM","style":{"width":100,"height":50,"fontSize":18,"fontColor":"#FFF","fontStyle":"normal","widthType":"PERCENT","fontWeight":100,"heightType":"FIXED","borderColor":"#000","borderWidth":2,"borderRadius":10,"backgroundColor":"#000"},"soldOutText":"Sold Out","addToCartText":"Add to Cart"},"message":{"text":"Subscribe to get notified when this product is back in stock.","style":{"fontSize":14,"fontColor":"#000","fontStyle":"normal","textAlign":"
567center","fontWeight":400},"placementType":"BELOW"},"collection":{"badge":{"top":true,"text":"Notify Me","type":"ROUNDED","right":true,"style":{"fontSize":14,"fontColor":"#ffffff","fontWeight":400,"backgroundColor":"#000000"},"isEnabled":false},"button":{"text":"Notify when available","type":"CUSTOM","style":{"width":100,"height":50,"fontSize":18,"fontColor":"#FFF","fontStyle":"normal","widthType":"PERCENT","fontWeight":100,"heightType":"FIXED","borderColor":"#000","borderWidth":2,"borderRadius":10,"backgroundColor":"#000"},"soldOutText":"Sold Out","addToCartText":"Add to Cart"},"message":{"text":"Subscribe to get notified when this product is back in stock.","style":{"fontSize":14,"fontColor":"#000","fontStyle":"normal","textAlign":"center","fontWeight":400},"placementType":"BELOW"},"notifyMeForm":{"style":{"fontSize":16,"textColor":"#333333","useGradient":false,"borderRadius":8,"headingColor":"#000000","buttonTextColor":"#FFFFFF","fieldsBorderRadius":4,"buttonBackgroundColor":"#000000"},"content":{"note":"We'll send you an email when this item is available.","title":"Notify me when available","smsLabel":"SMS","buttonText":"Notify Me","description":"Subscribe to get notified when this product is back in stock.","errorMessage":"Something went wrong. Please try again.","successMessage":"Thank you! We'll notify you when this product is available.","emailPlaceholder":"Your email (e.g. [email protected])","phonePlaceholder":"202 555 0123","phoneErrorMessage":"Please enter an international phone number with + and country code (for example, +1 202 555 0123)","smsComplianceText":"By entering your phone number, you agree to receive a one-time automated SMS sent by Timesact (Kairock Partners SRL) when this item is back in stock. Msg \u0026 data rates may apply. Reply STOP to opt out.","successButtonText":"Got it"},"newsletter":{"label":"Subscribe to our newsletter for updates and exclusive offers.","isEnabled":false},"smsEnabled":false,"showBranding":true}},"notifyMeForm":{"style":{"fontSize":16,"textColor":"#333333","useGradient":false,"borderRadius":8,"headingColor":"#000000","buttonTextColor":"#FFFFFF","fieldsBorderRadius":4,"buttonBackgroundColor":"#000000"},"content":{"note":"We'll send you an email when this item is available.","title":"Notify me when available","smsLabel":"SMS","buttonText":"Notify Me","description":"Subscribe to get notified when this product is back in stock.","errorMessage":"Something went wrong. Please try again.","successMessage":"Thank you! We'll notify you when this product is available.","emailPlaceholder":"Your email (e.g. [email protected])","phonePlaceholder":"202 555 0123","phoneErrorMessage":"Please enter an international phone number with + and country code (for example, +1 202 555 0123)","smsComplianceText":"By entering your phone number, you agree to receive a one-time automated SMS sent by Timesact (Kairock Partners SRL) when this item is back in stock. Msg \u0026 data rates may apply. Reply STOP to opt out.","successButtonText":"Got it"},"newsletter":{"label":"Subscribe to our newsletter for updates and exclusive offers.","isEnabled":false},"smsEnabled":false,"showBranding":true}},"createdAt":"2026-08-31T10:35:45.967Z","updatedAt":"2026-09-22T10:07:02.373Z"}, 568 comingSoonConfig: {"id":"883","stockOption":"WHEN_OUT_OF_STOCK","category":"COMING_SOON","uiConfig":{"badge":{"top":true,"text":"Coming Soon","type":"ROUNDED","right":true,"style":{"fontSize":14,"fontColor":"#ffffff","fontWeight":400,"backgroundColor":"#000000"},"isEnabled":false},"timer":{"style":{"timer":{"color":"#E84545","fontSize":44},"title":{"color":"#c4c6e3","fontSize":30},"labels":{"color":"#bdc3fb","fontSize":14},"container":{"marginTop":20,"background":"#2c2e4a","borderSize":0,"paddingTop":30,"borderColor":"#FFF","borderRadius":8,"marginBottom":20,"paddingBottom":30},"subheading":{"color":"#bdc3fb","fontSize":18}},"content":{"dates":{"type":"CURRENT","endAt":"DATE","endDate":"2026-09-01T00:00:00.000Z","minutes":1440,"startAt":"NOW","startDate":"2026-08-31T00:00:00.000Z"},"title":"Hurry up!","labels":{"days":"Days","mins":"Mins","secs":"Secs","hours":"Hrs"},"onceItEnds":{"value":"unpublish-timer","customTitle":""},"subheading":"Sale ends in:"},"isEnabled":false,"placement":"BELOW"},"button":{"text":"Coming Soon","type":"CUSTOM","style":{"width":100,"height":50,"fontSize":18,"fontColor":"#FFF","fontStyle":"normal","widthType":"PERCENT","fontWeight":100,"heightType":"FIXED","borderColor":"#000","borderWidth":2,"borderRadius":10,"backgroundColor":"#000"},"soldOutText":"Sold Out","addToCartText":"Add to Cart"},"message":{"text":"Product will be available soon.","style":{"fontSize":14,"fontColor":"#000","fontStyle":"normal","textAlign":"
568center","fontWeight":400},"placementType":"BELOW"},"collection":{"badge":{"top":true,"text":"Coming Soon","type":"ROUNDED","right":true,"style":{"fontSize":14,"fontColor":"#ffffff","fontWeight":400,"backgroundColor":"#000000"},"isEnabled":false},"button":{"text":"Coming Soon","type":"CUSTOM","style":{"width":100,"height":50,"fontSize":18,"fontColor":"#FFF","fontStyle":"normal","widthType":"PERCENT","fontWeight":100,"heightType":"FIXED","borderColor":"#000","borderWidth":2,"borderRadius":10,"backgroundColor":"#000"},"soldOutText":"Sold Out","addToCartText":"Add to Cart"},"message":{"text":"Product will be available soon.","style":{"fontSize":14,"fontColor":"#000","fontStyle":"normal","textAlign":"center","fontWeight":400},"placementType":"BELOW"}}},"createdAt":"2026-08-31T10:35:46.155Z","updatedAt":"2026-09-22T10:07:02.377Z"}, 569 lowStockConfig: {"id":"762","stockOption":"WHEN_SHOPIFY_INVENTORY_AVAILABLE","quantityThreshold":3,"category":"LOW_STOCK","notificationChannel":"BUILT_IN","uiConfig":{"badge":{"top":true,"text":"Low Stock","type":"ROUNDED","right":true,"style":{"fontSize":14,"fontColor":"#ffffff","fontWeight":400,"backgroundColor":"#000000"},"isEnabled":false},"timer":{"style":{"timer":{"color":"#E84545","fontSize":44},"title":{"color":"#c4c6e3","fontSize":30},"labels":{"color":"#bdc3fb","fontSize":14},"container":{"marginTop":20,"background":"#2c2e4a","borderSize":0,"paddingTop":30,"borderColor":"#FFF","borderRadius":8,"marginBottom":20,"paddingBottom":30},"subheading":{"color":"#bdc3fb","fontSize":18}},"content":{"dates":{"type":"CURRENT","endAt":"DATE","endDate":"2026-09-01T00:00:00.000Z","minutes":1440,"startAt":"NOW","startDate":"2026-08-31T00:00:00.000Z"},"title":"Hurry up!","labels":{"days":"Days","mins":"Mins","secs":"Secs","hours":"Hrs"},"onceItEnds":{"value":"unpublish-timer","customTitle":""},"subheading":"Sale ends in:"},"isEnabled":false,"placement":"BELOW"},"button":{"text":"Low Stock","type":"DEFAULT","style":{"width":100,"height":50,"fontSize":18,"fontColor":"#FFF","fontStyle":"normal","widthType":"PERCENT","fontWeight":100,"heightType":"FIXED","borderColor":"#000","borderWidth":2,"borderRadius":10,"backgroundColor":"#000"},"soldOutText":"Sold Out","addToCartText":"Add to Cart"},"message":{"text":"Low stock - order now before it sells out!","style":{"fontSize":14,"fontColor":"#000","fontStyle":"normal","textAlign":"center","fontWeight":400},"placementType":"BELOW"},"collection":{"badge":{"top":true,"text":"Low Stock","type":"ROUNDED","right":true,"style":{"fontSize":14,"fontColor":"#ffffff","fontWeight":400,"backgroundColor":"#000000"},"isEnabled":false},"button":{"text":"Low Stock","type":"DEFAULT","style":{"width":100,"height":50,"fontSize":18,"fontColor":"#FFF","fontStyle":"normal","widthType":"PERCENT","fontWeight":100,"heightType":"FIXED","borderColor":"#000","borderWidth":2,"borderRadius":10,"backgroundColor":"#000"},"soldOutText":"Sold Out","addToCartText":"Add to Cart"},"message":{"text":"Low stock - order now before it sells out!","style":{"fontSize":14,"fontColor":"#000","fontStyle":"normal","textAlign":"center","fontWeight":400},"placementType":"BELOW"}}},"createdAt":"2026-08-31T10:35:46.160Z","updatedAt":"2026-09-22T10:07:02.380Z"}, 570 571 572 inventoryLocationsConfigType: "ALL", 573 inventoryLocations: null, 574 marketsConfigType: "GLOBAL", 575 markets: null 576 } 577 578 }, 579 580 581 page: { 582 template: "product", 583 isProductPage: true, 584 isCollectionPage: false, 585 isCartPage: false, 586 isHomePage: false, 587 isSearchPage: false 588 }, 589 590 591 592 product: { 593 id: 10276261626169, 594 handle: "krista-check-skjorte", 595 title: "Line of Oslo Krista Check Shirt", 596 featuredImage: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209\u0026width=300", 597 available: true, 598 variantCount: 20, 599 600 variants: [ 601 602 { 603 id: 53937968578873, 604 title: "Black \/ XS", 605 available: true, 606 inventoryQuantity: 2, 607 inventoryPolicy: "deny", 608 price: 119900, 609 experienceIds: null, 610 experiencesState: null 611 }, 612 613 { 614 id: 53937968611641, 615 title: "Black \/ S", 616 available: false, 617 inventoryQuantity: 0, 618 inventoryPolicy: "deny", 619 price: 119900, 620 experienceIds: null, 621 experiencesState: null 622 }, 623 624 { 625 id: 53937968644409, 626 title: "Black \/ M", 627 available: false, 628 inventoryQuantity: 0, 629 inventoryPolicy: "deny", 630 price: 119900, 631 experienceIds: null, 632 experiencesState: null 633 }, 634 635 { 636 id: 53937968677177, 637 title: "Black \/ L", 638 available: false, 639 inventoryQuantity: 0, 640 inventoryPolicy: "deny", 641 price: 119900, 642 experienceIds: null, 643 experiencesState: null 644 }, 645 646 { 647 id: 53937968709945,
648 title: "Black \/ XL", 649 available: false, 650 inventoryQuantity: 0, 651 inventoryPolicy: "deny", 652 price: 119900, 653 experienceIds: null, 654 experiencesState: null 655 }, 656 657 { 658 id: 53937968742713, 659 title: "Blue \/ XS", 660 available: true, 661 inventoryQuantity: 9, 662 inventoryPolicy: "deny", 663 price: 119900, 664 experienceIds: null, 665 experiencesState: null 666 }, 667 668 { 669 id: 53937968775481, 670 title: "Blue \/ S", 671 available: true, 672 inventoryQuantity: 6, 673 inventoryPolicy: "deny", 674 price: 119900, 675 experienceIds: null, 676 experiencesState: null 677 }, 678 679 { 680 id: 53937968808249, 681 title: "Blue \/ M", 682 available: true, 683 inventoryQuantity: 19, 684 inventoryPolicy: "deny", 685 price: 119900, 686 experienceIds: null, 687 experiencesState: null 688 }, 689 690 { 691 id: 53937968841017, 692 title: "Blue \/ L", 693 available: true, 694 inventoryQuantity: 11, 695 inventoryPolicy: "deny", 696 price: 119900, 697 experienceIds: null, 698 experiencesState: null 699 }, 700 701 { 702 id: 53937968873785, 703 title: "Blue \/ XL", 704 available: true, 705 inventoryQuantity: 13, 706 inventoryPolicy: "deny", 707 price: 119900, 708 experienceIds: null, 709 experiencesState: null 710 }, 711 712 { 713 id: 54349772685625, 714 title: "Brown \/ XS", 715 available: false, 716 inventoryQuantity: 0, 717 inventoryPolicy: "deny", 718 price: 119900, 719 experienceIds: null, 720 experiencesState: null 721 }, 722 723 { 724 id: 54349772718393, 725 title: "Brown \/ S", 726 available: false, 727 inventoryQuantity: 0, 728 inventoryPolicy: "deny", 729 price: 119900, 730 experienceIds: null, 731 experiencesState: null 732 }, 733 734 { 735 id: 54349772751161, 736 title: "Brown \/ M", 737 available: true, 738 inventoryQuantity: 15, 739 inventoryPolicy: "deny", 740 price: 119900, 741 experienceIds: null, 742 experiencesState: null 743 }, 744 745 { 746 id: 54349772783929, 747 title: "Brown \/ L", 748 available: true, 749 inventoryQuantity: 15, 750 inventoryPolicy: "deny", 751 price: 119900, 752 experienceIds: null, 753 experiencesState: null 754 }, 755 756 { 757 id: 54349772816697, 758 title: "Brown \/ XL", 759 available: true, 760 inventoryQuantity: 10, 761 inventoryPolicy: "deny", 762 price: 119900, 763 experienceIds: null, 764 experiencesState: null 765 }, 766 767 { 768 id: 53937968906553, 769 title: "Port \/ XS", 770 available: false, 771 inventoryQuantity: 0, 772 inventoryPolicy: "deny", 773 price: 119900, 774 experienceIds: null, 775 experiencesState: null 776 }, 777 778 { 779 id: 53937968939321, 780 title: "Port \/ S", 781 available: false, 782 inventoryQuantity: 0, 783 inventoryPolicy: "deny", 784 price: 119900, 785 experienceIds: null, 786 experiencesState: null 787 }, 788 789 { 790 id: 53937968972089, 791 title: "Port \/ M", 792 available: false, 793 inventoryQuantity: 0, 794 inventoryPolicy: "deny", 795 price: 119900, 796 experienceIds: null, 797 experiencesState: null 798 }, 799 800 { 801 id: 53937969004857, 802 title: "Port \/ L", 803 available: true, 804 inventoryQuantity: 7, 805 inventoryPolicy: "deny", 806 price: 119900, 807 experienceIds: null, 808 experiencesState: null 809 }, 810 811 { 812 id: 53937969037625, 813 title: "Port \/ XL", 814 available: true, 815 inventoryQuantity: 8, 816 inventoryPolicy: "deny", 817 price: 119900, 818 experienceIds: null, 819 experiencesState: null 820 } 821 822 ], 823 824 sellingPlanGroups: [] 825 }, 826 827 828 }; 829 830 return data; 831 })(); 832</script>
832 833 834 835<!-- END app block --><!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/clarity_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea -->
836<script type="text/javascript"> 837 (function (c, l, a, r, i, t, y) { 838 c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments); }; 839 t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i + "?ref=shopify"; 840 y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y); 841 842 c.Shopify.loadFeatures([{ name: "consent-tracking-api", version: "0.1" }], error => { 843 if (error) { 844 console.error("Error loading Shopify features:", error); 845 return; 846 } 847 848 c[a]('consentv2', { 849 ad_Storage: c.Shopify.customerPrivacy.marketingAllowed() ? "granted" : "denied", 850 analytics_Storage: c.Shopify.customerPrivacy.analyticsProcessingAllowed() ? "granted" : "denied", 851 source: 101, 852 }); 853 }); 854 855 l.addEventListener("visitorConsentCollected", function (e) { 856 c[a]('consentv2', { 857 ad_Storage: e.detail.marketingAllowed ? "granted" : "denied", 858 analytics_Storage: e.detail.analyticsAllowed ? "granted" : "denied", 859 source: 101, 860 }); 861 }); 862 })(window, document, "clarity", "script", "v94fpqnm2j"); 863</script>
863 864 865 866 867<!-- END app block --><!-- BEGIN app block: shopify://apps/timesact-pre-order/blocks/app-embed/bf6c109b-79b5-457c-8752-0e5e9e9676e7 --> 868<!-- END app block --><!-- BEGIN app block: shopify://apps/multi-location-inv/blocks/app-embed/982328e1-99f7-4a7e-8266-6aed71bf0021 --> 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885
885<script src="https://cdn.shopify.com/extensions/01a11ae3-e49a-7894-afbf-f877dfbcaab7/multi-location-inv-264/assets/common.bundle.js"></script>
885 886 887 888<style> 889 .iia-icon svg{height:18px;width:18px}.iia-disabled-button{pointer-events:none}.iia-hidden {display: none;} 890</style>
891<script> 892 window.inventoryInfo = window.inventoryInfo || {}; 893 window.inventoryInfo.shop = window.inventoryInfo.shop || {}; 894 window.inventoryInfo.shop.shopifyDomain = 'line-of-oslo-demo.myshopify.com'; 895 window.inventoryInfo.shop.locale = 'en'; 896 window.inventoryInfo.markets = window.inventoryInfo.markets || {}; 897 window.inventoryInfo.markets.isoCode = 'US'; 898 window.inventoryInfo.markets.id = 58311704889; 899 900 window.inventoryInfo.pageType = 'product'; 901 902 window.inventoryInfo.settings = {"designVersion":"v2","uiEnabled":true,"drawer":true,"drawerVersion":"v2","hiddenLocation":{"91154448697":true},"drawerLabel":"Check in-store availability"}; 903 904 window.inventoryInfo.locationSettings = {"details":[]}; 905 906 907 908</script>
908 909 910 911 912 913 914 915 916
916<script> 917 window.inventoryInfo = window.inventoryInfo || {}; 918 window.inventoryInfo.product = window.inventoryInfo.product || {} 919 window.inventoryInfo.product.title = "Line of Oslo Krista Check Shirt"; 920 window.inventoryInfo.product.handle = "krista-check-skjorte"; 921 window.inventoryInfo.product.id = 10276261626169; 922 window.inventoryInfo.product.selectedVairant = 53937968578873; 923 window.inventoryInfo.product.defaultVariantOnly = false 924 window.inventoryInfo.product.vendor = "Line Of Oslo"; 925 window.inventoryInfo.product.type = "Blouse"; 926 927 window.inventoryInfo.product.featuredImage = "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209\u0026width=1024"; 928 window.inventoryInfo.product.featuredImageThumbnail = "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209\u0026width=100"; 929 930 window.inventoryInfo.product.options = ["Color","Size"]; 931 window.inventoryInfo.product.tags = []; 932 933 window.inventoryInfo.product.tags.push("19% Viscose"); 934 935 window.inventoryInfo.product.tags.push("26 AW"); 936 937 window.inventoryInfo.product.tags.push("3% Elastane Check"); 938 939 window.inventoryInfo.product.tags.push("78% Polyester"); 940 941 window.inventoryInfo.product.tags.push("Blouse"); 942 943 window.inventoryInfo.product.tags.push("Female"); 944 945 window.inventoryInfo.product.tags.push("kvinde"); 946 947 window.inventoryInfo.product.tags.push("kvinder"); 948 949 window.inventoryInfo.product.tags.push("Line Of Oslo"); 950 951 window.inventoryInfo.product.tags.push("tops"); 952 953 954 window.inventoryInfo.product.variants = window.inventoryInfo.product.variants || []; 955 956 window.inventoryInfo.product.variants.push({id:53937968578873, 957 title:"Black / XS", 958 available:true, 959 incoming: false, 960 incomingDate: null, 961 options: ["Black","XS"], 962 963 image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246\u0026width=1024", 964 imageThumbnail: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246\u0026width=100" 965 966 }); 967 968 window.inventoryInfo.product.variants.push({id:53937968611641, 969 title:"Black / S", 970 available:false, 971 incoming: false, 972 incomingDate: null, 973 options: ["Black","S"], 974 975 image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246\u0026width=1024", 976 imageThumbnail: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246\u0026width=100" 977 978 }); 979 980 window.inventoryInfo.product.variants.push({id:53937968644409, 981 title:"Black / M", 982 available:false, 983 incoming: false, 984 incomingDate: null, 985 options: ["Black","M"], 986 987 image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-
987Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246\u0026width=1024", 988 imageThumbnail: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246\u0026width=100" 989 990 }); 991 992 window.inventoryInfo.product.variants.push({id:53937968677177, 993 title:"Black / L", 994 available:false, 995 incoming: false, 996 incomingDate: null, 997 options: ["Black","L"], 998 999 image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246\u0026width=1024", 1000 imageThumbnail: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246\u0026width=100" 1001 1002 }); 1003 1004 window.inventoryInfo.product.variants.push({id:53937968709945, 1005 title:"Black / XL", 1006 available:false, 1007 incoming: false, 1008 incomingDate: null, 1009 options: ["Black","XL"], 1010 1011 image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246\u0026width=1024", 1012 imageThumbnail: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246\u0026width=100" 1013 1014 }); 1015 1016 window.inventoryInfo.product.variants.push({id:53937968742713, 1017 title:"Blue / XS", 1018 available:true, 1019 incoming: false, 1020 incomingDate: null, 1021 options: ["Blue","XS"], 1022 1023 image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190\u0026width=1024", 1024 imageThumbnail: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190\u0026width=100" 1025 1026 }); 1027 1028 window.inventoryInfo.product.variants.push({id:53937968775481, 1029 title:"Blue / S", 1030 available:true, 1031 incoming: false, 1032 incomingDate: null, 1033 options: ["Blue","S"], 1034 1035 image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-
1035Blouse-262-051-10.jpg?v=1785328190\u0026width=1024", 1036 imageThumbnail: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190\u0026width=100" 1037 1038 }); 1039 1040 window.inventoryInfo.product.variants.push({id:53937968808249, 1041 title:"Blue / M", 1042 available:true, 1043 incoming: false, 1044 incomingDate: null, 1045 options: ["Blue","M"], 1046 1047 image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190\u0026width=1024", 1048 imageThumbnail: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190\u0026width=100" 1049 1050 }); 1051 1052 window.inventoryInfo.product.variants.push({id:53937968841017, 1053 title:"Blue / L", 1054 available:true, 1055 incoming: false, 1056 incomingDate: null, 1057 options: ["Blue","L"], 1058 1059 image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190\u0026width=1024", 1060 imageThumbnail: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190\u0026width=100" 1061 1062 }); 1063 1064 window.inventoryInfo.product.variants.push({id:53937968873785, 1065 title:"Blue / XL", 1066 available:true, 1067 incoming: false, 1068 incomingDate: null, 1069 options: ["Blue","XL"], 1070 1071 image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190\u0026width=1024", 1072 imageThumbnail: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190\u0026width=100" 1073 1074 }); 1075 1076 window.inventoryInfo.product.variants.push({id:54349772685625, 1077 title:"Brown / XS", 1078 available:false, 1079 incoming: false, 1080 incomingDate: null, 1081 options: ["Brown","XS"], 1082 1083 image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209\u0026width=1024", 1084 imageThumbnail: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209\u0026width=100" 1085 1086 }); 1087 1088 window.inventoryInfo.product.variants.push({id:54349772718393, 1089 title:"Brown / S", 1090 available:false, 1091 incoming: false, 1092 incomingDate: null, 1093 options: ["Brown","S"], 1094 1095 image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-
1095Blouse-262-051-15.png?v=1789652209\u0026width=1024", 1096 imageThumbnail: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209\u0026width=100" 1097 1098 }); 1099 1100 window.inventoryInfo.product.variants.push({id:54349772751161, 1101 title:"Brown / M", 1102 available:true, 1103 incoming: false, 1104 incomingDate: null, 1105 options: ["Brown","M"], 1106 1107 image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209\u0026width=1024", 1108 imageThumbnail: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209\u0026width=100" 1109 1110 }); 1111 1112 window.inventoryInfo.product.variants.push({id:54349772783929, 1113 title:"Brown / L", 1114 available:true, 1115 incoming: false, 1116 incomingDate: null, 1117 options: ["Brown","L"], 1118 1119 image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209\u0026width=1024", 1120 imageThumbnail: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209\u0026width=100" 1121 1122 }); 1123 1124 window.inventoryInfo.product.variants.push({id:54349772816697, 1125 title:"Brown / XL", 1126 available:true, 1127 incoming: false, 1128 incomingDate: null, 1129 options: ["Brown","XL"], 1130 1131 image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209\u0026width=1024", 1132 imageThumbnail: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209\u0026width=100" 1133 1134 }); 1135 1136 window.inventoryInfo.product.variants.push({id:53937968906553, 1137 title:"Port / XS", 1138 available:false, 1139 incoming: false, 1140 incomingDate: null, 1141 options: ["Port","XS"], 1142 1143 image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152\u0026width=1024", 1144 imageThumbnail: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152\u0026width=100" 1145 1146 }); 1147 1148 window.inventoryInfo.product.variants.push({id:53937968939321, 1149 title:"Port / S", 1150 available:false, 1151 incoming: false, 1152 incomingDate: null, 1153 options: ["Port","S"], 1154 1155 image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-
1155Blouse-262-051-12.png?v=1786449152\u0026width=1024", 1156 imageThumbnail: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152\u0026width=100" 1157 1158 }); 1159 1160 window.inventoryInfo.product.variants.push({id:53937968972089, 1161 title:"Port / M", 1162 available:false, 1163 incoming: false, 1164 incomingDate: null, 1165 options: ["Port","M"], 1166 1167 image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152\u0026width=1024", 1168 imageThumbnail: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152\u0026width=100" 1169 1170 }); 1171 1172 window.inventoryInfo.product.variants.push({id:53937969004857, 1173 title:"Port / L", 1174 available:true, 1175 incoming: false, 1176 incomingDate: null, 1177 options: ["Port","L"], 1178 1179 image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152\u0026width=1024", 1180 imageThumbnail: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152\u0026width=100" 1181 1182 }); 1183 1184 window.inventoryInfo.product.variants.push({id:53937969037625, 1185 title:"Port / XL", 1186 available:true, 1187 incoming: false, 1188 incomingDate: null, 1189 options: ["Port","XL"], 1190 1191 image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152\u0026width=1024", 1192 imageThumbnail: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152\u0026width=100" 1193 1194 }); 1195 1196 1197 </script>
1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 <style data-shopify> 1208 .iia-icon svg{height:18px;width:18px}.iia-list{border:1px solid #d9d9d9;border-radius:5px}.iia-list-item{padding:16px}.iia-list>.iia-list-item~.iia-list-item{border-top:1px solid #d9d9d9}.iia-address,.iia-address-distance,.iia-phone{font-size:small}.iia-location-error{color:red!important}.iia-address-container,.iia-address-distance-container,.iia-phone-container{display:flex;align-items:flex-start}.iia-drawer-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;z-index:100;opacity:0;transition:opacity .3s;will-change:opacity;background-color:#000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.iia-drawer{height:100vh;width:0;position:fixed;z-index:200;top:0;right:0;background-color:#fff;overflow-x:hidden;transition:.25s;border-left:1px solid #d9d9d9;overflow-y:auto}.iia-drawer-header{align-items:flex-start;display:flex;justify-content:space-between}.iia-drawer-close{background-color:transparent;border:none;cursor:pointer;display:block;height:4.4rem;padding:1.2rem;width:4.4rem}.iia-drawer-closing .iia-drawer-content,.iia-drawer-content{visibility:hidden}.iia-drawer-open .iia-drawer-content{visibility:visible}.iia-overflow-hidden .iia-drawer-overlay{display:block!important;opacity:.5}.iia-overflow-hidden{overflow:hidden}.iia-drawer-body,.iia-drawer-header-setion{padding-left:15px}.iia-drawer-body{padding-top:15px}.iia-drawer-divider{width:100%;min-height:1px;border-bottom:1px solid #d9d9d9}.iia-drawer-open{width:100%}.iia-drawer-closing{width:0}.iia-drawer-body .iia-list{border:none}.iia-drawer-flex-header{display:flex;align-items:flex-start;gap:20px;top:15px;position:relative}.iia-drawer-header-left{flex:0 0 auto;display:flex;align-items:flex-start}.iia-drawer-header-right{flex:1 1 0%;min-width:0;padding-inline-end:12px}.iia-drawer-header-right .iia-drawer-close{padding:0;height:16px;width:16px}.iia-drawer-header-right .iia-drawer-header-title{line-height:1;font-weight:700}.iia-drawer-header-img{border-radius:15px}@media screen and (min-width:750px){.iia-drawer-open{width:37.5rem}.iia-drawer-closing{width:0}} 1209 </style> 1210 1211 1212 1213 1214 1215 1216 1217
1217<script src="https://cdn.shopify.com/extensions/01a11ae3-e49a-7894-afbf-f877dfbcaab7/multi-location-inv-264/assets/main.bundle.js"></script>
1217 1218 1219 1220 1221<!-- END app block --><!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/brandAgents_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea --> 1222 1223 1224 1225 1226 1227<!-- END app block --><!-- BEGIN app block: shopify://apps/gtm-data-layer/blocks/gropulse-gtm/ec1066b4-8b00-4630-a216-c88f51204a28 --><!-- BEGIN app snippet: custom-event-selector --> 1228 1229<div id="gropulse-custom-event-selector-modal" class="gropulse-custom-event-modal"> 1230 <div class="gropulse-custom-event-modal-content"> 1231 <div class="gropulse-custom-event-modal-header"> 1232 <p class="gropulse-modal-title">Custom Event Setup</p> 1233 <span class="gropulse-custom-event-close">×</span> 1234 </div> 1235 <div class="gropulse-custom-event-modal-body"> 1236 <p>Click on the elements you want to track as custom events. Selected elements will appear in the list below.</p> 1237 1238 <button id="gropulse-track-new-button" class="gropulse-track-new-button">Track New Element</button> 1239 1240 <div class="gropulse-selected-elements"> 1241 <span class="gropulse-selected-elements-title">Selected Elements (0)</span> 1242 <ul id="gropulse-selected-elements-list"></ul> 1243 </div> 1244 </div> 1245 <div class="gropulse-custom-event-modal-footer"> 1246 <button id="gropulse-finish-setup-button" class="gropulse-finish-setup-button">Finish Setup</button> 1247 </div> 1248 </div> 1249</div> 1250 1251<style> 1252.gropulse-custom-event-modal { 1253 display: none; 1254 position: fixed; 1255 z-index: 99999; 1256 left: 20px; 1257 top: 20px; 1258 width: 400px; 1259 background-color: #fff; 1260 border-radius: 8px; 1261 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); 1262 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; 1263 max-height: 90vh; 1264 overflow-y: auto; 1265} 1266 1267.gropulse-custom-event-modal-content { 1268 width: 100%; 1269} 1270 1271.gropulse-custom-event-modal-header { 1272 padding: 15px 20px; 1273 display: flex; 1274 justify-content: space-between; 1275 align-items: center; 1276 border-bottom: 1px solid #e5e5e5; 1277} 1278 1279.gropulse-custom-event-modal-header .gropulse-modal-title { 1280 margin: 0; 1281 font-size: 18px; 1282 font-weight: 600; 1283 color: #333; 1284} 1285 1286.gropulse-custom-event-close { 1287 color: #aaa; 1288 font-size: 24px; 1289 font-weight: bold; 1290 cursor: pointer; 1291} 1292 1293.gropulse-custom-event-close:hover { 1294 color: #555; 1295} 1296 1297.gropulse-custom-event-modal-body { 1298 padding: 20px; 1299} 1300 1301.gropulse-custom-event-modal-footer { 1302 padding: 15px 20px; 1303 border-top: 1px solid #e5e5e5; 1304 text-align: right; 1305} 1306 1307.gropulse-track-new-button, 1308.gropulse-finish-setup-button { 1309 padding: 10px 15px; 1310 border-radius: 4px; 1311 border: none; 1312 font-size: 14px; 1313 font-weight: 500; 1314 cursor: pointer; 1315} 1316 1317.gropulse-track-new-button { 1318 background-color: #4CAF50; 1319 color: white; 1320 margin-top: 10px; 1321} 1322 1323.gropulse-finish-setup-button { 1324 background-color: #2196F3; 1325 color: white; 1326} 1327 1328.gropulse-selected-elements { 1329 margin-top: 20px; 1330} 1331 1332.gropulse-selected-elements-title { 1333 display: block; 1334 font-size: 16px; 1335 margin-bottom: 10px; 1336 font-weight: 500; 1337} 1338 1339#gropulse-selected-elements-list { 1340 list-style: none; 1341 padding: 0; 1342 margin: 0; 1343 max-height: 200px; 1344 overflow-y: auto; 1345 border: 1px solid #e5e5e5; 1346 border-radius: 4px; 1347} 1348 1349#gropulse-selected-elements-list li { 1350 padding: 10px; 1351 border-bottom: 1px solid #e5e5e5; 1352 display: flex; 1353 justify-content: space-between; 1354 align-items: center; 1355} 1356 1357#gropulse-selected-elements-list li:last-child { 1358 border-bottom: none; 1359} 1360 1361.gropulse-element-info { 1362 flex: 1; 1363 font-size: 14px; 1364 word-break: break-word; 1365} 1366 1367.gropulse-remove-element { 1368 color: #f44336; 1369 cursor: pointer; 1370 margin-left: 10px; 1371} 1372 1373.gropulse-page-overlay { 1374 position: fixed; 1375 top: 0; 1376 left: 0; 1377 width: 100%; 1378 height: 100%; 1379 background-color: rgba(0, 0, 0, 0.3); 1380 z-index: 99990; 1381 pointer-events: none; 1382} 1383 1384.gropulse-highlight-element { 1385 position: absolute; 1386 pointer-events: none; 1387 background-color: rgba(76, 175, 80, 0.2); 1388 border: 2px solid #4CAF50; 1389 z-index: 99991; 1390 box-sizing: border-box; 1391} 1392 1393/* Make modal draggable */ 1394.gropulse-custom-event-modal-header { 1395 cursor: move; 1396} 1397 1398/* Responsive styles */ 1399@media screen and (max-width: 480px) { 1400 .gropulse-custom-event-modal { 1401 width: 90%; 1402 left: 5%; 1403 top: 5%; 1404 } 1405} 1406</style> 1407
1408<script> 1409document.addEventListener('DOMContentLoaded', function() { 1410 // Parse URL parameters 1411 const urlParams = new URLSearchParams(window.location.search); 1412 const customEventParam = urlParams.get('customEvent'); 1413 const redirectUrl = urlParams.get('redirectUrl'); 1414 1415 // Initialize session storage if customEvent param is present 1416 if (customEventParam === '1') { 1417 // Set flag in session storage to show the modal across page navigation 1418 sessionStorage.setItem('gropulseCustomEventSetupActive', 'true'); 1419 // Store redirect URL for later use 1420 if (redirectUrl) { 1421 sessionStorage.setItem('gropulseCustomEventRedirectUrl', redirectUrl); 1422 } 1423 } 1424 1425 // Don't proceed if setup mode is not active 1426 if (sessionStorage.getItem('gropulseCustomEventSetupActive') !== 'true') return; 1427 1428 const modal = document.getElementById('gropulse-custom-event-selector-modal'); 1429 const trackNewButton = document.getElementById('gropulse-track-new-button'); 1430 const finishSetupButton = document.getElementById('gropulse-finish-setup-button'); 1431 const closeButton = document.querySelector('.gropulse-custom-event-close'); 1432 const selectedElementsList = document.getElementById('gropulse-selected-elements-list'); 1433 const selectedElementsHeader = document.querySelector('.gropulse-selected-elements-title'); 1434 1435 let isSelectionMode = false; 1436 let selectedElements = []; 1437 let overlay = null; 1438 let highlightElement = null; 1439 1440 // Load previously selected elements from session storage 1441 const storedElements = sessionStorage.getItem('gropulseSelectedElements'); 1442 if (storedElements) { 1443 try { 1444 selectedElements = JSON.parse(storedElements); 1445 updateSelectedElementsList(); 1446 } catch (error) { 1447 console.error('Error loading stored elements:', error); 1448 } 1449 } 1450 1451 // Make the modal draggable 1452 makeElementDraggable(modal, document.querySelector('.gropulse-custom-event-modal-header')); 1453 1454 // Show the modal 1455 modal.style.display = 'block'; 1456 1457 // Click event handlers 1458 trackNewButton.addEventListener('click', function() { 1459 if (isSelectionMode) { 1460 // Cancel selection mode if active 1461 disableSelectionMode(); 1462 } else { 1463 // Enable selection mode 1464 enableSelectionMode(); 1465 } 1466 }); 1467 finishSetupButton.addEventListener('click', finishSetup); 1468 closeButton.addEventListener('click', closeModal); 1469 1470 function makeElementDraggable(element, handle) { 1471 let pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0; 1472 1473 // Try to get saved position from session storage 1474 const savedPosition = getSavedModalPosition(); 1475 if (savedPosition) { 1476 element.style.top = savedPosition.top + "px"; 1477 element.style.left = savedPosition.left + "px"; 1478 } 1479 1480 handle.onmousedown = dragMouseDown; 1481 1482 function dragMouseDown(e) { 1483 e.preventDefault(); 1484 pos3 = e.clientX; 1485 pos4 = e.clientY; 1486 document.onmouseup = closeDragElement; 1487 document.onmousemove = elementDrag; 1488 } 1489 1490 function elementDrag(e) { 1491 e.preventDefault(); 1492 pos1 = pos3 - e.clientX; 1493 pos2 = pos4 - e.clientY; 1494 pos3 = e.clientX; 1495 pos4 = e.clientY; 1496 1497 // Calculate new position ensuring it stays within viewport 1498 let newTop = element.offsetTop - pos2; 1499 let newLeft = element.offsetLeft - pos1; 1500 1501 // Get viewport dimensions 1502 const viewportWidth = window.innerWidth; 1503 const viewportHeight = window.innerHeight; 1504 1505 // Limit to viewport boundaries 1506 newTop = Math.max(0, Math.min(newTop, viewportHeight - 100)); 1507 newLeft = Math.max(0, Math.min(newLeft, viewportWidth - 100)); 1508 1509 element.style.top = newTop + "px"; 1510 element.style.left = newLeft + "px"; 1511 1512 // Save position to session storage 1513 saveModalPosition(newTop, newLeft); 1514 } 1515 1516 function closeDragElement() { 1517 document.onmouseup = null; 1518 document.onmousemove = null; 1519 1520 // Save final position 1521 saveModalPosition(element.offsetTop, element.offsetLeft); 1522 } 1523 } 1524 1525 // Save modal position to session storage 1526 function saveModalPosition(top, left) { 1527 try { 1528 sessionStorage.setItem('gropulseModalPosition', JSON.stringify({ top, left })); 1529 } catch (error) { 1530 console.error('Error saving modal position:', error); 1531 } 1532 } 1533 1534 // Get saved modal position from session storage 1535 function getSavedModalPosition() { 1536 try { 1537 const position = sessionStorage.getItem('gropulseModalPosition'); 1538 return position ? JSON.parse(position) : null; 1539 } catch (error) { 1540 console.error('Error getting modal position:', error); 1541 return null; 1542 } 1543 } 1544 1545 function enableSelectionMode() { 1546 if (isSelectionMode) return; 1547 1548 isSelectionMode = true; 1549 trackNewButton.textContent = 'Cancel Selection'; 1550 trackNewButton.style.backgroundColor = '#f44336'; 1551 1552 // Create overlay
1553 overlay = document.createElement('div'); 1554 overlay.className = 'gropulse-page-overlay'; 1555 document.body.appendChild(overlay); 1556 1557 // Create highlight element 1558 highlightElement = document.createElement('div'); 1559 highlightElement.className = 'gropulse-highlight-element'; 1560 document.body.appendChild(highlightElement); 1561 1562 // Add event listeners for element selection 1563 document.addEventListener('mouseover', highlightTargetElement); 1564 document.addEventListener('click', selectElement, true); 1565 } 1566 1567 function disableSelectionMode() { 1568 if (!isSelectionMode) return; 1569 1570 isSelectionMode = false; 1571 trackNewButton.textContent = 'Track New Element'; 1572 trackNewButton.style.backgroundColor = '#4CAF50'; 1573 1574 // Remove overlay and highlight 1575 if (overlay) { 1576 document.body.removeChild(overlay); 1577 overlay = null; 1578 } 1579 1580 if (highlightElement) { 1581 document.body.removeChild(highlightElement); 1582 highlightElement = null; 1583 } 1584 1585 // Remove event listeners 1586 document.removeEventListener('mouseover', highlightTargetElement); 1587 document.removeEventListener('click', selectElement, true); 1588 } 1589 1590 // Helper function to update the list of selected elements 1591 function updateSelectedElementsList() { 1592 // Clear existing list 1593 selectedElementsList.innerHTML = ''; 1594 1595 // Update the header count 1596 selectedElementsHeader.textContent = `Selected Elements (${selectedElements.length})`; 1597 1598 // Add each element to the list 1599 selectedElements.forEach(element => { 1600 const li = document.createElement('li'); 1601 li.dataset.id = element.id; 1602 1603 const elementInfo = document.createElement('div'); 1604 elementInfo.className = 'gropulse-element-info'; 1605 elementInfo.textContent = `"${element.text}" (${element.selector})`; 1606 1607 const removeButton = document.createElement('span'); 1608 removeButton.className = 'gropulse-remove-element'; 1609 removeButton.textContent = 'â'; 1610 removeButton.addEventListener('click', function() {
1611 removeElementFromList(element.id); 1612 }); 1613 1614 li.appendChild(elementInfo); 1615 li.appendChild(removeButton); 1616 selectedElementsList.appendChild(li); 1617 }); 1618 1619 // Save to session storage 1620 sessionStorage.setItem('gropulseSelectedElements', JSON.stringify(selectedElements)); 1621 } 1622 1623 function highlightTargetElement(e) { 1624 if (!isSelectionMode) return; 1625 1626 // Don't highlight elements in the modal itself 1627 if (e.target.closest('#gropulse-custom-event-selector-modal')) { 1628 if (highlightElement) { 1629 highlightElement.style.display = 'none'; 1630 } 1631 return; 1632 } 1633 1634 const rect = e.target.getBoundingClientRect(); 1635 highlightElement.style.display = 'block'; 1636 highlightElement.style.width = rect.width + 'px'; 1637 highlightElement.style.height = rect.height + 'px'; 1638 highlightElement.style.left = (window.pageXOffset + rect.left) + 'px'; 1639 highlightElement.style.top = (window.pageYOffset + rect.top) + 'px'; 1640 } 1641 1642 function selectElement(e) { 1643 if (!isSelectionMode) return; 1644 1645 // Don't select elements in the modal itself 1646 if (e.target.closest('#gropulse-custom-event-selector-modal')) { 1647 return; 1648 } 1649 1650 // Prevent default action (like following links) 1651 e.preventDefault(); 1652 e.stopPropagation(); 1653 1654 // Generate a selector for the clicked element 1655 const selector = generateSelector(e.target); 1656 1657 // Add to selected elements list 1658 addElementToList(e.target, selector); 1659 1660 // Disable selection mode 1661 disableSelectionMode(); 1662 } 1663 1664 function generateSelector(element) { 1665 // First try ID selector if available 1666 if (element.id) { 1667 return `#${element.id}`; 1668 } 1669 1670 // Try with classes 1671 if (element.className && typeof element.className === 'string') { 1672 const classes = element.className.trim().split(/\s+/); 1673 if (classes.length > 0) { 1674 const classSelector = `.${classes.join('.')}`; 1675 if (document.querySelectorAll(classSelector).length === 1) { 1676 return classSelector; 1677 } 1678 } 1679 } 1680 1681 // Use tag name with nth-child 1682 let path = ''; 1683 let parent = element; 1684 1685 while (parent) { 1686 if (parent === document.body) { 1687 path = 'body ' + path; 1688 break; 1689 } 1690 1691 let tag = parent.tagName.toLowerCase(); 1692 let siblings = Array.from(parent.parentNode.children).filter(child => child.tagName === parent.tagName); 1693 1694 if (siblings.length > 1) { 1695 let index = siblings.indexOf(parent) + 1; 1696 tag += `:nth-child(${index})`; 1697 } 1698 1699 path = tag + (path ? ' > ' + path : ''); 1700 parent = parent.parentNode; 1701 1702 // Stop at a certain depth to avoid overly complex selectors 1703 if (path.split('>').length > 5) { 1704 break; 1705 } 1706 } 1707 1708 return path.trim(); 1709 } 1710 1711 function addElementToList(element, selector) { 1712 // Create a unique ID for this element 1713 const elementId = 'element-' + Date.now(); 1714 1715 // Add to our array 1716 selectedElements.push({ 1717 id: elementId, 1718 selector: selector, 1719 text: element.textContent.trim().substring(0, 50) || element.tagName.toLowerCase() 1720 }); 1721 1722 // Update the display 1723 updateSelectedElementsList(); 1724 } 1725
1726 function removeElementFromList(id) { 1727 // Remove from array 1728 selectedElements = selectedElements.filter(el => el.id !== id); 1729 1730 // Update the display 1731 updateSelectedElementsList(); 1732 } 1733 1734 function closeModal() { 1735 disableSelectionMode(); 1736 modal.style.display = 'none'; 1737 1738 // Clear setup mode and data but keep the modal position 1739 sessionStorage.removeItem('gropulseCustomEventSetupActive'); 1740 sessionStorage.removeItem('gropulseSelectedElements'); 1741 // We intentionally don't remove gropulseModalPosition here to persist it across sessions 1742 } 1743 1744 function finishSetup() { 1745 1746 // Check if we have elements selected 1747 if (selectedElements.length > 0) { 1748 // Clean up our internal tracking but keep the modal position 1749 sessionStorage.removeItem('gropulseCustomEventSetupActive'); 1750 sessionStorage.removeItem('gropulseSelectedElements'); 1751 // We intentionally don't remove gropulseModalPosition to persist it 1752 1753 // Redirect back to the app with selected elements as a URL parameter 1754 const savedRedirectUrl = sessionStorage.getItem('gropulseCustomEventRedirectUrl') || redirectUrl; 1755 1756 if (savedRedirectUrl) { 1757 // Encode selected elements for URL 1758 const encodedElements = encodeURIComponent(JSON.stringify(selectedElements)); 1759 1760 // Determine if we need to add a ? or & for the parameter 1761 const separator = savedRedirectUrl.includes('?') ? '&' : '?'; 1762 1763 // Redirect to the app with the selected elements in the URL 1764 window.location.href = `${savedRedirectUrl}${separator}selectedElements=${encodedElements}`; 1765 } 1766 } else { 1767 alert('Please select at least one element to track.'); 1768 } 1769 } 1770}); 1771</script>
1771 1772<!-- END app snippet --> 1773<!-- Google Tag Manager Head Tag Code Start --> 1774
1774<script> 1775 sessionStorage.setItem('gropulseGTMId', "GTM-TCK3SNBZ" ); 1776 sessionStorage.setItem('gropulseGTMPlanName', "" ); 1777 sessionStorage.setItem("gropulseGTMEventListData", JSON.stringify(null)); 1778 sessionStorage.setItem("gropulseGTMServerType", "direct"); 1779 sessionStorage.setItem("gropulseGTMMeasurementId", ""); 1780 sessionStorage.setItem("gropulseGTMShopName", "line-of-oslo-demo.myshopify.com"); 1781 sessionStorage.setItem("gropulseGTMLinkedInConfig", JSON.stringify(null)); 1782 sessionStorage.setItem("gropulseGTMConsentTrackingGiven", "false"); 1783 sessionStorage.setItem("gropulseGTMWebPixelActivated", "false");sessionStorage.removeItem("gropulseGTMEnhancedConversion");sessionStorage.setItem("gropulseGTMCustomEvents", "");window.groPulseGTMDatalayer = window.groPulseGTMDatalayer || []; 1784 1785 function gtmGtag(){ 1786 window.groPulseGTMDatalayer.push(arguments); 1787 }
vendor: 474 bytes, lines 1787-1802
1787 1788 1789 1790 1791 (function(w, d, s, l, i) { 1792 w[l] = w[l] || []; 1793 w[l].push({"gtm.start": new Date().getTime(), event: "gtm.js"}); 1794 var f = d.getElementsByTagName(s)[0], 1795 j = d.createElement(s), 1796 dl = l != "dataLayer" 1797 ? "&l=" + l 1798 : ""; 1799 j.async = true; 1800 j.src = "https://www.googletagmanager.com/gtm.js?id=" + i + dl; 1801 f.parentNode.insertBefore(j, f); 1802 })(window, document, "script", "groPulseGTMDatalayer", "
1802GTM-TCK3SNBZ
vendor: 22 bytes, lines 1802-1806
1802"); 1803 1804 1805 1806
1806window.Shopify.loadFeatures([ 1807 { 1808 name: "consent-tracking-api", 1809 version: "0.1" 1810 } 1811 ], (error) => { 1812 if (error) { 1813 console.error("Error loading consent-tracking-api feature:", error); 1814 } 1815 1816 const consentTrackingGiven = false; 1817 1818 if(!consentTrackingGiven){ 1819 const event = new Event("gtm_start_tracking"); 1820 window.dispatchEvent(event); 1821 return; 1822 } 1823 1824 const trackingConsentStatus = Shopify?.customerPrivacy?.getTrackingConsent?.() ?? 'no_interaction'; 1825 const hasExplicitConsent = trackingConsentStatus !== 'no_interaction'; 1826 1827 // Only update consent and start tracking if user has explicitly interacted with consent banner 1828 if (hasExplicitConsent) { 1829 const marketingAllowed = Shopify?.customerPrivacy?.marketingAllowed() ?? false; 1830 const analyticsAllowed = Shopify?.customerPrivacy?.analyticsProcessingAllowed() ?? false; 1831 1832 gtmGtag('consent', 'update', { 1833 'ad_storage': marketingAllowed ? 'granted' : 'denied', 1834 'ad_user_data': marketingAllowed ? 'granted' : 'denied', 1835 'ad_personalization': marketingAllowed ? 'granted' : 'denied', 1836 'analytics_storage': analyticsAllowed ? 'granted' : 'denied' 1837 }); 1838 1839 // Start tracking only after user has previously consented 1840 const trackingEvent = new Event("gtm_start_tracking"); 1841 window.dispatchEvent(trackingEvent); 1842 } 1843 1844 document.addEventListener("visitorConsentCollected", (event) => { 1845 const marketingAllowed = event.detail.marketingAllowed; 1846 const analyticsAllowed = event.detail.analyticsAllowed; 1847 1848 gtmGtag('consent', 'update', { 1849 'ad_storage': marketingAllowed ? 'granted' : 'denied', 1850 'ad_user_data': marketingAllowed ? 'granted' : 'denied', 1851 'ad_personalization': marketingAllowed ? 'granted' : 'denied', 1852 'analytics_storage': analyticsAllowed ? 'granted' : 'denied' 1853 }); 1854 1855 // Start tracking after user interacts with consent banner 1856 const trackingEvent = new Event("gtm_start_tracking"); 1857 window.dispatchEvent(trackingEvent); 1858 }); 1859 }); 1860 </script>
1860 1861 <!-- Google Tag Manager Head Tag Code End --> 1862 1863 <!-- Google Tag Manager Noscript Code Start -->
vendor: 81 bytes, lines 1863-1866
1863 1864 <noscript> 1865 <iframe 1866 src="https://www.googletagmanager.com/ns.html?id=
1866GTM-TCK3SNBZ
vendor: 106 bytes, lines 1866-1871
1866" 1867 height="0" 1868 width="0" 1869 style="display:none;visibility:hidden"></iframe> 1870 </noscript> 1871
1871<!-- Google Tag Manager Noscript Code End -->
1871<script> 1872 // Initialize dataLayer 1873 1874 1875 const linkedinConfig = null; 1876 1877 function getGA4ClientId() { 1878 try { 1879 const cookies = document.cookie.split(';'); 1880 for (const cookie of cookies) { 1881 const trimmedCookie = cookie.trim(); 1882 if (trimmedCookie.startsWith('_ga=')) { 1883 const parts = trimmedCookie.substring(4).split('.'); 1884 return parts.slice(2).join('.'); 1885 } 1886 } 1887 } catch(e) { 1888 console.error('Error getting GA4 client ID:', e); 1889 } 1890 return null; 1891 } 1892 1893 function getGA4SessionId(measurementId) { 1894 try { 1895 const normalizedId = measurementId.replace('G-', ''); 1896 const cookieName = `_ga_${normalizedId}`; 1897 1898 const cookies = document.cookie.split(';'); 1899 for (const cookie of cookies) { 1900 const trimmedCookie = cookie.trim(); 1901 if (trimmedCookie.startsWith(`${cookieName}=`)) { 1902 const cookieValue = trimmedCookie.substring(cookieName.length + 1); 1903 const sessionInfo = cookieValue.split('.')[2]; 1904 1905 if (sessionInfo) { 1906 return sessionInfo.split('$')[0].substring(1); 1907 } 1908 } 1909 } 1910 } catch(e) { 1911 console.error('Error getting GA4 session ID:', e); 1912 } 1913 return null; 1914 } 1915 1916 function collectGA4Data() { 1917 const measurementId = ""; 1918 const clientId = getGA4ClientId(); 1919 const sessionId = getGA4SessionId(measurementId); 1920 1921 if (clientId || sessionId) { 1922 localStorage.setItem('gropulse_gtm_sse', JSON.stringify({ 1923 client_id: clientId, 1924 session_id: sessionId, 1925 timestamp: Date.now() 1926 })); 1927 } 1928 } 1929 1930 function getCookie(name) { 1931 let cookie = {}; 1932 document.cookie.split(";").forEach(function (el) { 1933 let [k, v] = el.split("="); 1934 cookie[k.trim()] = v; 1935 }); 1936 return cookie[name]; 1937 } 1938 1939 function getFacebookBrowserParams() { 1940 let fbp = getCookie("_fbp") || null; 1941 let fbc = getCookie("_fbc") || null; 1942 1943 if (!fbc && window.location.search.includes("fbclid=")) { 1944 const urlParams = new URLSearchParams(window.location.search); 1945 const fbclidValue = urlParams.get("fbclid"); 1946 if (fbclidValue) { 1947 fbc = `fb.1.${Date.now()}.${fbclidValue}`; 1948 } 1949 } 1950 1951 return { fbp, fbc }; 1952 } 1953 1954 function getTiktokBrowserParams() { 1955 let ttp = getCookie("_ttp") || null; 1956 let ttclid = getCookie("ttclid") || null; 1957 1958 return { ttp, ttclid }; 1959 } 1960 1961 function getShopifyUniqueId() { 1962 let shopify_y = document.cookie 1963 .split(";") 1964 .filter((c) => c.includes("_shopify_y=")) 1965 .map((c) => c.split("_shopify_y=")[1]); 1966 1967 return (shopify_y.length && shopify_y[0]) || ""; 1968 } 1969 1970 function collectBrowserCookies() { 1971 const { fbp, fbc } = getFacebookBrowserParams(); 1972 const { ttp, ttclid } = getTiktokBrowserParams(); 1973 const shopifyUniqueId = getShopifyUniqueId(); 1974 1975 // Store browser cookies in localStorage for webpixel access 1976 if (fbp) localStorage.setItem("_fbp", fbp); 1977 if (fbc) localStorage.setItem("_fbc", fbc); 1978 if (ttp) localStorage.setItem("_ttp", ttp); 1979 if (ttclid) localStorage.setItem("ttclid", ttclid); 1980 if (shopifyUniqueId) localStorage.setItem("_shopify_y", shopifyUniqueId); 1981 } 1982 1983 window.addEventListener('load', () => { 1984 collectGA4Data(); 1985 collectBrowserCookies(); 1986 }); 1987 1988 window.isServerEventEnabled = function(event) { 1989 try { 1990 const gropulseGTMEventListData = null; 1991 if (!gropulseGTMEventListData?.serverEvents) return false; 1992 1993 const eventMapping = { 1994 "purchase": "serverPurchase", 1995 "begin_checkout": "serverCheckout", 1996 "add_to_cart": "serverAddToCart", 1997 "view_item_list": "serverCollectionPage" 1998 }; 1999 2000 const mappedEvent = eventMapping[event]; 2001 return mappedEvent ? !!gropulseGTMEventListData.serverEvents[mappedEvent] : false; 2002 } catch (error) { 2003 console.error("Error in isServerEventEnabled:", error); 2004 return false; 2005 } 2006 }; 2007 2008 window.generateEventId = function() { 2009 const key = 'gropulseGTMEventId'; 2010 2011 const eventId = `${Math.floor(Date.now())}_${Math.random().toString(36).slice(2, 8)}`; 2012 sessionStorage.setItem(key, eventId); 2013 2014 return eventId; 2015 }; 2016 2017 window.getLinkedInConversionIds = function(eventName) { 2018 return linkedinConfig?.conversionEvents?.[eventName] || ""; 2019 }// Customer data rendered server-side â null-safe defaults. 2020 window.gropulseGTMCustomerData = { 2021 email: "", 2022 phone: "", 2023 first_name: "", 2024 last_name: "", 2025 address1: "", 2026 city: "", 2027 province: "", 2028 province_code:"", 2029 zip: "", 2030 country_code: "" 2031 }; 2032 window.gropulseGTMCustomerId = ""; 2033 window.gropulseGTMShopDomain = "line-of-oslo-demo.myshopify.com"; 2034 2035 window.gropulseGetEnhancedConversionConfig = function() { 2036 try { 2037 const raw = sessionStorage.getItem("gropulseGTMEnhancedConversion"); 2038 return raw ? JSON.parse(raw) : null; 2039 } catch (e) { 2040 return null; 2041 } 2042 }; 2043 2044 window.gropulseIsMarketingAllowed = function() { 2045 try { 2046 if (typeof window.Shopify?.customerPrivacy?.marketingAllowed === "function") { 2047 return window.Shopify.customerPrivacy.marketingAllowed(); 2048 } 2049 } catch (e) {} 2050 // If consent state is indeterminate, default to allow (matches existing tracking behaviour).
2051 return true; 2052 }; 2053 2054 window.gropulseBuildUserData = function(eventType) { 2055 try { 2056 const cfg = window.gropulseGetEnhancedConversionConfig(); 2057 if (!cfg || !cfg.enabled) return null; 2058 if (!cfg.events || !cfg.events[eventType]) return null; 2059 // Consent enforcement is delegated to Google Consent Mode v2 downstream. 2060 // Shopify's `marketingAllowed` returns false both when the customer 2061 // denied AND when they haven't interacted with the consent banner yet, 2062 // so gating here over-blocks. Google's tags respect `ad_user_data` / 2063 // `ad_personalization` signals and drop user_data on their own. 2064 2065 const c = window.gropulseGTMCustomerData || {}; 2066 const norm = function(v) { 2067 if (v == null) return null; 2068 const s = String(v).trim().toLowerCase(); 2069 return s.length ? s : null; 2070 }; 2071 const e164 = function(v) { 2072 if (!v) return null; 2073 const cleaned = String(v).replace(/\s|-|\(|\)/g, ""); 2074 return /^\+[1-9]\d{9,13}$/.test(cleaned) && cleaned.length >= 11 && cleaned.length <= 15 2075 ? cleaned 2076 : null; 2077 }; 2078 2079 const userData = {}; 2080 const email = norm(c.email); 2081 if (email) userData.email = email; 2082 const phone = e164(c.phone); 2083 if (phone) userData.phone_number = phone; 2084 2085 const address = {}; 2086 const firstName = norm(c.first_name); 2087 const lastName = norm(c.last_name); 2088 const street = norm(c.address1); 2089 const city = norm(c.city); 2090 const region = norm(c.province_code || c.province); 2091 const postalCode = norm(c.zip); 2092 const country = norm(c.country_code); 2093 if (firstName) address.first_name = firstName; 2094 if (lastName) address.last_name = lastName; 2095 if (street) address.street = street; 2096 if (city) address.city = city; 2097 if (region) address.region = region; 2098 if (postalCode) address.postal_code = postalCode; 2099 if (country) address.country = country; 2100 if (Object.keys(address).length) userData.address = address; 2101 2102 if (!userData.email && !userData.phone_number) return null; 2103 return userData; 2104 } catch (e) { 2105 return null; 2106 } 2107 }; 2108 2109 // GA4 user_id â SHA-256(shopDomain:customerId), first 16 hex, cached. 2110 window.gropulseGTMUserIdCache = null; 2111 (async function primeGropulseUserId() { 2112 try { 2113 if (!window.gropulseGTMCustomerId) return; 2114 if (!window.crypto || !window.crypto.subtle) return; 2115 const input = new TextEncoder().encode( 2116 window.gropulseGTMShopDomain + ":" + window.gropulseGTMCustomerId 2117 ); 2118 const buf = await window.crypto.subtle.digest("SHA-256", input); 2119 const hex = Array.from(new Uint8Array(buf)) 2120 .map(function(b) { return b.toString(16).padStart(2, "0"); }) 2121 .join(""); 2122 window.gropulseGTMUserIdCache = hex.slice(0, 16); 2123 } catch (e) {} 2124 })(); 2125 2126 window.gropulseGetUserId = function() { 2127 const cfg = window.gropulseGetEnhancedConversionConfig(); 2128 if (!cfg || cfg.ga4UserIdEnabled === false) return null; 2129 // Consent gate delegated to Google Consent Mode v2 downstream. 2130 return window.gropulseGTMUserIdCache || null; 2131 }; 2132 2133 window.gropulseAttachEnhancedConversionData = function(eventData, eventType) { 2134 const ud = window.gropulseBuildUserData(eventType); 2135 const uid = window.gropulseGetUserId(); 2136 if (ud) eventData.user_data = ud; 2137 if (uid) eventData.user_id = uid; 2138 return eventData; 2139 }; 2140 2141 window.sendToServerSideEndpoint = function (eventName, standardizedData, eventId) { 2142 const { fbp, fbc } = getFacebookBrowserParams(); 2143 const { ttp, ttclid } = getTiktokBrowserParams(); 2144 const shopifyUniqueId = getShopifyUniqueId(); 2145 2146 const sseData = JSON.parse(localStorage.getItem("gropulse_gtm_sse")); 2147 const requestBody = { 2148 event: eventName, 2149 event_id: eventId, 2150 shop_domain: "line-of-oslo-demo.myshopify.com", 2151 timestamp: Math.floor(Date.now() / 1000), 2152 user_agent: navigator.userAgent, 2153 url: document.referrer || location.href, 2154 client_ip: null, // Will be set by server 2155 2156 // Browser/tracking data 2157 browser_data: { 2158 fbp: fbp, 2159 fbc: fbc, 2160 shopify_unique_id: shopifyUniqueId, 2161 ga4_client_id: sseData?.client_id, 2162 ga4_session_id: sseData?.session_id, 2163 ttp: ttp, 2164 ttclid: ttclid, 2165 }, 2166 2167 // Customer data (would be populated if available) 2168 customer_data: { 2169 email: "", 2170 first_name: "", 2171 last_name: "", 2172 phone: "", 2173 gender: "", 2174 date_of_birth: "", 2175 city: "", 2176 state: "", 2177 zip: "", 2178 country: "", 2179 }, 2180 2181 // Event-specific data in standardized format 2182 event_data: standardizedData, 2183 }; 2184 2185 fetch('https://gtm.gropulse.com/server-side-events', { 2186 method: "POST", 2187 headers: { 2188 "Content-Type": "application/json", 2189 }, 2190 mode: "cors", 2191 body: JSON.stringify(requestBody), 2192 }).catch((error) => { 2193 console.error("Error sending server-side event:", error); 2194 }); 2195 } 2196 2197</script>
vendor: 1 bytes, line 2197
2197
2198<script> 2199 function htSGTMCheckCart() { 2200 2201 /** 2202 * 2203 * @param {Array} dataList 2204 * @param {Object} singleData 2205 */ 2206 const isDataUseable = (dataList, checkData) => { 2207 if (dataList.length === 0) 2208 return checkData; 2209 2210 for (let index = 0; index < dataList.length; index++) { 2211 const singleData = dataList[index]; 2212 if (singleData.id === checkData.id) { 2213 if (checkData.quantity > singleData.quantity) { 2214 const newData = { 2215 ...checkData, 2216 quantity: checkData.quantity - singleData.quantity 2217 }; 2218 return newData; 2219 } else { 2220 return false; 2221 } 2222 } 2223 } 2224 return checkData; 2225 }; 2226 2227 /** 2228 * 2229 * @param {Array} localStoreData 2230 * @param {Array} newFetchData 2231 */ 2232 const checkAddToACart = (localStoreData, newFetchData) => { 2233 return newFetchData.map((singleFetchData) => isDataUseable(localStoreData, singleFetchData)).filter(Boolean); 2234 }; 2235 2236 /** 2237 * 2238 * @param {Array} localStoreData 2239 * @param {Array} newFetchData 2240 */ 2241 const checkRemoveFromACart = (localStoreData, newFetchData) => { 2242 return localStoreData.map((singleLocalStoreData) => isDataUseable(newFetchData, singleLocalStoreData)).filter(Boolean); 2243 }; 2244 2245 const addToCartFire = (cartData) => { 2246 const dataLayerItems = cartData.map((singleCartData, i) => { 2247 return { 2248 item_name: singleCartData.product_title, 2249 item_id: singleCartData.product_id, 2250 variant_id: singleCartData.variant_id, 2251 price: singleCartData.price / 100, 2252 currency: Shopify.currency.active, 2253 item_variant: singleCartData.variant_title, 2254 quantity: singleCartData.quantity, 2255 index: i + 1, 2256 item_brand: singleCartData.vendor, 2257 sku: singleCartData.sku 2258 }; 2259 }); 2260 2261 const eventName = "add_to_cart"; 2262 const eventId = window.generateEventId(); 2263 const eventData = { 2264 event: eventName, 2265 server_side_event: window.isServerEventEnabled(eventName) || false, 2266 event_id: eventId, 2267 linkedin_conversion_ids: window.getLinkedInConversionIds(eventName), 2268 ecommerce: { 2269 items: dataLayerItems 2270 } 2271 }; 2272 2273 window.gropulseAttachEnhancedConversionData(eventData, "add_to_cart"); 2274 2275 groPulseGTMDatalayer.push({ecommerce: null}); 2276 groPulseGTMDatalayer.push(eventData); 2277 }; 2278 2279 const removeFromCartFire = (cartData) => { 2280 const dataLayerItems = cartData.map((singleCartData, i) => { 2281 return { 2282 item_name: singleCartData.product_title, 2283 item_id: singleCartData.product_id, 2284 variant_id: singleCartData.variant_id, 2285 price: singleCartData.price / 100, 2286 currency: Shopify.currency.active, 2287 item_variant: singleCartData.variant_title, 2288 quantity: singleCartData.quantity, 2289 index: i + 1, 2290 item_brand: singleCartData.vendor, 2291 sku: singleCartData.sku 2292 }; 2293 }); 2294 2295 const eventName = "remove_from_cart"; 2296 const eventId = window.generateEventId(); 2297 const eventData = { 2298 event: eventName, 2299 server_side_event: window.isServerEventEnabled(eventName) || false, 2300 event_id: eventId, 2301 ecommerce: { 2302 items: dataLayerItems 2303 } 2304 }; 2305 groPulseGTMDatalayer.push({ecommerce: null}); 2306 groPulseGTMDatalayer.push(eventData); 2307 } 2308 2309 window.addEventListener("gtm_start_tracking", (event) => { 2310 setInterval(function() { 2311 fetch("/cart.js").then((response) => response.json()).then((data) => { 2312 const lsData = JSON.parse(localStorage.getItem("ht-sgtm-cart-data")) || []; 2313 const fetchData = data.items;localStorage.setItem("ht-sgtm-cart-data", JSON.stringify(fetchData)); 2314 }); 2315 }, 3000); 2316 }); 2317 } 2318 const isGroPulseGTMWebPixelLoaded = Boolean(sessionStorage.getItem("isGroPulseGTMWebPixelLoaded")); 2319 2320 if(!isGroPulseGTMWebPixelLoaded) { 2321 htSGTMCheckCart() 2322 }; 2323 2324</script>
2324<script> 2325 function generateEventId() { 2326 return `${Date.now()}_${Math.random().toString(36).slice(2, 11)}`; 2327 } 2328 2329 function setupCustomEventTracking() { 2330 const customEventsStr = sessionStorage.getItem("gropulseGTMCustomEvents"); 2331 2332 if (!customEventsStr) return; 2333 2334 try { 2335 const customEvents = JSON.parse(customEventsStr); 2336 if (!customEvents || !Array.isArray(customEvents)) return; 2337 2338 customEvents.forEach(event => { 2339 if (!event.isActive) return; 2340 2341 const elements = document.querySelectorAll(event.selector); 2342 if (!elements || elements.length === 0) return; 2343 2344 elements.forEach(element => { 2345 element.addEventListener('click', function(e) { 2346 // Prevent default if it's a link or button 2347 if (element.tagName === 'A' || element.tagName === 'BUTTON') { 2348 e.preventDefault(); 2349 } 2350 2351 // Generate event ID for deduplication 2352 const eventId = generateEventId(); 2353 2354 // Create event parameters 2355 const eventParams = event.eventParameters || {}; 2356 2357 // Publish to web pixel for handling 2358 window.Shopify = window.Shopify || {}; 2359 window.Shopify.analytics = window.Shopify.analytics || {}; 2360 window.Shopify.analytics.publish = window.Shopify.analytics.publish || function() {}; 2361 2362 window.Shopify.analytics.publish("custom_event", { 2363 event_name: event.eventName, 2364 event_id: eventId, 2365 event_parameters: eventParams, 2366 timestamp: Date.now() 2367 }); 2368 2369 // If it was a link, navigate after a short delay 2370 if (element.tagName === 'A' && element.href) { 2371 setTimeout(() => { 2372 window.location.href = element.href; 2373 }, 300); 2374 } 2375 }); 2376 }); 2377 }); 2378 } catch (error) { 2379 console.error('Error setting up custom events:', error); 2380 } 2381 } 2382 2383 window.addEventListener("load", setupCustomEventTracking); 2384</script>
2384<!-- END app block --><!-- BEGIN app block: shopify://apps/mlv-auto-currency-switcher/blocks/mlveda-currencies-head/92ab730f-097e-4571-b27c-3f449e098ca3 --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> 2385
2386<script> console.log("currencies_style metafield has values"); </script>
2386 2387<style type="text/css"> 2388{"fileContent"=>"\r\n/* mlveda-currencies-switcher.iquid */\r\n\r\n\r\nselect#currencies {\r\nbackground-repeat: no-repeat;\r\n background-position: right center;\r\n \r\n \r\n}\r\n.nice-select.open .list {\r\nmax-height: 250px;\r\noverflow-y: auto;\r\n}\r\n\r\nselect#currencies,select#currencies1 {\r\n margin-bottom: 0;\r\n margin-top: 0;\r\n vertical-align: middle;\r\n padding-top:0px;\r\npadding-bottom:0px;\r\n padding-right: 15px;\r\n border: 0;\r\n-webkit-appearance:none;\r\n -moz-appearance:none;\r\n appearance:none;\r\n background-color:transparent;\r\n background-position:right center;\r\n}\r\nselect#currencies option{\r\ncolor:#000;\r\n background-color:#fff;\r\n}\r\nselect#currencies:focus,select#currencies:hover{\r\noutline:none;border: 0;\r\n}\r\n\r\n\r\n\r\n select#currencies, select#currencies1 {\r\nheight: auto !important;\r\n line-height: 1 !important;\r\n min-height: unset !important;\r\n max-height: unset !important;\r\n min-width: unset !important;\r\n max-width: unset !important;\r\n width: auto !important;\r\n color:#000;\r\n}\r\n.pick_currency{\r\n border: 1px solid #ddd;\r\n width: auto;\r\n display: inline-block;\r\n padding: 5px;\r\n position: fixed;\r\n z-index: 9999999;\r\n background: #fff;\r\n}\r\n\r\n\r\n\r\n.nice-select.open .list {\r\ntop: unset !important;\r\nbottom: 30px;\r\nmax-height: 170px;\r\noverflow-y: auto;\r\n}\r\n\r\n\r\n\r\n\r\n.pick_currency {\r\nposition: fixed !important;\r\n background-color: #fff !important;\r\n z-index: 9999 !important;\r\n}\r\n\r\n.pick_currency {\r\n top: unset !important;\r\n right: unset !important;\r\n bottom: 10px !important;\r\n left: 10px !important;\r\n \r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/* mlveda-currencies-switcher.iquid */\r\n\r\n\r\n\r\n/* mlveda-currencies-flag.liquid */\r\n\r\n.nice-select {\r\n -webkit-tap-highlight-color: transparent;\r\n background-color: transparent !important;\r\n border-radius: 0px;\r\n/* comment this line border: solid 1px; */\r\n border-color: inherit !important;\r\n box-sizing: border-box;\r\n clear: both;\r\n cursor: pointer;\r\n display: block;\r\n /* float: left; */\r\n font-family: inherit;\r\n font-size: inherit;\r\n font-weight: normal;\r\n height: 30px;\r\n line-height: 30px;\r\n outline: none;\r\n padding-left: 5px;\r\n padding-right: 20px;\r\n position: relative;\r\n text-align: left !important;\r\n transition: all 0.2s ease-in-out;\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n white-space: nowrap;\r\n width: 90px; }\r\n.nice-select:after {\r\n/* border-bottom: 2px solid;\r\n border-right: 2px solid; */\r\n/* comment this line border-color: inherit !important; */\r\n/* content: '';\r\n display: block;\r\n height: 5px;\r\n margin-top: -4px;\r\n pointer-events: none;\r\n position: absolute;\r\n right: 12px;\r\n top: 50%;\r\n -webkit-transform-origin: 66% 66%;\r\n transform-origin: 66% 66%;\r\n -webkit-transform: rotate(45deg);\r\n transform: rotate(45deg);\r\n transition: all 0.15s ease-in-out;\r\n width: 5px; */}\r\n.nice-select.open:after {\r\n -webkit-transform: rotate(-135deg);\r\n transform: rotate(-135deg); }\r\n.nice-select.open .list {\r\n opacity: 1;\r\n pointer-events: auto;\r\n -webkit-transform: scale(1) translateY(0);\r\n transform: scale(1) translateY(0); }\r\n.nice-select.switch {\r\n font-size: 12px;\r\n height: 30px;\r\n width:90px;\r\n line-height: 30px; \r\n display:inline-block;\r\n }\r\n.nice-select.switch:after {\r\n height: 4px;\r\n width: 4px; }\r\n.nice-select.switch .option {\r\n line-height: 30px;\r\n min-height: 30px; }\r\n.nice-select .list {\r\n/* color: #000 !important; */\r\n background-color:#fff;\r\n z-index: 999 !important;\r\n/* width:96px !important; */\r\n width:92px !important;\r\n border-radius: 0px;\r\n border:1px solid #e8e8e8;\r\n box-sizing: border-box;\r\n margin-top:0px;\r\n margin-left:0px !important;\r\n margin-bottom:0px !important;\r\n opacity: 0;\r\n overflow: hidden;\r\n padding: 0;\r\n pointer-events: none;\r\n position: absolute;\r\n top: 100%;\r\n left: -1px;\r\n -webkit-transform-origin: 50% 0;\r\n transform-origin: 50% 0;\r\n -webkit-transform: scale(0.75) translateY(-21px);\r\n transform: scale(0.75) translateY(-21px);\r\n transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;\r\n z-index: 9; }\r\n.nice-select .option:hover {\r\n background-color: #f8f8f8; }\r\n.nice-select .option {\r\n cursor: pointer;\r\n border-bottom: solid 1px #e8e8e8;\r\n font-weight: 400;\r\n line-height: 30px !important;\r\n list-style: none;\r\n margin-left: 0px !important;\r\n margin-right: 0px !important;\r\n height: 30px !important;\r\n outline: none;\r\n/* padding-left: 5px!important; */\r\n padding-left: 5px;\r\n padding-right: 5px;\r\n text-align: left;\r\n transition: all 0.2s; \r\n float: left !important;\r\n border-left: 0px !important;\r\n border-top: 0px !important;\r\n border-right: 0px !important;\r\n width: 94px !important;\r\n \r\n}\r\n .nice-select .option:last-child{ border-bottom:0 none}\r\n.nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus {\r\n }\r\n.nice-select .option.selected {\r\n font-weight: bold; }\r\n\r\n/*# sourceMappingURL=nice-select.css.map */\r\n\r\n.nice-select.switch .flags{ position:relative; top:50%;
2388 margin-top:-7px}\r\n\r\n.mldarrow:hover{\r\n cursor: pointer !important; \r\n }\r\n\r\n\r\n/* mlveda-currencies-flag.liquid */\r\n\r\n\r\n\r\n/* mlveda-currencies-styleliquid */\r\n\r\n .nice-select .option {\r\n margin-bottom: 0px;\r\n }\r\n .nice-select .option:last-child\r\n {\r\n border-bottom: 0px !important;\r\n overflow:hidden !important;\r\n }\r\n/* start flag code */\r\n\r\n \r\n .mlcurrent,.cn \r\n {\r\n position: relative;\r\n right: 20px;\r\n } \r\n .nice-select .flags\r\n {\r\n width: 24px !important;\r\n height: 16px !important; \r\n display: block !important;\r\n float: left !important; \r\n /* background-size: 24px 16px !important; */\r\n margin: 5px 5px 0px 0px !important;\r\n }\r\n \r\n \r\n\r\n\r\n\r\n/* End flag code */\r\n \r\n /** arroe code **/\r\n.mldarrow{\r\n position: relative;\r\n right: 10px;\r\n }\r\n .nice-select{\r\n display:inline-block !important;\r\n \r\n }\r\n /** end arroe code **/ \r\n \r\n/* start border code */\r\n\r\n .pick_currency \r\n {\r\n border: 0 !important;\r\n border-color: unset !important;\r\n }\r\n .nice-select .list \r\n {\r\n border: 0 !important;\r\n border-color: unset !important;\r\n }\r\n .nice-select .option \r\n {\r\n border: 0 !important;\r\n border-color: unset !important;\r\n }\r\n\r\n/* end border code */\r\n\r\n/* switcher color,Font-size code */\r\n\r\n .pick_currency \r\n {\r\n color: inherit !important;\r\n background-color: inherit !important;\r\n }\r\n .pick_currency:hover\r\n {\r\n color: inherit !important;\r\n background-color: inherit !important;\r\n }\r\n .nice-select\r\n {\r\n font-size: !important;\r\n }\r\n .nice-select .option \r\n {\r\n color: inherit !important;\r\n background-color: inherit !important;\r\n }\r\n .nice-select .option:hover \r\n {\r\n color: inherit !important;\r\n background-color: inherit !important;\r\n }\r\n .nice-select .list \r\n {\r\n background-color: inherit !important;\r\n } \r\n \r\n/* End switcher color code */\r\n \r\n/* Cart message code */\r\n .mlvedaCartNote\r\n {\r\n max-width: 1200px;\r\n margin: 0 auto;\r\n margin-top: 25px;\r\n padding: 40px !important;\r\n text-align: justify;\r\n }\r\n\r\n .mlvedaCartNote\r\n {\r\n color: inherit !important;\r\n background-color: inherit !important;\r\n/* display:block !important; */\r\n }\r\n \r\n/* End Cart message code */\r\n \r\n \r\n /*when backgroundcolor is inherit code */\r\n\r\n .nice-select .list \r\n {\r\n background-color: #fff !important;\r\n color:#000 !important; \r\n } \r\n \r\n \r\n/* \r\n \r\n .nice-select .list:hover, .pick_currency:hover \r\n {\r\n background-color: #fff !important;\r\n \r\n } \r\n \r\n */\r\n/*End when backgroundcolor is inherit code */\r\n \r\n \r\n /* Currencysymbol functionality */\r\n \r\n .nice-select{\r\n width: 81px;\r\n }\r\n \r\n/* EndCurrencysymbol functionality */\r\n\r\n/* Switcher shadow style */\r\n \r\n /* EndSwitcher shadow style */ \r\n\r\n\r\n/* New css */\r\n .pick_currency {\r\n \r\n z-index: 9999 !important;\r\n border-radius: 8px !important; /* Rounded corners */\r\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important; /* Subtle shadow */\r\n padding: 2px !important;\r\n font-size: 13px !important;\r\n display: inline-flex !important;\r\n align-items: center !important;\r\n transition: all 0.3s ease !important; /* Smooth transition for hover */\r\n}\r\n\r\n.pick_currency:hover {\r\n box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15) !important; /* Enhanced shadow on hover */\r\n transform: translateY(-2px) !important; /* Slight lift effect */\r\n}\r\n\r\n.nice-select {\r\n background: transparent !important;\r\n border-radius: 8px !important;
2388\r\n padding: 0 30px 0 10px !important; /* Adjusted padding for arrow */\r\n height: 31px !important;\r\n line-height: 35px !important;\r\n width: 100px !important;\r\n cursor: pointer !important;\r\n align-items: center !important;\r\n position: relative !important;\r\n}\r\n.nice-select:has(> .circle) {\r\nheight: 36px !important;\r\n line-height: 37px !important;\r\n}\r\n.nice-select:has(.circle)::after {\r\n right: 20px !important;\r\n top: 42% !important;\r\n}\r\n\r\n\r\n.pick_currency .nice-select .list {\r\n border: 1px solid !important;\r\n border-color: inherit !important;\r\n border-radius: 8px !important;\r\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;\r\n max-height: 200px !important;\r\n overflow-y: auto !important;\r\n margin-top: 4px !important;\r\n opacity: 0 !important;\r\n transform: scale(0.95) translateY(-10px) !important; /* Start slightly scaled and offset */\r\n transition: all 0.3s ease-out !important; /* Smooth animation */\r\n width: 101px !important;\r\n z-index: 1000 !important;\r\n}\r\n\r\n.nice-select.open .list {\r\n opacity: 1 !important;\r\n transform: scale(1) translateY(0) !important; /* Fully visible and in place */\r\n pointer-events: auto !important;\r\n}\r\n\r\n .nice-select .option {\r\n width: 100px !important;\r\n line-height: 24px !important;\r\n align-items: center !important;\r\n transition: background-color 0.2s ease !important;\r\n}\r\n\r\n.nice-select .option:hover,\r\n.nice-select .option.focus,\r\n.nice-select .option.selected.focus {\r\n background-colorinherit !important/* Subtle hover background */\r\n color:inherit !important; /* Highlight text on hover */\r\n}\r\n\r\n.nice-select .option:last-child {\r\n border-bottom: none !important;\r\n}\r\n\r\n\r\n.nice-select .flags {\r\n width: 24px !important;\r\n height: 24px !important;\r\n margin-right: 8px !important;\r\n display: inline-block !important;\r\n \r\n transform-origin: 0 0 !important;\r\n}\r\n.circle + .mlcurrent {\r\n position: relative;\r\n right: 41px;\r\n top: 0px;\r\n}\r\n.circle + .cn {\r\n position: relative;\r\n top: 5px;\r\n}\r\n.nice-select:has(> .circle) {\r\nheight: 36px !important;\r\n line-height: 37px !important;\r\n}\r\n.nice-select:has(.circle)::after {\r\n right: 20px !important;\r\n top: 42% !important;\r\n}\r\n\r\n\r\n\r\n.nice-select:after {\r\n content: '' !important;\r\n border-bottom: 2px solid #333 !important;\r\n border-right: 2px solid #333 !important;\r\n height: 7px !important;\r\n width: 7px !important;\r\n position: absolute !important;\r\n right: 12px !important;\r\n top: 44% !important;\r\n transform: translateY(-50%) rotate(45deg) !important;\r\n transition: transform 0.3s ease !important;\r\n}\r\n\r\n.nice-select.open:after {\r\n transform: translateY(-12%) rotate(-135deg) !important; /* Rotate for open state */\r\n}\r\n\r\n.mldarrow {\r\n display: none !important; /* Remove Font Awesome arrow */\r\n}\r\n.pick_currency .circle{\r\nposition:relative;\r\ntop:2px;\r\n}\r\n.cn {\r\nposition:relative;\r\ntop:2px;\r\n}\r\n.mlcurrent{\r\nposition:relative;\r\ntop:-2px;\r\n}\r\n.pick_currency .nice-select .list::-webkit-scrollbar {\r\n width: 5px;\r\n}\r\n\r\n/* Track */\r\n.pick_currency .nice-select .list::-webkit-scrollbar-track {\r\n box-shadow: inset 0 0 5px grey;\r\n border-radius: 50px;\r\n}\r\n\r\n/* Thumb */\r\n.pick_currency .nice-select .list::-webkit-scrollbar-thumb {\r\n background: #A9A9A9;\r\n border-radius: 10px;\r\n}\r\n\r\n/* Thumb on hover */\r\n.pick_currency .nice-select .list::-webkit-scrollbar-thumb:hover {\r\n background: #A9A9A9;\r\n}\r\n\r\n/* End New Css */\r\n\r\n\r\n\r\n \r\n\r\n/* mlveda-currencies-styleliquid */\r\n\r\n\r\n\r\n\r\n\n\n\n", "fileName"=>"mlveda_currencies_style"} 2389 2390/* mlveda-currencies-switcher.iquid */ 2391 2392 2393select#currencies { 2394background-repeat: no-repeat; 2395 background-position: right center; 2396 2397 2398} 2399.nice-select.open .list { 2400max-height: 250px; 2401overflow-y: auto; 2402} 2403 2404select#currencies,select#currencies1 { 2405 margin-bottom: 0; 2406 margin-top: 0;
2407 vertical-align: middle; 2408 padding-top:0px; 2409padding-bottom:0px; 2410 padding-right: 15px; 2411 border: 0; 2412-webkit-appearance:none; 2413 -moz-appearance:none; 2414 appearance:none; 2415 background-color:transparent; 2416 background-position:right center; 2417} 2418select#currencies option{ 2419color:#000; 2420 background-color:#fff; 2421} 2422select#currencies:focus,select#currencies:hover{ 2423outline:none;border: 0; 2424} 2425 2426 2427 2428 select#currencies, select#currencies1 { 2429height: auto !important; 2430 line-height: 1 !important; 2431 min-height: unset !important; 2432 max-height: unset !important; 2433 min-width: unset !important; 2434 max-width: unset !important; 2435 width: auto !important; 2436 color:#000; 2437} 2438.pick_currency{ 2439 border: 1px solid #ddd; 2440 width: auto; 2441 display: inline-block; 2442 padding: 5px; 2443 position: fixed; 2444 z-index: 9999999; 2445 background: #fff; 2446} 2447 2448 2449 2450.nice-select.open .list { 2451top: unset !important; 2452bottom: 30px; 2453max-height: 170px; 2454overflow-y: auto; 2455} 2456 2457 2458 2459 2460.pick_currency { 2461position: fixed !important; 2462 background-color: #fff !important; 2463 z-index: 9999 !important; 2464} 2465 2466.pick_currency { 2467 top: unset !important; 2468 right: unset !important; 2469 bottom: 10px !important; 2470 left: 10px !important; 2471 2472} 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482/* mlveda-currencies-switcher.iquid */ 2483 2484 2485 2486/* mlveda-currencies-flag.liquid */ 2487 2488.nice-select { 2489 -webkit-tap-highlight-color: transparent; 2490 background-color: transparent !important; 2491 border-radius: 0px; 2492/* comment this line border: solid 1px; */ 2493 border-color: inherit !important; 2494 box-sizing: border-box; 2495 clear: both; 2496 cursor: pointer; 2497 display: block; 2498 /* float: left; */ 2499 font-family: inherit; 2500 font-size: inherit; 2501 font-weight: normal; 2502 height: 30px; 2503 line-height: 30px; 2504 outline: none; 2505 padding-left: 5px; 2506 padding-right: 20px; 2507 position: relative; 2508 text-align: left !important; 2509 transition: all 0.2s ease-in-out; 2510 -webkit-user-select: none; 2511 -moz-user-select: none; 2512 -ms-user-select: none; 2513 user-select: none; 2514 white-space: nowrap; 2515 width: 90px; } 2516.nice-select:after { 2517/* border-bottom: 2px solid; 2518 border-right: 2px solid; */ 2519/* comment this line border-color: inherit !important; */ 2520/* content: ''; 2521 display: block; 2522 height: 5px; 2523 margin-top: -4px; 2524 pointer-events: none; 2525 position: absolute; 2526 right: 12px; 2527 top: 50%; 2528 -webkit-transform-origin: 66% 66%; 2529 transform-origin: 66% 66%; 2530 -webkit-transform: rotate(45deg); 2531 transform: rotate(45deg); 2532 transition: all 0.15s ease-in-out; 2533 width: 5px; */} 2534.nice-select.open:after { 2535 -webkit-transform: rotate(-135deg); 2536 transform: rotate(-135deg); } 2537.nice-select.open .list { 2538 opacity: 1; 2539 pointer-events: auto; 2540 -webkit-transform: scale(1) translateY(0); 2541 transform: scale(1) translateY(0); } 2542.nice-select.switch { 2543 font-size: 12px; 2544 height: 30px; 2545 width:90px; 2546 line-height: 30px; 2547 display:inline-block; 2548 } 2549.nice-select.switch:after { 2550 height: 4px; 2551 width: 4px; } 2552.nice-select.switch .option { 2553 line-height: 30px; 2554 min-height: 30px; } 2555.nice-select .list { 2556/* color: #000 !important; */ 2557 background-color:#fff; 2558 z-index: 999 !important; 2559/* width:96px !important; */ 2560 width:92px !important; 2561 border-radius: 0px; 2562 border:1px solid #e8e8e8; 2563 box-sizing: border-box; 2564 margin-top:0px; 2565 margin-left:0px !important; 2566 margin-bottom:0px !important; 2567 opacity: 0; 2568 overflow: hidden; 2569 padding: 0; 2570 pointer-events: none; 2571 position: absolute; 2572 top: 100%; 2573 left: -1px; 2574 -webkit-transform-origin: 50% 0; 2575 transform-origin: 50% 0; 2576 -webkit-transform: scale(0.75) translateY(-21px); 2577 transform: scale(0.75) translateY(-21px); 2578 transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out; 2579 z-index: 9; } 2580.nice-select .option:hover { 2581 background-color: #f8f8f8; } 2582.nice-select .option { 2583 cursor: pointer; 2584 border-bottom: solid 1px #e8e8e8; 2585 font-weight: 400; 2586 line-height: 30px !important; 2587 list-style: none; 2588 margin-left: 0px !important; 2589 margin-right: 0px !important; 2590 height: 30px !important; 2591 outline: none; 2592/* padding-left: 5px!important; */ 2593 padding-left: 5px; 2594 padding-right: 5px; 2595 text-align: left; 2596 transition: all 0.2s; 2597 float: left !important; 2598 border-left: 0px !important; 2599 border-top: 0px !important; 2600 border-right: 0px !important; 2601 width: 94px !important; 2602 2603} 2604 .nice-select .option:last-child{ border-bottom:0 none} 2605.nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus { 2606 } 2607.nice-select .option.selected { 2608 font-weight: bold; } 2609 2610/*# sourceMappingURL=nice-select.css.map */ 2611 2612.nice-select.switch .flags{ position:relative; top:50%;
2612 margin-top:-7px} 2613 2614.mldarrow:hover{ 2615 cursor: pointer !important; 2616 } 2617 2618 2619/* mlveda-currencies-flag.liquid */ 2620 2621 2622 2623/* mlveda-currencies-styleliquid */ 2624 2625 .nice-select .option { 2626 margin-bottom: 0px; 2627 } 2628 .nice-select .option:last-child 2629 { 2630 border-bottom: 0px !important; 2631 overflow:hidden !important; 2632 } 2633/* start flag code */ 2634 2635 2636 .mlcurrent,.cn 2637 { 2638 position: relative; 2639 right: 20px; 2640 } 2641 .nice-select .flags 2642 { 2643 width: 24px !important; 2644 height: 16px !important; 2645 display: block !important; 2646 float: left !important; 2647 /* background-size: 24px 16px !important; */ 2648 margin: 5px 5px 0px 0px !important; 2649 } 2650 2651 2652 2653 2654 2655/* End flag code */ 2656 2657 /** arroe code **/ 2658.mldarrow{ 2659 position: relative; 2660 right: 10px; 2661 } 2662 .nice-select{ 2663 display:inline-block !important; 2664 2665 } 2666 /** end arroe code **/ 2667 2668/* start border code */ 2669 2670 .pick_currency 2671 { 2672 border: 0 !important; 2673 border-color: unset !important; 2674 } 2675 .nice-select .list 2676 { 2677 border: 0 !important; 2678 border-color: unset !important; 2679 } 2680 .nice-select .option 2681 { 2682 border: 0 !important; 2683 border-color: unset !important; 2684 } 2685 2686/* end border code */ 2687 2688/* switcher color,Font-size code */ 2689 2690 .pick_currency 2691 { 2692 color: inherit !important; 2693 background-color: inherit !important; 2694 } 2695 .pick_currency:hover 2696 { 2697 color: inherit !important; 2698 background-color: inherit !important; 2699 } 2700 .nice-select 2701 { 2702 font-size: !important; 2703 } 2704 .nice-select .option 2705 { 2706 color: inherit !important; 2707 background-color: inherit !important; 2708 } 2709 .nice-select .option:hover 2710 { 2711 color: inherit !important; 2712 background-color: inherit !important; 2713 } 2714 .nice-select .list 2715 { 2716 background-color: inherit !important; 2717 } 2718 2719/* End switcher color code */ 2720 2721/* Cart message code */ 2722 .mlvedaCartNote 2723 { 2724 max-width: 1200px; 2725 margin: 0 auto; 2726 margin-top: 25px; 2727 padding: 40px !important; 2728 text-align: justify; 2729 } 2730 2731 .mlvedaCartNote 2732 { 2733 color: inherit !important; 2734 background-color: inherit !important; 2735/* display:block !important; */ 2736 } 2737 2738/* End Cart message code */ 2739 2740 2741 /*when backgroundcolor is inherit code */ 2742 2743 .nice-select .list 2744 { 2745 background-color: #fff !important; 2746 color:#000 !important; 2747 } 2748 2749 2750/* 2751 2752 .nice-select .list:hover, .pick_currency:hover 2753 { 2754 background-color: #fff !important; 2755 2756 } 2757 2758 */ 2759/*End when backgroundcolor is inherit code */ 2760 2761 2762 /* Currencysymbol functionality */ 2763 2764 .nice-select{ 2765 width: 81px; 2766 } 2767 2768/* EndCurrencysymbol functionality */ 2769 2770/* Switcher shadow style */ 2771 2772 /* EndSwitcher shadow style */ 2773 2774 2775/* New css */ 2776 .pick_currency { 2777 2778 z-index: 9999 !important; 2779 border-radius: 8px !important; /* Rounded corners */ 2780 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important; /* Subtle shadow */ 2781 padding: 2px !important; 2782 font-size: 13px !important; 2783 display: inline-flex !important; 2784 align-items: center !important; 2785 transition: all 0.3s ease !important; /* Smooth transition for hover */ 2786} 2787 2788.pick_currency:hover { 2789 box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15) !important; /* Enhanced shadow on hover */ 2790 transform: translateY(-2px) !important; /* Slight lift effect */ 2791} 2792 2793.nice-select { 2794 background: transparent !important; 2795 border-radius: 8px !important; 2796 padding: 0 30px 0 10px !important; /* Adjusted padding for arrow */ 2797 height: 31px !important; 2798 line-height: 35px !important; 2799 width: 100px !important; 2800 cursor: pointer !important; 2801 align-items: center !important; 2802 position: relative !important; 2803} 2804.nice-select:has(> .circle) { 2805height: 36px !important; 2806 line-height: 37px !important; 2807} 2808.nice-select:has(.circle)::after { 2809 right: 20px !important; 2810 top: 42% !important; 2811} 2812 2813 2814.pick_currency .nice-select .list { 2815 border: 1px solid !important; 2816 border-color: inherit !important; 2817 border-radius: 8px !important; 2818 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important; 2819 max-height: 200px !important; 2820 overflow-y: auto !important; 2821 margin-top: 4px !important; 2822 opacity: 0 !important; 2823 transform: scale(0.95) translateY(-10px) !important; /* Start slightly scaled and offset */ 2824 transition: all 0.3s ease-out !important; /* Smooth animation */ 2825 width: 101px !important; 2826 z-index: 1000 !important; 2827} 2828 2829.nice-select.open .list { 2830 opacity: 1 !important; 2831 transform: scale(1) translateY(0) !important; /* Fully visible and in place */ 2832 pointer-events: auto !important; 2833} 2834 2835 .nice-select .option { 2836 width: 100px !important; 2837 line-height: 24px !important;
2838 align-items: center !important; 2839 transition: background-color 0.2s ease !important; 2840} 2841 2842.nice-select .option:hover, 2843.nice-select .option.focus, 2844.nice-select .option.selected.focus { 2845 background-colorinherit !important/* Subtle hover background */ 2846 color:inherit !important; /* Highlight text on hover */ 2847} 2848 2849.nice-select .option:last-child { 2850 border-bottom: none !important; 2851} 2852 2853 2854.nice-select .flags { 2855 width: 24px !important; 2856 height: 24px !important; 2857 margin-right: 8px !important; 2858 display: inline-block !important; 2859 2860 transform-origin: 0 0 !important; 2861} 2862.circle + .mlcurrent { 2863 position: relative; 2864 right: 41px; 2865 top: 0px; 2866} 2867.circle + .cn { 2868 position: relative; 2869 top: 5px; 2870} 2871.nice-select:has(> .circle) { 2872height: 36px !important; 2873 line-height: 37px !important; 2874} 2875.nice-select:has(.circle)::after { 2876 right: 20px !important; 2877 top: 42% !important; 2878} 2879 2880 2881 2882.nice-select:after { 2883 content: '' !important; 2884 border-bottom: 2px solid #333 !important; 2885 border-right: 2px solid #333 !important; 2886 height: 7px !important; 2887 width: 7px !important; 2888 position: absolute !important; 2889 right: 12px !important; 2890 top: 44% !important; 2891 transform: translateY(-50%) rotate(45deg) !important; 2892 transition: transform 0.3s ease !important; 2893} 2894 2895.nice-select.open:after { 2896 transform: translateY(-12%) rotate(-135deg) !important; /* Rotate for open state */ 2897} 2898 2899.mldarrow { 2900 display: none !important; /* Remove Font Awesome arrow */ 2901} 2902.pick_currency .circle{ 2903position:relative; 2904top:2px; 2905} 2906.cn { 2907position:relative; 2908top:2px; 2909} 2910.mlcurrent{ 2911position:relative; 2912top:-2px; 2913} 2914.pick_currency .nice-select .list::-webkit-scrollbar { 2915 width: 5px; 2916} 2917 2918/* Track */ 2919.pick_currency .nice-select .list::-webkit-scrollbar-track { 2920 box-shadow: inset 0 0 5px grey; 2921 border-radius: 50px; 2922} 2923 2924/* Thumb */ 2925.pick_currency .nice-select .list::-webkit-scrollbar-thumb { 2926 background: #A9A9A9; 2927 border-radius: 10px; 2928} 2929 2930/* Thumb on hover */ 2931.pick_currency .nice-select .list::-webkit-scrollbar-thumb:hover { 2932 background: #A9A9A9; 2933} 2934 2935/* End New Css */ 2936 2937 2938 2939 2940 2941/* mlveda-currencies-styleliquid */ 2942 2943 2944 2945 2946 2947 2948 2949 2950</style> 2951
2952<script type="text/javascript"> 2953 2954window.shopify_supported_currencies = "NOK "; 2955 2956window.mlvShopMainCurrency = 'NOK'; 2957window.mlvShopName = 'Line of Oslo'; 2958window.mlvShopCurrency = 'NOK'; 2959window.mlvMoneyWithCurrencyFormat = "{{amount_with_comma_separator}} NOK"; 2960window.mlvMoneyFormat = "{{amount_with_comma_separator}} kr"; 2961window.mlvCartCurrencyISOCode = 'NOK'; 2962 2963var mlvForm = '<form method="post" action="/cart/update" id="currency_form" accept-charset="UTF-8" class="currency-selector small--hide" enctype="multipart/form-data"><input type="hidden" name="form_type" value="currency" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="return_to" value="/collections/news/products/krista-check-skjorte" /><input type="hidden" name="currency" value="CurrencyDrop"></form>'; 2964 2965document.addEventListener("DOMContentLoaded", function(event) { 2966 document.body.insertAdjacentHTML( 'beforeend', mlvForm ); 2967}); 2968</script>
2968 2969 2970
2971<script> console.log("currencies_switcher has value "); </script>
vendor: 1 bytes, line 2971
2971
2972<script type="text/javascript"> 2973 2974 2975 /*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */�
vendor: 32,013 bytes, lines 2975-2976
2975 2976!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.1",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)
2976
vendor: 9,806 bytes, line 2977
2977},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=L.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,R=["Top","Right","Bottom","Left"],S=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},T=/^(?:checkbox|radio)$/i;!function(){var a=l.createDocumentFragment(),b=a.appendChild(l.createElement("div")),c=l.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||l,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=W.test(e)?this.mouseHooks:V.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=l),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==_()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===_()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?Z:$):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:$,isPropagationStopped:$,isImmediatePropagationStopped:$,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=Z,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=Z,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=Z,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}}
vendor: 17,252 bytes, line 2977
2977,n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=L.access(d,b);e||d.addEventListener(a,c,!0),L.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=L.access(d,b)-1;e?L.access(d,b,e):(d.removeEventListener(a,c,!0),L.remove(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(g in a)this.on(g,b,c,a[g],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=$;else if(!d)return this;return 1===e&&(f=d,d=function(a){return n().off(a),f.apply(this,arguments)},d.guid=f.guid||(f.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=$),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ab=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ib={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1></$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=qb[0].contentDocument,b.write(),b.close(),c=sb(a,b),qb.detach()),rb[a]=c),c}var ub=/^margin/,vb=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)};function xb(a,b,c){var d,e,f,g,h=a.style;return c=c||wb(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),vb.test(g)&&ub.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function yb(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var zb=/^(none|table(?!-c[ea]).+)/,Ab=new RegExp("^("+Q+")(.*)$","i"),Bb=new RegExp("^([+-])=("+Q+")","i"),Cb={position:"absolute",visibility:"hidden",display:"block"},Db={letterSpacing:"0",fontWeight:"400"},Eb=["Webkit","O","Moz","ms"];function Fb(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Eb.length;while(e--)if(b=Eb[e]+c,b in a)return b;return d}function Gb(a,b,c){var d=Ab.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Hb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ib(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wb(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xb(a,b,f),(0>e||null==e)&&(e=a.style[b]),vb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Hb(a,b,c||(g?"border":"content"),d,f)+"px"}function Jb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",tb(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Bb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xb(a,b,d)),"normal"===e&&b in Db&&(e=Db[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?zb.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Cb,function(){return Ib(a,b,d)}):Ib(a,b,d):void 0},set:function(a,c,d){var e=d&&wb(a);return Gb(a,c,d?Hb(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=yb(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ub.test(a)||(n.cssHooks[a+b].set=Gb)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Jb(this,!0)},hide:function(){return Jb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Kb(a,b,c,d,e){return new Kb.prototype.init(a,b,c,d,e)}n.Tween=Kb,Kb.prototype={constructor:Kb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Kb.propHooks[this.prop];return a&&a.get?a.get(this):Kb.propHooks._default.get(this)},run:function(a){var b,c=Kb.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Kb.propHooks._default.set(this),this}},Kb.prototype.init.prototype=Kb.prototype,Kb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Kb.propHooks.scrollTop=Kb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Kb.prototype.init,n.fx.step={};var Lb,Mb,Nb=/^(?:toggle|show|hide)$/,Ob=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pb=/queueHooks$/,Qb=[Vb],Rb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Ob.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Ob.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sb(){return setTimeout(function(){Lb=void 0}),Lb=n.now()}function Tb(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ub(a,b,c){for(var d,e=(Rb[b]||[]).concat(Rb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Vb(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||tb(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Nb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?tb(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ub(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wb(a,b){var c,d,e,f,g;
vendor: 7,746 bytes, lines 2977-2978
2977for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xb(a,b,c){var d,e,f=0,g=Qb.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Lb||Sb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Lb||Sb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wb(k,j.opts.specialEasing);g>f;f++)if(d=Qb[f].call(j,a,k,j.opts))return d;return n.map(k,Ub,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xb,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Rb[c]=Rb[c]||[],Rb[c].unshift(b)},prefilter:function(a,b){b?Qb.unshift(a):Qb.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xb(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Tb(b,!0),a,d,e)}}),n.each({slideDown:Tb("show"),slideUp:Tb("hide"),slideToggle:Tb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Lb=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),Lb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Mb||(Mb=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(Mb),Mb=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=l.createElement("input"),b=l.createElement("select"),c=b.appendChild(l.createElement("option"));a.type="checkbox",k.checkOn=""!==a.value,k.optSelected=c.selected,b.disabled=!0,k.optDisabled=!c.disabled,a=l.createElement("input"),a.value="t",a.type="radio",k.radioValue="t"===a.value}();var Yb,Zb,$b=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return J(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Zb:Yb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b)) 2978},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Zb={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$b[b]||n.find.attr;$b[b]=function(a,b,d){var e,f;return d||(f=$b[b],$b[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$b[b]=f),e}});var _b=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_b.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ac=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];
vendor: 17,345 bytes, line 2978
2978while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ac," ").indexOf(b)>=0)return!0;return!1}});var bc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cc=n.now(),dc=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var ec,fc,gc=/#.*$/,hc=/([?&])_=[^&]*/,ic=/^(.*?):[ \t]*([^\r\n]*)$/gm,jc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,kc=/^(?:GET|HEAD)$/,lc=/^\/\//,mc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,nc={},oc={},pc="*/".concat("*");try{fc=location.href}catch(qc){fc=l.createElement("a"),fc.href="",fc=fc.href}ec=mc.exec(fc.toLowerCase())||[];function rc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function sc(a,b,c,d){var e={},f=a===oc;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function tc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function uc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function vc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:fc,type:"GET",isLocal:jc.test(ec[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":pc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?tc(tc(a,n.ajaxSettings),b):tc(n.ajaxSettings,a)},ajaxPrefilter:rc(nc),ajaxTransport:rc(oc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=ic.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||fc)+"").replace(gc,"").replace(lc,ec[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=mc.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===ec[1]&&h[2]===ec[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(ec[3]||("http:"===ec[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),sc(nc,k,b,v),2===t)return v;i=k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!kc.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(dc.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=hc.test(d)?d.replace(hc,"$1_="+cc++):d+(dc.test(d)?"&":"?")+"_="+cc++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+pc+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=sc(oc,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=uc(k,v,f)),u=vc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var wc=/%20/g,xc=/\[\]$/,yc=/\r?\n/g,zc=/^(?:submit|button|image|reset|file)$/i,Ac=/^(?:input|select|textarea|keygen)/i;function Bc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||xc.test(a)?d(a,e):Bc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Bc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Bc(c,a[c],b,e);return d.join("&").replace(wc,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Ac.test(this.nodeName)&&!zc.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(yc,"\r\n")}}):{name:b.name,value:c.replace(yc,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Cc=0,Dc={},Ec={0:200,1223:204},Fc=n.ajaxSettings.xhr();a.ActiveXObject&&n(a).on("unload",function(){for(var a in Dc)Dc[a]()}),k.cors=!!Fc&&"withCredentials"in Fc,k.ajax=Fc=!!Fc,n.ajaxTransport(function(a){var b;return k.cors||Fc&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Cc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Dc[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Ec[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Dc[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),l.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Gc=[],Hc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Gc.pop()||n.expando+"_"+cc++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Hc.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Hc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Hc,"$1"+e):b.jsonp!==!1&&(b.url+=(dc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Gc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||l;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var Ic=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Ic)return Ic.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var Jc=a.document.documentElement;function Kc(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(typeof d.getBoundingClientRect!==U&&(e=d.getBoundingClientRect()),c=Kc(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||Jc;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Jc})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;n.fn[b]=function(e){return J(this,function(b,e,f){var g=Kc(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=yb(k.pixelPosition,function(a,c){return c?(c=xb(a,b),vb.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return J(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Lc=a.jQuery,Mc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Mc),b&&a.jQuery===n&&(a.jQuery=Lc),n},typeof b===U&&(a.jQuery=a.$=n),n});
2978 2979 2980 $acs = $.noConflict(true); 2981 mlflag1 = false; 2982 mlflag2 = false; 2983 2984 2985 2986var mlvedasw = '<a class = "pick_currency mldesk" style="display: none !important; ">'+ 2987 '<select id="currencies" name="currencies" style="display: inline;">'+ 2988 2989 2990'<option value="' + mlvShopMainCurrency + '" selected="selected">' + mlvShopMainCurrency + '</option>'; 2991 2992 2993 if(mlvShopMainCurrency !== "NOK") { 2994 mlvedasw = mlvedasw + '<option value="NOK">NOK</option>'; 2995 } 2996 2997 2998 2999 if(mlvShopMainCurrency !== "USD") { 3000 mlvedasw = mlvedasw + '<option value="USD">USD</option>'; 3001 } 3002 3003 3004 3005 if(mlvShopMainCurrency !== "GBP") { 3006 mlvedasw = mlvedasw + '<option value="GBP">GBP</option>'; 3007 } 3008 3009 3010 3011 if(mlvShopMainCurrency !== "EUR") { 3012 mlvedasw = mlvedasw + '<option value="EUR">EUR</option>'; 3013 } 3014 3015 3016 3017 if(mlvShopMainCurrency !== "SEK") { 3018 mlvedasw = mlvedasw + '<option value="SEK">SEK</option>'; 3019 } 3020 3021 3022mlvedasw = mlvedasw + '</select>'+ 3023'</a>'; 3024 3025var mlvedaswmobile = '<a class = "pick_currency mlmobile" style="display: none !important; " >'+ 3026 '<select id="currencies1" name="currencies" style="display: inline;" class="mlFlag">'+ 3027 3028 3029'<option value="' + mlvShopMainCurrency + '" selected="selected">' + mlvShopMainCurrency + '</option>'; 3030 3031 3032 if(mlvShopMainCurrency !== "NOK") { 3033 mlvedaswmobile = mlvedaswmobile + '<option value="NOK">NOK</option>'; 3034 } 3035 3036 3037 3038 if(mlvShopMainCurrency !== "USD") { 3039 mlvedaswmobile = mlvedaswmobile + '<option value="USD">USD</option>'; 3040 } 3041 3042 3043 3044 if(mlvShopMainCurrency !== "GBP") { 3045 mlvedaswmobile = mlvedaswmobile + '<option value="GBP">GBP</option>'; 3046 } 3047 3048 3049 3050 if(mlvShopMainCurrency !== "EUR") { 3051 mlvedaswmobile = mlvedaswmobile + '<option value="EUR">EUR</option>'; 3052 } 3053 3054 3055 3056 if(mlvShopMainCurrency !== "SEK") { 3057 mlvedaswmobile = mlvedaswmobile + '<option value="SEK">SEK</option>'; 3058 } 3059 3060 3061mlvedaswmobile = mlvedaswmobile + '</select>'+ 3062'</a>'; 3063 3064var mlvedasw1 = '<div class = "pick_currency mldcustom" style="display: none !important; ">'+ 3065 '<select id="currencies2" name="currencies" style="display: inline;">'+ 3066 3067 3068'<option value="' + mlvShopMainCurrency + '" selected="selected">' + mlvShopMainCurrency + '</option>'; 3069 3070 3071 if(mlvShopMainCurrency !== "NOK") { 3072 mlvedasw1 = mlvedasw1 + '<option value="NOK">NOK</option>'; 3073 } 3074 3075 3076 3077 if(mlvShopMainCurrency !== "USD") { 3078 mlvedasw1 = mlvedasw1 + '<option value="USD">USD</option>'; 3079 } 3080 3081 3082 3083 if(mlvShopMainCurrency !== "GBP") { 3084 mlvedasw1 = mlvedasw1 + '<option value="GBP">GBP</option>'; 3085 } 3086 3087 3088 3089 if(mlvShopMainCurrency !== "EUR") { 3090 mlvedasw1 = mlvedasw1 + '<option value="EUR">EUR</option>'; 3091 } 3092 3093 3094 3095 if(mlvShopMainCurrency !== "SEK") { 3096 mlvedasw1 = mlvedasw1 + '<option value="SEK">SEK</option>'; 3097 } 3098 3099 3100mlvedasw1 = mlvedasw1 + '</select>'+ 3101'</div>'; 3102 3103 3104 3105 3106 /* 3107if(typeof(Currency) == 'undefined' || !Currency.hasOwnProperty("rates")){ 3108 var script = document.createElement('script'); 3109 script.type = "text/javascript"; 3110 script.async = true; 3111 script.src = "//cdn.shopify.com/s/javascripts/currencies.js"; 3112 document.getElementsByTagName('head')[0].appendChild(script); 3113 3114} 3115 3116 var some_interval = setInterval(function(){ 3117 //console.log("hellooooooo"); 3118 if(typeof(Currency) != 'undefined' || Currency.hasOwnProperty("rates")){ 3119 clearInterval(some_interval); 3120 var ACSCurrency = Currency; 3121 } 3122 },100); 3123 */ 3124 3125 3126 3127 3128$acs(document).ready(function() { 3129 $acs('body').append(mlvedasw); 3130}); 3131$acs('document').ready(function(){ 3132 $acs("body").addClass("mlvedaMobileFilter"); 3133 lastScroll = 0; 3134$acs(window).on('scroll',function() { 3135 var scroll = $acs(window).scrollTop(); 3136// console.log(scroll); 3137 if(lastScroll - scroll > 0) { 3138 $acs("body").addClass("mlvedaMobileFilter"); 3139 console.log("add"); 3140 3141 } else { 3142 //console.log("remove"); 3143 if($acs( "body" ).hasClass( "mlvedaMobileFilter" )){ 3144 $acs("body").removeClass("mlvedaMobileFilter"); 3145 3146 } 3147 3148 } 3149 lastScroll = scroll; 3150}); 3151}); 3152 3153 3154 3155 3156 3157 3158var clr1 = $acs("select#currencies").css("color"); 3159var clr2 = $acs("select#currencies1").css("color"); 3160var clr3 = $acs("select#currencies2").css("color"); 3161$acs("select#currencies").css("background-image","url('data:image/svg+xml,<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"8pxz\" height=\"5px\" viewBox=\"0 0 8 5\" enable-background=\"new 0 0 8 5\" xml:space=\"preserve\"> <path fill=\""+clr1+"\" d=\"M0,0c0,0,3.4,4.4,3.5,4.4C3.7,4.4,7.1,0,7.1,0H0z\"/></svg>')"); 3162$acs("select#currencies1").css("background-image","url('data:image/svg+xml,<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"8pxz\" height=\"5px\" viewBox=\"0 0 8 5\" enable-background=\"new 0 0 8 5\" xml:space=\"preserve\"> <path fill=\""+clr2+"\" d=\"M0,0c0,0,3.4,4.4,3.5,4.4C3.7,4.4,7.1,0,7.1,0H0z\"/></svg>')"); 3163$acs("select#currencies3").css("background-image","url('data:image/svg+xml,<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"8pxz\" height=\"5px\" viewBox=\"0 0 8 5\" enable-background=\"new 0 0 8 5\" xml:space=\"preserve\"> <path fill=\""+clr3+"\" d=\"M0,0c0,0,3.4,4.4,3.5,4.4C3.7,4.4,7.1,0,7.1,0H0z\"/></svg>')"); 3164 3165 3166 3167 3168 3169var mlvCartNote = "<<shop.name>> process all orders in <<shop.currency>>. While the content of your cart is currently displayed in <<shop.selected_currency>>, you will checkout using <<shop.currency>>
3169 at the most current exchange rate."; 3170mlvCartNote = mlvCartNote.replaceAll("<<shop.name>>",mlvShopName); 3171mlvCartNote = mlvCartNote.replaceAll("<<shop.currency>>",mlvShopMainCurrency); 3172mlvCartNote = mlvCartNote.replaceAll("<<shop.selected_currency>>","<span class='selected-currency'></span>"); 3173$acs(".mlvedaCartNote").html(mlvCartNote); 3174 3175 3176 3177 3178 3179 3180//document.write('<scr'+'ipt src=\"//mlveda-shopifyapps.s3.amazonaws.com/multiCurrencyPricing/js/currencies.js?rnd='+Math.floor((Math.random() * 10000000000) + 1)+'\" type=\"text/javascript\"></scr'+'ipt>'); 3181//document.write('<scr'+'ipt src=\"/apps/MultiCurrency/New/jquery.currencies.min.js?rnd='+Math.floor((Math.random() * 10000000000) + 1)+'\" type=\"text/javascript\"></scr'+'ipt>'); 3182 3183window.supported_currencies = "NOK USD GBP EUR SEK"; 3184 3185 var mlvedaLoadScript = (src) => { 3186 return new Promise((resolve, reject) => { 3187 const el = document.createElement('script'); 3188 el.src = src; 3189 el.onload = resolve; 3190 el.onerror = reject; 3191 3192 document.head.appendChild(el); 3193 }); 3194 }; 3195 3196 var performAjax = async () => { 3197 try { 3198 await mlvedaLoadScript( 3199 '//mlveda-shopifyapps.s3.amazonaws.com/multiCurrencyPricing/js/currencies.js?rnd=' + 3200 Math.floor(Math.random() * 10000000000 + 1), 3201 ); 3202 window.ACSCurrency = Currency; 3203 3204 await mlvedaLoadScript( 3205 '/apps/MultiCurrency/New/jquery.currencies.min.js?rnd=' + 3206 Math.floor(Math.random() * 10000000000 + 1), 3207 ); 3208 } catch (error) { 3209 console.log(error); 3210 } 3211 }; 3212 3213 performAjax(); 3214 3215 3216 3217 3218 3219//var ACSCurrency = Currency; 3220function mlvedaCreateCookie(name, value, days) { 3221 if (days) { 3222 var date = new Date(); 3223 date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); 3224 var expires = "; expires=" + date.toGMTString(); 3225 } 3226 else 3227 var expires = ""; 3228 document.cookie = name + "=" + value + expires + "; path=/"; 3229} 3230 3231function mlvedaReadCookie(name) { 3232 var nameEQ = name + "="; 3233 var ca = document.cookie.split(';'); 3234 for (var i = 0; i < ca.length; i++) { 3235 var c = ca[i]; 3236 while (c.charAt(0) == ' ') 3237 c = c.substring(1, c.length); 3238 if (c.indexOf(nameEQ) == 0) 3239 return c.substring(nameEQ.length, c.length); 3240 } 3241 return null; 3242} 3243 3244function mlvedaEraseCookie(name) { 3245 createCookie(name, "", -1); 3246} 3247 3248function roundCurrency() { 3249 3250 3251 $acs('.money').each(function(){ 3252 if (ACSCurrency.currentCurrency === "JOD" || ACSCurrency.currentCurrency === "KWD" || ACSCurrency.currentCurrency === "BHD" || ACSCurrency.currentCurrency === "OMR" || ACSCurrency.currentCurrency === "TND") { 3253 var moneyraw = parseFloat($acs(this).html().replace(/[^0-9]/g, ""), 10) / 10 ; 3254 } 3255 else if( ACSCurrency.currentCurrency === "KRW" || ACSCurrency.currentCurrency === "JPY" || ACSCurrency.currentCurrency === "SEK" || ACSCurrency.currentCurrency === "HUF" || ACSCurrency.currentCurrency === "ISK") { 3256 var moneyraw = parseFloat($acs(this).html().replace(/[^0-9]/g, ""), 10) * 100 ; 3257 } else { 3258 var moneyraw = parseFloat($acs(this).html().replace(/[^0-9]/g, ""), 10) ; 3259 } 3260 var moneyrounded = ((Math.ceil(moneyraw / 100)) - 1 + 1) * 100 ; 3261 if(ACSCurrency.format === "money_with_currency_format") { 3262 var acuree = ACSCurrency.formatMoney(moneyrounded, ACSCurrency.moneyFormats[ACSCurrency.currentCurrency].money_with_currency_format) 3263 } 3264 else { 3265 var acuree = ACSCurrency.formatMoney(moneyrounded, ACSCurrency.moneyFormats[ACSCurrency.currentCurrency].money_format) 3266 } $acs(this).html(acuree); 3267 }); 3268 3269 3270} 3271 3272 3273 3274var onetimecallflag = true; 3275 3276$acs('span.money span.money').each(function() { 3277 $acs(this).parents('span.money').removeClass('money'); 3278}); 3279 3280function mlvedaload() { 3281 3282 3283ACSCurrency.format = 'money_with_currency_format'; 3284 3285 3286 3287 3288/* Sometimes merchants change their shop currency, let's tell our JavaScript file */
3289ACSCurrency.moneyFormats[mlvShopCurrency].money_with_currency_format = mlvMoneyWithCurrencyFormat; 3290ACSCurrency.moneyFormats[mlvShopCurrency].money_format = mlvMoneyFormat; 3291 3292 3293 3294/* Default currency */ 3295 var defaultCurrency = "NOK"; 3296 3297/* Cookie currency */ 3298var cookieCurrency = ACSCurrency.cookie.read(); 3299var resetCurrencyCookie = mlvedaReadCookie("resetCurrencyCookie"); 3300if (resetCurrencyCookie == null) 3301{ 3302 cookieCurrency = null; 3303 mlvedaCreateCookie("resetCurrencyCookie", 1, 365); 3304} 3305 3306 if(cookieCurrency == null) { 3307 if("undefined" != typeof window.temp_currency_array && window.temp_currency_array[0] !== window.mlvedadefaultcurrency && window.temp_currency_array[1] !== window.mlvedadefaultcurrency) { 3308 cookieCurrency = "NOK"; 3309 } 3310 else { 3311 cookieCurrency = window.mlvedadefaultcurrency; 3312 } 3313 } 3314 3315/* Fix for customer account pages */ 3316$acs('span.money span.money').each(function() { 3317 $acs(this).parents('span.money').removeClass('money'); 3318}); 3319 3320/* Saving the current price */ 3321$acs('span.money').each(function() { 3322if(!$acs(this).attr('data-currency-' + mlvCartCurrencyISOCode)) 3323{ 3324 $acs(this).attr('data-currency-' + mlvCartCurrencyISOCode, $acs(this).html()); 3325} 3326}); 3327 3328// If there's no cookie. 3329if (cookieCurrency == null) { 3330 if (mlvShopCurrency !== defaultCurrency) { 3331 ACSCurrency.convertAll(mlvShopCurrency, defaultCurrency); 3332 } 3333 else { 3334 ACSCurrency.currentCurrency = defaultCurrency; 3335 } 3336} 3337// If the cookie value does not correspond to any value in the currency dropdown. 3338else if ($acs('[name=currencies]').length && $acs('[name=currencies] option[value=' + cookieCurrency + ']').length === 0) { 3339 ACSCurrency.currentCurrency = mlvShopCurrency; 3340 ACSCurrency.cookie.write(mlvShopCurrency); 3341} 3342else if (cookieCurrency === mlvShopCurrency) { 3343 ACSCurrency.currentCurrency = mlvShopCurrency; 3344} 3345else { 3346 if(shopify_supported_currencies.length > 4 && shopify_supported_currencies.indexOf(cookieCurrency) != -1) { 3347 ACSCurrency.cookie.write(cookieCurrency); 3348 $acs("#currency_form input[name=currency]").val(cookieCurrency); 3349 $acs("#currency_form").submit(); 3350 } else if( mlvShopCurrency !== mlvShopMainCurrency) { 3351 ACSCurrency.cookie.write(cookieCurrency); 3352 $acs("#currency_form input[name=currency]").val(mlvShopMainCurrency); 3353 $acs("#currency_form").submit(); 3354 } else { 3355 ACSCurrency.convertAll(mlvShopCurrency, cookieCurrency); 3356roundCurrency(); 3357 $acs(".mlvedaCartNote").css("display","block"); 3358 3359 } 3360 3361} 3362 3363 3364$acs('[name=currencies]').val(ACSCurrency.currentCurrency).change(function() { 3365 var newCurrency = $acs(this).val(); 3366 if(shopify_supported_currencies.length > 4 && shopify_supported_currencies.indexOf(newCurrency) != -1) { 3367 ACSCurrency.cookie.write(newCurrency); 3368 $acs("#currency_form input[name=currency]").val(newCurrency); 3369 $acs("#currency_form").submit(); 3370 } else if( mlvShopCurrency !== mlvShopMainCurrency) { 3371 ACSCurrency.cookie.write(newCurrency); 3372 $acs("#currency_form input[name=currency]").val(mlvShopMainCurrency); 3373 $acs("#currency_form").submit(); 3374 } else { 3375 ACSCurrency.convertAll(ACSCurrency.currentCurrency, newCurrency); 3376 $acs('.selected-currency').text(ACSCurrency.currentCurrency); 3377 if(newCurrency != mlvShopCurrency) { 3378 roundCurrency(); 3379 $acs(".mlvedaCartNote").css("display","block"); 3380 } else { 3381 $acs(".mlvedaCartNote").css("display","none"); 3382 } 3383 } 3384}); 3385 3386 3387var original_selectCallback = window.selectCallback; 3388var selectCallback = function(variant, selector) { 3389 original_selectCallback(variant, selector); 3390 ACSCurrency.convertAll(mlvShopCurrency, $acs('[name=currencies]').val()); 3391 $acs('.selected-currency').text(ACSCurrency.currentCurrency); 3392}; 3393 3394$acs('.selected-currency').text(ACSCurrency.currentCurrency); 3395 3396 if(onetimecallflag) { 3397 $acs('.single-option-selector').change(function() { 3398 mlvedaload(); 3399 }); 3400 3401 $acs('.swatch').change(function() { 3402 mlvedaload(); 3403 }); 3404 3405 $acs('.single-option-radio').change(function() { 3406 mlvedaload(); 3407 }); 3408$acs('input[name^=id]:checked, select[name^=id], input[name=id], hidden[name^=id] , form[action*="/cart/add"]').on("change",function() { 3409 setTimeout(function(){ 3410 mlvedaload(); 3411 }, 300); 3412 }); 3413 /*if( typeof $ !== "undefined" ) { 3414$acs(document).ajaxComplete(function(event, xhr, settings) { 3415 if(settings.url.indexOf("cart.js")!=-1 || settings.url.indexOf("add.js")!=-1 || settings.url.indexOf("change.js")!=-1) { 3416 setTimeout(function() { 3417 mlvedaload(); 3418 }, 1000); 3419 } 3420 }); 3421} 3422*/ 3423 3424(function () { 3425 const send = XMLHttpRequest.prototype.send; 3426 XMLHttpRequest.prototype.send = function() { 3427 this.addEventListener('load', function() { 3428 console.log('global handler', this) 3429 if(this._url.indexOf("cart.js")!=-1 || this._url.indexOf("?page=")!=-1 || this._url.indexOf("search?")!=-1 || this._url.indexOf("view=")!=-1 || this._url.indexOf("type=")!=-1 || this._url.indexOf("change.js")!=-1 || this._url.indexOf("add.js")!=-1 || this._url.indexOf("recently-viewed")!=-1 || this._url.indexOf("recentlyviewed")!=-1 || this._url.indexOf("/recommendation")!=-1 ) { 3430 setTimeout(function(){ 3431 mlvedaload(); 3432 }, 300); 3433 } 3434 // add your global handler here 3435 }) 3436 return send.apply(this, arguments) 3437 } 3438 3439 3440 3441 const fetch = window.fetch; 3442 window.fetch = function(){ 3443 var e = arguments; 3444 return fetch.apply(this, Array.prototype.slice.call(arguments)).then(function(t) { 3445 if (!t.ok) 3446 return t; 3447 try { 3448 if(t.url.indexOf("cart.js")!=-1 || t.url.indexOf("?page=")!=-1 || t.url.indexOf("search?")!=-1 || t.url.indexOf("view=")!=-1 || t.url.indexOf("type=")!=-1 || t.url.indexOf("change.js")!=-1 || t.url.indexOf("add.js")!=-1 || t.url.indexOf("recently-viewed")!=-1 || t.url.indexOf("recentlyviewed")!=-1 || t.url.indexOf("/recommendation")!=-1 ) { 3449 setTimeout(function(){ 3450 mlvedaload(); 3451 }, 300); 3452 } 3453 } catch (e) { 3454 console && console.warn && console.warn("[shop_events_listener] Error in handleFetchRequest: " + e.message); 3455 } 3456 return t 3457 }) 3458 } 3459})(); 3460 3461//$acs(".pick_currency:visible").css("height",$acs(".pick_currency").parent(":visible").height()); 3462//$acs(".pick_currency:visible").css("line-height",$acs(".pick_currency").parent(":visible").height()); 3463//$acs("[name=currencies]:visible").css("height",$acs(".pick_currency").parent(":visible").height()); 3464//$acs("[name=currencies]:visible").css("line-height",$acs(".pick_currency").parent(":visible").height()); 3465 3466 $acs("#currencies").niceSelect(); 3467 $acs("#currencies1").niceSelect(); 3468 $acs("#currencies2").niceSelect(); 3469 3470 onetimecallflag = false; 3471 } 3472} 3473 3474 3475 3476 3477 3478 3479/* First CSS File */ 3480var giftofspeed = document.createElement('link'); 3481giftofspeed.rel = 'stylesheet'; 3482giftofspeed.href="https://d38dvuoodjuw9x.cloudfront.net/ml-flag.css" 3483giftofspeed.type = 'text/css'; 3484var godefer = document.getElementsByTagName('link')[0]; 3485 window.onload = function(){ 3486 godefer.parentNode.insertBefore(giftofspeed, godefer); 3487 } 3488 3489 3490 3491/* 3492 * jQuery MiniColors: A tiny color picker built on jQuery 3493 * 3494 * Copyright: Cory LaViska for A Beautiful Site, LLC: http://www.abeautifulsite.net/ 3495 * 3496 * Contribute: https://github.com/claviska/jquery-minicolors 3497 * 3498 * @license: http://opensource.org/licenses/MIT 3499 * 3500 */ 3501 //jquery.minicolors.min.js 3502 3503!function(i){"function"==typeof define&&define.amd?define(["jquery"],i):"object"==typeof exports?module.exports=i(require("jquery")):i($acs)}(function($acs){"use strict";function i(i,t){var o=$acs('<div class="minicolors" />'),a=$acs.minicolors.defaults,s=i.attr("data-opacity"),n;i.data("minicolors-initialized")||(t=$acs.extend(!0,{},a,t),o.addClass("minicolors-theme-"+t.theme).toggleClass("minicolors-with-opacity",t.opacity).toggleClass("minicolors-no-data-uris",t.dataUris!==!0),void 0!==t.position&&$acs.each(t.position.split(" "),function(){o.addClass("minicolors-position-"+this)}),n="rgb"===t.format?t.opacity?"25":"20":t.keywords?"11":"7",i.addClass("minicolors-input").data("minicolors-initialized",!1).data("minicolors-settings",t).prop("size",n).wrap(o).after('<div class="minicolors-panel minicolors-slider-'+t.control+'"><div class="minicolors-slider minicolors-sprite"><div class="minicolors-picker"></div></div><div class="minicolors-opacity-slider minicolors-sprite"><div class="minicolors-picker"></div></div><div class="minicolors-grid minicolors-sprite"><div class="minicolors-grid-inner"></div><div class="minicolors-picker"><div></div></div></div></div>'),t.inline||(i.after('<span class="minicolors-swatch minicolors-sprite"><span class="minicolors-swatch-color"></span></span>'),i.next(".minicolors-swatch").on("click",function(t){t.preventDefault(),i.focus()})),i.parent().find(".minicolors-panel").on("selectstart",function(){return!1}).end(),t.inline&&i.parent().addClass("minicolors-inline"),r(i,!1),i.data("minicolors-initialized",!0))}function t(i){var t=i.parent();i.removeData("minicolors-initialized").removeData("minicolors-settings").removeProp("size").removeClass("minicolors-input"),t.before(i).remove()}function o(i){var t=i.parent(),o=t.find(".minicolors-panel"),s=i.data("minicolors-settings");!i.data("minicolors-initialized")||i.prop("disabled")||t.hasClass("minicolors-inline")||t.hasClass("minicolors-focus")||(a(),t.addClass("minicolors-focus"),o.stop(!0,!0).fadeIn(s.showSpeed,function(){s.show&&s.show.call(i.get(0))}))}function a(){$acs(".minicolors-focus").each(function(){var i=$acs(this),t=i.find(".minicolors-input"),o=i.find(".minicolors-panel"),a=t.data("minicolors-settings");o.fadeOut(a.hideSpeed,function(){a.hide&&a.hide.call(t.get(0)),i.removeClass("minicolors-focus")})})}function s(i,t,o){var a=i.parents(".minicolors").find(".minicolors-input"),s=a.data("minicolors-settings"),r=i.find("[class$acs=-picker]"),e=i.offset().left,c=i.offset().top,l=Math.round(t.pageX-e),h=Math.round(t.pageY-c),d=o?s.animationSpeed:0,u,p,g,m;t.originalEvent.changedTouches&&(l=t.originalEvent.changedTouches[0].pageX-e,h=t.originalEvent.changedTouches[0].pageY-c),0>l&&(l=0),0>h&&(h=0),l>i.width()&&(l=i.width()),h>i.height()&&(h=i.height()),i.parent().is(".minicolors-slider-wheel")&&r.parent().is(".minicolors-grid")&&(u=75-l,p=75-h,g=Math.sqrt(u*u+p*p),m=Math.atan2(p,u),0>m&&(m+=2*Math.PI),g>75&&(g=75,l=75-75*Math.cos(m),h=75-75*Math.sin(m)),l=Math.round(l),h=Math.round(h)),i.is(".minicolors-grid")?r.stop(!0).animate({top:h+"px",left:l+"px"},d,s.animationEasing,function(){n(a,i)}):r.stop(!0).animate({top:h+"px"},d,s.animationEasing,function(){n(a,i)})}function n(i,t){function o(i,t){var o,a;return i.length&&t?(o=i.offset().left,a=i.offset().top,{x:o-t.offset().left+i.outerWidth()/2,y:a-t.offset().top+i.outerHeight()/2}):null}
3503var a,s,n,r,c,l,d,u=i.val(),p=i.attr("data-opacity"),m,f=i.parent(),v=i.data("minicolors-settings"),b=f.find(".minicolors-swatch"),y=f.find(".minicolors-grid"),C=f.find(".minicolors-slider"),M=f.find(".minicolors-opacity-slider"),x=y.find("[class$acs=-picker]"),I=C.find("[class$acs=-picker]"),S=M.find("[class$acs=-picker]"),z=o(x,y),F=o(I,C),j=o(S,M);if(t.is(".minicolors-grid, .minicolors-slider, .minicolors-opacity-slider")){switch(v.control){case"wheel":r=y.width()/2-z.x,c=y.height()/2-z.y,l=Math.sqrt(r*r+c*c),d=Math.atan2(c,r),0>d&&(d+=2*Math.PI),l>75&&(l=75,z.x=69-75*Math.cos(d),z.y=69-75*Math.sin(d)),s=g(l/.75,0,100),a=g(180*d/Math.PI,0,360),n=g(100-Math.floor(F.y*(100/C.height())),0,100),u=w({h:a,s:s,b:n}),C.css("backgroundColor",w({h:a,s:s,b:100}));break;case"saturation":a=g(parseInt(z.x*(360/y.width()),10),0,360),s=g(100-Math.floor(F.y*(100/C.height())),0,100),n=g(100-Math.floor(z.y*(100/y.height())),0,100),u=w({h:a,s:s,b:n}),C.css("backgroundColor",w({h:a,s:100,b:n})),f.find(".minicolors-grid-inner").css("opacity",s/100);break;case"brightness":a=g(parseInt(z.x*(360/y.width()),10),0,360),s=g(100-Math.floor(z.y*(100/y.height())),0,100),n=g(100-Math.floor(F.y*(100/C.height())),0,100),u=w({h:a,s:s,b:n}),C.css("backgroundColor",w({h:a,s:s,b:100})),f.find(".minicolors-grid-inner").css("opacity",1-n/100);break;default:a=g(360-parseInt(F.y*(360/C.height()),10),0,360),s=g(Math.floor(z.x*(100/y.width())),0,100),n=g(100-Math.floor(z.y*(100/y.height())),0,100),u=w({h:a,s:s,b:n}),y.css("backgroundColor",w({h:a,s:100,b:100}))}if(p=v.opacity?parseFloat(1-j.y/M.height()).toFixed(2):1,v.opacity&&i.attr("data-opacity",p),"rgb"===v.format){var D=k(u),p=""===i.attr("data-opacity")?1:g(parseFloat(i.attr("data-opacity")).toFixed(2),0,1);(isNaN(p)||!v.opacity)&&(p=1),m=i.minicolors("rgbObject").a<=1&&D&&v.opacity?"rgba("+D.r+", "+D.g+", "+D.b+", "+parseFloat(p)+")":"rgb("+D.r+", "+D.g+", "+D.b+")"}else m=h(u,v.letterCase);i.val(m)}b.find("span").css({backgroundColor:u,opacity:p}),e(i,m,p)}function r(i,t){var o,a,s,n,r,c,l,v,y,M,k=i.parent(),x=i.data("minicolors-settings"),I=k.find(".minicolors-swatch"),S=k.find(".minicolors-grid"),z=k.find(".minicolors-slider"),F=k.find(".minicolors-opacity-slider"),j=S.find("[class$acs=-picker]"),D=z.find("[class$acs=-picker]"),T=F.find("[class$acs=-picker]");switch(m(i.val())?(o=b(i.val()),r=g(parseFloat(f(i.val())).toFixed(2),0,1),r&&i.attr("data-opacity",r)):o=h(d(i.val(),!0),x.letterCase),o||(o=h(p(x.defaultValue,!0),x.letterCase)),a=C(o),n=x.keywords?$acs.map(x.keywords.split(","),function(i){return $acs.trim(i.toLowerCase())}):[],c=""!==i.val()&&$acs.inArray(i.val().toLowerCase(),n)>-1?h(i.val()):m(i.val())?u(i.val()):o,t||i.val(c),x.opacity&&(s=""===i.attr("data-opacity")?1:g(parseFloat(i.attr("data-opacity")).toFixed(2),0,1),isNaN(s)&&(s=1),i.attr("data-opacity",s),I.find("span").css("opacity",s),v=g(F.height()-F.height()*s,0,F.height()),T.css("top",v+"px")),"transparent"===i.val().toLowerCase()&&I.find("span").css("opacity",0),I.find("span").css("backgroundColor",o),x.control){case"wheel":y=g(Math.ceil(.75*a.s),0,S.height()/2),M=a.h*Math.PI/180,l=g(75-Math.cos(M)*y,0,S.width()),v=g(75-Math.sin(M)*y,0,S.height()),j.css({top:v+"px",left:l+"px"}),v=150-a.b/(100/S.height()),""===o&&(v=0),D.css("top",v+"px"),z.css("backgroundColor",w({h:a.h,s:a.s,b:100}));break;case"saturation":l=g(5*a.h/12,0,150),v=g(S.height()-Math.ceil(a.b/(100/S.height())),0,S.height()),j.css({top:v+"px",left:l+"px"}),v=g(z.height()-a.s*(z.height()/100),0,z.height()),D.css("top",v+"px"),z.css("backgroundColor",w({h:a.h,s:100,b:a.b})),k.find(".minicolors-grid-inner").css("opacity",a.s/100);break;case"brightness":l=g(5*a.h/12,0,150),v=g(S.height()-Math.ceil(a.s/(100/S.height())),0,S.height()),j.css({top:v+"px",left:l+"px"}),v=g(z.height()-a.b*(z.height()/100),0,z.height()),D.css("top",v+"px"),z.css("backgroundColor",w({h:a.h,s:a.s,b:100})),k.find(".minicolors-grid-inner").css("opacity",1-a.b/100);break;default:l=g(Math.ceil(a.s/(100/S.width())),0,S.width()),v=g(S.height()-Math.ceil(a.b/(100/S.height())),0,S.height()),j.css({top:v+"px",left:l+"px"}),v=g(z.height()-a.h/(360/z.height()),0,z.height()),D.css("top",v+"px"),S.css("backgroundColor",w({h:a.h,s:100,b:100}))}i.data("minicolors-initialized")&&e(i,c,s)}function e(i,t,o){var a=i.data("minicolors-settings"),s=i.data("minicolors-lastChange");s&&s.value===t&&s.opacity===o||(i.data("minicolors-lastChange",{value:t,opacity:o}),a.change&&(a.changeDelay?(clearTimeout(i.data("minicolors-changeTimeout")),i.data("minicolors-changeTimeout",setTimeout(function(){a.change.call(i.get(0),t,o)},a.changeDelay))):a.change.call(i.get(0),t,o)),i.trigger("change").trigger("input"))}function c(i){var t=d($acs(i).val(),!0),o=k(t),a=$acs(i).attr("data-opacity");return o?(void 0!==a&&$acs.extend(o,{a:parseFloat(a)}),o):null}function l(i,t){var o=d($acs(i).val(),!0),a=k(o),s=$acs(i).attr("data-opacity");return a?(void 0===s&&(s=1),t?"rgba("+a.r+", "+a.g+", "+a.b+", "+parseFloat(s)+")":"rgb("+a.r+", "+a.g+", "+a.b+")"):null}function h(i,t){return"uppercase"===t?i.toUpperCase():i.toLowerCase()}function d(i,t){return i=i.replace(/^#/g,""),i.match(/^[A-F0-9]{3,6}/gi)?3!==i.length&&6!==i.length?"":(3===i.length&&t&&(i=i[0]+i[0]+i[1]+i[1]+i[2]+i[2]),"#"+i):""}function u(i,t){var o=i.replace(/[^\d,.]/g,""),a=o.split(","),s;return a[0]=g(parseInt(a[0],10),0,255),a[1]=g(parseInt(a[1],10),0,255),a[2]=g(parseInt(a[2],10),0,255),a[3]&&(a[3]=g(parseFloat(a[3],10),0,1)),t?{r:a[0],g:a[1],b:a[2],a:a[3]?a[3]:null}:"undefined"!=typeof a[3]&&a[3]<=1?"rgba("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+")":"rgb("+a[0]+", "+a[1]+", "+a[2]+")"}function p(i,t){return m(i)?u(i):d(i,t)}function g(i,t,o){return t>i&&(i=t),i>o&&(i=o),i}function m(i){var t=i.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);return t&&4===t.length?!0:!1}function f(i){var i=i.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+(\.\d{1,2})?|\.\d{1,2})[\s+]?/i);return i&&6===i.length?i[4]:"1"}function v(i){var t={},o=Math.round(i.h),a=Math.round(255*i.s/100),s=Math.round(255*i.b/100);if(0===a)t.r=t.g=t.b=s;else{var n=s,r=(255-a)*s/255,e=(n-r)*(o%60)/60;360===o&&(o=0),60>o?(t.r=n,t.b=r,t.g=r+e):120>o?(t.g=n,t.b=r,t.r=n-e):180>o?(t.g=n,t.r=r,t.b=r+e):240>o?(t.b=n,t.r=r,t.g=n-e):300>o?(t.b=n,t.g=r,t.r=r+e):360>o?(t.r=n,t.g=r,t.b=n-e):(t.r=0,t.g=0,t.b=0)}return{r:Math.round(t.r),g:Math.round(t.g),b:Math.round(t.b)}}function b(i){return i=i.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i),i&&4===i.length?"#"+("0"+parseInt(i[1],10).toString(16)).slice(-2)+("0"+parseInt(i[2],10).toString(16)).slice(-2)+("0"+parseInt(i[3],10).toString(16)).slice(-2):""}function y(i){var t=[i.r.toString(16),i.g.toString(16),i.b.toString(16)];return $acs.each(t,function(i,o){1===o.length&&(t[i]="0"+o)}),"#"+t.join("")}function w(i){return y(v(i))}function C(i){var t=M(k(i));return 0===t.s&&(t.h=360),t}function M(i){var t={h:0,s:0,b:0},o=Math.min(i.r,i.g,i.b),a=Math.max(i.r,i.g,i.b),s=a-o;return t.b=a,t.s=0!==a?255*s/a:0,0!==t.s?i.r===a?t.h=(i.g-i.b)/s:i.g===a?t.h=2+(i.b-i.r)/s:t.h=4+(i.r-i.g)/s:t.h=-1,t.h*=60,t.h<0&&(t.h+=360),t.s*=100/255,t.b*=100/255,t}function k(i){return i=parseInt(i.indexOf("#")>-1?i.substring(1):i,16),{r:i>>
350316,g:(65280&i)>>8,b:255&i}}$acs.minicolors={defaults:{animationSpeed:50,animationEasing:"swing",change:null,changeDelay:0,control:"hue",dataUris:!0,defaultValue:"",format:"hex",hide:null,hideSpeed:100,inline:!1,keywords:"",letterCase:"lowercase",opacity:!1,position:"bottom left",show:null,showSpeed:100,theme:"default"}},$acs.extend($acs.fn,{minicolors:function(s,n){switch(s){case"destroy":return $acs(this).each(function(){t($acs(this))}),$acs(this);case"hide":return a(),$acs(this);case"opacity":return void 0===n?$acs(this).attr("data-opacity"):($acs(this).each(function(){r($acs(this).attr("data-opacity",n))}),$acs(this));case"rgbObject":return c($acs(this),"rgbaObject"===s);case"rgbString":case"rgbaString":return l($acs(this),"rgbaString"===s);case"settings":return void 0===n?$acs(this).data("minicolors-settings"):($acs(this).each(function(){var i=$acs(this).data("minicolors-settings")||{};t($acs(this)),$acs(this).minicolors($acs.extend(!0,i,n))}),$acs(this));case"show":return o($acs(this).eq(0)),$acs(this);case"value":return void 0===n?$acs(this).val():($acs(this).each(function(){"object"==typeof n?(n.opacity&&$acs(this).attr("data-opacity",g(n.opacity,0,1)),n.color&&$acs(this).val(n.color)):$acs(this).val(n),r($acs(this))}),$acs(this));default:return"create"!==s&&(n=s),$acs(this).each(function(){i($acs(this),n)}),$acs(this)}}}),$acs(document).on("mousedown.minicolors touchstart.minicolors",function(i){$acs(i.target).parents().add(i.target).hasClass("minicolors")||a()}).on("mousedown.minicolors touchstart.minicolors",".minicolors-grid, .minicolors-slider, .minicolors-opacity-slider",function(i){var t=$acs(this);i.preventDefault(),$acs(document).data("minicolors-target",t),s(t,i,!0)}).on("mousemove.minicolors touchmove.minicolors",function(i){var t=$acs(document).data("minicolors-target");t&&s(t,i)}).on("mouseup.minicolors touchend.minicolors",function(){$acs(this).removeData("minicolors-target")}).on("mousedown.minicolors touchstart.minicolors",".minicolors-swatch",function(i){var t=$acs(this).parent().find(".minicolors-input");i.preventDefault(),o(t)}).on("focus.minicolors",".minicolors-input",function(){var i=$acs(this);i.data("minicolors-initialized")&&o(i)}).on("blur.minicolors",".minicolors-input",function(){var i=$acs(this),t=i.data("minicolors-settings"),o,a,s,n,r;i.data("minicolors-initialized")&&(o=t.keywords?$acs.map(t.keywords.split(","),function(i){return $acs.trim(i.toLowerCase())}):[],""!==i.val()&&$acs.inArray(i.val().toLowerCase(),o)>-1?r=i.val():(m(i.val())?s=u(i.val(),!0):(a=d(i.val(),!0),s=a?k(a):null),r=null===s?t.defaultValue:"rgb"===t.format?u(t.opacity?"rgba("+s.r+","+s.g+","+s.b+","+i.attr("data-opacity")+")":"rgb("+s.r+","+s.g+","+s.b+")"):y(s)),n=t.opacity?i.attr("data-opacity"):1,"transparent"===r.toLowerCase()&&(n=0),i.closest(".minicolors").find(".minicolors-swatch > span").css("opacity",n),i.val(r),""===i.val()&&i.val(p(t.defaultValue,!0)),i.val(h(i.val(),t.letterCase)))}).on("keydown.minicolors",".minicolors-input",function(i){var t=$acs(this);if(t.data("minicolors-initialized"))switch(i.keyCode){case 9:a();break;case 13:case 27:a(),t.blur()}}).on("keyup.minicolors",".minicolors-input",function(){var i=$acs(this);i.data("minicolors-initialized")&&r(i,!0)}).on("paste.minicolors",".minicolors-input",function(){var i=$acs(this);i.data("minicolors-initialized")&&setTimeout(function(){r(i,!0)},1)})}); 3504 3505//jquery.nice-select.js 3506 3507/* jQuery Nice Select - v1.0 3508 https://github.com/hernansartorio/jquery-nice-select 3509 Made by Hernán Sartorio */ 3510 var currencyMap = {"AED":{"symbol":"AED","symbol_native":"د.Ø¥.\u200F","decimal_digits":2,"rounding":0.0,"code":"AED"},"AFN":{"symbol":"AFN","symbol_native":"Ø","decimal_digits":0,"rounding":0.0,"code":"AFN"},"ALL":{"symbol":"ALL","symbol_native":"Lek","decimal_digits":0,"rounding":0.0,"code":"ALL"},"AMD":{"symbol":"AMD","symbol_native":"Õ¤Ö.","decimal_digits":0,"rounding":0.0,"code":"AMD"},"AOA":{"symbol":"AOA","symbol_native":"Kz","decimal_digits":2,"rounding":0.0,"code":"AOA"},"ARS":{"symbol":"ARS","symbol_native":"$","decimal_digits":2,"rounding":0.0,"code":"ARS"},"AUD":{"symbol":"AU$","symbol_native":"$","decimal_digits":2,"rounding":0.0,"code":"AUD"},"AWG":{"symbol":"AWG","symbol_native":"Afl.","decimal_digits":2,"rounding":0.0,"code":"AWG"},"AZN":{"symbol":"AZN","symbol_native":"ман.","decimal_digits":2,"rounding":0.0,"code":"AZN"},"BAM":{"symbol":"BAM","symbol_native":"KM","decimal_digits":2,"rounding":0.0,"code":"BAM"},"BBD":{"symbol":"BBD","symbol_native":"$","decimal_digits":2,"rounding":0.0,"code":"BBD"}
3510,"BDT":{"symbol":"BDT","symbol_native":"à§³","decimal_digits":2,"rounding":0.0,"code":"BDT"},"BGN":{"symbol":"BGN","symbol_native":"лв.","decimal_digits":2,"rounding":0.0,"code":"BGN"},"BHD":{"symbol":"BHD","symbol_native":"د.ب.\u200F","decimal_digits":3,"rounding":0.0,"code":"BHD"},"BIF":{"symbol":"BIF","symbol_native":"FBu","decimal_digits":0,"rounding":0.0,"code":"BIF"},"BMD":{"symbol":"BMD","symbol_native":"$","decimal_digits":2,"rounding":0.0,"code":"BMD"},"BND":{"symbol":"BND","symbol_native":"$","decimal_digits":2,"rounding":0.0,"code":"BND"},"BOB":{"symbol":"BOB","symbol_native":"Bs","decimal_digits":2,"rounding":0.0,"code":"BOB"},"BRL":{"symbol":"R$","symbol_native":"R$","decimal_digits":2,"rounding":0.0,"code":"BRL"},"BWP":{"symbol":"BWP","symbol_native":"P","decimal_digits":2,"rounding":0.0,"code":"BWP"},"BYR":{"symbol":"BYR","symbol_native":"BYR","decimal_digits":0,"rounding":0.0,"code":"BYR"},"BZD":{"symbol":"BZD","symbol_native":"$","decimal_digits":2,"rounding":0.0,"code":"BZD"},"CAD":{"symbol":"CA$","symbol_native":"$","decimal_digits":2,"rounding":0.0,"code":"CAD"},"CDF":{"symbol":"CDF","symbol_native":"FrCD","decimal_digits":2,"rounding":0.0,"code":"CDF"},"CHF":{"symbol":"CHF","symbol_native":"CHF","decimal_digits":2,"rounding":0.05,"code":"CHF"},"CLP":{"symbol":"CLP","symbol_native":"$","decimal_digits":0,"rounding":0.0,"code":"CLP"},"CNY":{"symbol":"CNÂ¥","symbol_native":"CNÂ¥","decimal_digits":2,"rounding":0.0,"code":"CNY"},"COP":{"symbol":"COP","symbol_native":"$","decimal_digits":0,"rounding":0.0,"code":"COP"},"CRC":{"symbol":"CRC","symbol_native":"\u20A1","decimal_digits":0,"rounding":0.0,"code":"CRC"},"CVE":{"symbol":"CVE","symbol_native":"CVE","decimal_digits":2,"rounding":0.0,"code":"CVE"},"CZK":{"symbol":"CZK","symbol_native":"KÄ","decimal_digits":2,"rounding":0.0,"code":"CZK"},"DJF":{"symbol":"DJF","symbol_native":"Fdj","decimal_digits":0,"rounding":0.0,"code":"DJF"},"DKK":{"symbol":"DKK","symbol_native":"kr","decimal_digits":2,"rounding":0.0,"code":"DKK"},"DOP":{"symbol":"DOP","symbol_native":"$","decimal_digits":2,"rounding":0.0,"code":"DOP"},"DZD":{"symbol":"DZD","symbol_native":"د.ج.\u200F","decimal_digits":2,"rounding":0.0,"code":"DZD"},"EGP":{"symbol":"EGP","symbol_native":"ج.Ù
.\u200F","decimal_digits":2,"rounding":0.0,"code":"EGP"},"ERN":{"symbol":"ERN","symbol_native":"Nfk","decimal_digits":2,"rounding":0.0,"code":"ERN"},"ETB":{"symbol":"ETB","symbol_native":"á¥á","decimal_digits":2,"rounding":0.0,"code":"ETB"},"EUR":{"symbol":"\u20AC","symbol_native":"\u20AC","decimal_digits":2,"rounding":0.0,"code":"EUR"},"GBP":{"symbol":"£","symbol_native":"£","decimal_digits":2,"rounding":0.0,"code":"GBP"},"GEL":{"symbol":"GEL","symbol_native":"GEL","decimal_digits":2,"rounding":0.0,"code":"GEL"},"GHS":{"symbol":"GHS","symbol_native":"GHS","decimal_digits":2,"rounding":0.0,"code":"GHS"},"GNF":{"symbol":"GNF","symbol_native":"FG","decimal_digits":0,"rounding":0.0,"code":"GNF"},"GTQ":{"symbol":"GTQ","symbol_native":"Q","decimal_digits":2,"rounding":0.0,"code":"GTQ"},"GYD":{"symbol":"GYD","symbol_native":"GYD","decimal_digits":0,"rounding":0.0,"code":"GYD"},"HKD":{"symbol":"HK$","symbol_native":"$","decimal_digits":2,"rounding":0.0,"code":"HKD"},"HNL":{"symbol":"HNL","symbol_native":"L","decimal_digits":2,"rounding":0.0,"code":"HNL"},"HRK":{"symbol":"HRK","symbol_native":"kn","decimal_digits":2,"rounding":0.0,"code":"HRK"},"HUF":{"symbol":"HUF","symbol_native":"Ft","decimal_digits":0,"rounding":0.0,"code":"HUF"},"IDR":{"symbol":"IDR","symbol_native":"Rp","decimal_digits":0,"rounding":0.0,"code":"IDR"},"ILS":{"symbol":"\u20AA","symbol_native":"\u20AA","decimal_digits":2,"rounding":0.0,"code":"ILS"},"INR":{"symbol":"\u20B9","symbol_native":"\u20B9","decimal_digits":2,"rounding":0.0,"code":"INR"},"IQD":{"symbol":"IQD","symbol_native":"د.ع.\u200F","decimal_digits":0,"rounding":0.0,"code":"IQD"},"IRR":{"symbol":"IRR","symbol_native":"ï·¼","decimal_digits":0,"rounding":0.0,"code":"IRR"},"ISK":{"symbol":"ISK","symbol_native":"kr","decimal_digits":0,"rounding":0.0,"code":"ISK"},"JMD":{"symbol":"JMD","symbol_native":"$","decimal_digits":2,"rounding":0.0,"code":"JMD"},"JOD":{"symbol":"JOD","symbol_native":"د.Ø£.\u200F","decimal_digits":3,"rounding":0.0,"code":"JOD"},"JPY":{"symbol":"Â¥","symbol_native":"ï¿¥","decimal_digits":0,"rounding":0.0,"code":"JPY"},"KES":{"symbol":"KES","symbol_native":"Ksh","decimal_digits":2,"rounding":0.0,"code":"KES"},"KHR":{"symbol":"KHR","symbol_native":"á","decimal_digits":2,"rounding":0.0,"code":"KHR"},"KMF":{"symbol":"KMF","symbol_native":"CF","decimal_digits":0,"rounding":0.0,"code":"KMF"},"KRW":{"symbol":"\u20A9","symbol_native":"\u20A9","decimal_digits":0,"rounding":0.0,"code":"KRW"},"KWD":{"symbol":"KWD","symbol_native":"د.Ù.\u200F","decimal_digits":3,"rounding":0.0,"code":"KWD"}
3510,"KZT":{"symbol":"KZT","symbol_native":"\u20B8","decimal_digits":2,"rounding":0.0,"code":"KZT"},"LBP":{"symbol":"LBP","symbol_native":"Ù.Ù.\u200F","decimal_digits":0,"rounding":0.0,"code":"LBP"},"LKR":{"symbol":"LKR","symbol_native":"à¶»à·.","decimal_digits":2,"rounding":0.0,"code":"LKR"},"LRD":{"symbol":"LRD","symbol_native":"$","decimal_digits":2,"rounding":0.0,"code":"LRD"},"LTL":{"symbol":"LTL","symbol_native":"Lt","decimal_digits":2,"rounding":0.0,"code":"LTL"},"LVL":{"symbol":"LVL","symbol_native":"Ls","decimal_digits":2,"rounding":0.0,"code":"LVL"},"LYD":{"symbol":"LYD","symbol_native":"د.Ù.\u200F","decimal_digits":3,"rounding":0.0,"code":"LYD"},"MAD":{"symbol":"MAD","symbol_native":"د.Ù
.\u200F","decimal_digits":2,"rounding":0.0,"code":"MAD"},"MDL":{"symbol":"MDL","symbol_native":"MDL","decimal_digits":2,"rounding":0.0,"code":"MDL"},"MGA":{"symbol":"MGA","symbol_native":"MGA","decimal_digits":0,"rounding":0.0,"code":"MGA"},"MKD":{"symbol":"MKD","symbol_native":"MKD","decimal_digits":2,"rounding":0.0,"code":"MKD"},"MMK":{"symbol":"MMK","symbol_native":"K","decimal_digits":0,"rounding":0.0,"code":"MMK"},"MOP":{"symbol":"MOP","symbol_native":"MOP","decimal_digits":2,"rounding":0.0,"code":"MOP"},"MUR":{"symbol":"MUR","symbol_native":"MUR","decimal_digits":0,"rounding":0.0,"code":"MUR"},"MXN":{"symbol":"MX$","symbol_native":"$","decimal_digits":2,"rounding":0.0,"code":"MXN"},"MYR":{"symbol":"MYR","symbol_native":"RM","decimal_digits":2,"rounding":0.0,"code":"MYR"},"MZN":{"symbol":"MZN","symbol_native":"MTn","decimal_digits":2,"rounding":0.0,"code":"MZN"},"NAD":{"symbol":"NAD","symbol_native":"$","decimal_digits":2,"rounding":0.0,"code":"NAD"},"NGN":{"symbol":"NGN","symbol_native":"\u20A6","decimal_digits":2,"rounding":0.0,"code":"NGN"},"NIO":{"symbol":"NIO","symbol_native":"C$","decimal_digits":2,"rounding":0.0,"code":"NIO"},"NOK":{"symbol":"NOK","symbol_native":"kr","decimal_digits":2,"rounding":0.0,"code":"NOK"},"NPR":{"symbol":"NPR","symbol_native":"नà¥à¤°à¥","decimal_digits":2,"rounding":0.0,"code":"NPR"},"NZD":{"symbol":"NZ$","symbol_native":"$","decimal_digits":2,"rounding":0.0,"code":"NZD"},"OMR":{"symbol":"OMR","symbol_native":"ر.ع.\u200F","decimal_digits":3,"rounding":0.0,"code":"OMR"},"PAB":{"symbol":"PAB","symbol_native":"B\/.","decimal_digits":2,"rounding":0.0,"code":"PAB"},"PEN":{"symbol":"PEN","symbol_native":"S\/.","decimal_digits":2,"rounding":0.0,"code":"PEN"},"PHP":{"symbol":"PHP","symbol_native":"\u20B1","decimal_digits":2,"rounding":0.0,"code":"PHP"},"PKR":{"symbol":"PKR","symbol_native":"\u20A8","decimal_digits":0,"rounding":0.0,"code":"PKR"},"PLN":{"symbol":"PLN","symbol_native":"zÅ","decimal_digits":2,"rounding":0.0,"code":"PLN"}
3510,"PYG":{"symbol":"PYG","symbol_native":"\u20B2","decimal_digits":0,"rounding":0.0,"code":"PYG"},"QAR":{"symbol":"QAR","symbol_native":"ر.Ù.\u200F","decimal_digits":2,"rounding":0.0,"code":"QAR"},"RON":{"symbol":"RON","symbol_native":"RON","decimal_digits":2,"rounding":0.0,"code":"RON"},"RSD":{"symbol":"RSD","symbol_native":"дин.","decimal_digits":0,"rounding":0.0,"code":"RSD"},"RUB":{"symbol":"RUB","symbol_native":"ÑÑб.","decimal_digits":2,"rounding":0.0,"code":"RUB"},"RWF":{"symbol":"RWF","symbol_native":"FR","decimal_digits":0,"rounding":0.0,"code":"RWF"},"SAR":{"symbol":"SAR","symbol_native":"ر.س.\u200F","decimal_digits":2,"rounding":0.0,"code":"SAR"},"SDG":{"symbol":"SDG","symbol_native":"SDG","decimal_digits":2,"rounding":0.0,"code":"SDG"},"SEK":{"symbol":"SEK","symbol_native":"kr","decimal_digits":2,"rounding":0.0,"code":"SEK"},"SGD":{"symbol":"SGD","symbol_native":"$","decimal_digits":2,"rounding":0.0,"code":"SGD"},"SOS":{"symbol":"SOS","symbol_native":"SOS","decimal_digits":0,"rounding":0.0,"code":"SOS"},"STD":{"symbol":"STD","symbol_native":"Db","decimal_digits":0,"rounding":0.0,"code":"STD"},"SYP":{"symbol":"SYP","symbol_native":"Ù.س.\u200F","decimal_digits":0,"rounding":0.0,"code":"SYP"},"THB":{"symbol":"฿","symbol_native":"฿","decimal_digits":2,"rounding":0.0,"code":"THB"},"TND":{"symbol":"TND","symbol_native":"د.ت.\u200F","decimal_digits":3,"rounding":0.0,"code":"TND"},"TOP":{"symbol":"TOP","symbol_native":"T$","decimal_digits":2,"rounding":0.0,"code":"TOP"},"TRY":{"symbol":"TRY","symbol_native":"TL","decimal_digits":2,"rounding":0.0,"code":"TRY"},"TTD":{"symbol":"TTD","symbol_native":"$","decimal_digits":2,"rounding":0.0,"code":"TTD"},"TWD":{"symbol":"NT$","symbol_native":"NT$","decimal_digits":2,"rounding":0.0,"code":"TWD"},"TZS":{"symbol":"TZS","symbol_native":"TSh","decimal_digits":0,"rounding":0.0,"code":"TZS"},"UAH":{"symbol":"UAH","symbol_native":"\u20B4","decimal_digits":2,"rounding":0.0,"code":"UAH"},"UGX":{"symbol":"UGX","symbol_native":"USh","decimal_digits":0,"rounding":0.0,"code":"UGX"},"USD":{"symbol":"$","symbol_native":"$","decimal_digits":2,"rounding":0.0,"code":"USD"},"UYU":{"symbol":"UYU","symbol_native":"$","decimal_digits":2,"rounding":0.0,"code":"UYU"},"UZS":{"symbol":"UZS","symbol_native":"UZS","decimal_digits":0,"rounding":0.0,"code":"UZS"},"VEF":{"symbol":"VEF","symbol_native":"Bs.F.","decimal_digits":2,"rounding":0.0,"code":"VEF"},"VND":{"symbol":"\u20AB","symbol_native":"\u20AB","decimal_digits":0,"rounding":0.0,"code":"VND"},"XAF":{"symbol":"FCFA","symbol_native":"FCFA","decimal_digits":0,"rounding":0.0,"code":"XAF"},"XOF":{"symbol":"CFA","symbol_native":"CFA","decimal_digits":0,"rounding":0.0,"code":"XOF"},"YER":{"symbol":"YER","symbol_native":"ر.Ù.\u200F","decimal_digits":0,"rounding":0.0,"code":"YER"},"ZAR":{"symbol":"ZAR","symbol_native":"R","decimal_digits":2,"rounding":0.0,"code":"ZAR"},"ZMK":{"symbol":"ZMK","symbol_native":"ZK","decimal_digits":0,"rounding":0.0,"code":"ZMK"}}; 3511(function($acs) { 3512 3513 $acs.fn.niceSelect = function() { 3514 3515 3516 3517 3518 3519 // Hide native select 3520 this.hide(); 3521 3522 // Create custom markup 3523 this.each(function() { 3524 var select = $acs(this); 3525 3526 if (!select.next().hasClass('nice-select')) { 3527 select.after('<div class="nice-select' + 3528 (' ' + select.attr('class') || '') + 3529 (select.attr('disabled') ? ' disabled' : '" tabindex="0') + 3530 '"><span class="rectangle rectangle-'+ $acs(this).val().toLowerCase()+ ' flags current-flags"></span><span class="mlcurrent"></span><ul class="list"></ul></div><i class="fa fa-angle-down mldarrow"></i>'); 3531 3532 var dropdown = select.next(); 3533 var options = select.find('option'); 3534 var selected = select.find('option:selected'); 3535 3536 dropdown.find('.mlcurrent').html(selected.data('display') || selected.text()); 3537 3538 options.each(function() { 3539 var display = $acs(this).data('display'); 3540 dropdown.find('ul').append('<li class="option' + 3541 ($acs(this).is(':selected') ? ' selected' : '') + 3542 ($acs(this).is(':disabled') ? ' disabled' : '') + 3543 '" data-value="' + $acs(this).val() + '"' + 3544 (display ? ' data-display="' + display : '') + '"' + 3545 '>' + '<span class="rectangle rectangle-'+ $acs(this).val().toLowerCase()+ ' flags"></span> <span class="cn">'+ $acs(this).text() + '</span></li>'); 3546 }); 3547 } 3548 });
3549 3550 /* Event listeners */ 3551 3552 // Unbind existing events in case that the plugin has been initialized before 3553 $acs(document).off('.nice_select'); 3554 3555 // Open/close 3556 $acs(document).on('click.nice_select', '.nice-select', function(event) { 3557 var dropdown = $acs(this); 3558 3559 $acs('.nice-select').not(dropdown).removeClass('open'); 3560 dropdown.toggleClass('open'); 3561 3562 if (dropdown.hasClass('open')) { 3563 dropdown.find('.option'); 3564 dropdown.find('.focus').removeClass('focus'); 3565 dropdown.find('.selected').addClass('focus'); 3566 $acs(".mldarrow").removeClass("fa-angle-down"); 3567 $acs(".mldarrow").addClass("fa-angle-up"); 3568 } else { 3569 dropdown.focus(); 3570 $acs(".mldarrow").removeClass("fa-angle-up"); 3571 $acs(".mldarrow").addClass("fa-angle-down"); 3572 } 3573 }); 3574 3575 // Close when clicking outside 3576 $acs(document).on('click.nice_select', function(event) { 3577 if ($acs(event.target).closest('.nice-select').length === 0) { 3578 $acs('.nice-select').removeClass('open').find('.option'); 3579 $acs(".mldarrow").removeClass("fa-angle-up"); 3580 $acs(".mldarrow").addClass("fa-angle-down"); 3581 } 3582 }); 3583 3584 3585//For mldarrow click 3586 $acs('.mldarrow').on('click', function(event) { 3587 $acs(this).parent().find('.nice-select').click(); 3588 // console.log("arrow clicked"); 3589 event.stopImmediatePropagation(); 3590 3591 }); 3592 3593 3594 // Option click 3595 $acs(document).on('click.nice_select', '.nice-select .option:not(.disabled)', function(event) { 3596 var option = $acs(this); 3597 var dropdown = option.closest('.nice-select'); 3598 3599 dropdown.find('.selected').removeClass('selected'); 3600 option.addClass('selected'); 3601 3602 var text = option.data('display') || option.text(); 3603 text=text.trim(); 3604 dropdown.find('.mlcurrent').text(text); 3605 3606 3607 3608 3609 dropdown.find(".current-flags").removeClass (function (index, className) { 3610 return (className.match (/rectangle-\S+/g) || []).join(' '); 3611}); 3612 3613 3614 dropdown.find(".current-flags").addClass("rectangle-"+text.toLowerCase()); 3615 3616 3617 3618 // dropdown.find('.current-flags').css("background","url("+flaglink+text.toLowerCase()+".png) left center no-repeat"); 3619// dropdown.find('.current-flags').css("background-size","20px 15px"); 3620 3621 dropdown.prev('select').val(option.data('value')).trigger('change'); 3622 }); 3623 3624 // Keyboard events 3625 $acs(document).on('keydown.nice_select', '.nice-select', function(event) { 3626 var dropdown = $acs(this); 3627 var focused_option = $acs(dropdown.find('.focus') || dropdown.find('.list .option.selected')); 3628 3629 // Space or Enter 3630 if (event.keyCode == 32 || event.keyCode == 13) { 3631 if (dropdown.hasClass('open')) { 3632 focused_option.trigger('click'); 3633 } else { 3634 dropdown.trigger('click'); 3635 } 3636 return false; 3637 // Down 3638 } else if (event.keyCode == 40) { 3639 if (!dropdown.hasClass('open')) { 3640 dropdown.trigger('click'); 3641 } else { 3642 var next = focused_option.nextAll('.option:not(.disabled)').first(); 3643 if (next.length > 0) { 3644 dropdown.find('.focus').removeClass('focus'); 3645 next.addClass('focus'); 3646 } 3647 } 3648 return false; 3649 // Up 3650 } else if (event.keyCode == 38) { 3651 if (!dropdown.hasClass('open')) { 3652 dropdown.trigger('click'); 3653 } else { 3654 var prev = focused_option.prevAll('.option:not(.disabled)').first(); 3655 if (prev.length > 0) { 3656 dropdown.find('.focus').removeClass('focus'); 3657 prev.addClass('focus'); 3658 } 3659 } 3660 return false; 3661 // Esc 3662 } else if (event.keyCode == 27) { 3663 if (dropdown.hasClass('open')) { 3664 dropdown.trigger('click'); 3665 } 3666 // Tab 3667 } else if (event.keyCode == 9) { 3668 if (dropdown.hasClass('open')) { 3669 return false; 3670 } 3671 } 3672 });
3673 3674 // Detect CSS pointer-events support, for IE <= 10. From Modernizr. 3675 var style = document.createElement('a').style; 3676 style.cssText = 'pointer-events:auto'; 3677 if (style.pointerEvents !== 'auto') { 3678 $acs('html').addClass('no-csspointerevents'); 3679 } 3680 3681 }; 3682 3683}($acs)); 3684//mlvedascript.js 3685 $acs(document).ready( function($acs) { 3686 3687 $acs('.demo').each( function() { 3688 // 3689 // Dear reader, it's actually very easy to initialize MiniColors. For example: 3690 // 3691 // $acs(selector).minicolors(); 3692 // 3693 // The way I've done it below is just for the demo, so don't get confused 3694 // by it. Also, data- attributes aren't supported at this time. Again, 3695 // they're only used for the purposes of this demo. 3696 // 3697 $acs(this).minicolors({ 3698 control: $acs(this).attr('data-control') || 'hue', 3699 defaultValue: $acs(this).attr('data-defaultValue') || '', 3700 format: $acs(this).attr('data-format') || 'hex', 3701 keywords: $acs(this).attr('data-keywords') || '', 3702 inline: $acs(this).attr('data-inline') === 'true', 3703 letterCase: $acs(this).attr('data-letterCase') || 'lowercase', 3704 opacity: $acs(this).attr('data-opacity'), 3705 position: $acs(this).attr('data-position') || 'bottom left', 3706 swatches: $acs(this).attr('data-swatches') ? $acs(this).attr('data-swatches').split('|') : [], 3707 change: function(hex, opacity) { 3708 var log; 3709 try { 3710 log = hex ? hex : 'transparent'; 3711 if( opacity ) log += ', ' + opacity; 3712 console.log(log); 3713 } catch(e) {} 3714 }, 3715 theme: 'default' 3716 }); 3717 3718 }); 3719mlflag1 = true; 3720 }($acs)); 3721 3722 3723$acs(document).ready(function($acs) { 3724 3725 // Positions 3726 3727 3728 $acs("#currency").blur(function(){ 3729 var currencyText = $acs(this).val(); 3730 console.log(currencyText); 3731 $acs("#lblText").text(currencyText); 3732 }); 3733 $acs("#currency").keyup(function(e){ 3734 if (e.which == 13){ 3735 var currencyText = $acs(this).val(); 3736 console.log(currencyText); 3737 $acs("#lblText").text(currencyText); 3738 } 3739 }); 3740 /////////////////////// 3741 3742 $acs('#alignment input').on('change', function() { 3743 var FloatValue = ($acs('input[name=align]:checked', '#alignment').val()); 3744 $acs(".switchContainer").css("float", FloatValue ); 3745 }); 3746 3747 //////////////////////////////// 3748 3749 $acs("#hMargin").blur(function(){ 3750 var hMarginValue = parseInt($acs(this).val()); 3751 $acs(".switchContainer").css("margin-left", hMarginValue ); 3752 $acs(".switchContainer").css("margin-right", hMarginValue ) 3753 }); 3754 $acs("#hMargin").keyup(function(e){ 3755 if (e.which == 13){ 3756 var hMarginValue = parseInt($acs(this).val()); 3757 $acs(".switchContainer").css("margin-left", hMarginValue ); 3758 $acs(".switchContainer").css("margin-right", hMarginValue ) 3759 } 3760 }); 3761 3762 //////////////////////////////// 3763 3764 $acs("#vMargin").blur(function(){ 3765 var vMarginValue = parseInt($acs(this).val()); 3766 $acs(".switchContainer").css("margin-top", vMarginValue ) 3767 $acs(".switchContainer").css("margin-bottom", vMarginValue ) 3768 }); 3769 $acs("#vMargin").keyup(function(e){ 3770 if (e.which == 13){ 3771 var vMarginValue = parseInt($acs(this).val()); 3772 $acs(".switchContainer").css("margin-top", vMarginValue ) 3773 $acs(".switchContainer").css("margin-bottom", vMarginValue ) 3774 } 3775 }); 3776 3777 //////////////////////////////// 3778 3779 $acs("#dropHeight").blur(function(){ 3780 var HeightValue = parseInt($acs(this).val()); 3781 $acs(".nice-select").css("height", HeightValue ) 3782 $acs(".nice-select").css("line-height", HeightValue + "px") 3783 }); 3784 $acs("#dropHeight").keyup(function(e){
3785 if (e.which == 13){ 3786 var HeightValue = parseInt($acs(this).val()); 3787 $acs(".nice-select").css("height", HeightValue ) 3788 $acs(".nice-select").css("line-height", HeightValue + "px") 3789 } 3790 }); 3791 3792 //////////////////////////////// 3793 3794 $acs("#dropWidth").blur(function(){ 3795 var WidthValue = parseInt($acs(this).val()); 3796 $acs(".nice-select").css("width", WidthValue ); 3797 $acs(".nice-select .list").css("width", WidthValue ) 3798 }); 3799 $acs("#dropWidth").keyup(function(e){ 3800 if (e.which == 13){ 3801 var WidthValue = parseInt($acs(this).val()); 3802 $acs(".nice-select").css("width", WidthValue ); 3803 $acs(".nice-select .list").css("width", WidthValue ) 3804 } 3805 }); 3806 3807 3808 //////////////////////////////// 3809 3810 3811 $acs("#dropFont").blur(function(){ 3812 var FontValue = parseInt($acs(this).val()); 3813 $acs(".nice-select.switch").css("font-size", FontValue ); 3814 }); 3815 $acs("#dropFont").keyup(function(e){ 3816 if (e.which == 13){ 3817 var FontValue = parseInt($acs(this).val()); 3818 $acs(".nice-select.switch").css("font-size", FontValue ); 3819 } 3820 }); 3821 3822 3823 3824 // Styles 3825 3826 $acs('#borderContainer input').on('change', function() { 3827 var borderValue = ($acs('input[name=border]:checked', '#borderContainer').val()); 3828 $acs(".nice-select.switch").css("border", borderValue ); 3829 $acs(".nice-select ul.list").css("border", borderValue ); 3830 $acs(".nice-select ul.list li").css("border", borderValue ); 3831 }); 3832 3833 3834 $acs('#flagContainer input').on('change', function() { 3835 var flagValue = ($acs('input[name=flag]:checked', '#flagContainer').val()); 3836 console.log(flagValue); 3837 $acs(".flags").css("display", flagValue ); 3838 }); 3839 3840 $acs('#transContainer input').on('change', function() { 3841 var transValue = ($acs('input[name=transparentCol]:checked', '#transContainer').val()); 3842 $acs(".nice-select").css("background-color", transValue ); 3843 $acs(".nice-select").css("border", "0px solid #e8e8e8" ); 3844 if ($acs('#trans2').is(':checked')) { 3845 $acs(".nice-select").css("border", "1px solid #e8e8e8" ); 3846 } 3847 }); 3848 3849 $acs('#displayContainer input').on('change', function() { 3850 var displayValue = ($acs('input[name=displayBox]:checked', '#displayContainer').val()); 3851 $acs(".switchContainer").css("display", displayValue ); 3852 }); 3853 3854 3855 // Colors 3856 3857 3858 $acs("#txtColor").blur(function(){ 3859 var txtColorVale = $acs(this).val(); 3860 $acs(".nice-select").css("color", txtColorVale ); 3861 $acs(".nice-select ul li").css("color", txtColorVale ); 3862 $acs( "<style type='text/css'>.nice-select:after { border-color: " + txtColorVale + "; }</style>" ).appendTo( "head" ) 3863 }); 3864 3865 3866 $acs("#bgColor").blur(function(e){ 3867 var bgColorVale = $acs(this).val(); 3868 $acs(".nice-select").css("background-color", bgColorVale ); 3869 $acs(".nice-select .option").css("background-color", bgColorVale ); 3870 3871 }); 3872 3873 $acs("#brdrColor").blur(function(e){ 3874 var brdrColorVale = $acs(this).val(); 3875 $acs(".nice-select").css("border-color", brdrColorVale ); 3876 $acs(".nice-select .option").css("border-color", brdrColorVale ); 3877 $acs(".nice-select .list").css("border-color", brdrColorVale ); 3878 }); 3879mlflag2 = true; 3880}($acs)); 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893</script>
3893 3894 3895 3896 3897<!-- END app block -->
3897<script src="https://cdn.shopify.com/extensions/01a0f2bc-d487-717e-ad93-a683f5f90d60/timesact-44/assets/timesactV2.js" type="text/javascript" defer="defer"></script>
3897 3898<link href="https://cdn.shopify.com/extensions/01a0f2bc-d487-717e-ad93-a683f5f90d60/timesact-44/assets/timesactV2.css" rel="stylesheet" type="text/css" media="all">
3899<script src="https://cdn.shopify.com/extensions/01a0f2bc-d487-717e-ad93-a683f5f90d60/timesact-44/assets/timesact.js" type="text/javascript" defer="defer"></script>
3899 3900<link href="https://cdn.shopify.com/extensions/01a0f2bc-d487-717e-ad93-a683f5f90d60/timesact-44/assets/timesact.css" rel="stylesheet" type="text/css" media="all">
3901<script src="https://cdn.shopify.com/extensions/01a12154-4cd8-77a6-b810-64e92981e3ee/gdpr-backpack-920/assets/consentmo_cookie_consent.js" type="text/javascript" defer="defer"></script>
3901 3902<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
3903<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 77073219897,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 3903
3903
3904<script> 3905 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 3906</script>
vendor: 1 bytes, line 3906
3906
3907<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
3907).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 77073219897,storefrontBaseUrl: "https://lineofoslo.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://lineofoslo.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab"],webPixelsConfigList: [{"id":"2383708473","configuration":"{\"pixelCode\":\"D69GDHJC77U5RKDQME60\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"22e92c2ad45662f435e4801458fb78cc","type":"APP","apiClientId":4383523,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2352480569","configuration":"{\"mailchimp_store_id\":\"store_77llfreb1oxgl3keq3ar\", \"mailchimp_user_id\":\"27114967\",\"mailchimp_list_id\":\"21b9ffda96\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"e357a49eadeb6216a959d63fa3fb8f55","type":"APP","apiClientId":2585307,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"2336522553","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"AW-787675245\\\",\\\"GT-PHGFS7Z6\\\",\\\"G-ZLG40NMZ70\\\"],\\\"target_country\\\":\\\"NO\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"AW-787675245\\\/VluwCPj2vvIbEO3wy_cC\\\",\\\"G-ZLG40NMZ70\\\"]},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"AW-787675245\\\/vlleCOz2vvIbEO3wy_cC\\\",\\\"G-ZLG40NMZ70\\\"]},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"AW-787675245\\\/5a6JCPX2vvIbEO3wy_cC\\\",\\\"MC-SSZSKN11CJ\\\",\\\"G-ZLG40NMZ70\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"AW-787675245\\\/2A9xCOn2vvIbEO3wy_cC\\\",\\\"MC-SSZSKN11CJ\\\",\\\"G-ZLG40NMZ70\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"AW-787675245\\\/-TeKCPL2vvIbEO3wy_cC\\\",\\\"MC-SSZSKN11CJ\\\",\\\"G-ZLG40NMZ70\\\"]},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"AW-787675245\\\/YevXCPv2vvIbEO3wy_cC\\\",\\\"G-ZLG40NMZ70\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"AW-787675245\\\/QM3hCO_2vvIbEO3wy_cC\\\",\\\"G-ZLG40NMZ70\\\"]}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"2321056057","configuration":"{\"projectId\":\"v94fpqnm2j\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d8a2bb2ccbb513dc8e8b6937f4b8033e","type":"APP","apiClientId":240074326017,"privacyPurposes":[],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]}
3907,"dataSharingState":"unrestricted"},{"id":"1865351481","configuration":"{\"pixel_id\":\"977142127895576\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"bd2f978c17a94bbb8a74d43de2165dc5","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"639074617","configuration":"{\"tagID\":\"2614377358715\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7ae565e198624b39e0856d352b9a6b4c","type":"APP","apiClientId":3009811,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"204276025","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","PREFERENCES","SALE_OF_DATA"],"name":"Circlewise"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Line of Oslo","paymentSettings":{"currencyCode":"NOK"},"myshopifyDomain":"line-of-oslo-demo.myshopify.com","countryCode":"NO","storefrontUrl":"https:\/\/lineofoslo.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":1199.0,"currencyCode":"NOK"},"product":{"title":"Line of Oslo Krista Check Shirt","vendor":"Line Of Oslo","id":"10276261626169","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","type":"Blouse"},"id":"53937968578873","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246"},"sku":"262-051\\097\\XS","title":"Black \/ XS","untranslatedTitle":"Black \/ XS"},{"price":{"amount":1199.0,"currencyCode":"NOK"},"product":{"title":"Line of Oslo Krista Check Shirt","vendor":"Line Of Oslo","id":"10276261626169","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","type":"Blouse"},"id":"53937968611641","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246"},"sku":"262-051\\097\\S","title":"Black \/ S","untranslatedTitle":"Black \/ S"},{"price":{"amount":1199.0,"currencyCode":"NOK"},"product":{"title":"Line of Oslo Krista Check Shirt","vendor":"Line Of Oslo","id":"10276261626169","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","type":"Blouse"},"id":"53937968644409","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246"},"sku":"262-051\\097\\M","title":"Black \/ M","untranslatedTitle":"Black \/ M"},{"price":{"amount":1199.0,"currencyCode":"NOK"},"product":{"title":"Line of Oslo Krista Check Shirt","vendor":"Line Of Oslo","id":"10276261626169","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","type":"Blouse"},"id":"53937968677177","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246"},"sku":"262-051\\097\\L","title":"Black \/ L","untranslatedTitle":"Black \/ L"},{"price":{"amount":1199.0,"currencyCode":"NOK"},"product":{"title":"Line of Oslo Krista Check Shirt","vendor":"Line Of Oslo","id":"10276261626169","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","type":"Blouse"},"id":"53937968709945","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-
3907Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246"},"sku":"262-051\\097\\XL","title":"Black \/ XL","untranslatedTitle":"Black \/ XL"},{"price":{"amount":1199.0,"currencyCode":"NOK"},"product":{"title":"Line of Oslo Krista Check Shirt","vendor":"Line Of Oslo","id":"10276261626169","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","type":"Blouse"},"id":"53937968742713","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190"},"sku":"262-051\\066\\XS","title":"Blue \/ XS","untranslatedTitle":"Blue \/ XS"},{"price":{"amount":1199.0,"currencyCode":"NOK"},"product":{"title":"Line of Oslo Krista Check Shirt","vendor":"Line Of Oslo","id":"10276261626169","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","type":"Blouse"},"id":"53937968775481","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190"},"sku":"262-051\\066\\S","title":"Blue \/ S","untranslatedTitle":"Blue \/ S"},{"price":{"amount":1199.0,"currencyCode":"NOK"},"product":{"title":"Line of Oslo Krista Check Shirt","vendor":"Line Of Oslo","id":"10276261626169","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","type":"Blouse"},"id":"53937968808249","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190"},"sku":"262-051\\066\\M","title":"Blue \/ M","untranslatedTitle":"Blue \/ M"},{"price":{"amount":1199.0,"currencyCode":"NOK"},"product":{"title":"Line of Oslo Krista Check Shirt","vendor":"Line Of Oslo","id":"10276261626169","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","type":"Blouse"},"id":"53937968841017","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190"},"sku":"262-051\\066\\L","title":"Blue \/ L","untranslatedTitle":"Blue \/ L"},{"price":{"amount":1199.0,"currencyCode":"NOK"},"product":{"title":"Line of Oslo Krista Check Shirt","vendor":"Line Of Oslo","id":"10276261626169","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","type":"Blouse"},"id":"53937968873785","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190"},"sku":"262-051\\066\\XL","title":"Blue \/ XL","untranslatedTitle":"Blue \/ XL"},{"price":{"amount":1199.0,"currencyCode":"NOK"},"product":{"title":"Line of Oslo Krista Check Shirt","vendor":"Line Of Oslo","id":"10276261626169","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","type":"Blouse"},"id":"54349772685625","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209"},"sku":"262-051\\063\\XS","title":"Brown \/ XS","untranslatedTitle":"Brown \/ XS"},{"price":{"amount":1199.0,"currencyCode":"NOK"},"product":{"title":"Line of Oslo Krista Check Shirt","vendor":"Line Of Oslo","id":"10276261626169","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","type":"Blouse"},"id":"54349772718393","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209"},"sku":"262-051\\063\\S","title":"Brown \/ S","untranslatedTitle":"Brown \/ S"},{"price":{"amount":1199.0,"currencyCode":"NOK"},"product":{"title":"Line of Oslo Krista Check Shirt","vendor":"Line Of Oslo","id":"10276261626169","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","type":"Blouse"},"id":"54349772751161","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209"},"sku":"262-051\\063\\M","title":"Brown \/ M","untranslatedTitle":"Brown \/ M"},{"price":{"amount":1199.0,"currencyCode":"NOK"},"product":{"title":"Line of Oslo Krista Check Shirt","vendor":"Line Of Oslo","id":"10276261626169","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","type":"Blouse"},"id":"54349772783929","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-
3907Blouse-262-051-15.png?v=1789652209"},"sku":"262-051\\063\\L","title":"Brown \/ L","untranslatedTitle":"Brown \/ L"},{"price":{"amount":1199.0,"currencyCode":"NOK"},"product":{"title":"Line of Oslo Krista Check Shirt","vendor":"Line Of Oslo","id":"10276261626169","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","type":"Blouse"},"id":"54349772816697","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209"},"sku":"262-051\\063\\XL","title":"Brown \/ XL","untranslatedTitle":"Brown \/ XL"},{"price":{"amount":1199.0,"currencyCode":"NOK"},"product":{"title":"Line of Oslo Krista Check Shirt","vendor":"Line Of Oslo","id":"10276261626169","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","type":"Blouse"},"id":"53937968906553","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152"},"sku":"262-051\\008\\XS","title":"Port \/ XS","untranslatedTitle":"Port \/ XS"},{"price":{"amount":1199.0,"currencyCode":"NOK"},"product":{"title":"Line of Oslo Krista Check Shirt","vendor":"Line Of Oslo","id":"10276261626169","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","type":"Blouse"},"id":"53937968939321","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152"},"sku":"262-051\\008\\S","title":"Port \/ S","untranslatedTitle":"Port \/ S"},{"price":{"amount":1199.0,"currencyCode":"NOK"},"product":{"title":"Line of Oslo Krista Check Shirt","vendor":"Line Of Oslo","id":"10276261626169","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","type":"Blouse"},"id":"53937968972089","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152"},"sku":"262-051\\008\\M","title":"Port \/ M","untranslatedTitle":"Port \/ M"},{"price":{"amount":1199.0,"currencyCode":"NOK"},"product":{"title":"Line of Oslo Krista Check Shirt","vendor":"Line Of Oslo","id":"10276261626169","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","type":"Blouse"},"id":"53937969004857","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152"},"sku":"262-051\\008\\L","title":"Port \/ L","untranslatedTitle":"Port \/ L"},{"price":{"amount":1199.0,"currencyCode":"NOK"},"product":{"title":"Line of Oslo Krista Check Shirt","vendor":"Line Of Oslo","id":"10276261626169","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","type":"Blouse"},"id":"53937969037625","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152"},"sku":"262-051\\008\\XL","title":"Port \/ XL","untranslatedTitle":"Port \/ XL"}],"products":[{"id":"10276261626169","handle":"krista-check-skjorte","isCollective":null,"title":"Line of Oslo Krista Check Shirt","type":"Blouse","untranslatedTitle":"Line of Oslo Krista Check Shirt","url":"\/products\/krista-check-skjorte","vendor":"Line Of Oslo","remoteShopId":null,"variants":[{"id":"53937968578873","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246"},"price":{"amount":1199.0,"currencyCode":"NOK"},"sku":"262-051\\097\\XS","title":"Black \/ XS","untranslatedTitle":"Black \/ XS"},{"id":"53937968611641","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246"},"price":{"amount":1199.0,"currencyCode":"NOK"},"sku":"262-051\\097\\S","title":"Black \/ S","untranslatedTitle":"Black \/ S"},{"id":"53937968644409","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246"},"price":{"amount":1199.0,"currencyCode":"NOK"},"sku":"262-051\\097\\M","title":"Black \/ M","untranslatedTitle":"Black \/ M"},{"id":"53937968677177","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-
3907Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246"},"price":{"amount":1199.0,"currencyCode":"NOK"},"sku":"262-051\\097\\L","title":"Black \/ L","untranslatedTitle":"Black \/ L"},{"id":"53937968709945","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246"},"price":{"amount":1199.0,"currencyCode":"NOK"},"sku":"262-051\\097\\XL","title":"Black \/ XL","untranslatedTitle":"Black \/ XL"},{"id":"53937968742713","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190"},"price":{"amount":1199.0,"currencyCode":"NOK"},"sku":"262-051\\066\\XS","title":"Blue \/ XS","untranslatedTitle":"Blue \/ XS"},{"id":"53937968775481","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190"},"price":{"amount":1199.0,"currencyCode":"NOK"},"sku":"262-051\\066\\S","title":"Blue \/ S","untranslatedTitle":"Blue \/ S"},{"id":"53937968808249","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190"},"price":{"amount":1199.0,"currencyCode":"NOK"},"sku":"262-051\\066\\M","title":"Blue \/ M","untranslatedTitle":"Blue \/ M"},{"id":"53937968841017","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190"},"price":{"amount":1199.0,"currencyCode":"NOK"},"sku":"262-051\\066\\L","title":"Blue \/ L","untranslatedTitle":"Blue \/ L"},{"id":"53937968873785","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190"},"price":{"amount":1199.0,"currencyCode":"NOK"},"sku":"262-051\\066\\XL","title":"Blue \/ XL","untranslatedTitle":"Blue \/ XL"},{"id":"54349772685625","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209"},"price":{"amount":1199.0,"currencyCode":"NOK"},"sku":"262-051\\063\\XS","title":"Brown \/ XS","untranslatedTitle":"Brown \/ XS"},{"id":"54349772718393","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209"},"price":{"amount":1199.0,"currencyCode":"NOK"},"sku":"262-051\\063\\S","title":"Brown \/ S","untranslatedTitle":"Brown \/ S"},{"id":"54349772751161","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209"},"price":{"amount":1199.0,"currencyCode":"NOK"},"sku":"262-051\\063\\M","title":"Brown \/ M","untranslatedTitle":"Brown \/ M"},{"id":"54349772783929","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209"},"price":{"amount":1199.0,"currencyCode":"NOK"},"sku":"262-051\\063\\L","title":"Brown \/ L","untranslatedTitle":"Brown \/ L"},{"id":"54349772816697","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209"},"price":{"amount":1199.0,"currencyCode":"NOK"},"sku":"262-051\\063\\XL","title":"Brown \/ XL","untranslatedTitle":"Brown \/ XL"},{"id":"53937968906553","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152"},"price":{"amount":1199.0,"currencyCode":"NOK"},"sku":"262-051\\008\\XS","title":"Port \/ XS","untranslatedTitle":"Port \/ XS"},{"id":"53937968939321","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152"},"price":{"amount":1199.0,"currencyCode":"NOK"},"sku":"262-051\\008\\S","title":"Port \/ S","untranslatedTitle":"Port \/ S"},{"id":"53937968972089","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152"},"price":{"amount":1199.0,"currencyCode":"NOK"},"sku":"262-051\\008\\M","title":"Port \/ M","untranslatedTitle":"Port \/ M"},{"id":"53937969004857","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152"},"price":{"amount":1199.0,"currencyCode":"NOK"},"sku":"262-051\\008\\L","title":"Port \/ L","untranslatedTitle":"Port \/ L"},{"id":"53937969037625","image":{"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-
3907Blouse-262-051-12.png?v=1786449152"},"price":{"amount":1199.0,"currencyCode":"NOK"},"sku":"262-051\\008\\XL","title":"Port \/ XL","untranslatedTitle":"Port \/ XL"}]}],"purchasingCompany":null},},"https://lineofoslo.com/cdn","7ec887c8w14f9f074p854094e1m1370c602",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"190072160569","themeStoreId":"1829","themePublished":"true","eventMetadataId":"865d2a71-59e6-49a6-95de-e889b4ae8cab","pageType":"product","resourceId":"10276261626169","shopId":"77073219897","storefrontBaseUrl":"https:\/\/lineofoslo.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\"]","isMerchantRequest":"false","hashVersion":"7ec887c8w14f9f074p854094e1m1370c602","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":1199.0,\"currencyCode\":\"NOK\"},\"product\":{\"title\":\"Line of Oslo Krista Check Shirt\",\"vendor\":\"Line Of Oslo\",\"id\":\"10276261626169\",\"untranslatedTitle\":\"Line of Oslo Krista Check Shirt\",\"url\":\"\/products\/krista-check-skjorte\",\"type\":\"Blouse\"},\"id\":\"53937968578873\",\"image\":{\"src\":\"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246\"},\"sku\":\"262-051\\\\097\\\\XS\",\"title\":\"Black \/ XS\",\"untranslatedTitle\":\"Black \/ XS\"}}]]"});})();</script>
3907<script> 3908 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 3909 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 3910 window.ShopifyAnalytics.meta.currency = 'NOK'; 3911 var meta = {"product":{"id":10276261626169,"gid":"gid:\/\/shopify\/Product\/10276261626169","vendor":"Line Of Oslo","type":"Blouse","handle":"krista-check-skjorte","variants":[{"id":53937968578873,"price":119900,"name":"Line of Oslo Krista Check Shirt - Black \/ XS","public_title":"Black \/ XS","sku":"262-051\\097\\XS"},{"id":53937968611641,"price":119900,"name":"Line of Oslo Krista Check Shirt - Black \/ S","public_title":"Black \/ S","sku":"262-051\\097\\S"},{"id":53937968644409,"price":119900,"name":"Line of Oslo Krista Check Shirt - Black \/ M","public_title":"Black \/ M","sku":"262-051\\097\\M"},{"id":53937968677177,"price":119900,"name":"Line of Oslo Krista Check Shirt - Black \/ L","public_title":"Black \/ L","sku":"262-051\\097\\L"},{"id":53937968709945,"price":119900,"name":"Line of Oslo Krista Check Shirt - Black \/ XL","public_title":"Black \/ XL","sku":"262-051\\097\\XL"},{"id":53937968742713,"price":119900,"name":"Line of Oslo Krista Check Shirt - Blue \/ XS","public_title":"Blue \/ XS","sku":"262-051\\066\\XS"},{"id":53937968775481,"price":119900,"name":"Line of Oslo Krista Check Shirt - Blue \/ S","public_title":"Blue \/ S","sku":"262-051\\066\\S"},{"id":53937968808249,"price":119900,"name":"Line of Oslo Krista Check Shirt - Blue \/ M","public_title":"Blue \/ M","sku":"262-051\\066\\M"},{"id":53937968841017,"price":119900,"name":"Line of Oslo Krista Check Shirt - Blue \/ L","public_title":"Blue \/ L","sku":"262-051\\066\\L"},{"id":53937968873785,"price":119900,"name":"Line of Oslo Krista Check Shirt - Blue \/ XL","public_title":"Blue \/ XL","sku":"262-051\\066\\XL"},{"id":54349772685625,"price":119900,"name":"Line of Oslo Krista Check Shirt - Brown \/ XS","public_title":"Brown \/ XS","sku":"262-051\\063\\XS"},{"id":54349772718393,"price":119900,"name":"Line of Oslo Krista Check Shirt - Brown \/ S","public_title":"Brown \/ S","sku":"262-051\\063\\S"},{"id":54349772751161,"price":119900,"name":"Line of Oslo Krista Check Shirt - Brown \/ M","public_title":"Brown \/ M","sku":"262-051\\063\\M"},{"id":54349772783929,"price":119900,"name":"Line of Oslo Krista Check Shirt - Brown \/ L","public_title":"Brown \/ L","sku":"262-051\\063\\L"},{"id":54349772816697,"price":119900,"name":"Line of Oslo Krista Check Shirt - Brown \/ XL","public_title":"Brown \/ XL","sku":"262-051\\063\\XL"},{"id":53937968906553,"price":119900,"name":"Line of Oslo Krista Check Shirt - Port \/ XS","public_title":"Port \/ XS","sku":"262-051\\008\\XS"},{"id":53937968939321,"price":119900,"name":"Line of Oslo Krista Check Shirt - Port \/ S","public_title":"Port \/ S","sku":"262-051\\008\\S"},{"id":53937968972089,"price":119900,"name":"Line of Oslo Krista Check Shirt - Port \/ M","public_title":"Port \/ M","sku":"262-051\\008\\M"},{"id":53937969004857,"price":119900,"name":"Line of Oslo Krista Check Shirt - Port \/ L","public_title":"Port \/ L","sku":"262-051\\008\\L"},{"id":53937969037625,"price":119900,"name":"Line of Oslo Krista Check Shirt - Port \/ XL","public_title":"Port \/ XL","sku":"262-051\\008\\XL"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":10276261626169,"requestId":"c7322200-e40a-4c51-98a1-ec6e9765893a-1791594287"}}; 3912 for (var attr in meta) { 3913 window.ShopifyAnalytics.meta[attr] = meta[attr]; 3914 } 3915</script>
vendor: 1 bytes, line 3915
3915
3916<script class="analytics"> 3917 (function () { 3918 var customDocumentWrite = function(content) { 3919 var jquery = null; 3920 3921 if (window.jQuery) { 3922 jquery = window.jQuery; 3923 } else if (window.Checkout && window.Checkout.$) { 3924 jquery = window.Checkout.$; 3925 } 3926 3927 if (jquery) { 3928 jquery('body').append(content); 3929 } 3930 }; 3931 3932 var hasLoggedConversion = function(token) { 3933 if (token) { 3934 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 3935 } 3936 return false; 3937 } 3938 3939 var setCookieIfConversion = function(token) { 3940 if (token) { 3941 var twoMonthsFromNow = new Date(Date.now()); 3942 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 3943 3944 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 3945 } 3946 } 3947 3948 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 3949 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 3950 if (trekkie.integrations) { 3951 return; 3952 } 3953 trekkie.methods = [ 3954 'identify', 3955 'page', 3956 'ready', 3957 'track', 3958 'trackForm', 3959 'trackLink' 3960 ]; 3961 trekkie.factory = function(method) { 3962 return function() { 3963 var args = Array.prototype.slice.call(arguments); 3964 args.unshift(method); 3965 trekkie.push(args); 3966 if (method == 'track' || method == 'page') { 3967 var pageUrl; 3968 try { 3969 pageUrl = window.location.href; 3970 } catch (e) {} 3971 var pageReferrer; 3972 try { 3973 pageReferrer = document.referrer; 3974 } catch (e) {} 3975 try { 3976 if (window.__TREKKIE_SHIM_QUEUE == null) { 3977 window.__TREKKIE_SHIM_QUEUE = []; 3978 } 3979 window.__TREKKIE_SHIM_QUEUE.push({ 3980 from: 'trekkie-stub', 3981 method: method, 3982 args: args.slice(1), 3983 pageContext: { 3984 url: pageUrl, 3985 referrer: pageReferrer 3986 } 3987 }); 3988 } catch (e) { 3989 // no-op 3990 } 3991 } 3992 return trekkie; 3993 }; 3994 }; 3995 for (var i = 0; i < trekkie.methods.length; i++) { 3996 var key = trekkie.methods[i]; 3997 trekkie[key] = trekkie.factory(key); 3998 } 3999 trekkie.load = function(config) { 4000 trekkie.config = config || {}; 4001 trekkie.config.initialDocumentCookie = document.cookie; 4002 var first = document.getElementsByTagName('script')[0]; 4003var script = document.createElement('script'); 4004script.type = 'text/javascript'; 4005script.onerror = function(e) { 4006 var scriptFallback = document.createElement('script'); 4007 scriptFallback.type = 'text/javascript'; 4008 scriptFallback.onerror = function(error) { 4009 var Monorail = { 4010 produce: function produce(monorailDomain, schemaId, payload) { 4011 var currentMs = new Date().getTime(); 4012 var event = { 4013 schema_id: schemaId, 4014 payload: payload, 4015 metadata: { 4016 event_created_at_ms: currentMs, 4017 event_sent_at_ms: currentMs 4018 } 4019 }; 4020 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 4021 }, 4022 sendRequest: function sendRequest(endpointUrl, payload) { 4023 // Try the sendBeacon API 4024 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 4025 var blobData = new window.Blob([payload], { 4026 type: 'text/plain' 4027 }); 4028 4029 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 4030 return true; 4031 } // sendBeacon was not successful 4032 4033 } // XHR beacon 4034 4035 var xhr = new XMLHttpRequest(); 4036 4037 try { 4038 xhr.open('POST', endpointUrl); 4039 xhr.setRequestHeader('Content-Type', 'text/plain'); 4040 xhr.send(payload); 4041 } catch (e) { 4042 console.log(e); 4043 } 4044 4045 return false; 4046 }, 4047 isIos12: function isIos12() { 4048 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 4049 } 4050 }; 4051 Monorail.produce('monorail-edge.shopifysvc.com', 4052 'trekkie_storefront_load_errors/1.1', 4053 {shop_id: 77073219897, 4054 theme_id: 190072160569, 4055 app_name: "storefront", 4056 context_url: window.location.href, 4057 source_url: "//lineofoslo.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js"}); 4058 4059 }; 4060 scriptFallback.async = true; 4061 scriptFallback.src = '//lineofoslo.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 4062 first.parentNode.insertBefore(scriptFallback, first); 4063}; 4064script.async = true; 4065script.src = '//lineofoslo.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 4066first.parentNode.insertBefore(script, first); 4067 4068 }; 4069 trekkie.load( 4070 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":77073219897,"isMerchantRequest":null,"themeId":190072160569,"themeCityHash":"2205601304337880729","contentLanguage":"en","currency":"NOK","eventMetadataId":"865d2a71-59e6-49a6-95de-e889b4ae8cab"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 4071 ); 4072 4073 var loaded = false;
4074 trekkie.ready(function() { 4075 if (loaded) return; 4076 loaded = true; 4077 4078 window.ShopifyAnalytics.lib = window.trekkie; 4079 4080 var originalDocumentWrite = document.write; 4081 document.write = customDocumentWrite; 4082 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 4083 document.write = originalDocumentWrite; 4084 4085 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 4086 var token = match? match[1]: undefined; 4087 if (!hasLoggedConversion(token)) { 4088 setCookieIfConversion(token); 4089 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"NOK","variantId":53937968578873,"productId":10276261626169,"productGid":"gid:\/\/shopify\/Product\/10276261626169","name":"Line of Oslo Krista Check Shirt - Black \/ XS","price":"1199.00","sku":"262-051\\097\\XS","brand":"Line Of Oslo","variant":"Black \/ XS","category":"Blouse","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true}); 4090 } 4091 }); 4092 4093 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":10276261626169,"requestId":"c7322200-e40a-4c51-98a1-ec6e9765893a-1791594287","shopifyEmitted":true}); 4094 4095 var eventsListenerScript = document.createElement('script'); 4096 eventsListenerScript.async = true; 4097 eventsListenerScript.src = "//lineofoslo.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 4098 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 4099})();</script>
vendor: 1 bytes, line 4099
4099
4100<script 4101 defer 4102 src="https://lineofoslo.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.10.1.min.js" 4103 data-application="storefront-renderer" 4104 data-shop-id="77073219897" 4105 data-render-region="gcp-us-central1" 4106 data-page-type="product" 4107 data-theme-instance-id="190072160569" 4108 data-theme-name="Creative" 4109 data-theme-version="4.0.1" 4110 data-monorail-region="shop_domain" 4111 data-resource-timing-sampling-rate="10" 4112 data-shs="true" 4113 data-shs-beacon="true" 4114 data-shs-export-with-fetch="true" 4115 data-shs-logs-sample-rate="1" 4116 data-shs-beacon-endpoint="https://lineofoslo.com/api/collect" 4117></script>
4117 4118<meta name="shopify-y" content="79eb005c-da0c-46fd-9cbd-5b391424b42d" data-expiration="1823151887000"><meta name="shopify-s" content="23f2611b-7b8c-46a3-8a1b-0d07deddda63" data-expiration="1791596087000"> 4119</head> 4120 4121<body id="line-of-oslo-krista-check-shirt" class="template-product" data-anim-load="true" data-anim-interval-style="fade_down" data-anim-zoom="false" data-anim-interval="true" data-editor-mode="false" data-quick-shop-show-cart="true"> 4122
4122<script type="text/javascript"> 4123 //loading class for animations 4124 document.body.className += ' ' + 'js-theme-loading'; 4125 setTimeout(function(){ 4126 document.body.className = document.body.className.replace('js-theme-loading','js-theme-loaded'); 4127 }, 300); 4128 </script>
4128 4129 4130 <a class="skip-to-content-link" href="#main">Skip to content</a> 4131 4132 <div class="page-transition"></div> 4133 4134 <div class="page-container"> 4135
4135<script> 4136 theme.setHeaderHeightVars = () => { 4137 const headerSection = document.querySelector('.js-section__header'); 4138 const header = document.querySelector('.js-header'); 4139 const announcement = document.querySelector('.shopify-section-group-header-group.js-section__announcement'); 4140 document.documentElement.style.setProperty('--window-height', `${window.innerHeight}px`); 4141 document.documentElement.style.setProperty('--announcement-height', `${announcement ? announcement.offsetHeight : 0}px`); 4142 //header section (zero height if transparent) 4143 if (headerSection) document.documentElement.style.setProperty('--header-section-height', `${headerSection.offsetHeight}px`); 4144 //header element (has height if transparent) 4145 if (header) document.documentElement.style.setProperty('--header-height', `${header.offsetHeight}px`); 4146 } 4147 theme.setHeaderLogoVars = () => { 4148 //header logo width 4149 const logoLink = document.querySelector('.header__logo-link'); 4150 if (logoLink) document.documentElement.style.setProperty('--header-logo-width', `${logoLink.offsetWidth}px`); 4151 } 4152 theme.setHeaderStyle = () => { 4153 const header = document.querySelector('.js-header'); 4154 if (!header) return; 4155 //get element width witout padding 4156 const getElementContentWidth = (element) => { 4157 const styles = window.getComputedStyle(element); 4158 const padding = 4159 parseFloat(styles.paddingLeft) + 4160 parseFloat(styles.paddingRight); 4161 return element.clientWidth - padding; 4162 } 4163 const iconsNavDisplayStyle = (style, element) => { 4164 if (!element) return; 4165 element.style.display = style; 4166 } 4167 const headerNavs = header.querySelector('.js-heaver-navs'); 4168 const mobileDraw = header.querySelector('.js-mobile-draw-icon'); 4169 const searchDraw = header.querySelector('.js-search-draw-icon'); 4170 const cartDraw = header.querySelector('.js-cart-draw-icon'); 4171 const primaryNav = header.querySelector('.js-primary-nav'); 4172 const primaryNavItems = header.querySelector('.js-primary-nav-items'); 4173 const secondaryNav = header.querySelector('.js-secondary-nav'); 4174 const logoImg = header.querySelector('.js-main-logo'); 4175 const mobileBrkp = 768; 4176 //set sizes 4177 const winWidth = window.innerWidth; 4178 const navsWidth = getElementContentWidth(headerNavs); 4179 const secondaryWidth = getElementContentWidth(secondaryNav); 4180 const logoWidth = getElementContentWidth(logoImg); 4181 const primaryWidth = getElementContentWidth(primaryNavItems); 4182 if (header.dataset.headerStyle == 'icons') { 4183 iconsNavDisplayStyle('flex', mobileDraw); 4184 iconsNavDisplayStyle('flex', cartDraw); 4185 iconsNavDisplayStyle('flex', searchDraw); 4186 } else if (winWidth >= mobileBrkp) { 4187 if (header.dataset.headerStyle !== 'center') { 4188 //inline style logic 4189 if (header.dataset.headerStyle === 'left') { 4190 const availableLeftSpace = (winWidth - logoWidth) / 2; 4191 if (availableLeftSpace - primaryWidth < 40) { 4192 header.classList.remove('header--left'); 4193 header.classList.add('header--center'); 4194 } else { 4195 header.classList.add('header--left'); 4196 header.classList.remove('header--center'); 4197 } 4198 } 4199 //logo left style logic 4200 if (header.dataset.headerStyle === 'logo-left') { 4201 const availableCenterSpace = winWidth - logoWidth; 4202 if (availableCenterSpace - primaryWidth - secondaryWidth < 100) { 4203 header.classList.remove('header--logo-left'); 4204 header.classList.add('header--center'); 4205 } else { 4206 header.classList.add('header--logo-left'); 4207 header.classList.remove('header--center'); 4208 } 4209 } 4210 } 4211 iconsNavDisplayStyle('none', mobileDraw); 4212 iconsNavDisplayStyle('none', cartDraw); 4213 iconsNavDisplayStyle('none', searchDraw); 4214 } else { 4215 iconsNavDisplayStyle('flex', mobileDraw); 4216 iconsNavDisplayStyle('flex', cartDraw); 4217 iconsNavDisplayStyle('flex', searchDraw); 4218 } 4219 } 4220 theme.setUpHeaderResizeObservers = () => { 4221 const debounce = (f, delay) => { 4222 let timer = 0; 4223 return (...args) => { 4224 clearTimeout(timer); 4225 timer = setTimeout(() => f.apply(this, args), delay); 4226 }; 4227 } 4228 const headerSection = document.querySelector('.js-section__header'); 4229 const header = document.querySelector('header'); 4230 const logo = document.querySelector('.header__logo-link'); 4231 theme.setHeaderHeightVars(); 4232 const headerSectionObserver = new ResizeObserver(debounce(theme.setHeaderHeightVars, 50)); 4233 headerSectionObserver.observe(headerSection); 4234 theme.setHeaderLogoVars(); 4235 const headerLogoObserver = new ResizeObserver(debounce(theme.setHeaderLogoVars, 50)); 4236 headerLogoObserver.observe(logo); 4237 theme.setHeaderStyle(); 4238 const headerObserver = new ResizeObserver(debounce(theme.setHeaderStyle, 50)); 4239 headerObserver.observe(header); 4240 } 4241</script>
4241 4242 <!-- BEGIN sections: header-group --> 4243<div id="shopify-section-sections--27888375038265__announcement-bar" class="shopify-section shopify-section-group-header-group js-section__announcement"><style type="text/css"> 4244 .announcement__wrapper { 4245 background-color: #efebe5; 4246 } 4247 .announcement__text, 4248 .announcement__text a { 4249 color: #212121; 4250 font-size: 0.95rem; 4251 } 4252 .announcement__text.rte a { 4253 border-color: #212121; 4254 } 4255 .announcement__icon { 4256 width: 1.3rem; 4257 height: 1.3rem; 4258 color: #212121; 4259 } 4260 .announcement__carousel-button, 4261 .announcement__close { 4262 color: #212121; 4263 } 4264 4265 @media screen and (max-width: 767px) { 4266 .announcement__text, 4267 .announcement__text a { 4268 font-size: 0.85rem; 4269 } 4270 4271 .announcement__icon { 4272 width: 1.2rem; 4273 height: 1.2rem; 4274 } 4275 } 4276 </style> 4277 4278 <announcement-bar 4279 id="sections--27888375038265__announcement-bar" 4280 4281autoplay="true" 4282 autoplay-delay="5000"> 4283 4284 <div class="announcement__wrapper"> 4285 <div class="announcement__carousel-container"> 4286 <ol class="announcement__carousel-wrapper"><li id="74b54b5f-1941-47da-a795-3ea21b574a1c" 4287 class="announcement announcement__carousel-slides" 4288 aria-label="1/3" 4289 data-slide-id="1" 4290 4291 ><div class="announcement__message"><div class="announcement__text announcement__text--body"> 4292 4293 <span>Free shipping on orders over 2,699 NOK in Norway</span></div></div></li><li id="announcement_yV93C8" 4294 class="announcement announcement__carousel-slides" 4295 aria-label="2/3" 4296 data-slide-id="2" 4297 4298 ><div class="announcement__message"><div class="announcement__text announcement__text--body"> 4299 4300 <span>Sustainable fashion</span></div></div></li><li id="announcement_U9QJwY" 4301 class="announcement announcement__carousel-slides" 4302 aria-label="3/3" 4303 data-slide-id="3" 4304 4305 ><div class="announcement__message"><div class="announcement__text announcement__text--body"> 4306 4307 <span>Fast delivery</span></div></div></li></ol> 4308 </div> 4309 </div> 4310 4311 </announcement-bar> 4312 4313 4314
4314<script> 4315 const sectionId = `sections--27888375038265__announcement-bar`; 4316 const announcementBar = document.getElementById(sectionId); 4317 if (sessionStorage.getItem(sectionId) === '0') { 4318 announcementBar.setAttribute('hidden', 'hidden'); 4319 } 4320 </script>
4320 4321 4322 4323
4323<script src="//lineofoslo.com/cdn/shop/t/59/assets/announcement-bar.js?v=21861922156043475381789730204" type="module"></script>
4323 4324<style> #shopify-section-sections--27888375038265__announcement-bar .announcement__carousel-button {display: none !important;} </style></div><div id="shopify-section-sections--27888375038265__header" class="shopify-section shopify-section-group-header-group shopify-section-header js-section__header"> 4325<style type="text/css"> 4326 :root { 4327 4328 --header-is-sticky:0; 4329 4330 --header-bg-color: #ffffff; 4331 --header-bg-color-darker: #f2f2f2; 4332 --header-text-color: #111111; 4333 --header-text-color-light: rgba(17, 17, 17, 0.7); 4334 --header-text-color-lighter: rgba(17, 17, 17, 0.5); 4335 --header-text-color-lightest: rgba(17, 17, 17, 0.1); 4336 --header-text-color-bg: rgba(17, 17, 17, 0.01); 4337 --header-transparent-text-color: #ffffff; 4338 --header-transparent-text-color-light: rgba(255, 255, 255, 0.3); 4339 --header-text-contrast-color: #fff; 4340 --header-transparent-text-contrast-color: #000; 4341 } 4342 4343 4344 4345 4346 .header, 4347 .header__logo, 4348 .header-trigger { 4349 height: calc(45px + 14px); 4350 } 4351 .header__logo-img { 4352 max-height: 45px; 4353 padding: 0; 4354 } 4355 .header__logo-ratio-box { 4356 height: 45px; 4357 } 4358 .header.header--center .header__logo { 4359 padding: 6px 0; 4360 } 4361 4362 @media screen and (max-width: 767px) { 4363 .header, 4364 .header__logo, 4365 .header-trigger, 4366 .header.header--center { 4367 height: calc(40px + 10px); 4368 } 4369 .header__logo-img { 4370 max-height: 40px; 4371 } 4372 .header__logo-ratio-box { 4373 height: auto; 4374 max-height: 40px; 4375 } 4376 .header.header--center .header__logo { 4377 padding: 0; 4378 } 4379 } 4380 4381 .header--mega .primary-nav .nav__sub { 4382 padding-top: calc(((45px + 14px) / 2) - 16px); 4383 } 4384 4385 4386 4387 4388</style> 4389 4390<header role="banner" id="top" class="header js-header header--not-sticky header--logo-left u-flex u-flex--middle u-flex--center header--mega header--search-enabled" data-section-id="sections--27888375038265__header" data-section-type="header-section" data-transparent-header="false" data-sticky-header="false" data-header-style="logo-left"> 4391 4392 <div class="header__logo u-flex u-flex--middle u-flex--center"> 4393 4394 <div class="header__logo-wrapper js-main-logo" itemscope itemtype="http://schema.org/Organization"> 4395 4396 4397 <a href="/" itemprop="url" class="header__logo-link"> 4398 <div class="header__logo-ratio-box" style="aspect-ratio: 4.6/1"> 4399 4400 <img src="//lineofoslo.com/cdn/shop/files/Logo_ny_black.png?height=90&v=1690201797" class="header__logo-img" alt="Line of Oslo" itemprop="logo" width="2344" height="506" loading="eager"> 4401 4402 4403 </div> 4404 4405 </a> 4406 4407 4408 </div> 4409 4410 </div> 4411 4412 <div class="header-trigger header-trigger--left mobile-draw-trigger-icon u-flex u-flex--middle js-mobile-draw-icon" style="display: none"> 4413 <a href="#" class="header-trigger__link header-trigger__link--mobile js-mobile-draw-trigger" aria-haspopup="dialog" aria-label="Menu"> 4414 <svg class="icon icon-menu" aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none"> 4415 <path d="M1 23H47" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> 4416 <line x1="1" y1="36" x2="47" y2="36" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> 4417 <line x1="1" y1="10" x2="47" y2="10" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> 4418</svg> 4419 </a> 4420 </div> 4421 4422 <div class="header-trigger header-trigger--far-right search-draw-trigger-icon u-flex u-flex--middle js-search-draw-icon" style="display: none"> 4423 <a href="/search" class="header-trigger__link header-trigger__link--search js-search-trigger" aria-haspopup="dialog" aria-label="Search"> 4424 <svg class="icon icon-search" aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none"> 4425 <path fill-rule="evenodd" clip-rule="evenodd" d="M29.3137 10.2365C35.5621 16.4849 35.5621 26.6155 29.3137 32.8639C23.0653 39.1123 12.9347 39.1123 6.68629 32.8639C0.437903 26.6155 0.437903 16.4849 6.68629 10.2365C12.9347 3.98807 23.0653 3.98807 29.3137 10.2365ZM30.7279 8.82225C37.7574 15.8517 37.7574 27.2487 30.7279 34.2781C23.6985 41.3075 12.3015 41.3075 5.27208 34.2781C-1.75736 27.2487 -1.75736 15.8517 5.27208 8.82225C12.3015 1.79281 23.6985 1.79281 30.7279 8.82225ZM34.5779 34.9792C34.1873 34.5886 33.5542 34.5886 33.1636 34.9792C32.7731 35.3697 32.7731 36.0029 33.1636 36.3934L44.4774 47.7071C44.8679 48.0976 45.501 48.0976 45.8916 47.7071C46.2821 47.3166 46.2821 46.6834 45.8916 46.2929L34.5779 34.9792Z" fill="currentColor"/> 4426</svg> 4427 </a> 4428 </div> 4429 4430 <div class="header-trigger header-trigger--right cart-draw-trigger-icon u-flex u-flex--middle js-cart-draw-icon" style="display: none"> 4431 <a href="/cart" class="header-trigger__link header-trigger__link--cart js-cart-icon" aria-haspopup="dialog" aria-label="Cart"> 4432 <svg class="icon icon-cart" aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none"> 4433 <path d="M41 17H7C5.89543 17 5 17.8954 5 19V45C5 46.1046 5.89543 47 7 47H41C42.1046 47 43 46.1046 43 45V19C43 17.8954 42.1046 17 41 17Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 4434 <path d="M15 13V10C15 7.61305 15.9482 5.32387 17.636 3.63604C19.3239 1.94821 21.6131 1 24 1C26.3869 1 28.6761 1.94821 3
44340.364 3.63604C32.0518 5.32387 33 7.61305 33 10V13" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 4435</svg> 4436 <div class="cart-count-bubble"> 4437 <span class="js-cart-count" aria-hidden="true">0</span> 4438 </div> 4439 </a> 4440 </div> 4441 4442 <div class="header-navs js-heaver-navs u-clearfix u-hidden@tab-down"> 4443 4444 <nav class="primary-nav header-navs__items js-primary-nav" role="navigation"> 4445 <ul class="primary-nav__items js-primary-nav-items"> 4446 4447 4448 4449 4450<li class="primary-nav__item primary-nav__item--sub js-header-sub-link f-family--body f-caps--false f-space--2"> 4451 <a href="/collections/view-all" class="primary-nav__link nav__link--sub js-header-sub-link-a" aria-expanded="false" aria-controls="sub-1">SHOP</a> 4452 4453 4454<div class="nav__sub nav__sub--cta-left js-nav-sub" id="sub-1"> 4455 <div class="nav__sub-wrap"> 4456 4457 4458 4459 <ul class="nav__sub__items nav__sub__items--16 nav__sub__items--single o-list-bare"> 4460 4461 4462 4463 4464 <li class="nav__sub__item nav__sub__item--active"> 4465 <a href="/collections/news" class="nav__sub__link" aria-expanded="false" aria-controls="sub-t-1-1">NEW IN</a> 4466 4467 4468 4469 </li> 4470 4471 4472 4473 4474 <li class="nav__sub__item"> 4475 <a href="/collections/dresses" class="nav__sub__link" aria-expanded="false" aria-controls="sub-t-1-2">Dresses</a> 4476 4477 4478 4479 </li> 4480 4481 4482 4483 4484 <li class="nav__sub__item"> 4485 <a href="/collections/tops" class="nav__sub__link" aria-expanded="false" aria-controls="sub-t-1-3">Tops</a> 4486 4487 4488 4489 </li> 4490 4491 4492 4493 4494 <li class="nav__sub__item"> 4495 <a href="/collections/skirts" class="nav__sub__link" aria-expanded="false" aria-controls="sub-t-1-4">Skirts</a> 4496 4497 4498 4499 </li> 4500 4501 4502 4503 4504 <li class="nav__sub__item"> 4505 <a href="/collections/most-wanted" class="nav__sub__link" aria-expanded="false" aria-controls="sub-t-1-5">Most Wanted</a> 4506 4507 4508 4509 </li> 4510 4511 4512 4513 4514 <li class="nav__sub__item"> 4515 <a href="/collections/trousers" class="nav__sub__link" aria-expanded="false" aria-controls="sub-t-1-6">Trousers</a> 4516 4517 4518 4519 </li> 4520 4521 4522 4523 4524 <li class="nav__sub__item"> 4525 <a href="/collections/jeans" class="nav__sub__link" aria-expanded="false" aria-controls="sub-t-1-7">Jeans</a> 4526 4527 4528 4529 </li> 4530 4531 4532 4533 4534 <li class="nav__sub__item"> 4535 <a href="/collections/suits" class="nav__sub__link" aria-expanded="false" aria-controls="sub-t-1-8">Suits</a> 4536 4537 4538 4539 </li> 4540 4541 4542 4543 4544 <li class="nav__sub__item"> 4545 <a href="/collections/blazers" class="nav__sub__link" aria-expanded="false" aria-controls="sub-t-1-9">Blazers</a> 4546 4547 4548 4549 </li> 4550 4551 4552 4553 4554 <li class="nav__sub__item"> 4555 <a href="/collections/jackets" class="nav__sub__link" aria-expanded="false" aria-controls="sub-t-1-10">Jackets</a> 4556 4557 4558 4559 </li> 4560 4561 4562 4563 4564 <li class="nav__sub__item"> 4565 <a href="/collections/knitwear"
4565class="nav__sub__link" aria-expanded="false" aria-controls="sub-t-1-11">Knitwear</a> 4566 4567 4568 4569 </li> 4570 4571 4572 4573 4574 <li class="nav__sub__item"> 4575 <a href="/collections/sets" class="nav__sub__link" aria-expanded="false" aria-controls="sub-t-1-12">Sets</a> 4576 4577 4578 4579 </li> 4580 4581 4582 4583 4584 <li class="nav__sub__item"> 4585 <a href="/collections/basics" class="nav__sub__link" aria-expanded="false" aria-controls="sub-t-1-13">Basics</a> 4586 4587 4588 4589 </li> 4590 4591 4592 4593 4594 <li class="nav__sub__item"> 4595 <a href="/collections/lounge-wear" class="nav__sub__link" aria-expanded="false" aria-controls="sub-t-1-14">Loungewear</a> 4596 4597 4598 4599 </li> 4600 4601 4602 4603 4604 <li class="nav__sub__item"> 4605 <a href="/collections/shorts" class="nav__sub__link" aria-expanded="false" aria-controls="sub-t-1-15">Shorts</a> 4606 4607 4608 4609 </li> 4610 4611 4612 4613 4614 <li class="nav__sub__item"> 4615 <a href="/collections/accessories" class="nav__sub__link" aria-expanded="false" aria-controls="sub-t-1-16">Accessorise</a> 4616 4617 4618 4619 </li> 4620 4621 4622 4623 4624 </ul> 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 </div> 4635 </div> 4636 4637 4638 </li> 4639 4640 4641 4642<li class="primary-nav__item primary-nav__item--active f-family--body f-caps--false f-space--2"> 4643 <a href="/collections/news" class="primary-nav__link " >NEWS</a> 4644 4645 4646 4647 </li> 4648 4649 4650 4651<li class="primary-nav__item f-family--body f-caps--false f-space--2"> 4652 <a href="/collections/outlet" class="primary-nav__link " >OUTLET</a> 4653 4654 4655 4656 </li> 4657 4658 4659 4660<li class="primary-nav__item f-family--body f-caps--false f-space--2"> 4661 <a href="/pages/return-exchanges" class="primary-nav__link " >RETURN & EXCHANGES</a> 4662 4663 4664 4665 </li> 4666 4667 4668 4669<li class="primary-nav__item f-family--body f-caps--false f-space--2"> 4670 <a href="/blogs/artikler/line-magazine-the-birthday-edition-20-years-of-line-of-oslo" class="primary-nav__link " >LOO MAGAZINE</a> 4671 4672 4673 4674 </li> 4675 4676 4677 4678<li class="primary-nav__item f-family--body f-caps--false f-space--2"> 4679 <a href="/pages/loyalty-program" class="primary-nav__link " >LOO FAMILY CLUB</a> 4680 4681 4682 4683 </li> 4684 4685 </ul> 4686 </nav> 4687 4688 <nav class="secondary-nav header-navs__items js-secondary-nav"> 4689 <ul class="secondary-nav__items secondary-nav__items--icon"> 4690 4691 <li class="secondary-nav__item secondary-nav__item--account secondary-nav__link--icon"> 4692 <a href="https://line-of-oslo-demo.myshopify.com/customer_authentication/login?return_to=%2Fpages%2Floyalty-program" class="secondary-nav__link"><svg class="icon icon-user" aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none"> 4693 <path fill-rule="evenodd" clip-rule="evenodd" d="M24 21.8694C28.9706 21.8694 33 17.8399 33 12.8694C33 7.89882 28.9706 3.86938 24 3.86938C19.0294 3.86938 15 7.89882 15 12.8694C15 17.8399 19.0294 21.8694 24 21.8694ZM24 23.8694C30.0751 23.8694 35 18.9445 35 12.8694C35 6.79425 30.0751 1.86938 24 1.86938C17.9249 1.86938 13 6.79425 13 12.8694C13 18.9445 17.9249 23.8694 24 23.8694Z" fill="currentColor"/> 4694 <path fill-rule="evenodd" clip-rule="evenodd" d="M42 45.9117V45.9117C42 45.9605 41.9
4694603 46 41.9114 46H6.0886C6.03972 46 6 45.9605 6 45.9117V45.9117C6 36.0277 14.0505 28 24 28C33.9495 28 42 36.0277 42 45.9117ZM42.8956 48V48C43.4615 48 43.9394 47.5727 43.9702 47.0076C43.99 46.6448 44 46.2794 44 45.9117C44 34.9148 35.0457 26 24 26C12.9543 26 4 34.9148 4 45.9117C4 46.2794 4.01001 46.6447 4.02978 47.0075C4.06057 47.5727 4.53848 48 5.10443 48V48H6.1211H41.8789H42.8956Z" fill="currentColor"/> 4695</svg> 4696</a> 4697 </li> 4698 4699 4700 4701 <li class="secondary-nav__item f-family--body f-caps--false f-space--2"> 4702 4703 <a href="/cart" class="secondary-nav__link secondary-nav__item--cart secondary-nav__link--icon" aria-haspopup="dialog" aria-label="Cart"><svg class="icon icon-cart" aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none"> 4704 <path d="M41 17H7C5.89543 17 5 17.8954 5 19V45C5 46.1046 5.89543 47 7 47H41C42.1046 47 43 46.1046 43 45V19C43 17.8954 42.1046 17 41 17Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 4705 <path d="M15 13V10C15 7.61305 15.9482 5.32387 17.636 3.63604C19.3239 1.94821 21.6131 1 24 1C26.3869 1 28.6761 1.94821 30.364 3.63604C32.0518 5.32387 33 7.61305 33 10V13" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 4706</svg> 4707 <div class="cart-count-bubble"> 4708 <span class="js-cart-count" aria-hidden="true">0</span> 4709 </div></a> 4710 </li> 4711 4712 4713 <li class="secondary-nav__item secondary-nav__item--search f-family--body f-caps--false f-space--2"> 4714 <a href="/search" class="secondary-nav__link secondary-nav__link--search js-search-trigger secondary-nav__link--icon" aria-haspopup="dialog" aria-label="Search"><svg class="icon icon-search" aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none"> 4715 <path fill-rule="evenodd" clip-rule="evenodd" d="M29.3137 10.2365C35.5621 16.4849 35.5621 26.6155 29.3137 32.8639C23.0653 39.1123 12.9347 39.1123 6.68629 32.8639C0.437903 26.6155 0.437903 16.4849 6.68629 10.2365C12.9347 3.98807 23.0653 3.98807 29.3137 10.2365ZM30.7279 8.82225C37.7574 15.8517 37.7574 27.2487 30.7279 34.2781C23.6985 41.3075 12.3015 41.3075 5.27208 34.2781C-1.75736 27.2487 -1.75736 15.8517 5.27208 8.82225C12.3015 1.79281 23.6985 1.79281 30.7279 8.82225ZM34.5779 34.9792C34.1873 34.5886 33.5542 34.5886 33.1636 34.9792C32.7731 35.3697 32.7731 36.0029 33.1636 36.3934L44.4774 47.7071C44.8679 48.0976 45.501 48.0976 45.8916 47.7071C46.2821 47.3166 46.2821 46.6834 45.8916 46.2929L34.5779 34.9792Z" fill="currentColor"/> 4716</svg> 4717</a> 4718 </li> 4719 4720 4721 </ul> 4722 </nav> 4723 4724 </div> 4725</header>
4726<script> 4727 theme.setUpHeaderResizeObservers(); 4728</script>
4728 4729 4730 4731</div><div id="shopify-section-sections--27888375038265__mobile-drawer" class="shopify-section shopify-section-group-header-group js-section__mobile-draw"><style> 4732.mobile-draw, 4733.mobile-draw .mfp-close { 4734 background-color: #ffffff; 4735} 4736.mobile-draw__localize { 4737 background-color: #f7f7f7; 4738} 4739</style> 4740 4741<div class="mobile-draw mobile-draw--dark js-menu-draw mfp-hide"><div class="mobile-draw__localize localize mobile-localize localize--single"><form method="post" action="/localization" id="MobileDrawerLocalizeForm" accept-charset="UTF-8" class="localize__form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/collections/news/products/krista-check-skjorte" /> 4742</form></div><div class="mobile-draw__wrapper"> 4743 4744 <nav class="mobile-draw__nav mobile-nav"> 4745 <ul class="mobile-nav__items o-list-bare mldmob"> 4746 4747 4748 4749 <li class="mobile-nav__item mobile-nav__item--sub f-family--body f-caps--false f-space--2" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-1"> 4750 <a href="#mobile-sub-1" class="mobile-nav__link mobile-nav__link--sub js-toggle-trigger">SHOP</a> 4751 4752 4753 <div class="mobile-nav__sub js-toggle-target" id="mobile-sub-1"> 4754 <ul class="mobile-nav__sub__items o-list-bare"> 4755 4756 4757 <li class="mobile-nav__sub__item mobile-nav__sub__item--active" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-1-1"> 4758 <a href="/collections/news" class="mobile-nav__sub__link">NEW IN</a> 4759 4760 4761 4762 </li> 4763 4764 <li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-1-2"> 4765 <a href="/collections/dresses" class="mobile-nav__sub__link">Dresses</a> 4766 4767 4768 4769 </li> 4770 4771 <li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-1-3"> 4772 <a href="/collections/tops" class="mobile-nav__sub__link">Tops</a> 4773 4774 4775 4776 </li> 4777 4778 <li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-1-4"> 4779 <a href="/collections/skirts" class="mobile-nav__sub__link">Skirts</a> 4780 4781 4782 4783 </li> 4784 4785 <li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-1-5"> 4786 <a href="/collections/most-wanted" class="mobile-nav__sub__link">Most Wanted</a> 4787 4788 4789 4790 </li> 4791 4792 <li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-1-6"> 4793 <a href="/collections/trousers" class="mobile-nav__sub__link">Trousers</a> 4794 4795 4796 4797 </li> 4798 4799 <li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-1-7"> 4800 <a href="/collections/jeans" class="mobile-nav__sub__link">Jeans</a> 4801 4802 4803 4804 </li> 4805 4806 <li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-1-8"> 4807 <a href="/collections/suits" class="mobile-nav__sub__link">Suits</a> 4808 4809 4810 4811 </li> 4812 4813 <li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-1-9"> 4814 <a href="/collections/blazers" class="mobile-nav__sub__link">Blazers</a> 4815 4816 4817 4818 </li> 4819 4820 <li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-1-10"> 4821 <a href="/collections/jackets" class="mobile-nav__sub__link">Jackets</a> 4822 4823 4824 4825 </li> 4826 4827 <li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-1-11"> 4828 <a href="/collections/knitwear"
4828class="mobile-nav__sub__link">Knitwear</a> 4829 4830 4831 4832 </li> 4833 4834 <li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-1-12"> 4835 <a href="/collections/sets" class="mobile-nav__sub__link">Sets</a> 4836 4837 4838 4839 </li> 4840 4841 <li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-1-13"> 4842 <a href="/collections/basics" class="mobile-nav__sub__link">Basics</a> 4843 4844 4845 4846 </li> 4847 4848 <li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-1-14"> 4849 <a href="/collections/lounge-wear" class="mobile-nav__sub__link">Loungewear</a> 4850 4851 4852 4853 </li> 4854 4855 <li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-1-15"> 4856 <a href="/collections/shorts" class="mobile-nav__sub__link">Shorts</a> 4857 4858 4859 4860 </li> 4861 4862 <li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-1-16"> 4863 <a href="/collections/accessories" class="mobile-nav__sub__link">Accessorise</a> 4864 4865 4866 4867 </li> 4868 4869 </ul> 4870 </div> 4871 4872 </li> 4873 4874 4875 <li class="mobile-nav__item mobile-nav__item--active f-family--body f-caps--false f-space--2"> 4876 <a href="/collections/news" class="mobile-nav__link">NEWS</a> 4877 4878 4879 </li> 4880 4881 4882 <li class="mobile-nav__item f-family--body f-caps--false f-space--2"> 4883 <a href="/collections/outlet" class="mobile-nav__link">OUTLET</a> 4884 4885 4886 </li> 4887 4888 4889 <li class="mobile-nav__item f-family--body f-caps--false f-space--2"> 4890 <a href="/pages/return-exchanges" class="mobile-nav__link">RETURN & EXCHANGES</a> 4891 4892 4893 </li> 4894 4895 4896 <li class="mobile-nav__item f-family--body f-caps--false f-space--2"> 4897 <a href="/blogs/artikler/line-magazine-the-birthday-edition-20-years-of-line-of-oslo" class="mobile-nav__link">LOO MAGAZINE</a> 4898 4899 4900 </li> 4901 4902 4903 <li class="mobile-nav__item f-family--body f-caps--false f-space--2"> 4904 <a href="/pages/loyalty-program" class="mobile-nav__link">LOO FAMILY CLUB</a> 4905 4906 4907 </li> 4908 4909 4910 4911 4912 <li class="mobile-nav__item f-family--body f-caps--false f-space--2"> 4913 <a href="https://line-of-oslo-demo.myshopify.com/customer_authentication/login?return_to=%2Fpages%2Floyalty-program" class="mobile-nav__link">Log in</a> 4914 </li> 4915 4916 4917 </ul> 4918 </nav> 4919 4920 <div class="mobile-draw__footer mobile-footer"> 4921 4922 4923 <ul class="mobile-footer__social-items o-list-bare"> 4924 4925 <li class="mobile-footer__social-item"> 4926 <a href="https://www.facebook.com/LineOfOslo/" class="mobile-footer__social-link icon-fallback" target="_blank" rel="noopener"> 4927 <i class="icon icon--facebook" aria-hidden="true"></i>
4928 <span class="icon-fallback__text">Facebook</span> 4929 </a> 4930 </li> 4931 4932 4933 4934 4935 <li class="mobile-footer__social-item"> 4936 <a href="https://www.instagram.com/lineofoslo/" class="mobile-footer__social-link icon-fallback" target="_blank" rel="noopener"> 4937 <i class="icon icon--instagram" aria-hidden="true"></i> 4938 <span class="icon-fallback__text">Instagram</span> 4939 </a> 4940 </li> 4941 4942 4943 4944 4945 4946 4947 4948 4949 </ul> 4950 4951 </div> 4952 4953 4954 4955 </div> 4956</div> 4957 4958 4959</div> 4960<!-- END sections: header-group --> 4961 4962 <!-- BEGIN sections: popup-group --> 4963 4964<!-- END sections: popup-group --> 4965 4966 <div class="main" id="main"> 4967 <div class="icartShopifyCartContent"> 4968<div id="shopify-section-template--27888374645049__main" class="shopify-section js-section__product-single"> 4969<div id="ProductSection-template--27888374645049__main"> 4970 <section class="section section--product-single section--template--27888374645049__main" data-section-id="template--27888374645049__main" data-section-type="product-single"> 4971 4972 <div class="product-single product-single--minimal product-single--10276261626169 js-product-10276261626169 js-product-single" data-product-id="10276261626169"> 4973 <div class="product-single__top"> 4974 4975 4976 <div class="container container--small "> 4977 <nav class="breadcrumb breadcrumb--product-single u-text-center js-breadcrumb" role="navigation" aria-label="breadcrumbs"> 4978 <ul class="breadcrumb__items o-list-bare o-list-inline"> 4979 <li class="breadcrumb__item o-list-inline__item"> 4980 <a href="/" title="Home" class="breadcrumb__link u-small">Home</a> 4981 </li> 4982 4983 <li class="breadcrumb__item o-list-inline__item"> 4984 <a href="/collections/news" class="breadcrumb__link u-small">NEW IN</a> 4985 </li> 4986 4987 <li class="breadcrumb__item o-list-inline__item"> 4988 <span href="/" class="breadcrumb__link u-small breadcrumb__link--current">Line of Oslo Krista Check Shirt</span> 4989 </li> 4990 </ul> 4991 </nav> 4992 </div> 4993 4994 </div> 4995 4996 <div class="container container--large "> 4997 <div class="product-single__bottom"> 4998 <div class="o-layout u-flex o-layout--large"> 4999 <div class="o-layout__item u-1/1 u-3/5@desk"><product-media-sticky><div class=""><product-media-zoom> 5000 5001<style> 5002 .media-gallery--loading { 5003 position: relative; 5004 overflow: hidden; 5005 visibility: hidden; 5006 } 5007 .media-gallery--loading::before { 5008 content: ''; 5009 display: block; 5010 float: left; 5011 position: relative; 5012 width: 100%; 5013 padding-bottom: 100.0%; 5014 } 5015 .media-gallery__slider--loading { 5016 position: absolute; 5017 left: 0; 5018 top: 0; 5019 width: 100%; 5020 } 5021</style> 5022<noscript> 5023 <style> 5024 .media-gallery--loading { 5025 visibility: visible; 5026 } 5027 .media-gallery--loading::before { 5028 display: none; 5029 } 5030 .media-gallery__slider--loading { 5031 position: relative; 5032 } 5033 </style> 5034</noscript> 5035 5036<div 5037 class=" 5038 media-gallery 5039 media-gallery--loading 5040 media-gallery--large 5041 5042 5043 " 5044 data-product-media-wrapper 5045 data-product-media-group 5046 data-enable-video-looping="false" 5047 style="--thumb-column-width: 77px" 5048> 5049 5050 <div 5051 id="template--27888374645049__main-slider" 5052 class=" 5053 media-gallery__slider 5054 media-gallery__slider--loading 5055 js-product-slider 5056 js-product-slider-single 5057 "
5058 data-slider-id="template--27888374645049__main-slider" 5059 data-thumbnails-size="70:70" 5060 data-slide-id="3" 5061 > 5062 5063 5064 5065 5066 5067 5068 5069 <div class="media-gallery__wrapper" notab="notab"> 5070 5071 5072<div class=" 5073 media-gallery__item 5074 media-gallery__item--image 5075 " 5076 data-slide-id="0" 5077 data-image-slide-index="0" 5078 data-media-id="45966012645689" 5079 > 5080 <div 5081 class="o-ratio o-ratio--1:1" 5082 5083 > 5084 5085 <div class="o-ratio__content"><a class="media-gallery__link" 5086 href="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209" 5087 data-pswp-height="2017" 5088 data-pswp-width="1346" 5089 data-slide-id="0" 5090 ><img 5091 class="media-gallery__image" 5092 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209&width=600" 5093 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209&width=180 180w 270h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209&width=360 360w 539h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209&width=540 540w 809h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209&width=720 720w 1079h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209&width=900 900w 1349h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209&width=1080 1080w 1618h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209&width=1296 1296w 1942h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209 1346w 2017h" 5094 data-media-id="45966012645689" 5095 width="600" 5096 height="899" 5097 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063" 5098 5099 loading="lazy" 5100 5101 sizes="(min-width: 1400px) 732px, (min-width: 981px) 50vw, calc(100vw - 72px)" 5102 /> 5103 5104<image-skeleton aria-label="Loading image: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063"> 5105 <svg 5106 id="visual" 5107 viewBox="0 0 600 899" 5108 width="600" 5109 height="899" 5110 xmlns="http://www.w3.org/2000/svg" 5111 > 5112 <rect x="0" y="0" width="600" height="899"></rect> 5113 </svg> 5114</image-skeleton> 5115 5116</a> 5117 5118 </div> 5119 </div> 5120 5121 </div> 5122 5123 5124 5125 </div> 5126 5127 5128 5129 5130 5131 <div class="media-gallery__wrapper" notab="notab"> 5132 5133 5134<div class=" 5135 media-gallery__item 5136 media-gallery__item--image 5137 " 5138 data-slide-id="1" 5139 data-image-slide-index="1" 5140 data-media-id="45966012612921" 5141 > 5142 <div 5143 class="o-ratio o-ratio--1:1" 5144 5145 > 5146 5147 <div class="o-ratio__content"><a class="media-gallery__link" 5148 href="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-14.png?v=1789652209" 5149 data-pswp-height="2017" 5150 data-pswp-width="1346" 5151 data-slide-id="1" 5152 ><img 5153 class="media-gallery__image" 5154 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-
5154Blouse-262-051-14.png?v=1789652209&width=600" 5155 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-14.png?v=1789652209&width=180 180w 270h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-14.png?v=1789652209&width=360 360w 539h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-14.png?v=1789652209&width=540 540w 809h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-14.png?v=1789652209&width=720 720w 1079h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-14.png?v=1789652209&width=900 900w 1349h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-14.png?v=1789652209&width=1080 1080w 1618h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-14.png?v=1789652209&width=1296 1296w 1942h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-14.png?v=1789652209 1346w 2017h" 5156 data-media-id="45966012612921" 5157 width="600" 5158 height="899" 5159 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063" 5160 5161 loading="lazy" 5162 5163 sizes="(min-width: 1400px) 732px, (min-width: 981px) 50vw, calc(100vw - 72px)" 5164 /> 5165 5166<image-skeleton aria-label="Loading image: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063"> 5167 <svg 5168 id="visual" 5169 viewBox="0 0 600 899" 5170 width="600" 5171 height="899" 5172 xmlns="http://www.w3.org/2000/svg" 5173 > 5174 <rect x="0" y="0" width="600" height="899"></rect> 5175 </svg> 5176</image-skeleton> 5177 5178</a> 5179 5180 </div> 5181 </div> 5182 5183 </div> 5184 5185 5186 5187 </div> 5188 5189 5190 5191 5192 5193 <div class="media-gallery__wrapper" notab="notab"> 5194 5195 5196<div class=" 5197 media-gallery__item 5198 media-gallery__item--image 5199 " 5200 data-slide-id="2" 5201 data-image-slide-index="2" 5202 data-media-id="45801745023289" 5203 > 5204 <div 5205 class="o-ratio o-ratio--1:1" 5206 5207 > 5208 5209 <div class="o-ratio__content"><a class="media-gallery__link" 5210 href="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-13.jpg?v=1788170877" 5211 data-pswp-height="3087" 5212 data-pswp-width="2060" 5213 data-slide-id="2" 5214 ><img 5215 class="media-gallery__image" 5216 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-13.jpg?v=1788170877&width=600" 5217 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-13.jpg?v=1788170877&width=180 180w 270h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-13.jpg?v=1788170877&width=360 360w 539h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-13.jpg?v=1788170877&width=540 540w 809h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-13.jpg?v=1788170877&width=720 720w 1079h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-13.jpg?v=1788170877&width=900 900w 1349h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-13.jpg?v=1788170877&width=1080 1080w 1618h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-13.jpg?v=1788170877&width=1296 1296w 1942h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-13.jpg?v=1788170877&width=1512 1512w 2266h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-13.jpg?v=1788170877&width=1728 1728w 2589h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-
5217Blouse-262-051-13.jpg?v=1788170877&width=2048 2048w 3069h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-13.jpg?v=1788170877 2060w 3087h" 5218 data-media-id="45801745023289" 5219 width="600" 5220 height="899" 5221 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063" 5222 5223 loading="lazy" 5224 5225 sizes="(min-width: 1400px) 732px, (min-width: 981px) 50vw, calc(100vw - 72px)" 5226 /> 5227 5228<image-skeleton aria-label="Loading image: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063"> 5229 <svg 5230 id="visual" 5231 viewBox="0 0 600 899" 5232 width="600" 5233 height="899" 5234 xmlns="http://www.w3.org/2000/svg" 5235 > 5236 <rect x="0" y="0" width="600" height="899"></rect> 5237 </svg> 5238</image-skeleton> 5239 5240</a> 5241 5242 </div> 5243 </div> 5244 5245 </div> 5246 5247 5248 5249 </div> 5250 5251 5252 5253 5254 5255 <div class="media-gallery__wrapper" notab="notab"> 5256 5257 5258<div class=" 5259 media-gallery__item 5260 media-gallery__item--image 5261 " 5262 data-slide-id="3" 5263 data-image-slide-index="3" 5264 data-media-id="45663127667001" 5265 > 5266 <div 5267 class="o-ratio o-ratio--1:1" 5268 5269 > 5270 5271 <div class="o-ratio__content"><a class="media-gallery__link" 5272 href="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246" 5273 data-pswp-height="2521" 5274 data-pswp-width="1683" 5275 data-slide-id="3" 5276 ><img 5277 class="media-gallery__image" 5278 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246&width=600" 5279 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246&width=180 180w 270h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246&width=360 360w 539h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246&width=540 540w 809h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246&width=720 720w 1079h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246&width=900 900w 1348h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246&width=1080 1080w 1618h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246&width=1296 1296w 1941h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246&width=1512 1512w 2265h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246 1683w 2521h" 5280 data-media-id="45663127667001" 5281 width="600" 5282 height="899" 5283 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097" 5284 5285 loading="eager" 5286 5287 sizes="(min-width: 1400px) 732px, (min-width: 981px) 50vw, calc(100vw - 72px)" 5288 /> 5289 5290<image-skeleton aria-label="Loading image: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097"> 5291 <svg 5292 id="visual"
5293 viewBox="0 0 600 899" 5294 width="600" 5295 height="899" 5296 xmlns="http://www.w3.org/2000/svg" 5297 > 5298 <rect x="0" y="0" width="600" height="899"></rect> 5299 </svg> 5300</image-skeleton> 5301 5302</a> 5303 5304 </div> 5305 </div> 5306 5307 </div> 5308 5309 5310 5311 </div> 5312 5313 5314 5315 5316 5317 <div class="media-gallery__wrapper" notab="notab"> 5318 5319 5320<div class=" 5321 media-gallery__item 5322 media-gallery__item--image 5323 " 5324 data-slide-id="4" 5325 data-image-slide-index="4" 5326 data-media-id="45436624896313" 5327 > 5328 <div 5329 class="o-ratio o-ratio--1:1" 5330 5331 > 5332 5333 <div class="o-ratio__content"><a class="media-gallery__link" 5334 href="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097.jpg?v=1784044785" 5335 data-pswp-height="1996" 5336 data-pswp-width="1331" 5337 data-slide-id="4" 5338 ><img 5339 class="media-gallery__image" 5340 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097.jpg?v=1784044785&width=600" 5341 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097.jpg?v=1784044785&width=180 180w 270h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097.jpg?v=1784044785&width=360 360w 540h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097.jpg?v=1784044785&width=540 540w 810h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097.jpg?v=1784044785&width=720 720w 1080h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097.jpg?v=1784044785&width=900 900w 1350h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097.jpg?v=1784044785&width=1080 1080w 1620h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097.jpg?v=1784044785&width=1296 1296w 1944h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097.jpg?v=1784044785 1331w 1996h" 5342 data-media-id="45436624896313" 5343 width="600" 5344 height="900" 5345 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097" 5346 5347 loading="lazy" 5348 5349 sizes="(min-width: 1400px) 732px, (min-width: 981px) 50vw, calc(100vw - 72px)" 5350 /> 5351 5352<image-skeleton aria-label="Loading image: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097"> 5353 <svg 5354 id="visual" 5355 viewBox="0 0 600 900" 5356 width="600" 5357 height="900" 5358 xmlns="http://www.w3.org/2000/svg" 5359 > 5360 <rect x="0" y="0" width="600" height="900"></rect> 5361 </svg> 5362</image-skeleton> 5363 5364</a> 5365 5366 </div> 5367 </div> 5368 5369 </div> 5370 5371 5372 5373 </div> 5374 5375 5376 5377 5378 5379 <div class="media-gallery__wrapper" notab="notab"> 5380 5381 5382<div class=" 5383 media-gallery__item 5384 media-gallery__item--image 5385 " 5386 data-slide-id="5" 5387 data-image-slide-index="5" 5388 data-media-id="45436624929081" 5389 > 5390 <div 5391 class="o-ratio o-ratio--1:1" 5392 5393 > 5394 5395 <div class="o-ratio__content"><a class="media-gallery__link" 5396 href="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-1.jpg?v=1784044786" 5397 data-pswp-height="2298" 5398 data-pswp-width="1533"
5399 data-slide-id="5" 5400 ><img 5401 class="media-gallery__image" 5402 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-1.jpg?v=1784044786&width=600" 5403 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-1.jpg?v=1784044786&width=180 180w 270h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-1.jpg?v=1784044786&width=360 360w 540h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-1.jpg?v=1784044786&width=540 540w 809h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-1.jpg?v=1784044786&width=720 720w 1079h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-1.jpg?v=1784044786&width=900 900w 1349h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-1.jpg?v=1784044786&width=1080 1080w 1619h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-1.jpg?v=1784044786&width=1296 1296w 1943h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-1.jpg?v=1784044786&width=1512 1512w 2267h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-1.jpg?v=1784044786 1533w 2298h" 5404 data-media-id="45436624929081" 5405 width="600" 5406 height="899" 5407 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097" 5408 5409 loading="lazy" 5410 5411 sizes="(min-width: 1400px) 732px, (min-width: 981px) 50vw, calc(100vw - 72px)" 5412 /> 5413 5414<image-skeleton aria-label="Loading image: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097"> 5415 <svg 5416 id="visual" 5417 viewBox="0 0 600 899" 5418 width="600" 5419 height="899" 5420 xmlns="http://www.w3.org/2000/svg" 5421 > 5422 <rect x="0" y="0" width="600" height="899"></rect> 5423 </svg> 5424</image-skeleton> 5425 5426</a> 5427 5428 </div> 5429 </div> 5430 5431 </div> 5432 5433 5434 5435 </div> 5436 5437 5438 5439 5440 5441 <div class="media-gallery__wrapper" notab="notab"> 5442 5443 5444<div class=" 5445 media-gallery__item 5446 media-gallery__item--image 5447 " 5448 data-slide-id="6" 5449 data-image-slide-index="6" 5450 data-media-id="45436624961849" 5451 > 5452 <div 5453 class="o-ratio o-ratio--1:1" 5454 5455 > 5456 5457 <div class="o-ratio__content"><a class="media-gallery__link" 5458 href="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-2.jpg?v=1784044786" 5459 data-pswp-height="1991" 5460 data-pswp-width="1328" 5461 data-slide-id="6" 5462 ><img 5463 class="media-gallery__image" 5464 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-2.jpg?v=1784044786&width=600" 5465 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-2.jpg?v=1784044786&width=180 180w 270h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-2.jpg?v=1784044786&width=360 360w 540h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-2.jpg?v=1784044786&width=540 540w 810h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-2.jpg?v=1784044786&width=720 720w 1079h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-2.jpg?v=1784044786&width=900 900w 1349h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-
5465Blouse-262-051-Black_097-2.jpg?v=1784044786&width=1080 1080w 1619h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-2.jpg?v=1784044786&width=1296 1296w 1943h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-2.jpg?v=1784044786 1328w 1991h" 5466 data-media-id="45436624961849" 5467 width="600" 5468 height="900" 5469 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097" 5470 5471 loading="lazy" 5472 5473 sizes="(min-width: 1400px) 732px, (min-width: 981px) 50vw, calc(100vw - 72px)" 5474 /> 5475 5476<image-skeleton aria-label="Loading image: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097"> 5477 <svg 5478 id="visual" 5479 viewBox="0 0 600 900" 5480 width="600" 5481 height="900" 5482 xmlns="http://www.w3.org/2000/svg" 5483 > 5484 <rect x="0" y="0" width="600" height="900"></rect> 5485 </svg> 5486</image-skeleton> 5487 5488</a> 5489 5490 </div> 5491 </div> 5492 5493 </div> 5494 5495 5496 5497 </div> 5498 5499 5500 5501 5502 5503 <div class="media-gallery__wrapper" notab="notab"> 5504 5505 5506<div class=" 5507 media-gallery__item 5508 media-gallery__item--image 5509 " 5510 data-slide-id="7" 5511 data-image-slide-index="7" 5512 data-media-id="45436624994617" 5513 > 5514 <div 5515 class="o-ratio o-ratio--1:1" 5516 5517 > 5518 5519 <div class="o-ratio__content"><a class="media-gallery__link" 5520 href="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-3.jpg?v=1784044786" 5521 data-pswp-height="1496" 5522 data-pswp-width="998" 5523 data-slide-id="7" 5524 ><img 5525 class="media-gallery__image" 5526 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-3.jpg?v=1784044786&width=600" 5527 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-3.jpg?v=1784044786&width=180 180w 270h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-3.jpg?v=1784044786&width=360 360w 540h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-3.jpg?v=1784044786&width=540 540w 809h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-3.jpg?v=1784044786&width=720 720w 1079h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-3.jpg?v=1784044786&width=900 900w 1349h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-3.jpg?v=1784044786 998w 1496h" 5528 data-media-id="45436624994617" 5529 width="600" 5530 height="899" 5531 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097" 5532 5533 loading="lazy" 5534 5535 sizes="(min-width: 1400px) 732px, (min-width: 981px) 50vw, calc(100vw - 72px)" 5536 /> 5537 5538<image-skeleton aria-label="Loading image: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097"> 5539 <svg 5540 id="visual" 5541 viewBox="0 0 600 899" 5542 width="600" 5543 height="899" 5544 xmlns="http://www.w3.org/2000/svg" 5545 > 5546 <rect x="0" y="0" width="600" height="899"></rect> 5547 </svg> 5548</image-skeleton> 5549 5550</a> 5551 5552 </div> 5553 </div> 5554 5555 </div> 5556 5557 5558 5559 </div> 5560 5561 5562 5563 5564 5565 <div class="media-gallery__wrapper" notab="notab"> 5566 5567 5568<div class=" 5569 media-gallery__item 5570 media-gallery__item--image 5571 "
5572 data-slide-id="8" 5573 data-image-slide-index="8" 5574 data-media-id="45436625027385" 5575 > 5576 <div 5577 class="o-ratio o-ratio--1:1" 5578 5579 > 5580 5581 <div class="o-ratio__content"><a class="media-gallery__link" 5582 href="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-4.jpg?v=1784044786" 5583 data-pswp-height="1975" 5584 data-pswp-width="1317" 5585 data-slide-id="8" 5586 ><img 5587 class="media-gallery__image" 5588 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-4.jpg?v=1784044786&width=600" 5589 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-4.jpg?v=1784044786&width=180 180w 270h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-4.jpg?v=1784044786&width=360 360w 540h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-4.jpg?v=1784044786&width=540 540w 810h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-4.jpg?v=1784044786&width=720 720w 1080h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-4.jpg?v=1784044786&width=900 900w 1350h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-4.jpg?v=1784044786&width=1080 1080w 1620h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-4.jpg?v=1784044786&width=1296 1296w 1944h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-4.jpg?v=1784044786 1317w 1975h" 5590 data-media-id="45436625027385" 5591 width="600" 5592 height="900" 5593 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097" 5594 5595 loading="lazy" 5596 5597 sizes="(min-width: 1400px) 732px, (min-width: 981px) 50vw, calc(100vw - 72px)" 5598 /> 5599 5600<image-skeleton aria-label="Loading image: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097"> 5601 <svg 5602 id="visual" 5603 viewBox="0 0 600 900" 5604 width="600" 5605 height="900" 5606 xmlns="http://www.w3.org/2000/svg" 5607 > 5608 <rect x="0" y="0" width="600" height="900"></rect> 5609 </svg> 5610</image-skeleton> 5611 5612</a> 5613 5614 </div> 5615 </div> 5616 5617 </div> 5618 5619 5620 5621 </div> 5622 5623 5624 5625 5626 5627 <div class="media-gallery__wrapper" notab="notab"> 5628 5629 5630<div class=" 5631 media-gallery__item 5632 media-gallery__item--image 5633 " 5634 data-slide-id="9" 5635 data-image-slide-index="9" 5636 data-media-id="45590928326969" 5637 > 5638 <div 5639 class="o-ratio o-ratio--1:1" 5640 5641 > 5642 5643 <div class="o-ratio__content"><a class="media-gallery__link" 5644 href="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190" 5645 data-pswp-height="2058" 5646 data-pswp-width="1372" 5647 data-slide-id="9" 5648 ><img 5649 class="media-gallery__image" 5650 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190&width=600" 5651 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190&width=180 180w 270h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-
5651Blouse-262-051-10.jpg?v=1785328190&width=360 360w 540h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190&width=540 540w 810h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190&width=720 720w 1080h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190&width=900 900w 1350h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190&width=1080 1080w 1620h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190&width=1296 1296w 1944h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190 1372w 2058h" 5652 data-media-id="45590928326969" 5653 width="600" 5654 height="900" 5655 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Blue 066" 5656 5657 loading="lazy" 5658 5659 sizes="(min-width: 1400px) 732px, (min-width: 981px) 50vw, calc(100vw - 72px)" 5660 /> 5661 5662<image-skeleton aria-label="Loading image: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Blue 066"> 5663 <svg 5664 id="visual" 5665 viewBox="0 0 600 900" 5666 width="600" 5667 height="900" 5668 xmlns="http://www.w3.org/2000/svg" 5669 > 5670 <rect x="0" y="0" width="600" height="900"></rect> 5671 </svg> 5672</image-skeleton> 5673 5674</a> 5675 5676 </div> 5677 </div> 5678 5679 </div> 5680 5681 5682 5683 </div> 5684 5685 5686 5687 5688 5689 <div class="media-gallery__wrapper" notab="notab"> 5690 5691 5692<div class=" 5693 media-gallery__item 5694 media-gallery__item--image 5695 " 5696 data-slide-id="10" 5697 data-image-slide-index="10" 5698 data-media-id="45663126585657" 5699 > 5700 <div 5701 class="o-ratio o-ratio--1:1" 5702 5703 > 5704 5705 <div class="o-ratio__content"><a class="media-gallery__link" 5706 href="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152" 5707 data-pswp-height="2017" 5708 data-pswp-width="1346" 5709 data-slide-id="10" 5710 ><img 5711 class="media-gallery__image" 5712 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152&width=600" 5713 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152&width=180 180w 270h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152&width=360 360w 539h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152&width=540 540w 809h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152&width=720 720w 1079h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152&width=900 900w 1349h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152&width=1080 1080w 1618h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152&width=1296 1296w 1942h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152 1346w 2017h" 5714 data-media-id="45663126585657" 5715 width="600" 5716 height="899" 5717 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008" 5718 5719 loading="lazy" 5720 5721 sizes="(min-width: 1400px) 732px, (min-width: 981px) 50vw, calc(100vw - 72px)" 5722 /> 5723 5724<image-skeleton aria-label="Loading image: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008"> 5725 <svg 5726 id="visual"
5727 viewBox="0 0 600 899" 5728 width="600" 5729 height="899" 5730 xmlns="http://www.w3.org/2000/svg" 5731 > 5732 <rect x="0" y="0" width="600" height="899"></rect> 5733 </svg> 5734</image-skeleton> 5735 5736</a> 5737 5738 </div> 5739 </div> 5740 5741 </div> 5742 5743 5744 5745 </div> 5746 5747 5748 5749 5750 5751 <div class="media-gallery__wrapper" notab="notab"> 5752 5753 5754<div class=" 5755 media-gallery__item 5756 media-gallery__item--image 5757 " 5758 data-slide-id="11" 5759 data-image-slide-index="11" 5760 data-media-id="45436625060153" 5761 > 5762 <div 5763 class="o-ratio o-ratio--1:1" 5764 5765 > 5766 5767 <div class="o-ratio__content"><a class="media-gallery__link" 5768 href="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-5.jpg?v=1784044786" 5769 data-pswp-height="2082" 5770 data-pswp-width="1389" 5771 data-slide-id="11" 5772 ><img 5773 class="media-gallery__image" 5774 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-5.jpg?v=1784044786&width=600" 5775 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-5.jpg?v=1784044786&width=180 180w 270h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-5.jpg?v=1784044786&width=360 360w 540h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-5.jpg?v=1784044786&width=540 540w 809h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-5.jpg?v=1784044786&width=720 720w 1079h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-5.jpg?v=1784044786&width=900 900w 1349h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-5.jpg?v=1784044786&width=1080 1080w 1619h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-5.jpg?v=1784044786&width=1296 1296w 1943h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-5.jpg?v=1784044786 1389w 2082h" 5776 data-media-id="45436625060153" 5777 width="600" 5778 height="899" 5779 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008" 5780 5781 loading="lazy" 5782 5783 sizes="(min-width: 1400px) 732px, (min-width: 981px) 50vw, calc(100vw - 72px)" 5784 /> 5785 5786<image-skeleton aria-label="Loading image: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008"> 5787 <svg 5788 id="visual" 5789 viewBox="0 0 600 899" 5790 width="600" 5791 height="899" 5792 xmlns="http://www.w3.org/2000/svg" 5793 > 5794 <rect x="0" y="0" width="600" height="899"></rect> 5795 </svg> 5796</image-skeleton> 5797 5798</a> 5799 5800 </div> 5801 </div> 5802 5803 </div> 5804 5805 5806 5807 </div> 5808 5809 5810 5811 5812 5813 <div class="media-gallery__wrapper" notab="notab"> 5814 5815 5816<div class=" 5817 media-gallery__item 5818 media-gallery__item--image 5819 " 5820 data-slide-id="12" 5821 data-image-slide-index="12" 5822 data-media-id="45436625092921" 5823 > 5824 <div 5825 class="o-ratio o-ratio--1:1" 5826 5827 > 5828 5829 <div class="o-ratio__content"><a class="media-gallery__link" 5830 href="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-6.jpg?v=1784044785" 5831 data-pswp-height="2353" 5832 data-pswp-width="1569"
5833 data-slide-id="12" 5834 ><img 5835 class="media-gallery__image" 5836 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-6.jpg?v=1784044785&width=600" 5837 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-6.jpg?v=1784044785&width=180 180w 270h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-6.jpg?v=1784044785&width=360 360w 540h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-6.jpg?v=1784044785&width=540 540w 810h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-6.jpg?v=1784044785&width=720 720w 1080h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-6.jpg?v=1784044785&width=900 900w 1350h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-6.jpg?v=1784044785&width=1080 1080w 1620h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-6.jpg?v=1784044785&width=1296 1296w 1944h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-6.jpg?v=1784044785&width=1512 1512w 2268h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-6.jpg?v=1784044785 1569w 2353h" 5838 data-media-id="45436625092921" 5839 width="600" 5840 height="900" 5841 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008" 5842 5843 loading="lazy" 5844 5845 sizes="(min-width: 1400px) 732px, (min-width: 981px) 50vw, calc(100vw - 72px)" 5846 /> 5847 5848<image-skeleton aria-label="Loading image: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008"> 5849 <svg 5850 id="visual" 5851 viewBox="0 0 600 900" 5852 width="600" 5853 height="900" 5854 xmlns="http://www.w3.org/2000/svg" 5855 > 5856 <rect x="0" y="0" width="600" height="900"></rect> 5857 </svg> 5858</image-skeleton> 5859 5860</a> 5861 5862 </div> 5863 </div> 5864 5865 </div> 5866 5867 5868 5869 </div> 5870 5871 5872 5873 5874 5875 <div class="media-gallery__wrapper" notab="notab"> 5876 5877 5878<div class=" 5879 media-gallery__item 5880 media-gallery__item--image 5881 " 5882 data-slide-id="13" 5883 data-image-slide-index="13" 5884 data-media-id="45436625125689" 5885 > 5886 <div 5887 class="o-ratio o-ratio--1:1" 5888 5889 > 5890 5891 <div class="o-ratio__content"><a class="media-gallery__link" 5892 href="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-7.jpg?v=1784044785" 5893 data-pswp-height="2127" 5894 data-pswp-width="1419" 5895 data-slide-id="13" 5896 ><img 5897 class="media-gallery__image" 5898 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-7.jpg?v=1784044785&width=600" 5899 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-7.jpg?v=1784044785&width=180 180w 270h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-7.jpg?v=1784044785&width=360 360w 540h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-7.jpg?v=1784044785&width=540 540w 809h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-7.jpg?v=1784044785&width=720 720w 1079h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-7.jpg?v=1784044785&width=900 900w 1349h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-
5899Blouse-262-051-Port_008-7.jpg?v=1784044785&width=1080 1080w 1619h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-7.jpg?v=1784044785&width=1296 1296w 1943h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-7.jpg?v=1784044785 1419w 2127h" 5900 data-media-id="45436625125689" 5901 width="600" 5902 height="899" 5903 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008" 5904 5905 loading="lazy" 5906 5907 sizes="(min-width: 1400px) 732px, (min-width: 981px) 50vw, calc(100vw - 72px)" 5908 /> 5909 5910<image-skeleton aria-label="Loading image: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008"> 5911 <svg 5912 id="visual" 5913 viewBox="0 0 600 899" 5914 width="600" 5915 height="899" 5916 xmlns="http://www.w3.org/2000/svg" 5917 > 5918 <rect x="0" y="0" width="600" height="899"></rect> 5919 </svg> 5920</image-skeleton> 5921 5922</a> 5923 5924 </div> 5925 </div> 5926 5927 </div> 5928 5929 5930 5931 </div> 5932 5933 5934 5935 5936 5937 <div class="media-gallery__wrapper" notab="notab"> 5938 5939 5940<div class=" 5941 media-gallery__item 5942 media-gallery__item--image 5943 " 5944 data-slide-id="14" 5945 data-image-slide-index="14" 5946 data-media-id="45436625158457" 5947 > 5948 <div 5949 class="o-ratio o-ratio--1:1" 5950 5951 > 5952 5953 <div class="o-ratio__content"><a class="media-gallery__link" 5954 href="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-8.jpg?v=1784044785" 5955 data-pswp-height="1469" 5956 data-pswp-width="980" 5957 data-slide-id="14" 5958 ><img 5959 class="media-gallery__image" 5960 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-8.jpg?v=1784044785&width=600" 5961 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-8.jpg?v=1784044785&width=180 180w 270h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-8.jpg?v=1784044785&width=360 360w 540h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-8.jpg?v=1784044785&width=540 540w 809h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-8.jpg?v=1784044785&width=720 720w 1079h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-8.jpg?v=1784044785&width=900 900w 1349h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-8.jpg?v=1784044785 980w 1469h" 5962 data-media-id="45436625158457" 5963 width="600" 5964 height="899" 5965 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008" 5966 5967 loading="lazy" 5968 5969 sizes="(min-width: 1400px) 732px, (min-width: 981px) 50vw, calc(100vw - 72px)" 5970 /> 5971 5972<image-skeleton aria-label="Loading image: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008"> 5973 <svg 5974 id="visual" 5975 viewBox="0 0 600 899" 5976 width="600" 5977 height="899" 5978 xmlns="http://www.w3.org/2000/svg" 5979 > 5980 <rect x="0" y="0" width="600" height="899"></rect> 5981 </svg> 5982</image-skeleton> 5983 5984</a> 5985 5986 </div> 5987 </div> 5988 5989 </div> 5990 5991 5992 5993 </div> 5994 5995 5996 5997 5998 5999 <div class="media-gallery__wrapper" notab="notab"> 6000 6001 6002<div class=" 6003 media-gallery__item 6004 media-gallery__item--image 6005 "
6006 data-slide-id="15" 6007 data-image-slide-index="15" 6008 data-media-id="45436625191225" 6009 > 6010 <div 6011 class="o-ratio o-ratio--1:1" 6012 6013 > 6014 6015 <div class="o-ratio__content"><a class="media-gallery__link" 6016 href="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-9.jpg?v=1784044786" 6017 data-pswp-height="2095" 6018 data-pswp-width="1398" 6019 data-slide-id="15" 6020 ><img 6021 class="media-gallery__image" 6022 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-9.jpg?v=1784044786&width=600" 6023 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-9.jpg?v=1784044786&width=180 180w 270h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-9.jpg?v=1784044786&width=360 360w 539h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-9.jpg?v=1784044786&width=540 540w 809h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-9.jpg?v=1784044786&width=720 720w 1079h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-9.jpg?v=1784044786&width=900 900w 1349h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-9.jpg?v=1784044786&width=1080 1080w 1618h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-9.jpg?v=1784044786&width=1296 1296w 1942h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-9.jpg?v=1784044786 1398w 2095h" 6024 data-media-id="45436625191225" 6025 width="600" 6026 height="899" 6027 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008" 6028 6029 loading="lazy" 6030 6031 sizes="(min-width: 1400px) 732px, (min-width: 981px) 50vw, calc(100vw - 72px)" 6032 /> 6033 6034<image-skeleton aria-label="Loading image: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008"> 6035 <svg 6036 id="visual" 6037 viewBox="0 0 600 899" 6038 width="600" 6039 height="899" 6040 xmlns="http://www.w3.org/2000/svg" 6041 > 6042 <rect x="0" y="0" width="600" height="899"></rect> 6043 </svg> 6044</image-skeleton> 6045 6046</a> 6047 6048 </div> 6049 </div> 6050 6051 </div> 6052 6053 6054 6055 </div> 6056 6057 6058 </div> 6059 6060 6061<div 6062 class=" 6063 media-gallery__nav 6064 js-product-slider-nav 6065 media-gallery__nav--loading 6066 "> 6067 <button 6068 type="button" 6069 class=" 6070 media-gallery__nav-item 6071 media-gallery__nav-item--prev 6072 u-hidden 6073 js-nav-prev 6074 " 6075 aria-label="Slide left" 6076 > 6077 <i class="icon icon--left"></i> 6078 </button> 6079 <div 6080 class=" 6081 media-gallery__thumbs 6082 js-product-slider-nav-thumbs 6083 " 6084 ><ul class=" 6085 thumbnail-list 6086 thumbnail-list--thumb-ratio-1:1 6087 " 6088 style=" 6089 --thumbnail-ratio-width: 1; 6090 --thumbnail-ratio-height: 1; 6091 " 6092 ><li class="thumbnail-list__item"> 6093 6094 6095<button 6096 type="button" 6097 class=" 6098 thumbnail 6099 6100 " 6101 aria-label="Load image into Gallery viewer, 1 6102" 6103 aria-controls="template--27888374645049__main-slider" 6104 aria-describedby="template--27888374645049__main-slider-thumb-0"
6105 data-slide-number="0" 6106 ><img 6107 id="template--27888374645049__main-slider-thumb-0" 6108 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-15.png?crop=center&height=24&v=1789652209&width=24" 6109 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-15.png?crop=center&height=70&v=1789652209&width=70 70w 70h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-15.png?crop=center&height=140&v=1789652209&width=140 140w 140h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-15.png?crop=center&height=210&v=1789652209&width=210 210w 210h" 6110 width="24" 6111 height="24" 6112 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063" 6113 class="media-gallery__thumb-image" 6114 data-media-id="45966012645689" 6115 loading="lazy" 6116 sizes="70px" 6117 /> 6118 6119<image-skeleton aria-label="Loading thumbnail: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063"> 6120 <svg 6121 id="visual" 6122 viewBox="0 0 210 210" 6123 width="210" 6124 height="210" 6125 xmlns="http://www.w3.org/2000/svg" 6126 > 6127 <rect x="0" y="0" width="210" height="210"></rect> 6128 </svg> 6129</image-skeleton> 6130 6131 </button> 6132 6133 </li><li class="thumbnail-list__item"> 6134 6135 6136<button 6137 type="button" 6138 class=" 6139 thumbnail 6140 6141 " 6142 aria-label="Load image into Gallery viewer, 2 6143" 6144 aria-controls="template--27888374645049__main-slider" 6145 aria-describedby="template--27888374645049__main-slider-thumb-1" 6146 data-slide-number="1" 6147 ><img 6148 id="template--27888374645049__main-slider-thumb-1" 6149 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-14.png?crop=center&height=24&v=1789652209&width=24" 6150 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-14.png?crop=center&height=70&v=1789652209&width=70 70w 70h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-14.png?crop=center&height=140&v=1789652209&width=140 140w 140h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-14.png?crop=center&height=210&v=1789652209&width=210 210w 210h" 6151 width="24" 6152 height="24" 6153 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063" 6154 class="media-gallery__thumb-image" 6155 data-media-id="45966012612921" 6156 loading="lazy" 6157 sizes="70px" 6158 /> 6159 6160<image-skeleton aria-label="Loading thumbnail: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063"> 6161 <svg 6162 id="visual" 6163 viewBox="0 0 210 210" 6164 width="210" 6165 height="210" 6166 xmlns="http://www.w3.org/2000/svg" 6167 > 6168 <rect x="0" y="0" width="210" height="210"></rect> 6169 </svg> 6170</image-skeleton> 6171 6172 </button> 6173 6174 </li><li class="thumbnail-list__item"> 6175 6176 6177<button 6178 type="button" 6179 class=" 6180 thumbnail 6181 6182 " 6183 aria-label="Load image into Gallery viewer, 3 6184" 6185 aria-controls="template--27888374645049__main-slider" 6186 aria-describedby="template--27888374645049__main-slider-thumb-2"
6187 data-slide-number="2" 6188 ><img 6189 id="template--27888374645049__main-slider-thumb-2" 6190 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-13.jpg?crop=center&height=24&v=1788170877&width=24" 6191 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-13.jpg?crop=center&height=70&v=1788170877&width=70 70w 70h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-13.jpg?crop=center&height=140&v=1788170877&width=140 140w 140h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-13.jpg?crop=center&height=210&v=1788170877&width=210 210w 210h" 6192 width="24" 6193 height="24" 6194 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063" 6195 class="media-gallery__thumb-image" 6196 data-media-id="45801745023289" 6197 loading="lazy" 6198 sizes="70px" 6199 /> 6200 6201<image-skeleton aria-label="Loading thumbnail: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063"> 6202 <svg 6203 id="visual" 6204 viewBox="0 0 210 210" 6205 width="210" 6206 height="210" 6207 xmlns="http://www.w3.org/2000/svg" 6208 > 6209 <rect x="0" y="0" width="210" height="210"></rect> 6210 </svg> 6211</image-skeleton> 6212 6213 </button> 6214 6215 </li><li class="thumbnail-list__item"> 6216 6217 6218<button 6219 type="button" 6220 class=" 6221 thumbnail 6222 6223 " 6224 aria-label="Load image into Gallery viewer, 4 6225" 6226 aria-controls="template--27888374645049__main-slider" 6227 aria-describedby="template--27888374645049__main-slider-thumb-3" 6228 data-slide-number="3" 6229 ><img 6230 id="template--27888374645049__main-slider-thumb-3" 6231 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?crop=center&height=24&v=1786449246&width=24" 6232 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?crop=center&height=70&v=1786449246&width=70 70w 70h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?crop=center&height=140&v=1786449246&width=140 140w 140h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?crop=center&height=210&v=1786449246&width=210 210w 210h" 6233 width="24" 6234 height="24" 6235 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097" 6236 class="media-gallery__thumb-image" 6237 data-media-id="45663127667001" 6238 loading="lazy" 6239 sizes="70px" 6240 /> 6241 6242<image-skeleton aria-label="Loading thumbnail: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097"> 6243 <svg 6244 id="visual" 6245 viewBox="0 0 210 210" 6246 width="210" 6247 height="210" 6248 xmlns="http://www.w3.org/2000/svg" 6249 > 6250 <rect x="0" y="0" width="210" height="210"></rect> 6251 </svg> 6252</image-skeleton> 6253 6254 </button> 6255 6256 </li><li class="thumbnail-list__item"> 6257 6258 6259<button 6260 type="button" 6261 class=" 6262 thumbnail 6263 6264 " 6265 aria-label="Load image into Gallery viewer, 5 6266" 6267 aria-controls="template--27888374645049__main-slider" 6268 aria-describedby="template--27888374645049__main-slider-thumb-4"
6269 data-slide-number="4" 6270 ><img 6271 id="template--27888374645049__main-slider-thumb-4" 6272 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097.jpg?crop=center&height=24&v=1784044785&width=24" 6273 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097.jpg?crop=center&height=70&v=1784044785&width=70 70w 70h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097.jpg?crop=center&height=140&v=1784044785&width=140 140w 140h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097.jpg?crop=center&height=210&v=1784044785&width=210 210w 210h" 6274 width="24" 6275 height="24" 6276 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097" 6277 class="media-gallery__thumb-image" 6278 data-media-id="45436624896313" 6279 loading="lazy" 6280 sizes="70px" 6281 /> 6282 6283<image-skeleton aria-label="Loading thumbnail: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097"> 6284 <svg 6285 id="visual" 6286 viewBox="0 0 210 210" 6287 width="210" 6288 height="210" 6289 xmlns="http://www.w3.org/2000/svg" 6290 > 6291 <rect x="0" y="0" width="210" height="210"></rect> 6292 </svg> 6293</image-skeleton> 6294 6295 </button> 6296 6297 </li><li class="thumbnail-list__item"> 6298 6299 6300<button 6301 type="button" 6302 class=" 6303 thumbnail 6304 6305 " 6306 aria-label="Load image into Gallery viewer, 6 6307" 6308 aria-controls="template--27888374645049__main-slider" 6309 aria-describedby="template--27888374645049__main-slider-thumb-5" 6310 data-slide-number="5" 6311 ><img 6312 id="template--27888374645049__main-slider-thumb-5" 6313 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-1.jpg?crop=center&height=24&v=1784044786&width=24" 6314 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-1.jpg?crop=center&height=70&v=1784044786&width=70 70w 70h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-1.jpg?crop=center&height=140&v=1784044786&width=140 140w 140h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-1.jpg?crop=center&height=210&v=1784044786&width=210 210w 210h" 6315 width="24" 6316 height="24" 6317 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097" 6318 class="media-gallery__thumb-image" 6319 data-media-id="45436624929081" 6320 loading="lazy" 6321 sizes="70px" 6322 /> 6323 6324<image-skeleton aria-label="Loading thumbnail: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097"> 6325 <svg 6326 id="visual" 6327 viewBox="0 0 210 210" 6328 width="210" 6329 height="210" 6330 xmlns="http://www.w3.org/2000/svg" 6331 > 6332 <rect x="0" y="0" width="210" height="210"></rect> 6333 </svg> 6334</image-skeleton> 6335 6336 </button> 6337 6338 </li><li class="thumbnail-list__item"> 6339 6340 6341<button 6342 type="button" 6343 class=" 6344 thumbnail 6345 6346 " 6347 aria-label="Load image into Gallery viewer, 7 6348" 6349 aria-controls="template--27888374645049__main-slider" 6350 aria-describedby="template--27888374645049__main-slider-thumb-6"
6351 data-slide-number="6" 6352 ><img 6353 id="template--27888374645049__main-slider-thumb-6" 6354 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-2.jpg?crop=center&height=24&v=1784044786&width=24" 6355 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-2.jpg?crop=center&height=70&v=1784044786&width=70 70w 70h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-2.jpg?crop=center&height=140&v=1784044786&width=140 140w 140h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-2.jpg?crop=center&height=210&v=1784044786&width=210 210w 210h" 6356 width="24" 6357 height="24" 6358 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097" 6359 class="media-gallery__thumb-image" 6360 data-media-id="45436624961849" 6361 loading="lazy" 6362 sizes="70px" 6363 /> 6364 6365<image-skeleton aria-label="Loading thumbnail: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097"> 6366 <svg 6367 id="visual" 6368 viewBox="0 0 210 210" 6369 width="210" 6370 height="210" 6371 xmlns="http://www.w3.org/2000/svg" 6372 > 6373 <rect x="0" y="0" width="210" height="210"></rect> 6374 </svg> 6375</image-skeleton> 6376 6377 </button> 6378 6379 </li><li class="thumbnail-list__item"> 6380 6381 6382<button 6383 type="button" 6384 class=" 6385 thumbnail 6386 6387 " 6388 aria-label="Load image into Gallery viewer, 8 6389" 6390 aria-controls="template--27888374645049__main-slider" 6391 aria-describedby="template--27888374645049__main-slider-thumb-7" 6392 data-slide-number="7" 6393 ><img 6394 id="template--27888374645049__main-slider-thumb-7" 6395 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-3.jpg?crop=center&height=24&v=1784044786&width=24" 6396 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-3.jpg?crop=center&height=70&v=1784044786&width=70 70w 70h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-3.jpg?crop=center&height=140&v=1784044786&width=140 140w 140h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-3.jpg?crop=center&height=210&v=1784044786&width=210 210w 210h" 6397 width="24" 6398 height="24" 6399 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097" 6400 class="media-gallery__thumb-image" 6401 data-media-id="45436624994617" 6402 loading="lazy" 6403 sizes="70px" 6404 /> 6405 6406<image-skeleton aria-label="Loading thumbnail: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097"> 6407 <svg 6408 id="visual" 6409 viewBox="0 0 210 210" 6410 width="210" 6411 height="210" 6412 xmlns="http://www.w3.org/2000/svg" 6413 > 6414 <rect x="0" y="0" width="210" height="210"></rect> 6415 </svg> 6416</image-skeleton> 6417 6418 </button> 6419 6420 </li><li class="thumbnail-list__item"> 6421 6422 6423<button 6424 type="button" 6425 class=" 6426 thumbnail 6427 6428 " 6429 aria-label="Load image into Gallery viewer, 9 6430" 6431 aria-controls="template--27888374645049__main-slider" 6432 aria-describedby="template--27888374645049__main-slider-thumb-8"
6433 data-slide-number="8" 6434 ><img 6435 id="template--27888374645049__main-slider-thumb-8" 6436 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-4.jpg?crop=center&height=24&v=1784044786&width=24" 6437 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-4.jpg?crop=center&height=70&v=1784044786&width=70 70w 70h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-4.jpg?crop=center&height=140&v=1784044786&width=140 140w 140h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Black_097-4.jpg?crop=center&height=210&v=1784044786&width=210 210w 210h" 6438 width="24" 6439 height="24" 6440 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097" 6441 class="media-gallery__thumb-image" 6442 data-media-id="45436625027385" 6443 loading="lazy" 6444 sizes="70px" 6445 /> 6446 6447<image-skeleton aria-label="Loading thumbnail: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097"> 6448 <svg 6449 id="visual" 6450 viewBox="0 0 210 210" 6451 width="210" 6452 height="210" 6453 xmlns="http://www.w3.org/2000/svg" 6454 > 6455 <rect x="0" y="0" width="210" height="210"></rect> 6456 </svg> 6457</image-skeleton> 6458 6459 </button> 6460 6461 </li><li class="thumbnail-list__item"> 6462 6463 6464<button 6465 type="button" 6466 class=" 6467 thumbnail 6468 6469 " 6470 aria-label="Load image into Gallery viewer, 10 6471" 6472 aria-controls="template--27888374645049__main-slider" 6473 aria-describedby="template--27888374645049__main-slider-thumb-9" 6474 data-slide-number="9" 6475 ><img 6476 id="template--27888374645049__main-slider-thumb-9" 6477 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-10.jpg?crop=center&height=24&v=1785328190&width=24" 6478 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-10.jpg?crop=center&height=70&v=1785328190&width=70 70w 70h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-10.jpg?crop=center&height=140&v=1785328190&width=140 140w 140h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-10.jpg?crop=center&height=210&v=1785328190&width=210 210w 210h" 6479 width="24" 6480 height="24" 6481 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Blue 066" 6482 class="media-gallery__thumb-image" 6483 data-media-id="45590928326969" 6484 loading="lazy" 6485 sizes="70px" 6486 /> 6487 6488<image-skeleton aria-label="Loading thumbnail: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Blue 066"> 6489 <svg 6490 id="visual" 6491 viewBox="0 0 210 210" 6492 width="210" 6493 height="210" 6494 xmlns="http://www.w3.org/2000/svg" 6495 > 6496 <rect x="0" y="0" width="210" height="210"></rect> 6497 </svg> 6498</image-skeleton> 6499 6500 </button> 6501 6502 </li><li class="thumbnail-list__item"> 6503 6504 6505<button 6506 type="button" 6507 class=" 6508 thumbnail 6509 6510 " 6511 aria-label="Load image into Gallery viewer, 11 6512" 6513 aria-controls="template--27888374645049__main-slider" 6514 aria-describedby="template--27888374645049__main-slider-thumb-10"
6515 data-slide-number="10" 6516 ><img 6517 id="template--27888374645049__main-slider-thumb-10" 6518 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12.png?crop=center&height=24&v=1786449152&width=24" 6519 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12.png?crop=center&height=70&v=1786449152&width=70 70w 70h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12.png?crop=center&height=140&v=1786449152&width=140 140w 140h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12.png?crop=center&height=210&v=1786449152&width=210 210w 210h" 6520 width="24" 6521 height="24" 6522 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008" 6523 class="media-gallery__thumb-image" 6524 data-media-id="45663126585657" 6525 loading="lazy" 6526 sizes="70px" 6527 /> 6528 6529<image-skeleton aria-label="Loading thumbnail: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008"> 6530 <svg 6531 id="visual" 6532 viewBox="0 0 210 210" 6533 width="210" 6534 height="210" 6535 xmlns="http://www.w3.org/2000/svg" 6536 > 6537 <rect x="0" y="0" width="210" height="210"></rect> 6538 </svg> 6539</image-skeleton> 6540 6541 </button> 6542 6543 </li><li class="thumbnail-list__item"> 6544 6545 6546<button 6547 type="button" 6548 class=" 6549 thumbnail 6550 6551 " 6552 aria-label="Load image into Gallery viewer, 12 6553" 6554 aria-controls="template--27888374645049__main-slider" 6555 aria-describedby="template--27888374645049__main-slider-thumb-11" 6556 data-slide-number="11" 6557 ><img 6558 id="template--27888374645049__main-slider-thumb-11" 6559 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-5.jpg?crop=center&height=24&v=1784044786&width=24" 6560 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-5.jpg?crop=center&height=70&v=1784044786&width=70 70w 70h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-5.jpg?crop=center&height=140&v=1784044786&width=140 140w 140h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-5.jpg?crop=center&height=210&v=1784044786&width=210 210w 210h" 6561 width="24" 6562 height="24" 6563 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008" 6564 class="media-gallery__thumb-image" 6565 data-media-id="45436625060153" 6566 loading="lazy" 6567 sizes="70px" 6568 /> 6569 6570<image-skeleton aria-label="Loading thumbnail: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008"> 6571 <svg 6572 id="visual" 6573 viewBox="0 0 210 210" 6574 width="210" 6575 height="210" 6576 xmlns="http://www.w3.org/2000/svg" 6577 > 6578 <rect x="0" y="0" width="210" height="210"></rect> 6579 </svg> 6580</image-skeleton> 6581 6582 </button> 6583 6584 </li><li class="thumbnail-list__item"> 6585 6586 6587<button 6588 type="button" 6589 class=" 6590 thumbnail 6591 6592 " 6593 aria-label="Load image into Gallery viewer, 13 6594" 6595 aria-controls="template--27888374645049__main-slider" 6596 aria-describedby="template--27888374645049__main-slider-thumb-12"
6597 data-slide-number="12" 6598 ><img 6599 id="template--27888374645049__main-slider-thumb-12" 6600 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-6.jpg?crop=center&height=24&v=1784044785&width=24" 6601 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-6.jpg?crop=center&height=70&v=1784044785&width=70 70w 70h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-6.jpg?crop=center&height=140&v=1784044785&width=140 140w 140h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-6.jpg?crop=center&height=210&v=1784044785&width=210 210w 210h" 6602 width="24" 6603 height="24" 6604 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008" 6605 class="media-gallery__thumb-image" 6606 data-media-id="45436625092921" 6607 loading="lazy" 6608 sizes="70px" 6609 /> 6610 6611<image-skeleton aria-label="Loading thumbnail: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008"> 6612 <svg 6613 id="visual" 6614 viewBox="0 0 210 210" 6615 width="210" 6616 height="210" 6617 xmlns="http://www.w3.org/2000/svg" 6618 > 6619 <rect x="0" y="0" width="210" height="210"></rect> 6620 </svg> 6621</image-skeleton> 6622 6623 </button> 6624 6625 </li><li class="thumbnail-list__item"> 6626 6627 6628<button 6629 type="button" 6630 class=" 6631 thumbnail 6632 6633 " 6634 aria-label="Load image into Gallery viewer, 14 6635" 6636 aria-controls="template--27888374645049__main-slider" 6637 aria-describedby="template--27888374645049__main-slider-thumb-13" 6638 data-slide-number="13" 6639 ><img 6640 id="template--27888374645049__main-slider-thumb-13" 6641 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-7.jpg?crop=center&height=24&v=1784044785&width=24" 6642 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-7.jpg?crop=center&height=70&v=1784044785&width=70 70w 70h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-7.jpg?crop=center&height=140&v=1784044785&width=140 140w 140h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-7.jpg?crop=center&height=210&v=1784044785&width=210 210w 210h" 6643 width="24" 6644 height="24" 6645 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008" 6646 class="media-gallery__thumb-image" 6647 data-media-id="45436625125689" 6648 loading="lazy" 6649 sizes="70px" 6650 /> 6651 6652<image-skeleton aria-label="Loading thumbnail: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008"> 6653 <svg 6654 id="visual" 6655 viewBox="0 0 210 210" 6656 width="210" 6657 height="210" 6658 xmlns="http://www.w3.org/2000/svg" 6659 > 6660 <rect x="0" y="0" width="210" height="210"></rect> 6661 </svg> 6662</image-skeleton> 6663 6664 </button> 6665 6666 </li><li class="thumbnail-list__item"> 6667 6668 6669<button 6670 type="button" 6671 class=" 6672 thumbnail 6673 6674 " 6675 aria-label="Load image into Gallery viewer, 15 6676" 6677 aria-controls="template--27888374645049__main-slider" 6678 aria-describedby="template--27888374645049__main-slider-thumb-14"
6679 data-slide-number="14" 6680 ><img 6681 id="template--27888374645049__main-slider-thumb-14" 6682 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-8.jpg?crop=center&height=24&v=1784044785&width=24" 6683 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-8.jpg?crop=center&height=70&v=1784044785&width=70 70w 70h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-8.jpg?crop=center&height=140&v=1784044785&width=140 140w 140h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-8.jpg?crop=center&height=210&v=1784044785&width=210 210w 210h" 6684 width="24" 6685 height="24" 6686 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008" 6687 class="media-gallery__thumb-image" 6688 data-media-id="45436625158457" 6689 loading="lazy" 6690 sizes="70px" 6691 /> 6692 6693<image-skeleton aria-label="Loading thumbnail: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008"> 6694 <svg 6695 id="visual" 6696 viewBox="0 0 210 210" 6697 width="210" 6698 height="210" 6699 xmlns="http://www.w3.org/2000/svg" 6700 > 6701 <rect x="0" y="0" width="210" height="210"></rect> 6702 </svg> 6703</image-skeleton> 6704 6705 </button> 6706 6707 </li><li class="thumbnail-list__item"> 6708 6709 6710<button 6711 type="button" 6712 class=" 6713 thumbnail 6714 6715 " 6716 aria-label="Load image into Gallery viewer, 16 6717" 6718 aria-controls="template--27888374645049__main-slider" 6719 aria-describedby="template--27888374645049__main-slider-thumb-15" 6720 data-slide-number="15" 6721 ><img 6722 id="template--27888374645049__main-slider-thumb-15" 6723 src="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-9.jpg?crop=center&height=24&v=1784044786&width=24" 6724 srcset="//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-9.jpg?crop=center&height=70&v=1784044786&width=70 70w 70h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-9.jpg?crop=center&height=140&v=1784044786&width=140 140w 140h, //lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-Port_008-9.jpg?crop=center&height=210&v=1784044786&width=210 210w 210h" 6725 width="24" 6726 height="24" 6727 alt="Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008" 6728 class="media-gallery__thumb-image" 6729 data-media-id="45436625191225" 6730 loading="lazy" 6731 sizes="70px" 6732 /> 6733 6734<image-skeleton aria-label="Loading thumbnail: Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008"> 6735 <svg 6736 id="visual" 6737 viewBox="0 0 210 210" 6738 width="210" 6739 height="210" 6740 xmlns="http://www.w3.org/2000/svg" 6741 > 6742 <rect x="0" y="0" width="210" height="210"></rect> 6743 </svg> 6744</image-skeleton> 6745 6746 </button> 6747 6748 </li></ul> 6749 </div> 6750 <button 6751 type="button" 6752 class=" 6753 media-gallery__nav-item 6754 media-gallery__nav-item--next 6755 u-hidden 6756 js-nav-next 6757 " 6758 aria-label="Slide right" 6759 > 6760 <i class="icon icon--right"></i> 6761 </button> 6762 </div></div> 6763 6764</product-media-zoom></div></product-media-sticky> 6765
6765<script src="//lineofoslo.com/cdn/shop/t/59/assets/product-media-sticky.js?v=55437203864291687441789730216" type="module"></script>
6765</div> 6766 <div class="o-layout__item u-1/1 u-2/5@desk"> 6767 6768 <div class="u-height-100"> 6769 6770 <div class="product-single__box js-product-single-actions"><style type="text/css"> 6771 .section--template--27888374645049__main .product-single__vendor { 6772 font-size: 1.05rem; 6773 } 6774 @media screen and (max-width: 767px) { 6775 .section--template--27888374645049__main .product-single__vendor { 6776 font-size: 0.98rem; 6777 } 6778 } 6779 </style> 6780 6781 <div class="product-single__box__block product-single__box__block--m-6 product-single__box__block--vendor" > 6782 <p class="product-single__vendor product-single__vendor--body"><a href="/collections/vendors?q=Line%20Of%20Oslo" title="Line Of Oslo">Line Of Oslo</a></p> 6783 </div><style type="text/css"> 6784 .section--template--27888374645049__main .product-single__title { 6785 font-size: 2.2rem; 6786 line-height: calc(1.55 - (1.3 * 0.3)); 6787 } 6788 @media screen and (max-width: 767px) { 6789 .section--template--27888374645049__main .product-single__title { 6790 font-size: 1.9rem; 6791 line-height: calc(1.6 - (1.3 * 0.3)); 6792 } 6793 } 6794 </style> 6795 6796 <div class="product-single__box__block product-single__box__block--m-0 product-single__box__block--title" > 6797 <h1 class="product-single__title">Line of Oslo Krista Check Shirt</h1> 6798 </div><div class="product-single__box__block product-single__box__block--m-12 product-single__box__block--price product-single__box__block--price--tax_notice" > 6799 6800 <!-- snippet/product-price.liquid --> 6801 6802 6803 6804<div class="price"> 6805 <div id="price-template--27888374645049__main" class="price__text"> 6806 <span class="u-hidden-visually">Regular price</span> 6807 <span class="price__number"> 6808 <span class="money"><span class=money>1.199,00 kr</span></span> 6809 </span></div></div><div class="price__notes"> 6810 <p id="unit-price-template--27888374645049__main" class="price__note price__note--unit"></p><p class="price__note price__note--tax"> 6811 6812 </p><p class="price__note price__note--tax"> 6813 <a href="/policies/shipping-policy">Shipping</a> calculated at checkout 6814 </p></div> 6815 6816 </div><div class="product-single__box__block product-single__box__block--m-0 product-single__box__block--spacer" > 6817 <div class="product-form__spacer product-form__spacer--top-small product-form__spacer--bottom-small product-form__spacer--has-border"></div> 6818 </div><div class="product-single__box__block product-single__box__block--variant_picker" > 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828<variant-radios class="js" data-section="template--27888374645049__main" data-url="/products/krista-check-skjorte" > 6829 <product-interactive-options> 6830 6831<variant-swatches> 6832 <fieldset class="product-form__swatch"> 6833 <div class="product-form__swatch__title"> 6834 <legend class="f-family--body f-caps--false f-space--0">Color: <span class="product-form__swatch__sub-title js-option-title">Black</span></legend></div><span class="product-form__swatch__item product-form__swatch__item--color product-form__swatch__item--circle"> 6835 6836 6837 <input type="radio" id="template--27888374645049__main-1-0" 6838 name="Color" 6839 value="Black" 6840 form="product-form-template--27888374645049__main" 6841 class="product-form__swatch__input u-hidden-visually" 6842 checked 6843 > 6844 <label for="template--27888374645049__main-1-0" class="product-form__swatch__label">
6845 <span class="product-form__swatch__label__graphic" style="--background-graphic: url(//lineofoslo.com/cdn/shop/files/100-191097_s_68x.jpg?v=6918724600685119637)">Black</span> 6846 </label> 6847 </span><span class="product-form__swatch__item product-form__swatch__item--color product-form__swatch__item--circle"> 6848 6849 6850 <input type="radio" id="template--27888374645049__main-1-1" 6851 name="Color" 6852 value="Blue" 6853 form="product-form-template--27888374645049__main" 6854 class="product-form__swatch__input u-hidden-visually" 6855 6856 > 6857 <label for="template--27888374645049__main-1-1" class="product-form__swatch__label"> 6858 <span class="product-form__swatch__label__graphic" style="--background-graphic: url(//lineofoslo.com/cdn/shop/files/Blue_68x.jpg?v=17976332035710276583)">Blue</span> 6859 </label> 6860 </span><span class="product-form__swatch__item product-form__swatch__item--color product-form__swatch__item--circle"> 6861 6862 6863 <input type="radio" id="template--27888374645049__main-1-2" 6864 name="Color" 6865 value="Brown" 6866 form="product-form-template--27888374645049__main" 6867 class="product-form__swatch__input u-hidden-visually" 6868 6869 > 6870 <label for="template--27888374645049__main-1-2" class="product-form__swatch__label"> 6871 <span class="product-form__swatch__label__graphic" style="--background-graphic: url(//lineofoslo.com/cdn/shop/files/Brown_68x.jpg?v=17769986301740306906)">Brown</span> 6872 </label> 6873 </span><span class="product-form__swatch__item product-form__swatch__item--color product-form__swatch__item--circle"> 6874 6875 6876 <input type="radio" id="template--27888374645049__main-1-3" 6877 name="Color" 6878 value="Port" 6879 form="product-form-template--27888374645049__main" 6880 class="product-form__swatch__input u-hidden-visually" 6881 6882 > 6883 <label for="template--27888374645049__main-1-3" class="product-form__swatch__label"> 6884 <span class="product-form__swatch__label__graphic" style="--background-graphic: url(//lineofoslo.com/cdn/shop/files/Port_68x.jpg?v=8347031718457049271)">Port</span> 6885 </label> 6886 </span></fieldset> 6887</variant-swatches> 6888 6889<fieldset class="product-form__swatch"> 6890 <div class="product-form__swatch__title"> 6891 <legend class="f-family--body f-caps--false f-space--0">Size</legend></div><div class="product-form__swatch__item product-form__swatch__item--button" data-value="XS" title="XS"> 6892 <input type="radio" id="template--27888374645049__main-2-0" 6893 name="Size" 6894 value="XS" 6895 form="product-form-template--27888374645049__main" 6896 class="product-form__swatch__input u-hidden-visually" 6897 checked 6898 > 6899 <label for="template--27888374645049__main-2-0" class="product-form__swatch__label"> 6900 XS 6901 </label> 6902 </div><div class="product-form__swatch__item product-form__swatch__item--button" data-value="S" title="S"> 6903 <input type="radio" id="template--27888374645049__main-2-1" 6904 name="Size" 6905 value="S" 6906 form="product-form-template--27888374645049__main" 6907 class="product-form__swatch__input u-hidden-visually" 6908 6909 > 6910 <label for="template--27888374645049__main-2-1" class="product-form__swatch__label"> 6911 S 6912 </label> 6913 </div><div class="product-form__swatch__item product-form__swatch__item--button" data-value="M" title="M"> 6914 <input type="radio" id="template--27888374645049__main-2-2" 6915 name="Size" 6916 value="M" 6917 form="product-form-template--27888374645049__main" 6918 class="product-form__swatch__input u-hidden-visually" 6919 6920 > 6921 <label for="template--27888374645049__main-2-2" class="product-form__swatch__label"> 6922 M 6923 </label> 6924 </div><div class="product-form__swatch__item product-form__swatch__item--button" data-value="L" title="L"> 6925 <input type="radio" id="template--27888374645049__main-2-3" 6926 name="Size" 6927 value="L" 6928 form="product-form-template--27888374645049__main" 6929 class="product-form__swatch__input u-hidden-visually" 6930 6931 > 6932 <label for="template--27888374645049__main-2-3" class="product-form__swatch__label"> 6933 L 6934 </label> 6935 </div><div class="product-form__swatch__item product-form__swatch__item--button" data-value="XL" title="XL"> 6936 <input type="radio" id="template--27888374645049__main-2-4" 6937 name="Size" 6938 value="XL" 6939 form="product-form-template--27888374645049__main" 6940 class="product-form__swatch__input u-hidden-visually" 6941 6942 > 6943 <label for="template--27888374645049__main-2-4" class="product-form__swatch__label"> 6944 XL 6945 </label> 6946 </div></fieldset></product-interactive-options> 6947 6948
6948<script type="application/json"> 6949 [{"id":53937968578873,"title":"Black \/ XS","option1":"Black","option2":"XS","option3":null,"sku":"262-051\\097\\XS","requires_shipping":true,"taxable":true,"featured_image":{"id":54205070016825,"product_id":10276261626169,"position":4,"created_at":"2026-08-11T13:54:04+02:00","updated_at":"2026-08-11T13:54:06+02:00","alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097","width":1683,"height":2521,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246","variant_ids":[53937968578873,53937968611641,53937968644409,53937968677177,53937968709945]},"available":true,"name":"Line of Oslo Krista Check Shirt - Black \/ XS","public_title":"Black \/ XS","options":["Black","XS"],"price":119900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"7072456317592","featured_media":{"alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097","id":45663127667001,"position":4,"preview_image":{"aspect_ratio":0.668,"height":2521,"width":1683,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53937968611641,"title":"Black \/ S","option1":"Black","option2":"S","option3":null,"sku":"262-051\\097\\S","requires_shipping":true,"taxable":true,"featured_image":{"id":54205070016825,"product_id":10276261626169,"position":4,"created_at":"2026-08-11T13:54:04+02:00","updated_at":"2026-08-11T13:54:06+02:00","alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097","width":1683,"height":2521,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246","variant_ids":[53937968578873,53937968611641,53937968644409,53937968677177,53937968709945]},"available":false,"name":"Line of Oslo Krista Check Shirt - Black \/ S","public_title":"Black \/ S","options":["Black","S"],"price":119900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"7072456317615","featured_media":{"alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097","id":45663127667001,"position":4,"preview_image":{"aspect_ratio":0.668,"height":2521,"width":1683,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53937968644409,"title":"Black \/ M","option1":"Black","option2":"M","option3":null,"sku":"262-051\\097\\M","requires_shipping":true,"taxable":true,"featured_image":{"id":54205070016825,"product_id":10276261626169,"position":4,"created_at":"2026-08-11T13:54:04+02:00","updated_at":"2026-08-11T13:54:06+02:00","alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097","width":1683,"height":2521,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246","variant_ids":[53937968578873,53937968611641,53937968644409,53937968677177,53937968709945]},"available":false,"name":"Line of Oslo Krista Check Shirt - Black \/ M","public_title":"Black \/ M","options":["Black","M"],"price":119900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"7072456317639","featured_media":{"alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097","id":45663127667001,"position":4,"preview_image":{"aspect_ratio":0.668,"height":2521,"width":1683,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53937968677177,"title":"Black \/ L","option1":"Black","option2":"L","option3":null,"sku":"262-051\\097\\L","requires_shipping":true,"taxable":true,"featured_image":{"id":54205070016825,"product_id":10276261626169,"position":4,"created_at":"2026-08-11T13:54:04+02:00","updated_at":"2026-08-11T13:54:06+02:00","alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097","width":1683,"height":2521,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-
6949Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246","variant_ids":[53937968578873,53937968611641,53937968644409,53937968677177,53937968709945]},"available":false,"name":"Line of Oslo Krista Check Shirt - Black \/ L","public_title":"Black \/ L","options":["Black","L"],"price":119900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"7072456317653","featured_media":{"alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097","id":45663127667001,"position":4,"preview_image":{"aspect_ratio":0.668,"height":2521,"width":1683,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53937968709945,"title":"Black \/ XL","option1":"Black","option2":"XL","option3":null,"sku":"262-051\\097\\XL","requires_shipping":true,"taxable":true,"featured_image":{"id":54205070016825,"product_id":10276261626169,"position":4,"created_at":"2026-08-11T13:54:04+02:00","updated_at":"2026-08-11T13:54:06+02:00","alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097","width":1683,"height":2521,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246","variant_ids":[53937968578873,53937968611641,53937968644409,53937968677177,53937968709945]},"available":false,"name":"Line of Oslo Krista Check Shirt - Black \/ XL","public_title":"Black \/ XL","options":["Black","XL"],"price":119900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"7072456317677","featured_media":{"alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Black 097","id":45663127667001,"position":4,"preview_image":{"aspect_ratio":0.668,"height":2521,"width":1683,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53937968742713,"title":"Blue \/ XS","option1":"Blue","option2":"XS","option3":null,"sku":"262-051\\066\\XS","requires_shipping":true,"taxable":true,"featured_image":{"id":54131097665849,"product_id":10276261626169,"position":10,"created_at":"2026-07-29T14:29:48+02:00","updated_at":"2026-07-29T14:29:50+02:00","alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Blue 066","width":1372,"height":2058,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190","variant_ids":[53937968742713,53937968775481,53937968808249,53937968841017,53937968873785]},"available":true,"name":"Line of Oslo Krista Check Shirt - Blue \/ XS","public_title":"Blue \/ XS","options":["Blue","XS"],"price":119900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"7072456323258","featured_media":{"alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Blue 066","id":45590928326969,"position":10,"preview_image":{"aspect_ratio":0.667,"height":2058,"width":1372,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53937968775481,"title":"Blue \/ S","option1":"Blue","option2":"S","option3":null,"sku":"262-051\\066\\S","requires_shipping":true,"taxable":true,"featured_image":{"id":54131097665849,"product_id":10276261626169,"position":10,"created_at":"2026-07-29T14:29:48+02:00","updated_at":"2026-07-29T14:29:50+02:00","alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Blue 066","width":1372,"height":2058,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190","variant_ids":[53937968742713,53937968775481,53937968808249,53937968841017,53937968873785]},"available":true,"name":"Line of Oslo Krista Check Shirt - Blue \/ S","public_title":"Blue \/ S","options":["Blue","S"],"price":119900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"7072456323265","featured_media":{"alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Blue 066","id":45590928326969,"position":10,"preview_image":{"aspect_ratio":0.667,"height":2058,"width":1372,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-
6949Blouse-262-051-10.jpg?v=1785328190"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53937968808249,"title":"Blue \/ M","option1":"Blue","option2":"M","option3":null,"sku":"262-051\\066\\M","requires_shipping":true,"taxable":true,"featured_image":{"id":54131097665849,"product_id":10276261626169,"position":10,"created_at":"2026-07-29T14:29:48+02:00","updated_at":"2026-07-29T14:29:50+02:00","alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Blue 066","width":1372,"height":2058,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190","variant_ids":[53937968742713,53937968775481,53937968808249,53937968841017,53937968873785]},"available":true,"name":"Line of Oslo Krista Check Shirt - Blue \/ M","public_title":"Blue \/ M","options":["Blue","M"],"price":119900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"7072456323272","featured_media":{"alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Blue 066","id":45590928326969,"position":10,"preview_image":{"aspect_ratio":0.667,"height":2058,"width":1372,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53937968841017,"title":"Blue \/ L","option1":"Blue","option2":"L","option3":null,"sku":"262-051\\066\\L","requires_shipping":true,"taxable":true,"featured_image":{"id":54131097665849,"product_id":10276261626169,"position":10,"created_at":"2026-07-29T14:29:48+02:00","updated_at":"2026-07-29T14:29:50+02:00","alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Blue 066","width":1372,"height":2058,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190","variant_ids":[53937968742713,53937968775481,53937968808249,53937968841017,53937968873785]},"available":true,"name":"Line of Oslo Krista Check Shirt - Blue \/ L","public_title":"Blue \/ L","options":["Blue","L"],"price":119900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"7072456323289","featured_media":{"alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Blue 066","id":45590928326969,"position":10,"preview_image":{"aspect_ratio":0.667,"height":2058,"width":1372,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53937968873785,"title":"Blue \/ XL","option1":"Blue","option2":"XL","option3":null,"sku":"262-051\\066\\XL","requires_shipping":true,"taxable":true,"featured_image":{"id":54131097665849,"product_id":10276261626169,"position":10,"created_at":"2026-07-29T14:29:48+02:00","updated_at":"2026-07-29T14:29:50+02:00","alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Blue 066","width":1372,"height":2058,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190","variant_ids":[53937968742713,53937968775481,53937968808249,53937968841017,53937968873785]},"available":true,"name":"Line of Oslo Krista Check Shirt - Blue \/ XL","public_title":"Blue \/ XL","options":["Blue","XL"],"price":119900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"7072456323296","featured_media":{"alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Blue 066","id":45590928326969,"position":10,"preview_image":{"aspect_ratio":0.667,"height":2058,"width":1372,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":54349772685625,"title":"Brown \/ XS","option1":"Brown","option2":"XS","option3":null,"sku":"262-051\\063\\XS","requires_shipping":true,"taxable":true,"featured_image":{"id":54513565073721,"product_id":10276261626169,"position":1,"created_at":"2026-09-17T15:36:48+02:00","updated_at":"2026-09-17T15:36:49+02:00","alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063","width":1346,"height":2017,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-
6949Blouse-262-051-15.png?v=1789652209","variant_ids":[54349772685625,54349772718393,54349772751161,54349772783929,54349772816697]},"available":false,"name":"Line of Oslo Krista Check Shirt - Brown \/ XS","public_title":"Brown \/ XS","options":["Brown","XS"],"price":119900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"7072456342051","featured_media":{"alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063","id":45966012645689,"position":1,"preview_image":{"aspect_ratio":0.667,"height":2017,"width":1346,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":54349772718393,"title":"Brown \/ S","option1":"Brown","option2":"S","option3":null,"sku":"262-051\\063\\S","requires_shipping":true,"taxable":true,"featured_image":{"id":54513565073721,"product_id":10276261626169,"position":1,"created_at":"2026-09-17T15:36:48+02:00","updated_at":"2026-09-17T15:36:49+02:00","alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063","width":1346,"height":2017,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209","variant_ids":[54349772685625,54349772718393,54349772751161,54349772783929,54349772816697]},"available":false,"name":"Line of Oslo Krista Check Shirt - Brown \/ S","public_title":"Brown \/ S","options":["Brown","S"],"price":119900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"7072456342068","featured_media":{"alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063","id":45966012645689,"position":1,"preview_image":{"aspect_ratio":0.667,"height":2017,"width":1346,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":54349772751161,"title":"Brown \/ M","option1":"Brown","option2":"M","option3":null,"sku":"262-051\\063\\M","requires_shipping":true,"taxable":true,"featured_image":{"id":54513565073721,"product_id":10276261626169,"position":1,"created_at":"2026-09-17T15:36:48+02:00","updated_at":"2026-09-17T15:36:49+02:00","alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063","width":1346,"height":2017,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209","variant_ids":[54349772685625,54349772718393,54349772751161,54349772783929,54349772816697]},"available":true,"name":"Line of Oslo Krista Check Shirt - Brown \/ M","public_title":"Brown \/ M","options":["Brown","M"],"price":119900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"7072456342075","featured_media":{"alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063","id":45966012645689,"position":1,"preview_image":{"aspect_ratio":0.667,"height":2017,"width":1346,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":54349772783929,"title":"Brown \/ L","option1":"Brown","option2":"L","option3":null,"sku":"262-051\\063\\L","requires_shipping":true,"taxable":true,"featured_image":{"id":54513565073721,"product_id":10276261626169,"position":1,"created_at":"2026-09-17T15:36:48+02:00","updated_at":"2026-09-17T15:36:49+02:00","alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063","width":1346,"height":2017,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209","variant_ids":[54349772685625,54349772718393,54349772751161,54349772783929,54349772816697]},"available":true,"name":"Line of Oslo Krista Check Shirt - Brown \/ L","public_title":"Brown \/ L","options":["Brown","L"],"price":119900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"7072456342082","featured_media":{"alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063","id":45966012645689,"position":1,"preview_image":{"aspect_ratio":0.667,"height":2017,"width":1346,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-
6949Blouse-262-051-15.png?v=1789652209"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":54349772816697,"title":"Brown \/ XL","option1":"Brown","option2":"XL","option3":null,"sku":"262-051\\063\\XL","requires_shipping":true,"taxable":true,"featured_image":{"id":54513565073721,"product_id":10276261626169,"position":1,"created_at":"2026-09-17T15:36:48+02:00","updated_at":"2026-09-17T15:36:49+02:00","alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063","width":1346,"height":2017,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209","variant_ids":[54349772685625,54349772718393,54349772751161,54349772783929,54349772816697]},"available":true,"name":"Line of Oslo Krista Check Shirt - Brown \/ XL","public_title":"Brown \/ XL","options":["Brown","XL"],"price":119900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"7072456342099","featured_media":{"alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Brown 063","id":45966012645689,"position":1,"preview_image":{"aspect_ratio":0.667,"height":2017,"width":1346,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53937968906553,"title":"Port \/ XS","option1":"Port","option2":"XS","option3":null,"sku":"262-051\\008\\XS","requires_shipping":true,"taxable":true,"featured_image":{"id":54205068935481,"product_id":10276261626169,"position":11,"created_at":"2026-08-11T13:52:30+02:00","updated_at":"2026-08-11T13:52:32+02:00","alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008","width":1346,"height":2017,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152","variant_ids":[53937968906553,53937968939321,53937968972089,53937969004857,53937969037625]},"available":false,"name":"Line of Oslo Krista Check Shirt - Port \/ XS","public_title":"Port \/ XS","options":["Port","XS"],"price":119900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"7072456317608","featured_media":{"alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008","id":45663126585657,"position":11,"preview_image":{"aspect_ratio":0.667,"height":2017,"width":1346,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53937968939321,"title":"Port \/ S","option1":"Port","option2":"S","option3":null,"sku":"262-051\\008\\S","requires_shipping":true,"taxable":true,"featured_image":{"id":54205068935481,"product_id":10276261626169,"position":11,"created_at":"2026-08-11T13:52:30+02:00","updated_at":"2026-08-11T13:52:32+02:00","alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008","width":1346,"height":2017,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152","variant_ids":[53937968906553,53937968939321,53937968972089,53937969004857,53937969037625]},"available":false,"name":"Line of Oslo Krista Check Shirt - Port \/ S","public_title":"Port \/ S","options":["Port","S"],"price":119900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"7072456317622","featured_media":{"alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008","id":45663126585657,"position":11,"preview_image":{"aspect_ratio":0.667,"height":2017,"width":1346,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53937968972089,"title":"Port \/ M","option1":"Port","option2":"M","option3":null,"sku":"262-051\\008\\M","requires_shipping":true,"taxable":true,"featured_image":{"id":54205068935481,"product_id":10276261626169,"position":11,"created_at":"2026-08-11T13:52:30+02:00","updated_at":"2026-08-11T13:52:32+02:00","alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008","width":1346,"height":2017,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-
6949Blouse-262-051-12.png?v=1786449152","variant_ids":[53937968906553,53937968939321,53937968972089,53937969004857,53937969037625]},"available":false,"name":"Line of Oslo Krista Check Shirt - Port \/ M","public_title":"Port \/ M","options":["Port","M"],"price":119900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"7072456317646","featured_media":{"alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008","id":45663126585657,"position":11,"preview_image":{"aspect_ratio":0.667,"height":2017,"width":1346,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53937969004857,"title":"Port \/ L","option1":"Port","option2":"L","option3":null,"sku":"262-051\\008\\L","requires_shipping":true,"taxable":true,"featured_image":{"id":54205068935481,"product_id":10276261626169,"position":11,"created_at":"2026-08-11T13:52:30+02:00","updated_at":"2026-08-11T13:52:32+02:00","alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008","width":1346,"height":2017,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152","variant_ids":[53937968906553,53937968939321,53937968972089,53937969004857,53937969037625]},"available":true,"name":"Line of Oslo Krista Check Shirt - Port \/ L","public_title":"Port \/ L","options":["Port","L"],"price":119900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"7072456317660","featured_media":{"alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008","id":45663126585657,"position":11,"preview_image":{"aspect_ratio":0.667,"height":2017,"width":1346,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53937969037625,"title":"Port \/ XL","option1":"Port","option2":"XL","option3":null,"sku":"262-051\\008\\XL","requires_shipping":true,"taxable":true,"featured_image":{"id":54205068935481,"product_id":10276261626169,"position":11,"created_at":"2026-08-11T13:52:30+02:00","updated_at":"2026-08-11T13:52:32+02:00","alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008","width":1346,"height":2017,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152","variant_ids":[53937968906553,53937968939321,53937968972089,53937969004857,53937969037625]},"available":true,"name":"Line of Oslo Krista Check Shirt - Port \/ XL","public_title":"Port \/ XL","options":["Port","XL"],"price":119900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"7072456317684","featured_media":{"alt":"Line Of Oslo Line of Oslo Krista Check Shirt Blouse Port 008","id":45663126585657,"position":11,"preview_image":{"aspect_ratio":0.667,"height":2017,"width":1346,"src":"\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}] 6950 </script>
6950 6951 </variant-radios>
6951<script src="//lineofoslo.com/cdn/shop/t/59/assets/product-interactive-options.js?v=152201463464793350461789730216" type="module"></script>
6951 6952 6953 6954 6955<noscript class="product-form__noscript-wrapper-template--27888374645049__main"> 6956 <div class="selector-wrapper"> 6957 <select name="id" id="Variants-template--27888374645049__main" class="single-option-selector" form="product-form-template--27888374645049__main"><option 6958 selected="selected" 6959 6960 value="53937968578873" 6961 > 6962 Black / XS 6963 6964 - 1.199,00 kr 6965 </option><option 6966 6967 disabled 6968 value="53937968611641" 6969 > 6970 Black / S 6971 - Sold out 6972 - 1.199,00 kr 6973 </option><option 6974 6975 disabled 6976 value="53937968644409" 6977 > 6978 Black / M 6979 - Sold out 6980 - 1.199,00 kr 6981 </option><option 6982 6983 disabled 6984 value="53937968677177" 6985 > 6986 Black / L 6987 - Sold out 6988 - 1.199,00 kr 6989 </option><option 6990 6991 disabled 6992 value="53937968709945" 6993 > 6994 Black / XL 6995 - Sold out 6996 - 1.199,00 kr 6997 </option><option 6998 6999 7000 value="53937968742713" 7001 > 7002 Blue / XS 7003 7004 - 1.199,00 kr 7005 </option><option 7006 7007 7008 value="53937968775481" 7009 > 7010 Blue / S 7011 7012 - 1.199,00 kr 7013 </option><option 7014 7015 7016 value="53937968808249" 7017 > 7018 Blue / M 7019 7020 - 1.199,00 kr 7021 </option><option 7022 7023 7024 value="53937968841017" 7025 > 7026 Blue / L 7027 7028 - 1.199,00 kr 7029 </option><option 7030 7031 7032 value="53937968873785" 7033 > 7034 Blue / XL 7035 7036 - 1.199,00 kr 7037 </option><option 7038 7039 disabled 7040 value="54349772685625" 7041 > 7042 Brown / XS 7043 - Sold out 7044 - 1.199,00 kr 7045 </option><option 7046 7047 disabled 7048 value="54349772718393" 7049 > 7050 Brown / S 7051 - Sold out 7052 - 1.199,00 kr 7053 </option><option 7054 7055 7056 value="54349772751161" 7057 > 7058 Brown / M 7059 7060 - 1.199,00 kr 7061 </option><option 7062 7063 7064 value="54349772783929" 7065 > 7066 Brown / L 7067 7068 - 1.199,00 kr 7069 </option><option 7070 7071 7072 value="54349772816697" 7073 > 7074 Brown / XL 7075 7076 - 1.199,00 kr 7077 </option><option 7078 7079 disabled 7080 value="53937968906553" 7081 > 7082 Port / XS 7083 - Sold out 7084 - 1.199,00 kr 7085 </option><option 7086 7087 disabled 7088 value="53937968939321" 7089 > 7090 Port / S 7091 - Sold out 7092 - 1.199,00 kr 7093 </option><option 7094 7095 disabled 7096 value="53937968972089" 7097 > 7098 Port / M 7099 - Sold out 7100 - 1.199,00 kr 7101 </option><option 7102 7103 7104 value="53937969004857" 7105 > 7106 Port / L 7107 7108 - 1.199,00 kr 7109 </option><option 7110 7111 7112 value="53937969037625" 7113 > 7114 Port / XL 7115 7116 - 1.199,00 kr 7117 </option></select> 7118 </div> 7119 </noscript> 7120 </div><div class="product-single__box__block product-single__box__block--@app" > 7121 <div id="shopify-block-AL2N0T2hFNHZEMklwW__smartsize_app_block_fpd3Xy" class="shopify-block shopify-app-block"><div id="sizefox-container"> 7122</div> 7123 7124</div> 7125 </div><div class="product-single__box__block product-single__box__block--buy_buttons" > 7126 <form method="post" action="/cart/add" id="product-form-template--27888374645049__main" accept-charset="UTF-8" class="product-form product-form--single js-product-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /> 7127 7128 <input type="hidden" name="id" value="53937968578873" disabled> 7129 7130 <input type="hidden" id="quantity-template--27888374645049__main-53937968578873" data-qty="2" disabled> 7131 7132 <input type="hidden" id="quantity-template--27888374645049__main-53937968611641" data-qty="0" disabled> 7133 7134 <input type="hidden" id="quantity-template--27888374645049__main-53937968644409" data-qty="0" disabled> 7135 7136 <input type="hidden" id="quantity-template--27888374645049__main-53937968677177" data-qty="0" disabled> 7137 7138 <input type="hidden" id="quantity-template--27888374645049__main-53937968709945" data-qty="0" disabled> 7139 7140 <input type="hidden" id="quantity-template--27888374645049__main-53937968742713" data-qty="9" disabled> 7141 7142 <input type="hidden" id="quantity-template--27888374645049__main-53937968775481" data-qty="6" disabled> 7143 7144 <input type="hidden" id="quantity-template--27888374645049__main-53937968808249" data-qty="19" disabled> 7145 7146 <input type="hidden" id="quantity-template--27888374645049__main-53937968841017" data-qty="11" disabled> 7147 7148 <input type="hidden" id="quantity-template--27888374645049__main-53937968873785" data-qty="13" disabled> 7149 7150 <input type="hidden" id="quantity-template--27888374645049__main-54349772685625" data-qty="0" disabled> 7151 7152 <input type="hidden" id="quantity-template--27888374645049__main-54349772718393" data-qty="0" disabled> 7153 7154 <input type="hidden" id="quantity-template--27888374645049__main-54349772751161" data-qty="15" disabled> 7155 7156 <input type="hidden" id="quantity-template--27888374645049__main-54349772783929" data-qty="15" disabled> 7157 7158 <input type="hidden" id="quantity-template--27888374645049__main-54349772816697" data-qty="10" disabled> 7159 7160 <input type="hidden" id="quantity-template--27888374645049__main-53937968906553" data-qty="0" disabled> 7161 7162 <input type="hidden" id="quantity-template--27888374645049__main-53937968939321" data-qty="0" disabled> 7163 7164 <input type="hidden" id="quantity-template--27888374645049__main-53937968972089" data-qty="0" disabled> 7165
7165 7166 <input type="hidden" id="quantity-template--27888374645049__main-53937969004857" data-qty="7" disabled> 7167 7168 <input type="hidden" id="quantity-template--27888374645049__main-53937969037625" data-qty="8" disabled> 7169 7170 7171 <div class=" 7172 product-form__add 7173 js-product-buttons 7174 product-form__add--dynamic 7175 7176 " 7177 > 7178 7179 <button 7180 type="submit" 7181 name="add" 7182 class=" 7183 c-btn 7184 c-btn--full 7185 c-btn--hollow 7186 product-form__add-btn 7187 js-product-add 7188 " 7189 7190 > 7191 <span class="product-form__add-btn__text"> 7192 <span class="js-product-add-text">Add to cart 7193</span> 7194 </span> 7195 <span class="product-form__add-btn__tick"><i class="icon icon--tick"></i></span> 7196 <span class="product-form__add-btn__spinner"> 7197 <div class="theme-spinner"> 7198 <div class="theme-spinner__border"></div> 7199 <div class="theme-spinner__border"></div> 7200 <div class="theme-spinner__border"></div> 7201 <div class="theme-spinner__border"></div> 7202 </div> 7203 </span> 7204 </button> 7205 7206 <div data-shopify="payment-button" class="shopify-payment-button"> <shopify-accelerated-checkout recommended="{"supports_subs":true,"supports_def_opts":false,"name":"paypal","wallet_params":{"shopId":77073219897,"countryCode":"NO","merchantName":"Line of Oslo","phoneRequired":true,"companyRequired":false,"shippingType":"shipping","shopifyPaymentsEnabled":false,"hasManagedSellingPlanState":false,"requiresBillingAgreement":false,"gatewayType":"CONNECTED","merchantId":"VKXVZT7UUD5VC","sdkUrl":"https://www.paypal.com/sdk/js?components=buttons\u0026commit=false\u0026currency=NOK\u0026locale=en_US\u0026client-id=AexZEtAxk09Ncgj6FSWFFyGKbxxAZ_LTyJ2DPdJWl1YUlecinmc5AfIaRF2qYjWlusWahlzz6SVkY5Ci\u0026merchant-id=VKXVZT7UUD5VC\u0026intent=authorize","serviceableCountryCodes":["AE","AT","AU","BE","CA","CH","CZ","DE","DK","ES","FI","FR","GB","HK","IE","IL","IT","JP","KR","MY","NL","NO","NZ","PL","PT","SE","SG","SI","US"]}}" fallback="{"supports_subs":true,"supports_def_opts":true,"name":"buy_it_now","wallet_params":{}}" access-token="dd5e44dcbec987206704992a88357e7c" buyer-country="US" buyer-locale="en" buyer-currency="NOK" variant-params="[{"id":53937968578873,"requiresShipping":true},{"id":53937968611641,"requiresShipping":true},{"id":53937968644409,"requiresShipping":true},{"id":53937968677177,"requiresShipping":true},{"id":53937968709945,"requiresShipping":true},{"id":53937968742713,"requiresShipping":true},{"id":53937968775481,"requiresShipping":true},{"id":53937968808249,"requiresShipping":true},{"id":53937968841017,"requiresShipping":true},{"id":53937968873785,"requiresShipping":true},{"id":54349772685625,"requiresShipping":true},{"id":54349772718393,"requiresShipping":true},{"id":54349772751161,"requiresShipping":true},{"id":54349772783929,"requiresShipping":true},{"id":54349772816697,"requiresShipping":true},{"id":53937968906553,"requiresShipping":true},{"id":53937968939321,"requiresShipping":true},{"id":53937968972089,"requiresShipping":true},{"id":53937969004857,"requiresShipping":true},{"id":53937969037625,"requiresShipping":true}]" shop-id="77073219897" enabled-flags="["1172c16a","a1d1f9a1","f5afabb3","370070f3"]" > <div class="shopify-payment-button__button" role="button" disabled aria-hidden="true" style="background-color: transparent; border: none"> <div class="shopify-payment-button__skeleton"> </div> </div> <div class="shopify-payment-button__more-options shopify-payment-button__skeleton" role="button" disabled aria-hidden="true"> </div> </shopify-accelerated-checkout> </div> 7207 7208 7209 </div> 7210 <div class="product-form__shopify-payment-terms"> 7211 7212 </div> 7213 <input type="hidden" name="product-id" value="10276261626169" /><input type="hidden" name="section-id" value="template--27888374645049__main" /></form> 7214 </div> 7215 7216 7217 7218 <div id="inventory-notice-template--27888374645049__main" class="product-single__box__block product-single__box__block--inventory_notice" data-inventory-limit="10" data-show-qty="false" > 7219 7220 7221 7222 <div class=" 7223 product-form__stock-note 7224 u-flex 7225 u-flex--middle 7226 7227 product-form__stock-note--in-stock 7228 7229 product-form__stock-note--low 7230 7231 7232 7233 "> 7234 7235 <div class=" 7236 pulsating-dot 7237 product-form__stock-note-dot 7238 "> 7239 <div class="pulsating-dot__ring"></div> 7240 <div class="pulsating-dot__circle"></div> 7241 </div> 7242 7243 <p class="product-form__stock-note-text u-medium-small">Low stock 7244</p> 7245 </div> 7246 7247 </div> 7248 7249 7250<div class="product-single__box__block product-single__box__block--m-0 product-single__box__block--spacer" > 7251 <div class="product-form__spacer product-form__spacer--top-small product-form__spacer--bottom-small product-form__spacer--has-border"></div> 7252 </div><div class="product-single__box__block product-single__box__block--description" > 7253 <div class="rte"> 7254 <p>The perfect soft shirt â Krista Check! This relaxed shirt features a classic collar and button closures along the front and cuffs. Perfect styled with our âLas Vegasâ jeans for a relaxed everyday look.<br><br>The model is 175 cm tall and wears a size S.</p> 7255 </div> 7256 </div> 7257<div class="product-single__box__block product-single__box__block--tab"> 7258 <accordion-group>
7258<details 7259 7260 id="31e0a2fd-8a6c-4113-929c-94130af2f23c" 7261 > 7262 7263 <summary> 7264 <h3 class="f-family--body u-large u-text-transform--none u-color-text">Material & Care</h3> 7265 <summary-icon> 7266 <i class="icon icon--plus" aria-hidden="true"></i> 7267 </summary-icon> 7268 </summary> 7269 7270 <details-content> 7271 <div class="product-single__accordion__item-wrap rte"> 7272 <p><span class="metafield-multi_line_text_field">19% Viscose, 78% Polyester, 3% Elastane<br /> 7273<br /> 7274Wash with love & care - wool program, wash with similar color, wash in washing bag, do not bleach, do not tumble dry, shrinkage 3%</span></p> 7275 </div> 7276 7277 <div class="product-form__img" style="text-align: left"> 7278 7279 <img 7280 class="product-form__img__img" 7281 src="//lineofoslo.com/cdn/shop/files/jeans_30_low_heat.png?v=1725908287&
7281width=360" 7282 srcset=" 7283 //lineofoslo.com/cdn/shop/files/jeans_30_low_heat.png?v=1725908287&width=180 180w 28h, 7284 //lineofoslo.com/cdn/shop/files/jeans_30_low_heat.png?v=1725908287&width=360 360w 57h, 7285 //lineofoslo.com/cdn/shop/files/jeans_30_low_heat.png?v=1725908287&width=540 540w 85h, 7286 //lineofoslo.com/cdn/shop/files/jeans_30_low_heat.png?v=1725908287&width=720 720w 113h, 7287 //lineofoslo.com/cdn/shop/files/jeans_30_low_heat.png?v=1725908287&width=900 900w 141h, 7288 //lineofoslo.com/cdn/shop/files/jeans_30_low_heat.png?v=1725908287&
7288width=1080 1080w 170h, 7289 //lineofoslo.com/cdn/shop/files/jeans_30_low_heat.png?v=1725908287&width=1296 1296w 204h, 7290 //lineofoslo.com/cdn/shop/files/jeans_30_low_heat.png?v=1725908287&width=1512 1512w 238h 7291 " 7292 width="360" 7293 height="57" 7294 alt="" 7295 loading="lazy" 7296 style="max-width: 140px" 7297 sizes="(min-width: 981px): 520px, (min-width: 696px): 660px, 100vw" 7298 /> 7299 7300 </div> 7301 7302 </details-content> 7303 </details></accordion-group> 7304 </div><div class="product-single__box__block product-single__box__block--share" > 7305 7306 7307 7308 <div class="product-single__share"> 7309 <ul class="product-single__share-items o-list-bare" style="text-align: left"> 7310 7311 <li class="product-single__share-item"> 7312 <a href="//www.facebook.com/sharer.php?u=https://lineofoslo.com/products/krista-check-skjorte" class="product-single__share-link icon-fallback" target="_blank" rel="noopener"> 7313 <i class="icon icon--facebook" aria-hidden="true"></i> 7314 <span class="icon-fallback__text">Facebook</span> 7315 </a> 7316 </li> 7317 7318 7319 <li class="product-single__share-item"> 7320 <a href="//twitter.com/share?text=Line%20of%20Oslo%20Krista%20Check%20Shirt&url=https://lineofoslo.com/products/krista-check-skjorte" class="product-single__share-link icon-fallback" target="_blank" rel="noopener"> 7321 <i class="icon icon--twitter" aria-hidden="true"></i> 7322 <span class="icon-fallback__text">Twitter</span> 7323 </a> 7324 </li> 7325 7326 7327 <li class="product-single__share-item"> 7328 <a href="http://pinterest.com/pin/create/button/?url=https://lineofoslo.com/products/krista-check-skjorte&
7328media=//lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-15.png?crop=center&height=1024&v=1789652209&width=1024&description=Line%20of%20Oslo%20Krista%20Check%20Shirt" class="product-single__share-link icon-fallback" target="_blank" rel="noopener"> 7329 <i class="icon icon--pinterest" aria-hidden="true"></i> 7330 <span class="icon-fallback__text">Pinterest</span> 7331 </a> 7332 </li> 7333 7334 7335 <li class="product-single__share-item"> 7336 <a href="mailto:?body=Line%20of%20Oslo%20Krista%20Check%20Shirt - https://lineofoslo.com/products/krista-check-skjorte" class="product-single__share-link icon-fallback"> 7337 <i class="icon icon--mail" aria-hidden="true"></i> 7338 <span class="icon-fallback__text">Email</span> 7339 </a> 7340 </li> 7341 7342 </ul> 7343 </div> 7344 </div></div> 7345 7346 </div> 7347 7348 </div> 7349 </div> 7350 </div> 7351 </div> 7352 7353 </div> 7354 </section> 7355</div> 7356 7357 7358
7358<script type="application/json" id="ModelJson-template--27888374645049__main"> 7359 [] 7360 </script>
7360 7361 7362<link rel="stylesheet" href="//lineofoslo.com/cdn/shop/t/59/assets/photoswipe.css?v=7383086209910714671789730213"> 7363
7363<script type="module"> 7364 import PhotoSwipeLightbox from "//lineofoslo.com/cdn/shop/t/59/assets/photoswipe-lightbox-v5.3.2.esm.min.js?v=93516731628252884591789730212"; 7365 import { correctThumbBounds } from "//lineofoslo.com/cdn/shop/t/59/assets/photoswipe-filters.js?v=104511558576198850861789730212"; 7366 7367 if (!customElements.get('product-media-zoom')) { 7368 customElements.define('product-media-zoom', class ProductMediaZoom extends HTMLElement { 7369 constructor() { 7370 super(); 7371 this.initZoom(); 7372 this.previouslyFocusedElement = null; 7373 } 7374 7375 initZoom() { 7376 const gallery = this.querySelector('.js-product-slider'); 7377 7378 const lightbox = new PhotoSwipeLightbox({ 7379 arrowPrevSVG: ` 7380 <i class="pswp__icn icon icon--left-l" aria-hidden="true"></i> 7381 `, 7382 arrowNextSVG: ` 7383 <i class="pswp__icn icon icon--right-l" aria-hidden="true"></i> 7384 `, 7385 zoomSVG: ` 7386 <svg aria-hidden="true" focusable="false" role="presentation" class="pswp__icn icon icon-plus" xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> 7387 <g fill="none" fill-rule="evenodd"> 7388 <path fill="currentColor" d="M29.3137,10.2365 C35.5621,16.4849 35.5621,26.6155 29.3137,32.8639 C23.0653,39.1123 12.9347,39.1123 6.68629,32.8639 C0.437903,26.6155 0.437903,16.4849 6.68629,10.2365 C12.9347,3.98807 23.0653,3.98807 29.3137,10.2365 Z M30.7279,8.82225 C37.7574,15.8517 37.7574,27.2487 30.7279,34.2781 C23.6985,41.3075 12.3015,41.3075 5.27208,34.2781 C-1.75736,27.2487 -1.75736,15.8517 5.27208,8.82225 C12.3015,1.79281 23.6985,1.79281 30.7279,8.82225 Z M34.5779,34.9792 C34.1873,34.5886 33.5542,34.5886 33.1636,34.9792 C32.7731,35.3697 32.7731,36.0029 33.1636,36.3934 L44.4774,47.7071 C44.8679,48.0976 45.501,48.0976 45.8916,47.7071 C46.2821,47.3166 46.2821,46.6834 45.8916,46.2929 L34.5779,34.9792 Z"/> 7389 <path class="pswp__zoom-icn-bar-v" fill="currentColor" d="M19.4858,11.9755 C19.4858,11.4367 19.0445,11 18.5,11 C17.9555,11 17.5142,11.4367 17.5142,11.9755 L17.5142,30.8043 C17.5142,31.3431 17.9555,31.7798 18.5,31.7798 C19.0445,31.7798 19.4858,31.3431 19.4858,30.8043 L19.4858,11.9755 Z"/> 7390 <path class="pswp__zoom-icn-bar-h" fill="currentColor" d="M8.98582,20.4144 C8.44137,20.4144 8,20.8511 8,21.3899 C8,21.9286 8.44137,22.3654 8.98582,22.3654 L28.0142,22.3654 C28.5586,22.3654 29,21.9286 29,21.3899 C29,20.8511 28.5586,20.4144 28.0142,20.4144 L8.98582,20.4144 Z"/> 7391 </g> 7392 </svg> 7393 `, 7394 closeSVG: ` 7395 <i class="pswp__icn icon icon--close-l" aria-hidden="true"></i> 7396 `, 7397 counter: false, 7398 gallery: gallery, 7399 children: '.media-gallery__link', 7400 bgOpacity: 1, 7401 pswpModule: () => import("//lineofoslo.com/cdn/shop/t/59/assets/photoswipe-v5.3.2.esm.min.js?v=152856952341679890991789730213") 7402 }); 7403 7404 lightbox.init(); 7405 7406 lightbox.addFilter('thumbBounds', correctThumbBounds); 7407 7408 lightbox.on('afterInit', () => { 7409 this.previouslyFocusedElement = document.activeElement; 7410 lightbox.pswp.element.focus(); 7411 7412 $('.js-product-single .js-product-slider').slick('slickSetOption', 'speed', 0); 7413 }); 7414 7415 lightbox.on('change', () => { 7416 const current = lightbox.pswp.currSlide; 7417 const { slideId } = current.data.element.dataset; 7418 if (slideId) { 7419 $('.js-product-single .js-product-slider').slick('goTo', Number(slideId)); 7420 } 7421 }); 7422 7423 lightbox.on('close', () => { 7424 if (this.previouslyFocusedElement) { 7425 this.previouslyFocusedElement.focus({preventScroll: true}); 7426 this.previouslyFocusedElement = null; 7427 } 7428 $('.js-product-single .js-product-slider').slick('slickSetOption', 'speed', 300); 7429 }); 7430 } 7431 }); 7432 } 7433 </script>
7433 7434
7435<script type="application/ld+json"> 7436 { 7437 "@context": "https://schema.org/", 7438 "@type": "Product", 7439 "name": "Line of Oslo Krista Check Shirt", 7440 "url": "https://lineofoslo.com/products/krista-check-skjorte", 7441 "image": [ 7442 "https://lineofoslo.com/cdn/shop/files/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246&width=1683" 7443 ], 7444 "description": "The perfect soft shirt â Krista Check! This relaxed shirt features a classic collar and button closures along the front and cuffs. Perfect styled with our âLas Vegasâ jeans for a relaxed everyday look.The model is 175 cm tall and wears a size S.", 7445 "sku": "262-051\\097\\XS", 7446 "brand": { 7447 "@type": "Brand", 7448 "name": "Line Of Oslo" 7449 }, 7450 "offers": [{ 7451 "@type" : "Offer","sku": "262-051\\097\\XS","gtin13": "7072456317592","availability" : "https://schema.org/InStock", 7452 "price" : 1199.0, 7453 "priceCurrency" : "NOK", 7454 "url" : "https://lineofoslo.com/products/krista-check-skjorte?variant=53937968578873" 7455 }, 7456{ 7457 "@type" : "Offer","sku": "262-051\\097\\S","gtin13": "7072456317615","availability" : "https://schema.org/OutOfStock", 7458 "price" : 1199.0, 7459 "priceCurrency" : "NOK", 7460 "url" : "https://lineofoslo.com/products/krista-check-skjorte?variant=53937968611641" 7461 }, 7462{ 7463 "@type" : "Offer","sku": "262-051\\097\\M","gtin13": "7072456317639","availability" : "https://schema.org/OutOfStock", 7464 "price" : 1199.0, 7465 "priceCurrency" : "NOK", 7466 "url" : "https://lineofoslo.com/products/krista-check-skjorte?variant=53937968644409" 7467 }, 7468{ 7469 "@type" : "Offer","sku": "262-051\\097\\L","gtin13": "7072456317653","availability" : "https://schema.org/OutOfStock", 7470 "price" : 1199.0, 7471 "priceCurrency" : "NOK", 7472 "url" : "https://lineofoslo.com/products/krista-check-skjorte?variant=53937968677177" 7473 }, 7474{ 7475 "@type" : "Offer","sku": "262-051\\097\\XL","gtin13": "7072456317677","availability" : "https://schema.org/OutOfStock", 7476 "price" : 1199.0, 7477 "priceCurrency" : "NOK", 7478 "url" : "https://lineofoslo.com/products/krista-check-skjorte?variant=53937968709945" 7479 }, 7480{ 7481 "@type" : "Offer","sku": "262-051\\066\\XS","gtin13": "7072456323258","availability" : "https://schema.org/InStock", 7482 "price" : 1199.0, 7483 "priceCurrency" : "NOK", 7484 "url" : "https://lineofoslo.com/products/krista-check-skjorte?variant=53937968742713" 7485 }, 7486{ 7487 "@type" : "Offer","sku": "262-051\\066\\S","gtin13": "7072456323265","availability" : "https://schema.org/InStock", 7488 "price" : 1199.0, 7489 "priceCurrency" : "NOK", 7490 "url" : "https://lineofoslo.com/products/krista-check-skjorte?variant=53937968775481" 7491 }, 7492{ 7493 "@type" : "Offer","sku": "262-051\\066\\M","gtin13": "7072456323272","availability" : "https://schema.org/InStock", 7494 "price" : 1199.0, 7495 "priceCurrency" : "NOK", 7496 "url" : "https://lineofoslo.com/products/krista-check-skjorte?variant=53937968808249" 7497 }, 7498{ 7499 "@type" : "Offer","sku": "262-051\\066\\L","gtin13": "7072456323289","availability" : "https://schema.org/InStock", 7500 "price" : 1199.0, 7501 "priceCurrency" : "NOK", 7502 "url" : "https://lineofoslo.com/products/krista-check-skjorte?variant=53937968841017" 7503 }, 7504{ 7505 "@type" : "Offer","sku": "262-051\\066\\XL","gtin13": "7072456323296","availability" : "https://schema.org/InStock", 7506 "price" : 1199.0, 7507 "priceCurrency" : "NOK", 7508 "url" : "https://lineofoslo.com/products/krista-check-skjorte?variant=53937968873785" 7509 }, 7510{ 7511 "@type" : "Offer","sku": "262-051\\063\\XS","gtin13": "7072456342051","availability" : "https://schema.org/OutOfStock", 7512 "price" : 1199.0, 7513 "priceCurrency" : "NOK", 7514 "url" : "https://lineofoslo.com/products/krista-check-skjorte?variant=54349772685625" 7515 }, 7516{ 7517 "@type" : "Offer","sku": "262-051\\063\\S","gtin13": "7072456342068","availability" : "https://schema.org/OutOfStock", 7518 "price" : 1199.0, 7519 "priceCurrency" : "NOK", 7520 "url" : "https://lineofoslo.com/products/krista-check-skjorte?variant=54349772718393" 7521 }, 7522{ 7523 "@type" : "Offer","sku": "262-051\\063\\M","gtin13": "7072456342075","availability" : "https://schema.org/InStock", 7524 "price" : 1199.0, 7525 "priceCurrency" : "NOK", 7526 "url" : "https://lineofoslo.com/products/krista-check-skjorte?variant=54349772751161" 7527 }, 7528{ 7529 "@type" : "Offer","sku": "262-051\\063\\L","gtin13": "7072456342082","availability" : "https://schema.org/InStock", 7530 "price" : 1199.0, 7531 "priceCurrency" : "NOK", 7532 "url" : "https://lineofoslo.com/products/krista-check-skjorte?variant=54349772783929" 7533 }, 7534{ 7535 "@type" : "Offer","sku": "262-051\\063\\XL","gtin13": "7072456342099","availability" : "https://schema.org/InStock", 7536 "price" : 1199.0, 7537 "priceCurrency" : "NOK", 7538 "url" : "https://lineofoslo.com/products/krista-check-skjorte?variant=54349772816697" 7539 }, 7540{ 7541 "@type" : "Offer","sku": "262-051\\008\\XS","gtin13": "7072456317608","availability" : "https://schema.org/OutOfStock", 7542 "price" : 1199.0, 7543 "priceCurrency" : "NOK", 7544 "url" : "https://lineofoslo.com/products/krista-check-skjorte?variant=53937968906553" 7545 }, 7546{ 7547 "@type" : "Offer","sku": "262-051\\008\\S","gtin13": "7072456317622","availability" : "https://schema.org/OutOfStock", 7548 "price" : 1199.0, 7549 "priceCurrency" : "NOK", 7550 "url" : "https://lineofoslo.com/products/krista-check-skjorte?variant=53937968939321" 7551 }, 7552{ 7553 "@type" : "Offer","sku": "262-051\\008\\M","gtin13": "7072456317646","availability" : "https://schema.org/OutOfStock", 7554 "price" : 1199.0, 7555 "priceCurrency" : "NOK", 7556 "url" : "https://lineofoslo.com/products/krista-check-skjorte?variant=53937968972089" 7557 }, 7558{ 7559 "@type" : "Offer","sku": "262-051\\008\\L","gtin13": "7072456317660","availability" : "https://schema.org/InStock", 7560 "price" : 1199.0, 7561 "priceCurrency" : "NOK", 7562 "url" : "https://lineofoslo.com/products/krista-check-skjorte?variant=53937969004857" 7563 }, 7564{ 7565 "@type" : "Offer","sku": "262-051\\008\\XL","gtin13": "7072456317684","availability" : "https://schema.org/InStock", 7566 "price" : 1199.0, 7567 "priceCurrency" : "NOK", 7568 "url" : "https://lineofoslo.com/products/krista-check-skjorte?variant=53937969037625" 7569 } 7570] 7571 } 7572</script>
7572 7573 7574 7575<style> #shopify-section-template--27888374645049__main h5 {color: #000000; font-weight: 200; font-size: 16px; text-transform: none; line-height: 1.3em; margin: 0px;} </style></div><div id="shopify-section-template--27888374645049__product-recommendations" class="shopify-section js-section__product-recommendations"><div class="js-product-recommendations" data-url="/recommendations/products?section_id=template--27888374645049__product-recommendations&product_id=10276261626169&limit=4" data-base-url="/recommendations/products" data-product-id="10276261626169" data-section-id="template--27888374645049__product-recommendations" data-limit="4"> 7576 <section class="section section--template--27888374645049__product-recommendations section--mb-s section--mb-reset--mob section--recommended-products js-collection-section" data-section-id="template--27888374645049__product-recommendations" data-section-type="product-recommendations"> 7577 <div class="container container--large container--mob-0"> 7578 7579 </div> 7580 </section> 7581</div> 7582 7583 7584</div> 7585</div> 7586<style>.icartShopifyCartContent{width: 100%;}</style> 7587 </div> 7588 7589 <!-- BEGIN sections: footer-group --> 7590<div id="shopify-section-sections--27888375005497__footer" class="shopify-section shopify-section-group-footer-group js-section__footer"><style type="text/css"> 7591 .footer, 7592 .footer__bottom { 7593 background-color: #efebe5; 7594 } 7595 7596 .footer-nav__title.footer-nav__title { 7597 color: #212121; 7598 } 7599 7600</style> 7601<footer role="contentinfo" id="footer" class="footer footer--dark footer-divider"> 7602 <div class="container"> 7603 <div class="footer__content"> 7604 <div class="o-layout"> 7605 7606 7607 7608 7609 <div class="o-layout__item u-1/1 u-1/2@tab u-1/4@desk" > 7610 <div class="footer-nav footer-nav--image"> 7611 7612 7613 <img 7614 class="footer-nav__image-img" 7615 src="//lineofoslo.com/cdn/shop/files/Design_uten_navn-9.png?v=1725565630&width=300" 7616 srcset=" 7617 //lineofoslo.com/cdn/shop/files/Design_uten_navn-9.png?v=1725565630&width=180 180w 178h, 7618 //lineofoslo.com/cdn/shop/files/Design_uten_navn-9.png?v=1725565630&width=360 360w 356h, 7619 //lineofoslo.com/cdn/shop/files/Design_uten_navn-9.png?v=1725565630&width=540 540w 533h, 7620 //lineofoslo.com/cdn/shop/files/Design_uten_navn-9.png?v=1725565630&width=720 720w 711h 7621 " 7622 width="300" 7623 height="296" 7624 alt="" 7625 loading="lazy" 7626 style="max-width: 210px" 7627 /> 7628 7629 7630 </div> 7631 </div> 7632 7633 7634 7635 7636 7637 <div class="o-layout__item u-1/1 u-1/2@tab u-1/4@desk" > 7638 <div class="footer-nav"> 7639 7640 <ul class="footer-nav__items o-list-bare"> 7641 7642 <li class="footer-nav__item"><a href="/pages/om-oss" class="footer-nav__link">About us</a></li> 7643 7644 <li class="footer-nav__item"><a href="/pages/lines-universe" class="footer-nav__link">Line's Universe</a></li> 7645 7646 <li class="footer-nav__item"><a href="/pages/sustainability" class="footer-nav__link">Sustainability</a></li> 7647 7648 <li class="footer-nav__item"><a href="/pages/our-stores" class="footer-nav__link">Our Stores</a></li> 7649 7650 <li class="footer-nav__item"><a href="/pages/terms-conditions-1" class="footer-nav__link">Terms of Service</a></li> 7651 7652 <li class="footer-nav__item"><a href="/policies/privacy-policy" class="footer-nav__link">Privacy Policy</a></li> 7653 7654 <li class="footer-nav__item"><a href="/pages/our-retailers" class="footer-nav__link">Our Retailers</a></li> 7655 7656 <li class="footer-nav__item"><a href="/pages/we-re-hiring" class="footer-nav__link">We´re hiring </a></li> 7657 7658 </ul> 7659 </div> 7660 </div> 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 <div class="o-layout__item u-1/1 u-1/2@tab u-1/4@desk" > 7671 <div class="footer-nav"> 7672 7673 <ul class="footer-nav__items o-list-bare"> 7674 7675 <li class="footer-nav__item"><a href="/pages/contact" class="footer-nav__link">Contact</a></li> 7676 7677 <li class="footer-nav__item"><a href="/pages/faq" class="footer-nav__link">FAQ</a></li> 7678 7679 <li class="footer-nav__item"><a href="/pages/delivery" class="footer-nav__link">Delivery</a></li> 7680 7681 <li class="footer-nav__item"><a href="/pages/return-exchanges" class="footer-nav__link">Returns & Exchanges</a></li> 7682 7683 </ul> 7684 </div> 7685 </div> 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 <div class="o-layout__item u-1/1 u-1/2@tab u-1/4@desk" > 7696 <div class="footer-nav"> 7697 7698 <h3 class="footer-nav__title h5">Social</h3> 7699 7700 7701 7702 7703 7704 <div class="footer-nav__social-wrapper"> 7705 <ul class="footer-nav__social-items o-list-bare"> 7706 7707 <li class="footer-nav__social-item"> 7708 <a href="https://www.facebook.com/LineOfOslo/" class="footer-nav__social-link icon-fallback" target="_blank" rel="noopener"> 7709 <i class="icon icon--facebook" aria-hidden="true"></i>
7710 <span class="icon-fallback__text">Facebook</span> 7711 </a> 7712 </li> 7713 7714 7715 7716 7717 <li class="footer-nav__social-item"> 7718 <a href="https://www.instagram.com/lineofoslo/" class="footer-nav__social-link icon-fallback" target="_blank" rel="noopener"> 7719 <i class="icon icon--instagram" aria-hidden="true"></i> 7720 <span class="icon-fallback__text">Instagram</span> 7721 </a> 7722 </li> 7723 7724 7725 7726 7727 7728 7729 7730 7731 </ul> 7732 </div> 7733 7734 7735 </div> 7736 </div> 7737 7738 7739 7740 7741 7742 </div> 7743 </div> 7744 </div> 7745 7746 <div class="footer__bottom"> 7747 <div class="container container--full"> 7748 7749 <div class="footer__bottom__left"></div> 7750 7751 <div class="footer__bottom__right"> 7752 <div class="footer-copyright"> 7753 <p class="footer-copyright__text"> 7754 <span class="footer-copyright__span footer-copyright__span--powered"><a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=poweredby&utm_medium=shopify&utm_source=onlinestore"> </a></span> 7755 <span class="footer-copyright__span footer-copyright__span--shop">© 2026, Line of Oslo</span> 7756 </p> 7757 </div> 7758 </div> 7759 7760 </div> 7761 </div> 7762 7763</footer> 7764 7765 7766</div> 7767<!-- END sections: footer-group --> 7768 </div> 7769 7770
7771<script src="//lineofoslo.com/cdn/shop/t/59/assets/predictive-search.js?v=125067398100870987441789730215" type="module"></script>
7771<div class="search-draw js-search-draw search-draw--dark mobile-draw mfp-hide"> 7772 <div class="search__head"> 7773 <div class="search__label"> 7774 <h4 class="search__label-title">Search</h4> 7775 </div> 7776 </div> 7777 7778 <div class="search-draw__wrapper"> 7779 <div class="search__inner"> 7780 7781 <predictive-search type="sidebar" search-url="/search"> 7782 <search-form> 7783 <form action="/search" method="get" class="search__form" role="search"> 7784 <div class="search-form__input-wrapper"> 7785 <input 7786 id="sidebar-search" 7787 type="search" 7788 name="q" 7789 value="" 7790 class="search__form-input js-search-input" 7791 placeholder="Search our store..." 7792 aria-label="Search our store..."role="combobox" 7793 aria-expanded="false" 7794 aria-owns="sidebar-predictive-search-results" 7795 aria-controls="sidebar-predictive-search-results" 7796 aria-haspopup="listbox" 7797 aria-autocomplete="list" 7798 autocorrect="off" 7799 autocomplete="off" 7800 autocapitalize="off" 7801 spellcheck="false"> 7802 7803 <input name="options[prefix]" type="hidden" value="last"> 7804 7805 <button type="submit" class="search__form-submit" aria-label="Search"> 7806 <svg class="icon icon-search" aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none"> 7807 <path fill-rule="evenodd" clip-rule="evenodd" d="M29.3137 10.2365C35.5621 16.4849 35.5621 26.6155 29.3137 32.8639C23.0653 39.1123 12.9347 39.1123 6.68629 32.8639C0.437903 26.6155 0.437903 16.4849 6.68629 10.2365C12.9347 3.98807 23.0653 3.98807 29.3137 10.2365ZM30.7279 8.82225C37.7574 15.8517 37.7574 27.2487 30.7279 34.2781C23.6985 41.3075 12.3015 41.3075 5.27208 34.2781C-1.75736 27.2487 -1.75736 15.8517 5.27208 8.82225C12.3015 1.79281 23.6985 1.79281 30.7279 8.82225ZM34.5779 34.9792C34.1873 34.5886 33.5542 34.5886 33.1636 34.9792C32.7731 35.3697 32.7731 36.0029 33.1636 36.3934L44.4774 47.7071C44.8679 48.0976 45.501 48.0976 45.8916 47.7071C46.2821 47.3166 46.2821 46.6834 45.8916 46.2929L34.5779 34.9792Z" fill="currentColor"/> 7808</svg> 7809 </button> 7810 </div><predictive-search-results tabindex="-1" hidden></predictive-search-results></form> 7811 </search-form> 7812 </predictive-search type="sidebar" search-url="/search"> 7813 7814 <div class="search__content"><recent-searches class="search__nav" hidden> 7815 <h4 class="search__nav-title">Recent searches</h4> 7816 <ul class="search__nav-items o-list-bare"></ul> 7817 </recent-searches> 7818 7819 <div class="search__nav"> 7820 <h4 class="search__nav-title">Main menu</h4> 7821 <ul class="search__nav-items o-list-bare"> 7822 7823 <li class="search__nav-item"> 7824 <a href="/collections/view-all" class="search__nav-link">SHOP</a> 7825 </li> 7826 7827 <li class="search__nav-item"> 7828 <a href="/collections/news" class="search__nav-link">NEWS</a> 7829 </li> 7830 7831 <li class="search__nav-item"> 7832 <a href="/collections/outlet" class="search__nav-link">OUTLET</a> 7833 </li> 7834 7835 <li class="search__nav-item"> 7836 <a href="/pages/return-exchanges" class="search__nav-link">RETURN & EXCHANGES</a> 7837 </li> 7838 7839 <li class="search__nav-item"> 7840 <a href="/blogs/artikler/line-magazine-the-birthday-edition-20-years-of-line-of-oslo" class="search__nav-link">LOO MAGAZINE</a> 7841 </li> 7842 7843 <li class="search__nav-item"> 7844 <a href="/pages/loyalty-program" class="search__nav-link">LOO FAMILY CLUB</a> 7845 </li> 7846 7847 </ul> 7848 </div> 7849 7850 7851 </div> 7852 </div> 7853 </div> 7854 </div> 7855 7856 7857 <div class="js-cart-draw mfp-hide ajaxcart-draw ajaxcart-draw--dark mobile-draw"> 7858 <div class="ajaxcart-draw__wrapper js-cart-draw-inner"> 7859 7860 7861 <form action="/cart" method="post" novalidate class="cart ajaxcart__form"> 7862 7863 7864 <div class="ajaxcart__head"> 7865 <div class="ajaxcart__label"> 7866 7867 7868 </div> 7869 </div> 7870 7871 7872 7873 7874 7875 7876 <div id="EmptyCart" class="ajaxcart__container" aria-hidden="true"> 7877 <div class="ajaxcart-empty ajaxcart__scroller"> 7878 7879 7880 7881 <p class="ajaxcart-empty__title">Your cart is currently empty</p> 7882 <a href="/" class="c-btn c-btn--primary c-btn--full">Shop now</a> 7883 </div> 7884 </div> 7885 7886 7887 <div id="CartContainer" class="ajaxcart__container"></div> 7888 7889 7890 </div> 7891 7892 7893 </div> 7894 </div> 7895 7896
7896<script id="CartTemplate" type="text/template"> 7897 7898 <div class="ajaxcart__scroller"> 7899 <div class="ajaxcart__products"> 7900 {{#items}} 7901 <div class="ajaxcart__product"> 7902 <div class="ajaxcart__row" data-line="{{line}}"> 7903 7904 <div class="ajaxcart__product-top"> 7905 <div class="o-layout o-layout--small u-flex u-flex--middle"> 7906 <div class="o-layout__item u-1/3 u-1/5@tab"> 7907 <a href="{{url}}" class="ajaxcart__product-image"> 7908 <div class="o-ratio o-ratio--bg-product"> 7909 7910 {{#if img}} 7911 <img src="{{img}}" class="o-ratio__content" alt="{{ name }}"> 7912 {{else}} 7913 <img src="//lineofoslo.com/cdn/shop/t/59/assets/placeholder_240x.png?v=113555733946226816651789730214" class="o-ratio__content" alt="{{ name }}"> 7914 {{/if}} 7915 7916 <div class="theme-spinner"> 7917 <div class="theme-spinner__border"></div> 7918 <div class="theme-spinner__border"></div> 7919 <div class="theme-spinner__border"></div> 7920 <div class="theme-spinner__border"></div> 7921 </div> 7922 7923 </div> 7924 </a> 7925 </div> 7926 <div class="o-layout__item u-2/3 u-4/5@tab"> 7927 <a href="{{url}}"><h4 class="ajaxcart__product-name f-family--body">{{name}}</h4></a> 7928 {{#if variation}} 7929 <p class="ajaxcart__product-meta">{{variation}}</p> 7930 {{/if}} 7931 {{#properties}} 7932 {{#each this}} 7933 {{#if this}} 7934 {{#iffirstnoteq @key "_"}} 7935 <p class="ajaxcart__product-meta">{{@key}}: {{this}}</p> 7936 {{/iffirstnoteq}} 7937 {{/if}} 7938 {{/each}} 7939 {{/properties}} 7940 7941 {{#if sellingPlan}} 7942 <p class="ajaxcart__product-meta">{{ sellingPlan }}</p> 7943 {{/if}} 7944 7945 7946 </div> 7947 </div> 7948 </div> 7949 7950 <div class="o-layout o-layout--small u-flex u-flex--middle"> 7951 <div class="o-layout__item u-1/2 u-flex u-flex--middle"> 7952 <div class="ajaxcart__qty"> 7953 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}"> 7954 <span aria-hidden="true">−</span> 7955 <span class="u-hidden-visually">Reduce item quantity by one</span> 7956 </button> 7957 <input type="number" name="updates[]" class="ajaxcart__qty-num js-qty-input" value="{{itemQty}}" min="0" data-id="{{key}}" data-line="{{line}}" aria-label="quantity" pattern="[0-9]*" autocomplete="off"> 7958 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}"> 7959 <span aria-hidden="true">+</span> 7960 <span class="u-hidden-visually">Increase item quantity by one</span> 7961 </button> 7962 </div> 7963 <div class="ajaxcart__remove-wrapper"> 7964 <button class="ajaxcart__remove" type="button" data-id="{{key}}" data-line="{{line}}" data-qty="0"><svg class="icon-selection icon-selection--#212121" aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M20.5,3.5v19a1,1,0,0,1-1,1H4.5a1,1,0,0,1-1-1V3.5" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path> 7965 <path d="M7.5,3.5v-2a1,1,0,0,1,1-1h7a1,1,0,0,1,1,1v2" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path> 7966 <line x1="0.5" y1="3.5" x2="23.5" y2="3.5" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></line>
7967 <line x1="7.5" y1="7" x2="7.5" y2="19" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></line> 7968 <line x1="12" y1="7" x2="12" y2="19" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></line> 7969 <line x1="16.5" y1="7" x2="16.5" y2="19" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></line></svg> 7970 7971 7972 7973 7974 7975 7976 7977 7978<span class="u-hidden-visually">Remove</span></button> 7979 </div> 7980 </div> 7981 7982 <div class="o-layout__item u-1/2"> 7983 {{#if lineDiscount}} 7984 7985 <div class="ajaxcart-item__price ajaxcart-item__price--original"><s><span class="money">{{{originalLinePrice}}}</span></s></div> 7986 7987 <div class="ajaxcart-item__discount"> 7988 {{#each lineDiscounts}} 7989 <span class="ajaxcart-item__discount-icon"> 7990 <svg class="icon icon--label" aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M23.03,14.545a.552.552,0,0,1-.249,1l-5.544,1.692L15.544,22.78a.551.551,0,0,1-1,.249L1.452,9.938A2.789,2.789,0,0,1,.744,8.231L.738,1.737a1,1,0,0,1,1-1H8.229a2.782,2.782,0,0,1,1.707.707Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path><circle cx="5.737" cy="5.737" r="2" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></circle></svg> 7991 </span> 7992 <p class="ajaxcart-item__discount-text"> 7993 {{ this.discount_application.title }} (-<span class="money">{{{ this.amount }}}</span>) 7994 </p> 7995 {{/each}} 7996 </div> 7997 7998 <div class="ajaxcart-item__price ajaxcart-item__price--sale"><span class="money">{{{lineDiscountedPrice}}}</span></div> 7999 8000 {{else}} 8001 <div class="ajaxcart-item__price"><span class="money">{{{linePrice}}}</span></div> 8002 {{/if}} 8003 8004 {{#if unitPriceExists}} 8005 <div class="ajaxcart-item__price ajaxcart-item__price--unit">{{{ unitPrice }}}<span aria-hidden="true">/</span><span class="u-hidden-visually">per </span>{{#ifnoteq unitReferenceValue "1"}}{{{ unitReferenceValue }}}{{/ifnoteq}}{{{ unitReferenceUnit }}}</div> 8006 {{/if}} 8007 8008 </div> 8009 8010 </div> 8011 8012 </div> 8013 </div> 8014 {{/items}} 8015 </div> 8016 </div> 8017 8018 <div class="ajaxcart__footer"> 8019 8020 8021 8022 {{#if cartDiscounts}} 8023 {{#each cartDiscounts}} 8024 <div class="ajaxcart__footer-discount"> 8025 <span class="ajaxcart__footer-discount-icon"> 8026 <svg class="icon icon--label" aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M23.03,14.545a.552.552,0,0,1-.249,1l-5.544,1.692L15.544,22.78a.551.551,0,0,1-1,.249L1.452,9.938A2.789,2.789,0,0,1,.744,8.231L.738,1.737a1,1,0,0,1,1-1H8.229a2.782,2.782,0,0,1,1.707.707Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path><circle cx="5.737" cy="5.737" r="2" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></circle></svg> 8027 </span> 8028 <p class="ajaxcart__footer-discount-text">{{ this.title }} (-<span class="money">{{ this.total_allocated_amount }}</span>)</p></div> 8029 {{/each}} 8030 {{/if}} 8031 8032 <div class="o-layout o-layout--tiny o-layout--reverse"> 8033 <div class="o-layout__item u-1/1 u-1/3@tab"> 8034 <p class="ajaxcart__footer-total">Subtotal <span class="money">{{{totalPrice}}}</span></p> 8035 </div> 8036 <div class="o-layout__item u-1/1 u-2/3@tab"> 8037 <p class="ajaxcart__footer-message">Tax included. <a href="/policies/shipping-policy">Shipping</a> calculated at checkout. 8038</p> 8039 </div> 8040 </div> 8041 8042 <div class="ajaxcart__button"> 8043 <button type="submit" class="c-btn c-btn--full c-btn--primary ajaxcart__checkout" name="checkout">Check Out</button> 8044 </div> 8045 8046 8047 8048 </div> 8049 8050</script>
8050 8051
8052<script id="NotificationTemplate" type="text/template"> 8053 8054 <div class="ajaxcart__inner"> 8055 8056 <div class="o-layout o-layout--tiny u-flex u-flex--middle"> 8057 8058 <div class="o-layout__item u-1/1 u-3/5@mob"> 8059 <div class="ajaxcart__product"> 8060 8061 <div class="o-layout o-layout--small u-flex u-flex--middle"> 8062 8063 <div class="o-layout__item u-1/3"> 8064 <div class="ajaxcart__product-image-wrapper"> 8065 <div class="ajaxcart__product-image"> 8066 <div class="o-ratio o-ratio--bg-product"> 8067 8068 {{#if thisItem.img}} 8069 <img src="{{ thisItem.img }}" class="o-ratio__content" alt="{{ thisItem.name }}"> 8070 {{else}} 8071 <img src="//lineofoslo.com/cdn/shop/t/59/assets/placeholder_240x.png?v=113555733946226816651789730214" class="o-ratio__content" alt="{{ thisItem.name }}"> 8072 {{/if}} 8073 8074 <div class="theme-spinner theme-spinner--small theme-spinner--color-text"> 8075 <div class="theme-spinner__border"></div> 8076 <div class="theme-spinner__border"></div> 8077 <div class="theme-spinner__border"></div> 8078 <div class="theme-spinner__border"></div> 8079 </div> 8080 8081 </div> 8082 </div> 8083 </div> 8084 </div> 8085 8086 <div class="o-layout__item u-2/3"> 8087 <p class="ajaxcart__product-name f-family--body">{{ thisItem.name }}</p> 8088 <p class="ajaxcart__product-meta">{{ thisItem.variation }}</p> 8089 <p class="ajaxcart__product-meta">{{ thisItem.sellingPlan }}</p> 8090 <p class="ajaxcart__product-meta">{{ thisItem.price }}</p> 8091 {{#if thisItem.unitPriceExists}} 8092 <div class="ajaxcart__product-meta ajaxcart-item__price--unit">{{{ thisItem.unitPrice }}}<span aria-hidden="true">/</span><span class="u-hidden-visually">per </span>{{#ifnoteq thisItem.unitReferenceValue "1"}}{{{ thisItem.unitReferenceValue }}}{{/ifnoteq}}{{{ thisItem.unitReferenceUnit }}}</div> 8093 {{/if}} 8094 </div> 8095 8096 </div> 8097 8098 </div> 8099 </div> 8100 8101 <div class="o-layout__item u-1/1 u-2/5@mob"> 8102 <a href="/cart" class="c-btn c-btn--small c-btn--full c-btn--primary ajaxcart__checkout" name="checkout">View cart</a> 8103 <a href="/" class="c-btn c-btn--small c-btn--full c-btn--hollow js-close-mfp ajaxcart__continue">Continue shopping</a> 8104 </div> 8105 8106 </div> 8107 8108 </div> 8109 8110</script>
8110 8111
8112<script id="AjaxQty" type="text/template"> 8113 8114 <div class="ajaxcart__qty"> 8115 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 8116 <span aria-hidden="true">−</span> 8117 <span class="u-hidden-visually">Reduce item quantity by one</span> 8118 </button> 8119 <input type="number" class="ajaxcart__qty-num js-qty-input" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" autocomplete="off"> 8120 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 8121 <span aria-hidden="true">+</span> 8122 <span class="u-hidden-visually">Increase item quantity by one</span> 8123 </button> 8124 </div> 8125 8126</script>
8126 8127
8128<script id="JsQty" type="text/template"> 8129 8130 <div class="js-qty"> 8131 <button type="button" class="js-qty__adjust js-qty__adjust--minus icon-fallback-text" data-id="{{key}}" data-qty="{{itemMinus}}"> 8132 <span aria-hidden="true">−</span> 8133 <span class="u-hidden-visually">Reduce item quantity by one</span> 8134 </button> 8135 <input type="number" class="js-qty__num js-qty-input" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" name="{{inputName}}" autocomplete="off" {{#if formId}}form="{{ formId }}"{{/if}}> 8136 <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 8137 <span aria-hidden="true">+</span> 8138 <span class="u-hidden-visually">Increase item quantity by one</span> 8139 </button> 8140 </div> 8141 8142</script>
8142 8143 8144 8145
8145<script> 8146 //cart functions 8147 theme.ajaxCartInit = function() { 8148 ajaxCart.init({ 8149 8150 8151 8152 8153 cartContainer: '#CartContainer', 8154 cartCountSelector: '.js-cart-count', 8155 cartCostSelector: '#CartCost', 8156 emptySelector: '#EmptyCart', 8157 moneyFormat: "\u003cspan class=money\u003e{{amount_with_comma_separator}} kr\u003c\/span\u003e" 8158 }); 8159 }; 8160 </script>
8160 8161 <!-- Creative theme by Safe As Milk - http://safeasmilk.co/ --> 8162 <!-- Theme version 4.0.1 --> 8163<style> 8164@media (min-width: 768px ) { 8165#shopify-section-header header.header { 8166 display: flex; 8167} 8168#shopify-section-header form#FooterLanguageForm { 8169 display: none; 8170} 8171.list-menu .list-menu__item { 8172 padding: 1.2rem 1rem; 8173} 8174} 8175</style> 8176<style> h5 {color: #343434; font-family: Mallanna; font-weight: 600; font-size: 2.5em; text-transform: none; line-height: 1.3em; margin: 0px;} </style> 8177<div id="shopify-block-AdlMwdW41eW0wNHQ2b__18131037017812181619" class="shopify-block shopify-app-block"> 8178
8178<script defer src="https://chimpstatic.com/mcjs-connected/js/users/b1f10dee11671b35185b00303/2cba71fb896992cacc69a22dc.js"></script>
8178 8179
8179<script>window.mc_embedded = true;</script>
8179 8180 8181 8182 8183</div><div id="shopify-block-ANWk3VXE0N3BIWEMvV__11349500561483629931" class="shopify-block shopify-app-block">
8183<script id="ReStock-config"> 8184 var _ReStockConfig = window._ReStockConfig || {}; 8185 8186 _ReStockConfig.templateName = "product"; 8187 _ReStockConfig.isB2BCustomer = null; 8188 _ReStockConfig.currentLocationId = null; 8189 _ReStockConfig.moneyFormat = "\u003cspan class=money\u003e{{amount_with_comma_separator}} kr\u003c\/span\u003e";_ReStockConfig.marketHandle = "international"; 8190 _ReStockConfig.marketId = 58311704889;_ReStockConfig.product = { 8191 selected_or_first_available_variant_id : 53937968578873, 8192 id : 10276261626169, 8193 title : "Line of Oslo Krista Check Shirt", 8194 handle : "krista-check-skjorte", 8195 available : true, 8196 featured_image : "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209", 8197 images : ["\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209","\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-14.png?v=1789652209","\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-13.jpg?v=1788170877","\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246","\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-Black_097.jpg?v=1784044785","\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-Black_097-1.jpg?v=1784044786","\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-Black_097-2.jpg?v=1784044786","\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-Black_097-3.jpg?v=1784044786","\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-Black_097-4.jpg?v=1784044786","\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190","\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152","\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-Port_008-5.jpg?v=1784044786","\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-Port_008-6.jpg?v=1784044785","\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-Port_008-7.jpg?v=1784044785","\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-Port_008-8.jpg?v=1784044785","\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-Port_008-9.jpg?v=1784044786"], 8198 price : 119900, 8199 compare_at_price: null, 8200 vendor : "Line Of Oslo", 8201 selling_plan_groups: [], 8202 variants: [{ 8203 id: 53937968578873, 8204 title: "Black \/ XS", 8205 available: true, 8206 featured_image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246", 8207 name: null, 8208 price: 119900, 8209 compare_at_price: null, 8210 inventory_management: "shopify", 8211 sku: "262-051\\097\\XS", 8212 quantity: 2, 8213 },{ 8214 id: 53937968611641, 8215 title: "Black \/ S", 8216 available: false, 8217 featured_image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246", 8218 name: null, 8219 price: 119900, 8220 compare_at_price: null, 8221 inventory_management: "shopify", 8222 sku: "262-051\\097\\S", 8223 quantity: 0, 8224 },{ 8225 id: 53937968644409, 8226 title: "Black \/ M", 8227 available: false, 8228 featured_image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246", 8229 name: null, 8230 price: 119900, 8231 compare_at_price: null, 8232 inventory_management: "shopify", 8233 sku: "262-051\\097\\M", 8234 quantity: 0, 8235 },{ 8236 id: 53937968677177, 8237 title: "Black \/ L", 8238 available: false, 8239 featured_image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246", 8240 name: null, 8241 price: 119900, 8242 compare_at_price: null, 8243 inventory_management: "shopify", 8244 sku: "262-051\\097\\L", 8245 quantity: 0, 8246 },{ 8247 id: 53937968709945,
8248 title: "Black \/ XL", 8249 available: false, 8250 featured_image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12_28d33b5b-2b8a-4616-afc4-25a03bce7d97.png?v=1786449246", 8251 name: null, 8252 price: 119900, 8253 compare_at_price: null, 8254 inventory_management: "shopify", 8255 sku: "262-051\\097\\XL", 8256 quantity: 0, 8257 },{ 8258 id: 53937968742713, 8259 title: "Blue \/ XS", 8260 available: true, 8261 featured_image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190", 8262 name: null, 8263 price: 119900, 8264 compare_at_price: null, 8265 inventory_management: "shopify", 8266 sku: "262-051\\066\\XS", 8267 quantity: 9, 8268 },{ 8269 id: 53937968775481, 8270 title: "Blue \/ S", 8271 available: true, 8272 featured_image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190", 8273 name: null, 8274 price: 119900, 8275 compare_at_price: null, 8276 inventory_management: "shopify", 8277 sku: "262-051\\066\\S", 8278 quantity: 6, 8279 },{ 8280 id: 53937968808249, 8281 title: "Blue \/ M", 8282 available: true, 8283 featured_image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190", 8284 name: null, 8285 price: 119900, 8286 compare_at_price: null, 8287 inventory_management: "shopify", 8288 sku: "262-051\\066\\M", 8289 quantity: 19, 8290 },{ 8291 id: 53937968841017, 8292 title: "Blue \/ L", 8293 available: true, 8294 featured_image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190", 8295 name: null, 8296 price: 119900, 8297 compare_at_price: null, 8298 inventory_management: "shopify", 8299 sku: "262-051\\066\\L", 8300 quantity: 11, 8301 },{ 8302 id: 53937968873785, 8303 title: "Blue \/ XL", 8304 available: true, 8305 featured_image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-10.jpg?v=1785328190", 8306 name: null, 8307 price: 119900, 8308 compare_at_price: null, 8309 inventory_management: "shopify", 8310 sku: "262-051\\066\\XL", 8311 quantity: 13, 8312 },{ 8313 id: 54349772685625, 8314 title: "Brown \/ XS", 8315 available: false, 8316 featured_image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209", 8317 name: null, 8318 price: 119900, 8319 compare_at_price: null, 8320 inventory_management: "shopify", 8321 sku: "262-051\\063\\XS", 8322 quantity: 0, 8323 },{ 8324 id: 54349772718393, 8325 title: "Brown \/ S", 8326 available: false, 8327 featured_image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209", 8328 name: null, 8329 price: 119900, 8330 compare_at_price: null, 8331 inventory_management: "shopify", 8332 sku: "262-051\\063\\S", 8333 quantity: 0, 8334 },{ 8335 id: 54349772751161, 8336 title: "Brown \/ M", 8337 available: true, 8338 featured_image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209", 8339 name: null, 8340 price: 119900, 8341 compare_at_price: null, 8342 inventory_management: "shopify", 8343 sku: "262-051\\063\\M", 8344 quantity: 15, 8345 },{ 8346 id: 54349772783929, 8347 title: "Brown \/ L", 8348 available: true, 8349 featured_image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-15.png?v=1789652209", 8350 name: null, 8351 price: 119900, 8352 compare_at_price: null, 8353 inventory_management: "shopify", 8354 sku: "262-051\\063\\L", 8355 quantity: 15, 8356 },{ 8357 id: 54349772816697, 8358 title: "Brown \/ XL", 8359 available: true, 8360 featured_image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-
8360Blouse-262-051-15.png?v=1789652209", 8361 name: null, 8362 price: 119900, 8363 compare_at_price: null, 8364 inventory_management: "shopify", 8365 sku: "262-051\\063\\XL", 8366 quantity: 10, 8367 },{ 8368 id: 53937968906553, 8369 title: "Port \/ XS", 8370 available: false, 8371 featured_image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152", 8372 name: null, 8373 price: 119900, 8374 compare_at_price: null, 8375 inventory_management: "shopify", 8376 sku: "262-051\\008\\XS", 8377 quantity: 0, 8378 },{ 8379 id: 53937968939321, 8380 title: "Port \/ S", 8381 available: false, 8382 featured_image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152", 8383 name: null, 8384 price: 119900, 8385 compare_at_price: null, 8386 inventory_management: "shopify", 8387 sku: "262-051\\008\\S", 8388 quantity: 0, 8389 },{ 8390 id: 53937968972089, 8391 title: "Port \/ M", 8392 available: false, 8393 featured_image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152", 8394 name: null, 8395 price: 119900, 8396 compare_at_price: null, 8397 inventory_management: "shopify", 8398 sku: "262-051\\008\\M", 8399 quantity: 0, 8400 },{ 8401 id: 53937969004857, 8402 title: "Port \/ L", 8403 available: true, 8404 featured_image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152", 8405 name: null, 8406 price: 119900, 8407 compare_at_price: null, 8408 inventory_management: "shopify", 8409 sku: "262-051\\008\\L", 8410 quantity: 7, 8411 },{ 8412 id: 53937969037625, 8413 title: "Port \/ XL", 8414 available: true, 8415 featured_image: "\/\/lineofoslo.com\/cdn\/shop\/files\/Krista_Check_Skjorte-Blouse-262-051-12.png?v=1786449152", 8416 name: null, 8417 price: 119900, 8418 compare_at_price: null, 8419 inventory_management: "shopify", 8420 sku: "262-051\\008\\XL", 8421 quantity: 8, 8422 },] 8423 };let metafieldConfigData = null;metafieldConfigData = {"ask_for_gdpr_consent_enabled":false,"not_selectable_variants_enabled":false,"pre_order_products_enabled":false,"ui_style":{"notify_me_styles":[{"wrapper":null,"page":"PRODUCT_PAGE","inline_display_mode":"BUTTON","show_floating_button":false,"inject_in_parent_of_wrapper":false,"inject_to_all_wrappers":false,"inject_to_all_elements_of_each_wrapper":false,"handle_rerenders":true,"prepend_to_wrapper":false,"custom_styles":null,"enable_variant_listener_on_cards":false,"product_card_selector":"","displayed_product_resolution_enabled":false,"variant_picker_selector":null,"selected_anchor_selector":null,"general_card_placement_enabled":false,"card_scoped_wrapper_enabled":false,"variant_group_availability_enabled":false,"quick_view_widget_lifecycle_enabled":false,"style_mode":"SMART"},{"wrapper":null,"page":"LANDING_PAGES","inline_display_mode":"NOT_DISPLAYED","show_floating_button":false,"inject_in_parent_of_wrapper":false,"inject_to_all_wrappers":false,"inject_to_all_elements_of_each_wrapper":false,"handle_rerenders":true,"prepend_to_wrapper":false,"custom_styles":null,"enable_variant_listener_on_cards":false,"product_card_selector":null,"displayed_product_resolution_enabled":false,"variant_picker_selector":null,"selected_anchor_selector":null,"general_card_placement_enabled":false,"card_scoped_wrapper_enabled":false,"variant_group_availability_enabled":false,"quick_view_widget_lifecycle_enabled":false,"style_mode":"SMART"},{"wrapper":null,"page":"COLLECTION_PAGE","inline_display_mode":"NOT_DISPLAYED","show_floating_button":false,"inject_in_parent_of_wrapper":false,"inject_to_all_wrappers":false,"inject_to_all_elements_of_each_wrapper":false,"handle_rerenders":true,"prepend_to_wrapper":false,"custom_styles":{"color":"000","showIcon":false,"iconColor":"","borderSize":"","borderColor":"","borderRadius":"","backgroundColor":"fff"},"enable_variant_listener_on_cards":false,"product_card_selector":null,"displayed_product_resolution_enabled":false,"variant_picker_selector":null,"selected_anchor_selector":null,"general_card_placement_enabled":false,"card_scoped_wrapper_enabled":false,"variant_group_availability_enabled":false,"quick_view_widget_lifecycle_enabled":false,"style_mode":"MANUA
8423L"}],"product_page_notify_me_style":{"wrapper":[".product-form__add.js-product-buttons.product-form__add--dynamic",".product-form.product-form--single.js-product-form"],"support_wrapper":[".product-form.product-form--single.js-product-form"],"css_selector_from_theme":null,"inline_display_mode":"BUTTON","show_floating_button":false,"hide_buy_it_now_button":true,"inject_in_parent_of_wrapper":false,"inject_to_all_wrappers":false,"handle_rerenders":true,"prepend_to_wrapper":false,"css_selector":"div.product-form__add.js-product-buttons.product-form__add--dynamic>button[type='submit'].c-btn.c-btn--full.c-btn--hollow.product-form__add-btn.js-product-add","css_selector_by_support":"","custom_styles":{"color":"","showIcon":true,"iconColor":"","borderSize":"0","borderColor":"","borderRadius":"0","backgroundColor":"000"},"custom_variant_listener":{"element":null,"property":null,"is_dataset_property":false},"use_add_to_cart_button_selector":true,"style_mode":"MANUAL"},"subscription_form_style":{"custom_styles":{"color":"","showIcon":false,"iconColor":"","borderSize":"","borderColor":"","borderRadius":"","backgroundColor":""},"style_mode":"SMART","name_field_is_visible":false,"name_field_is_required":false,"email_field_is_required":false,"phone_field_is_required":false,"whatsapp_field_is_required":false,"quantity_field_is_visible":false,"quantity_max_value":10},"button_classes":["c-btn","c-btn--full","c-btn--hollow","product-form__add-btn","js-product-add"],"global_raw_css":".product-form.product-form--single.js-product-form:has(.PRODUCT_PAGE-notify-button) .product-form__add.is-disabled{\r\n display: none;\r\n}","product_page_raw_css":"","after_subscribe_message_styles":{"toastColor":"fff","toastBackgroundColor":"000"}},"ui_contents":[{"notify_me_contents":[{"page":"COLLECTION_PAGE","button_text":"Notify me","not_selectable_variants_button_text":"Out of stock? Click here"},{"page":"LANDING_PAGES","button_text":"Notify me","not_selectable_variants_button_text":"Out of stock? Click here"},{"page":"PRODUCT_PAGE","button_text":"Notify me when available","not_selectable_variants_button_text":"Out of stock? Click here"}],"subscription_form_content":{"form_title":"Notify me via:","email_input_placeholder":"Email Address ...","email_input_below_text":"Donât worry! We hate spam as much as you do.","email_label":"Email","full_name_label":"Name","full_name_placeholder":"Full name ...","push_label":"Push notification","sms_label":"SMS","sms_input_placeholder":"Phone Number ...","whatsapp_label":"Whatsapp","whatsapp_input_placeholder":"Whatsapp Number ...","empty_name_error_message":"Name is required.","name_length_error_message":"Name is too long.","invalid_email_error_message":"Your email address is not valid.","empty_email_error_message":"Email is required.","invalid_phone_number_error_message":"Your phone number is not valid.","empty_phone_number_error_message":"Phone number is required.","no_channels_selected_error_message":"You need to subscribe to one of the channels.","button_text":"Notify Me When Available","add_to_contacts_checkbox_text":"Notify me about other news or offers too","privacy_policy_text":"I have read and agree to the {{privacy_policy_url_text}}.","privacy_policy_url_text":"privacy policy","privacy_policy_url":"","privacy_policy_error_message":"You must accept our privacy policy","after_subscribe_message_text":"We will notify you when the item is available","already_subscribed_message_text":"You already have subscribed for this item","push_is_not_allowed_message_text":"You didn\\'t allow this site to send you push notifications. To receive back-in-stock notification from this shop.","style_mode":"SMART","quantity_label":"Quantity"},"language":"en"},{"notify_me_contents":[{"page":"PRODUCT_PAGE","button_text":"Varsle meg","not_selectable_variants_button_text":"Out of stock? Click here"},{"page":"COLLECTION_PAGE","button_text":"Varsle meg","not_selectable_variants_button_text":"Out of stock? Click here"},{"page":"LANDING_PAGES","button_text":"Varsle meg","not_selectable_variants_button_text":"Out of stock? Click here"}],"subscription_form_content":{"form_title":"Notify me via:","email_input_placeholder":"Email Address ...","email_input_below_text":"Donât worry! We hate spam as much as you do.","email_label":"Email","full_name_label":"Name","full_name_placeholder":"Full name ...","push_label":"Push notification","sms_label":"tekstmelding","sms_input_placeholder":"Telefonnummer ...","whatsapp_label":"Whatsapp","whatsapp_input_placeholder":"Whatsapp Number ...","empty_name_error_message":"Name is required.","name_length_error_message":"Name is too long.","invali
8423d_email_error_message":"Your email address is not valid.","empty_email_error_message":"Email is required.","invalid_phone_number_error_message":"Your phone number is not valid.","empty_phone_number_error_message":"Phone number is required.","no_channels_selected_error_message":"You need to subscribe to one of the channels.","button_text":"Notify Me When Available","add_to_contacts_checkbox_text":"Notify me about other news or offers too","privacy_policy_text":"I have read and agree to the {{privacy_policy_url_text}}.","privacy_policy_url_text":"privacy policy","privacy_policy_url":"","privacy_policy_error_message":"You must accept our privacy policy","after_subscribe_message_text":"We will notify you when the item is available","already_subscribed_message_text":"You already have subscribed for this item","push_is_not_allowed_message_text":"You didn\\'t allow this site to send you push notifications. To receive back-in-stock notification from this shop.","style_mode":"SMART","quantity_label":"Quantity"},"language":"nb"}],"default_language":"en","shop_id":36805,"app_enabled":true,"base_url":"https://api.notify-me.app","excluded_from_back_in_stock_variants":[{"product_id":10036937031993,"variant_id":51343126069561},{"product_id":10036937031993,"variant_id":51343126135097},{"product_id":10036937031993,"variant_id":51343126102329}],"included_in_back_in_stock_variants":[],"has_contact_integration":false,"ask_for_contact_integration_is_hidden":false,"privacy_policy_is_hidden":true,"disable_branding_permission":true,"is_email_hidden":false,"is_sms_hidden":false,"is_push_hidden":true,"is_whatsapp_hidden":true,"collection_page_show_button_when_any_variant_is_out_of_stock":false,"home_page_show_button_when_any_variant_is_out_of_stock":false,"subscription_limit_reached":false,"is_back_in_stock_active":true,"back_
8423in_stock_product_selection_mode":"EXCLUSION","low_stock":{"excluded_variants":[],"is_service_active":false,"widget_settings":{"show_mode":"ALL","inventory_threshold":1},"product_page":{"is_elements_shown":false,"ui_contents":{"en":{"description":"Only {{remaining_quantity}} items left in stock!"},"nb":{"description":"Kun {{remaining_quantity}} varer igjen på lager!"}},"style_mode":"SMART","widget":{"custom_styles":{"show_icon":true,"icon_color":"EE442E","text_color":"EE442E"},"wrapper_by_support":null,"inject_to_all_wrappers":false},"inline_button_placements":[]},"collection_page":{"is_elements_shown":false,"ui_contents":{"en":{"description":"Only {{remaining_quantity}} items left in stock!"},"nb":{"description":"Kun {{remaining_quantity}} varer igjen på lager!"}},"style_mode":"SMART","widget":{"custom_styles":{"show_icon":true,"icon_color":"EE442E","text_color":"EE442E"},"wrapper_by_support":null,"inject_to_all_wrappers":false},"inline_button_placements":[]},"landing_page":{"is_elements_shown":false,"ui_contents":{"en":{"description":"Only {{remaining_quantity}} items left in stock!"},"nb":{"description":"Kun {{remaining_quantity}} varer igjen på lager!"}},"style_mode":"SMART","widget":{"custom_styles":{"show_icon":true,"icon_color":"EE442E","text_color":"EE442E"},"wrapper_by_support":null,"inject_to_all_wrappers":false},"inline_button_placements":[]}},"is_suspended":false,"default_country_code":null};let metafieldPreOrderData = null;metafieldPreOrderData = {"product_page":{"ui_styles":{"badge":{"custom_styles":{"text_color":"000","border_radius":10,"background_color":"e4e5e7"},"is_hidden":false},"button":{"custom_styles":null,"is_visible":true},"description":{"is_hidden":false},"hide_buy_it_now_button":true,"is_active":false,"price":{"custom_styles":null,"format":"{symbol}{price}","is_hidden":false},"replace_with_add_to_cart_button":true,"selling_plan_selector":{"custom_styles":{"badgeTextColor":"000000","cardTitleColor":"202223","cardBorderColor":"e4e5e7","cardBorderRadius":"8","badgeBorderRadius":"6","cardBackgroundColor":"ffffff","badgeBackgroun
8423dColor":"e4e5e7","cardDescriptionColor":"6d7175"},"is_active":false,"custom_css":""},"style_mode":"SMART"},"ui_contents":{"en":{"badge_text":"Pre-order","widget_description":"Product will be available soon!","btn_text":"Pre-order now","availability_date_label":"Expected availability","payment_label":"Payment","soon_available_text":"Coming soon","billing_full_payment_text":"Full payment at checkout","billing_due_now_label":"Due now","billing_due_later_label":"Due later on","selling_plan_full_payment_title":"Full payment","selling_plan_partial_payment_title":"Reserve now, pay later","selling_plan_selector_save_label":"Save"},"nb":{"badge_text":"Forhåndsbestille","widget_description":"Produktet vil snart være tilgjengelig!","btn_text":"Forhåndsbestill nå","availability_date_label":"Forventet tilgjengelighet","payment_label":"Betaling","soon_available_text":"Kommer snart","billing_full_payment_text":"Full betaling ved kassen","billing_due_now_label":"Forfaller nå","billing_due_later_label":"Forfaller senere","selling_plan_full_payment_title":"Full payment","selling_plan_partial_payment_title":"Reserve now, pay later","selling_plan_selector_save_label":"Save"}},"elements_selectors":{"button":{"css_selector":"div.product-form__add.js-product-buttons.product-form__add--dynamic>button[type='submit'].c-btn.c-btn--full.c-btn--hollow.product-form__add-btn.js-product-add","css_selector_by_support":null,"css_selector_from_theme":null},"price":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"description":{"wrapper_by_support":null},"selling_plan_selector":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"inject_to_all_wrappers":false}},"collection_page":{"ui_styles":{"is_active":false,"button":{"custom_styles":null,"is_visible":true},"badge":{"custom_styles":{"text_color":"000","border_radius":10,"background_color":"e4e5e7"},"is_visible":false,"position":"TOP_RIGHT"},"style_mode":"SMART"},"ui_contents":{"en":{"btn_text":"Pre-order now","badge_text":"Pre-order"},"nb":{"btn_text":"Forhåndsbestill nå","badge_text":"Pre-order"}},"elements_selectors":{"button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"badge_parent":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"price":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null,"format":"{symbol}{price}","is_hidden":false},"quick_view_button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"quick_view_section":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"quick_view_section_add_to_cart_button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"featured_section":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"inject_to_all_wrappers":false},"enable_variant_listener_on_cards":false},"landing_page":{"ui_styles":{"is_active":false,"button":{"custom_styles":null,"is_visible":true},"badge":{"custom_styles":{"text_color":"000","border_radius":10,"background_color":"e4e5e7"},"is_visible":false,"position":"TOP_RIGHT"},"style_mode":"SMART","featured_product_is_active":false},"ui_contents":{"en":{"btn_text":"Pre-order now","badge_text":"Pre-order"},"nb":{"btn_text":"Forhåndsbestill nå","badge_text":"Pre-order"}},"elements_selectors":{"button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"badge_parent":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"price":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null,"format":"{symbol}{price}","is_hidden":false},"quick_view_button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"quick_view_section":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"quick_view_section_add_to_cart_button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"featured_section":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"inject_to_all_wrappers":false},"enable_variant_listener_on_cards":false},"limit_reached":false,"variant_ids":[],"is_selling_plan_removed_by_support":false,"selling_plans_settings":{"691107004729":{"has_discount":false,"value_type":"percentage","value":0.0}},"selling_plans_billing_settings":{"691107004729":{"payment_type":"FULL","checkout_charge":{"percentage":50.0,"charge_type":"PERCENTAGE","exact_amount":0.0},"remaining_fee_checkout_time":{"date_type":"AFTER_SOME_DAYS","exact_date":null,"after_some_days":7}}},"selling_plan_id_to_market_ids":{},"selling_plan_id_to_variant_ids":{"691107004729":[]},"is_service_active":true,"override_cart_requests":true,"excluded_catalogs_products":[],"excluded_catalogs_collections":[],"excluded_company_locations":[],"description_availability_config":{"691107004729":{"type":"SOON","config":{}}},"mixed_cart_alert":{"show_mixed_cart_alert":false,"is_active":false,"ui_styles":{"show_icon":true,"show_title":true,"show_body":true,"style_mode":"SMART","custom_css":"","custom_styles":{"color":"1A1A1A","iconColor":"616161","borderColor":"F1F1F1","borderRadius":8,"backgroundColor":"F1F1F1"}},"elements_selectors":{"cart_page":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"cart_drawer":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null}},"ui_contents":{"en":{"title":"Shipping Notice","body":"Your order
8423contains items with different delivery dates."},"nb":{"title":"Shipping Notice","body":"Your order contains items with different delivery dates."}}}};let metafieldWishlistData = undefined;metafieldWishlistData = {"is_service_active":false,"is_guest_mode_enabled":true,"wishlist_buttons":{"product_page":{"is_visible":true,"style_mode":"MANUAL","custom_styles":{"color":"000000","iconColor":"","borderSize":"","borderColor":"","borderRadius":"","backgroundColor":"ffffff"},"inject_to_all_wrappers":false,"icon":"heart","inline_button_placements":[]},"collection_page":{"is_visible":false,"custom_styles":null,"icon":"","position":"","mode":"","button_placements":[]},"landing_page":{"is_visible":false,"custom_styles":null,"icon":"","position":"","mode":"","button_placements":[]}},"limit_reached":false,"ui_contents":{"nb":{"id":29709,"add_to_wishlist_button_label":"Legg til i ønskelisten","remove_from_wishlist_button_label":"Den er pÃ¥ ønskelisten","list_access_button_label":"Ãnskeliste","list_title":"Ãnskeliste","list_add_all_to_cart_button_label":"Legg alt i handlekurven","product_card_add_to_cart_button_label":"Legg i handlekurven","product_card_out_of_stock_button_label":"Utsolgt","empty_list_description":"Du likte ingen produkter ennÃ¥!","empty_list_explore_button_label":"Utforsk butikken","add_to_cart_toast_message":"Lagt til i handlekurven din","login_modal_button_label":"Logg inn","login_modal_description":"Logg inn pÃ¥ kontoen din for Ã¥ legge til produkter i ønskelisten din og se tidligere lagrede varer.","login_modal_title":"Innlogging kreves"},"en":{"id":29701,"add_to_wishlist_button_label":"Add to wishlist","remove_from_wishlist_button_label":"Itâs in wishlist","list_access_button_label":"Wishlist","list_title":"Wishlist","list_add_all_to_cart_button_label":"Add all to cart","product_card_add_to_cart_button_label":"Add to cart","product_card_out_of_stock_button_label":"Out of stock","empty_list_description":"You didn't like any products yet!","empty_list_explore_button_label":"Explore store","add_to_cart_toast_message":"Added to your cart","login_modal_button_label":"Login","login_modal_description":"Log in to your account to add products to your wishlist and view your previously saved items.","login_modal_title":"Login required"}},"access_button":{"custom_styles":null,"icon":"heart","position":"bottom-left","hide_floating_button":false,"inline_button_placements":[]},"drawer":{"custom_styles":null,"position":"left"},"add_to_cart_message":{"custom_styles":null,"position":"bottom-right"},"updated_at":1766064969};let metafieldFlagsData = null;metafieldFlagsData = {};_ReStockConfig._metafields = { 8424 sdkConfig: metafieldConfigData, 8425 preOrderConfig: metafieldPreOrderData, 8426 wishlistConfig: metafieldWishlistData, 8427 featureFlags: metafieldFlagsData 8428 }; 8429</script>
8429 8430 8431<!-- BEGIN app snippet: early-cart-guard -->
8431<script id="ReStock-early-cart-guard"> 8432(function (window) { 8433 try { 8434 if (window.__nmPreorderEarlyGuard) return; 8435 8436 let cfg = null; 8437 const metafields = window._ReStockConfig?._metafields; 8438 if (metafields?.preOrderConfig && typeof metafields.preOrderConfig === 'object') { 8439 cfg = metafields.preOrderConfig; 8440 } 8441 8442 let wrappersInstalled = false; 8443 8444 window.__nmPreorderEarlyGuard = { 8445 v: 1, 8446 active: true, 8447 setConfig: function (nextConfig) { 8448 if (!nextConfig || typeof nextConfig !== 'object') return; 8449 cfg = nextConfig; 8450 if (cfg.override_cart_requests === true) installWrappers(); 8451 } 8452 }; 8453 8454 function isGuardActive() { 8455 return window.__nmPreorderEarlyGuard?.active === true; 8456 } 8457 8458 function isCartAddUrl(url) { 8459 try { 8460 const parsed = new URL(String(url), window.document.baseURI); 8461 return /(?:^|\/)cart\/add(?:\.js(?:on)?)?$/.test(parsed.pathname); 8462 } catch (error) { 8463 return false; 8464 } 8465 } 8466 8467 function isPageActive() { 8468 const template = window._ReStockConfig?.templateName; 8469 let pageConfig = null; 8470 if (template === 'product') { 8471 pageConfig = cfg.product_page; 8472 } else if (template === 'collection' || template === 'list-collections' || template === 'search' || template === 'page') { 8473 pageConfig = cfg.collection_page; 8474 } else if (template === 'index') { 8475 pageConfig = cfg.landing_page; 8476 } 8477 return pageConfig?.ui_styles?.is_active === true; 8478 } 8479 8480 function shouldEnrich() { 8481 if (!cfg) return false; 8482 if (cfg.override_cart_requests !== true) return false; 8483 if (cfg.is_service_active !== true) return false; 8484 if (cfg.limit_reached === true) return false; 8485 if (window._ReStockConfig?.isB2BCustomer) return false; 8486 return isPageActive(); 8487 } 8488 8489 function isPlanVisibleInMarket(planId) { 8490 const planToMarkets = cfg.selling_plan_id_to_market_ids; 8491 if (!planToMarkets) return true; 8492 const allowedMarketIds = planToMarkets[planId]; 8493 if (!allowedMarketIds || allowedMarketIds.length === 0) return true; 8494 const marketId = window._ReStockConfig?.marketId; 8495 if (marketId == null) return true; 8496 return allowedMarketIds.includes(Number(marketId)); 8497 } 8498 8499 function findSellingPlanId(variantId) { 8500 const planToVariants = cfg.selling_plan_id_to_variant_ids; 8501 if (!planToVariants) return null; 8502 for (const planId of Object.keys(planToVariants)) { 8503 const variantIds = planToVariants[planId]; 8504 if (variantIds && variantIds.includes(variantId) && isPlanVisibleInMarket(planId)) return planId; 8505 } 8506 return null; 8507 } 8508 8509 function localizedContents() { 8510 const contents = cfg.product_page?.ui_contents; 8511 if (!contents || typeof contents !== 'object') return {}; 8512 return contents[shopLanguage()] || contents['en'] || Object.values(contents)[0] || {}; 8513 } 8514 8515 function shopLanguage() { 8516 const locale = window.Shopify?.locale; 8517 if (locale) return locale; 8518 const documentLanguage = window.document?.documentElement?.lang; 8519 if (documentLanguage && documentLanguage !== 'null') return documentLanguage; 8520 return null; 8521 } 8522 8523 function formatDate(date) { 8524 return date.toISOString().split('T')[0]; 8525 } 8526 8527 function toFiniteNumber(value) { 8528 if (typeof value === 'number') return Number.isFinite(value) ? value : null; 8529 if (typeof value === 'string') { 8530 const parsed = parseFloat(value); 8531 return Number.isFinite(parsed) ? parsed : null; 8532 } 8533 return null; 8534 } 8535 8536 function clamp(value, min, max) { 8537 return Math.min(max, Math.max(min, value)); 8538 } 8539 8540 function availabilityDateText(planId) { 8541 const settings = cfg.description_availability_config?.[planId]; 8542 if (!settings) return ''; 8543 if (settings.type === 'SOON') return localizedContents().soon_available_text || ''; 8544 if (settings.type === 'SPECIFIC_DATE') { 8545 const parsed = new Date(settings.config.date); 8546 return isNaN(parsed.getTime()) ? '' : formatDate(parsed); 8547 } 8548 if (settings.type === 'RELATIVE_DATE') { 8549 const days = typeof settings.config.days === 'string' ? parseInt(settings.config.days, 10) : settings.config.days; 8550 if (isNaN(days)) return ''; 8551 const futureDate = new Date(); 8552 futureDate.setDate(futureDate.getDate() + days); 8553 return formatDate(futureDate); 8554 } 8555 return ''; 8556 } 8557 8558 function inlineVariantPrice(variantId) { 8559 const variants = window._ReStockConfig?.product?.variants;
8560 if (!Array.isArray(variants)) return null; 8561 const variant = variants.find(function (candidate) { 8562 return Number(candidate?.id) === variantId; 8563 }); 8564 if (!variant) return null; 8565 return variant.price ? variant.price / 100 : 0; 8566 } 8567 8568 function finalPriceForPlan(price, planId) { 8569 const adjustment = cfg.selling_plans_settings?.[planId]; 8570 if (!adjustment?.has_discount) return price; 8571 if (adjustment.value_type === 'percentage') return price * (1 - adjustment.value / 100); 8572 if (adjustment.value_type === 'fixed_amount') return price - adjustment.value * (window.Shopify?.currency?.rate ?? 1); 8573 return price; 8574 } 8575 8576 function formatMoneyIntl(price) { 8577 const currency = window.Shopify?.currency?.active || 'USD'; 8578 const locale = window.Shopify?.locale || 'en-US'; 8579 try { 8580 return new Intl.NumberFormat(locale, { style: 'currency', currency: currency }).format(price); 8581 } catch (error) { 8582 return currency + ' ' + price.toFixed(2); 8583 } 8584 } 8585 8586 const AMOUNT_PLACEHOLDER = /\{\{\s*(\w+)\s*\}\}/; 8587 8588 function delimit(cents, precision, thousands, decimal) { 8589 const parts = (cents / 100).toFixed(precision).split('.'); 8590 const grouped = parts[0].replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1' + thousands); 8591 return parts[1] ? grouped + (decimal || '.') + parts[1] : grouped; 8592 } 8593 8594 const AMOUNT_FORMATTERS = new Map([ 8595 ['amount', function (cents) { return delimit(cents, 2, ','); }], 8596 ['amount_no_decimals', function (cents) { return delimit(cents, 0, ','); }], 8597 ['amount_with_comma_separator', function (cents) { return delimit(cents, 2, '.', ','); }], 8598 ['amount_no_decimals_with_comma_separator', function (cents) { return delimit(cents, 0, '.'); }], 8599 ['amount_with_apostrophe_separator', function (cents) { return delimit(cents, 2, "'"); }], 8600 ['amount_no_decimals_with_space_separator', function (cents) { return delimit(cents, 0, ' '); }], 8601 ['amount_with_space_separator', function (cents) { return delimit(cents, 2, ' ', ','); }], 8602 ['amount_with_period_and_space_separator', function (cents) { return delimit(cents, 2, ' '); }] 8603 ]); 8604 8605 function decodeEntities(s) { 8606 var el = window.document.createElement('textarea'); el.innerHTML = s; return el.value; 8607 } 8608 8609 function moneyFormat() { 8610 const format = window._ReStockConfig?.moneyFormat; 8611 return typeof format === 'string' ? decodeEntities(format.replace(/<[^>]*>/g, '')) : ''; 8612 } 8613 8614 function formatMoney(amount) { 8615 const format = moneyFormat(); 8616 const formatAmount = AMOUNT_FORMATTERS.get(AMOUNT_PLACEHOLDER.exec(format)?.[1] ?? ''); 8617 if (!formatAmount) return formatMoneyIntl(amount); 8618 return format.replace(AMOUNT_PLACEHOLDER, formatAmount(Math.round(amount * 100))); 8619 } 8620 8621 function calculateCheckoutCharge(price, policy) { 8622 const { charge_type, exact_amount, percentage } = policy.checkout_charge; 8623 if (!Number.isFinite(price) || price <= 0) return 0; 8624 if (charge_type === 'PERCENTAGE') return clamp(price * ((toFiniteNumber(percentage) ?? 0) / 100), 0, price); 8625 return clamp(toFiniteNumber(exact_amount) ?? 0, 0, price); 8626 } 8627 8628 function formatRemainingDueDate(policy) { 8629 const { date_type, exact_date, after_some_days } = policy.remaining_fee_checkout_time; 8630 if (date_type === 'EXACT_DATE' && exact_date) { 8631 const parsed = new Date(exact_date + 'T12:00:00Z'); 8632 if (!isNaN(parsed.getTime())) return formatDate(parsed); 8633 } 8634 if (date_type === 'AFTER_SOME_DAYS' && after_some_days) { 8635 const days = toFiniteNumber(after_some_days); 8636 if (days === null) return ''; 8637 const futureDate = new Date(); 8638 futureDate.setDate(futureDate.getDate() + days); 8639 return formatDate(futureDate); 8640 } 8641 return ''; 8642 } 8643 8644 function paymentText(planId, variantId) { 8645 const policy = cfg.selling_plans_billing_settings?.[planId]; 8646 if (!policy) return ''; 8647 const contents = localizedContents(); 8648 if (policy.payment_type === 'FULL') return contents.billing_full_payment_text || 'Full payment at checkout'; 8649 8650 const price = inlineVariantPrice(variantId); 8651 if (price == null) return ''; 8652 8653 const planPrice = finalPriceForPlan(price, planId); 8654 const dueNowAmount = calculateCheckoutCharge(planPrice, policy); 8655 const dueLaterAmount = clamp(planPrice - dueNowAmount, 0, planPrice); 8656 const dueDate = formatRemainingDueDate(policy); 8657 8658 const dueNowLabel = contents.billing_due_now_label || 'Due now'; 8659 const dueLaterLabel = contents.billing_due_later_label || 'Due later on'; 8660 const formattedDueNow = formatMoney(dueNowAmount); 8661 const formattedDueLater = formatMoney(dueLaterAmount); 8662 const dueLaterPart = dueDate 8663 ? formattedDueLater + ' ' + dueLaterLabel + ' ' + dueDate 8664 : formattedDueLater + ' ' + dueLaterLabel; 8665 8666 return formattedDueNow + ' ' + dueNowLabel + ' · ' + dueLaterPart; 8667 } 8668 8669 const DEFAULT_AVAILABILITY_LABEL = 'Expected availability'; 8670 const DEFAULT_PAYMENT_LABEL = 'Payment'; 8671 const TYPE_MARKER = 'Type'; 8672 8673 function cleanLabel(raw) { 8674 return String(raw == null ? '' : raw) 8675 .replace(/[[\]]/g, '') 8676 .replace(/[\s:ï¼]+$/, '') 8677 .trim(); 8678 } 8679 8680 function resolvePaymentLabel(raw) { 8681 const cleaned = cleanLabel(raw); 8682 if (!cleaned || cleaned.charAt(0) === '_' || cleaned === TYPE_MARKER || cleaned === DEFAULT_AVAILABILITY_LABEL) { 8683 return DEFAULT_PAYMENT_LABEL; 8684 } 8685 return cleaned; 8686 } 8687 8688 function resolveAvailabilityLabel(raw, paymentLabel) { 8689 const cleaned = cleanLabel(raw); 8690 if (!cleaned || cleaned.charAt(0) === '_' || cleaned === TYPE_MARKER || cleaned === paymentLabel) { 8691 return DEFAULT_AVAILABILITY_LABEL; 8692 } 8693 return cleaned; 8694 } 8695 8696 function visibleCartProperties(planId, variantId) { 8697 const properties = {};
8698 try { 8699 const contents = localizedContents(); 8700 const paymentLabel = resolvePaymentLabel(contents.payment_label); 8701 const availabilityLabel = resolveAvailabilityLabel(contents.availability_date_label, paymentLabel); 8702 const availabilityDate = availabilityDateText(planId); 8703 if (availabilityDate) properties[availabilityLabel] = availabilityDate; 8704 const payment = paymentText(planId, variantId); 8705 if (payment) properties[paymentLabel] = payment; 8706 } catch (error) {} 8707 return properties; 8708 } 8709 8710 function setJsonProperty(item, name, value) { 8711 const properties = item.properties && typeof item.properties === 'object' && !Array.isArray(item.properties) ? item.properties : {}; 8712 if (properties[name] === value) return false; 8713 properties[name] = value; 8714 item.properties = properties; 8715 return true; 8716 } 8717 8718 function coerceJsonNumbers(item) { 8719 if (item.id) item.id = Number(item.id); 8720 if (item.quantity) item.quantity = Number(item.quantity); 8721 } 8722 8723 function applyVisibleJsonProperties(item, planId, variantId) { 8724 const properties = visibleCartProperties(planId, variantId); 8725 let changed = false; 8726 for (const name of Object.keys(properties)) { 8727 if (setJsonProperty(item, name, properties[name])) changed = true; 8728 } 8729 return changed; 8730 } 8731 8732 function enrichJsonItem(item) { 8733 if (!item || typeof item !== 'object') return false; 8734 const variantId = Number(item.id); 8735 if (!Number.isFinite(variantId)) return false; 8736 const planId = findSellingPlanId(variantId); 8737 if (planId == null) return false; 8738 8739 if (cfg.is_selling_plan_removed_by_support) { 8740 const tagged = setJsonProperty(item, '_purchase_type', 'NM-preorder'); 8741 const typed = setJsonProperty(item, 'Type', 'Pre-order'); 8742 if (!tagged && !typed) return false; 8743 coerceJsonNumbers(item); 8744 return true; 8745 } 8746 8747 if (item.selling_plan != null && item.selling_plan !== '' && String(item.selling_plan) === String(planId)) return false; 8748 8749 setJsonProperty(item, '_purchase_type', 'NM-preorder'); 8750 if (item.selling_plan == null || item.selling_plan === '') item.selling_plan = Number(planId); 8751 if (item.properties._selling_plan_id == null) setJsonProperty(item, '_selling_plan_id', String(planId)); 8752 applyVisibleJsonProperties(item, planId, variantId); 8753 coerceJsonNumbers(item); 8754 return true; 8755 } 8756 8757 function enrichJson(data) { 8758 if (!data || typeof data !== 'object') return false; 8759 if (Array.isArray(data.items)) { 8760 let changed = false; 8761 for (const item of data.items) { 8762 if (enrichJsonItem(item)) changed = true; 8763 } 8764 return changed; 8765 } 8766 if (data.items && typeof data.items === 'object') return enrichJsonItem(data.items); 8767 return enrichJsonItem(data); 8768 } 8769 8770 function paramScopes(params) { 8771 const prefixes = []; 8772 const seen = {}; 8773 params.forEach(function (value, key) { 8774 const match = /^items\[(\d+)\]\[id\]$/.exec(key); 8775 if (match && !seen[match[1]]) { 8776 seen[match[1]] = true; 8777 prefixes.push('items[' + match[1] + ']'); 8778 } 8779 }); 8780 if (prefixes.length > 0) return prefixes; 8781 if (params.get('items[id]') != null) return ['items']; 8782 if (params.get('id') != null) return ['']; 8783 return []; 8784 } 8785 8786 function scopeKey(prefix, name) { 8787 return prefix ? prefix + '[' + name + ']' : name; 8788 } 8789 8790 function scopePropertyKey(prefix, name) { 8791 return prefix ? prefix + '[properties][' + name + ']' : 'properties[' + name + ']'; 8792 } 8793 8794 function setParam(params, key, value) { 8795 if (params.get(key) === value) return false; 8796 params.set(key, value); 8797 return true; 8798 } 8799 8800 function applyRemovedBySupportParams(params, prefix) { 8801 const tagged = setParam(params, scopePropertyKey(prefix, '_purchase_type'), 'NM-preorder'); 8802 const typed = setParam(params, scopePropertyKey(prefix, 'Type'), 'Pre-order'); 8803 return tagged || typed; 8804 } 8805 8806 function applyVisibleParamProperties(params, prefix, planId, variantId) { 8807 const properties = visibleCartProperties(planId, variantId); 8808 let changed = false;
8809 for (const name of Object.keys(properties)) { 8810 if (setParam(params, scopePropertyKey(prefix, name), properties[name])) changed = true; 8811 } 8812 return changed; 8813 } 8814 8815 function enrichParamScope(params, prefix, planId, variantId) { 8816 if (cfg.is_selling_plan_removed_by_support) return applyRemovedBySupportParams(params, prefix); 8817 8818 const existingPlan = params.get(scopeKey(prefix, 'selling_plan')); 8819 if (existingPlan != null && existingPlan !== '' && String(existingPlan) === String(planId)) return false; 8820 8821 let changed = setParam(params, scopePropertyKey(prefix, '_purchase_type'), 'NM-preorder'); 8822 if (existingPlan == null || existingPlan === '') { 8823 params.set(scopeKey(prefix, 'selling_plan'), String(planId)); 8824 changed = true; 8825 } 8826 if (params.get(scopePropertyKey(prefix, '_selling_plan_id')) == null) { 8827 params.set(scopePropertyKey(prefix, '_selling_plan_id'), String(planId)); 8828 changed = true; 8829 } 8830 if (applyVisibleParamProperties(params, prefix, planId, variantId)) changed = true; 8831 return changed; 8832 } 8833 8834 function enrichParams(params) { 8835 const scopes = paramScopes(params); 8836 let changed = false; 8837 for (const prefix of scopes) { 8838 const variantId = Number(params.get(scopeKey(prefix, 'id'))); 8839 if (!Number.isFinite(variantId)) continue; 8840 const planId = findSellingPlanId(variantId); 8841 if (planId == null) continue; 8842 if (enrichParamScope(params, prefix, planId, variantId)) changed = true; 8843 } 8844 return changed; 8845 } 8846 8847 function enrichBody(body) { 8848 if (typeof body === 'string') { 8849 let jsonData = null; 8850 try { 8851 jsonData = JSON.parse(body); 8852 } catch (error) { 8853 jsonData = null; 8854 } 8855 if (jsonData && typeof jsonData === 'object') { 8856 return enrichJson(jsonData) ? { body: JSON.stringify(jsonData), changed: true } : { body: body, changed: false }; 8857 } 8858 const params = new URLSearchParams(body); 8859 return enrichParams(params) ? { body: params.toString(), changed: true } : { body: body, changed: false }; 8860 } 8861 if (typeof FormData !== 'undefined' && body instanceof FormData) { 8862 return { body: body, changed: enrichParams(body) }; 8863 } 8864 if (typeof URLSearchParams !== 'undefined' && body instanceof URLSearchParams) { 8865 return { body: body, changed: enrichParams(body) }; 8866 } 8867 return { body: body, changed: false }; 8868 } 8869 8870 function extractRequestUrl(input) { 8871 if (typeof input === 'string') return input; 8872 if (typeof input?.url === 'string') return input.url; 8873 if (typeof input?.href === 'string') return input.href; 8874 return ''; 8875 } 8876 8877 function maybeEnrichFetchInit(input, init) { 8878 if (!isGuardActive() || !init || init.body == null) return init; 8879 const url = extractRequestUrl(input); 8880 if (!isCartAddUrl(url) || !shouldEnrich()) return init; 8881 const enriched = enrichBody(init.body); 8882 if (!enriched.changed) return init; 8883 return { ...init, body: enriched.body }; 8884 } 8885 8886 function installWrappers() { 8887 if (wrappersInstalled) return; 8888 wrappersInstalled = true; 8889 8890 const originalFetch = window.fetch; 8891 window.fetch = function (input, init) { 8892 let nextInit = init; 8893 try { 8894 nextInit = maybeEnrichFetchInit(input, init); 8895 } catch (error) {} 8896 return originalFetch.call(this || window, input, nextInit); 8897 }; 8898 8899 const xhrPrototype = window.XMLHttpRequest?.prototype; 8900 if (xhrPrototype) { 8901 const originalOpen = xhrPrototype.open; 8902 const originalSend = xhrPrototype.send; 8903 xhrPrototype.open = function () { 8904 try { 8905 this.__nmEarlyGuardUrl = arguments[1]; 8906 } catch (error) {} 8907 return originalOpen.apply(this, arguments); 8908 }; 8909 xhrPrototype.send = function (body) { 8910 try { 8911 if (isGuardActive() && body != null && this.__nmEarlyGuardUrl != null && isCartAddUrl(this.__nmEarlyGuardUrl) && shouldEnrich()) { 8912 const enriched = enrichBody(body); 8913 if (enriched.changed) return originalSend.call(this, enriched.body); 8914 } 8915 } catch (error) {} 8916 return originalSend.apply(this, arguments); 8917 }; 8918 } 8919 } 8920 8921 if (cfg?.override_cart_requests === true) installWrappers(); 8922 } catch (error) {} 8923})(window); 8924</script>
8924 8925<!-- END app snippet --> 8926<!-- BEGIN app snippet: wishlist-page-container -->
8926<script id="ReStock-wishlist-page-container"> 8927(function (window) { 8928 try { 8929 if (window.__nmWishlistPageContainer) return; 8930 8931 const CONTAINER_ID = 'nm-wishlist-page-root'; 8932 const TARGET_SELECTORS = ['main#MainContent', 'main', '[role="main"]']; 8933 const RELATIVE_PLACEMENTS = ['before', 'after', 'start', 'end']; 8934 8935 function trimTrailingSlash(path) { 8936 const value = String(path); 8937 return value.length > 1 && value.charAt(value.length - 1) === '/' ? value.slice(0, -1) : value; 8938 } 8939 8940 function stripRoutesRoot(pathname) { 8941 const root = window.Shopify?.routes?.root; 8942 if (typeof root !== 'string') return pathname; 8943 const prefix = trimTrailingSlash(root); 8944 if (prefix === '' || prefix === '/') return pathname; 8945 if (pathname === prefix) return '/'; 8946 return pathname.indexOf(prefix + '/') === 0 ? pathname.slice(prefix.length) : pathname; 8947 } 8948 8949 function isConfiguredPage(pagePath) { 8950 const pathname = window.location?.pathname; 8951 if (typeof pathname !== 'string') return false; 8952 return trimTrailingSlash(stripRoutesRoot(pathname)) === trimTrailingSlash(pagePath); 8953 } 8954 8955 function hasShareToken() { 8956 const search = window.location?.search; 8957 if (!search) return false; 8958 return !!new URLSearchParams(search).get('w'); 8959 } 8960 8961 function isBootable(wishlistConfig, sdkConfig) { 8962 if (!sdkConfig || typeof sdkConfig !== 'object') return false; 8963 if (sdkConfig.app_enabled !== true) return false; 8964 if (sdkConfig.is_suspended === true) return false; 8965 return wishlistConfig.is_service_active === true; 8966 } 8967 8968 function matchElement(selector) { 8969 try { 8970 return window.document.querySelector(selector) || null; 8971 } catch (error) { 8972 return null; 8973 } 8974 } 8975 8976 function configuredTarget(placement) { 8977 if (!placement || typeof placement !== 'object') return null; 8978 if (typeof placement.css_selector !== 'string' || placement.css_selector === '') return null; 8979 const element = matchElement(placement.css_selector); 8980 if (!element) return null; 8981 const relative = RELATIVE_PLACEMENTS.indexOf(placement.relative_placement) === -1 ? 'start' : placement.relative_placement; 8982 return { element: element, relative: relative }; 8983 } 8984 8985 function builtInTarget() { 8986 for (const selector of TARGET_SELECTORS) { 8987 const element = matchElement(selector); 8988 if (element) return { element: element, relative: 'start' }; 8989 } 8990 return null; 8991 } 8992 8993 function insertContainer(container, target) { 8994 if (target.relative === 'before' || target.relative === 'after') { 8995 const parent = target.element.parentNode; 8996 if (!parent) return false; 8997 parent.insertBefore(container, target.relative === 'before' ? target.element : target.element.nextSibling || null); 8998 return true; 8999 } 9000 target.element.insertBefore(container, target.relative === 'end' ? null : target.element.firstChild || null); 9001 return true; 9002 } 9003 9004 function createContainer(placement) { 9005 const target = configuredTarget(placement) || builtInTarget(); 9006 if (!target) return null; 9007 const container = window.document.createElement('div'); 9008 container.id = CONTAINER_ID; 9009 container.setAttribute('data-nm-container-source', 'fallback'); 9010 return insertContainer(container, target) ? container : null; 9011 } 9012 9013 function usablePagePath(wishlistConfig) { 9014 const myWishlist = wishlistConfig && typeof wishlistConfig === 'object' ? wishlistConfig.my_wishlist : null; 9015 return myWishlist && typeof myWishlist.page_path === 'string' ? myWishlist.page_path : ''; 9016 } 9017 9018 function wishlistPageConfig(wishlistConfig) { 9019 const pagePath = usablePagePath(wishlistConfig); 9020 return pagePath && isConfiguredPage(pagePath) ? wishlistConfig.my_wishlist : null; 9021 } 9022 9023 function armContainer(myWishlist) { 9024 const container = window.document.getElementById(CONTAINER_ID) || createContainer(myWishlist.container_placement); 9025 if (container) container.removeAttribute('data-nm-page-state'); 9026 } 9027 9028 function markInactive() { 9029 const container = window.document.getElementById(CONTAINER_ID); 9030 if (container) container.setAttribute('data-nm-page-state', 'inactive'); 9031 } 9032 9033 function dearmContainer() { 9034 const stale = window.document.getElementById(CONTAINER_ID); 9035 if (stale && stale.getAttribute('data-nm-container-source') === 'fallback') stale.remove(); 9036 else markInactive(); 9037 } 9038 9039 function ensure(wishlistConfig, sdkConfig) {
9040 try { 9041 const myWishlist = wishlistPageConfig(wishlistConfig); 9042 if (!myWishlist) { 9043 if (usablePagePath(wishlistConfig)) dearmContainer(); 9044 return; 9045 } 9046 const active = myWishlist.type === 'separate_page' || hasShareToken(); 9047 if (active && isBootable(wishlistConfig, sdkConfig)) armContainer(myWishlist); 9048 else markInactive(); 9049 } catch (error) {} 9050 } 9051 9052 window.__nmWishlistPageContainer = { v: 1, ensure: ensure }; 9053 9054 const metafields = window._ReStockConfig?._metafields; 9055 ensure(metafields?.wishlistConfig, metafields?.sdkConfig); 9056 } catch (error) {} 9057})(window); 9058</script>
9058 9059<!-- END app snippet --> 9060
9061<script src="https://cdn.shopify.com/extensions/01a11705-0cff-783e-8ab3-1049de4a3034/bestpush-111/assets/restock-sdk-loader.js?v=1791387556" defer></script>
9061 9062 9063<style> 9064 #nm-wishlist-page-root { 9065 min-height: 60vh; 9066 } 9067 9068 #nm-wishlist-page-root[data-nm-container-source="fallback"] { 9069 box-sizing: border-box; 9070 max-width: 1200px; 9071 margin: 0 auto; 9072 padding: 0 1.5rem; 9073 } 9074 9075 #nm-wishlist-page-root[data-nm-page-state="inactive"]:empty { 9076 display: none; 9077 } 9078 9079 #nm-wishlist-page-root:empty { 9080 display: flex; 9081 align-items: center; 9082 justify-content: center; 9083 } 9084 9085 #nm-wishlist-page-root:empty::after { 9086 content: ""; 9087 width: 36px; 9088 height: 36px; 9089 border: 3px solid #e3e3e3; 9090 border-top-color: #1773b0; 9091 border-radius: 50%; 9092 animation: nm-wishlist-page-boot-spin 0.7s linear infinite; 9093 } 9094 9095 @keyframes nm-wishlist-page-boot-spin { 9096 to { 9097 transform: rotate(360deg); 9098 } 9099 } 9100 9101 body:has(#nm-wishlist-page-root:not([data-nm-page-state="inactive"])) .main-page-title, 9102 body:has(#nm-wishlist-page-root:not([data-nm-page-state="inactive"])) .page-title, 9103 body:has(#nm-wishlist-page-root:not(:empty)) .main-page-title, 9104 body:has(#nm-wishlist-page-root:not(:empty)) .page-title { 9105 display: none !important; 9106 } 9107</style> 9108 9109 9110</div><div id="shopify-block-AbE03ejQvdkZvLzQya__4293466245358296089" class="shopify-block shopify-app-block">
9110<script id='smartsizeScript'></script>
vendor: 1 bytes, line 9110
9110
9111<script> 9112window.sizefox = window.sizefox === undefined ? {} : window.sizefox; 9113sizefox.shop = "line-of-oslo-demo.myshopify.com"; 9114sizefox.cssUrl = "https://cdn.shopify.com/extensions/01a0f830-5b03-771a-9abe-6b84057b60fc/fitting-rooms-303/assets/sizefox.css"; 9115 9116 9117 9118console.log("%cSmartSize AppEmbed Extension v21", "background: black; color: yellow") 9119 9120// Sanitize product name by removing any non-printable or problematic characters 9121function sanitizeProductName(name) { 9122 return name 9123 // 1. Replace carriage returns, newlines, tabs, and double quotes with a space 9124 .replace(/[\r\n\t"]/g, ' ') 9125 // 2. Remove ASCII control characters (0x00â0x1F and 0x7F) 9126 .replace(/[\x00-\x1F\x7F]/g, ''); 9127} 9128 9129 9130// Pass the sanitized product name from Liquid to JavaScript for additional sanitization 9131const sanitizedProductName = sanitizeProductName("Line of Oslo Krista Check Shirt"); 9132 9133sizefox.data = { 9134 collections: "515091497273,533039415609,529015439673,470010757433,456131936569,465052467513", 9135 tags: "19% Viscose,26 AW,3% Elastane Check,78% Polyester,Blouse,Female,kvinde,kvinder,Line Of Oslo,tops", 9136 product: "10276261626169", 9137 productname: sanitizedProductName, 9138 type: "Blouse", 9139 requestLocale: {"shop_locale":{"locale":"en","enabled":true,"primary":true,"published":true}}, 9140 localizationLanguage: {"shop_locale":{"locale":"en","enabled":true,"primary":true,"published":true}}, 9141 localizationAvailableLanguages: [{"shop_locale":{"locale":"en","enabled":true,"primary":true,"published":true}}], 9142 smartsizeButtonLabel: "--", 9143 smartsizeConversionLabelCM: "CM", 9144 smartsizeConversionLabelIN: "INCHES", 9145 hideDefaultButton: false 9146}; 9147 9148 9149// Dev 9150//fetch(`https://dev-server.smartsize.io/sizepopupversion?shopname=` + sizefox.shop) 9151 9152// Prod 9153fetch(`https://server.smartsize.io/sizepopupversion?shopname=` + sizefox.shop) 9154.then(response => response.json()) 9155.then(json => { 9156 9157 popupVersion = json.popup_version; 9158 9159 console.log("SmartSize Popup Version: ", popupVersion); 9160 9161 if (popupVersion === 0) { 9162 const link = document.createElement('link'); 9163 link.rel = 'stylesheet'; 9164 link.href = "https://cdn.shopify.com/extensions/01a0f830-5b03-771a-9abe-6b84057b60fc/fitting-rooms-303/assets/jquery-ui.min.css"; 9165 document.head.appendChild(link); 9166 9167 const smartScript = document.getElementById("smartsizeScript"); 9168 smartScript.src = "https://cdn.shopify.com/extensions/01a0f830-5b03-771a-9abe-6b84057b60fc/fitting-rooms-303/assets/sizefox-script.js"; 9169 } else { 9170 const smartScript = document.getElementById("smartsizeScript"); 9171 // Use popup from TAE asstes 9172 smartScript.src = "https://cdn.shopify.com/extensions/01a0f830-5b03-771a-9abe-6b84057b60fc/fitting-rooms-303/assets/smartsize-script.js"; 9173 // Use popup from URL received from sizepopupversion API 9174 //smartScript.src = json.url; 9175 } 9176}); 9177</script>
9177 9178 9179<div id="sizefox-enable" data-btn-horizontal="left" data-btn-vertical="" data-btn-horizontal-mobile="left"></div> 9180 9181 9182</div><div id="shopify-block-AREVuTlRPTjQ2d29uS__6065014864672580889" class="shopify-block shopify-app-block">
9182<script>!function(){window.SLIDECART=!0;window.SLIDECART_FORMAT="\u003cspan class=money\u003e{{amount_with_comma_separator}} kr\u003c\/span\u003e";window.SLIDECART_MARKET_ID=58311704889;var e="https://cdn.shopify.com/extensions/01a10b02-08d8-73e9-a545-28e91c7c0cfc/slide-cart-1-130/assets/slidecarthq.js",t=document.createElement("script");t.type="text/javascript",t.src=e,document.querySelector("body").appendChild(t)}();</script>
9182 9183 9184 9185</div>
9185<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
9185 9186</body> 9187</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.