1jQuery(document).ready(function(t){var e,a=Cookies.get("opi_membership_pubcode")?Cookies.get("opi_membership_pubcode").toLowerCase():"",r=Cookies.get("opi_"+a+"_subscription_all_access")??"false",o=Cookies.get("opi_"+a+"_subscription_gate_access")??"false";function s(){var a=JSON.parse(localStorage.getItem("opi_cart"))??[],r=[],o=0,s=0,i=0,n=0,c=!1;a.length>0?a.forEach(function(t){var a=t.product_price.replace("$","");if(e)var p=t.product_membership_price.replace("$","");r.push('<li data-product-variant-id="'+t.product_variant+'" class="flex items-center justify-between py-4 transition duration-300 ease-in-out"><div class="flex items-start"><div class="flex items-start justify-center flex-shrink-0"><img src="'+t.product_image+'" alt="'+t.product_title+'" class="w-16 object-cover rounded shrink-0" /></div><div class="ml-4"><h3 class="text-sm font-medium">'+t.product_title+'</h3><div class="text-sm text-gray-500">'+(t.product_variant_name??"")+'</div><div class="text-sm text-gray-800">'+(1==t.product_is_clearance&&"0.00"!=t.product_markup_price?'<div class="flex gap-2"><span class="line-through" style="text-decoration-color: red;">$'+(t.product_quantity*t.product_markup_price).toFixed(2)+'</span><span class="font-semibold">$'+(t.product_quantity*a).toFixed(2)+"</span></div>":e?'<div class="flex gap-2"><span class="line-through" style="text-decoration-color: red;">$'+(t.product_quantity*a).toFixed(2)+'</span><span class="font-semibold">$'+(t.product_quantity*p).toFixed(2)+'</span></div><span class="text-xs">You\'re saving $'+((parseFloat(a)-parseFloat(p))*parseInt(t.product_quantity)).toFixed(2)+" ("+((parseFloat(a)-parseFloat(p))/parseFloat(a)*100).toFixed(0)+"%) by being a member!</span>":'<span class="">$'+(t.product_quantity*a).toFixed(2)+"</span>")+'</div><div class="flex items-center my-1"><button type="button" class="cart_quantity_decrease_btn bg-gray-50 hover:bg-gray-200 py-1 px-4 rounded-l-lg text-sm text-gray-500 hover:text-gray-800" aria-label="Decrease quantity">-</button><div class="text-sm text-gray-800 py-1 px-4 bg-gray-50">'+t.product_quantity+'</div><button type="button" class="cart_quantity_increase_btn bg-gray-50 hover:bg-gray-200 py-1 px-4 rounded-r-lg text-sm text-gray-500 hover:text-gray-800" aria-label="Increase quantity">+</button></div><div class="text-sm text-gray-600"><button type="button" data-variant-id="'+t.product_variant+'" class="remove_from_cart_btn text-red-600 hover:text-red-700">Remove</button></div></div></div></li>'),c=1==t.product_is_clearance&&"0.00"!=t.product_markup_price,"0.00"!=t.product_membership_price,n+=c?parseFloat(t.product_markup_price)*parseInt(t.product_quantity):parseFloat(a)*parseInt(t.product_quantity),o+=parseFloat(a)*parseInt(t.product_quantity),s+=parseFloat(p)*parseInt(t.product_quantity),i+=1==t.product_is_clearance&&"0.00"!=t.product_markup_price?parseFloat(t.product_markup_price)*parseInt(t.product_quantity)-parseFloat(a)*parseInt(t.product_quantity):e?parseFloat(a)*parseInt(t.product_quantity)-parseFloat(p)*parseInt(t.product_quantity):parseFloat(a)*parseInt(t.product_quantity),parseInt(t.product_quantity)}):r.push('<li class="flex flex-col items-center justify-center my-32"><svg class="w-24 h-24 text-gray-300" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z" /></svg><span class="text-base text-center font-medium text-gray-500">Cart is empty</span></li>'),e?(t("#cart_total_price").text("$"+(c?n.toFixed(2):o.toFixed(2))),t("#cart_membership_subtotal").text("$"+s.toFixed(2)),t("#cart_total_savings").text("$"+i.toFixed(2))):(t("#cart_total_price").text("$"+o.toFixed(2)),t("#cart_membership_subtotal").text("$"+o.toFixed(2)),t("#cart_total_savings").text("$"+i.toFixed(2))),t("#cart_slideover_product_list").html(r),function(){var e=JSON.parse(localStorage.getItem("opi_cart"))??[];e.length>0?t("#checkout_link").prop("disabled",!1):t("#checkout_link").prop("disabled",!0)}()}function i(){var e=JSON.parse(localStorage.getItem("opi_cart"))??[],a=0;t.each(e,function(t,e){a+=parseInt(e.product_quantity)}),t(".opiCartCount").text(a)}e=1==sso_installed&&("false"!=r||"false"!=o),1==sso_installed?e&&(t(".opi_display_membership_pricing").each(function(){var e=t(this).data("price"),a=t(this).data("membership-price"),r=t(this).data("percent-saved");t(this).empty(),parseFloat(e)!==parseFloat(a)?t(this).append('<span class="text-left text-sm text-gray-700">List Price: <strong class="product_price update_price_on_change line-through" style="text-decoration-color: red;">$'+e+'</strong></span><span class="text-left text-sm text-gray-500">You save: $'+(parseFloat(e)-parseFloat(a)).toFixed(2)+" ("+r+'%)</span><span class="text-left w-full flex items-center justify-left gap-1"><span class="text-sm font-normal text-gray-700">
1Member Price: </span><span class="text-lg font-semibold text-gray-800 product_membership_price">$'+a+'</span></span><span class="text-left text-xs text-gray-500">You\'re saving an extra '+r+"% by being a member!</span>"):t(this).append('<span class="text-left text-lg text-gray-700 font-normal product_price update_price_on_change">$'+e+"</span>")}),t(".cart_savings").removeClass("hidden").addClass("flex"),t(".cart_total_price").removeClass("font-semibold").addClass("font-normal"),t(".cart_total_price").removeClass("text-gray-900").addClass("text-gray-500"),t("#cart_total_price").addClass("line-through").css("text-decoration-color","red"),t(".cart_membership_subtotal").removeClass("hidden").addClass("flex")):t(".opi_display_membership_pricing").each(function(){var e=t(this).data("price");t(this).empty(),t(this).append('<span class="text-left text-lg text-gray-700 font-normal product_price update_price_on_change product_price update_price_on_change">$'+e+"</span>")}),t(document).on("click",".opi_modal",function(){var a=t(this).attr("data-opishop-title"),r=t(this).attr("data-opishop-image"),o=t(this).attr("data-opishop-price"),s=t(this).attr("data-markup-price"),i=t(this).attr("data-is-clearance"),n=t(this).attr("data-opishop-membership-price"),c=t(this).attr("data-opishop-description"),p=(t(this).attr("data-opishop-link"),t(this).attr("data-opishop-addtocart")),l='<div class="opi_modal_wrap relative z-50" aria-labelledby="modal-title" role="dialog" aria-modal="true"><div class="fixed inset-0 bg-black/75 transition-opacity backdrop-blur-sm"></div><div class="fixed inset-0 z-50 overflow-y-auto"><div class="flex min-h-full items-center justify-center p-4 text-center sm:p-0"><div class="relative transform overflow-hidden rounded-lg bg-white px-4 pt-5 pb-4 text-left shadow-xl transition-all sm:my-8 sm:w-full sm:max-w-3xl sm:p-6"><div class="mb-4 sm:hidden"><img src="'+t(this).attr("data-opishop-store-logo")+'" class="w-36 md:w-52" /></div><div class="absolute top-0 right-0 hidden pt-4 pr-4 sm:block"><button type="button" class="close_opi_modal rounded-lg bg-white text-gray-400 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2" aria-label="Close"><span class="sr-only">Close</span><svg class="h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /></svg></button></div><div class="sm:flex sm:items-start"><div class="grid grid-cols-1 md:grid-cols-3 gap-6"><div class="col-span-1"><img class="w-full shrink-0 rounded" src="'+r+'" alt="'+a+'" /></div><div class="col-span-1 md:col-span-2"><h3 class="text-2xl font-semibold leading-tight">'+a+"</h3>"+(1==i?'<div class="flex gap-2"><div class="text-xl text-gray-500 modal_price line-through" style="text-decoration-color: red;">$'+s+'</div><div><span class="text-lg font-semibold text-gray-800 product_price update_price_on_change">$'+o+"</span></div></div>":1==sso_installed&&e&&parseFloat(o)!==parseFloat(n)?'<div class="flex gap-2"><div class="text-xl text-gray-500 product_price modal_price update_price_on_change line-through" style="text-decoration-color: red;">$'+o+'</div><div><span class="text-sm font-normal text-gray-700">Member Price: </span><span class="text-lg font-semibold text-gray-800 product_membership_price">$'+n+'</span></div></div><span class="text-sm text-gray-500">You\'re saving an extra <strong>'+((parseFloat(o)-parseFloat(n))/parseFloat(o)*100).toFixed(0)+"%</strong> ($"+(parseFloat(o)-parseFloat(n)).toFixed(2)+") by being a member!</span>":'<div class="text-xl text-gray-600 product_price modal_price update_price_on_change">$'+o+"</div>")+'<div class="mt-2 text-gray-800 max-h-96 overflow-y-scroll prose prose-base">'+c+'</div></div></div></div><div class="mt-5 sm:mt-4 sm:flex sm:flex-row-reverse sm:space-x-4 sm:space-x-reverse">'+p+'<button type="button" class="close_opi_modal mt-2 h-full inline-flex w-full items-center justify-center rounded-lg border border-gray-300 bg-white hover:bg-gray-50 px-4 py-2 text-base font-medium text-gray-700 shadow-sm hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2 sm:mt-0 sm:w-auto">Close</button></div></div></div></div></div>';t("body").append(l)}),t(document).on("click",".close_opi_modal",function(e){t(".opi_modal_wrap").fadeOut(300,function(){t(this).remove()})}
1).on("keyup",function(e){27===e.keyCode&&t(".opi_modal_wrap").fadeOut(300,function(){t(this).remove()})}),t(document).on("click",".add_to_cart_btn",function(e){e.preventDefault();var a=t(this).closest("form"),r=a.find('input[name="product_variant"]').val()??a.find('select[name="product_variant"]').val();if(r){if(2==r.split("^").length)var o=r.split("^")[1],n=r.split("^")[0];else o=r,n="";var c={product_id:a.find('input[name="product_id"]').val(),product_variant:o,product_variant_name:n,product_title:a.find('input[name="product_title"]').val(),product_image:a.find('input[name="product_image"]').val(),product_price:a.find('input[name="variant_prices['+o+']"]').val(),product_markup_price:a.find('input[name="product_markup_price"]').val(),product_is_clearance:a.find('input[name="product_is_clearance"]').val(),product_membership_price:a.find('input[name="product_membership_price"]').val(),product_quantity:a.find('input[name="product_quantity"]').val(),store_domain:a.find('input[name="store_domain"]').val()};if(""==c.product_variant||null==c.product_variant||null==c.product_variant)alert("Please select an option");else{t(".opi_modal_wrap").remove();for(var p=JSON.parse(localStorage.getItem("opi_cart"))??[],l=!1,d=0;d<p.length;d++)if(p[d].product_id==c.product_id&&p[d].product_variant==c.product_variant){l=!0,p[d].product_quantity=parseInt(p[d].product_quantity)+parseInt(c.product_quantity);break}l||p.push(c),localStorage.setItem("opi_cart",JSON.stringify(p)),s(),i(),t("#cart_slideover").removeClass("hidden")}}else alert("Please select an option")}),t(document).on("change",'select[name="product_variant"]',function(){var e=t(this).closest("form");if(""==t(this).val()||null==t(this).val()||null==t(this).val())e.find('button[type="submit"].add_to_cart_btn').prop("disabled",!0);else{e.find('button[type="submit"].add_to_cart_btn').prop("disabled",!1);var a=t(this).val().split("^")[1],r=e.find('input[name="variant_prices['+a+']"]').val();e.find(".product_price.update_price_on_change").text("$"+r),t(".modal_price.update_price_on_change").text("$"+r)}}),t(document).on("click",".cart_toggle",function(e){e.preventDefault(),t("#cart_slideover").toggleClass("hidden")}).on("keyup",function(e){27===e.keyCode&&t("#cart_slideover").addClass("hidden")}),s(),t(document).on("click",".cart_quantity_decrease_btn",function(){var e=JSON.parse(localStorage.getItem("opi_cart"))??[],a=t(this).closest("li").data("product-variant-id"),r=t(this).next().text(),o=parseInt(r)-1;o>0&&(t.each(e,function(t,e){e.product_variant==a&&(e.product_quantity=o)}),localStorage.setItem("opi_cart",JSON.stringify(e)),s())}),t(document).on("click",".cart_quantity_increase_btn",function(){var e=JSON.parse(localStorage.getItem("opi_cart"))??[],a=t(this).closest("li").data("product-variant-id"),r=t(this).prev().text(),o=parseInt(r)+1;t.each(e,function(t,e){e.product_variant==a&&(e.product_quantity=o)}),localStorage.setItem("opi_cart",JSON.stringify(e)),s()}),t(document).on("click",".remove_from_cart_btn",function(e){e.preventDefault();var a=t(this).data("variant-id"),r=JSON.parse(localStorage.getItem("opi_cart"))??[],o=[];t.each(r,function(t,e){e.product_variant!=a&&o.push(e)}),localStorage.setItem("opi_cart",JSON.stringify(o)),s(),i()}),t(document).on("click","#checkout_link",function(e){e.preventDefault();var a=JSON.parse(localStorage.getItem("opi_cart"))??[],r=t(this).data("myshopifylink");console.log(r);var o=[],s=Cookies.get("opi_user")?JSON.parse(Cookies.get("opi_user")):[];if(Cookies.get("opi_user")){s&&s.addresses;o.push("checkout[email]="+encodeURIComponent(s.email)),o.push("checkout[shipping_address][first_name]="+encodeURIComponent(s.first_name)),o.push("checkout[shipping_address][last_name]="+encodeURIComponent(s.last_name))}var i="https://"+r+"/cart";t.each(a,function(t,e){0==t&&(i+="/"+e.product_variant+":"+e.product_quantity),t>0&&(i+=","+e.product_variant+":"+e.product_quantity)}),o&&(i+="?"+o.join("&")),window.open(i,"_blank")}),i(),t(document).on("click","#clear_cart",function(t){t.preventDefault(),localStorage.removeItem("opi_cart"),s(),i()})});
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.