PageSourceSearch

https://functionofbeauty.com/pages/store-locator

html functionofbeauty.com collected 2026-09-24 23:45:26 UTC 810,256 bytes, 4,842 lines download raw bytes

1
2<!doctype html>
3<html class="no-js supports-no-cookies html-template-page" lang="en">
4<head>
5    <!-- Start VWO Async SmartCode -->
6    <link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com" />
7    
7<script type='text/javascript' id='vwoCode'>
8    window._vwo_code || (function() {
9    var account_id=846410,
10    version=2.1,
11    settings_tolerance=2000,
12    hide_element='body',
13    hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important',
14    /* DO NOT EDIT BELOW THIS LINE */
15    f=false,w=window,d=document,v=d.querySelector('#vwoCode'),cK='_vwo_'+account_id+'_settings',cc={};try{var c=JSON.parse(localStorage.getItem('_vwo_'+account_id+'_config'));cc=c&&typeof c==='object'?c:{}}catch(e){}var stT=cc.stT==='session'?w.sessionStorage:w.localStorage;code={use_existing_jquery:function(){return typeof use_existing_jquery!=='undefined'?use_existing_jquery:undefined},library_tolerance:function(){return typeof library_tolerance!=='undefined'?library_tolerance:undefined},settings_tolerance:function(){return cc.sT||settings_tolerance},hide_element_style:function(){return'{'+(cc.hES||hide_element_style)+'}'},hide_element:function(){if(performance.getEntriesByName('first-contentful-paint')[0]){return''}return typeof cc.hE==='string'?cc.hE:hide_element},getVersion:function(){return version},finish:function(e){if(!f){f=true;var t=d.getElementById('_vis_opt_path_hides');if(t)t.parentNode.removeChild(t);if(e)(new Image).src='https://dev.visualwebsiteoptimizer.com/ee.gif?a='+account_id+e}},finished:function(){return f},addScript:function(e){var t=d.createElement('script');t.type='text/javascript';if(e.src){t.src=e.src}else{t.text=e.text}d.getElementsByTagName('head')[0].appendChild(t)},load:function(e,t){var i=this.getSettings(),n=d.createElement('script'),r=this;t=t||{};if(i){n.textContent=i;d.getElementsByTagName('head')[0].appendChild(n);if(!w.VWO||VWO.caE){stT.removeItem(cK);r.load(e)}}else{var o=new XMLHttpRequest;o.open('GET',e,true);o.withCredentials=!t.dSC;o.responseType=t.responseType||'text';o.onload=function(){if(t.onloadCb){return t.onloadCb(o,e)}if(o.status===200){_vwo_code.addScript({text:o.responseText})}else{_vwo_code.finish('&e=loading_failure:'+e)}};o.onerror=function(){if(t.onerrorCb){return t.onerrorCb(e)}_vwo_code.finish('&e=loading_failure:'+e)};o.send()}},getSettings:function(){try{var e=stT.getItem(cK);if(!e){return}e=JSON.parse(e);if(Date.now()>e.e){stT.removeItem(cK);return}return e.s}catch(e){return}},init:function(){if(d.URL.indexOf('__vwo_disable__')>-1)return;var e=this.settings_tolerance();w._vwo_settings_timer=setTimeout(function(){_vwo_code.finish();stT.removeItem(cK)},e);var t;if(this.hide_element()!=='body'){t=d.createElement('style');var i=this.hide_element(),n=i?i+this.hide_element_style():'',r=d.getElementsByTagName('head')[0];t.setAttribute('id','_vis_opt_path_hides');v&&t.setAttribute('nonce',v.nonce);t.setAttribute('type','text/css');if(t.styleSheet)t.styleSheet.cssText=n;else t.appendChild(d.createTextNode(n));r.appendChild(t)}else{t=d.getElementsByTagName('head')[0];var n=d.createElement('div');n.style.cssText='z-index: 2147483647 !important;position: fixed !important;left: 0 !important;top: 0 !important;width: 100% !important;height: 100% !important;background: white !important;';n.setAttribute('id','_vis_opt_path_hides');n.classList.add('_vis_hide_layer');t.parentNode.insertBefore(n,t.nextSibling)}var o='https://dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(d.URL)+'&vn='+version;if(w.location.search.indexOf('_vwo_xhr')!==-1){this.addScript({src:o})}else{this.load(o+'&x=true')}}};w._vwo_code=code;code.init();})();
16    </script>
16
17    <!-- End VWO Async SmartCode -->
18
19    
19<script>
20      async function hashEmail(email) {
21        // Convert email to lowercase
22        email = email.toLowerCase();
23
24        // Encode the email string as a Uint8Array
25        const encoder = new TextEncoder();
26        const data = encoder.encode(email);
27
28        // Hash the email using SHA-256
29        const hashBuffer = await crypto.subtle.digest('SHA-256', data);
30
31        // Convert the hash to a hexadecimal string
32        const hashArray = Array.from(new Uint8Array(hashBuffer));
33        const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
34
35        return hashHex;
36      }
37
38        window.marketingUserData = {
39          email:'',
40          name: '',
41          phone:'',
42          hashed_email: ''
43        }
44
45        
46
47        const settings = {
48            enable_review: true,
49            pack_enable_discount: false ,
50            pack_first_elements_quantity: 2 ,
51            pack_first_elements_discount: '20',
52            pack_second_elements_quantity: 3 ,
53            pack_second_elements_discount: '25' ,
54            enable_specific_discount: true ,
55            specific_product_discount_list: [{"id":8664884904248,"title":"Custom Hair Serum","handle":"hair-serum","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eA custom serum formulated with sunflower seed oil and jojoba oil that smooths frizz, enhances shine, and protects hair from heat. The lightweight formula is fit for all hair types. Size: 3 oz\u003c\/span\u003e\u003c\/p\u003e","published_at":"2025-10-01T09:37:05-04:00","created_at":"2023-09-18T14:35:41-04:00","vendor":"Function of Beauty","type":"hair-serum","tags":["Action: Treatment","badge: frizz fighter","Haircare","in_configuration","Line: Core","Target: Hair","YCRF_haircare"],"price":3100,"price_min":3100,"price_max":3100,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":46910687084856,"title":"3 oz","option1":"3 oz","option2":null,"option3":null,"sku":"hair-serum.3oz","requires_shipping":true,"taxable":true,"featured_image":{"id":44255614927160,"product_id":8664884904248,"position":14,"created_at":"2024-01-11T16:44:48-05:00","updated_at":"2025-04-15T15:15:50-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Serum_variant.png?v=1744744550","variant_ids":[46910687084856]},"available":true,"name":"Custom Hair Serum - 3 oz","public_title":"3 oz","options":["3 oz"],"price":3100,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":36711623983416,"position":15,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Serum_variant.png?v=1744744550"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3100}],"price":3100,"compare_at_price":3100,"per_delivery_price":3100,"selling_plan_id":691030065464,"selling_plan_group_id":"8a9ad1aa2f55ff5d57178901167fd314a99f4f37"},{"price_adjustments":[{"position":1,"price":3100}],"price":3100,"compare_at_price":3100,"per_delivery_price":3100,"selling_plan_id":691030098232,"selling_plan_group_id":"8a9ad1aa2f55ff5d57178901167fd314a99f4f37"},{"price_adjustments":[{"position":1,"price":3100}],"price":3100,"compare_at_price":3100,"per_delivery_price":3100,"selling_plan_id":691030131000,"selling_plan_group_id":"8a9ad1aa2f55ff5d57178901167fd314a99f4f37"},{"price_adjustments":[{"position":1,"price":3100}],"price":3100,"compare_at_price":3100,"per_delivery_price":3100,"selling_plan_id":694905995576,"selling_plan_group_id":"8a9ad1aa2f55ff5d57178901167fd314a99f4f37"},{"price_adjustments":[{"position":1,"price":3100}],"price":3100,"compare_at_price":3100,"per_delivery_price":3100,"selling_plan_id":693003092280,"selling_plan_group_id":"8a9ad1aa2f55ff5d57178901167fd314a99f4f37"}],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/functionofbeauty.com\/cdn\/shop\/files\/Serum_Yellow_Reflection.png?v=1744744550","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_02.jpg?v=1744744550","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_03.jpg?v=1744744550","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_04_6c345c80-68b8-4bd5-8e95-4d69b39d2717.jpg?v=1744744550","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_05_7586017b-e598-4f68-8ffd-328f8b2a6b4d.jpg?v=1744744550","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_06_d9e2d1c9-5aaf-48c5-bfd4-632639c64b9f.jpg?v=1744744550","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_07_4488b265-bf3
550-4ab4-8e9d-0dd88d187ec7.jpg?v=1744744550","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_08.jpg?v=1744744550","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_09.jpg?v=1744744550","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_10.jpg?v=1744744550","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_11.jpg?v=1744744550","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_12.jpg?v=1744744550","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_14.jpg?v=1744744550","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Serum_variant.png?v=1744744550","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Serum_PLP.png?v=1744744550"],"featured_image":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Serum_Yellow_Reflection.png?v=1744744550","options":["Size"],"media":[{"alt":null,"id":41577326641464,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Serum_Yellow_Reflection.png?v=1744744550"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Serum_Yellow_Reflection.png?v=1744744550","width":1080},{"alt":null,"id":35446331048248,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_02.jpg?v=1744744550"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_02.jpg?v=1744744550","width":2160},{"alt":null,"id":35446554034488,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_03.jpg?v=1744744550"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_03.jpg?v=1744744550","width":2160},{"alt":null,"id":35446330884408,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_04_6c345c80-68b8-4bd5-8e95-4d69b39d2717.jpg?v=1744744550"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_04_6c345c80-68b8-4bd5-8e95-4d69b39d2717.jpg?v=1744744550","width":2176},{"alt":null,"id":35446330851640,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_05_7586017b-e598-4f68-8ffd-328f8b2a6b4d.jpg?v=1744744550"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_05_7586017b-e598-4f68-8ffd-328f8b2a6b4d.jpg?v=1744744550","width":2176},{"alt":null,"id":35446330818872,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_06_d9e2d1c9-5aaf-48c5-bfd4-632639c64b9f.jpg?v=1744744550"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_06_d9e2d1c9-5aaf-48c5-bfd4-632639c64b9f.jpg?v=1744744550","width":2176},{"alt":null,"id":35446330786104,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_07_4488b265-bf30-4ab4-8e9d-0dd88d187ec7.jpg?v=1744744550"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_07_4488b265-bf30-4ab4-8e9d-0dd88d187ec7.jpg?v=1744744550","width":2176},{"alt":null,"id":35446557606200,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_08.jpg?v=1744744550"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_08.jpg?v=1744744550","width":2160},{"alt":null,"id":35446330949944,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_09.jpg?v=1744744550"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_09.jpg?v=1744744550","width":2160},{"alt":null,"id":35446565437752,"position":10,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_10.jpg?v=1744744550"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_10.jpg?v=1744744550","width":2160},{"alt":null,"id":35446330917176,"position":11,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_11.jpg?v=1744744550"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_11.jpg?v=1744744550","width":2160},{"alt":null,"id":35446331113784,"position":12,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_12.jpg?v=1744744550"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_12.jpg?v=1744744550","width":2160},{"alt":null,"id":35446331081016,"position":13,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_14.jpg?v=1744744550"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-HairSerum_14.jpg?v=1744744550","width":2160},{"alt":null,"id":35541695660344,"position":14,"preview_image":{"aspect_ratio":1.0,"height":780,"width":780,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/preview_images\/0c836a249cea4af79e1e5d622d3b30d3.thumbnail.0000000000.jpg?v=1695670049"},"aspect_ratio":1.0,"duration":5030,"media_type":"video","sources":[{"format":"mp4","height":480,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/0c836a249cea4af79e1e5d622d3b30d3\/0c836a249cea4af79e1e5d622d3b30d3.SD-480p-1.5Mbps-18780126.mp4?v=0","width":480},{"format":"mp4","height":720,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/0c836a249cea4af79e1e5d622d3b30d3\/0c836a249cea4af79e1e5d622d3b30d3.HD-720p-4.5Mbps-18780126.mp4?v=0","width":720},{"format":"m3u8","height":720,"mime_type":"application\/x-mpegURL","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/0c836a249cea4af79e1e5d622d3b30d3\/0c836a249cea4af79e1e5d622d3b30d3.m3u8?v=0","width":720}]},{"alt":null,"id":36711623983416,"position":15,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Serum_variant.png?v=1744744550"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Serum_variant.png?v=1744744550","width":2160},{"alt":null,"id":36711626015032,"position":16,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Serum_PLP.png?v=1744744550"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Serum_PLP.png?v=1744744550","width":2160},{"alt":null,"id":42092930072888,"position":17,"preview_image":{"aspect_ratio":1.0,"height":720,"width":720,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/preview_images\/6c9bdfdfdd764662abf2eed7eadbf1bd.thumbnail.0000000000.jpg?v=1750258716"},"aspect_ratio":1.0,"duration":3840,"media_type":"video","sources":[{"format":"mp4","height":480,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/6c9bdfdfdd764662abf2eed7eadbf1bd\/6c9bdfdfdd764662abf2eed7eadbf1bd.SD-480p-1.2Mbps-49624002.mp4?v=0","width":480},{"format":"mp4","height":720,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/6c9bdfdfdd764662abf2eed7eadbf1bd\/6c9bdfdfdd764662abf2eed7eadbf1bd.HD-720p-3.0Mbps-49624002.mp4?v=0","width":720},{"format":"m3u8","height":720,"mime_type":"application\/x-mpegURL","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/6c9bdfdfdd764662abf2eed7eadbf1bd\/6c9bdfdfdd764662abf2eed7eadbf1bd.m3u8?v=0","width":720}]}],"requires_selling_plan":false,"selling_plan_groups":[{"id":"8a9ad1aa2f55ff5d57178901167fd314a99f4f37","name":"Hair Serum","options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"values":["1 Month(s)","2 Month(s)","3 Month(s)","4 Month(s)","6 Month(s)"]}],"selling_plans":[{"id":691030065464,"name":"Delivery every 1 Month","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"1 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":691030098232,"name":"Delivery every 2 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"2 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}}
55,{"id":691030131000,"name":"Delivery every 3 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"3 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":694905995576,"name":"Delivery every 4 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"4 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":693003092280,"name":"Delivery every 6 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"6 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"}],"content":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eA custom serum formulated with sunflower seed oil and jojoba oil that smooths frizz, enhances shine, and protects hair from heat. The lightweight formula is fit for all hair types. Size: 3 oz\u003c\/span\u003e\u003c\/p\u003e"},{"id":8664885788984,"title":"Custom Co-Wash","handle":"cowash","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eA light cleansing and conditioning hybrid for those in-between wash days. Formulated with jamaican black castor seed oil and avocado oil, this co-wash moisturizes and protects coily, curly, and color-treated hair. \u003c\/span\u003e\u003c\/p\u003e","published_at":"2023-09-18T14:35:47-04:00","created_at":"2023-09-18T14:35:47-04:00","vendor":"Function of Beauty","type":"cowash","tags":["Action: Treatment","Haircare","in_configuration","Line: Core","Target: Hair","YCRF_haircare"],"price":2200,"price_min":2200,"price_max":2200,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":46910688362808,"title":"8 oz \/ Blue","option1":"8 oz","o
55ption2":"Blue","option3":null,"sku":"cowash.8oz.blue","requires_shipping":true,"taxable":true,"featured_image":{"id":44255355535672,"product_id":8664885788984,"position":13,"created_at":"2024-01-11T16:00:52-05:00","updated_at":"2025-04-15T15:15:00-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_blue_variant.png?v=1744744500","variant_ids":[46910688362808]},"available":true,"name":"Custom Co-Wash - 8 oz \/ Blue","public_title":"8 oz \/ Blue","options":["8 oz","Blue"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":36711362003256,"position":13,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_blue_variant.png?v=1744744500"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}}
55,{"id":46910688395576,"title":"8 oz \/ Red","option1":"8 oz","option2":"Red","option3":null,"sku":"cowash.8oz.red","requires_shipping":true,"taxable":true,"featured_image":{"id":44255358288184,"product_id":8664885788984,"position":14,"created_at":"2024-01-11T16:01:09-05:00","updated_at":"2025-04-15T15:15:00-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_red_variant.png?v=1744744500","variant_ids":[46910688395576]},"available":true,"name":"Custom Co-Wash - 8 oz \/ Red","public_title":"8 oz \/ Red","options":["8 oz","Red"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711364297016,"position":14,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_red_variant.png?v=1744744500"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910688428344,"title":"8 oz \/ Green","option1":"8 oz","o
55ption2":"Green","option3":null,"sku":"cowash.8oz.green","requires_shipping":true,"taxable":true,"featured_image":{"id":44255360614712,"product_id":8664885788984,"position":15,"created_at":"2024-01-11T16:01:25-05:00","updated_at":"2025-04-15T15:15:00-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_green_variant.png?v=1744744500","variant_ids":[46910688428344]},"available":true,"name":"Custom Co-Wash - 8 oz \/ Green","public_title":"8 oz \/ Green","options":["8 oz","Green"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711366525240,"position":15,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_green_variant.png?v=1744744500"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910688493880,"title":"8 oz \/ Orange","option1":"8 oz","o
55ption2":"Orange","option3":null,"sku":"cowash.8oz.orange","requires_shipping":true,"taxable":true,"featured_image":{"id":44255362416952,"product_id":8664885788984,"position":16,"created_at":"2024-01-11T16:01:39-05:00","updated_at":"2025-04-15T15:15:00-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_orange_variant.png?v=1744744500","variant_ids":[46910688493880]},"available":true,"name":"Custom Co-Wash - 8 oz \/ Orange","public_title":"8 oz \/ Orange","options":["8 oz","Orange"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711368360248,"position":16,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_orange_variant.png?v=1744744500"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910688526648,"title":"8 oz \/ Purple","option1":"8 oz","o
55ption2":"Purple","option3":null,"sku":"cowash.8oz.purple","requires_shipping":true,"taxable":true,"featured_image":{"id":44255363563832,"product_id":8664885788984,"position":17,"created_at":"2024-01-11T16:01:51-05:00","updated_at":"2025-04-15T15:15:00-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_purple_variant.png?v=1744744500","variant_ids":[46910688526648]},"available":true,"name":"Custom Co-Wash - 8 oz \/ Purple","public_title":"8 oz \/ Purple","options":["8 oz","Purple"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711369474360,"position":17,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_purple_variant.png?v=1744744500"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910688559416,"title":"8 oz \/ Dye Free","option1":"8 oz","o
55ption2":"Dye Free","option3":null,"sku":"cowash.8oz.dye-free","requires_shipping":true,"taxable":true,"featured_image":{"id":44255364809016,"product_id":8664885788984,"position":18,"created_at":"2024-01-11T16:02:03-05:00","updated_at":"2025-04-15T15:15:00-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_white_variant.png?v=1744744500","variant_ids":[46910688559416]},"available":true,"name":"Custom Co-Wash - 8 oz \/ Dye Free","public_title":"8 oz \/ Dye Free","options":["8 oz","Dye Free"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711370981688,"position":18,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_white_variant.png?v=1744744500"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910688624952,"title":"8 oz \/ Ocean","option1":"8 oz","o
55ption2":"Ocean","option3":null,"sku":"cowash.8oz.ocean","requires_shipping":true,"taxable":true,"featured_image":{"id":44255366644024,"product_id":8664885788984,"position":19,"created_at":"2024-01-11T16:02:15-05:00","updated_at":"2025-04-15T15:15:00-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_ocean_variant.png?v=1744744500","variant_ids":[46910688624952]},"available":true,"name":"Custom Co-Wash - 8 oz \/ Ocean","public_title":"8 oz \/ Ocean","options":["8 oz","Ocean"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711372849464,"position":19,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_ocean_variant.png?v=1744744500"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910688657720,"title":"8 oz \/ Magenta","option1":"8 oz","o
55ption2":"Magenta","option3":null,"sku":"cowash.8oz.magenta","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Custom Co-Wash - 8 oz \/ Magenta","public_title":"8 oz \/ Magenta","options":["8 oz","Magenta"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910688690488,"title":"8 oz \/ Sunkissed","option1":"8 oz","o
55ption2":"Sunkissed","option3":null,"sku":"cowash.8oz.sunkissed","requires_shipping":true,"taxable":true,"featured_image":{"id":44255369462072,"product_id":8664885788984,"position":20,"created_at":"2024-01-11T16:02:43-05:00","updated_at":"2025-04-15T15:15:00-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_sunkissed_variant.png?v=1744744500","variant_ids":[46910688690488]},"available":true,"name":"Custom Co-Wash - 8 oz \/ Sunkissed","public_title":"8 oz \/ Sunkissed","options":["8 oz","Sunkissed"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711375700280,"position":20,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_sunkissed_variant.png?v=1744744500"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910688723256,"title":"8 oz \/ Function Green","option1":"8 oz","o
55ption2":"Function Green","option3":null,"sku":"cowash.8oz.function-green","requires_shipping":true,"taxable":true,"featured_image":{"id":44255371264312,"product_id":8664885788984,"position":21,"created_at":"2024-01-11T16:02:54-05:00","updated_at":"2025-04-15T15:15:00-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_function_variant.png?v=1744744500","variant_ids":[46910688723256]},"available":true,"name":"Custom Co-Wash - 8 oz \/ Function Green","public_title":"8 oz \/ Function Green","options":["8 oz","Function Green"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711377699128,"position":21,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_function_variant.png?v=1744744500"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910688756024,"title":"8 oz \/ Flamingo","option1":"8 oz","o
55ption2":"Flamingo","option3":null,"sku":"cowash.8oz.flamingo","requires_shipping":true,"taxable":true,"featured_image":{"id":44255372640568,"product_id":8664885788984,"position":22,"created_at":"2024-01-11T16:03:05-05:00","updated_at":"2025-04-15T15:15:00-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_flamingo_variant.png?v=1744744500","variant_ids":[46910688756024]},"available":true,"name":"Custom Co-Wash - 8 oz \/ Flamingo","public_title":"8 oz \/ Flamingo","options":["8 oz","Flamingo"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711379173688,"position":22,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_flamingo_variant.png?v=1744744500"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910688788792,"title":"16 oz \/ Blue","option1":"16 oz","option2":"Blue","option3":null,"sku":"cowash.16oz.blue","requires_shipping":true,"taxable":true,"featured_image":{"id":44255394103608,"product_id":8664885788984,"position":23,"created_at":"2024-01-11T16:06:57-05:00","updated_at":"2025-04-15T15:15:00-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Blue_variant.png?v=1744744500","variant_ids":[46910688788792]},"available":true,"name":"Custom Co-Wash - 16 oz \/ Blue","public_title":"16 oz \/ Blue","options":["16 oz","Blue"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711400964408,"position":23,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Blue_variant.png?v=1744744500"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910688821560,"title":"16 oz \/ Red","option1":"16 oz","option2":"Red","option3":null,"sku":"cowash.16oz.red","requires_shipping":true,"taxable":true,"featured_image":{"id":44255395545400,"product_id":8664885788984,"position":24,"created_at":"2024-01-11T16:07:13-05:00","updated_at":"2025-04-15T15:15:00-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Red_variant.png?v=1744744500","variant_ids":[46910688821560]},"available":true,"name":"Custom Co-Wash - 16 oz \/ Red","public_title":"16 oz \/ Red","options":["16 oz","Red"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711402307896,"position":24,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Red_variant.png?v=1744744500"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910688854328,"title":"16 oz \/ Green","option1":"16 oz","option2":"Green","option3":null,"sku":"cowash.16oz.green","requires_shipping":true,"taxable":true,"featured_image":{"id":44255397577016,"product_id":8664885788984,"position":25,"created_at":"2024-01-11T16:07:28-05:00","updated_at":"2025-04-15T15:15:00-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Green_variant.png?v=1744744500","variant_ids":[46910688854328]},"available":true,"name":"Custom Co-Wash - 16 oz \/ Green","public_title":"16 oz \/ Green","options":["16 oz","Green"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711404470584,"position":25,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Green_variant.png?v=1744744500"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910688887096,"title":"16 oz \/ Orange","option1":"16 oz","option2":"Orange","option3":null,"sku":"cowash.16oz.orange","requires_shipping":true,"taxable":true,"featured_image":{"id":44255398822200,"product_id":8664885788984,"position":26,"created_at":"2024-01-11T16:07:39-05:00","updated_at":"2025-04-15T15:15:00-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Orange_variant.png?v=1744744500","variant_ids":[46910688887096]},"available":true,"name":"Custom Co-Wash - 16 oz \/ Orange","public_title":"16 oz \/ Orange","options":["16 oz","Orange"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711405715768,"position":26,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Orange_variant.png?v=1744744500"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910688919864,"title":"16 oz \/ Purple","option1":"16 oz","option2":"Purple","option3":null,"sku":"cowash.16oz.purple","requires_shipping":true,"taxable":true,"featured_image":{"id":44255399870776,"product_id":8664885788984,"position":27,"created_at":"2024-01-11T16:07:50-05:00","updated_at":"2025-04-15T15:15:00-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Purple_variant.png?v=1744744500","variant_ids":[46910688919864]},"available":true,"name":"Custom Co-Wash - 16 oz \/ Purple","public_title":"16 oz \/ Purple","options":["16 oz","Purple"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711406797112,"position":27,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Purple_variant.png?v=1744744500"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910688952632,"title":"16 oz \/ Dye Free","option1":"16 oz","option2":"Dye Free","option3":null,"sku":"cowash.16oz.dye-free","requires_shipping":true,"taxable":true,"featured_image":{"id":44255400821048,"product_id":8664885788984,"position":28,"created_at":"2024-01-11T16:08:00-05:00","updated_at":"2025-04-15T15:15:00-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_White_variant.png?v=1744744500","variant_ids":[46910688952632]},"available":true,"name":"Custom Co-Wash - 16 oz \/ Dye Free","public_title":"16 oz \/ Dye Free","options":["16 oz","Dye Free"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711407747384,"position":28,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_White_variant.png?v=1744744500"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910689018168,"title":"16 oz \/ Ocean","option1":"16 oz","option2":"Ocean","option3":null,"sku":"cowash.16oz.ocean","requires_shipping":true,"taxable":true,"featured_image":{"id":44255401673016,"product_id":8664885788984,"position":29,"created_at":"2024-01-11T16:08:12-05:00","updated_at":"2025-04-15T15:15:00-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Ocean_variant.png?v=1744744500","variant_ids":[46910689018168]},"available":true,"name":"Custom Co-Wash - 16 oz \/ Ocean","public_title":"16 oz \/ Ocean","options":["16 oz","Ocean"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711408599352,"position":29,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Ocean_variant.png?v=1744744500"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,
55"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910689050936,"title":"16 oz \/ Magenta","option1":"16 oz","option2":"Magenta","option3":null,"sku":"cowash.16oz.magenta","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Custom Co-Wash - 16 oz \/ Magenta","public_title":"16 oz \/ Magenta","options":["16 oz","Magenta"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910689083704,"title":"16 oz \/ Sunkissed","option1":"16 oz","option2":"Sunkissed","option3":null,"sku":"cowash.16oz.sunkissed","requires_shipping":true,"taxable":true,"featured_image":{"id":44255403344184,"product_id":8664885788984,"position":30,"created_at":"2024-01-11T16:08:32-05:00","updated_at":"2025-04-15T15:15:00-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Sunkissed_variant.png?v=1744744500","variant_ids":[46910689083704]},"available":true,"name":"Custom Co-Wash - 16 oz \/ Sunkissed","public_title":"16 oz \/ Sunkissed","options":["16 oz","Sunkissed"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711410270520,"position":30,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Sunkissed_variant.png?v=1744744500"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910689116472,"title":"16 oz \/ Function Green","option1":"16 oz","option2":"Function Green","option3":null,"sku":"cowash.16oz.function-green","requires_shipping":true,"taxable":true,"featured_image":{"id":44255404491064,"product_id":8664885788984,"position":31,"created_at":"2024-01-11T16:08:43-05:00","updated_at":"2025-04-15T15:15:00-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Function_variant.png?v=1744744500","variant_ids":[46910689116472]},"available":true,"name":"Custom Co-Wash - 16 oz \/ Function Green","public_title":"16 oz \/ Function Green","options":["16 oz","Function Green"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711411450168,"position":31,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Function_variant.png?v=1744744500"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910689149240,"title":"16 oz \/ Flamingo","option1":"16 oz","option2":"Flamingo","option3":null,"sku":"cowash.16oz.flamingo","requires_shipping":true,"taxable":true,"featured_image":{"id":44255405441336,"product_id":8664885788984,"position":32,"created_at":"2024-01-11T16:08:55-05:00","updated_at":"2025-04-15T15:15:00-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Flam
55ingo_variant.png?v=1744744500","variant_ids":[46910689149240]},"available":true,"name":"Custom Co-Wash - 16 oz \/ Flamingo","public_title":"16 oz \/ Flamingo","options":["16 oz","Flamingo"],"price":2200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711412400440,"position":32,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Flamingo_variant.png?v=1744744500"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030851896,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030884664,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":691030917432,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":694905798968,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"},{"price_adjustments":[{"position":1,"price":2200}],"price":2200,"compare_at_price":2200,"per_delivery_price":2200,"selling_plan_id":693002830136,"selling_plan_group_id":"7de527dd651e5f693e5f49abb964db2fb926be3c"}],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/functionofbeauty.com\/cdn\/shop\/files\/Co-Wash_Green_Reflection.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_02.jpg?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_03.jpg?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_04.jpg?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_05.jpg?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_06.jpg?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_07.jpg?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_08.jpg?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_09.jpg?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_10.jpg?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_12.jpg?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Green_PLP.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_blue_variant.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_red_variant.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_green_variant.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_orange_variant.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_purple_variant.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_white_variant.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_ocean_variant.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_sunkissed_variant.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_function_variant.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_flamingo_variant.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Blue_variant.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Red_variant.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Green_variant.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Orange_variant.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Purple_variant.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_White_variant.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Ocean_variant.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Sunkissed_variant.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Function_variant.png?v=1744744500","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Flam
55ingo_variant.png?v=1744744500"],"featured_image":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Co-Wash_Green_Reflection.png?v=1744744500","options":["Size","Color"],"media":[{"alt":null,"id":41577327034680,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Co-Wash_Green_Reflection.png?v=1744744500"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Co-Wash_Green_Reflection.png?v=1744744500","width":1080},{"alt":null,"id":35446294446392,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_02.jpg?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_02.jpg?v=1744744500","width":2160},{"alt":null,"id":35446294479160,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_03.jpg?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_03.jpg?v=1744744500","width":2160},{"alt":null,"id":35446294511928,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_04.jpg?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_04.jpg?v=1744744500","width":2160},{"alt":null,"id":35446294544696,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_05.jpg?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_05.jpg?v=1744744500","width":2160},{"alt":null,"id":35446294577464,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_06.jpg?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_06.jpg?v=1744744500","width":2160},{"alt":null,"id":35446294610232,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_07.jpg?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_07.jpg?v=1744744500","width":2160},{"alt":null,"id":35446294643000,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_08.jpg?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_08.jpg?v=1744744500","width":2160},{"alt":null,"id":35446294675768,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_09.jpg?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_09.jpg?v=1744744500","width":2160},{"alt":null,"id":35446294708536,"position":10,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_10.jpg?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_10.jpg?v=1744744500","width":2160},{"alt":null,"id":35446294741304,"position":11,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_12.jpg?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-CoWash_12.jpg?v=1744744500","width":2160},{"alt":null,"id":36711421575480,"position":12,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Green_PLP.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Green_PLP.png?v=1744744500","width":2160},{"alt":null,"id":36711362003256,"position":13,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_blue_variant.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_blue_variant.png?v=1744744500","width":2160},{"alt":null,"id":36711364297016,"position":14,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_red_variant.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_red_variant.png?v=1744744500","width":2160},{"alt":null,"id":36711366525240,"position":15,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_green_variant.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_green_variant.png?v=1744744500","width":2160},{"alt":null,"id":36711368360248,"position":16,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_orange_variant.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_orange_variant.png?v=1744744500","width":2160},{"alt":null,"id":36711369474360,"position":17,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_purple_variant.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_purple_variant.png?v=1744744500","width":2160},{"alt":null,"id":36711370981688,"position":18,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_white_variant.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_white_variant.png?v=1744744500","width":2160},{"alt":null,"id":36711372849464,"position":19,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_ocean_variant.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_ocean_variant.png?v=1744744500","width":2160},{"alt":null,"id":36711375700280,"position":20,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_sunkissed_variant.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_sunkissed_variant.png?v=1744744500","width":2160},{"alt":null,"id":36711377699128,"position":21,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_function_variant.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_function_variant.png?v=1744744500","width":2160},{"alt":null,"id":36711379173688,"position":22,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_flamingo_variant.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_8oz_flamingo_variant.png?v=1744744500","width":2160},{"alt":null,"id":36711400964408,"position":23,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Blue_variant.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Blue_variant.png?v=1744744500","width":2160},{"alt":null,"id":36711402307896,"position":24,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Red_variant.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Red_variant.png?v=1744744500","width":2160},{"alt":null,"id":36711404470584,"position":25,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Green_variant.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Green_variant.png?v=1744744500","width":2160},{"alt":null,"id":36711405715768,"position":26,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Orange_variant.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Orange_variant.png?v=1744744500","width":2160},{"alt":null,"id":36711406797112,"position":27,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Purple_variant.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Purple_variant.png?v=1744744500","width":2160},{"alt":null,"id":36711407747384,"position":28,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_White_variant.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_White_variant.png?v=1744744500","width":2160},{"alt":null,"id":36711408599352,"position":29,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Ocean_variant.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Ocean_variant.png?v=1744744500","width":2160},{"alt":null,"id":36711410270520,"position":30,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Sunkissed_variant.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Sunkissed_variant.png?v=1744744500","width":2160},{"alt":null,"id":36711411450168,"position":31,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Function_variant.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Function_variant.png?v=1744744500","width":2160},{"alt":null,"id":36711412400440,"position":32,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Flam
55ingo_variant.png?v=1744744500"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_CoWash_16oz_Flamingo_variant.png?v=1744744500","width":2160},{"alt":null,"id":42092930040120,"position":33,"preview_image":{"aspect_ratio":1.0,"height":720,"width":720,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/preview_images\/71d6c9ab807e4cf4b04ab931ff08c217.thumbnail.0000000000.jpg?v=1750258715"},"aspect_ratio":1.0,"duration":4960,"media_type":"video","sources":[{"format":"mp4","height":480,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/71d6c9ab807e4cf4b04ab931ff08c217\/71d6c9ab807e4cf4b04ab931ff08c217.SD-480p-1.2Mbps-49624003.mp4?v=0","width":480},{"format":"mp4","height":720,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/71d6c9ab807e4cf4b04ab931ff08c217\/71d6c9ab807e4cf4b04ab931ff08c217.HD-720p-3.0Mbps-49624003.mp4?v=0","width":720},{"format":"m3u8","height":720,"mime_type":"application\/x-mpegURL","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/71d6c9ab807e4cf4b04ab931ff08c217\/71d6c9ab807e4cf4b04ab931ff08c217.m3u8?v=0","width":720}]}],"requires_selling_plan":false,"selling_plan_groups":[{"id":"7de527dd651e5f693e5f49abb964db2fb926be3c","name":"Co-Wash","options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"values":["1 Month(s)","2 Month(s)","3 Month(s)","4 Month(s)","6 Month(s)"]}],"selling_plans":[{"id":691030851896,"name":"Delivery every 1 Month","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"1 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":691030884664,"name":"Delivery every 2 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"2 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":691030917432,"name":"Delivery every 3 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"3 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":694905798968,"name":"Delivery every 4 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"4 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":693002830136,"name":"Delivery every 6 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"6 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"}],"content":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eA light cleansing and conditioning hybrid for those in-between wash days. Formulated with jamaican black castor seed oil and avocado oil, this co-wash moisturizes and protects coily, curly, and color-treated hair. \u003c\/span\u003e\u003c\/p\u003e"},{"id":8664886346040,"title":"Custom Conditioner","handle":"conditioner","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eA custom conditioner with a lightweight feel that provides essential hydration to your individual hair type. Packed full of nourishing ingredients for soft, smooth strands. Size: 11 oz\u003c\/span\u003e\u003c\/p\u003e","published_at":"2023-09-18T14:35:49-04:00","created_at":"2023-09-18T14:35:52-04:00","vendor":"Function of Beauty","type":"conditioner","tags":["Action: Care","first_time_discount","Haircare","in_configuration","Line: Core","Target: Hair","YCRF_haircare"],"price":2499,"price_min":2499,"price_max":3299,"available":true,"price_varies":true,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":49220493050168,"title":"11 oz \/ Dye Free","option1":"11 oz","option2":"Dye Free","option3":null,"sku":"conditioner.11oz.dye-free","requires_shipping":true,"taxable":true,"featured_image":{"id":46652890382648,"product_id":8664886346040,"position":40,"created_at":"2024-0
557-12T12:18:11-04:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Dye_Free.jpg?v=1744744471","variant_ids":[46910690689336,49220493050168]},"available":true,"name":"Custom Conditioner - 11 oz \/ Dye Free","public_title":"11 oz \/ Dye Free","options":["11 oz","Dye Free"],"price":2900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":39127557734712,"position":41,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Dye_Free.jpg?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49220493017400,"title":"11 oz \/ Purple","option1":"11 oz","option2":"Purple","option3":null,"sku":"conditioner.11oz.purple","requires_shipping":true,"taxable":true,"featured_image":{"id":46652890349880,"product_id":8664886346040,"position":39,"created_at":"2024-07-12T12:18:12-04:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Purple.jpg?v=1744744471","variant_ids":[46910690656568,49220493017400]},"available":true,"name":"Custom Conditioner - 11 oz \/ Purple","public_title":"11 oz \/ Purple","options":["11 oz","Purple"],"price":2900,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39127558652216,"position":40,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Purple.jpg?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49220492886328,"title":"11 oz \/ Blue","option1":"11 oz","option2":"Blue","o
55ption3":null,"sku":"conditioner.11oz.blue","requires_shipping":true,"taxable":true,"featured_image":{"id":46652978823480,"product_id":8664886346040,"position":45,"created_at":"2024-07-12T12:20:35-04:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Blue_e9dfe48b-10dd-4bca-8847-ebbef208af9b.jpg?v=1744744471","variant_ids":[46910690492728,49220492886328]},"available":true,"name":"Custom Conditioner - 11 oz \/ Blue","public_title":"11 oz \/ Blue","options":["11 oz","Blue"],"price":2900,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39127621239096,"position":46,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Blue_e9dfe48b-10dd-4bca-8847-ebbef208af9b.jpg?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49220492919096,"title":"11 oz \/ Red","option1":"11 oz","option2":"Red","option3":null,"sku":"conditioner.11oz.red","requires_shipping":true,"taxable":true,"featured_image":{"id":46652978856248,"product_id":8664886346040,"position":46,"created_at":"2024-07-12T12:18:12-04:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Red.jpg?v=1744744471","variant_ids":[46910690558264,49220492919096,51757618889016]},"available":true,"name":"Custom Conditioner - 11 oz \/ Red","public_title":"11 oz \/ Red","options":["11 oz","Red"],"price":2900,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39127558422840,"position":47,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Red.jpg?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49220492951864,"title":"11 oz \/ Green","option1":"11 oz","option2":"Green","option3":null,"sku":"conditioner.11oz.green","requires_shipping":true,"taxable":true,"featured_image":{"id":44255079530808,"product_id":8664886346040,"position":28,"created_at":"2024-01-11T15:32:33-05:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Green_variant.png?v=1744744471","variant_ids":[49220492951864]},"available":true,"name":"Custom Conditioner - 11 oz \/ Green","public_title":"11 oz \/ Green","options":["11 oz","Green"],"price":2900,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711082164536,"position":29,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Green_variant.png?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49220493115704,"title":"11 oz \/ Ocean","option1":"11 oz","option2":"Ocean","option3":null,"sku":"conditioner.11oz.ocean","requires_shipping":true,"taxable":true,"featured_image":{"id":46652890448
55184,"product_id":8664886346040,"position":41,"created_at":"2024-07-12T12:18:12-04:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Ocean.jpg?v=1744744471","variant_ids":[46910690722104,49220493115704]},"available":true,"name":"Custom Conditioner - 11 oz \/ Ocean","public_title":"11 oz \/ Ocean","options":["11 oz","Ocean"],"price":2900,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39127558127928,"position":42,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Ocean.jpg?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49220493148472,"title":"11 oz \/ Magenta","option1":"11 oz","option2":"Magenta","option3":null,"sku":"conditioner.11oz.magenta","requires_shipping":true,"taxable":true,"featured_image":{"id":46652890513720,"product_id":8664886346040,"position":42,"created_at":"2024-07-12T12:18:12-04:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Magenta.jpg?v=1744744471","variant_ids":[46910690820408,49220493148472]},"available":true,"name":"Custom Conditioner - 11 oz \/ Magenta","public_title":"11 oz \/ Magenta","options":["11 oz","Magenta"],"price":2900,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39127559110968,"position":43,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Magenta.jpg?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49220493345080,"title":"11 oz \/ Flamingo","option1":"11 oz","option2":"Flamingo","option3":null,"sku":"conditioner.11oz.flamingo","requires_shipping":true,"taxable":true,"featured_image":{"id":44255109087544,"product_id":8664886346040,"position":36,"created_at":"2024-01-11T15:34:53-05:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Flam
55ingo_variant.png?v=1744744471","variant_ids":[49220493345080]},"available":true,"name":"Custom Conditioner - 11 oz \/ Flamingo","public_title":"11 oz \/ Flamingo","options":["11 oz","Flamingo"],"price":2900,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711112573240,"position":37,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Flamingo_variant.png?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49220492984632,"title":"11 oz \/ Orange","option1":"11 oz","option2":"Orange","option3":null,"sku":"conditioner.11oz.orange","requires_shipping":true,"taxable":true,"featured_image":{"id":46652918923576,"product_id":8664886346040,"position":44,"created_at":"2024-07-12T12:18:12-04:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Orange.jpg?v=1744744471","variant_ids":[46910690623800,49220492984632]},"available":true,"name":"Custom Conditioner - 11 oz \/ Orange","public_title":"11 oz \/ Orange","options":["11 oz","Orange"],"price":2900,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39127558586680,"position":45,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Orange.jpg?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49220493246776,"title":"11 oz \/ Function Green","option1":"11 oz","option2":"Function Green","option3":null,"sku":"conditioner.11oz.function-green","requires_shipping":true,"taxable":true,"featured_image":{"id":44255106924856,"product_id":8664886346040,"position":35,"created_at":"2024-01-11T15:34:42-05:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Function_variant.png?v=1744744471","variant_ids":[49220493246776]},"available":true,"name":"Custom Conditioner - 11 oz \/ Function Green","public_title":"11 oz \/ Function Green","options":["11 oz","Function Green"],"price":2900,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711110279480,"position":36,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Function_variant.png?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}}
55,{"id":49234639978808,"title":"11 oz \/ Sunkissed","option1":"11 oz","option2":"Sunkissed","option3":null,"sku":"conditioner.11oz.sunkissed","requires_shipping":true,"taxable":true,"featured_image":{"id":44251957395768,"product_id":8664886346040,"position":23,"created_at":"2024-01-11T12:01:53-05:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_sunkissed_variant.png?v=1744744471","variant_ids":[49234639978808]},"available":true,"name":"Custom Conditioner - 11 oz \/ Sunkissed","public_title":"11 oz \/ Sunkissed","options":["11 oz","Sunkissed"],"price":2900,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36707916972344,"position":24,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_sunkissed_variant.png?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":51757618889016,"title":"11 oz \/ Pink","option1":"11 oz","option2":"Pink","option3":null,"sku":"conditioner.11oz.pink","requires_shipping":true,"taxable":true,"featured_image":{"id":46652978856248,"product_id":8664886346040,"position":46,"created_at":"2024-07-12T12:18:12-04:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Red.jpg?v=1744744471","variant_ids":[46910690558264,49220492919096,51757618889016]},"available":true,"name":"Custom Conditioner - 11 oz \/ Pink","public_title":"11 oz \/ Pink","options":["11 oz","Pink"],"price":2900,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39127558422840,"position":47,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Red.jpg?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910690033976,"title":"8 oz \/ Dye Free","option1":"8 oz","o
55ption2":"Dye Free","option3":null,"sku":"conditioner.8oz.dye-free","requires_shipping":true,"taxable":true,"featured_image":{"id":44251940913464,"product_id":8664886346040,"position":20,"created_at":"2024-01-11T12:01:10-05:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_white_variant.png?v=1744744471","variant_ids":[46910690033976]},"available":true,"name":"Custom Conditioner - 8 oz \/ Dye Free","public_title":"8 oz \/ Dye Free","options":["8 oz","Dye Free"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36707900293432,"position":21,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_white_variant.png?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910690001208,"title":"8 oz \/ Purple","option1":"8 oz","o
55ption2":"Purple","option3":null,"sku":"conditioner.8oz.purple","requires_shipping":true,"taxable":true,"featured_image":{"id":44251938226488,"product_id":8664886346040,"position":19,"created_at":"2024-01-11T12:00:56-05:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Purple_variant.png?v=1744744471","variant_ids":[46910690001208]},"available":true,"name":"Custom Conditioner - 8 oz \/ Purple","public_title":"8 oz \/ Purple","options":["8 oz","Purple"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36707897606456,"position":20,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Purple_variant.png?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910689771832,"title":"8 oz \/ Blue","option1":"8 oz","o
55ption2":"Blue","option3":null,"sku":"conditioner.8oz.blue","requires_shipping":true,"taxable":true,"featured_image":{"id":44251701182776,"product_id":8664886346040,"position":15,"created_at":"2024-01-11T11:47:33-05:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Blue_variant.png?v=1744744471","variant_ids":[46910689771832]},"available":true,"name":"Custom Conditioner - 8 oz \/ Blue","public_title":"8 oz \/ Blue","options":["8 oz","Blue"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":36707653091640,"position":16,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Blue_variant.png?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}}
55,{"id":46910689837368,"title":"8 oz \/ Red","option1":"8 oz","option2":"Red","option3":null,"sku":"conditioner.8oz.red","requires_shipping":true,"taxable":true,"featured_image":{"id":44251708358968,"product_id":8664886346040,"position":16,"created_at":"2024-01-11T11:47:47-05:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_red_variant.png?v=1744744471","variant_ids":[46910689837368,51757618921784]},"available":true,"name":"Custom Conditioner - 8 oz \/ Red","public_title":"8 oz \/ Red","options":["8 oz","Red"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36707660398904,"position":17,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_red_variant.png?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910689870136,"title":"8 oz \/ Green","option1":"8 oz","o
55ption2":"Green","option3":null,"sku":"conditioner.8oz.green","requires_shipping":true,"taxable":true,"featured_image":{"id":44251711603000,"product_id":8664886346040,"position":17,"created_at":"2024-01-11T11:47:59-05:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Green_variant.png?v=1744744471","variant_ids":[46910689870136]},"available":true,"name":"Custom Conditioner - 8 oz \/ Green","public_title":"8 oz \/ Green","options":["8 oz","Green"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36707663774008,"position":18,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Green_variant.png?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910690099512,"title":"8 oz \/ Ocean","option1":"8 oz","o
55ption2":"Ocean","option3":null,"sku":"conditioner.8oz.ocean","requires_shipping":true,"taxable":true,"featured_image":{"id":44251945468216,"product_id":8664886346040,"position":21,"created_at":"2024-01-11T12:01:25-05:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Ocean_variant.png?v=1744744471","variant_ids":[46910690099512]},"available":true,"name":"Custom Conditioner - 8 oz \/ Ocean","public_title":"8 oz \/ Ocean","options":["8 oz","Ocean"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36707904979256,"position":22,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Ocean_variant.png?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910690263352,"title":"8 oz \/ Magenta","option1":"8 oz","o
55ption2":"Magenta","option3":null,"sku":"conditioner.8oz.magenta","requires_shipping":true,"taxable":true,"featured_image":{"id":44251954741560,"product_id":8664886346040,"position":22,"created_at":"2024-01-11T12:01:40-05:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Magenta_variant.png?v=1744744471","variant_ids":[46910690263352]},"available":true,"name":"Custom Conditioner - 8 oz \/ Magenta","public_title":"8 oz \/ Magenta","options":["8 oz","Magenta"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36707914318136,"position":23,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Magenta_variant.png?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910690427192,"title":"8 oz \/ Flamingo","option1":"8 oz","o
55ption2":"Flamingo","option3":null,"sku":"conditioner.8oz.flamingo","requires_shipping":true,"taxable":true,"featured_image":{"id":44251965489464,"product_id":8664886346040,"position":25,"created_at":"2024-01-11T12:02:24-05:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Flamingo_variant.png?v=1744744471","variant_ids":[46910690427192]},"available":true,"name":"Custom Conditioner - 8 oz \/ Flamingo","public_title":"8 oz \/ Flamingo","options":["8 oz","Flamingo"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36707925262648,"position":26,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Flamingo_variant.png?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910689935672,"title":"8 oz \/ Orange","option1":"8 oz","o
55ption2":"Orange","option3":null,"sku":"conditioner.8oz.orange","requires_shipping":true,"taxable":true,"featured_image":{"id":44251933049144,"product_id":8664886346040,"position":18,"created_at":"2024-01-11T12:00:39-05:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Orange_variant.png?v=1744744471","variant_ids":[46910689935672,49234666422584]},"available":true,"name":"Custom Conditioner - 8 oz \/ Orange","public_title":"8 oz \/ Orange","options":["8 oz","Orange"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36707892199736,"position":19,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Orange_variant.png?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910690361656,"title":"8 oz \/ Function Green","option1":"8 oz","o
55ption2":"Function Green","option3":null,"sku":"conditioner.8oz.function-green","requires_shipping":true,"taxable":true,"featured_image":{"id":44251961360696,"product_id":8664886346040,"position":24,"created_at":"2024-01-11T12:02:12-05:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_function_variant.png?v=1744744471","variant_ids":[46910690361656]},"available":true,"name":"Custom Conditioner - 8 oz \/ Function Green","public_title":"8 oz \/ Function Green","options":["8 oz","Function Green"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36707921002808,"position":25,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_function_variant.png?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49234666422584,"title":"8 oz \/ Sunkissed","option1":"8 oz","o
55ption2":"Sunkissed","option3":null,"sku":"conditioner.8oz.sunkissed","requires_shipping":true,"taxable":true,"featured_image":{"id":44251933049144,"product_id":8664886346040,"position":18,"created_at":"2024-01-11T12:00:39-05:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Orange_variant.png?v=1744744471","variant_ids":[46910689935672,49234666422584]},"available":true,"name":"Custom Conditioner - 8 oz \/ Sunkissed","public_title":"8 oz \/ Sunkissed","options":["8 oz","Sunkissed"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36707892199736,"position":19,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Orange_variant.png?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":51757618921784,"title":"8 oz \/ Pink","option1":"8 oz","o
55ption2":"Pink","option3":null,"sku":"conditioner.8oz.pink","requires_shipping":true,"taxable":true,"featured_image":{"id":44251708358968,"product_id":8664886346040,"position":16,"created_at":"2024-01-11T11:47:47-05:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_red_variant.png?v=1744744471","variant_ids":[46910689837368,51757618921784]},"available":true,"name":"Custom Conditioner - 8 oz \/ Pink","public_title":"8 oz \/ Pink","options":["8 oz","Pink"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36707660398904,"position":17,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_red_variant.png?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910690689336,"title":"16 oz \/ Dye Free","option1":"16 oz","option2":"Dye Free","option3":null,"sku":"conditioner.16oz.dye-free","requires_shipping":true,"taxable":true,"featured_image":{"id":46652890382648,"product_id":8664886346040,"position":40,"created_at":"2024-07-12T12:18:11-04:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Dye_Free.jpg?v=1744744471","variant_ids":[46910690689336,49220493050168]},"available":true,"name":"Custom Conditioner - 16 oz \/ Dye Free","public_title":"16 oz \/ Dye Free","options":["16 oz","Dye Free"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39127557734712,"position":41,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Dye_Free.jpg?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910690656568,"title":"16 oz \/ Purple","option1":"16 oz","option2":"Purple","option3":null,"sku":"conditioner.16oz.purple","requires_shipping":true,"taxable":true,"featured_image":{"id":46652890349880,"product_id":8664886346040,"position":39,"created_at":"2024-0
557-12T12:18:12-04:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Purple.jpg?v=1744744471","variant_ids":[46910690656568,49220493017400]},"available":true,"name":"Custom Conditioner - 16 oz \/ Purple","public_title":"16 oz \/ Purple","options":["16 oz","Purple"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39127558652216,"position":40,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Purple.jpg?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910690492728,"title":"16 oz \/ Blue","option1":"16 oz","option2":"Blue","option3":null,"sku":"conditioner.16oz.blue","requires_shipping":true,"taxable":true,"featured_image":{"id":46652978823480,"product_id":8664886346040,"position":45,"created_at":"2024-07-12T12:20:35-04:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Blue_e9dfe48b-10dd-4bca-8847-ebbef208af9b.jpg?v=1744744471","variant_ids":[46910690492728,49220492886328]},"available":true,"name":"Custom Conditioner - 16 oz \/ Blue","public_title":"16 oz \/ Blue","options":["16 oz","Blue"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39127621239096,"position":46,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Blue_e9dfe48b-10dd-4bca-8847-ebbef208af9b.jpg?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910690558264,"title":"16 oz \/ Red","option1":"16 oz","option2":"Red","option3":null,"sku":"conditioner.16oz.red","requires_shipping":true,"taxable":true,"featured_image":{"id":46652978856248,"product_id":8664886346040,"position":46,"created_at":"2024-0
557-12T12:18:12-04:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Red.jpg?v=1744744471","variant_ids":[46910690558264,49220492919096,51757618889016]},"available":true,"name":"Custom Conditioner - 16 oz \/ Red","public_title":"16 oz \/ Red","options":["16 oz","Red"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39127558422840,"position":47,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Red.jpg?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910690591032,"title":"16 oz \/ Green","option1":"16 oz","option2":"Green","option3":null,"sku":"conditioner.16oz.green","requires_shipping":true,"taxable":true,"featured_image":{"id":46652807020856,"product_id":8664886346040,"position":38,"created_at":"2024-07-12T12:18:11-04:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Green.jpg?v=1744744471","variant_ids":[46910690591032,46910690885944]},"available":true,"name":"Custom Conditioner - 16 oz \/ Green","public_title":"16 oz \/ Green","options":["16 oz","Green"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39127558062392,"position":39,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Green.jpg?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910690722104,"title":"16 oz \/ Ocean","option1":"16 oz","option2":"Ocean","option3":null,"sku":"conditioner.16oz.ocean","requires_shipping":true,"taxable":true,"featured_image":{"id":46652890448
55184,"product_id":8664886346040,"position":41,"created_at":"2024-07-12T12:18:12-04:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Ocean.jpg?v=1744744471","variant_ids":[46910690722104,49220493115704]},"available":true,"name":"Custom Conditioner - 16 oz \/ Ocean","public_title":"16 oz \/ Ocean","options":["16 oz","Ocean"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39127558127928,"position":42,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Ocean.jpg?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910690820408,"title":"16 oz \/ Magenta","option1":"16 oz","option2":"Magenta","option3":null,"sku":"conditioner.16oz.magenta","requires_shipping":true,"taxable":true,"featured_image":{"id":46652890513720,"product_id":8664886346040,"position":42,"created_at":"2024-07-12T12:18:12-04:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Magenta.jpg?v=1744744471","variant_ids":[46910690820408,49220493148472]},"available":true,"name":"Custom Conditioner - 16 oz \/ Magenta","public_title":"16 oz \/ Magenta","options":["16 oz","Magenta"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39127559110968,"position":43,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Magenta.jpg?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910690918712,"title":"16 oz \/ Flamingo","option1":"16 oz","option2":"Flamingo","option3":null,"sku":"conditioner.16oz.flamingo","requires_shipping":true,"taxable":true,"featured_image":{"id":46652786770232,"product_id":8664886346040,"position":37,"created_at":"2024-0
557-12T12:18:12-04:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Flamingo.jpg?v=1744744471","variant_ids":[46910690918712]},"available":true,"name":"Custom Conditioner - 16 oz \/ Flamingo","public_title":"16 oz \/ Flamingo","options":["16 oz","Flamingo"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39127558717752,"position":38,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Flamingo.jpg?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910690623800,"title":"16 oz \/ Orange","option1":"16 oz","option2":"Orange","option3":null,"sku":"conditioner.16oz.orange","requires_shipping":true,"taxable":true,"featured_image":{"id":46652918923576,"product_id":8664886346040,"position":44,"created_at":"2024-07-12T12:18:12-04:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Orange.jpg?v=1744744471","variant_ids":[46910690623800,49220492984632]},"available":true,"name":"Custom Conditioner - 16 oz \/ Orange","public_title":"16 oz \/ Orange","options":["16 oz","Orange"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39127558586680,"position":45,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Orange.jpg?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910690885944,"title":"16 oz \/ Function Green","option1":"16 oz","option2":"Function Green","option3":null,"sku":"conditioner.16oz.function-green","requires_shipping":true,"taxable":true,"featured_image":{"id":46652807020856,"product_id":8664886346040,"position":38,"created_at":"2024-0
557-12T12:18:11-04:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Green.jpg?v=1744744471","variant_ids":[46910690591032,46910690885944]},"available":true,"name":"Custom Conditioner - 16 oz \/ Function Green","public_title":"16 oz \/ Function Green","options":["16 oz","Function Green"],"price":3200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39127558062392,"position":39,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Green.jpg?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49234667372856,"title":"16 oz \/ Sunkissed","option1":"16 oz","option2":"Sunkissed","option3":null,"sku":"conditioner.16oz.sunkissed","requires_shipping":true,"taxable":true,"featured_image":{"id":47749492769080,"product_id":8664886346040,"position":47,"created_at":"2024-10-02T14:01:24-04:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Sunkissed_6b114882-1fa3-4995-a64
550-f1b059795440.png?v=1744744471","variant_ids":[49234667372856]},"available":true,"name":"Custom Conditioner - 16 oz \/ Sunkissed","public_title":"16 oz \/ Sunkissed","options":["16 oz","Sunkissed"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39975127580984,"position":48,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Sunkissed_6b114882-1fa3-4995-a640-f1b059795440.png?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":51757618954552,"title":"16 oz \/ Pink","option1":"16 oz","option2":"Pink","option3":null,"sku":"conditioner.16oz.pink","requires_shipping":true,"taxable":true,"featured_image":{"id":44255076221240,"product_id":8664886346040,"position":27,"created_at":"2024-01-11T15:32:17-05:00","updated_at":"2025-04-15T15:14:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Red_variant.png?v=1744744471","variant_ids":[51757618954552]},"available":true,"name":"Custom Conditioner - 16 oz \/ Pink","public_title":"16 oz \/ Pink","options":["16 oz","Pink"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711078658360,"position":28,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Red_variant.png?v=1744744471"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030262072,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030294840,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030327608,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694905831736,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693002895672,"selling_plan_group_id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46"}],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/functionofbeauty.com\/cdn\/shop\/files\/Conditioner-Orange_Reflection.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditoner_02.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditoner_03.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditionero_04.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_05_c6f951d3-8d83-4187-abe9-6e3d12f3891e.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_06.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_07.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_08.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditoner_09.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_10.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_11.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_12.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_14.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Orange_PLP.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Blue_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_red_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Green_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Orange_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Purple_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_white_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Ocean_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Magenta_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_sunkissed_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_function_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Flamingo_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Blue_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Red_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Green_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Orange_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Purple_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_White_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Ocean_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Magenta_variat.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Sunkissed_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Function_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Flam
55ingo_variant.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Flamingo.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Green.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Purple.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Dye_Free.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Ocean.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Magenta.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Sunkissed.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Orange.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Blue_e9dfe48b-10dd-4bca-8847-ebbef208af9b.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Red.jpg?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Sunkissed_6b114882-1fa3-4995-a64
550-f1b059795440.png?v=1744744471","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Sunkissed_d8e8065a-4fda-4e16-9354-f660c5b82c0d.png?v=1744744471"],"featured_image":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Conditioner-Orange_Reflection.png?v=1744744471","options":["Size","Color"],"media":[{"alt":null,"id":41577327198520,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Conditioner-Orange_Reflection.png?v=1744744471"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Conditioner-Orange_Reflection.png?v=1744744471","width":1080},{"alt":null,"id":35436025020728,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditoner_02.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditoner_02.jpg?v=1744744471","width":2160},{"alt":null,"id":35436025053496,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditoner_03.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditoner_03.jpg?v=1744744471","width":2160},{"alt":null,"id":35436024987960,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditionero_04.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditionero_04.jpg?v=1744744471","width":2176},{"alt":null,"id":35436025119032,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_05_c6f951d3-8d83-4187-abe9-6e3d12f3891e.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_05_c6f951d3-8d83-4187-abe9-6e3d12f3891e.jpg?v=1744744471","width":2176},{"alt":null,"id":35436024758584,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_06.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_06.jpg?v=1744744471","width":2176},{"alt":null,"id":35436024791352,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_07.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_07.jpg?v=1744744471","width":2176},{"alt":null,"id":35436024824120,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_08.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_08.jpg?v=1744744471","width":2176},{"alt":null,"id":35436025086264,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditoner_09.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditoner_09.jpg?v=1744744471","width":2160},{"alt":null,"id":35436024856888,"position":10,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_10.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_10.jpg?v=1744744471","width":2160},{"alt":null,"id":35436024889656,"position":11,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_11.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_11.jpg?v=1744744471","width":2160},{"alt":null,"id":35436024922424,"position":12,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_12.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_12.jpg?v=1744744471","width":2160},{"alt":null,"id":35436024955192,"position":13,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_14.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Conditioner_14.jpg?v=1744744471","width":2160},{"alt":null,"id":35541672100152,"position":14,"preview_image":{"aspect_ratio":1.0,"height":780,"width":780,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/preview_images\/21a9c33a130e4f9e9a7cfefb203578dc.thumbnail.0000000000.jpg?v=1695669899"},"aspect_ratio":1.0,"duration":5030,"media_type":"video","sources":[{"format":"mp4","height":480,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/21a9c33a130e4f9e9a7cfefb203578dc\/21a9c33a130e4f9e9a7cfefb203578dc.SD-480p-1.5Mbps-18780003.mp4?v=0","width":480},{"format":"mp4","height":720,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/21a9c33a130e4f9e9a7cfefb203578dc\/21a9c33a130e4f9e9a7cfefb203578dc.HD-720p-4.5Mbps-18780003.mp4?v=0","width":720},{"format":"m3u8","height":720,"mime_type":"application\/x-mpegURL","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/21a9c33a130e4f9e9a7cfefb203578dc\/21a9c33a130e4f9e9a7cfefb203578dc.m3u8?v=0","width":720}]},{"alt":null,"id":36711137050936,"position":15,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Orange_PLP.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Orange_PLP.png?v=1744744471","width":2160},{"alt":null,"id":36707653091640,"position":16,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Blue_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Blue_variant.png?v=1744744471","width":2160},{"alt":null,"id":36707660398904,"position":17,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_red_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_red_variant.png?v=1744744471","width":2160},{"alt":null,"id":36707663774008,"position":18,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Green_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Green_variant.png?v=1744744471","width":2160},{"alt":null,"id":36707892199736,"position":19,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Orange_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Orange_variant.png?v=1744744471","width":2160},{"alt":null,"id":36707897606456,"position":20,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Purple_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Purple_variant.png?v=1744744471","width":2160},{"alt":null,"id":36707900293432,"position":21,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_white_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_white_variant.png?v=1744744471","width":2160},{"alt":null,"id":36707904979256,"position":22,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Ocean_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Ocean_variant.png?v=1744744471","width":2160},{"alt":null,"id":36707914318136,"position":23,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Magenta_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Magenta_variant.png?v=1744744471","width":2160},{"alt":null,"id":36707916972344,"position":24,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_sunkissed_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_sunkissed_variant.png?v=1744744471","width":2160},{"alt":null,"id":36707921002808,"position":25,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_function_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_function_variant.png?v=1744744471","width":2160},{"alt":null,"id":36707925262648,"position":26,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Flamingo_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_8oz_Flamingo_variant.png?v=1744744471","width":2160},{"alt":null,"id":36711073284408,"position":27,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Blue_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Blue_variant.png?v=1744744471","width":2160},{"alt":null,"id":36711078658360,"position":28,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Red_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Red_variant.png?v=1744744471","width":2160},{"alt":null,"id":36711082164536,"position":29,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Green_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Green_variant.png?v=1744744471","width":2160},{"alt":null,"id":36711084785976,"position":30,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Orange_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Orange_variant.png?v=1744744471","width":2160},{"alt":null,"id":36711094223160,"position":31,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Purple_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Purple_variant.png?v=1744744471","width":2160},{"alt":null,"id":36711098122552,"position":32,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_White_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_White_variant.png?v=1744744471","width":2160},{"alt":null,"id":36711101268280,"position":33,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Ocean_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Ocean_variant.png?v=1744744471","width":2160},{"alt":null,"id":36711104577848,"position":34,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Magenta_variat.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Magenta_variat.png?v=1744744471","width":2160},{"alt":null,"id":36711107854648,"position":35,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Sunkissed_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Sunkissed_variant.png?v=1744744471","width":2160},{"alt":null,"id":36711110279480,"position":36,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Function_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Function_variant.png?v=1744744471","width":2160},{"alt":null,"id":36711112573240,"position":37,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Flam
55ingo_variant.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Conditioner_16oz_Flamingo_variant.png?v=1744744471","width":2160},{"alt":null,"id":39127558717752,"position":38,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Flamingo.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Flamingo.jpg?v=1744744471","width":2160},{"alt":null,"id":39127558062392,"position":39,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Green.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Green.jpg?v=1744744471","width":2160},{"alt":null,"id":39127558652216,"position":40,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Purple.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Purple.jpg?v=1744744471","width":2160},{"alt":null,"id":39127557734712,"position":41,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Dye_Free.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Dye_Free.jpg?v=1744744471","width":2160},{"alt":null,"id":39127558127928,"position":42,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Ocean.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Ocean.jpg?v=1744744471","width":2160},{"alt":null,"id":39127559110968,"position":43,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Magenta.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Magenta.jpg?v=1744744471","width":2160},{"alt":null,"id":39127558553912,"position":44,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Sunkissed.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Sunkissed.jpg?v=1744744471","width":2160},{"alt":null,"id":39127558586680,"position":45,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Orange.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Orange.jpg?v=1744744471","width":2160},{"alt":null,"id":39127621239096,"position":46,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Blue_e9dfe48b-10dd-4bca-8847-ebbef208af9b.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Blue_e9dfe48b-10dd-4bca-8847-ebbef208af9b.jpg?v=1744744471","width":2160},{"alt":null,"id":39127558422840,"position":47,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Red.jpg?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Conditioner_11oz_Red.jpg?v=1744744471","width":2160},{"alt":null,"id":39975127580984,"position":48,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Sunkissed_6b114882-1fa3-4995-a64
550-f1b059795440.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Sunkissed_6b114882-1fa3-4995-a640-f1b059795440.png?v=1744744471","width":2160},{"alt":null,"id":39975128760632,"position":49,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Sunkissed_d8e8065a-4fda-4e16-9354-f660c5b82c0d.png?v=1744744471"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Sunkissed_d8e8065a-4fda-4e16-9354-f660c5b82c0d.png?v=1744744471","width":2160},{"alt":null,"id":42071124148536,"position":50,"preview_image":{"aspect_ratio":1.0,"height":720,"width":720,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/preview_images\/a16943b2db7e40a1a62b7c95df8dc20c.thumbnail.0000000000.jpg?v=1750081967"},"aspect_ratio":1.0,"duration":2920,"media_type":"video","sources":[{"format":"mp4","height":480,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/a16943b2db7e40a1a62b7c95df8dc20c\/a16943b2db7e40a1a62b7c95df8dc20c.SD-480p-1.2Mbps-49479693.mp4?v=0","width":480},{"format":"mp4","height":720,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/a16943b2db7e40a1a62b7c95df8dc20c\/a16943b2db7e40a1a62b7c95df8dc20c.HD-720p-3.0Mbps-49479693.mp4?v=0","width":720},{"format":"m3u8","height":720,"mime_type":"application\/x-mpegURL","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/a16943b2db7e40a1a62b7c95df8dc20c\/a16943b2db7e40a1a62b7c95df8dc20c.m3u8?v=0","width":720}]}],"requires_selling_plan":false,"selling_plan_groups":[{"id":"cb93fc6109ade5c7b25b5e7d3540a2328ea72f46","name":"Conditioner","options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"values":["1 Month(s)","2 Month(s)","3 Month(s)","4 Month(s)","6 Month(s)"]}],"selling_plans":[{"id":691030262072,"name":"Delivery every 1 Month","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"1 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":691030294840,"name":"Delivery every 2 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"2 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":691030327608,"name":"Delivery every 3 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"3 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":694905831736,"name":"Delivery every 4 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"4 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":693002895672,"name":"Delivery every 6 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"6 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"}],"content":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eA custom conditioner with a lightweight feel that provides essential hydration to your individual hair type. Packed full of nourishing ingredients for soft, smooth strands. Size: 11 oz\u003c\/span\u003e\u003c\/p\u003e"},{"id":8664885002552,"title":"Custom Hair Mask","handle":"hair-mask","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eA custom hair mask formulated with argan oil and jojoba ester
55s that acts as a deep conditioning treatment for the days when your hair could use a little extra love. Hydrates and nourishes dry, damaged hair. Size: 7.5 oz\u003c\/span\u003e\u003c\/p\u003e","published_at":"2023-09-18T14:35:42-04:00","created_at":"2023-09-18T14:35:42-04:00","vendor":"Function of Beauty","type":"hair mask","tags":["Action: Treatment","Haircare","in_configuration","Line: Core","Target: Hair","YCRF_haircare"],"price":2600,"price_min":2600,"price_max":2600,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":46910687183160,"title":"7.5 oz \/ Blue","option1":"7.5 oz","option2":"Blue","option3":null,"sku":"hair-mask.7.5oz.blue","requires_shipping":true,"taxable":true,"featured_image":{"id":44255442960696,"product_id":8664885002552,"position":16,"created_at":"2024-01-11T16:15:23-05:00","updated_at":"2025-04-15T15:15:27-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Blue_variant.png?v=1744744527","variant_ids":[46910687183160]},"available":true,"name":"Custom Hair Mask - 7.5 oz \/ Blue","public_title":"7.5 oz \/ Blue","options":["7.5 oz","Blue"],"price":2600,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711450575160,"position":17,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Blue_variant.png?v=1744744527"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029770552,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029803320,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029836088,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":694905962808,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":693003223352,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910687215928,"title":"7.5 oz \/ Red","option1":"7.5 oz","option2":"Red","option3":null,"sku":"hair-mask.7.5oz.red","requires_shipping":true,"taxable":true,"featured_image":{"id":44255444533560,"product_id":8664885002552,"position":17,"created_at":"2024-01-11T16:15:35-05:00","updated_at":"2025-04-15T15:15:27-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Red_variant.png?v=1744744527","variant_ids":[46910687215928]},"available":true,"name":"Custom Hair Mask - 7.5 oz \/ Red","public_title":"7.5 oz \/ Red","options":["7.5 oz","Red"],"price":2600,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":36711451984184,"position":18,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Red_variant.png?v=1744744527"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029770552,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029803320,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029836088,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":694905962808,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":693003223352,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910687248696,"title":"7.5 oz \/ Green","option1":"7.5 oz","option2":"Green","option3":null,"sku":"hair-mask.7.5oz.green","requires_shipping":true,"taxable":true,"featured_image":{"id":44255445549368,"product_id":8664885002552,"position":18,"created_at":"2024-01-11T16:15:45-05:00","updated_at":"2025-04-15T15:15:27-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Green_variant.png?v=1744744527","variant_ids":[46910687248696]},"available":true,"name":"Custom Hair Mask - 7.5 oz \/ Green","public_title":"7.5 oz \/ Green","options":["7.5 oz","Green"],"price":2600,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711452999992,"position":19,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Green_variant.png?v=1744744527"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029770552,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029803320,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029836088,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":694905962808,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":693003223352,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910687281464,"title":"7.5 oz \/ Orange","option1":"7.5 oz","option2":"Orange","option3":null,"sku":"hair-mask.7.5oz.orange","requires_shipping":true,"taxable":true,"featured_image":{"id":44255446663480,"product_id":8664885002552,"position":19,"created_at":"2024-01-11T16:15:56-0
555:00","updated_at":"2025-04-15T15:15:27-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Orange_variant.png?v=1744744527","variant_ids":[46910687281464]},"available":true,"name":"Custom Hair Mask - 7.5 oz \/ Orange","public_title":"7.5 oz \/ Orange","options":["7.5 oz","Orange"],"price":2600,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711454114104,"position":20,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Orange_variant.png?v=1744744527"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029770552,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029803320,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029836088,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":694905962808,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":693003223352,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910687314232,"title":"7.5 oz \/ Purple","option1":"7.5 oz","option2":"Purple","option3":null,"sku":"hair-mask.7.5oz.purple","requires_shipping":true,"taxable":true,"featured_image":{"id":44255447580984,"product_id":8664885002552,"position":20,"created_at":"2024-01-11T16:16:06-05:00","updated_at":"2025-04-15T15:15:27-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Purple_variant.png?v=1744744527","variant_ids":[46910687314232]},"available":true,"name":"Custom Hair Mask - 7.5 oz \/ Purple","public_title":"7.5 oz \/ Purple","options":["7.5 oz","Purple"],"price":2600,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711455031608,"position":21,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Purple_variant.png?v=1744744527"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029770552,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029803320,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029836088,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":694905962808,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":693003223352,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910687347000,"title":"7.5 oz \/ Dye Free","option1":"7.5 oz","option2":"Dye Free","option3":null,"sku":"hair-mask.7.5oz.dye-free","requires_shipping":true,"taxable":true,"featured_image":{"id":44255448596792,"product_id":8664885002552,"position":21,"created_at":"2024-01-11T16:16:17-05:00","updated_at":"2025-04-15T15:15:27-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_White_variant.png?v=1744744527","variant_ids":[46910687347000]},"available":true,"name":"Custom Hair Mask - 7.5 oz \/ Dye Free","public_title":"7.5 oz \/ Dye Free","options":["7.5 oz","Dye Free"],"price":2600,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711456047416,"position":22,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_White_variant.png?v=1744744527"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029770552,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029803320,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029836088,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":694905962808,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":693003223352,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910687379768,"title":"7.5 oz \/ Ocean","option1":"7.5 oz","option2":"Ocean","option3":null,"sku":"hair-mask.7.5oz.ocean","requires_shipping":true,"taxable":true,"featured_image":{"id":44255450071352,"product_id":8664885002552,"position":22,"created_at":"2024-01-11T16:16:28-05:00","updated_at":"2025-04-15T15:15:27-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Ocean_variant.png?v=1744744527","variant_ids":[46910687379768]},"available":true,"name":"Custom Hair Mask - 7.5 oz \/ Ocean","public_title":"7.5 oz \/ Ocean","options":["7.5 oz","Ocean"],"price":2600,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711457489208,"position":23,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Ocean_variant.png?v=1744744527"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029770552,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029803320,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029836088,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":694905962808,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":693003223352,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910687445304,"title":"7.5 oz \/ Sunkissed","option1":"7.5 oz","option2":"Sunkissed","option3":null,"sku":"hair-mask.7.5oz.sunkissed","requires_shipping":true,"taxable":true,"featured_image":{"id":44255451185464,"product_id":8664885002552,"position":23,"created_at":"2024-01-11T16:16:39-05:00","updated_at":"2025-04-15T15:15:27-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Sunkissed_variant.png?v=1744744527","variant_ids":[46910687445304]},"available":true,"name":"Custom Hair Mask - 7.5 oz \/ Sunkissed","public_title":"7.5 oz \/ Sunkissed","options":["7.5 oz","Sunkissed"],"price":2600,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711458636088,"position":24,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Sunkissed_variant.png?v=1744744527"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029770552,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029803320,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029836088,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":694905962808,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":693003223352,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910687510840,"title":"7.5 oz \/ Function Green","option1":"7.5 oz","option2":"Function Green","option3":null,"sku":"hair-mask.7.5oz.function-green","requires_shipping":true,"taxable":true,"featured_image":{"id":44255452627256,"product_id":8664885002552,"position":24,"created_at":"2024-01-11T16:16:49-05:00","updated_at":"2025-04-15T15:15:27-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Function_variant.png?v=1744744527","variant_ids":[46910687510840]},"available":true,"name":"Custom Hair Mask - 7.5 oz \/ Function Green","public_title":"7.5 oz \/ Function Green","options":["7.5 oz","Function Green"],"price":2600,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711460110648,"position":25,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Function_variant.png?v=1744744527"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029770552,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029803320,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029836088,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":694905962808,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":693003223352,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910687543608,"title":"7.5 oz \/ Flamingo","option1":"7.5 oz","option2":"Flamingo","option3":null,"sku":"hair-mask.7.5oz.flamingo","requires_shipping":true,"taxable":true,"featured_image":{"id":44255453544760,"product_id":8664885002552,"position":25,"created_at":"2024-01-11T16:17:01-05:00","updated_at":"2025-04-15T15:15:27-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Flamingo_variant.png?v=1744744527","variant_ids":[46910687543608]},"available":true,"name":"Custom Hair Mask - 7.5 oz \/ Flamingo","public_title":"7.5 oz \/ Flamingo","options":["7.5 oz","Flamingo"],"price":2600,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36711461060920,"position":26,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Flamingo_variant.png?v=1744744527"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029770552,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029803320,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029836088,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":694905962808,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":693003223352,"selling_plan_group_id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067"}],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/functionofbeauty.com\/cdn\/shop\/files\/Mask_Sky_Blue_Reflection.png?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_03.jpg?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_02.jpg?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_04_cab6da7c-a4ad-4b34-a52c-7f28cb6749d4.jpg?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_05_10ea8a25-edfb-4f7f-80a5-ded84575c5c9.jpg?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_06_e7f2bc51-d6e7-4f98-8f8d-ac13f931d97a.jpg?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_07_177c4576-d4da-4c77-86ea-879b08f31134.jpg?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_08.jpg?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_09.jpg?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_10.jpg?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_11.jpg?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_12_9b7017e7-737c-49cd-9879
55-6d6dca8a2cdd.jpg?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_14.jpg?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Blue_PLP.png?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Mask_Flamingo_variant.jpg?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Blue_variant.png?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Red_variant.png?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Green_variant.png?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Orange_variant.png?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Purple_variant.png?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_White_variant.png?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Ocean_variant.png?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Sunkissed_variant.png?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Function_variant.png?v=1744744527","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Flamingo_variant.png?v=1744744527"],"featured_image":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Mask_Sky_Blue_Reflection.png?v=1744744527","options":["Size","Color"],"media":[{"alt":null,"id":41577326739768,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Mask_Sky_Blue_Reflection.png?v=1744744527"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Mask_Sky_Blue_Reflection.png?v=1744744527","width":1080},{"alt":null,"id":35445450146104,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_03.jpg?v=1744744527"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_03.jpg?v=1744744527","width":2160},{"alt":null,"id":35445450080568,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_02.jpg?v=1744744527"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_02.jpg?v=1744744527","width":2160},{"alt":null,"id":35445450735928,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_04_cab6da7c-a4ad-4b34-a52c-7f28cb6749d4.jpg?v=1744744527"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_04_cab6da7c-a4ad-4b34-a52c-7f28cb6749d4.jpg?v=1744744527","width":2176},{"alt":null,"id":35445450768696,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_05_10ea8a25-edfb-4f7f-80a5-ded84575c5c9.jpg?v=1744744527"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_05_10ea8a25-edfb-4f7f-80a5-ded84575c5c9.jpg?v=1744744527","width":2176},{"alt":null,"id":35445450801464,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_06_e7f2bc51-d6e7-4f98-8f8d-ac13f931d97a.jpg?v=1744744527"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_06_e7f2bc51-d6e7-4f98-8f8d-ac13f931d97a.jpg?v=1744744527","width":2176},{"alt":null,"id":35445450834232,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_07_177c4576-d4da-4c77-86ea-879b08f31134.jpg?v=1744744527"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_07_177c4576-d4da-4c77-86ea-879b08f31134.jpg?v=1744744527","width":2176},{"alt":null,"id":35445450244408,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_08.jpg?v=1744744527"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_08.jpg?v=1744744527","width":2160},{"alt":null,"id":35445450342712,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_09.jpg?v=1744744527"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_09.jpg?v=1744744527","width":2160},{"alt":null,"id":35445450473784,"position":10,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_10.jpg?v=1744744527"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_10.jpg?v=1744744527","width":2160},{"alt":null,"id":35445450539320,"position":11,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_11.jpg?v=1744744527"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_11.jpg?v=1744744527","width":2160},{"alt":null,"id":35445450637624,"position":12,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_12_9b7017e7-737c-49cd-9879
55-6d6dca8a2cdd.jpg?v=1744744527"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_12_9b7017e7-737c-49cd-9879-6d6dca8a2cdd.jpg?v=1744744527","width":2160},{"alt":null,"id":35436124602680,"position":13,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_14.jpg?v=1744744527"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Mask_14.jpg?v=1744744527","width":2160},{"alt":null,"id":35541683831096,"position":14,"preview_image":{"aspect_ratio":1.0,"height":780,"width":780,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/preview_images\/96786058155a4d7b879b156ec2e33807.thumbnail.0000000000.jpg?v=1695669967"},"aspect_ratio":1.0,"duration":5030,"media_type":"video","sources":[{"format":"mp4","height":480,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/96786058155a4d7b879b156ec2e33807\/96786058155a4d7b879b156ec2e33807.SD-480p-1.5Mbps-18780060.mp4?v=0","width":480},{"format":"mp4","height":720,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/96786058155a4d7b879b156ec2e33807\/96786058155a4d7b879b156ec2e33807.HD-720p-4.5Mbps-18780060.mp4?v=0","width":720},{"format":"m3u8","height":720,"mime_type":"application\/x-mpegURL","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/96786058155a4d7b879b156ec2e33807\/96786058155a4d7b879b156ec2e33807.m3u8?v=0","width":720}]},{"alt":null,"id":36711468335416,"position":15,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Blue_PLP.png?v=1744744527"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Blue_PLP.png?v=1744744527","width":2160},{"alt":null,"id":35705136841016,"position":16,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Mask_Flamingo_variant.jpg?v=1744744527"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Mask_Flamingo_variant.jpg?v=1744744527","width":2160},{"alt":null,"id":36711450575160,"position":17,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Blue_variant.png?v=1744744527"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Blue_variant.png?v=1744744527","width":2160},{"alt":null,"id":36711451984184,"position":18,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Red_variant.png?v=1744744527"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Red_variant.png?v=1744744527","width":2160},{"alt":null,"id":36711452999992,"position":19,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Green_variant.png?v=1744744527"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Green_variant.png?v=1744744527","width":2160},{"alt":null,"id":36711454114104,"position":20,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Orange_variant.png?v=1744744527"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Orange_variant.png?v=1744744527","width":2160},{"alt":null,"id":36711455031608,"position":21,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Purple_variant.png?v=1744744527"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Purple_variant.png?v=1744744527","width":2160},{"alt":null,"id":36711456047416,"position":22,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_White_variant.png?v=1744744527"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_White_variant.png?v=1744744527","width":2160},{"alt":null,"id":36711457489208,"position":23,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Ocean_variant.png?v=1744744527"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Ocean_variant.png?v=1744744527","width":2160},{"alt":null,"id":36711458636088,"position":24,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Sunkissed_variant.png?v=1744744527"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Sunkissed_variant.png?v=1744744527","width":2160},{"alt":null,"id":36711460110648,"position":25,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Function_variant.png?v=1744744527"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Function_variant.png?v=1744744527","width":2160},{"alt":null,"id":36711461060920,"position":26,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Flamingo_variant.png?v=1744744527"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Flamingo_variant.png?v=1744744527","width":2160},{"alt":null,"id":42071124312376,"position":27,"preview_image":{"aspect_ratio":1.0,"height":720,"width":720,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/preview_images\/92b96e986a3b45a9871bbf4fb6a259bb.thumbnail.0000000000.jpg?v=1750081968"},"aspect_ratio":1.0,"duration":5000,"media_type":"video","sources":[{"format":"mp4","height":480,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/92b96e986a3b45a9871bbf4fb6a259bb\/92b96e986a3b45a9871bbf4fb6a259bb.SD-480p-1.2Mbps-49479698.mp4?v=0","width":480},{"format":"mp4","height":720,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/92b96e986a3b45a9871bbf4fb6a259bb\/92b96e986a3b45a9871bbf4fb6a259bb.HD-720p-3.0Mbps-49479698.mp4?v=0","width":720},{"format":"m3u8","height":720,"mime_type":"application\/x-mpegURL","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/92b96e986a3b45a9871bbf4fb6a259bb\/92b96e986a3b45a9871bbf4fb6a259bb.m3u8?v=0","width":720}]}
55],"requires_selling_plan":false,"selling_plan_groups":[{"id":"13fa0effd7ef69d10fdef12ccedec4c2b9c20067","name":"Hair Mask","options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"values":["1 Month(s)","2 Month(s)","3 Month(s)","4 Month(s)","6 Month(s)"]}],"selling_plans":[{"id":691029770552,"name":"Delivery every 1 Month","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"1 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":691029803320,"name":"Delivery every 2 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"2 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":691029836088,"name":"Delivery every 3 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"3 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":694905962808,"name":"Delivery every 4 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"4 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":693003223352,"name":"Delivery every 6 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"6 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"}],"content":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eA custom hair mask formulated with argan oil and jojoba esters that acts as a deep conditioning treatment for the days when your hair could use a little extra love. Hydrates and nourishes dry, damaged hair. Size: 7.5 oz\u003c\/span\u003e\u003c\/p\u003e"},{"id":8664884773176,"title":"Custom Leave-in Conditioner","handle":"leave-in-conditioner","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eA custom conditioning cream formulated with avocado oil and coffee seed extract, with a lightweight feel that doubles as a moisture treatment and styling product for wet or dry hair. Size: 8 oz\u003c\/span\u003e\u003c\/p\u003e","published_at":"2023-09-18T14:35:40-04:00","created_at":"2023-09-18T14:35:40-04:00","vendor":"Function of Beauty","type":"leave-in","tags":["Action: Treatment","Haircare","in_configuration","Line: Core","Target: Hair","YCRF_haircare"],"price":2499,"price_min":2499,"price_max":2499,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":46910686527800,"title":"8 oz \/ Dye Free","option1":"8 oz","o
55ption2":"Dye Free","option3":null,"sku":"leave-in-conditioner.8oz.dye-free","requires_shipping":true,"taxable":true,"featured_image":{"id":44255585042744,"product_id":8664884773176,"position":14,"created_at":"2024-01-11T16:40:49-05:00","updated_at":"2025-04-15T15:16:11-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Leave_In_variant.png?v=1744744571","variant_ids":[46910686527800]},"available":true,"name":"Custom Leave-in Conditioner - 8 oz \/ Dye Free","public_title":"8 oz \/ Dye Free","options":["8 oz","Dye Free"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":36711593869624,"position":15,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Leave_In_variant.png?v=1744744571"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691029573944,"selling_plan_group_id":"a55c4112f8bf864248ca78b494c060808a76d8a1"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691029606712,"selling_plan_group_id":"a55c4112f8bf864248ca78b494c060808a76d8a1"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691029639480,"selling_plan_group_id":"a55c4112f8bf864248ca78b494c060808a76d8a1"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694906061112,"selling_plan_group_id":"a55c4112f8bf864248ca78b494c060808a76d8a1"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693003157816,"selling_plan_group_id":"a55c4112f8bf864248ca78b494c060808a76d8a1"}],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/functionofbeauty.com\/cdn\/shop\/files\/Leave-In_Beige_Reflection.png?v=1744744571","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_03.jpg?v=1744744571","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_04_a0f88339-90f0-40db-be2f-3246bb435b6b.jpg?v=1744744571","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_05_4e140e01-138d-4e29-8cda-38c821ab1535.jpg?v=1744744571","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_06_af5d2cd4-dc6a-4c44-8ae0-dbb78671112e.jpg?v=1744744571","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_07_9d98fac3-15c9-43be-b6d0-889e19fdce52.jpg?v=1744744571","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_08.jpg?v=1744744571","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_09.jpg?v=1744744571","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_10.jpg?v=1744744571","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_11.jpg?v=1744744571","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_12.jpg?v=1744744571","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_14.jpg?v=1744744571","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Leave_In_PLP.png?v=1744744571","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Leave_In_variant.png?v=1744744571"],"featured_image":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Leave-In_Beige_Reflection.png?v=1744744571","options":["Size","Color"],"media":[{"alt":null,"id":41577326969144,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Leave-In_Beige_Reflection.png?v=1744744571"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Leave-In_Beige_Reflection.png?v=1744744571","width":1080},{"alt":null,"id":35446586900792,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_03.jpg?v=1744744571"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_03.jpg?v=1744744571","width":2160},{"alt":null,"id":35446586835256,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_04_a0f88339-90f0-40db-be2f-3246bb435b6b.jpg?v=1744744571"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_04_a0f88339-90f0-40db-be2f-3246bb435b6b.jpg?v=1744744571","width":2176},{"alt":null,"id":35446586802488,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_05_4e140e01-138d-4e29-8cda-38c821ab1535.jpg?v=1744744571"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_05_4e140e01-138d-4e29-8cda-38c821ab1535.jpg?v=1744744571","width":2176},{"alt":null,"id":35446586769720,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_06_af5d2cd4-dc6a-4c44-8ae0-dbb78671112e.jpg?v=1744744571"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_06_af5d2cd4-dc6a-4c44-8ae0-dbb78671112e.jpg?v=1744744571","width":2176},{"alt":null,"id":35446586736952,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_07_9d98fac3-15c9-43be-b6d0-889e19fdce52.jpg?v=1744744571"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_07_9d98fac3-15c9-43be-b6d0-889e19fdce52.jpg?v=1744744571","width":2176},{"alt":null,"id":35446587130168,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_08.jpg?v=1744744571"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_08.jpg?v=1744744571","width":2160},{"alt":null,"id":35446586868024,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_09.jpg?v=1744744571"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_09.jpg?v=1744744571","width":2160},{"alt":null,"id":35446587064632,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_10.jpg?v=1744744571"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_10.jpg?v=1744744571","width":2160},{"alt":null,"id":35446587031864,"position":10,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_11.jpg?v=1744744571"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_11.jpg?v=1744744571","width":2160},{"alt":null,"id":35446586999096,"position":11,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_12.jpg?v=1744744571"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_12.jpg?v=1744744571","width":2160},{"alt":null,"id":35446586966328,"position":12,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_14.jpg?v=1744744571"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-LeaveIn_14.jpg?v=1744744571","width":2160},{"alt":null,"id":35541724037432,"position":13,"preview_image":{"aspect_ratio":1.0,"height":780,"width":780,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/preview_images\/2fd4cd55784043b9ab2d024da4658d9c.thumbnail.0000000000.jpg?v=1695670141"},"aspect_ratio":1.0,"duration":5030,"media_type":"video","sources":[{"format":"mp4","height":480,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/2fd4cd55784043b9ab2d024da4658d9c\/2fd4cd55784043b9ab2d024da4658d9c.SD-480p-1.5Mbps-18780171.mp4?v=0","width":480},{"format":"mp4","height":720,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/2fd4cd55784043b9ab2d024da4658d9c\/2fd4cd55784043b9ab2d024da4658d9c.HD-720p-4.5Mbps-18780171.mp4?v=0","width":720},{"format":"m3u8","height":720,"mime_type":"application\/x-mpegURL","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/2fd4cd55784043b9ab2d024da4658d9c\/2fd4cd55784043b9ab2d024da4658d9c.m3u8?v=0","width":720}]},{"alt":null,"id":36711598915896,"position":14,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Leave_In_PLP.png?v=1744744571"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Leave_In_PLP.png?v=1744744571","width":2160},{"alt":null,"id":36711593869624,"position":15,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Leave_In_variant.png?v=1744744571"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Leave_In_variant.png?v=1744744571","width":2160},{"alt":null,"id":42071124640056,"position":16,"preview_image":{"aspect_ratio":1.0,"height":720,"width":720,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/preview_images\/446571276e5c4f6a9c23491120a6516b.thumbnail.0000000000.jpg?v=1750081968"},"aspect_ratio":1.0,"duration":5000,"media_type":"video","sources":[{"format":"mp4","height":480,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/446571276e5c4f6a9c23491120a6516b\/446571276e5c4f6a9c23491120a6516b.SD-480p-1.2Mbps-49479699.mp4?v=0","width":480},{"format":"mp4","height":720,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/446571276e5c4f6a9c23491120a6516b\/446571276e5c4f6a9c23491120a6516b.HD-720p-3.0Mbps-49479699.mp4?v=0","width":720},{"format":"m3u8","height":720,"mime_type":"application\/x-mpegURL","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/446571276e5c4f6a9c23491120a6516b\/446571276e5c4f6a9c23491120a6516b.m3u8?v=0","width":720}]}],"requires_selling_plan":false,"selling_plan_groups":[{"id":"a55c4112f8bf864248ca78b494c060808a76d8a1","name":"Leave-in Conditioner","options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"values":["1 Month(s)","2 Month(s)","3 Month(s)","4 Month(s)","6 Month(s)"]}],"selling_plans":[{"id":691029573944,"name":"Delivery every 1 Month","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"1 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}}
55,{"id":691029606712,"name":"Delivery every 2 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"2 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":691029639480,"name":"Delivery every 3 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"3 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":694906061112,"name":"Delivery every 4 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"4 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":693003157816,"name":"Delivery every 6 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"6 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"}],"content":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eA custom conditioning cream formulated with avocado oil and coffee seed extract, with a lightweight feel that doubles as a moisture treatment and styling product for wet or dry hair. Size: 8 oz\u003c\/span\u003e\u003c\/p\u003e"},{"id":8664884511032,"title":"Custom Purple Hair Mask","handle":"purple-hair-mask","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eA custom Purple Mask designed to deeply condition dry, damaged strands, while refreshing color and toning brassy hues on blonde, silver, gray, or highlighted hair thanks to neutralizing violet pigments. Leave on hair, especially brassy areas, for 2-3 minutes. Rinse thoroughly. For more intense results, leave in for an additional 1-2 minutes. Rinse your tub, shower, or sink well afterward to prevent staining. Size: 7.5 oz\u003c\/span\u003e\u003c\/p\u003e","published_at":"2023-09-18T14:35:38-04:00","created_at":"2023-09-18T14:35:38-04:00","vendor":"Function of Beauty","type":"mask","tags":["Action: Treatment","Haircare","in_configuration","Line: Core","Target: Hair","YCRF_haircare"],"price":2600,"price_min":2600,"price_max":2600,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":46910686265656,"title":"7.5 oz \/ Dark Purple","option1":"7.5 oz","option2":"Dark Purple","option3":null,"sku":"purple-hair-mask7.5oz.dark-purple","requires_shipping":true,"taxable":true,"featured_image":{"id":44255551914296,"product_id":8664884511032,"position":10,"created_at":"2024-01-11T16:35:19-05:00","updated_at":"2025-04-15T15:17:02-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Purpleblonde_variant.png?v=1744744622","variant_ids":[46910686265656]},"available":true,"name":"Custom Purple Hair Mask - 7.5 oz \/ Dark Purple","public_title":"7.5 oz \/ Dark Purple","options":["7.5 oz","Dark Purple"],"price":2600,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":36711560642872,"position":10,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Purpleblonde_variant.png?v=1744744622"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029082424,"selling_plan_group_id":"5d41c784da8845d1066a71caa6c90538ee87eb47"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029147960,"selling_plan_group_id":"5d41c784da8845d1066a71caa6c90538ee87eb47"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":691029213496,"selling_plan_group_id":"5d41c784da8845d1066a71caa6c90538ee87eb47"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":694906192184,"selling_plan_group_id":"5d41c784da8845d1066a71caa6c90538ee87eb47"},{"price_adjustments":[{"position":1,"price":2600}],"price":2600,"compare_at_price":2600,"per_delivery_price":2600,"selling_plan_id":693003321656,"selling_plan_group_id":"5d41c784da8845d1066a71caa6c90538ee87eb47"}],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/functionofbeauty.com\/cdn\/shop\/files\/Purple_Mask_Reflection.png?v=1744744622","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_02.jpg?v=1744744622","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_03.jpg?v=1744744622","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_04.jpg?v=1744744622","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_05.jpg?v=1744744622","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_06.jpg?v=1744744622","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_07.jpg?v=1744744622","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_08.jpg?v=1744744622","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Purpleblonde_PLP.png?v=1744744622","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Purpleblonde_variant.png?v=1744744622"],"featured_image":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Purple_Mask_Reflection.png?v=1744744622","options":["Size","Color"],"media":[{"alt":null,"id":41577327001912,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Purple_Mask_Reflection.png?v=1744744622"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Purple_Mask_Reflection.png?v=1744744622","width":1080},{"alt":null,"id":35446733898040,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_02.jpg?v=1744744622"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_02.jpg?v=1744744622","width":2160},{"alt":null,"id":35446733930808,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_03.jpg?v=1744744622"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_03.jpg?v=1744744622","width":2160},{"alt":null,"id":35446733963576,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_04.jpg?v=1744744622"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_04.jpg?v=1744744622","width":2160},{"alt":null,"id":35446733996344,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_05.jpg?v=1744744622"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_05.jpg?v=1744744622","width":2160}
55,{"alt":null,"id":35446734061880,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_06.jpg?v=1744744622"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_06.jpg?v=1744744622","width":2160},{"alt":null,"id":35446734094648,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_07.jpg?v=1744744622"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_07.jpg?v=1744744622","width":2160},{"alt":null,"id":35446734127416,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_08.jpg?v=1744744622"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleHairMask_08.jpg?v=1744744622","width":2160},{"alt":null,"id":36711564706104,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Purpleblonde_PLP.png?v=1744744622"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Purpleblonde_PLP.png?v=1744744622","width":2160},{"alt":null,"id":36711560642872,"position":10,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Purpleblonde_variant.png?v=1744744622"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Hair_Mask_Purpleblonde_variant.png?v=1744744622","width":2160},{"alt":null,"id":42071124541752,"position":11,"preview_image":{"aspect_ratio":1.0,"height":720,"width":720,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/preview_images\/eb42b7dd3a3a4a51997dad206330802e.thumbnail.0000000000.jpg?v=1750081968"},"aspect_ratio":1.0,"duration":5000,"media_type":"video","sources":[{"format":"mp4","height":480,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/eb42b7dd3a3a4a51997dad206330802e\/eb42b7dd3a3a4a51997dad206330802e.SD-480p-1.2Mbps-49479700.mp4?v=0","width":480},{"format":"mp4","height":720,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/eb42b7dd3a3a4a51997dad206330802e\/eb42b7dd3a3a4a51997dad206330802e.HD-720p-3.0Mbps-49479700.mp4?v=0","width":720},{"format":"m3u8","height":720,"mime_type":"application\/x-mpegURL","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/eb42b7dd3a3a4a51997dad206330802e\/eb42b7dd3a3a4a51997dad206330802e.m3u8?v=0","width":720}]}],"requires_selling_plan":false,"selling_plan_groups":[{"id":"5d41c784da8845d1066a71caa6c90538ee87eb47","name":"Purple Hair Mask","options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"values":["1 Month(s)","2 Month(s)","3 Month(s)","4 Month(s)","6 Month(s)"]}],"selling_plans":[{"id":691029082424,"name":"Delivery every 1 Month","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"1 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":691029147960,"name":"Delivery every 2 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"2 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":691029213496,"name":"Delivery every 3 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"3 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":694906192184,"name":"Delivery every 4 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"4 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":693003321656,"name":"Delivery every 6 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"6 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"}],"content":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eA custom Purple Mask designed to deeply condition dry, damaged strands, while refreshing color and toning brassy hues on blonde, silver, gray, or highlighted hair thanks to neutralizing violet pigments. Leave on hair, especially brassy areas, for 2-3 minutes. Rinse thoroughly. For more intense results, leave in for an additional 1-2 minutes. Rinse your tub, shower, or sink well afterward to prevent staining. Size: 7.5 oz\u003c\/span\u003e\u003c\/p\u003e"},{"id":8664884412728,"title":"Custom Purple Shampoo","handle":"purple-shampoo","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eA custom Purple Shampoo formulated with neutralizing violet pigments designed to gently cleanse the scalp and tone brassy hues on blonde, silver, gray, or highlighted hair for fresher-looking color. Leave on hair, especially brassy areas, for 2-3 minutes. Rinse thoroughly. For more intense results, leave in for an additional 1-2 minutes. Rinse your tub, shower, or sink well afterward to prevent staining. Size: 11 oz\u003c\/span\u003e\u003c\/p\u003e","published_at":"2023-09-18T14:35:37-04:00","created_at":"2023-09-18T14:35:37-04:00","vendor":"Function of Beauty","type":"shampoo","tags":["Action: Care","badge: EXTRA 10% OFF","Haircare","in_configuration","Line: Core","Target: Hair","YCRF_haircare"],"price":2300,"price_min":2300,"price_max":2900,"available":true,"price_varies":true,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":49220511269176,"title":"11 oz \/ Dark Purple","option1":"11 oz","option2":"Dark Purple","option3":null,"sku":"purple-shampoo.11oz.dark-purple","requires_shipping":true,"taxable":true,"featured_image":{"id":44255501025592,"product_id":8664884412728,"position":9,"created_at":"2024-01-11T16:26:14-05:00","updated_at":"2025-04-15T15:17:28-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Purpleblonde_PLP.png?v=1744744648","variant_ids":[49220511269176]},"available":true,"name":"Custom Purple Shampoo - 11 oz \/ Dark Purple","public_title":"11 oz \/ Dark Purple","options":["11 oz","Dark Purple"],"price":2900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":36711509098808,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Purpleblonde_PLP.png?v=1744744648"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030950200,"selling_plan_group_id":"725ee3873563f9d2326151b04641cdd28915c1f7"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030982968,"selling_plan_group_id":"725ee3873563f9d2326151b04641cdd28915c1f7"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691031015736,"selling_plan_group_id":"725ee3873563f9d2326151b04641cdd28915c1f7"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694906224952,"selling_plan_group_id":"725ee3873563f9d2326151b04641cdd28915c1f7"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693003354424,"selling_plan_group_id":"725ee3873563f9d2326151b04641cdd28915c1f7"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910686134584,"title":"8 oz \/ Dark Purple","option1":"8 oz","o
55ption2":"Dark Purple","option3":null,"sku":"purple-shampoo.8oz.dark-purple","requires_shipping":true,"taxable":true,"featured_image":{"id":44255491785016,"product_id":8664884412728,"position":10,"created_at":"2024-01-11T16:24:31-05:00","updated_at":"2025-04-15T15:17:28-04:00","alt":null,"width":4286,"height":5121,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_purpleblonde_variant.png?v=1744744648","variant_ids":[46910686134584]},"available":true,"name":"Custom Purple Shampoo - 8 oz \/ Dark Purple","public_title":"8 oz \/ Dark Purple","options":["8 oz","Dark Purple"],"price":2300,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":36711499628856,"position":10,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_purpleblonde_variant.png?v=1744744648"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2300}],"price":2300,"compare_at_price":2300,"per_delivery_price":2300,"selling_plan_id":691030950200,"selling_plan_group_id":"725ee3873563f9d2326151b04641cdd28915c1f7"},{"price_adjustments":[{"position":1,"price":2300}],"price":2300,"compare_at_price":2300,"per_delivery_price":2300,"selling_plan_id":691030982968,"selling_plan_group_id":"725ee3873563f9d2326151b04641cdd28915c1f7"},{"price_adjustments":[{"position":1,"price":2300}],"price":2300,"compare_at_price":2300,"per_delivery_price":2300,"selling_plan_id":691031015736,"selling_plan_group_id":"725ee3873563f9d2326151b04641cdd28915c1f7"},{"price_adjustments":[{"position":1,"price":2300}],"price":2300,"compare_at_price":2300,"per_delivery_price":2300,"selling_plan_id":694906224952,"selling_plan_group_id":"725ee3873563f9d2326151b04641cdd28915c1f7"},{"price_adjustments":[{"position":1,"price":2300}],"price":2300,"compare_at_price":2300,"per_delivery_price":2300,"selling_plan_id":693003354424,"selling_plan_group_id":"725ee3873563f9d2326151b04641cdd28915c1f7"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910686167352,"title":"16 oz \/ Dark Purple","option1":"16 oz","option2":"Dark Purple","option3":null,"sku":"purple-shampoo.16oz.dark-purple","requires_shipping":true,"taxable":true,"featured_image":{"id":44255494635832,"product_id":8664884412728,"position":11,"created_at":"2024-01-11T16:25:01-05:00","updated_at":"2025-04-15T15:17:28-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Purpleblonde_variant.png?v=1744744648","variant_ids":[46910686167352]},"available":true,"name":"Custom Purple Shampoo - 16 oz \/ Dark Purple","public_title":"16 oz \/ Dark Purple","options":["16 oz","Dark Purple"],"price":2900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":36711502545208,"position":11,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Purpleblonde_variant.png?v=1744744648"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030950200,"selling_plan_group_id":"725ee3873563f9d2326151b04641cdd28915c1f7"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030982968,"selling_plan_group_id":"725ee3873563f9d2326151b04641cdd28915c1f7"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691031015736,"selling_plan_group_id":"725ee3873563f9d2326151b04641cdd28915c1f7"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694906224952,"selling_plan_group_id":"725ee3873563f9d2326151b04641cdd28915c1f7"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693003354424,"selling_plan_group_id":"725ee3873563f9d2326151b04641cdd28915c1f7"}],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/functionofbeauty.com\/cdn\/shop\/files\/Purple_Shampoo_Reflection.png?v=1744744648","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_02.jpg?v=1744744648","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_03.jpg?v=1744744648","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_04.jpg?v=1744744648","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_05.jpg?v=1744744648","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_06.jpg?v=1744744648","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_07.jpg?v=1744744648","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_08.jpg?v=1744744648","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Purpleblonde_PLP.png?v=1744744648","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_purpleblonde_variant.png?v=1744744648","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Purpleblonde_variant.png?v=1744744648"],"featured_image":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Purple_Shampoo_Reflection.png?v=1744744648","options":["Size","Color"],"media":[{"alt":null,"id":41577327067448,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Purple_Shampoo_Reflection.png?v=1744744648"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Purple_Shampoo_Reflection.png?v=1744744648","width":1080},{"alt":null,"id":35446709387576,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_02.jpg?v=1744744648"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_02.jpg?v=1744744648","width":2160},{"alt":null,"id":35446709420344,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_03.jpg?v=1744744648"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_03.jpg?v=1744744648","width":2160},{"alt":null,"id":35446709518648,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_04.jpg?v=1744744648"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_04.jpg?v=1744744648","width":2160},{"alt":null,"id":35446709584184,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_05.jpg?v=1744744648"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_05.jpg?v=1744744648","width":2160},{"alt":null,"id":35446709649720,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_06.jpg?v=1744744648"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_06.jpg?v=1744744648","width":2160},{"alt":null,"id":35446709715256,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_07.jpg?v=1744744648"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_07.jpg?v=1744744648","width":2160},{"alt":null,"id":35446709780792,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_08.jpg?v=1744744648"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-PurpleShampoo_08.jpg?v=1744744648","width":2160},{"alt":null,"id":36711509098808,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Purpleblonde_PLP.png?v=1744744648"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Purpleblonde_PLP.png?v=1744744648","width":2160},{"alt":null,"id":36711499628856,"position":10,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_purpleblonde_variant.png?v=1744744648"},"aspect_ratio":0.837,"height":5121,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_purpleblonde_variant.png?v=1744744648","width":4286},{"alt":null,"id":36711502545208,"position":11,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Purpleblonde_variant.png?v=1744744648"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Purpleblonde_variant.png?v=1744744648","width":2160},{"alt":null,"id":42071124443448,"position":12,"preview_image":{"aspect_ratio":1.0,"height":720,"width":720,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/preview_images\/b3d8860dc32f4b9ea7ea8ac94c223f78.thumbnail.0000000000.jpg?v=1750081968"},"aspect_ratio":1.0,"duration":5000,"media_type":"video","sources":[{"format":"mp4","height":480,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/b3d8860dc32f4b9ea7ea8ac94c223f78\/b3d8860dc32f4b9ea7ea8ac94c223f78.SD-480p-1.2Mbps-49479701.mp4?v=0","width":480},{"format":"mp4","height":720,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/b3d8860dc32f4b9ea7ea8ac94c223f78\/b3d8860dc32f4b9ea7ea8ac94c223f78.HD-720p-3.0Mbps-49479701.mp4?v=0","width":720},{"format":"m3u8","height":720,"mime_type":"application\/x-mpegURL","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/b3d8860dc32f4b9ea7ea8ac94c223f78\/b3d8860dc32f4b9ea7ea8ac94c223f78.m3u8?v=0","width":720}]}],"requires_selling_plan":false,"selling_plan_groups":[{"id":"725ee3873563f9d2326151b04641cdd28915c1f7","name":"Purple Shampoo","options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"values":["1 Month(s)","2 Month(s)","3 Month(s)","4 Month(s)","6 Month(s)"]}],"selling_plans":[{"id":691030950200,"name":"Delivery every 1 Month","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"1 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":691030982968,"name":"Delivery every 2 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"2 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":691031015736,"name":"Delivery every 3 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"3 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":694906224952,"name":"Delivery every 4 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"4 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":693003354424,"name":"Delivery every 6 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"6 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"}],"content":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eA custom Purple Shampoo formulated with neutralizing violet pigments designed to gently cleanse the scalp and tone brassy hues on blonde, silver, gray, or highlighted hair for fresher-looking color. Leave on hair, especially brassy areas, for 2-3 minutes. Rinse thoroughly. For more intense results, leave in for an additional 1-2 minutes. Rinse your tub, shower, or sink well afterward to prevent staining. Size: 11 oz\u003c\/span\u003e\u003c\/p\u003e"},{"id":8664884052280,"title":"Custom Shampoo","handle":"shampoo","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eA custom shampoo that gently cleanses the scalp and hair without stripping, while providing hydration. Formulated to fit your personalized needs and reveal healthy looking hair. Size: 11 oz\u003c\/span\u003e\u003cbr\u003e\u003c\/p\u003e","published_at":"2023-09-18T14:35:25-04:00","created_at":"2023-09-18T14:35:35-04:00","vendor":"Function of Beauty","type":"shampoo","tags":["Action: Care","badge: bestseller","first_time_discount","Haircare","in_configuration","Line: Core","Target: Hair","YCRF_haircare"],"price":2499,"price_min":2499,"price_max":3299,"available":true,"price_varies":true,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":49220485480760,"title":"11 oz \/ Dye Free","option1":"11 oz","option2":"Dye Free","option3":null,"sku":"shampoo.11oz.dye-free","requires_shipping":true,"taxable":true,"featured_image":{"id":44250778403128,"product_id":8664884052280,"position":33,"created_at":"2024-01-11T10:47:41-05:00","updated_at":"2025-10-23T14:21:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_White_variant.png?v=1761243691","variant_ids":[49220485480760]},"available":true,"name":"Custom Shampoo - 11 oz \/ Dye Free","public_title":"11 oz \/ Dye Free","options":["11 oz","Dye Free"],"price":2900,"weight":227,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":36706682143032,"position":34,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_White_variant.png?v=1761243691"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_ru
55le":{"min":1,"max":null,"increment":1}},{"id":49220485447992,"title":"11 oz \/ Purple","option1":"11 oz","option2":"Purple","option3":null,"sku":"shampoo.11oz.purple","requires_shipping":true,"taxable":true,"featured_image":{"id":44250775486776,"product_id":8664884052280,"position":32,"created_at":"2024-01-11T10:47:29-05:00","updated_at":"2025-10-23T14:21:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Purple_variant.png?v=1761243691","variant_ids":[49220485447992]},"available":true,"name":"Custom Shampoo - 11 oz \/ Purple","public_title":"11 oz \/ Purple","options":["11 oz","Purple"],"price":2900,"weight":227,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36706679292216,"position":33,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Purple_variant.png?v=1761243691"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49220485316920,"title":"11 oz \/ Blue","option1":"11 oz","option2":"Blue","option3":null,"sku":"shampoo.11oz.blue","requires_shipping":true,"taxable":true,"featured_image":{"id":46631377535288,"product_id":8664884052280,"position":41,"created_at":"2024-07-11T20:01:21-04:00","updated_at":"2025-07-31T17:59:20-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Blue_0f082857-6b09-46c8-8cd8-75324a2303f8.jpg?v=1753999160","variant_ids":[46910685479224,49220485316920]},"available":true,"name":"Custom Shampoo - 11 oz \/ Blue","public_title":"11 oz \/ Blue","options":["11 oz","Blue"],"price":2900,"weight":227,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39116752978232,"position":42,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Blue_0f082857-6b09-46c8-8cd8-75324a2303f8.jpg?v=1753999160"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49220485349688,"title":"11 oz \/ Red","option1":"11 oz","option2":"Red","option3":null,"sku":"shampoo.11oz.red","requires_shipping":true,"taxable":true,"featured_image":{"id":46631444054328,"product_id":8664884052280,"position":42,"created_at":"2024-0
557-11T20:05:18-04:00","updated_at":"2025-07-31T17:59:20-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Red.jpg?v=1753999160","variant_ids":[46910685511992,49220485349688,51757616791864,51757616824632,51757616857400]},"available":true,"name":"Custom Shampoo - 11 oz \/ Red","public_title":"11 oz \/ Red","options":["11 oz","Red"],"price":2900,"weight":227,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39116785975608,"position":43,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Red.jpg?v=1753999160"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49220485382456,"title":"11 oz \/ Green","option1":"11 oz","option2":"Green","option3":null,"sku":"shampoo.11oz.green","requires_shipping":true,"taxable":true,"featured_image":{"id":46631547011384,"product_id":8664884052280,"position":43,"created_at":"2024-07-11T20:08:08-04:00","updated_at":"2025-07-31T17:59:20-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Green.jpg?v=1753999160","variant_ids":[46910685544760,49220485382456]},"available":true,"name":"Custom Shampoo - 11 oz \/ Green","public_title":"11 oz \/ Green","options":["11 oz","Green"],"price":2900,"weight":227,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39116820021560,"position":44,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Green.jpg?v=1753999160"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49220485513528,"title":"11 oz \/ Ocean","option1":"11 oz","option2":"Ocean","option3":null,"sku":"shampoo.11oz.ocean","requires_shipping":true,"taxable":true,"featured_image":{"id":44250781155640,"product_id":8664884052280,"position":34,"created_at":"2024-01-11T10:47:55-05:00","updated_at":"2025-10-23T14:21:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Ocean_variant.png?v=1761243691","variant_ids":[49220485513528]},"available":true,"name":"Custom Shampoo - 11 oz \/ Ocean","public_title":"11 oz \/ Ocean","options":["11 oz","Ocean"],"price":2900,"weight":227,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36706684895544,"position":35,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Ocean_variant.png?v=1761243691"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49220485546296,"title":"11 oz \/ Magenta","option1":"11 oz","option2":"Magenta","option3":null,"sku":"shampoo.11oz.magenta","requires_shipping":true,"taxable":true,"featured_image":{"id":44250784071992,"product_id":8664884052280,"position":35,"created_at":"2024-01-11T10:48:10-05:00","updated_at":"2025-10-23T14:21:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Magenta_variant.png?v=1761243691","variant_ids":[49220485546296]},"available":true,"name":"Custom Shampoo - 11 oz \/ Magenta","public_title":"11 oz \/ Magenta","options":["11 oz","Magenta"],"price":2900,"weight":227,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36706688172344,"position":36,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Magenta_variant.png?v=1761243691"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49220485644600,"title":"11 oz \/ Flamingo","option1":"11 oz","option2":"Flamingo","option3":null,"sku":"shampoo.11oz.flamingo","requires_shipping":true,"taxable":true,"featured_image":{"id":44250797146424,"product_id":8664884052280,"position":37,"created_at":"2024-01-11T10:48:59-05:00","updated_at":"2025-07-31T17:59:20-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Flam
55ingo_variant.png?v=1753999160","variant_ids":[49220485644600]},"available":true,"name":"Custom Shampoo - 11 oz \/ Flamingo","public_title":"11 oz \/ Flamingo","options":["11 oz","Flamingo"],"price":2900,"weight":227,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36706701672760,"position":38,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Flamingo_variant.png?v=1753999160"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49220485611832,"title":"11 oz \/ Function Green","option1":"11 oz","option2":"Function Green","option3":null,"sku":"shampoo.11oz.function-green","requires_shipping":true,"taxable":true,"featured_image":{"id":44250789839160,"product_id":8664884052280,"position":29,"created_at":"2024-01-11T10:48:38-05:00","updated_at":"2025-10-23T14:28:38-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Function_variant.png?v=1761244118","variant_ids":[49220485611832]},"available":true,"name":"Custom Shampoo - 11 oz \/ Function Green","public_title":"11 oz \/ Function Green","options":["11 oz","Function Green"],"price":2900,"weight":227,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36706694234424,"position":30,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Function_variant.png?v=1761244118"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49220485415224,"title":"11 oz \/ Orange","option1":"11 oz","option2":"Orange","option3":null,"sku":"shampoo.11oz.orange","requires_shipping":true,"taxable":true,"featured_image":{"id":44250773455160,"product_id":8664884052280,"position":31,"created_at":"2024-01-11T10:47:15-05:00","updated_at":"2025-10-23T14:21:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Orange_variant.png?v=1761243691","variant_ids":[49220485415224]},"available":true,"name":"Custom Shampoo - 11 oz \/ Orange","public_title":"11 oz \/ Orange","options":["11 oz","Orange"],"price":2900,"weight":227,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36706677227832,"position":32,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Orange_variant.png?v=1761243691"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49234578932024,"title":"11 oz \/ Black","option1":"11 oz","option2":"Black","option3":null,"sku":"shampoo.11oz.black","requires_shipping":true,"taxable":true,"featured_image":{"id":44250800521528,"product_id":8664884052280,"position":38,"created_at":"2024-01-11T10:49:12-05:00","updated_at":"2025-07-31T17:59:20-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_black_variant.png?v=1753999160","variant_ids":[49234578932024,49234621989176]},"available":true,"name":"Custom Shampoo - 11 oz \/ Black","public_title":"11 oz \/ Black","options":["11 oz","Black"],"price":2900,"weight":227,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36706705604920,"position":39,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_black_variant.png?v=1753999160"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49234580275512,"title":"11 oz \/ Sunkissed","option1":"11 oz","option2":"Sunkissed","option3":null,"sku":"shampoo.11oz.sunkissed","requires_shipping":true,"taxable":true,"featured_image":{"id":46631547044152,"product_id":8664884052280,"position":44,"created_at":"2024-0
557-11T20:08:30-04:00","updated_at":"2025-07-31T17:59:20-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Orange.jpg?v=1753999160","variant_ids":[46910685577528,49234580275512]},"available":true,"name":"Custom Shampoo - 11 oz \/ Sunkissed","public_title":"11 oz \/ Sunkissed","options":["11 oz","Sunkissed"],"price":2900,"weight":227,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39116824707384,"position":45,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Orange.jpg?v=1753999160"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":51757616791864,"title":"11 oz \/ Pink","option1":"11 oz","option2":"Pink","option3":null,"sku":"shampoo.11oz.pink","requires_shipping":true,"taxable":true,"featured_image":{"id":46631444054328,"product_id":8664884052280,"position":42,"created_at":"2024-07-11T20:05:18-04:00","updated_at":"2025-07-31T17:59:20-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Red.jpg?v=1753999160","variant_ids":[46910685511992,49220485349688,51757616791864,51757616824632,51757616857400]},"available":true,"name":"Custom Shampoo - 11 oz \/ Pink","public_title":"11 oz \/ Pink","options":["11 oz","Pink"],"price":2900,"weight":227,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39116785975608,"position":43,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Red.jpg?v=1753999160"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910685249848,"title":"8 oz \/ Dye Free","option1":"8 oz","o
55ption2":"Dye Free","option3":null,"sku":"shampoo.8oz.dye-free","requires_shipping":true,"taxable":true,"featured_image":{"id":44250675511608,"product_id":8664884052280,"position":21,"created_at":"2024-01-11T10:36:48-05:00","updated_at":"2025-10-23T14:28:38-04:00","alt":null,"width":4286,"height":5121,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_white_variant.png?v=1761244118","variant_ids":[46910685249848]},"available":true,"name":"Custom Shampoo - 8 oz \/ Dye Free","public_title":"8 oz \/ Dye Free","options":["8 oz","Dye Free"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36706578530616,"position":22,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_white_variant.png?v=1761244118"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910685184312,"title":"8 oz \/ Purple","option1":"8 oz","o
55ption2":"Purple","option3":null,"sku":"shampoo.8oz.purple","requires_shipping":true,"taxable":true,"featured_image":{"id":44250672660792,"product_id":8664884052280,"position":20,"created_at":"2024-01-11T10:36:29-05:00","updated_at":"2025-10-23T14:28:38-04:00","alt":null,"width":4286,"height":5121,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_Purple_variant.png?v=1761244118","variant_ids":[46910685184312]},"available":true,"name":"Custom Shampoo - 8 oz \/ Purple","public_title":"8 oz \/ Purple","options":["8 oz","Purple"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36706575483192,"position":21,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_Purple_variant.png?v=1761244118"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910685053240,"title":"8 oz \/ Blue","option1":"8 oz","o
55ption2":"Blue","option3":null,"sku":"shampoo.8oz.blue","requires_shipping":true,"taxable":true,"featured_image":{"id":44250659029304,"product_id":8664884052280,"position":16,"created_at":"2024-01-11T10:35:06-05:00","updated_at":"2025-10-23T14:28:38-04:00","alt":null,"width":4286,"height":5121,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_Blue_variant.png?v=1761244118","variant_ids":[46910685053240]},"available":true,"name":"Custom Shampoo - 8 oz \/ Blue","public_title":"8 oz \/ Blue","options":["8 oz","Blue"],"price":2499,"weight":227,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36706562146616,"position":17,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_Blue_variant.png?v=1761244118"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}}
55,{"id":46910685086008,"title":"8 oz \/ Red","option1":"8 oz","option2":"Red","option3":null,"sku":"shampoo.8oz.red","requires_shipping":true,"taxable":true,"featured_image":{"id":44250662699320,"product_id":8664884052280,"position":17,"created_at":"2024-01-11T10:35:30-05:00","updated_at":"2025-10-23T14:28:38-04:00","alt":null,"width":4286,"height":5121,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_Red_variant.png?v=1761244118","variant_ids":[46910685086008]},"available":true,"name":"Custom Shampoo - 8 oz \/ Red","public_title":"8 oz \/ Red","options":["8 oz","Red"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36706565620024,"position":18,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_Red_variant.png?v=1761244118"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910685118776,"title":"8 oz \/ Green","option1":"8 oz","o
55ption2":"Green","option3":null,"sku":"shampoo.8oz.green","requires_shipping":true,"taxable":true,"featured_image":{"id":44250664993080,"product_id":8664884052280,"position":18,"created_at":"2024-01-11T10:35:53-05:00","updated_at":"2025-10-23T14:28:38-04:00","alt":null,"width":4286,"height":5121,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_green_variant.png?v=1761244118","variant_ids":[46910685118776]},"available":true,"name":"Custom Shampoo - 8 oz \/ Green","public_title":"8 oz \/ Green","options":["8 oz","Green"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36706567946552,"position":19,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_green_variant.png?v=1761244118"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910685315384,"title":"8 oz \/ Ocean","option1":"8 oz","o
55ption2":"Ocean","option3":null,"sku":"shampoo.8oz.ocean","requires_shipping":true,"taxable":true,"featured_image":{"id":44250677313848,"product_id":8664884052280,"position":22,"created_at":"2024-01-11T10:37:06-05:00","updated_at":"2025-10-23T14:28:38-04:00","alt":null,"width":4286,"height":5121,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_ocean_variant.png?v=1761244118","variant_ids":[46910685315384]},"available":true,"name":"Custom Shampoo - 8 oz \/ Ocean","public_title":"8 oz \/ Ocean","options":["8 oz","Ocean"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36706580300088,"position":23,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_ocean_variant.png?v=1761244118"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910685348152,"title":"8 oz \/ Magenta","option1":"8 oz","o
55ption2":"Magenta","option3":null,"sku":"shampoo.8oz.magenta","requires_shipping":true,"taxable":true,"featured_image":{"id":44250679148856,"product_id":8664884052280,"position":23,"created_at":"2024-01-11T10:37:22-05:00","updated_at":"2025-10-23T14:28:38-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_Magenta_variant.png?v=1761244118","variant_ids":[46910685348152]},"available":true,"name":"Custom Shampoo - 8 oz \/ Magenta","public_title":"8 oz \/ Magenta","options":["8 oz","Magenta"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36706582135096,"position":24,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_Magenta_variant.png?v=1761244118"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910685446456,"title":"8 oz \/ Flamingo","option1":"8 oz","o
55ption2":"Flamingo","option3":null,"sku":"shampoo.8oz.flamingo","requires_shipping":true,"taxable":true,"featured_image":{"id":44250693894456,"product_id":8664884052280,"position":26,"created_at":"2024-01-11T10:38:50-05:00","updated_at":"2025-10-23T14:28:38-04:00","alt":null,"width":4286,"height":5121,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_flamingo_variant.png?v=1761244118","variant_ids":[46910685446456]},"available":true,"name":"Custom Shampoo - 8 oz \/ Flamingo","public_title":"8 oz \/ Flamingo","options":["8 oz","Flamingo"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36706596913464,"position":27,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_flamingo_variant.png?v=1761244118"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910685413688,"title":"8 oz \/ Function Green","option1":"8 oz","o
55ption2":"Function Green","option3":null,"sku":"shampoo.8oz.function-green","requires_shipping":true,"taxable":true,"featured_image":{"id":44250691928376,"product_id":8664884052280,"position":25,"created_at":"2024-01-11T10:38:31-05:00","updated_at":"2025-10-23T14:28:38-04:00","alt":null,"width":4286,"height":5121,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_function_variant.png?v=1761244118","variant_ids":[46910685413688]},"available":true,"name":"Custom Shampoo - 8 oz \/ Function Green","public_title":"8 oz \/ Function Green","options":["8 oz","Function Green"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36706594947384,"position":26,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_function_variant.png?v=1761244118"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910685151544,"title":"8 oz \/ Orange","option1":"8 oz","o
55ption2":"Orange","option3":null,"sku":"shampoo.8oz.orange","requires_shipping":true,"taxable":true,"featured_image":{"id":44250667024696,"product_id":8664884052280,"position":19,"created_at":"2024-01-11T10:36:12-05:00","updated_at":"2025-10-23T14:28:38-04:00","alt":null,"width":4286,"height":5121,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_orange_variant.png?v=1761244118","variant_ids":[46910685151544]},"available":true,"name":"Custom Shampoo - 8 oz \/ Orange","public_title":"8 oz \/ Orange","options":["8 oz","Orange"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36706569978168,"position":20,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_orange_variant.png?v=1761244118"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49234585190712,"title":"8 oz \/ Black","option1":"8 oz","o
55ption2":"Black","option3":null,"sku":"shampoo.8oz.black","requires_shipping":true,"taxable":true,"featured_image":{"id":43282910609720,"product_id":8664884052280,"position":15,"created_at":"2023-10-06T17:53:15-04:00","updated_at":"2025-10-23T14:28:38-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_8oz_Black_variant.jpg?v=1761244118","variant_ids":[49234585190712]},"available":true,"name":"Custom Shampoo - 8 oz \/ Black","public_title":"8 oz \/ Black","options":["8 oz","Black"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":35704940167480,"position":16,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_8oz_Black_variant.jpg?v=1761244118"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49234610782520,"title":"8 oz \/ Sunkissed","option1":"8 oz","o
55ption2":"Sunkissed","option3":null,"sku":"shampoo.8oz.sunkissed","requires_shipping":true,"taxable":true,"featured_image":{"id":44250685309240,"product_id":8664884052280,"position":24,"created_at":"2024-01-11T10:38:08-05:00","updated_at":"2025-10-23T14:28:38-04:00","alt":null,"width":4286,"height":5121,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_sunkissed_variant.png?v=1761244118","variant_ids":[49234610782520]},"available":true,"name":"Custom Shampoo - 8 oz \/ Sunkissed","public_title":"8 oz \/ Sunkissed","options":["8 oz","Sunkissed"],"price":2499,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36706588229944,"position":25,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_sunkissed_variant.png?v=1761244118"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":51757616824632,"title":"8 oz \/ Pink","option1":"8 oz","o
55ption2":"Pink","option3":null,"sku":"shampoo.8oz.pink","requires_shipping":true,"taxable":true,"featured_image":{"id":46631444054328,"product_id":8664884052280,"position":42,"created_at":"2024-07-11T20:05:18-04:00","updated_at":"2025-07-31T17:59:20-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Red.jpg?v=1753999160","variant_ids":[46910685511992,49220485349688,51757616791864,51757616824632,51757616857400]},"available":true,"name":"Custom Shampoo - 8 oz \/ Pink","public_title":"8 oz \/ Pink","options":["8 oz","Pink"],"price":2499,"weight":227,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39116785975608,"position":43,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Red.jpg?v=1753999160"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":2499}],"price":2499,"compare_at_price":2499,"per_delivery_price":2499,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910685643064,"title":"16 oz \/ Dye Free","option1":"16 oz","option2":"Dye Free","option3":null,"sku":"shampoo.16oz.dye-free","requires_shipping":true,"taxable":true,"featured_image":{"id":46631547109688,"product_id":8664884052280,"position":46,"created_at":"2024-07-11T20:09:15-04:00","updated_at":"2025-07-31T17:59:20-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Dye_Free.jpg?v=1753999160","variant_ids":[46910685643064]},"available":true,"name":"Custom Shampoo - 16 oz \/ Dye Free","public_title":"16 oz \/ Dye Free","options":["16 oz","Dye Free"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39116830867768,"position":47,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Dye_Free.jpg?v=1753999160"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910685610296,"title":"16 oz \/ Purple","option1":"16 oz","option2":"Purple","option3":null,"sku":"shampoo.16oz.purple","requires_shipping":true,"taxable":true,"featured_image":{"id":46631547076920,"product_id":8664884052280,"position":45,"created_at":"2024-0
557-11T20:08:51-04:00","updated_at":"2025-07-31T17:59:20-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Purple.jpg?v=1753999160","variant_ids":[46910685610296]},"available":true,"name":"Custom Shampoo - 16 oz \/ Purple","public_title":"16 oz \/ Purple","options":["16 oz","Purple"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39116827689272,"position":46,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Purple.jpg?v=1753999160"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910685479224,"title":"16 oz \/ Blue","option1":"16 oz","option2":"Blue","option3":null,"sku":"shampoo.16oz.blue","requires_shipping":true,"taxable":true,"featured_image":{"id":46631377535288,"product_id":8664884052280,"position":41,"created_at":"2024-07-11T20:01:21-04:00","updated_at":"2025-07-31T17:59:20-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Blue_0f082857-6b09-46c8-8cd8-75324a2303f8.jpg?v=1753999160","variant_ids":[46910685479224,49220485316920]},"available":true,"name":"Custom Shampoo - 16 oz \/ Blue","public_title":"16 oz \/ Blue","options":["16 oz","Blue"],"price":3299,"weight":454,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39116752978232,"position":42,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Blue_0f082857-6b09-46c8-8cd8-75324a2303f8.jpg?v=1753999160"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910685511992,"title":"16 oz \/ Red","option1":"16 oz","option2":"Red","option3":null,"sku":"shampoo.16oz.red","requires_shipping":true,"taxable":true,"featured_image":{"id":46631444054328,"product_id":8664884052280,"position":42,"created_at":"2024-0
557-11T20:05:18-04:00","updated_at":"2025-07-31T17:59:20-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Red.jpg?v=1753999160","variant_ids":[46910685511992,49220485349688,51757616791864,51757616824632,51757616857400]},"available":true,"name":"Custom Shampoo - 16 oz \/ Red","public_title":"16 oz \/ Red","options":["16 oz","Red"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39116785975608,"position":43,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Red.jpg?v=1753999160"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910685544760,"title":"16 oz \/ Green","option1":"16 oz","option2":"Green","option3":null,"sku":"shampoo.16oz.green","requires_shipping":true,"taxable":true,"featured_image":{"id":46631547011384,"product_id":8664884052280,"position":43,"created_at":"2024-07-11T20:08:08-04:00","updated_at":"2025-07-31T17:59:20-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Green.jpg?v=1753999160","variant_ids":[46910685544760,49220485382456]},"available":true,"name":"Custom Shampoo - 16 oz \/ Green","public_title":"16 oz \/ Green","options":["16 oz","Green"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39116820021560,"position":44,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Green.jpg?v=1753999160"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910685708600,"title":"16 oz \/ Ocean","option1":"16 oz","option2":"Ocean","option3":null,"sku":"shampoo.16oz.ocean","requires_shipping":true,"taxable":true,"featured_image":{"id":46631547142456,"product_id":8664884052280,"position":47,"created_at":"2024-0
557-11T20:09:56-04:00","updated_at":"2025-07-31T17:59:20-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Ocean.jpg?v=1753999160","variant_ids":[46910685708600]},"available":true,"name":"Custom Shampoo - 16 oz \/ Ocean","public_title":"16 oz \/ Ocean","options":["16 oz","Ocean"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39116836995384,"position":48,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Ocean.jpg?v=1753999160"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910685774136,"title":"16 oz \/ Magenta","option1":"16 oz","option2":"Magenta","option3":null,"sku":"shampoo.16oz.magenta","requires_shipping":true,"taxable":true,"featured_image":{"id":46631547175224,"product_id":8664884052280,"position":48,"created_at":"2024-07-11T20:10:22-04:00","updated_at":"2025-07-31T17:59:20-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Magenta.jpg?v=1753999160","variant_ids":[46910685774136]},"available":true,"name":"Custom Shampoo - 16 oz \/ Magenta","public_title":"16 oz \/ Magenta","options":["16 oz","Magenta"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39116839944504,"position":49,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Magenta.jpg?v=1753999160"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910685937976,"title":"16 oz \/ Flamingo","option1":"16 oz","option2":"Flamingo","option3":null,"sku":"shampoo.16oz.flamingo","requires_shipping":true,"taxable":true,"featured_image":{"id":46631547273528,"product_id":8664884052280,"position":51,"created_at":"2024-0
557-11T20:11:53-04:00","updated_at":"2025-07-31T17:59:20-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Flamingo.jpg?v=1753999160","variant_ids":[46910685937976]},"available":true,"name":"Custom Shampoo - 16 oz \/ Flamingo","public_title":"16 oz \/ Flamingo","options":["16 oz","Flamingo"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39116852658488,"position":52,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Flamingo.jpg?v=1753999160"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910685872440,"title":"16 oz \/ Function Green","option1":"16 oz","option2":"Function Green","option3":null,"sku":"shampoo.16oz.function-green","requires_shipping":true,"taxable":true,"featured_image":{"id":46631547240760,"product_id":8664884052280,"position":50,"created_at":"2024-07-11T20:11:24-04:00","updated_at":"2025-07-31T17:59:20-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Function.jpg?v=1753999160","variant_ids":[46910685872440]},"available":true,"name":"Custom Shampoo - 16 oz \/ Function Green","public_title":"16 oz \/ Function Green","options":["16 oz","Function Green"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39116849381688,"position":51,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Function.jpg?v=1753999160"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":46910685577528,"title":"16 oz \/ Orange","option1":"16 oz","option2":"Orange","option3":null,"sku":"shampoo.16oz.orange","requires_shipping":true,"taxable":true,"featured_image":{"id":46631547044152,"product_id":8664884052280,"position":44,"created_at":"2024-0
557-11T20:08:30-04:00","updated_at":"2025-07-31T17:59:20-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Orange.jpg?v=1753999160","variant_ids":[46910685577528,49234580275512]},"available":true,"name":"Custom Shampoo - 16 oz \/ Orange","public_title":"16 oz \/ Orange","options":["16 oz","Orange"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39116824707384,"position":45,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Orange.jpg?v=1753999160"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49234621989176,"title":"16 oz \/ Black","option1":"16 oz","option2":"Black","option3":null,"sku":"shampoo.16oz.black","requires_shipping":true,"taxable":true,"featured_image":{"id":44250800521528,"product_id":8664884052280,"position":38,"created_at":"2024-01-11T10:49:12-05:00","updated_at":"2025-07-31T17:59:20-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_black_variant.png?v=1753999160","variant_ids":[49234578932024,49234621989176]},"available":true,"name":"Custom Shampoo - 16 oz \/ Black","public_title":"16 oz \/ Black","options":["16 oz","Black"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36706705604920,"position":39,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_black_variant.png?v=1753999160"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49234624151864,"title":"16 oz \/ Sunkissed","option1":"16 oz","option2":"Sunkissed","option3":null,"sku":"shampoo.16oz.sunkissed","requires_shipping":true,"taxable":true,"featured_image":{"id":44250786955576,"product_id":8664884052280,"position":36,"created_at":"2024-01-11T10:48:23-05:00","updated_at":"2025-10-23T14:21:31-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Sunkissed_variant.png?v=1761243691","variant_ids":[49234624151864]},"available":true,"name":"Custom Shampoo - 16 oz \/ Sunkissed","public_title":"16 oz \/ Sunkissed","options":["16 oz","Sunkissed"],"price":3299,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":36706691285304,"position":37,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Sunkissed_variant.png?v=1761243691"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":51757616857400,"title":"16 oz \/ Pink","option1":"16 oz","option2":"Pink","option3":null,"sku":"shampoo.16oz.pink","requires_shipping":true,"taxable":true,"featured_image":{"id":46631444054328,"product_id":8664884052280,"position":42,"created_at":"2024-0
557-11T20:05:18-04:00","updated_at":"2025-07-31T17:59:20-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Red.jpg?v=1753999160","variant_ids":[46910685511992,49220485349688,51757616791864,51757616824632,51757616857400]},"available":true,"name":"Custom Shampoo - 16 oz \/ Pink","public_title":"16 oz \/ Pink","options":["16 oz","Pink"],"price":3299,"weight":227,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":39116785975608,"position":43,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Red.jpg?v=1753999160"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030753592,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030786360,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":691030819128,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":694906257720,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"},{"price_adjustments":[{"position":1,"price":3299}],"price":3299,"compare_at_price":3299,"per_delivery_price":3299,"selling_plan_id":693003387192,"selling_plan_group_id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4"}],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/functionofbeauty.com\/cdn\/shop\/files\/Shampoo-Flamingo_Reflection_1.png?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_02.jpg?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_03.jpg?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_04.jpg?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_05.jpg?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_06.jpg?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_07.jpg?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_02_67e2422f-5ba8-4215-82f3-307ca5fae2ef.jpg?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_10_edfff6df-446a-418b-804f-a3876aaa2266.jpg?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_08.jpg?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_11_bfa0d410-3e55-47ad-bb2c-6046c14fa2e6.jpg?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_09.jpg?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_12.jpg?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_14.jpg?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_8oz_Black_variant.jpg?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_Blue_variant.png?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_Red_variant.png?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_green_variant.png?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_orange_variant.png?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_Purple_variant.png?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_white_variant.png?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_ocean_variant.png?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_Magenta_variant.png?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_sunkissed_variant.png?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_function_variant.png?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_flamingo_variant.png?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Blue_variant.png?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Red_variant.png?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Function_variant.png?v=1761244118","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Green_variant.png?v=1761243691","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Orange_variant.png?v=1761243691","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Purple_variant.png?v=1761243691","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_White_variant.png?v=1761243691","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Ocean_variant.png?v=1761243691","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Magenta_variant.png?v=1761243691","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Sunkissed_variant.png?v=1761243691","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Flam
55ingo_variant.png?v=1753999160","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_black_variant.png?v=1753999160","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Blue.jpg?v=1753999160","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Blue_d9a5c3e8-d625-4d24-9152-274d5cf36012.jpg?v=1753999160","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Blue_0f082857-6b09-46c8-8cd8-75324a2303f8.jpg?v=1753999160","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Red.jpg?v=1753999160","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Green.jpg?v=1753999160","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Orange.jpg?v=1753999160","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Purple.jpg?v=1753999160","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Dye_Free.jpg?v=1753999160","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Ocean.jpg?v=1753999160","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Magenta.jpg?v=1753999160","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Sunkissed.jpg?v=1753999160","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Function.jpg?v=1753999160","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Flamingo.jpg?v=1753999160","\/\/functionofbeauty.com\/cdn\/shop\/files\/Shampoo-Yellow_Reflection.png?v=1753999160"],"featured_image":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Shampoo-Flamingo_Reflection_1.png?v=1761244118","options":["Size","Color"],"media":[{"alt":null,"id":42071273931064,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1081,"width":1081,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Shampoo-Flamingo_Reflection_1.png?v=1761244118"},"aspect_ratio":1.0,"height":1081,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Shampoo-Flamingo_Reflection_1.png?v=1761244118","width":1081},{"alt":null,"id":35435730043192,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_02.jpg?v=1761244118"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_02.jpg?v=1761244118","width":2176},{"alt":null,"id":35435730698552,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_03.jpg?v=1761244118"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_03.jpg?v=1761244118","width":2176},{"alt":null,"id":35435731353912,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_04.jpg?v=1761244118"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_04.jpg?v=1761244118","width":2176},{"alt":null,"id":35435731648824,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_05.jpg?v=1761244118"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_05.jpg?v=1761244118","width":2176},{"alt":null,"id":35435734335800,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_06.jpg?v=1761244118"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_06.jpg?v=1761244118","width":2176},{"alt":null,"id":35435734729016,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_07.jpg?v=1761244118"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_07.jpg?v=1761244118","width":2176},{"alt":null,"id":43195630846264,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_02_67e2422f-5ba8-4215-82f3-307ca5fae2ef.jpg?v=1761244118"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_02_67e2422f-5ba8-4215-82f3-307ca5fae2ef.jpg?v=1761244118","width":2176},{"alt":null,"id":43195630911800,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_10_edfff6df-446a-418b-804f-a3876aaa2266.jpg?v=1761244118"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_10_edfff6df-446a-418b-804f-a3876aaa2266.jpg?v=1761244118","width":2176},{"alt":null,"id":35435735155000,"position":10,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_08.jpg?v=1761244118"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_08.jpg?v=1761244118","width":2176},{"alt":null,"id":43195630780728,"position":11,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_11_bfa0d410-3e55-47ad-bb2c-6046c14fa2e6.jpg?v=1761244118"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_11_bfa0d410-3e55-47ad-bb2c-6046c14fa2e6.jpg?v=1761244118","width":2176},{"alt":null,"id":35435735548216,"position":12,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_09.jpg?v=1761244118"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_09.jpg?v=1761244118","width":2176},{"alt":null,"id":35435737907512,"position":13,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_12.jpg?v=1761244118"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_12.jpg?v=1761244118","width":2176},{"alt":null,"id":35435738497336,"position":14,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_14.jpg?v=1761244118"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_14.jpg?v=1761244118","width":2176},{"alt":null,"id":42084713136440,"position":15,"preview_image":{"aspect_ratio":1.0,"height":720,"width":720,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/preview_images\/d312c1ff7d554383bb6b22fec362eefb.thumbnail.0000000000.jpg?v=1750174498"},"aspect_ratio":1.0,"duration":5000,"media_type":"video","sources":[{"format":"mp4","height":480,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/d312c1ff7d554383bb6b22fec362eefb\/d312c1ff7d554383bb6b22fec362eefb.SD-480p-1.2Mbps-49559259.mp4?v=0","width":480},{"format":"mp4","height":720,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/d312c1ff7d554383bb6b22fec362eefb\/d312c1ff7d554383bb6b22fec362eefb.HD-720p-3.0Mbps-49559259.mp4?v=0","width":720},{"format":"m3u8","height":720,"mime_type":"application\/x-mpegURL","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/d312c1ff7d554383bb6b22fec362eefb\/d312c1ff7d554383bb6b22fec362eefb.m3u8?v=0","width":720}]},{"alt":null,"id":35704940167480,"position":16,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_8oz_Black_variant.jpg?v=1761244118"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_8oz_Black_variant.jpg?v=1761244118","width":2160},{"alt":null,"id":36706562146616,"position":17,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_Blue_variant.png?v=1761244118"},"aspect_ratio":0.837,"height":5121,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_Blue_variant.png?v=1761244118","width":4286},{"alt":null,"id":36706565620024,"position":18,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_Red_variant.png?v=1761244118"},"aspect_ratio":0.837,"height":5121,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_Red_variant.png?v=1761244118","width":4286},{"alt":null,"id":36706567946552,"position":19,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_green_variant.png?v=1761244118"},"aspect_ratio":0.837,"height":5121,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_green_variant.png?v=1761244118","width":4286},{"alt":null,"id":36706569978168,"position":20,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_orange_variant.png?v=1761244118"},"aspect_ratio":0.837,"height":5121,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_orange_variant.png?v=1761244118","width":4286},{"alt":null,"id":36706575483192,"position":21,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_Purple_variant.png?v=1761244118"},"aspect_ratio":0.837,"height":5121,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_Purple_variant.png?v=1761244118","width":4286},{"alt":null,"id":36706578530616,"position":22,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_white_variant.png?v=1761244118"},"aspect_ratio":0.837,"height":5121,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_white_variant.png?v=1761244118","width":4286},{"alt":null,"id":36706580300088,"position":23,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_ocean_variant.png?v=1761244118"},"aspect_ratio":0.837,"height":5121,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_ocean_variant.png?v=1761244118","width":4286},{"alt":null,"id":36706582135096,"position":24,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_Magenta_variant.png?v=1761244118"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_Magenta_variant.png?v=1761244118","width":2160},{"alt":null,"id":36706588229944,"position":25,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_sunkissed_variant.png?v=1761244118"},"aspect_ratio":0.837,"height":5121,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_sunkissed_variant.png?v=1761244118","width":4286},{"alt":null,"id":36706594947384,"position":26,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_function_variant.png?v=1761244118"},"aspect_ratio":0.837,"height":5121,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_function_variant.png?v=1761244118","width":4286},{"alt":null,"id":36706596913464,"position":27,"preview_image":{"aspect_ratio":0.837,"height":5121,"width":4286,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_flamingo_variant.png?v=1761244118"},"aspect_ratio":0.837,"height":5121,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_8oz_flamingo_variant.png?v=1761244118","width":4286},{"alt":null,"id":36706666217784,"position":28,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Blue_variant.png?v=1761244118"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Blue_variant.png?v=1761244118","width":2160},{"alt":null,"id":36706670739768,"position":29,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Red_variant.png?v=1761244118"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Red_variant.png?v=1761244118","width":2160},{"alt":null,"id":36706694234424,"position":30,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Function_variant.png?v=1761244118"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Function_variant.png?v=1761244118","width":2160},{"alt":null,"id":36706674671928,"position":31,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Green_variant.png?v=1761243691"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Green_variant.png?v=1761243691","width":2160},{"alt":null,"id":36706677227832,"position":32,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Orange_variant.png?v=1761243691"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Orange_variant.png?v=1761243691","width":2160},{"alt":null,"id":36706679292216,"position":33,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Purple_variant.png?v=1761243691"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Purple_variant.png?v=1761243691","width":2160},{"alt":null,"id":36706682143032,"position":34,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_White_variant.png?v=1761243691"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_White_variant.png?v=1761243691","width":2160},{"alt":null,"id":36706684895544,"position":35,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Ocean_variant.png?v=1761243691"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Ocean_variant.png?v=1761243691","width":2160},{"alt":null,"id":36706688172344,"position":36,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Magenta_variant.png?v=1761243691"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Magenta_variant.png?v=1761243691","width":2160},{"alt":null,"id":36706691285304,"position":37,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Sunkissed_variant.png?v=1761243691"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Sunkissed_variant.png?v=1761243691","width":2160},{"alt":null,"id":36706701672760,"position":38,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Flam
55ingo_variant.png?v=1753999160"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_Flamingo_variant.png?v=1753999160","width":2160},{"alt":null,"id":36706705604920,"position":39,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_black_variant.png?v=1753999160"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Shampoo_16oz_black_variant.png?v=1753999160","width":2160},{"alt":null,"id":39116744589624,"position":40,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Blue.jpg?v=1753999160"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Blue.jpg?v=1753999160","width":2160},{"alt":null,"id":39116747735352,"position":41,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Blue_d9a5c3e8-d625-4d24-9152-274d5cf36012.jpg?v=1753999160"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Blue_d9a5c3e8-d625-4d24-9152-274d5cf36012.jpg?v=1753999160","width":2160},{"alt":null,"id":39116752978232,"position":42,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Blue_0f082857-6b09-46c8-8cd8-75324a2303f8.jpg?v=1753999160"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Blue_0f082857-6b09-46c8-8cd8-75324a2303f8.jpg?v=1753999160","width":2160},{"alt":null,"id":39116785975608,"position":43,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Red.jpg?v=1753999160"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Red.jpg?v=1753999160","width":2160},{"alt":null,"id":39116820021560,"position":44,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Green.jpg?v=1753999160"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Green.jpg?v=1753999160","width":2160},{"alt":null,"id":39116824707384,"position":45,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Orange.jpg?v=1753999160"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Orange.jpg?v=1753999160","width":2160},{"alt":null,"id":39116827689272,"position":46,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Purple.jpg?v=1753999160"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Purple.jpg?v=1753999160","width":2160},{"alt":null,"id":39116830867768,"position":47,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Dye_Free.jpg?v=1753999160"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Dye_Free.jpg?v=1753999160","width":2160},{"alt":null,"id":39116836995384,"position":48,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Ocean.jpg?v=1753999160"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Ocean.jpg?v=1753999160","width":2160},{"alt":null,"id":39116839944504,"position":49,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Magenta.jpg?v=1753999160"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Magenta.jpg?v=1753999160","width":2160},{"alt":null,"id":39116843057464,"position":50,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Sunkissed.jpg?v=1753999160"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Sunkissed.jpg?v=1753999160","width":2160},{"alt":null,"id":39116849381688,"position":51,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Function.jpg?v=1753999160"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Function.jpg?v=1753999160","width":2160},{"alt":null,"id":39116852658488,"position":52,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Flam
55ingo.jpg?v=1753999160"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Shampoo_11oz_Flamingo.jpg?v=1753999160","width":2160},{"alt":null,"id":41577327264056,"position":53,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Shampoo-Yellow_Reflection.png?v=1753999160"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Shampoo-Yellow_Reflection.png?v=1753999160","width":1080}],"requires_selling_plan":false,"selling_plan_groups":[{"id":"261596d8bcff70955cc0e8cb2c76e71bfab0a8b4","name":"Shampoo","options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"values":["1 Month(s)","2 Month(s)","3 Month(s)","4 Month(s)","6 Month(s)"]}],"selling_plans":[{"id":691030753592,"name":"Delivery every 1 Month","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"1 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":691030786360,"name":"Delivery every 2 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"2 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":691030819128,"name":"Delivery every 3 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"3 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":694906257720,"name":"Delivery every 4 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"4 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":693003387192,"name":"Delivery every 6 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"6 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"}],"content":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eA custom shampoo that gently cleanses the scalp and hair without stripping, while providing hydration. Formulated to fit your personalized needs and reveal healthy looking hair. Size: 11 oz\u003c\/span\u003e\u003cbr\u003e\u003c\/p\u003e"},{"id":8664883036472,"title":"Custom Styling Primer","handle":"styling-primer","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eA custom styling primer formulated with provitamin B5 that provides color, UV, and heat protection (up to 450°F). Formulated for your unique hair goals with a personalized level of hold. Size: 6 oz\u003c\/span\u003e\u003c\/p\u003e","published_at":"2023-09-18T14:35:24-04:00","created_at":"2023-09-18T14:35:24-04:00","vendor":"Function of Beauty","type":"styling","tags":["Action: Styling","Haircare","in_configuration","Line: Core","Target: Hair","YCRF_haircare"],"price":3100,"price_min":3100,"price_max":3100,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":47154476810552,"title":"6 oz \/ Rose Gold","option1":"6 oz","option2":"Rose Gold","option3":null,"sku":"styling-primer.6oz.rose-gold","requires_shipping":true,"taxable":true,"featured_image":{"id":44255605227832,"product_id":8664883036472,"position":14,"created_at":"2024-01-11T16:42:56-05:00","updated_at":"2024-01-11T16:42:56-05:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Primer_variant.png?v=1705009376","variant_ids":[47154476810552]},"available":true,"name":"Custom Styling Primer - 6 oz \/ Rose Gold","public_title":"6 oz \/ Rose Gold","options":["6 oz","Rose Gold"],"price":3100,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":36711614185784,"position":14,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Primer_variant.png?v=1705009376"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3100}],"price":3100,"compare_at_price":3100,"per_delivery_price":3100,"selling_plan_id":691029311800,"selling_plan_group_id":"72cf3354c613cf720b339e759180b734dbb34a7c"},{"price_adjustments":[{"position":1,"price":3100}],"price":3100,"compare_at_price":3100,"per_delivery_price":3100,"selling_plan_id":691029377336,"selling_plan_group_id":"72cf3354c613cf720b339e759180b734dbb34a7c"},{"price_adjustments":[{"position":1,"price":3100}],"price":3100,"compare_at_price":3100,"per_delivery_price":3100,"selling_plan_id":691029475640,"selling_plan_group_id":"72cf3354c613cf720b339e759180b734dbb34a7c"},{"price_adjustments":[{"position":1,"price":3100}],"price":3100,"compare_at_price":3100,"per_delivery_price":3100,"selling_plan_id":694906290488,"selling_plan_group_id":"72cf3354c613cf720b339e759180b734dbb34a7c"},{"price_adjustments":[{"position":1,"price":3100}],"price":3100,"compare_at_price":3100,"per_delivery_price":3100,"selling_plan_id":693003583800,"selling_plan_group_id":"72cf3354c613cf720b339e759180b734dbb34a7c"}],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Primer.png?v=1705009355","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Styling-Primer_02.jpg?v=1705009355","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Styling-Primer_03.jpg?v=1705009355","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_04_d2e5d787-2216-43f3-9b02-d1c3b48a0459.jpg?v=1705009355","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_05_b5c6572c-37be-4344-b8f1-6a45aca5efa7.jpg?v=1705009355","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_06_bc4b3c7b-b00e-4919-9234-70deec571a7c.jpg?v=1705009355","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_07_cbffaf81-125b-444c-84da-4e6b6fd47e2b.jpg?v=1705009355","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-StylingPrimer_08.jpg?v=1705009355","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Styling-Primer_09.jpg?v=1705009355","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_10_22c63537-3f95-4333-854b-d9ade4884930.jpg?v=1705009355","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Styling-Primer_11.jpg?v=1705009355","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Styling-Primer_12.jpg?v=1705009355","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-StylingPrimer_14.jpg?v=1705009355","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Primer_variant.png?v=1705009376","\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Primer_PLP.png?v=1705009411","\/\/functionofbeauty.com\/cdn\/shop\/files\/Styling_Primer-Orange_Reflection.png?v=1744213377"],"featured_image":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Primer.png?v=1705009355","options":["Size","Color"],"media":[{"alt":null,"id":36711610450232,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Primer.png?v=1705009355"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Primer.png?v=1705009355","width":2160},{"alt":null,"id":35446635168056,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Styling-Primer_02.jpg?v=1705009355"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Styling-Primer_02.jpg?v=1705009355","width":2160},{"alt":null,"id":35446635200824,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Styling-Primer_03.jpg?v=1705009355"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Styling-Primer_03.jpg?v=1705009355","width":2160},{"alt":null,"id":35446634971448,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_04_d2e5d787-2216-43f3-9b02-d1c3b48a0459.jpg?v=1705009355"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_04_d2e5d787-2216-43f3-9b02-d1c3b48a0459.jpg?v=1705009355","width":2176},{"alt":null,"id":35446635004216,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_05_b5c6572c-37be-4344-b8f1-6a45aca5efa7.jpg?v=1705009355"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_05_b5c6572c-37be-4344-b8f1-6a45aca5efa7.jpg?v=1705009355","width":2176},{"alt":null,"id":35446635036984,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_06_bc4b3c7b-b00e-4919-9234-70deec571a7c.jpg?v=1705009355"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_06_bc4b3c7b-b00e-4919-9234-70deec571a7c.jpg?v=1705009355","width":2176},{"alt":null,"id":35446635069752,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_07_cbffaf81-125b-444c-84da-4e6b6fd47e2b.jpg?v=1705009355"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_07_cbffaf81-125b-444c-84da-4e6b6fd47e2b.jpg?v=1705009355","width":2176},{"alt":null,"id":35446635102520,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-StylingPrimer_08.jpg?v=1705009355"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-StylingPrimer_08.jpg?v=1705009355","width":2160},{"alt":null,"id":35446795010360,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Styling-Primer_09.jpg?v=1705009355"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Styling-Primer_09.jpg?v=1705009355","width":2160},{"alt":null,"id":35446802448696,"position":10,"preview_image":{"aspect_ratio":1.0,"height":2176,"width":2176,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_10_22c63537-3f95-4333-854b-d9ade4884930.jpg?v=1705009355"},"aspect_ratio":1.0,"height":2176,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Shampoo_10_22c63537-3f95-4333-854b-d9ade4884930.jpg?v=1705009355","width":2176},{"alt":null,"id":35446635233592,"position":11,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Styling-Primer_11.jpg?v=1705009355"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Styling-Primer_11.jpg?v=1705009355","width":2160},{"alt":null,"id":35446635266360,"position":12,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Styling-Primer_12.jpg?v=1705009355"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Styling-Primer_12.jpg?v=1705009355","width":2160},{"alt":null,"id":35446635135288,"position":13,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-StylingPrimer_14.jpg?v=1705009355"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-StylingPrimer_14.jpg?v=1705009355","width":2160},{"alt":null,"id":36711614185784,"position":14,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Primer_variant.png?v=1705009376"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Primer_variant.png?v=1705009376","width":2160},{"alt":null,"id":36711617921336,"position":15,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Primer_PLP.png?v=1705009411"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/DTC_Primer_PLP.png?v=1705009411","width":2160},{"alt":null,"id":41577326870840,"position":16,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Styling_Primer-Orange_Reflection.png?v=1744213377"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Styling_Primer-Orange_Reflection.png?v=1744213377","width":1080},{"alt":null,"id":42071124508984,"position":17,"preview_image":{"aspect_ratio":1.0,"height":720,"width":720,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/preview_images\/4b997a39fae94874892e6907a07eb7cf.thumbnail.0000000000.jpg?v=1750081968"},"aspect_ratio":1.0,"duration":5050,"media_type":"video","sources":[{"format":"mp4","height":480,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/4b997a39fae94874892e6907a07eb7cf\/4b997a39fae94874892e6907a07eb7cf.SD-480p-1.2Mbps-49479694.mp4?v=0","width":480},{"format":"mp4","height":720,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/4b997a39fae94874892e6907a07eb7cf\/4b997a39fae94874892e6907a07eb7cf.HD-720p-3.0Mbps-49479694.mp4?v=0","width":720},{"format":"m3u8","height":720,"mime_type":"application\/x-mpegURL","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/4b997a39fae94874892e6907a07eb7cf\/4b997a39fae94874892e6907a07eb7cf.m3u8?v=0","width":720}]}],"requires_selling_plan":false,"selling_plan_groups":[{"id":"72cf3354c613cf720b339e759180b734dbb34a7c","name":"Styling Primer","options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"values":["1 Month(s)","2 Month(s)","3 Month(s)","4 Month(s)","6 Month(s)"]}],"selling_plans":[{"id":691029311800,"name":"Delivery every 1 Month","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"1 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":691029377336,"name":"Delivery every 2 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"2 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":691029475640,"name":"Delivery every 3 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"3 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_ty
55pe":"percentage","value":100}},{"id":694906290488,"name":"Delivery every 4 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"4 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":693003583800,"name":"Delivery every 6 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"6 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"}],"content":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eA custom styling primer formulated with provitamin B5 that provides color, UV, and heat protection (up to 450°F). Formulated for your unique hair goals with a personalized level of hold. Size: 6 oz\u003c\/span\u003e\u003c\/p\u003e"},{"id":9023840420152,"title":"SOS Custom Repair Shampoo","handle":"sos-shampoo","description":"\u003cspan data-mce-fragment=\"1\"\u003e\u003cspan style=\"font-weight: 400;\" data-mce-fragment=\"1\" data-mce-style=\"font-weight: 400;\"\u003eA sulfate-free, \u003c\/span\u003e\u003cspan style=\"font-weight: 400;\" data-mce-fragment=\"1\" data-mce-style=\"font-weight: 400;\"\u003estrengthening shampoo for stronger, more resilient hair thanks to our U.S. patent pending Biotech Powered Repair\u003c\/span\u003e that works to help repair hair from the inside out. Dermatologist tested and fully customized to the unique needs of your hair type and damage level. \u003c\/span\u003e\u003cspan style=\"font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; font-size: 0.875rem;\" data-mce-fragment=\"1\" data-mce-style=\"font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; font-size: 0.875rem;\"\u003eSize: 11oz\u003c\/span\u003e","published_at":"2026-02-09T16:06:09-05:00","created_at":"2024-03-05T13:15:28-05:00","vendor":"Function of Beauty","type":"Shampoo","tags":["Action: Care","first_time_discount","Haircare","in_configuration"],"price":3200,"price_min":3200,"price_max":3200,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":48125591519544,"title":"11 oz \/ Dye Free","option1":"11 oz","option2":"Dye Free","option3":null,"sku":"sos-shampoo.11oz.dye-free","requires_shipping":true,"taxable":true,"featured_image":{"id":45740440191288,"product_id":9023840420152,"position":19,"created_at":"2024-05-02T14:22:08-04:00","updated_at":"2025-04-15T15:14:13-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Shampoo_11oz_Dye_Free-variant.png?v=1744744453","variant_ids":[48125591519544]},"available":true,"name":"SOS Custom Repair Shampoo - 11 oz \/ Dye Free","public_title":"11 oz \/ Dye Free","options":["11 oz","Dye Free"],"price":3200,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":38245090165048,"position":19,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Shampoo_11oz_Dye_Free-variant.png?v=1744744453"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299183928,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299216696,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299249464,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":694906519864,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299282232,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47937332248888,"title":"11 oz \/ Magenta","option1":"11 oz","option2":"Magenta","option3":null,"sku":"sos-shampoo.11oz.magenta","requires_shipping":true,"taxable":true,"featured_image":{"id":45636205576504,"product_id":9023840420152,"position":15,"created_at":"2024-04-25T07:33:48-04:00","updated_at":"2025-04-15T15:14:13-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_magenta_variant.png?v=1744744453","variant_ids":[47937332248888]},"available":true,"name":"SOS Custom Repair Shampoo - 11 oz \/ Magenta","public_title":"11 oz \/ Magenta","options":["11 oz","Magenta"],"price":3200,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":38133338046776,"position":15,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_magenta_variant.png?v=1744744453"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299183928,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299216696,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299249464,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":694906519864,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299282232,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47937332281656,"title":"11 oz \/ Purple","option1":"11 oz","option2":"Purple","option3":null,"sku":"sos-shampoo.11oz.purple","requires_shipping":true,"taxable":true,"featured_image":{"id":45636205609272,"product_id":9023840420152,"position":18,"created_at":"2024-04-25T07:34:04-04:00","updated_at":"2025-04-15T15:14:13-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Shampoo_16oz_Purple_variant.png?v=1744744453","variant_ids":[47937332281656]},"available":true,"name":"SOS Custom Repair Shampoo - 11 oz \/ Purple","public_title":"11 oz \/ Purple","options":["11 oz","Purple"],"price":3200,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":38133345911096,"position":18,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Shampoo_16oz_Purple_variant.png?v=1744744453"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299183928,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299216696,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299249464,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":694906519864,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299282232,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47937332216120,"title":"11 oz \/ Function Green","option1":"11 oz","option2":"Function Green","option3":null,"sku":"sos-shampoo.11oz.function-green","requires_shipping":true,"taxable":true,"featured_image":{"id":45636276650296,"product_id":9023840420152,"position":17,"created_at":"2024-04-25T07:31:33-04:00","updated_at":"2025-04-15T15:14:13-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Shampoo_16oz_Green_variant.png?v=1744744453","variant_ids":[47937332216120]},"available":true,"name":"SOS Custom Repair Shampoo - 11 oz \/ Function Green","public_title":"11 oz \/ Function Green","options":["11 oz","Function Green"],"price":3200,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":38133283815736,"position":17,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Shampoo_16oz_Green_variant.png?v=1744744453"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299183928,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299216696,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299249464,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":694906519864,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299282232,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47937332183352,"title":"11 oz \/ Orange","option1":"11 oz","option2":"Orange","option3":null,"sku":"sos-shampoo.11oz.orange","requires_shipping":true,"taxable":true,"featured_image":{"id":45636276617528,"product_id":9023840420152,"position":16,"created_at":"2024-04-25T07:31:53-04:00","updated_at":"2025-04-15T15:14:13-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Shampoo_16oz_Orange_variant.png?v=1744744453","variant_ids":[47937332183352]},"available":true,"name":"SOS Custom Repair Shampoo - 11 oz \/ Orange","public_title":"11 oz \/ Orange","options":["11 oz","Orange"],"price":3200,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":38133294268728,"position":16,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Shampoo_16oz_Orange_variant.png?v=1744744453"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299183928,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299216696,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299249464,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":694906519864,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299282232,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"}],"quantity_rule":{"min":1,"max":null,"increment":1}}
55,{"id":50994056200504,"title":"11 oz \/ Blue","option1":"11 oz","option2":"Blue","option3":null,"sku":"sos-shampoo.11oz.blue","requires_shipping":true,"taxable":true,"featured_image":{"id":53323669242168,"product_id":9023840420152,"position":20,"created_at":"2025-08-12T15:02:23-04:00","updated_at":"2025-08-12T15:02:25-04:00","alt":null,"width":1080,"height":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Shampoo-Blue.png?v=1755025345","variant_ids":[50994056200504]},"available":true,"name":"SOS Custom Repair Shampoo - 11 oz \/ Blue","public_title":"11 oz \/ Blue","options":["11 oz","Blue"],"price":3200,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":43358677238072,"position":21,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Shampoo-Blue.png?v=1755025345"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299183928,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299216696,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299249464,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":694906519864,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299282232,"selling_plan_group_id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d"}],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Shampoo-Purple_Reflection.png?v=1744744453","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Shampoo_16oz_Purple_PLP.jpg?v=1744744453","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_02.jpg?v=1744744453","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_03.jpg?v=1744744453","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_04.jpg?v=1744744453","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Shampoo_05.jpg?v=1744744453","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Shampoo_06.jpg?v=1744744453","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Shampoo_07.jpg?v=1744744453","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Shampoo_08.jpg?v=1744744453","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_10.gif?v=1744744453","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_11.jpg?v=1744744453","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_12.jpg?v=1744744453","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-OUR-COMMITMENT-2.jpg?v=1744744453","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SYSTEM.jpg?v=1744744453","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_magenta_variant.png?v=1744744453","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Shampoo_16oz_Orange_variant.png?v=1744744453","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Shampoo_16oz_Green_variant.png?v=1744744453","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Shampoo_16oz_Purple_variant.png?v=1744744453","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Shampoo_11oz_Dye_Free-variant.png?v=1744744453","\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Shampoo-Blue.png?v=1755025345"],"featured_image":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Shampoo-Purple_Reflection.png?v=1744744453","options":["Size","Color"],"media":[{"alt":null,"id":41577327165752,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Shampoo-Purple_Reflection.png?v=1744744453"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Shampoo-Purple_Reflection.png?v=1744744453","width":1080},{"alt":null,"id":38133370290488,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Shampoo_16oz_Purple_PLP.jpg?v=1744744453"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Shampoo_16oz_Purple_PLP.jpg?v=1744744453","width":2160},{"alt":null,"id":38133040054584,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_02.jpg?v=1744744453"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_02.jpg?v=1744744453","width":2160},{"alt":null,"id":38133040087352,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_03.jpg?v=1744744453"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_03.jpg?v=1744744453","width":2160},{"alt":null,"id":38133040120120,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_04.jpg?v=1744744453"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_04.jpg?v=1744744453","width":2160},{"alt":null,"id":38133040185656,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Shampoo_05.jpg?v=1744744453"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Shampoo_05.jpg?v=1744744453","width":2160},{"alt":null,"id":38133040218424,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Shampoo_06.jpg?v=1744744453"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Shampoo_06.jpg?v=1744744453","width":2160},{"alt":null,"id":38133040251192,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Shampoo_07.jpg?v=1744744453"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Shampoo_07.jpg?v=1744744453","width":2160},{"alt":null,"id":38133040283960,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Shampoo_08.jpg?v=1744744453"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Shampoo_08.jpg?v=1744744453","width":2160},{"alt":null,"id":38133040349496,"position":10,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_10.gif?v=1744744453"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_10.gif?v=1744744453","width":1080},{"alt":null,"id":38133040382264,"position":11,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_11.jpg?v=1744744453"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_11.jpg?v=1744744453","width":2160},{"alt":null,"id":38133040415032,"position":12,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_12.jpg?v=1744744453"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_12.jpg?v=1744744453","width":2160},{"alt":null,"id":38133039989048,"position":13,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-OUR-COMMITMENT-2.jpg?v=1744744453"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-OUR-COMMITMENT-2.jpg?v=1744744453","width":2160},{"alt":null,"id":38133040447800,"position":14,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SYSTEM.jpg?v=1744744453"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SYSTEM.jpg?v=1744744453","width":2160},{"alt":null,"id":38133338046776,"position":15,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_magenta_variant.png?v=1744744453"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SHAMPOO_magenta_variant.png?v=1744744453","width":2160},{"alt":null,"id":38133294268728,"position":16,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Shampoo_16oz_Orange_variant.png?v=1744744453"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Shampoo_16oz_Orange_variant.png?v=1744744453","width":2160},{"alt":null,"id":38133283815736,"position":17,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Shampoo_16oz_Green_variant.png?v=1744744453"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Shampoo_16oz_Green_variant.png?v=1744744453","width":2160},{"alt":null,"id":38133345911096,"position":18,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Shampoo_16oz_Purple_variant.png?v=1744744453"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Shampoo_16oz_Purple_variant.png?v=1744744453","width":2160},{"alt":null,"id":38245090165048,"position":19,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Shampoo_11oz_Dye_Free-variant.png?v=1744744453"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Shampoo_11oz_Dye_Free-variant.png?v=1744744453","width":2160},{"alt":null,"id":42071124279608,"position":20,"preview_image":{"aspect_ratio":1.0,"height":720,"width":720,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/preview_images\/24cc1feff9374263a60fb48955a6cc05.thumbnail.0000000000.jpg?v=1750081968"},"aspect_ratio":1.0,"duration":4050,"media_type":"video","sources":[{"format":"mp4","height":480,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/24cc1feff9374263a60fb48955a6cc05\/24cc1feff9374263a60fb48955a6cc05.SD-480p-1.2Mbps-49479708.mp4?v=0","width":480},{"format":"mp4","height":720,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/24cc1feff9374263a60fb48955a6cc05\/24cc1feff9374263a60fb48955a6cc05.HD-720p-3.0Mbps-49479708.mp4?v=0","width":720},{"format":"m3u8","height":720,"mime_type":"application\/x-mpegURL","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/24cc1feff9374263a60fb48955a6cc05\/24cc1feff9374263a60fb48955a6cc05.m3u8?v=0","width":720}]},{"alt":null,"id":43358677238072,"position":21,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Shampoo-Blue.png?v=1755025345"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Shampoo-Blue.png?v=1755025345","width":1080}],"requires_selling_plan":false,"selling_plan_groups":[{"id":"0b7b5c6911f2c8048ea636e39f9ecf921eda244d","name":"SOS Custom Repair Shampoo","options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"values":["1 Month(s)","2 Month(s)","3 Month(s)","4 Month(s)","6 Month(s)"]}],"selling_plans":[{"id":693299183928,"name":"Delivery every 1 Month","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"1 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":693299216696,"name":"Delivery every 2 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"2 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":693299249464,"name":"Delivery every 3 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"3 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":694906519864,"name":"Delivery every 4 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"4 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":693299282232,"name":"Delivery every 6 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"6 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"}],"content":"\u003cspan data-mce-fragment=\"1\"\u003e\u003cspan style=\"font-weight: 400;\" data-mce-fragment=\"1\" data-mce-style=\"font-weight: 400;\"\u003eA sulfate-free, \u003c\/span\u003e\u003cspan style=\"font-weight: 400;\" data-mce-fragment=\"1\" data-mce-style=\"font-weight: 400;\"\u003estrengthening shampoo for stronger, more resilient hair thanks to our U.S. patent pending Biotech Powered Repair\u003c\/span\u003e that works to help repair hair from the inside out. Dermatologist tested and fully customized to the unique needs of your hair type and damage level. \u003c\/span\u003e\u003cspan style=\"font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; font-size: 0.875rem;\" data-mce-fragment=\"1\" data-mce-style=\"font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; font-size: 0.875rem;\"\u003eSize: 11oz\u003c\/span\u003e"},{"id":9023840649528,"title":"SOS Custom Repair Leave-in Treatment","handle":"sos-leave-in-treatment","description":"\u003cspan data-mce-fragment=\"1\"\u003eExperience a remarkable hair transformation after JUST one use with our most advanced repair product. This lightweight, cream-gel formula boasts the highest concentration of our cutting-edge Custom Biotech Repair, alongside nutrient-rich antioxidants. Dermatologist tested and fully customized to the unique 
55needs of your hair type and damage level. Bonus! This product is 3oz and TSA compliant.\u003c\/span\u003e","published_at":"2024-03-05T13:15:37-05:00","created_at":"2024-03-05T13:15:37-05:00","vendor":"Function of Beauty","type":"leave-in","tags":["badge: damage repair","Haircare","in_configuration","YGroup_SOS Leave-In Treatment"],"price":3400,"price_min":3400,"price_max":3400,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":47937333756216,"title":"3 oz \/ Magenta","option1":"3 oz","option2":"Magenta","option3":null,"sku":"sos-leave-in-treatment.3oz.magenta","requires_shipping":true,"taxable":true,"featured_image":{"id":50065052238136,"product_id":9023840649528,"position":1,"created_at":"2025-04-09T11:42:55-04:00","updated_at":"2025-04-15T15:11:29-04:00","alt":null,"width":1080,"height":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Leave-In_Treatment_Pink_Reflection.png?v=1744744289","variant_ids":[47937333756216]},"available":true,"name":"SOS Custom Repair Leave-in Treatment - 3 oz \/ Magenta","public_title":"3 oz \/ Magenta","options":["3 oz","Magenta"],"price":3400,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":41577326674232,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Leave-In_Treatment_Pink_Reflection.png?v=1744744289"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3400}],"price":3400,"compare_at_price":3400,"per_delivery_price":3400,"selling_plan_id":693299085624,"selling_plan_group_id":"670ba9d41ac08bbe97ad842eaf6229d9bc9ca15d"},{"price_adjustments":[{"position":1,"price":3400}],"price":3400,"compare_at_price":3400,"per_delivery_price":3400,"selling_plan_id":693299118392,"selling_plan_group_id":"670ba9d41ac08bbe97ad842eaf6229d9bc9ca15d"},{"price_adjustments":[{"position":1,"price":3400}],"price":3400,"compare_at_price":3400,"per_delivery_price":3400,"selling_plan_id":693299151160,"selling_plan_group_id":"670ba9d41ac08bbe97ad842eaf6229d9bc9ca15d"},{"price_adjustments":[{"position":1,"price":3400}],"price":3400,"compare_at_price":3400,"per_delivery_price":3400,"selling_plan_id":694906552632,"selling_plan_group_id":"670ba9d41ac08bbe97ad842eaf6229d9bc9ca15d"},{"price_adjustments":[{"position":1,"price":3400}],"price":3400,"compare_at_price":3400,"per_delivery_price":3400,"selling_plan_id":693299380536,"selling_plan_group_id":"670ba9d41ac08bbe97ad842eaf6229d9bc9ca15d"}],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Leave-In_Treatment_Pink_Reflection.png?v=1744744289","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-LIT_PLP.jpg?v=1744744289","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_02.jpg?v=1744744289","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_03.jpg?v=1744744289","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_04.jpg?v=1744744289","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_06.jpg?v=1744744289","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_05.jpg?v=1744744289","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_07.jpg?v=1744744289","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_08.jpg?v=1744744289","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_09.jpg?v=1744744289","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_09.gif?v=1744744289","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_11.jpg?v=1744744289","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_12.jpg?v=1744744289","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_13.jpg?v=1744744289","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_14.jpg?v=1744744289","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-OUR-COMMITMENT-3.jpg?v=1744744289","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SYSTEM-3.jpg?v=1744744289"],"featured_image":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Leave-In_Treatment_Pink_Reflection.png?v=1744744289","options":["Size","Color"],"media":[{"alt":null,"id":41577326674232,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Leave-In_Treatment_Pink_Reflection.png?v=1744744289"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Leave-In_Treatment_Pink_Reflection.png?v=1744744289","width":1080},{"alt":null,"id":38133807087928,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-LIT_PLP.jpg?v=1744744289"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-LIT_PLP.jpg?v=1744744289","width":2160},{"alt":null,"id":38133807120696,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_02.jpg?v=1744744289"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_02.jpg?v=1744744289","width":2160},{"alt":null,"id":38133807153464,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_03.jpg?v=1744744289"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_03.jpg?v=1744744289","width":2160},{"alt":null,"id":38133807186232,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_04.jpg?v=1744744289"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_04.jpg?v=1744744289","width":2160},{"alt":null,"id":38133807251768,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_06.jpg?v=1744744289"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_06.jpg?v=1744744289","width":2160},{"alt":null,"id":38133807219000,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_05.jpg?v=1744744289"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_05.jpg?v=1744744289","width":2160},{"alt":null,"id":38133807284536,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_07.jpg?v=1744744289"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_07.jpg?v=1744744289","width":2160},{"alt":null,"id":38133807317304,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_08.jpg?v=1744744289"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_08.jpg?v=1744744289","width":2160},{"alt":null,"id":38133807382840,"position":10,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_09.jpg?v=1744744289"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_09.jpg?v=1744744289","width":2160},{"alt":null,"id":38133807350072,"position":11,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_09.gif?v=1744744289"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_09.gif?v=1744744289","width":1080},{"alt":null,"id":38133807448376,"position":12,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_11.jpg?v=1744744289"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_11.jpg?v=1744744289","width":2160},{"alt":null,"id":38133807481144,"position":13,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_12.jpg?v=1744744289"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_12.jpg?v=1744744289","width":2160},{"alt":null,"id":38133807513912,"position":14,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_13.jpg?v=1744744289"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_13.jpg?v=1744744289","width":2160},{"alt":null,"id":38133807546680,"position":15,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_14.jpg?v=1744744289"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-LIT_14.jpg?v=1744744289","width":2160},{"alt":null,"id":38133807579448,"position":16,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-OUR-COMMITMENT-3.jpg?v=1744744289"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-OUR-COMMITMENT-3.jpg?v=1744744289","width":2160},{"alt":null,"id":38133807612216,"position":17,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SYSTEM-3.jpg?v=1744744289"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SYSTEM-3.jpg?v=1744744289","width":2160},{"alt":null,"id":42071124574520,"position":18,"preview_image":{"aspect_ratio":1.0,"height":720,"width":720,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/preview_images\/e6326dd093ea429c892477023e8a2cba.thumbnail.0000000000.jpg?v=1750081968"},"aspect_ratio":1.0,"duration":5000,"media_type":"video","sources":[{"format":"mp4","height":480,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/e6326dd093ea429c892477023e8a2cba\/e6326dd093ea429c892477023e8a2cba.SD-480p-1.2Mbps-49479706.mp4?v=0","width":480},{"format":"mp4","height":720,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/e6326dd093ea429c892477023e8a2cba\/e6326dd093ea429c892477023e8a2cba.HD-720p-3.0Mbps-49479706.mp4?v=0","width":720},{"format":"m3u8","height":720,"mime_type":"application\/x-mpegURL","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/e6326dd093ea429c892477023e8a2cba\/e6326dd093ea429c892477023e8a2cba.m3u8?v=0","width":720}]}],"requires_selling_plan":false,"selling_plan_groups":[{"id":"670ba9d41ac08bbe97ad842eaf6229d9bc9ca15d","name":"SOS Custom Repair Leave-in Treatment","options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"values":["1 Month(s)","2 Month(s)","3 Month(s)","4 Month(s)","6 Month(s)"]}],"selling_plans":[{"id":693299085624,"name":"Delivery every 1 Month","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"1 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":693299118392,"name":"Delivery every 2 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"2 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":693299151160,"name":"Delivery every 3 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"3 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":694906552632,"name":"Delivery every 4 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"4 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":693299380536,"name":"Delivery every 6 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"6 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"}],"content":"\u003cspan data-mce-fragment=\"1\"\u003eExperience a remarkable hair transformation after JUST one use with our most advanced repair product. This lightweight, cream-gel formula boasts the highest concentration of our cutting-edge Custom Biotech Repair, alongside nutrient-rich antioxidants. Dermatologist tested and fully customized to the unique needs of your hair type and damage level. Bonus! This product is 3oz and TSA compliant.\u003c\/span\u003e"},{"id":9023840583992,"title":"SOS Custom Repair Hair Mask","handle":"sos-hair-mask","description":"\u003cp\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\" style=\"font-weight: 400;\" data-mce-style=\"font-weight: 400;\"\u003eThis award winning rinse-out mask is a weekly must to intensely recover dry, brittle strands 
55with boosted shine thanks to our U.S. patent-pending \u003c\/span\u003eBiotech Powered Custom Repair that works to help repair hair from the inside out.\u2028Dermatologist tested and fully customized to the unique needs of your hair type and damage level. Size: 7.5 oz\u003c\/span\u003e\u003c\/p\u003e","published_at":"2024-03-05T13:15:33-05:00","created_at":"2024-03-05T13:15:33-05:00","vendor":"Function of Beauty","type":"hair mask","tags":["badge:award-winning","Haircare","in_configuration"],"price":3800,"price_min":3800,"price_max":3800,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":48125591748920,"title":"7.5 oz \/ Dye Free","option1":"7.5 oz","option2":"Dye Free","option3":null,"sku":"sos-hair-mask.7.5oz.dye-free","requires_shipping":true,"taxable":true,"featured_image":{"id":45740354175288,"product_id":9023840583992,"position":19,"created_at":"2024-05-02T14:15:09-04:00","updated_at":"2025-04-15T15:12:03-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Mask_Dye_Free-variant.png?v=1744744323","variant_ids":[48125591748920]},"available":true,"name":"SOS Custom Repair Hair Mask - 7.5 oz \/ Dye Free","public_title":"7.5 oz \/ Dye Free","options":["7.5 oz","Dye Free"],"price":3800,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":38245002051896,"position":19,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Mask_Dye_Free-variant.png?v=1744744323"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693298987320,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693299020088,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693299052856,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":694906585400,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693299347768,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47937333690680,"title":"7.5 oz \/ Purple","option1":"7.5 oz","option2":"Purple","option3":null,"sku":"sos-hair-mask.7.5oz.purple","requires_shipping":true,"taxable":true,"featured_image":{"id":45636594860344,"product_id":9023840583992,"position":18,"created_at":"2024-04-25T08:00:32-04:00","updated_at":"2025-04-15T15:12:03-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Mask_Purple_variant.png?v=1744744323","variant_ids":[47937333690680]},"available":true,"name":"SOS Custom Repair Hair Mask - 7.5 oz \/ Purple","public_title":"7.5 oz \/ Purple","options":["7.5 oz","Purple"],"price":3800,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":38133904015672,"position":18,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Mask_Purple_variant.png?v=1744744323"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693298987320,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693299020088,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693299052856,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":694906585400,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693299347768,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47937333657912,"title":"7.5 oz \/ Magenta","option1":"7.5 oz","option2":"Magenta","option3":null,"sku":"sos-hair-mask.7.5oz.magenta","requires_shipping":true,"taxable":true,"featured_image":{"id":45636594827576,"product_id":9023840583992,"position":17,"created_at":"2024-04-25T08:00:16-04:00","updated_at":"2025-04-15T15:12:03-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Mask_Pink_variant.png?v=1744744323","variant_ids":[47937333657912]},"available":true,"name":"SOS Custom Repair Hair Mask - 7.5 oz \/ Magenta","public_title":"7.5 oz \/ Magenta","options":["7.5 oz","Magenta"],"price":3800,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":381339
5501623608,"position":17,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Mask_Pink_variant.png?v=1744744323"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693298987320,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693299020088,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693299052856,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":694906585400,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693299347768,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47937333625144,"title":"7.5 oz \/ Function Green","option1":"7.5 oz","option2":"Function Green","option3":null,"sku":"sos-hair-mask.7.5oz.function-green","requires_shipping":true,"taxable":true,"featured_image":{"id":45636594794808,"product_id":9023840583992,"position":16,"created_at":"2024-04-25T08:00:00-04:00","updated_at":"2025-04-15T15:12:03-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_ECOM_variant.png?v=1744744323","variant_ids":[47937333625144]},"available":true,"name":"SOS Custom Repair Hair Mask - 7.5 oz \/ Function Green","public_title":"7.5 oz \/ Function Green","options":["7.5 oz","Function Green"],"price":3800,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":38133898903864,"position":16,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_ECOM_variant.png?v=1744744323"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693298987320,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693299020088,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693299052856,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":694906585400,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693299347768,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47937333592376,"title":"7.5 oz \/ Orange","option1":"7.5 oz","option2":"Orange","option3":null,"sku":"sos-hair-mask.7.5oz.orange","requires_shipping":true,"taxable":true,"featured_image":{"id":45636594762040,"product_id":9023840583992,"position":15,"created_at":"2024-04-25T07:59:31-04:00","updated_at":"2025-04-15T15:12:03-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Mask_Orange_variant.png?v=1744744323","variant_ids":[47937333592376]},"available":true,"name":"SOS Custom Repair Hair Mask - 7.5 oz \/ Orange","public_title":"7.5 oz \/ Orange","options":["7.5 oz","Orange"],"price":3800,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":38133892514104,"position":15,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Mask_Orange_variant.png?v=1744744323"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693298987320,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693299020088,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693299052856,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":694906585400,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693299347768,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"}],"quantity_rule":{"min":1,"max":null,"increment":1}}
55,{"id":50994050761016,"title":"7.5 oz \/ Blue","option1":"7.5 oz","option2":"Blue","option3":null,"sku":"sos-hair-mask.7.5oz.blue","requires_shipping":true,"taxable":true,"featured_image":{"id":53323669176632,"product_id":9023840583992,"position":20,"created_at":"2025-08-12T15:02:23-04:00","updated_at":"2025-08-12T15:02:25-04:00","alt":null,"width":1080,"height":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Mask-Blue.png?v=1755025345","variant_ids":[50994050761016]},"available":true,"name":"SOS Custom Repair Hair Mask - 7.5 oz \/ Blue","public_title":"7.5 oz \/ Blue","options":["7.5 oz","Blue"],"price":3800,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":43358677205304,"position":21,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Mask-Blue.png?v=1755025345"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693298987320,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693299020088,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693299052856,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":694906585400,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"},{"price_adjustments":[{"position":1,"price":3800}],"price":3800,"compare_at_price":3800,"per_delivery_price":3800,"selling_plan_id":693299347768,"selling_plan_group_id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8"}],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Mask-Green_Reflection.png?v=1744744323","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_ECOM_PLP.jpg?v=1744744323","\/\/functionofbeauty.com\/cdn\/shop\/files\/Mask_Award_Winner-02-1.jpg?v=1744744323","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_03.jpg?v=1744744323","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_04.jpg?v=1744744323","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Mask_06.jpg?v=1744744323","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Mask_05.jpg?v=1744744323","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Mask_07.jpg?v=1744744323","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Mask_08.jpg?v=1744744323","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_09.jpg?v=1744744323","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_11.jpg?v=1744744323","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_12.jpg?v=1744744323","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-OUR-COMMITMENT-4.jpg?v=1744744323","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SYSTEM-4.jpg?v=1744744323","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Mask_Orange_variant.png?v=1744744323","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_ECOM_variant.png?v=1744744323","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Mask_Pink_variant.png?v=1744744323","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Mask_Purple_variant.png?v=1744744323","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Mask_Dye_Free-variant.png?v=1744744323","\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Mask-Blue.png?v=1755025345"],"featured_image":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Mask-Green_Reflection.png?v=1744744323","options":["Size","Color"],"media":[{"alt":null,"id":41577326772536,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Mask-Green_Reflection.png?v=1744744323"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Mask-Green_Reflection.png?v=1744744323","width":1080},{"alt":null,"id":38133881340216,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_ECOM_PLP.jpg?v=1744744323"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_ECOM_PLP.jpg?v=1744744323","width":2160},{"alt":null,"id":40586729554232,"position":3,"preview_image":{"aspect_ratio":1.0,"height":3200,"width":3200,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Mask_Award_Winner-02-1.jpg?v=1744744323"},"aspect_ratio":1.0,"height":3200,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/Mask_Award_Winner-02-1.jpg?v=1744744323","width":3200},{"alt":null,"id":38133869871416,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_03.jpg?v=1744744323"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_03.jpg?v=1744744323","width":2160},{"alt":null,"id":38133869904184,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_04.jpg?v=1744744323"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_04.jpg?v=1744744323","width":2160},{"alt":null,"id":38133869969720,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Mask_06.jpg?v=1744744323"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Mask_06.jpg?v=1744744323","width":2160},{"alt":null,"id":38133869936952,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Mask_05.jpg?v=1744744323"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Mask_05.jpg?v=1744744323","width":2160},{"alt":null,"id":38133870002488,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Mask_07.jpg?v=1744744323"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Mask_07.jpg?v=1744744323","width":2160},{"alt":null,"id":38133870035256,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Mask_08.jpg?v=1744744323"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Mask_08.jpg?v=1744744323","width":2160},{"alt":null,"id":38133870068024,"position":10,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_09.jpg?v=1744744323"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_09.jpg?v=1744744323","width":2160},{"alt":null,"id":38133870133560,"position":11,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_11.jpg?v=1744744323"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_11.jpg?v=1744744323","width":2160},{"alt":null,"id":38133870166328,"position":12,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_12.jpg?v=1744744323"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_12.jpg?v=1744744323","width":2160},{"alt":null,"id":38133870199096,"position":13,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-OUR-COMMITMENT-4.jpg?v=1744744323"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-OUR-COMMITMENT-4.jpg?v=1744744323","width":2160},{"alt":null,"id":38133870231864,"position":14,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SYSTEM-4.jpg?v=1744744323"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-SYSTEM-4.jpg?v=1744744323","width":2160},{"alt":null,"id":38133892514104,"position":15,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Mask_Orange_variant.png?v=1744744323"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Mask_Orange_variant.png?v=1744744323","width":2160},{"alt":null,"id":38133898903864,"position":16,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_ECOM_variant.png?v=1744744323"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-MASK_ECOM_variant.png?v=1744744323","width":2160}
55,{"alt":null,"id":38133901623608,"position":17,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Mask_Pink_variant.png?v=1744744323"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Mask_Pink_variant.png?v=1744744323","width":2160},{"alt":null,"id":38133904015672,"position":18,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Mask_Purple_variant.png?v=1744744323"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Mask_Purple_variant.png?v=1744744323","width":2160},{"alt":null,"id":38245002051896,"position":19,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Mask_Dye_Free-variant.png?v=1744744323"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Mask_Dye_Free-variant.png?v=1744744323","width":2160},{"alt":null,"id":42071124672824,"position":20,"preview_image":{"aspect_ratio":1.0,"height":720,"width":720,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/preview_images\/d6b12f8a58d14b82a68584bbb5e32b6b.thumbnail.0000000000.jpg?v=1750081968"},"aspect_ratio":1.0,"duration":5000,"media_type":"video","sources":[{"format":"mp4","height":480,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/d6b12f8a58d14b82a68584bbb5e32b6b\/d6b12f8a58d14b82a68584bbb5e32b6b.SD-480p-1.2Mbps-49479705.mp4?v=0","width":480},{"format":"mp4","height":720,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/d6b12f8a58d14b82a68584bbb5e32b6b\/d6b12f8a58d14b82a68584bbb5e32b6b.HD-720p-3.0Mbps-49479705.mp4?v=0","width":720},{"format":"m3u8","height":720,"mime_type":"application\/x-mpegURL","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/d6b12f8a58d14b82a68584bbb5e32b6b\/d6b12f8a58d14b82a68584bbb5e32b6b.m3u8?v=0","width":720}]},{"alt":null,"id":43358677205304,"position":21,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Mask-Blue.png?v=1755025345"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Mask-Blue.png?v=1755025345","width":1080}],"requires_selling_plan":false,"selling_plan_groups":[{"id":"491de2f1b54fa3d4ad865c2390d33294a03f2da8","name":"SOS Custom Repair Hair Mask","options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"values":["1 Month(s)","2 Month(s)","3 Month(s)","4 Month(s)","6 Month(s)"]}],"selling_plans":[{"id":693298987320,"name":"Delivery every 1 Month","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"1 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":693299020088,"name":"Delivery every 2 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"2 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":693299052856,"name":"Delivery every 3 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"3 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":694906585400,"name":"Delivery every 4 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"4 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":693299347768,"name":"Delivery every 6 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"6 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"}],"content":"\u003cp\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\" style=\"font-weight: 400;\" data-mce-style=\"font-weight: 400;\"\u003eThis award winning rinse-out mask is a weekly must to intensely recover dry, brittle strands 
55with boosted shine thanks to our U.S. patent-pending \u003c\/span\u003eBiotech Powered Custom Repair that works to help repair hair from the inside out.\u2028Dermatologist tested and fully customized to the unique needs of your hair type and damage level. Size: 7.5 oz\u003c\/span\u003e\u003c\/p\u003e"},{"id":9023840551224,"title":"SOS Custom Repair Conditioner","handle":"sos-conditioner","description":"\u003cspan data-mce-fragment=\"1\"\u003e\u003cspan style=\"font-weight: 400;\" data-mce-fragment=\"1\" data-mce-style=\"font-weight: 400;\"\u003eA strengthening and nourishing conditioner for stronger, more resilient hair thanks to our U.S.\u003c\/span\u003e patent-pending Biotech Powered Custom Repair that works to help repair hair from the inside out. Dermatologist tested and fully customized to the unique needs of your hair type and damage level. Size: 11 oz\u003c\/span\u003e","published_at":"2026-02-09T16:05:35-05:00","created_at":"2024-03-05T13:15:31-05:00","vendor":"Function of Beauty","type":"conditioner","tags":["first_time_discount","Haircare","in_configuration"],"price":2900,"price_min":2900,"price_max":3200,"available":true,"price_varies":true,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":48125591683384,"title":"11 oz \/ Dye Free","option1":"11 oz","option2":"Dye Free","option3":null,"sku":"sos-conditioner.11oz.dye-free","requires_shipping":true,"taxable":true,"featured_image":{"id":45740445958456,"product_id":9023840551224,"position":16,"created_at":"2024-05-02T14:22:48-04:00","updated_at":"2025-04-15T15:12:32-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_11oz_Dye_Free-variant.png?v=1744744352","variant_ids":[48125591683384]},"available":true,"name":"SOS Custom Repair Conditioner - 11 oz \/ Dye Free","public_title":"11 oz \/ Dye Free","options":["11 oz","Dye Free"],"price":3200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":38245096194360,"position":16,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_11oz_Dye_Free-variant.png?v=1744744352"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693298889016,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693298921784,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693298954552,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":694906618168,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299315000,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47937333494072,"title":"11 oz \/ Magenta","option1":"11 oz","option2":"Magenta","option3":null,"sku":"sos-conditioner.11oz.magenta","requires_shipping":true,"taxable":true,"featured_image":{"id":45636473848120,"product_id":9023840551224,"position":18,"created_at":"2024-04-25T07:48:17-04:00","updated_at":"2025-04-15T15:12:32-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_16oz_Pink_variant.png?v=1744744352","variant_ids":[47937333494072]},"available":true,"name":"SOS Custom Repair Conditioner - 11 oz \/ Magenta","public_title":"11 oz \/ Magenta","options":["11 oz","Magenta"],"price":3200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":38133760164152,"position":18,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_16oz_Pink_variant.png?v=1744744352"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693298889016,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693298921784,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693298954552,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":694906618168,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299315000,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47937333526840,"title":"11 oz \/ Purple","option1":"11 oz","option2":"Purple","option3":null,"sku":"sos-conditioner.11oz.purple","requires_shipping":true,"taxable":true,"featured_image":{"id":45636473880888,"product_id":9023840551224,"position":17,"created_at":"2024-04-25T07:48:37-04:00","updated_at":"2025-09-03T19:08:13-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_11oz_Purple_variant.png?v=1756940893","variant_ids":[47937333526840]},"available":true,"name":"SOS Custom Repair Conditioner - 11 oz \/ Purple","public_title":"11 oz \/ Purple","options":["11 oz","Purple"],"price":3200,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":38133763146040,"position":17,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_11oz_Purple_variant.png?v=1756940893"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693298889016,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693298921784,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693298954552,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":694906618168,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299315000,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47937333461304,"title":"11 oz \/ Function Green","option1":"11 oz","option2":"Function Green","option3":null,"sku":"sos-conditioner.11oz.function-green","requires_shipping":true,"taxable":true,"featured_image":{"id":45636473815352,"product_id":9023840551224,"position":15,"created_at":"2024-04-25T07:48:03-04:00","updated_at":"2025-04-15T15:12:32-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_16oz_Green_variant.png?v=1744744352","variant_ids":[47937333461304]},"available":true,"name":"SOS Custom Repair Conditioner - 11 oz \/ Function Green","public_title":"11 oz \/ Function Green","options":["11 oz","Function Green"],"price":3200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":38133757870392,"position":15,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_16oz_Green_variant.png?v=1744744352"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693298889016,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693298921784,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693298954552,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":694906618168,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299315000,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47937333428536,"title":"11 oz \/ Orange","option1":"11 oz","option2":"Orange","option3":null,"sku":"sos-conditioner.11oz.orange","requires_shipping":true,"taxable":true,"featured_image":{"id":45636473782584,"product_id":9023840551224,"position":14,"created_at":"2024-04-25T07:47:31-04:00","updated_at":"2025-04-15T15:12:32-04:00","alt":null,"width":2160,"height":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_16oz_Orange_variant.png?v=1744744352","variant_ids":[47937333428536]},"available":true,"name":"SOS Custom Repair Conditioner - 11 oz \/ Orange","public_title":"11 oz \/ Orange","options":["11 oz","Orange"],"price":2900,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":38133752267064,"position":14,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_16oz_Orange_variant.png?v=1744744352"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693298889016,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693298921784,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693298954552,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":694906618168,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":2900}],"price":2900,"compare_at_price":2900,"per_delivery_price":2900,"selling_plan_id":693299315000,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"}],"quantity_rule":{"min":1,"max":null,"increment":1}}
55,{"id":50994052759864,"title":"11 oz \/ Blue","option1":"11 oz","option2":"Blue","option3":null,"sku":"sos-conditioner.11oz.blue","requires_shipping":true,"taxable":true,"featured_image":{"id":53323669274936,"product_id":9023840551224,"position":19,"created_at":"2025-08-12T15:02:23-04:00","updated_at":"2025-08-12T15:02:25-04:00","alt":null,"width":1080,"height":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Conditioner-Blue.png?v=1755025345","variant_ids":[50994052759864]},"available":true,"name":"SOS Custom Repair Conditioner - 11 oz \/ Blue","public_title":"11 oz \/ Blue","options":["11 oz","Blue"],"price":3200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":43358677270840,"position":20,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Conditioner-Blue.png?v=1755025345"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693298889016,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693298921784,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693298954552,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":694906618168,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"},{"price_adjustments":[{"position":1,"price":3200}],"price":3200,"compare_at_price":3200,"per_delivery_price":3200,"selling_plan_id":693299315000,"selling_plan_group_id":"244d80468611b24b61e8d00fef5557495de8d8a4"}],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Conditioner-Orange_Reflection.png?v=1744744352","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_16oz_Orange_PLP.jpg?v=1744744352","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-CONDITIONER_02.jpg?v=1744744352","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Conditioner_03.jpg?v=1744744352","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-CONDITIONER_ECOMM_04.jpg?v=1744744352","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Conditioner_06.jpg?v=1744744352","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Conditioner_05.jpg?v=1744744352","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Conditioner_07.jpg?v=1744744352","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Conditioner_08.jpg?v=1744744352","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-CONDITIONER_09.jpg?v=1744744352","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-CONDITIONER_10.gif?v=1744744352","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-CONDITIONER_11.jpg?v=1744744352","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-CONDITIONER_12.jpg?v=1744744352","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_16oz_Orange_variant.png?v=1744744352","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_16oz_Green_variant.png?v=1744744352","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_11oz_Dye_Free-variant.png?v=1744744352","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_11oz_Purple_variant.png?v=1756940893","\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_16oz_Pink_variant.png?v=1744744352","\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Conditioner-Blue.png?v=1755025345"],"featured_image":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Conditioner-Orange_Reflection.png?v=1744744352","o
55ptions":["Size","Color"],"media":[{"alt":null,"id":41577327231288,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Conditioner-Orange_Reflection.png?v=1744744352"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Conditioner-Orange_Reflection.png?v=1744744352","width":1080},{"alt":null,"id":38133742600504,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_16oz_Orange_PLP.jpg?v=1744744352"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_16oz_Orange_PLP.jpg?v=1744744352","width":2160},{"alt":null,"id":38133644591416,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-CONDITIONER_02.jpg?v=1744744352"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-CONDITIONER_02.jpg?v=1744744352","width":2160},{"alt":null,"id":38133644624184,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Conditioner_03.jpg?v=1744744352"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Conditioner_03.jpg?v=1744744352","width":2160},{"alt":null,"id":38133644951864,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-CONDITIONER_ECOMM_04.jpg?v=1744744352"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-CONDITIONER_ECOMM_04.jpg?v=1744744352","width":2160},{"alt":null,"id":38133644689720,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Conditioner_06.jpg?v=1744744352"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Conditioner_06.jpg?v=1744744352","width":2160},{"alt":null,"id":38133644656952,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Conditioner_05.jpg?v=1744744352"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Conditioner_05.jpg?v=1744744352","width":2160},{"alt":null,"id":38133644755256,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Conditioner_07.jpg?v=1744744352"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Conditioner_07.jpg?v=1744744352","width":2160},{"alt":null,"id":38133644788024,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Conditioner_08.jpg?v=1744744352"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-Conditioner_08.jpg?v=1744744352","width":2160},{"alt":null,"id":38133644820792,"position":10,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-CONDITIONER_09.jpg?v=1744744352"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-CONDITIONER_09.jpg?v=1744744352","width":2160},{"alt":null,"id":38133644853560,"position":11,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-CONDITIONER_10.gif?v=1744744352"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-CONDITIONER_10.gif?v=1744744352","width":1080},{"alt":null,"id":38133644886328,"position":12,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-CONDITIONER_11.jpg?v=1744744352"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-CONDITIONER_11.jpg?v=1744744352","width":2160},{"alt":null,"id":38133644919096,"position":13,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-CONDITIONER_12.jpg?v=1744744352"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-PDP-Recovery-CONDITIONER_12.jpg?v=1744744352","width":2160},{"alt":null,"id":38133752267064,"position":14,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_16oz_Orange_variant.png?v=1744744352"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_16oz_Orange_variant.png?v=1744744352","width":2160},{"alt":null,"id":38133757870392,"position":15,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_16oz_Green_variant.png?v=1744744352"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_16oz_Green_variant.png?v=1744744352","width":2160},{"alt":null,"id":38245096194360,"position":16,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_11oz_Dye_Free-variant.png?v=1744744352"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_11oz_Dye_Free-variant.png?v=1744744352","width":2160},{"alt":null,"id":38133763146040,"position":17,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_11oz_Purple_variant.png?v=1756940893"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_11oz_Purple_variant.png?v=1756940893","width":2160},{"alt":null,"id":38133760164152,"position":18,"preview_image":{"aspect_ratio":1.0,"height":2160,"width":2160,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_16oz_Pink_variant.png?v=1744744352"},"aspect_ratio":1.0,"height":2160,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/FOB-ECOMM-Recovery-Conditioner_16oz_Pink_variant.png?v=1744744352","width":2160},{"alt":null,"id":42071124181304,"position":19,"preview_image":{"aspect_ratio":1.0,"height":720,"width":720,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/preview_images\/f50043a88f924186a7527485056b3c63.thumbnail.0000000000.jpg?v=1750081967"},"aspect_ratio":1.0,"duration":2920,"media_type":"video","sources":[{"format":"mp4","height":480,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/f50043a88f924186a7527485056b3c63\/f50043a88f924186a7527485056b3c63.SD-480p-1.2Mbps-49479707.mp4?v=0","width":480},{"format":"mp4","height":720,"mime_type":"video\/mp4","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/f50043a88f924186a7527485056b3c63\/f50043a88f924186a7527485056b3c63.HD-720p-3.0Mbps-49479707.mp4?v=0","width":720},{"format":"m3u8","height":720,"mime_type":"application\/x-mpegURL","url":"\/\/functionofbeauty.com\/cdn\/shop\/videos\/c\/vp\/f50043a88f924186a7527485056b3c63\/f50043a88f924186a7527485056b3c63.m3u8?v=0","width":720}]},{"alt":null,"id":43358677270840,"position":20,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Conditioner-Blue.png?v=1755025345"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/functionofbeauty.com\/cdn\/shop\/files\/SOS_Conditioner-Blue.png?v=1755025345","width":1080}],"requires_selling_plan":false,"selling_plan_groups":[{"id":"244d80468611b24b61e8d00fef5557495de8d8a4","name":"SOS Custom Repair Conditioner","options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"values":["1 Month(s)","2 Month(s)","3 Month(s)","4 Month(s)","6 Month(s)"]}],"selling_plans":[{"id":693298889016,"name":"Delivery every 1 Month","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"1 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":693298921784,"name":"Delivery every 2 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"2 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":693298954552,"name":"Delivery every 3 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"3 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":694906618168,"name":"Delivery every 4 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"4 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}}
55,{"id":693299315000,"name":"Delivery every 6 Months","description":null,"options":[{"name":"1 Month(s), 2 Month(s), 3 Month(s), 4 Month(s), 6 Month(s)","position":1,"value":"6 Month(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":0}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"}],"content":"\u003cspan data-mce-fragment=\"1\"\u003e\u003cspan style=\"font-weight: 400;\" data-mce-fragment=\"1\" data-mce-style=\"font-weight: 400;\"\u003eA strengthening and nourishing conditioner for stronger, more resilient hair thanks to our U.S.\u003c\/span\u003e patent-pending Biotech Powered Custom Repair that works to help repair hair from the inside out. Dermatologist tested and fully customized to the unique needs of your hair type and damage level. Size: 11 oz\u003c\/span\u003e"}],
56            specific_collection_discount_list: [{"id":482719007032,"handle":"regimen","title":"regimen","updated_at":"2026-09-24T07:07:36-04:00","body_html":"","published_at":"2024-10-07T10:42:36-04:00","sort_order":"alpha-asc","template_suffix":"regimen","disjunctive":true,"rules":[{"column":"tag","relation":"equals","condition":"in_configuration"}],"published_scope":"web"}],
57            specific_discount_value: 20,
58            specific_discount_text: '',
59            enable_specific_discount_one_time: false,
60            enable_specific_discount_subscriptions: true,
61            freshdesk_domain: 'functionofbeauty.freshdesk.com' ,
62            enable_twenty_five_on_three: false,
63            enable_twenty_seventy: false,
64            enable_discount_regimen:false,
65            discount_products_quantity_regimen:0,
66            discount_percentage_regimen:20,
67            discount_shampoo_conditioner: 20,
68            cancel_sub_text: '<h2 class="cancel-title-warning ">Are you sure?</h2><p class="cancel-text-warning">We wanted to let you know that we are discontinuing sizes of one or more products in your subscription. We are only offering 11 oz sizes on our Custom &amp; Purple Shampoos and Conditioners, and in our Bestseller pre-formulated products. Prices for our 11 oz products are $29.</p><p class="cancel-text-warning">If you cancel, you will lose the ability to keep receiving these products in either 16oz or 8oz. These sizes will not return.</p><p class="cancel-text-warning">Have questions about this?</p>',
69            cancel_sub_link_url: '/pages/contact-us',
70            cancel_sub_link_label: 'Contact us',
71            cancel_sub_text_color: '<p>One or more of the colors you selected for custom products in this subscription is being discontinued. If you cancel this subscription, you will no longer be able to choose this color in the future.</p>',
72            cancel_sub_link_url_color: '',
73            cancel_sub_link_label_color: '',
74            delete_card_text_on_edit: 'This subscription contains discontinued 8oz or 16oz products. If you would like to make any edits to this subscription but keep these 8oz or 16oz products, please reach out to our customer service team at [email protected].',
75            delete_card_text_on_edit_color: '<p>One or more of the colors you selected for custom products in this subscription is being discontinued. If you cancel this subscription, you will no longer be able to choose this color in the future.</p>',
76            core_reform_colors_remove: 'Black, Sunkissed',
77            show_best_seller_on_shop_all: 'false',
78            shop_permanent_domain: "fob-admin.myshopify.com",
79            page_metafield_allowed_regions: null,
80            free_sample_product: '',
81            customer_loyalty: '',
82            recommendation_header: 'Inspired by your routine',
83            enable_cancel_prevention_24_hours: false,
84            text_cancel_prevention_24_hours: 'This order is already in progress and can no longer be canceled. Please reach out to customer support if you need help.',
85            cancel_sub_discount_error_title: 'Oops!' || '',
86            cancel_sub_discount_error_description: "Something went wrong. Please reach out to Customer \u003ca href=\"https:\/\/functionofbeauty.com\/pages\/contact-us\"\u003eSupport\u003c\/a\u003e if the problem persists.",
87            cart_popup_title: 'Added to Cart',
88            cart_popup_description: 'Your products have been added to your cart.',
89            cart_popup_button_1_text: 'Continue Shopping',
90            cart_popup_button_2_text: 'View Cart',
91            cart_continue_shopping_url: '/pages/shop-all'
92        }
93
94        window.localStorage.setItem('fob-settings', JSON.stringify(settings));
95        window.localStorage.setItem('storefront-domain', 'functionofbeauty.com');
96    </script>
96
97
98    
98<script>
99      window.customer = {};
100      window.customer.id = ;
101    </script>
101
102
103    
104    <meta charset="utf-8">
105<meta http-equiv="X-UA-Compatible" content="IE=edge">
106<meta name="viewport" content="width=device-width, initial-scale=1.0, height=device-height, minimum-scale=1.0">
107<meta name="theme-color" content="">
108
109<link rel="canonical" href="https://functionofbeauty.com/pages/store-locator">
110
111    
112        <meta name="robots" content="index,follow">
113    
114
115    
116        <link rel="shortcut icon" href="//functionofbeauty.com/cdn/shop/files/logo_32x32.png?v=1696690657" type="image/png">
117    
118
119  
120  
121  
122
123  
124
125  
126    <title>
127    Store Locator Page
128    
129    
130    
131      &ndash; Function of Beauty
132    
133  </title>
134  
135
136  
137  
138
139  
140    <meta name="description" content="Find Function of Beauty in a store near you!   Loading store locator from Stockist store locator...">
141  
142
143  
144
145  
146
147<meta property="og:site_name" content="Function of Beauty">
148<meta property="og:url" content="https://functionofbeauty.com/pages/store-locator">
149<meta property="og:title" content="Store Locator Page">
150<meta property="og:type" content="website">
151<meta property="og:description" content="Find Function of Beauty in a store near you!   Loading store locator from Stockist store locator..."><meta property="og:image" content="https://functionofbeauty.com/cdn/shop/files/FUNCTION_LINK_1200x628_47b7742f-3e1f-47ba-83cb-5182d8d05ebb_1024x1024.png?v=1698694256">
152
153<meta name="description" content="Find Function of Beauty in a store near you!   Loading store locator from Stockist store locator...">
154<meta name="twitter:site" content="@">
155<meta name="twitter:card" content="summary_large_image">
156<meta name="twitter:title" content="Store Locator Page">
157<meta name="twitter:description" content="Find Function of Beauty in a store near you!   Loading store locator from Stockist store locator...">
158
159
160<script>
161    (function () {
162        var root = document.documentElement;
163
164        try {
165            var vv = window.visualViewport;
166
167            root.style.setProperty('--vh', (vv.height / 100) + 'px');
168            root.style.setProperty('--vw', (vv.width / 100) + 'px');
169            vv.addEventListener('resize', () => {
170                root.style.setProperty('--vh', (vv.height / 100) + 'px');
171                root.style.setProperty('--vw', (vv.width / 100) + 'px');
172            });
173        } catch (_) {
174            // VisualViewport not supported, use `document.documentElement.clientHeight` instead
175            root.style.setProperty('--vh', (root.clientHeight / 100) + 'px');
176            root.style.setProperty('--vw', (root.clientWidth / 100) + 'px');
177            window.addEventListener('resize', () => {
178                root.style.setProperty('--vh', (root.clientHeight / 100) + 'px');
179                root.style.setProperty('--vw', (root.clientWidth / 100) + 'px');
180            });
181        }
182    })();
183</script>
183
184
185
186<style>
187    :root {
188        --black: #000000;
189        --white: #ffffff;
190    }
191</style>
192
193
194
195<link rel="stylesheet" href="//functionofbeauty.com/cdn/shop/t/807/assets/theme.css?v=66168105974688568211786549187" data-href="assets/theme.css" >
196<meta name="google-site-verification" content="GooGhywoiu9839t543j0s7543uw1. Please grant Admin access for user [email protected] in Google Ads account 432-235-7782 - Date 07/20/2026.">
197
198<!-- Osano -->
199<script src="https://cmp.osano.com/AzZMz2TUXmyvO3nft/ffb4dce1-6aab-4c71-80d3-ea735f891c9a/osano.js"></script>
199
200<!-- End Osano -->
201
202<!-- Yottaa -->
203<script src="https://rapid-cdn.yottaa.com/rapid/lib/y4-_IDbyr73GPg.js"></script>
203
204<!-- End Yottaa -->
205
206<!-- Google Tag Manager -->
207<script>
vendor: 335 bytes, lines 207-211
207(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
208    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
209  j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
210  'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
211})(window,document,'script','dataLayer','
211GTM-5VDHCDS4
vendor: 3 bytes, line 211
211');
211</script>
211
212<!-- End Google Tag Manager -->
213
214<!-- Hotjar Tracking Code -->
215<script>
vendor: 115 bytes, lines 215-218
215
216  (function(h,o,t,j,a,r){
217    h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
218    h._hjSettings={hjid:
2181683527
vendor: 240 bytes, lines 218-223
218,hjsv:6};
219    a=o.getElementsByTagName('head')[0];
220    r=o.createElement('script');r.async=1;
221    r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
222    a.appendChild(r);
223  })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
224</script>
224
225<!-- End Hotjar Tracking Code -->
226
227<script type="text/javascript">
228  ;window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]}};
229
230  ;NREUM.loader_config={accountID:"2930607",trustKey:"2930607",agentID:"601421503",licenseKey:"NRJS-63e7894b1fd281b8465",applicationID:"601421503"};
231  ;NREUM.info={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",licenseKey:"NRJS-63e7894b1fd281b8465",applicationID:"601421503",sa:1};
232  ;/*! For license information please see nr-loader-spa-1.243.1.min.js.LICENSE.txt */
233  (()=>{"use strict";var e,t,r={234:(e,t,r)=>{r.d(t,{P_:()=>g,Mt:()=>v,C5:()=>s,DL:()=>w,OP:()=>S,lF:()=>N,Yu:()=>x,Dg:()=>m,CX:()=>c,GE:()=>A,sU:()=>j});var n=r(8632),i=r(9567);const o={beacon:n.ce.beacon,errorBeacon:n.ce.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.D)(t,o),(0,n.Qy)(e,a[e],"info")}const u=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var d=r(7056),l=r(50);const f=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{proxy:{assets:void 0,beacon:void 0},privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},session:{domain:void 0,expiresMs:d.oD,inactiveMs:d.Hb},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},metrics:{enabled:!0,autoStart:!0},page_action:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1,autoStart:!0},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},harvest:{tooManyRequestsDelay:60},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,sampling_rate:50,error_sampling_rate:50,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){u(t)?e.mask_selector=t+",[data-nr-mask]":null===t?e.mask_selector=t:(0,l.Z)("An invalid session_replay.mask_selector was provided and will not be used",t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){u(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.Z)("An invalid session_replay.block_selector was provided and will not be used",t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.Z)("An invalid session_replay.mask_input_option was provided and will not be used",t)}},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0}}},h={},p="All configuration objects require an agent identifier!";function g(e){if(!e)throw new Error(p);if(!h[e])throw new Error("Configuration for ".concat(e," was never set"));return h[e]}function m(e,t){if(!e)throw new Error(p);h[e]=(0,i.D)(t,f()),(0,n.Qy)(e,h[e],"config")}function v(e,t){if(!e)throw new Error(p);var r=g(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}const b={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},y={};function w(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!y[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return y[e]}function A(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");y[e]=(0,i.D)(t,b),(0,n.Qy)(e,y[e],"loader_config")}const x=(0,n.mF)().o;var E=r(385),_=r(6818);const T={buildEnv:_.Re,customTransaction:void 0,disabled:!1,distMethod:_.gF,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,offset:M
233ath.floor(E._A?.performance?.timeOrigin||E._A?.performance?.timing?.navigationStart||Date.now()),onerror:void 0,origin:""+E._A.location,ptid:void 0,releaseIds:{},session:void 0,xhrWrappable:"function"==typeof E._A.XMLHttpRequest?.prototype?.addEventListener,version:_.q4,denyList:void 0},D={};function S(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!D[e])throw new Error("Runtime for ".concat(e," was never set"));return D[e]}function j(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");D[e]=(0,i.D)(t,T),(0,n.Qy)(e,D[e],"runtime")}function N(e){return function(e){try{const t=s(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}(e)}},9567:(e,t,r)=>{r.d(t,{D:()=>i});var n=r(50);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.Z)("Setting a Configurable requires an object as input");if(!t||"object"!=typeof t)return(0,n.Z)("Setting a Configurable requires a model to set its initial properties");const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.Z)("An error occurred while setting a property of a Configurable",e)}return r}catch(e){(0,n.Z)("An error occured while setting a Configurable",e)}}},6818:(e,t,r)=>{r.d(t,{Re:()=>i,gF:()=>o,q4:()=>n});const n="1.243.1",i="PROD",o="CDN"},385:(e,t,r)=>{r.d(t,{FN:()=>s,IF:()=>d,Nk:()=>f,Tt:()=>c,_A:()=>o,cv:()=>h,iS:()=>a,il:()=>n,ux:()=>u,v6:()=>i,w1:()=>l});const n="undefined"!=typeof window&&!!window.document,i="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=n?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a=Boolean("hidden"===o?.document?.visibilityState),s=""+o?.location,c=/iPad|iPhone|iPod/.test(o.navigator?.userAgent),u=c&&"undefined"==typeof SharedWorker,d=(()=>{const e=o.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),l=Boolean(n&&window.document.documentMode),f=!!o.navigator?.sendBeacon,h=Math.floor(o?.performance?.timeOrigin||o?.performance?.timing?.navigationStart||Date.now())},1117:(e,t,r)=>{r.d(t,{w:()=>o});var n=r(50);const i={agentIdentifier:"",ee:void 0};class o{constructor(e){try{if("object"!=typeof e)return(0,n.Z)("shared context requires an object as input");this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,r]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=r)}))}catch(e){(0,n.Z)("An error occured while setting SharedContext",e)}}}},8e3:(e,t,r)=>{r.d(t,{L:()=>d,R:()=>c});var n=r(8325),i=r(1284),o=r(4322),a=r(3325);const s={};function c(e,t){const r={staged:!1,priority:a.p[t]||0};u(e),s[e].get(t)||s[e].set(t,r)}function u(e){e&&(s[e]||(s[e]=new Map))}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"feature";if(u(e),!e||!s[e].get(t))return a(t);s[e].get(t).staged=!0;const r=[...s[e]];function a(t){const r=e?n.ee.get(e):n.ee,a=o.X.handlers;if(r.backlog&&a){var s=r.backlog[t],c=a[t];if(c){for(var u=0;s&&u<s.length;++u)l(s[u],c);(0,i.D)(c,(function(e,t){(0,i.D)(t,(function(t,r){r[0].on(e,r[1])}))}))}delete a[t],r.backlog[t]=null,r.emit("drain-"+t,[])}}r.every((e=>{let[t,r]=e;return r.staged}))&&(r.sort(((e,t)=>e[1].priority-t[1].priority)),r.forEach((t=>{let[r]=t;s[e].delete(r),a(r)})))}function l(e,t){var r=e[1];(0,i.D)(t[r],(function(t,r){var n=e[0];if(r[0]===n){var i=r[1],o=e[3],a=e[2];i.apply(o,a)}}))}},8325:(e,t,r)=>{r.d(t,{A:()=>c,ee:()=>u});var n=r(8632),i=r(2210),o=r(234);class a{constructor(e){this.contextId=e}}var s=r(3117);const c="nr@context:".concat(s.a),u=function e(t,r){var n={},s={},d={},f=!1;try{f=16===r.length&&(0,o.OP)(r).isolatedBacklog}catch(e){}var h={on:g,addEventListener:g,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=p(n),c=m(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var f=b()[s[e]];f&&f.push([h,e,r,a]);return a},get:v,listeners:m,context:p,buffer:function(e,t){const r=b();if(t=t||"feature",h.aborted)return;Object.entries(e||{}
233).forEach((e=>{let[n,i]=e;s[i]=t,t in r||(r[t]=[])}))},abort:l,aborted:!1,isBuffering:function(e){return!!b()[s[e]]},debugId:r,backlog:f?{}:t&&"object"==typeof t.backlog?t.backlog:{}};return h;function p(e){return e&&e instanceof a?e:e?(0,i.X)(e,c,(()=>new a(c))):new a(c)}function g(e,t){n[e]=m(e).concat(t)}function m(e){return n[e]||[]}function v(t){return d[t]=d[t]||e(h,t)}function b(){return h.backlog}}(void 0,"globalEE"),d=(0,n.fP)();function l(){u.aborted=!0,u.backlog={}}d.ee||(d.ee=u)},5546:(e,t,r)=>{r.d(t,{E:()=>n,p:()=>i});var n=r(8325).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},4322:(e,t,r)=>{r.d(t,{X:()=>o});var n=r(5546);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.E,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.E);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3239:(e,t,r)=>{r.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var n=r(385);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};n._A.addEventListener("test",null,e),n._A.removeEventListener("test",null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;window.addEventListener(e,t,a(r,n))}function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;document.addEventListener(e,t,a(r,n))}},3117:(e,t,r)=>{r.d(t,{a:()=>n});const n=(0,r(4402).Rl)()},4402:(e,t,r)=>{r.d(t,{Ht:()=>u,M:()=>c,Rl:()=>a,ky:()=>s});var n=r(385);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n._A?.crypto||n._A?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(31))),i.split("").map((e=>"x"===e?o(t,++r).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n._A?.crypto||n._A?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(31)));const a=[];for(var s=0;s<e;s++)a.push(o(r,++i).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},7056:(e,t,r)=>{r.d(t,{Bq:()=>n,Hb:()=>o,oD:()=>i});const n="NRBA",i=144e5,o=18e5},7894:(e,t,r)=>{function n(){return Math.round(performance.now())}r.d(t,{z:()=>n})},7243:(e,t,r)=>{r.d(t,{e:()=>o});var n=r(385),i={};function o(e){if(e in i)return i[e];if(0===(e||"").indexOf("data:"))return{protocol:"data"};let t;var r=n._A?.location,o={};if(n.il)t=document.createElement("a"),t.href=e;else try{t=new URL(e,r.href)}catch(e){return o}o.port=t.port;var a=t.href.split("://");!o.port&&a[1]&&(o.port=a[1].split("/")[0].split("@").pop().split(":")[1]),o.port&&"0"!==o.port||(o.port="https"===a[0]?"443":"80"),o.hostname=t.hostname||r.hostname,o.pathname=t.pathname,o.protocol=a[0],"/"!==o.pathname.charAt(0)&&(o.pathname="/"+o.pathname);var s=!t.protocol||":"===t.protocol||t.protocol===r.protocol,c=t.hostname===r.hostname&&t.port===r.port;return o.sameOrigin=s&&(!t.hostname||c),"/"===o.pathname&&(i[e]=o),o}},50:(e,t,r)=>{function n(e,t){"function"==typeof console.warn&&(console.warn("New Relic: ".concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},2587:(e,t,r)=>{r.d(t,{N:()=>c,T:()=>u});var n=r(8325),i=r(5546),o=r(3325);const a={stn:[o.D.sessionTrace],err:[o.D.jserrors,o.D.metrics],ins:[o.D.pageAction],spa:[o.D.spa],sr:[o.D.sessionReplay,o.D.sessionTrace]},s=new Set;function c(e,t){const r=n.ee.get(t);e&&"object"==typeof e&&(s.has(t)||Object.entries(e).forEach((e=>{let[t,n]=e;a[t]?a[t].forEach((e=>{n?(0,i.p)("feat-"+t,[],void 0,e,r):(0,i.p)("block-"+t,[],void 0,e,r),(0,i.p)("rumresp-"+t,[Boolean(n)],void 0,e,r)})):n&&(0,i.p)("feat-"+t,[],void 0,void 0,r),u[t]=Boolean(n)})),Object.keys(a).forEach((e=>{void 0===u[e]&&(a[e]?.forEach((t=>(0,i.p)("rumresp-"+e,[!1],void 0,t,r))),u[e]=!1)})),s.add(t))}const u={}},2210:(e,t,r)=>{r.d(t,{X:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},1284:(e,t,r)=>{r.d(t,{D:()=>n});const n=(e,t)=>Object.entries(e||{}).map((e=>{let[r,n]=e;return t(r,n)}))},4351:(e,t,r)=>{r.d(t,{P:()=>o});var n=r(8325);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}}}},3960:(e,t,r)=>{r.d(t,{K:()=>a,b:()=>o});var n=r(3239);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.bP)("load",e,t)}function a(e){if(i())return e();(0,n.iz)("DOMContentLoaded",e)}},8632:(e,t,r)=>{r.d(t,{EZ:()=>u,Qy:()=>c,ce:()=>o,fP:()=>a,gG:()=>d,mF:()=>s});var n=r(7894),i=r(385);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return i._A.NREUM||(i._A.NREUM={}),void 0===i._A.newrelic&&(i._A.newrelic=i._A.NREUM),i._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:i._A.setTimeout,SI:i._A.setImmediate,CT:i._A.clearTimeout,XHR:i._A.XMLHttpRequest,REQ:i._A.Request,EV:i._A.Event,PR:i._A.Promise,MO:i._A.MutationObserver,FETCH:i._A.fetch}),e}function c(e,t,r){let i=a();const o=i.initializedAgents||{},s=o[e]||{};return Object.keys(s).length||(s.initializedAt={ms:(0,n.z)(),date:new Date}),i.initializedAgents={...o,[e]:{...s,[r]:t}},i}function u(e,t){a()[e]=t}function d(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},7956:(e,t,r)=>{r.d(t,{N:()=>i});var n=r(3239);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;(0,n.iz)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},1214:(e,t,r)=>{r.d(t,{em:()=>b,u5:()=>S,QU:()=>C,_L:()=>I,Gm:()=>H,Lg:()=>L,BV:()=>G,Kf:()=>K});var n=r(8325),i=r(3117);const o="nr@original:".concat(i.a);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}
233(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}var l=r(2210),f=r(385);const h={},p=f._A.XMLHttpRequest,g="addEventListener",m="removeEventListener",v="nr@wrapped:".concat(n.A);function b(e){var t=function(e){return(e||n.ee).get("events")}(e);if(h[t.debugId]++)return t;h[t.debugId]=1;var r=c(t,!0);function i(e){r.inPlace(e,[g,m],"-",o)}function o(e,t){return e[1]}return"getPrototypeOf"in Object&&(f.il&&y(document,i),y(f._A,i),y(p.prototype,i)),t.on(g+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,l.X)(n,v,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(m+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function y(e,t){let r=e;for(;"object"==typeof r&&!Object.prototype.hasOwnProperty.call(r,g);)r=Object.getPrototypeOf(r);for(var n=arguments.length,i=new Array(n>2?n-2:0),o=2;o<n;o++)i[o-2]=arguments[o];r&&t(r,...i)}var w="fetch-",A=w+"body-",x=["arrayBuffer","blob","json","text","formData"],E=f._A.Request,_=f._A.Response,T="prototype";const D={};function S(e){const t=function(e){return(e||n.ee).get("fetch")}(e);if(!(E&&_&&f._A.fetch))return t;if(D[t.debugId]++)return t;function r(e,r,i){var o=e[r];"function"==typeof o&&(e[r]=function(){var e,r=[...arguments],a={};t.emit(i+"before-start",[r],a),a[n.A]&&a[n.A].dt&&(e=a[n.A].dt);var s=o.apply(this,r);return t.emit(i+"start",[r,e],s),s.then((function(e){return t.emit(i+"end",[null,e],s),e}),(function(e){throw t.emit(i+"end",[e],s),e}))})}return D[t.debugId]=1,x.forEach((e=>{r(E[T],e,A),r(_[T],e,A)})),r(f._A,"fetch",w),t.on(w+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(w+"done",[null,r],n)}else t.emit(w+"done",[e],n)})),t}const j={},N=["pushState","replaceState"];function C(e){const t=function(e){return(e||n.ee).get("history")}(e);return!f.il||j[t.debugId]++||(j[t.debugId]=1,c(t).inPlace(window.history,N,"-")),t}var O=r(3239);const P={},R=["appendChild","insertBefore","replaceChild"];function I(e){const t=function(e){return(e||n.ee).get("jsonp")}(e);if(!f.il||P[t.debugId])return t;P[t.debugId]=!0;var r=c(t),i=/[?&](?:callback|cb)=([^&#]+)/,o=/(.*)\.([^.]+)/,a=/^(\w+)(\.|$)(.*)$/;function s(e,t){if(!e)return t;const r=e.match(a),n=r[1];return s(r[3],t[n])}return r.inPlace(Node.prototype,R,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var n=(a=e.src,c=a.match(i),c?c[1]:null);var a,c;if(!n)return;var u=function(e){var t=e.match(o);if(t&&t.length>=3)return{key:t[2],parent:s(t[1],window)};return{key:e,parent:window}}(n);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,O.m$)(!1)),e.removeEventListener("error",f,(0,O.m$)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,O.m$)(!1)),e.removeEventListener("error",f,(0,O.m$)(!1))}
233r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,O.m$)(!1)),e.addEventListener("error",f,(0,O.m$)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const k={};function H(e){const t=function(e){return(e||n.ee).get("mutation")}(e);if(!f.il||k[t.debugId])return t;k[t.debugId]=!0;var r=c(t),i=f._A.MutationObserver;return i&&(window.MutationObserver=function(e){return this instanceof i?new i(r(e,"fn-")):i.apply(this,arguments)},MutationObserver.prototype=i.prototype),t}const z={};function L(e){const t=function(e){return(e||n.ee).get("promise")}(e);if(z[t.debugId])return t;z[t.debugId]=!0;var r=t.context,i=c(t),a=f._A.Promise;return a&&function(){function e(r){var n=t.context(),o=i(r,"executor-",n,null,!1);const s=Reflect.construct(a,[o],e);return t.context(s).getCtx=function(){return n},s}f._A.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return a.toString()},Object.setPrototypeOf(e,a),["all","race"].forEach((function(r){const n=a[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=a[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=a.prototype;const n=a.prototype.then;a.prototype.then=function(){var e=this,o=r(e);o.promise=e;for(var a=arguments.length,s=new Array(a),c=0;c<a;c++)s[c]=arguments[c];s[0]=i(s[0],"cb-",o,null,!1),s[1]=i(s[1],"cb-",o,null,!1);const u=n.apply(this,s);return o.nextPromise=u,t.emit("propagate",[e,!0],u,!1,!1),u},a.prototype.then[o]=n,t.on("executor-start",(function(e){e[0]=i(e[0],"resolve-",this,null,!1),e[1]=i(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const M={},B="setTimeout",F="setInterval",U="clearTimeout",Z="-start",V="-",q=[B,"setImmediate",F,U,"clearImmediate"];function G(e){const t=function(e){return(e||n.ee).get("timer")}(e);if(M[t.debugId]++)return t;M[t.debugId]=1;var r=c(t);return r.inPlace(f._A,q.slice(0,2),B+V),r.inPlace(f._A,q.slice(2,3),F+V),r.inPlace(f._A,q.slice(3),U+V),t.on(F+Z,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(B+Z,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}var W=r(50);const X={},Q=["open","send"];function K(e){var t=e||n.ee;const r=function(e){return(e||n.ee).get("xhr")}(t);if(X[r.debugId]++)return r;X[r.debugId]=1,b(t);var i=c(r),o=f._A.XMLHttpRequest,a=f._A.MutationObserver,s=f._A.Promise,u=f._A.setInterval,d="readystatechange",l=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],h=[],p=f._A.XMLHttpRequest=function(e){const t=new o(e),n=r.context(t);try{r.emit("new-xhr",[t],n),t.addEventListener(d,(a=n,function(){var e=this;e.readyState>3&&!a.resolved&&(a.resolved=!0,r.emit("xhr-resolved",[],e)),i.inPlace(e,l,"fn-",A)}),(0,O.m$)(!1))}catch(e){(0,W.Z)("An error occurred while intercepting XHR",e);try{r.emit("internal-error",[e])}catch(e){}}var a;return t};function g(e,t){i.inPlace(t,["onreadystatechange"],"fn-",A)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,p),p.prototype=o.prototype,i.inPlace(p.prototype,Q,"-xhr-",A),r.on("send-xhr-start",(function(e,t){g(e,t),function(e){h.push(e),a&&(m?m.then(w):u?u(w):(v=-v,y.data=v))}(t)})),r.on("open-xhr-start",g),a){var m=s&&s.resolve();if(!u&&!s){var v=1,y=document.createTextNode(v);new a(w).observe(y,{characterData:!0})}}else t.on("fn-end",(function(e){e[0]&&e[0].type===d||w()}));function w(){for(var e=0;e<h.length;e++)g(0,h[e]);h.length&&(h=[])}function A(e,t){return t}return r}},7825:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.ajax},6660:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.jserrors},3081:(e,t,r)=>{r.d(t,{gF:()=>o,mY:()=>i,t9:()=>n,vz:()=>s,xS:()=>a});const n=r(3325).D.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},4649:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageAction},7633:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageViewEvent},9251:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageViewTiming},7144:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.sessionReplay},3614:(e,t,r)=>{r.d(t,{BST_RESOURCE:()=>i,END:()=>s,FEATURE_NAME:()=>n,FN_END:()=>u,FN_START:()=>c,PUSH_STATE:()=>d,RESOURCE:()=>o,START:()=>a});const n=r(3325).D.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState"},7836:(e,t,r)=>{r.d(t,{BODY:()=>x,CB_END:()=>E,CB_START:()=>u,END:()=>A,FEATURE_NAME:()=>i,FETCH:()=>T,FETCH_BODY:()=>v,FETCH_DONE:()=>m,FETCH_START:()=>g,FN_END:()=>c,FN_START:()=>s,INTERACTION:()=>f,INTERACTION_API:()=>d,INTERACTION_EVENTS:()=>o,JSONP_END:()=>b,JSONP_NODE:()=>p,JS_TIME:()=>_,MAX_TIMER_BUDGET:()=>a,REMAINING:()=>l,SPA_NODE:()=>h,START:()=>w,originalSetTimeout:()=>y});var n=r(234);
233const i=r(3325).D.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=n.Yu.ST,w="-start",A="-end",x="-body",E="cb"+A,_="jsTime",T="fetch"},5938:(e,t,r)=>{r.d(t,{W:()=>i});var n=r(8325);class i{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=n.ee.get(e),this.featureName=r,this.blocked=!1}}},7530:(e,t,r)=>{r.d(t,{j:()=>b});var n=r(3325),i=r(234),o=r(5546),a=r(8325),s=r(7894),c=r(8e3),u=r(3960),d=r(385),l=r(50),f=r(3081),h=r(8632);function p(){const e=(0,h.gG)();["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start"].forEach((t=>{e[t]=function(){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];let o=[];return Object.values(e.initializedAgents).forEach((e=>{e.exposed&&e.api[t]&&o.push(e.api[t](...n))})),o.length>1?o:o[0]}(t,...n)}}))}var g=r(2587);const m=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let v=!1;function b(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},b=arguments.length>2?arguments[2]:void 0,y=arguments.length>3?arguments[3]:void 0,{init:w,info:A,loader_config:x,runtime:E={loaderType:b},exposed:_=!0}=t;const T=(0,h.gG)();A||(w=T.init,A=T.info,x=T.loader_config),(0,i.Dg)(e,w||{}),(0,i.GE)(e,x||{}),A.jsAttributes??={},d.v6&&(A.jsAttributes.isWorker=!0),(0,i.CX)(e,A);const D=(0,i.P_)(e),S=[A.beacon,A.errorBeacon];v||(v=!0,D.proxy.assets&&(m(D.proxy.assets),S.push(D.proxy.assets)),D.proxy.beacon&&S.push(D.proxy.beacon)),E.denyList=[...D.ajax.deny_list||[],...D.ajax.block_internal?S:[]],(0,i.sU)(e,E),p();const j=function(e,t){t||(0,c.R)(e,"api");const h={};var p=a.ee.get(e),g=p.get("tracer"),m="api-",v=m+"ixn-";function b(t,r,n,o){const a=(0,i.C5)(e);return null===r?delete a.jsAttributes[t]:(0,i.CX)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),A(m,n,!0,o||null===r?"session":void 0)(t,r)}function y(){}["setErrorHandler","finished","addToTrace","addRelease"].forEach((e=>{h[e]=A(m,e,!0,"api")})),h.addPageAction=A(m,"addPageAction",!0,n.D.pageAction),h.setCurrentRouteName=A(m,"routeName",!0,n.D.spa),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,i.OP)(e).customTransaction=(r||"http://custom.transaction")+t,A(m,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e){if(["string","number"].includes(typeof t)||null===t)return b(e,t,"setCustomAttribute",r);(0,l.Z)("Failed to execute setCustomAttribute.\nNon-null value must be a string or number type, but a type of <".concat(typeof t,"> was provided."))}else(0,l.Z)("Failed to execute setCustomAttribute.\nName must be a string type, but a type of <".concat(typeof e,"> was provided."))},h.setUserId=function(e){if("string"==typeof e||null===e)return b("enduser.id",e,"setUserId",!0);(0,l.Z)("Failed to execute setUserId.\nNon-null value must be a string type, but a type of <".concat(typeof e,"> was provided."))},h.setApplicationVersion=function(e){if("string"==typeof e||null===e)return b("application.version",e,"setApplicationVersion",!1);(0,l.Z)("Failed to execute setApplicationVersion. Expected <String | null>, but got <".concat(typeof e,">."))},h.start=e=>{try{const t=e?"defined":"undefined";(0,o.p)(f.xS,["API/start/".concat(t,"/called")],void 0,n.D.metrics,p);const r=Object.values(n.D);if(void 0===e)e=r;else{if((e=Array.isArray(e)&&e.length?e:[e]).some((e=>!r.includes(e))))return(0,l.Z)("Invalid feature name supplied. Acceptable feature names are: ".concat(r));e.includes(n.D.pageViewEvent)||e.push(n.D.pageViewEvent)}e.forEach((e=>{p.emit("".concat(e,"-opt-in"))}))}catch(e){(0,l.Z)("An unexpected issue occurred",e)}},h.interaction=function(){return(new y).get()};var w=y.prototype={createTracer:function(e,t){var r={},i=this,a="function"==typeof t;return(0,o.p)(v+"tracer",[(0,s.z)(),e,r],i,n.D.spa,p),function(){if(g.emit((a?"":"no-")+"fn-start",[(0,s.z)(),i,a],r),a)try{return t.apply(this,arguments)}catch(e){throw g.emit("fn-err",[arguments,this,e],r),e}finally{g.emit("fn-end",[(0,s.z)()],r)}}}};
233function A(e,t,r,i){return function(){return(0,o.p)(f.xS,["API/"+t+"/called"],void 0,n.D.metrics,p),i&&(0,o.p)(e+t,[(0,s.z)(),...arguments],r?null:this,i,p),r?void 0:this}}function x(){r.e(111).then(r.bind(r,7438)).then((t=>{let{setAPI:r}=t;r(e),(0,c.L)(e,"api")})).catch((()=>(0,l.Z)("Downloading runtime APIs failed...")))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{w[e]=A(v,e,void 0,n.D.spa)})),h.noticeError=function(e,t){"string"==typeof e&&(e=new Error(e)),(0,o.p)(f.xS,["API/noticeError/called"],void 0,n.D.metrics,p),(0,o.p)("err",[e,(0,s.z)(),!1,t],void 0,n.D.jserrors,p)},d.il?(0,u.b)((()=>x()),!0):x(),h}(e,y);return(0,h.Qy)(e,j,"api"),(0,h.Qy)(e,_,"exposed"),(0,h.EZ)("activatedFeatures",g.T),j}},3325:(e,t,r)=>{r.d(t,{D:()=>n,p:()=>i});const n={ajax:"ajax",jserrors:"jserrors",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.ajax]:5,[n.sessionTrace]:6,[n.pageAction]:7,[n.spa]:8,[n.sessionReplay]:9}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({111:"nr-spa",164:"nr-spa-compressor",433:"nr-spa-recorder"}[e]+"-1.243.1.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.243.1.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}s||(c=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r),e[r]=[n];var f=(t,n)=>{s.onerror=s.onload=null,clearTimeout(h);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},h=setTimeout(f.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=f.bind(null,s.onerror),s.onload=f.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={801:0,92:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.243.1.PROD"]=self["webpackChunk:NRBA-1.243.1.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{var e=i(50);class t{addPageAction(t,r){(0,e.Z)("Call to agent api addPageAction failed. The session trace feature is not currently initialized.")}setPageViewName(t,r){(0,e.Z)("Call to agent api setPageViewName failed. The page view feature is not currently initialized.")}setCustomAttribute(t,r,n){(0,e.Z)("Call to agent api setCustomAttribute failed. The js errors feature is not currently initialized.")}noticeError(t,r){(0,e.Z)("Call to agent api noticeError failed. The js errors feature is not currently initialized.")}setUserId(t){(0,e.Z)("Call to agent api setUserId failed. The js errors feature is not currently initialized.")}setApplicationVersion(t){(0,e.Z)("Call to agent api setApplicationVersion failed. The agent is not currently initialized.")}setErrorHandler(t){(0,e.Z)("Call to agent api setErrorHandler failed. The js errors feature is not currently initialized.")}finished(t){(0,e.Z)("Call to agent api finished failed. The page action feature is not currently initialized.")}addRelease(t,r){(0,e.Z)("Call to agent api addRelease failed. The agent is not currently initialized.")}start(t){(0,e.Z)("Call to agent api addRelease failed. The agent is not currently initialized.")}}var r=i(3325),n=i(234);const o=Object.values(r.D);function a(e){const t={};return o.forEach((r=>{t[r]=function(e,t){return!1!==(0,n.Mt)(t,"".concat(e,".enabled"))}(r,e)})),t}var s=i(7530);var c=i(8e3),u=i(5938),d=i(3960),l=i(385);class f extends u.W{constructor(e,t,r){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.auto=i,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===(0,n.Mt)(this.agentIdentifier,"".concat(this.featureName,".autoStart"))&&(this.auto=!1),this.auto&&(0,c.R)(e,r)}importAggregator(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.featAggregate)return;if(!this.auto)return void this.ee.on("".concat(this.featureName,"-opt-in"),(()=>{(0,c.R)(this.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator()}));const r=l.il&&!0===(0,n.Mt)(this.agentIdentifier,"privacy.cookies_enabled");let o;this.onAggregateImported=new Promise((e=>{o=e}));const a=async()=>{let n;try{if(r){const{setupAgentSession:e}=await i.e(111).then(i.bind(i,3228));n=e(this.agentIdentifier)}}catch(t){(0,e.Z)("A problem occurred when starting up session manager. This page will not start or extend any session.",t)}
233try{if(!this.shouldImportAgg(this.featureName,n))return(0,c.L)(this.agentIdentifier,this.featureName),void o(!1);const{lazyFeatureLoader:e}=await i.e(111).then(i.bind(i,8582)),{Aggregate:r}=await e(this.featureName,"aggregate");this.featAggregate=new r(this.agentIdentifier,this.aggregator,t),o(!0)}catch(t){(0,e.Z)("Downloading and initializing ".concat(this.featureName," failed..."),t),this.abortHandler?.(),(0,c.L)(this.agentIdentifier,this.featureName),o(!1)}};l.il?(0,d.b)((()=>a()),!0):a()}shouldImportAgg(e,t){return e!==r.D.sessionReplay||!!n.Yu.MO&&(!1!==(0,n.Mt)(this.agentIdentifier,"session_trace.enabled")&&(!!t?.isNew||!!t?.state.sessionReplay))}}var h=i(7633);class p extends f{static featureName=h.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,h.t,r),this.importAggregator()}}var g=i(1117),m=i(1284);class v extends g.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,r,n,i){var o=this.getBucket(e,t,r,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,m.D)(e,(function(e,r){t[e]=b(r,t[e])})),t}(n,o.metrics),o}merge(e,t,r,n,i){var o=this.getBucket(e,t,n,i);if(o.metrics){var a=o.metrics;a.count+=r.count,(0,m.D)(r,(function(e,t){if("count"!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=b(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=y(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=r}storeMetric(e,t,r,n){var i=this.getBucket(e,t,r);return i.stats=b(n,i.stats),i}getBucket(e,t,r,n){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:r||{}},n&&(i.custom=n)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},r="",n=!1,i=0;i<e.length;i++)t[r=e[i]]=w(this.aggregatedData[r]),t[r].length&&(n=!0),delete this.aggregatedData[r];return n?t:null}}function b(e,t){return null==e?function(e){e?e.c++:e={c:1};return e}(t):t?(t.c||(t=y(t.t)),t.c+=1,t.t+=e,t.sos+=e*e,e>t.max&&(t.max=e),e<t.min&&(t.min=e),t):{t:e}}function y(e){return{t:e,min:e,max:e,sos:e*e,c:1}}function w(e){return"object"!=typeof e?[]:(0,m.D)(e,A)}function A(e,t){return t}var x=i(8632),E=i(4402),_=i(4351);var T=i(5546),D=i(7956),S=i(3239),j=i(7894),N=i(9251);class C extends f{static featureName=N.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,N.t,r),l.il&&((0,D.N)((()=>(0,T.p)("docHidden",[(0,j.z)()],void 0,N.t,this.ee)),!0),(0,S.bP)("pagehide",(()=>(0,T.p)("winPagehide",[(0,j.z)()],void 0,N.t,this.ee))),this.importAggregator())}}var O=i(3081);class P extends f{static featureName=O.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,O.t9,r),this.importAggregator()}}var R=i(6660);class I{constructor(e,t,r,n){this.name="UncaughtError",this.message=e,this.sourceURL=t,this.line=r,this.column=n}}class k extends f{static featureName=R.t;#e=new Set;constructor(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,R.t,n);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("fn-err",((e,t,n)=>{this.abortHandler&&!this.#e.has(n)&&(this.#e.add(n),(0,T.p)("err",[this.#t(n),(0,j.z)()],void 0,r.D.jserrors,this.ee))})),this.ee.on("internal-error",(e=>{this.abortHandler&&(0,T.p)("ierr",[this.#t(e),(0,j.z)(),!0],void 0,r.D.jserrors,this.ee)})),l._A.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,T.p)("err",[this.#r(e),(0,j.z)(),!1,{unhandledPromiseRejection:1}],void 0,r.D.jserrors,this.ee)}),(0,S.m$)(!1,this.removeOnAbort?.signal)),l._A.addEventListener("error",(e=>{this.abortHandler&&(this.#e.has(e.error)?this.#e.delete(e.error):(0,T.p)("err",[this.#n(e),(0,j.z)()],void 0,r.D.jserrors,this.ee))}),(0,S.m$)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#i,this.importAggregator()}#i(){this.removeOnAbort?.abort(),this.#e.clear(),this.abortHandler=void 0}#t(e){return e instanceof Error?e:void 0!==e?.message?new I(e.message,e.filename||e.sourceURL,e.lineno||e.line,e.colno||e.col):new I("string"==typeof e?e:(0,_.P)(e))}#r(e){let t="Unhandled Promise Rejection: ";if(e?.reason instanceof Error)try{return e.reason.message=t+e.reason.message,e.reason}catch(t){return e.reason}if(void 0===e.reason)return new I(t);const r=this.#t(e.reason);return r.message=t+r.message,r}#n(e){return e.error instanceof Error?e.error:new I(e.message,e.filename,e.lineno,e.colno)}}var H=i(2210);let z=1;const L="nr@id";function M(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===l._A?0:(0,H.X)(e,L,(function(){return z++}))}function B(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,_.P)(e).length}catch(e){return}}}var F=i(1214),U=i(7243);class Z{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,n.DL)(this.agentIdentifier);if(!t)return null;var r=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!r||!i)return null;var a=(0,E.M)(),s=(0,E.Ht)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,r,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,r,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof l._A?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,_.P)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,n.Mt)(this.agentIdentifier,"distributed_tracing")&&(r=(0,n.P_)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var i=0;i<r.allowed_origins.length;i++){var o=(0,U.e)(r.allowed_origins[i]);if(e.hostname===o.hostname&&e.protocol===o.protocol&&e.port===o.port){t=!0;break}}return t}isDtEnabled(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var V=i(7825),q=["load","error","abort","timeout"],G=q.length,W=n.Yu.REQ,X=n.Yu.XHR;class Q extends f{static featureName=V.t;constructor(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(e,t,V.t,i),(0,n.OP)(e).xhrWrappable){this.dt=new Z(e),this.handler=(e,t,r,n)=>(0,T.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};l._A?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const n={status:t.responseStatus},i={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};K(n,t.name),this.handler("xhr",[n,i,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,r.D.ajax)}}))}catch(e){}(0,F.u5)(this.ee),(0,F.Kf)(this.ee),function(e,t,i,o){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=x,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,S.m$)(!1)),l.IF||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,S.m$)(!1))}function s(e){this.params={method:e[0]},K(this,e[1]),this.metrics={}}function c(t,r){var i=(0,n.DL)(e);i.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",i.xpid);var a=o.generateTracePayload(this.parsedOrigin);if(a){var s=!1;a.newrelicHeader&&(r.setRequestHeader("newrelic",a.newrelicHeader),s=!0),a.traceContextParentHeader&&(r.setRequestHeader("traceparent",a.traceContextParentHeader),a.traceContextStateHeader&&r.setRequestHeader("tracestate",a.traceContextStateHeader),s=!0),s&&(this.dt=a)}}function u(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=B(i);a&&(n.txSize=a)}this.startTime=(0,j.z)(),this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"
233!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<G;s++)r.addEventListener(q[s],this.listener,(0,S.m$)(!1))}function d(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function f(e,t){var r=""+M(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function h(e,t){var r=""+M(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function p(){this.endTime=(0,j.z)()}function g(e,r){r instanceof X&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function m(e,r){r instanceof X&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function v(e,t,r){t instanceof X&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,j.z)()))}function b(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,j.z)()-this.xhrCbStart,this.onload,r],r)}function y(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&l.il&&(t=""+l._A.location.href):e[0]&&e[0].url?t=e[0].url:l._A?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,U.e)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=o.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,n)&&(this.dt=n);else{var i={};for(var a in r)i[a]=r[a];i.headers=new Headers(r.headers||{}),s(i.headers,n)&&(this.dt=n),e.length>1?e[1]=i:e.push(i)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function w(e,t){this.params={},this.metrics={},this.startTime=(0,j.z)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof W?r=i.url:l._A?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),K(this,r);var o=(""+(i&&i instanceof W&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.txSize=B(n.body)||0}function A(e,t){var n;this.endTime=(0,j.z)(),this.params||(this.params={}),this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var o={txSize:this.txSize,rxSize:n,duration:(0,j.z)()-this.startTime};i("xhr",[this.params,o,this.startTime,this.endTime,"fetch"],this,r.D.ajax)}function x(e){var t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var o=0;o<G;o++)e.removeEventListener(q[o],this.listener,!1);t.aborted||(n.duration=(0,j.z)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,i("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,r.D.ajax))}}function E(e,t){e.params.status=t.status;var r=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?B(e.response):"text"===r||""===r||void 0===r?B(e.responseText):void 0}(t,e.lastSize);if(r&&(e.metrics.rxSize=r),e.sameOrigin){var n=t.getResponseHeader("X-NewRelic-App-Data");n&&(e.params.cat=n.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",a),t.on("open-xhr-start",s),t.on("open-xhr-end",c),t.on("send-xhr-start",u),t.on("xhr-cb-time",d),t.on("xhr-load-added",f),t.on("xhr-load-removed",h),t.on("xhr-resolved",p),t.on("addEventListener-end",g),t.on("removeEventListener-end",m),t.on("fn-end",b),t.on("fetch-before-start",y),t.on("fetch-start",w),t.on("fn-start",v),t.on("fetch-done",A)}(e,this.ee,this.handler,this.dt),this.importAggregator()}}}function K(e,t){var r=(0,U.e)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Y=i(3614);const{BST_RESOURCE:J,RESOURCE:ee,START:te,END:re,FEATURE_NAME:ne,FN_END:ie,FN_START:oe,PUSH_STATE:ae}=Y;var se=i(7144);class ce extends f{static featureName=se.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,se.t,r),this.importAggregator()}}var ue=i(7836);const{FEATURE_NAME:de,START:le,END:fe,BODY:he,CB_END:pe,JS_TIME:ge,FETCH:me,FN_START:ve,CB_START:be,FN_END:ye}=ue;var we=i(4649);class Ae extends f{static featureName=we.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,we.t,r),this.importAggregator()}}new class extends t{constructor(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,E.ky)(16);super(),l._A?(this.agentIdentifier=r,this.sharedAggregator=new v({agentIdentifier:this.agentIdentifier}),this.features={},this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(p),Object.assign(this,(0,s.j)(this.agentIdentifier,t,t.loaderType||"agent")),this.run()):(0,e.Z)("Failed to initial the agent. Could not determine the runtime environment.")}get config(){return{info:(0,n.C5)(this.agentIdentifier),init:(0,n.P_)(this.agentIdentifier),loader_config:(0,n.DL)(this.agentIdentifier),runtime:(0,n.OP)(this.agentIdentifier)}}run(){const t="features";try{const n=a(this.agentIdentifier),i=[...this.desiredFeatures];i.sort(((e,t)=>
233r.p[e.featureName]-r.p[t.featureName])),i.forEach((t=>{if(n[t.featureName]||t.featureName===r.D.pageViewEvent){const i=function(e){switch(e){case r.D.ajax:return[r.D.jserrors];case r.D.sessionTrace:return[r.D.ajax,r.D.pageViewEvent];case r.D.sessionReplay:return[r.D.sessionTrace];case r.D.pageViewTiming:return[r.D.pageViewEvent];default:return[]}}(t.featureName);i.every((e=>n[e]))||(0,e.Z)("".concat(t.featureName," is enabled but one or more dependent features has been disabled (").concat((0,_.P)(i),"). This may cause unintended consequences or missing data...")),this.features[t.featureName]=new t(this.agentIdentifier,this.sharedAggregator)}})),(0,x.Qy)(this.agentIdentifier,this.features,t)}catch(r){(0,e.Z)("Failed to initialize all enabled instrument classes (agent aborted) -",r);for(const e in this.features)this.features[e].abortHandler?.();const n=(0,x.fP)();return delete n.initializedAgents[this.agentIdentifier]?.api,delete n.initializedAgents[this.agentIdentifier]?.[t],delete this.sharedAggregator,n.ee?.abort(),delete n.ee?.get(this.agentIdentifier),!1}}addToTrace(t){(0,e.Z)("Call to agent api addToTrace failed. The page action feature is not currently initialized.")}setCurrentRouteName(t){(0,e.Z)("Call to agent api setCurrentRouteName failed. The spa feature is not currently initialized.")}interaction(){(0,e.Z)("Call to agent api interaction failed. The spa feature is not currently initialized.")}}({features:[Q,p,C,class extends f{static featureName=ne;constructor(e,t){if(super(e,t,ne,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!l.il)return;const n=this.ee;let i;(0,F.QU)(n),this.eventsEE=(0,F.em)(n),this.eventsEE.on(oe,(function(e,t){this.bstStart=(0,j.z)()})),this.eventsEE.on(ie,(function(e,t){(0,T.p)("bst",[e[0],t,this.bstStart,(0,j.z)()],void 0,r.D.sessionTrace,n)})),n.on(ae+te,(function(e){this.time=(0,j.z)(),this.startPath=location.pathname+location.hash})),n.on(ae+re,(function(e){(0,T.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,r.D.sessionTrace,n)}));try{i=new PerformanceObserver((e=>{const t=e.getEntries();(0,T.p)(J,[t],void 0,r.D.sessionTrace,n)})),i.observe({type:ee,buffered:!0})}catch(e){}this.importAggregator({resourceObserver:i})}},ce,P,Ae,k,class extends f{static featureName=de;constructor(e,t){if(super(e,t,de,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!l.il)return;if(!(0,n.OP)(e).xhrWrappable)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,i=0;const o=this.ee.get("tracer"),a=(0,F._L)(this.ee),s=(0,F.Lg)(this.ee),c=(0,F.BV)(this.ee),u=(0,F.Kf)(this.ee),d=this.ee.get("events"),f=(0,F.u5)(this.ee),h=(0,F.QU)(this.ee),p=(0,F.Gm)(this.ee);function g(e,t){h.emit("newURL",[""+window.location,t])}function m(){i++,r=window.location.hash,this[ve]=(0,j.z)()}function v(){i--,window.location.hash!==r&&g(0,!0);var e=(0,j.z)();this[ge]=~~this[ge]+e-this[ve],this[ye]=e}function b(e,t){e.on(t,(function(){this[t]=(0,j.z)()}))}this.ee.on(ve,m),s.on(be,m),a.on(be,m),this.ee.on(ye,v),s.on(pe,v),a.on(pe,v),this.ee.buffer([ve,ye,"xhr-resolved"],this.featureName),d.buffer([ve],this.featureName),c.buffer(["setTimeout"+fe,"clearTimeout"+le,ve],this.featureName),u.buffer([ve,"new-xhr","send-xhr"+le],this.featureName),f.buffer([me+le,me+"-done",me+he+le,me+he+fe],this.featureName),h.buffer(["newURL"],this.featureName),p.buffer([ve],this.featureName),s.buffer(["propagate",be,pe,"executor-err","resolve"+le],this.featureName),o.buffer([ve,"no-"+ve],this.featureName),a.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),b(f,me+le),b(f,me+"-done"),b(a,"new-jsonp"),b(a,"jsonp-end"),b(a,"cb-start"),h.on("pushState-end",g),h.on("replaceState-end",g),window.addEventListener("hashchange",g,(0,S.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",g,(0,S.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){g(0,i>1)}),(0,S.m$)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#i,this.importAggregator()}#i(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}],loaderType:"spa"})})()})();
234</script>
234
235<!-- test -->
236<!-- Freshchat Widget Tracking Start -->
237<script>
238  window.fcSettings = {
239    token: "8a0babb2-23ab-4418-bdaa-4894a040694e",
240    host: "https://functionofbeauty.freshchat.com",
241    onInit: function() {
242      window.fcWidget.on("widget:loaded", function(resp) {
243        window.fcWidget.on("user:created", function(resp) {
244          console.log("User created.");
245          dataLayer.push({'event': 'User created'});
246        });
247        window.fcWidget.on("widget:opened", function(resp) {
248          console.log('Widget Opened');
249          dataLayer.push({'event': 'Widget Open'});
250        });
251        window.fcWidget.on("widget:closed", function(resp) {
252          console.log('Widget Closed');
253          dataLayer.push({'event': 'Widget Close'});
254        });
255      });
256    }
257  };
258</script>
258
259<!-- Freshchat Widget Tracking End -->
260
261
262    
263    
263<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
263<meta name="facebook-domain-verification" content="k0lbdfm47n2kgskazw8ttmvrmpk5lh">
264<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/69081399608/digital_wallets/dialog">
265<meta id="in-context-paypal-metadata" data-shop-id="69081399608" data-venmo-supported="true" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
266<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
266<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=5094637880"></script>
266
267<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
268<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=5094637880&shop_id=69081399608" crossorigin="anonymous"></script>
vendor: 1 bytes, line 268
268
269<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":69081399608,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/69081399608","merchantName":"Function of Beauty","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Function of Beauty","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 269
269
270<script id="shopify-features" type="application/json">{"accessToken":"f5e9c31913ce7ab727d6396f6df2bb55","betas":["rich-media-storefront-analytics"],"domain":"functionofbeauty.com","predictiveSearch":true,"shopId":69081399608,"locale":"en"}</script>
vendor: 1 bytes, line 270
270
271<script>var Shopify = Shopify || {};
272Shopify.shop = "fob-admin.myshopify.com";
273Shopify.locale = "en";
274Shopify.currency = {"active":"USD","rate":"1.0"};
275Shopify.country = "US";
276Shopify.theme = {"name":"Release v3.2.1","id":189794025784,"schema_name":"X","schema_version":"2.1.0","theme_store_id":null,"role":"main"};
277Shopify.theme.handle = "null";
278Shopify.theme.style = {"id":null,"handle":null};
279Shopify.cdnHost = "functionofbeauty.com/cdn";
280Shopify.routes = Shopify.routes || {};
281Shopify.routes.root = "/";
282Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
283Shopify.SignInWithShop = Shopify.SignInWithShop || {};
284Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
285Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 285
285
286<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 286
286
287<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 287
287
288<script>
289  window.ShopifyPay = window.ShopifyPay || {};
290  window.ShopifyPay.apiHost = "shop.app\/pay";
291  window.ShopifyPay.redirectState = null;
292</script>
vendor: 1 bytes, line 292
292
293<script>
294  window.Shopify = window.Shopify || {};
295  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
296  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
297  window.Shopify.SignInWithShop.eligible = true;
298</script>
vendor: 1 bytes, line 298
298
299<script id="shop-js-analytics" type="application/json">{"pageType":"page"}</script>
vendor: 1 bytes, line 299
299
300<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 300
300
301<script type="module">
302  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
303
304  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
305
306</script>
vendor: 1 bytes, line 306
306
307<script>
308  window.Shopify = window.Shopify || {};
309  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
310  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"]};
311</script>
vendor: 1 bytes, line 311
311
312<script>(function() {
313  var isLoaded = false;
314  function asyncLoad() {
315    if (isLoaded) return;
316    isLoaded = true;
317    var urls = ["https:\/\/static.rechargecdn.com\/assets\/js\/widget.min.js?shop=fob-admin.myshopify.com","https:\/\/load.csell.co\/assets\/js\/cross-sell.js?shop=fob-admin.myshopify.com","https:\/\/load.csell.co\/assets\/v2\/js\/core\/xsell.js?shop=fob-admin.myshopify.com","https:\/\/cdn.attn.tv\/functionofbeauty\/dtag.js?shop=fob-admin.myshopify.com","https:\/\/container.pepperjam.com\/2941462100.js?shop=fob-admin.myshopify.com","https:\/\/cdn.attn.tv\/functionofbeauty\/dtag.js?shop=fob-admin.myshopify.com","\/\/cdn.shopify.com\/proxy\/9602568d29cabadb55bfcf0bd0f2bfe79eeb39909478dfe5cc97652323f8f6cb\/cdn.bogos.io\/script_tag\/secomapp.scripttag.js?shop=fob-admin.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","\/\/cdn.shopify.com\/proxy\/bdf8c4426da23958a8f3080b2e673f40efb275a80f339f0549dbdd3dc8aa3122\/apps.bazaarvoice.com\/deployments\/functionofbeauty\/main_site\/production\/en_US\/bv.js?shop=fob-admin.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA"];
318    for (var i = 0; i < urls.length; i++) {
319      var s = document.createElement('script');
320      s.type = 'text/javascript';
321      s.async = true;
322      s.src = urls[i];
323      var x = document.getElementsByTagName('script')[0];
324      x.parentNode.insertBefore(s, x);
325    }
326  };
327  if(window.attachEvent) {
328    window.attachEvent('onload', asyncLoad);
329  } else {
330    window.addEventListener('load', asyncLoad, false);
331  }
332})();</script>
vendor: 1 bytes, line 332
332
333<script id="__st">var __st={"a":69081399608,"offset":-14400,"reqid":"91cf97bd-c141-4a1f-a867-1523c19bcdae-1790293526","pageurl":"functionofbeauty.com\/pages\/store-locator","s":"pages-127769444664","u":"0a72127c73f4","p":"page","rtyp":"page","rid":127769444664};</script>
vendor: 1 bytes, line 333
333
334<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 334
334
335<script id="form-persister">!function(){'use strict';const t='contact',e='new_comment',n=[[t,t],['blogs',e],['comments',e],[t,'customer']],o='password',r='form_key',c=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',o],s=()=>{try{return window.sessionStorage}catch{return}},i='__shopify_v',u=t=>t.elements[r],a=function(){const t=[...n].map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(',');var e;return e=t,()=>e?[...document.querySelectorAll(e)].map((t=>t.form)):[]}();function m(t){const e=u(t);a().includes(t)&&(!e||!e.value)&&function(t){try{if(!s())return;!function(t){const e=s();if(!e)return;const n=u(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){u(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:r})),t.elements[r].value=e}(t,e),function(t,e){const n=s();if(!n)return;const r=[...t.querySelectorAll(`input[type='${o}']`)].map((({name:t})=>t)),u=[...c,...r],a={};for(const[o,c]of new FormData(t).entries())u.includes(o)||(a[o]=c);n.setItem(e,JSON.stringify({[i]:1,action:t.action,data:a}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(t)}const f=t=>{if('true'===t.dataset.persistBound)return;const e=function(t,e){const n=function(t){return'function'==typeof t.submit?t.submit:HTMLFormElement.prototype.submit}(t).bind(t);return function(){let t;return()=>{t||(t=!0,(()=>{try{e(),n()}catch(t){(t=>{console.error('form submit failed',t)})(t)}})(),setTimeout((()=>t=!1),250))}}()}(t,(()=>{m(t)}));!function(t,e){if('function'==typeof t.submit&&'function'==typeof e)try{t.submit=e}catch{}}(t,e),t.addEventListener('submit',(t=>{t.preventDefault(),e()})),t.dataset.persistBound='true'};!function(){function t(t){const e=(t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form})(t);e&&m(e)}document.addEventListener('submit',t),document.addEventListener('DOMContentLoaded',(()=>{const e=a();for(const t of e)f(t);var n;n=document.body,new window.MutationObserver((t=>{for(const e of t)if('childList'===e.type&&e.addedNodes.length)for(const t of e.addedNodes)1===t.nodeType&&'FORM'===t.tagName&&a().includes(t)&&f(t)})).observe(n,{childList:!0,subtree:!0,attributes:!1}),document.removeEventListener('submit',t)}))}()}();</script>
vendor: 1 bytes, line 335
335
336<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//functionofbeauty.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 336
336
337<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 = "//functionofbeauty.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>
337<script crossorigin="anonymous" defer="defer" src="//functionofbeauty.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 337
337
338<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 338
338
339<script>
340  window.Shopify = window.Shopify || {};
341  window.Shopify.MCP = window.Shopify.MCP || {};
342  window.Shopify.MCP.enabled = true;
343  window.Shopify.MCP.shop = "fob-admin.myshopify.com";
344  window.Shopify.MCP.mcpEndpoint = "https:\/\/functionofbeauty.com\/api\/mcp";
345  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?\"\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."}},"required":["query"]}}];
346</script>
vendor: 1 bytes, line 346
346
347<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("\/\/functionofbeauty.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
348</script>
vendor: 1 bytes, line 348
348
349<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://functionofbeauty.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
350</script>
vendor: 1 bytes, line 350
350
351<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
352  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);
353</script>
vendor: 1 bytes, line 353
353
354<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}}));
355</script>
355
356<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://functionofbeauty.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
357<style id="shopify-accelerated-checkout-cart">
358        #shopify-buyer-consent {
359  margin-top: 1em;
360  display: inline-block;
361  width: 100%;
362}
363
364#shopify-buyer-consent.hidden {
365  display: none;
366}
367
368#shopify-subscription-policy-button {
369  background: none;
370  border: none;
371  padding: 0;
372  text-decoration: underline;
373  font-size: inherit;
374  cursor: pointer;
375}
376
377#shopify-subscription-policy-button::before {
378  box-shadow: none;
379}
380
381      </style>
382
383<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
383
384
385    
385<script src="https://static.rechargecdn.com/assets/storefront/recharge-client-1.10.0.min.js"></script>
385
386<!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
387
388
389
390
391
392
393
394
395
396
397
398
399  
399<script async src="https://static.klaviyo.com/onsite/js/MNYXv9/klaviyo.js?company_id=MNYXv9"></script>
399
400  
400<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
400
401
402  
403
404
405
406
407  
407<script>
408    window.klaviyoReviewsProductDesignMode = false
409  </script>
409
410
411
412
413  <!-- BEGIN app snippet: customer-hub-data -->
413<script>
414  if (!window.customerHub) {
415    window.customerHub = {};
416  }
417  window.customerHub.storefrontRoutes = {
418    login: "https://functionofbeauty.com/customer_authentication/redirect?locale=en&region_country=US?return_url=%2F%23k-hub",
419    register: "https://shopify.com/69081399608/account?locale=en&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJmb2ItYWRtaW4ubXlzaG9waWZ5LmNvbSIsImZsYWdzIjpbXSwiZXhwIjoxNzkwODk4MzI2LCJuYmYiOjE3OTAyOTM1MjZ9.sVZBTzaQqza_9NCNerPDNEvv-5XD9lw9n9vGQ8nWJrg?return_url=%2F%23k-hub",
420    logout: "/account/logout",
421    profile: "/account",
422    addresses: "/account/addresses",
423  };
424  
425  window.customerHub.userId = null;
426  
427  window.customerHub.storeDomain = "fob-admin.myshopify.com";
428
429  
430
431  
432    window.customerHub.storeLocale = {
433        currentLanguage: 'en',
434        currentCountry: 'US',
435        availableLanguages: [
436          
437            {
438              iso_code: 'en',
439              endonym_name: 'English'
440            }
441          
442        ],
443        availableCountries: [
444          
445            {
446              iso_code: 'AU',
447              name: 'Australia',
448              currency_code: 'AUD'
449            },
450          
451            {
452              iso_code: 'AT',
453              name: 'Austria',
454              currency_code: 'EUR'
455            },
456          
457            {
458              iso_code: 'BE',
459              name: 'Belgium',
460              currency_code: 'EUR'
461            },
462          
463            {
464              iso_code: 'BG',
465              name: 'Bulgaria',
466              currency_code: 'EUR'
467            },
468          
469            {
470              iso_code: 'CA',
471              name: 'Canada',
472              currency_code: 'USD'
473            },
474          
475            {
476              iso_code: 'CL',
477              name: 'Chile',
478              currency_code: 'USD'
479            },
480          
481            {
482              iso_code: 'CO',
483              name: 'Colombia',
484              currency_code: 'USD'
485            },
486          
487            {
488              iso_code: 'HR',
489              name: 'Croatia',
490              currency_code: 'EUR'
491            },
492          
493            {
494              iso_code: 'CY',
495              name: 'Cyprus',
496              currency_code: 'EUR'
497            },
498          
499            {
500              iso_code: 'CZ',
501              name: 'Czechia',
502              currency_code: 'EUR'
503            },
504          
505            {
506              iso_code: 'DK',
507              name: 'Denmark',
508              currency_code: 'DKK'
509            },
510          
511            {
512              iso_code: 'EE',
513              name: 'Estonia',
514              currency_code: 'EUR'
515            },
516          
517            {
518              iso_code: 'FI',
519              name: 'Finland',
520              currency_code: 'EUR'
521            },
522          
523            {
524              iso_code: 'FR',
525              name: 'France',
526              currency_code: 'EUR'
527            },
528          
529            {
530              iso_code: 'DE',
531              name: 'Germany',
532              currency_code: 'EUR'
533            },
534          
535            {
536              iso_code: 'GR',
537              name: 'Greece',
538              currency_code: 'EUR'
539            },
540          
541            {
542              iso_code: 'GG',
543              name: 'Guernsey',
544              currency_code: 'GBP'
545            },
546          
547            {
548              iso_code: 'HK',
549              name: 'Hong Kong SAR',
550              currency_code: 'HKD'
551            },
552          
553            {
554              iso_code: 'HU',
555              name: 'Hungary',
556              currency_code: 'EUR'
557            },
558          
559            {
560              iso_code: 'IS',
561              name: 'Iceland',
562              currency_code: 'USD'
563            },
564          
565            {
566              iso_code: 'IE',
567              name: 'Ireland',
568              currency_code: 'EUR'
569            },
570          
571            {
572              iso_code: 'IM',
573              name: 'Isle of Man',
574              currency_code: 'GBP'
575            },
576          
577            {
578              iso_code: 'IL',
579              name: 'Israel',
580              currency_code: 'ILS'
581            },
582          
583            {
584              iso_code: 'IT',
585              name: 'Italy',
586              currency_code: 'EUR'
587            },
588          
589            {
590              iso_code: 'JP',
591              name: 'Japan',
592              currency_code: 'JPY'
593            },
594          
595            {
596              iso_code: 'JE',
597              name: 'Jersey',
598              currency_code: 'GBP'
599            },
600          
601            {
602              iso_code: 'LV',
603              name: 'Latvia',
604              currency_code: 'EUR'
605            },
606          
607            {
608              iso_code: 'LT',
609              name: 'Lithuania',
610              currency_code: 'EUR'
611            },
612          
613            {
614              iso_code: 'LU',
615              name: 'Luxembourg',
616              currency_code: 'EUR'
617            },
618          
619            {
620              iso_code: 'MT',
621              name: 'Malta',
622              currency_code: 'EUR'
623            },
624          
625            {
626              iso_code: 'MX',
627              name: 'Mexico',
628              currency_code: 'USD'
629            },
630          
631            {
632              iso_code: 'NL',
633              name: 'Netherlands',
634              currency_code: 'EUR'
635            },
636          
637            {
638              iso_code: 'NZ',
639              name: 'New Zealand',
640              currency_code: 'NZD'
641            },
642          
643            {
644              iso_code: 'NO',
645              name: 'Norway',
646              currency_code: 'NOK'
647            },
648          
649            {
650              iso_code: 'PL',
651              name: 'Poland',
652              currency_code: 'EUR'
653            },
654          
655            {
656              iso_code: 'PT',
657              name: 'Portugal',
658              currency_code: 'EUR'
659            },
660          
661            {
662              iso_code: 'RO',
663              name: 'Romania',
664              currency_code: 'EUR'
665            },
666          
667            {
668              iso_code: 'SG',
669              name: 'Singapore',
670              currency_code: 'SGD'
671            },
672          
673            {
674              iso_code: 'SK',
675              name: 'Slovakia',
676              currency_code: 'EUR'
677            },
678          
679            {
680              iso_code: 'SI',
681              name: 'Slovenia',
682              currency_code: 'EUR'
683            },
684          
685            {
686              iso_code: 'KR',
687              name: 'South Korea',
688              currency_code: 'USD'
689            },
690          
691            {
692              iso_code: 'ES',
693              name: 'Spain',
694              currency_code: 'EUR'
695            },
696          
697            {
698              iso_code: 'SE',
699              name: 'Sweden',
700              currency_code: 'SEK'
701            },
702          
703            {
704              iso_code: 'CH',
705              name: 'Switzerland',
706              currency_code: 'CHF'
707            },
708          
709            {
710              iso_code: 'TW',
711              name: 'Taiwan',
712              currency_code: 'TWD'
713            },
714          
715            {
716              iso_code: 'AE',
717              name: 'United Arab Emirates',
718              currency_code: 'USD'
719            },
720          
721            {
722              iso_code: 'GB',
723              name: 'United Kingdom',
724              currency_code: 'GBP'
725            },
726          
727            {
728              iso_code: 'US',
729              name: 'United States',
730              currency_code: 'USD'
731            }
732          
733        ]
734    };
735  
736</script>
736
737<!-- END app snippet -->
738
739
740
741
742
743
744
745<!-- END app block --><!-- BEGIN app block: shopify://apps/gorgias-live-chat-helpdesk/blocks/gorgias/a66db725-7b96-4e3f-916e-6c8e6f87aaaa -->
746<script defer data-gorgias-loader-chat src="https://config.gorgias.chat/bundle-loader/shopify/fob-admin.myshopify.com"></script>
746
747
748
749<script defer data-gorgias-loader-convert  src="https://content.9gtb.com/loader.js"></script>
749
750
751
752<script defer data-gorgias-loader-mailto-replace  src="https://config.gorgias.help/api/contact-forms/replace-mailto-script.js?shopName=fob-admin"></script>
752
753
754
755<!-- END app block --><!-- BEGIN app block: shopify://apps/attentive/blocks/attn-tag/8df62c72-8fe4-407e-a5b3-72132be30a0d -->
755<script type="text/javascript" src="https://afuit.functionofbeauty.com/providers/atLabel/load" onerror=" var fallbackScript = document.createElement('script'); fallbackScript.src = 'https://cdn.attn.tv/functionofbeauty/dtag.js'; document.head.appendChild(fallbackScript);" data-source="loaded?source=app-embed" defer="defer"></script>
755
756
757
758<!-- END app block --><!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/clarity_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea -->
759<script type="text/javascript">
760  (function (c, l, a, r, i, t, y) {
761    c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments); };
762    t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i + "?ref=shopify";
763    y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y);
764
765    c.Shopify.loadFeatures([{ name: "consent-tracking-api", version: "0.1" }], error => {
766      if (error) {
767        console.error("Error loading Shopify features:", error);
768        return;
769      }
770
771      c[a]('consentv2', {
772        ad_Storage: c.Shopify.customerPrivacy.marketingAllowed() ? "granted" : "denied",
773        analytics_Storage: c.Shopify.customerPrivacy.analyticsProcessingAllowed() ? "granted" : "denied",
774        source: 101,
775      });
776    });
777
778    l.addEventListener("visitorConsentCollected", function (e) {
779      c[a]('consentv2', {
780        ad_Storage: e.detail.marketingAllowed ? "granted" : "denied",
781        analytics_Storage: e.detail.analyticsAllowed ? "granted" : "denied",
782        source: 101,
783      });
784    });
785  })(window, document, "clarity", "script", "suda1fa1nd");
786</script>
786
787
788
789
790<!-- END app block --><!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/brandAgents_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea -->
791
792
793
794<script type="text/javascript">
795  (function(d){
796      var s = d.createElement('script');
797      s.async = true;
798      s.src = "https://adsagentclientafd-b7hqhjdrf3fpeqh2.b01.azurefd.net/frontendInjection.js";
799      var firstScript = d.getElementsByTagName('script')[0];
800      firstScript.parentNode.insertBefore(s, firstScript);
801  })(document);
802</script>
802
803
804
805
806<!-- END app block --><!-- BEGIN app block: shopify://apps/wingify/blocks/vwo-smartcode/2ce905b2-3842-4d20-b6b0-8c51fc208426 -->
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824  
825
826  
827    <!-- BEGIN app snippet: smartcode-vwo-2x -->
828  <!-- Start VWO Async SmartCode -->
829  <link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com" />
830  
830<script type='text/javascript' id='vwoCode'>
831  window._vwo_code ||
832  (function () {
833  var w=window,
834  d=document;
835  var account_id=846410,
836  version=2.2,
837  settings_tolerance=2000,
838  hide_element='body',
839  hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important';
840  /* DO NOT EDIT BELOW THIS LINE */
841  var f=0, v;
842  if(f=!1,v=d.querySelector('#vwoCode'),cc={},-1<d.URL.indexOf('__vwo_disable__')||w._vwo_code)return;try{var e=JSON.parse(localStorage.getItem('_vwo_'+account_id+'_config'));cc=e&&'object'==typeof e?e:{}}catch(e){}function r(t){try{return decodeURIComponent(t)}catch(e){return t}}var s=function(){var e={combination:[],combinationChoose:[],split:[],exclude:[],uuid:null,consent:null,optOut:null},t=d.cookie||'';if(!t)return e;for(var n,i,o=/(?:^|;\s*)(?:(_vis_opt_exp_(\d+)_combi=([^;]*))|(_vis_opt_exp_(\d+)_combi_choose=([^;]*))|(_vis_opt_exp_(\d+)_split=([^:;]*))|(_vis_opt_exp_(\d+)_exclude=[^;]*)|(_vis_opt_out=([^;]*))|(_vwo_global_opt_out=[^;]*)|(_vwo_uuid=([^;]*))|(_vwo_consent=([^;]*)))/g;null!==(n=o.exec(t));)try{n[1]?e.combination.push({id:n[2],value:r(n[3])}):n[4]?e.combinationChoose.push({id:n[5],value:r(n[6])}):n[7]?e.split.push({id:n[8],value:r(n[9])}):n[10]?e.exclude.push({id:n[11]}):n[12]?e.optOut=r(n[13]):n[14]?e.optOut=!0:n[15]?e.uuid=r(n[16]):n[17]&&(i=r(n[18]),e.consent=i&&3<=i.length?i.substring(0,3):null)}catch(e){}return e}();function i(){var e=function(){if(w.VWO&&Array.isArray(w.VWO))for(var e=0;e<w.VWO.length;e++){var t=w.VWO[e];if(Array.isArray(t)&&('setVisitorId'===t[0]||'setSessionId'===t[0]))return!0}return!1}(),t='a='+account_id+'&u='+encodeURIComponent(w._vis_opt_url||d.URL)+'&vn='+version+'&ph=1'+('undefined'!=typeof platform?'&p='+platform:'')+'&st='+w.performance.now();e||((n=function(){var e,t=[],n={},i=w.VWO&&w.VWO.appliedCampaigns||{};for(e in i){var o=i[e]&&i[e].v;o&&(t.push(e+'-'+o+'-1'),n[e]=!0)}if(s&&s.combination)for(var r=0;r<s.combination.length;r++){var a=s.combination[r];n[a.id]||t.push(a.id+'-'+a.value)}return t.join('|')}())&&(t+='&c='+n),(n=function(){var e=[],t={};if(s&&s.combinationChoose)for(var n=0;n<s.combinationChoose.length;n++){var i=s.combinationChoose[n];e.push(i.id+'-'+i.value),t[i.id]=!0}if(s&&s.split)for(var o=0;o<s.split.length;o++)t[(i=s.split[o]).id]||e.push(i.id+'-'+i.value);return e.join('|')}())&&(t+='&cc='+n),(n=function(){var e={},t=[];if(w.VWO&&Array.isArray(w.VWO))for(var n=0;n<w.VWO.length;n++){var i=w.VWO[n];if(Array.isArray(i)&&'setVariation'===i[0]&&i[1]&&Array.isArray(i[1]))for(var o=0;o<i[1].length;o++){var r,a=i[1][o];a&&'object'==typeof a&&(r=a.e,a=a.v,r&&a&&(e[r]=a))}}for(r in e)t.push(r+'-'+e[r]);return t.join('|')}())&&(t+='&sv='+n)),s&&s.optOut&&(t+='&o='+s.optOut);var n=function(){var e=[],t={};if(s&&s.exclude)for(var n=0;n<s.exclude.length;n++){var i=s.exclude[n];t[i.id]||(e.push(i.id),t[i.id]=!0)}return e.join('|')}();return n&&(t+='&e='+n),s&&s.uuid&&(t+='&id='+s.uuid),s&&s.consent&&(t+='&consent='+s.consent),w.name&&-1<w.name.indexOf('_vis_preview')&&(t+='&pM=true'),w.VWO&&w.VWO.ed&&(t+='&ed='+w.VWO.ed),t}code={nonce:v&&v.nonce,library_tolerance:function(){return'undefined'!=typeof library_tolerance?library_tolerance:void 0},settings_tolerance:function(){return cc.sT||settings_tolerance},hide_element_style:function(){return'{'+(cc.hES||hide_element_style)+'}'},hide_element:function(){return performance.getEntriesByName('first-contentful-paint')[0]?'':'string'==typeof cc.hE?cc.hE:hide_element},getVersion:function(){return version},finish:function(e){var t;f||(f=!0,(t=d.getElementById('_vis_opt_path_hides'))&&t.parentNode.removeChild(t),e&&((new Image).src='https://dev.visualwebsiteoptimizer.com/ee.gif?a='+account_id+e))},finished:function(){return f},addScript:function(e){var t=d.createElement('script');t.type='text/javascript',e.src?t.src=e.src:t.text=e.text,v&&t.setAttribute('nonce',v.nonce),d.getElementsByTagName('head')[0].appendChild(t)},load:function(e,t){t=t||{};var n=new XMLHttpRequest;n.open('GET',e,!0),n.withCredentials=!t.dSC,n.responseType=t.responseType||'text',n.onload=function(){if(t.onloadCb)return t.onloadCb(n,e);200===n.status?_vwo_code.addScript({text:n.responseText}):_vwo_code.finish('&e=loading_failure:'+e)},n.onerror=function(){if(t.onerrorCb)return t.onerrorCb(e);_vwo_code.finish('&e=loading_failure:'+e)},n.send()},init:function(){var e,t=this.settings_tolerance();w._vwo_settings_timer=setTimeout(function(){_vwo_code.finish()}
842,t),'body'!==this.hide_element()?(n=d.createElement('style'),e=(t=this.hide_element())?t+this.hide_element_style():'',t=d.getElementsByTagName('head')[0],n.setAttribute('id','_vis_opt_path_hides'),v&&n.setAttribute('nonce',v.nonce),n.setAttribute('type','text/css'),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(d.createTextNode(e)),t.appendChild(n)):(n=d.getElementsByTagName('head')[0],(e=d.createElement('div')).style.cssText='z-index: 2147483647 !important;position: fixed !important;left: 0 !important;top: 0 !important;width: 100% !important;height: 100% !important;background: white !important;',e.setAttribute('id','_vis_opt_path_hides'),e.classList.add('_vis_hide_layer'),n.parentNode.insertBefore(e,n.nextSibling));var n='https://dev.visualwebsiteoptimizer.com/j.php?'+i();-1!==w.location.search.indexOf('_vwo_xhr')?this.addScript({src:n}):this.load(n+'&x=true',{l:1})}};w._vwo_code=code;code.init();})();
843  </script>
843
844  <!-- End VWO Async SmartCode -->
845
846<!-- END app snippet -->
847  
848
849
850
851<!-- END app block --><!-- BEGIN app block: shopify://apps/yotpo-product-reviews/blocks/settings/eb7dfd7d-db44-4334-bc49-c893b51b36cf -->
852
853
854  
854<script type="text/javascript" src="https://cdn-widgetsrepository.yotpo.com/v1/loader/yJU0TDaMDv1A8nN6qmKN13sVp0FNRrAHt0bwo9e5?languageCode=en" async></script>
854
855
856
857
858  
859<!-- END app block -->
859<script src="https://cdn.shopify.com/extensions/01a04338-bc1f-71ce-b6bf-1bdd8c114a83/genesis-717/assets/vqb-extension.js" type="text/javascript" defer="defer"></script>
859
860<link href="https://cdn.shopify.com/extensions/01a04338-bc1f-71ce-b6bf-1bdd8c114a83/genesis-717/assets/vqb-style.css" rel="stylesheet" type="text/css" media="all">
861<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
862<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: 69081399608,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "page"};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 862
862
863<script>
864  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
865</script>
vendor: 1 bytes, line 865
865
866<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}
866).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: 69081399608,storefrontBaseUrl: "https://functionofbeauty.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://functionofbeauty.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"3004203320","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"GT-WF8DFFL4\\\"],\\\"target_country\\\":\\\"ZZ\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"MC-7FMJQNR9CF\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"MC-7FMJQNR9CF\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"MC-7FMJQNR9CF\\\"}],\\\"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":"2798715192","configuration":"{\"tenantId\":\"150539\",\"tenantIdSign\":\"v1_423c89b81488626def3f275e12d661a107b938f6\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"07f832d1c7a598f6666d7fd5554ed235","type":"APP","apiClientId":53516632065,"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":"2699460920","configuration":"{\"accountID\":\"7482\",\"integrationId\":\"7482\",\"brandId\":\"7268\",\"environment\":\"prod\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"f28c8e4372c74ce89d6ccedbdfdb52da","type":"APP","apiClientId":222583193
86661,"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"},{"id":"2212856120","configuration":"{\"locale\":\"en_US\",\"client\":\"functionofbeauty\",\"environment\":\"production\",\"deployment_zone\":\"main_site\",\"use_external_ids\":\"false\",\"storefront_api_key\":\"8ca48e5de0f7d6882d5c76708f2a21d6\",\"product_metafield_key\":\"none\",\"product_metafield_namespace\":\"none\",\"multi_locale_enabled\":\"false\",\"locale_mapping\":\"{}\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"e9849bbfb1381d47503a57eebf3a7a78","type":"APP","apiClientId":1888040,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1897300280","configuration":"{\"accountID\":\"MNYXv9\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"1716945208","configuration":"{\"projectId\":\"suda1fa1nd\"}","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"]},"dataSharingState":"unrestricted"},{"id":"1125122360","configuration":"{\"pixel_id\":\"561375624028505\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","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":"850985272","configuration":"{\"vwoAccountId\":\"846410\",\"eventConfiguration\":\"{\\\"ece\\\":1,\\\"pv\\\":1,\\\"prv\\\":1,\\\"patc\\\":1,\\\"prfc\\\":1,\\\"cv\\\":1,\\\"cs\\\":1,\\\"cc\\\":1}\",\"dataUri\":\"dev.visualwebsiteoptimizer.com\",\"customCodeConfig\":\"{\\\"customCodeEnabled\\\":false,\\\"customCode\\\":\\\"vwo.addShopifyMiddleware((payload) =\\u003e {    let newPayload = payload;    return newPayload;});\\\"}\",\"cookieConsentConfig\":\"{\\\"consentRequired\\\":false,\\\"consentCategories\\\":{\\\"analytics\\\":false,\\\"marketing\\\":false,\\\"personalization\\\":false}}\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"17c0617486e219f692914ca1feba2253","type":"APP","apiClientId":68559962113,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":[],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"393249080","configuration":"{\"shopName\":\"fob-admin.myshopify.com\",\"environment\":\"production\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0bcc8e5fa4beebb3e5395b84207d055f","type":"APP","apiClientId":2619571,"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"}
866,{"id":"138510648","configuration":"{\"env\":\"prod\"}","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"8a9a175b11d15038a70fe78d09c59720","type":"APP","apiClientId":3977633,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"70418744","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"12","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"GTM GA4 - Checkout"},{"id":"121864504","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":[],"name":"Ascend"},{"id":"157745464","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Attentive (Enhanced) "},{"id":"180158776","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"AddShoppers Tag"},{"id":"186581304","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"3","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Klaviyo - Scripts"},{"id":"212762936","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"TYB - Obsessions Affiliate"},{"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":"Function of Beauty","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"fob-admin.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/functionofbeauty.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"8664884904248","handle":"hair-serum","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"46910687084856","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8664885788984","handle":"cowash","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"46910688362808","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8664886346040","handle":"conditioner","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"49220493050168","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8664885002552","handle":"hair-mask","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"46910687183160","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8664884773176","handle":"leave-in-conditioner","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"46910686527800","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8664884511032","handle":"purple-hair-mask","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"46910686265656","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8664884412728","handle":"purple-shampoo","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"49220511269176","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8664884052280","handle":"shampoo","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"49220485480760","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8664883036472","handle":"styling-primer","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47154476810552","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9023840420152","handle":"sos-shampoo","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48125591519544","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9023840649528","handle":"sos-leave-in-treatment","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47937333756216","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9023840583992","handle":"sos-hair-mask","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48125591748920","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9023840551224","handle":"sos-conditioner","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48125591683384","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8664886608184","handle":"comb","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"46910691115320","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://functionofbeauty.com/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"189794025784","themePublished":"true","eventMetadataId":"68d4e4b4-eccc-423c-a886-75bebb7d5980","pageType":"page","resourceId":"127769444664","shopId":"69081399608","storefrontBaseUrl":"https:\/\/functionofbeauty.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"c8540278we853e1abpb62b2c4amde256306","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
866<script>
867  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
868  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
869  window.ShopifyAnalytics.meta.currency = 'USD';
870  var meta = {"page":{"pageType":"page","resourceType":"page","resourceId":127769444664,"requestId":"91cf97bd-c141-4a1f-a867-1523c19bcdae-1790293526"}};
871  for (var attr in meta) {
872    window.ShopifyAnalytics.meta[attr] = meta[attr];
873  }
874</script>
vendor: 1 bytes, line 874
874
875<script class="analytics">
876  (function () {
877    var customDocumentWrite = function(content) {
878      var jquery = null;
879
880      if (window.jQuery) {
881        jquery = window.jQuery;
882      } else if (window.Checkout && window.Checkout.$) {
883        jquery = window.Checkout.$;
884      }
885
886      if (jquery) {
887        jquery('body').append(content);
888      }
889    };
890
891    var hasLoggedConversion = function(token) {
892      if (token) {
893        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
894      }
895      return false;
896    }
897
898    var setCookieIfConversion = function(token) {
899      if (token) {
900        var twoMonthsFromNow = new Date(Date.now());
901        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
902
903        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
904      }
905    }
906
907    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
908    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
909    if (trekkie.integrations) {
910      return;
911    }
912    trekkie.methods = [
913      'identify',
914      'page',
915      'ready',
916      'track',
917      'trackForm',
918      'trackLink'
919    ];
920    trekkie.factory = function(method) {
921      return function() {
922        var args = Array.prototype.slice.call(arguments);
923        args.unshift(method);
924        trekkie.push(args);
925        if (method == 'track' || method == 'page') {
926          var pageUrl;
927          try {
928            pageUrl = window.location.href;
929          } catch (e) {}
930          var pageReferrer;
931          try {
932            pageReferrer = document.referrer;
933          } catch (e) {}
934          try {
935            if (window.__TREKKIE_SHIM_QUEUE == null) {
936              window.__TREKKIE_SHIM_QUEUE = [];
937            }
938            window.__TREKKIE_SHIM_QUEUE.push({
939              from: 'trekkie-stub',
940              method: method,
941              args: args.slice(1),
942              pageContext: {
943                url: pageUrl,
944                referrer: pageReferrer
945              }
946            });
947          } catch (e) {
948            // no-op
949          }
950        }
951        return trekkie;
952      };
953    };
954    for (var i = 0; i < trekkie.methods.length; i++) {
955      var key = trekkie.methods[i];
956      trekkie[key] = trekkie.factory(key);
957    }
958    trekkie.load = function(config) {
959      trekkie.config = config || {};
960      trekkie.config.initialDocumentCookie = document.cookie;
961      var first = document.getElementsByTagName('script')[0];
962var script = document.createElement('script');
963script.type = 'text/javascript';
964script.onerror = function(e) {
965  var scriptFallback = document.createElement('script');
966  scriptFallback.type = 'text/javascript';
967  scriptFallback.onerror = function(error) {
968          var Monorail = {
969      produce: function produce(monorailDomain, schemaId, payload) {
970        var currentMs = new Date().getTime();
971        var event = {
972          schema_id: schemaId,
973          payload: payload,
974          metadata: {
975            event_created_at_ms: currentMs,
976            event_sent_at_ms: currentMs
977          }
978        };
979        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
980      },
981      sendRequest: function sendRequest(endpointUrl, payload) {
982        // Try the sendBeacon API
983        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
984          var blobData = new window.Blob([payload], {
985            type: 'text/plain'
986          });
987
988          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
989            return true;
990          } // sendBeacon was not successful
991
992        } // XHR beacon
993
994        var xhr = new XMLHttpRequest();
995
996        try {
997          xhr.open('POST', endpointUrl);
998          xhr.setRequestHeader('Content-Type', 'text/plain');
999          xhr.send(payload);
1000        } catch (e) {
1001          console.log(e);
1002        }
1003
1004        return false;
1005      },
1006      isIos12: function isIos12() {
1007        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
1008      }
1009    };
1010    Monorail.produce('monorail-edge.shopifysvc.com',
1011      'trekkie_storefront_load_errors/1.1',
1012      {shop_id: 69081399608,
1013      theme_id: 189794025784,
1014      app_name: "storefront",
1015      context_url: window.location.href,
1016      source_url: "//functionofbeauty.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"});
1017
1018  };
1019  scriptFallback.async = true;
1020  scriptFallback.src = '//functionofbeauty.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
1021  first.parentNode.insertBefore(scriptFallback, first);
1022};
1023script.async = true;
1024script.src = '//functionofbeauty.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
1025first.parentNode.insertBefore(script, first);
1026
1027    };
1028    trekkie.load(
1029      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":69081399608,"isMerchantRequest":null,"themeId":189794025784,"themeCityHash":"15057737898921247163","contentLanguage":"en","currency":"USD","eventMetadataId":"68d4e4b4-eccc-423c-a886-75bebb7d5980"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
1030    );
1031
1032    var loaded = false;
1033    trekkie.ready(function() {
1034      if (loaded) return;
1035      loaded = true;
1036
1037      window.ShopifyAnalytics.lib = window.trekkie;
1038
1039      var originalDocumentWrite = document.write;
1040      document.write = customDocumentWrite;
1041      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
1042      document.write = originalDocumentWrite;
1043
1044      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
1045      var token = match? match[1]: undefined;
1046      if (!hasLoggedConversion(token)) {
1047        setCookieIfConversion(token);
1048        
1049      }
1050    });
1051
1052    window.ShopifyAnalytics.lib.page(null,{"pageType":"page","resourceType":"page","resourceId":127769444664,"requestId":"91cf97bd-c141-4a1f-a867-1523c19bcdae-1790293526","shopifyEmitted":true});
1053
1054    var eventsListenerScript = document.createElement('script');
1055    eventsListenerScript.async = true;
1056    eventsListenerScript.src = "//functionofbeauty.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
1057    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
1058})();</script>
vendor: 1 bytes, line 1058
1058
1059<script
1060  defer
1061  src="https://functionofbeauty.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
1062  data-application="storefront-renderer"
1063  data-shop-id="69081399608"
1064  data-render-region="gcp-us-central1"
1065  data-page-type="page"
1066  data-theme-instance-id="189794025784"
1067  data-theme-name="X"
1068  data-theme-version="2.1.0"
1069  data-monorail-region="shop_domain"
1070  data-resource-timing-sampling-rate="10"
1071  data-shs="true"
1072  data-shs-beacon="true"
1073  data-shs-export-with-fetch="true"
1074  data-shs-logs-sample-rate="1"
1075  data-shs-beacon-endpoint="https://functionofbeauty.com/api/collect"
1076></script>
1076
1077<meta name="shopify-y" content="4342d9ae-84cc-4873-a680-d8766fdee4ac" data-expiration="1821851126000"><meta name="shopify-s" content="9925b57d-2683-42e5-b8ad-f9744158230b" data-expiration="1790295326000"><meta name="new-cookie-storage-activated" content="t">
1078</head>
1079<body id="store-locator-page" class=" template-page template-suffix-location page-store-locator-page page-store-locator" data-tempsuffix="location">
1080<a class="in-page-link visually-hidden skip-link" href="#MainContent">Skip to content</a>
1081<button id="global-overlay" class=""></button>
1082
1083
1084    <!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 1084-1085
1084
1085<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
1085GTM-5VDHCDS4
vendor: 83 bytes, line 1085
1085" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
1086<!-- End Google Tag Manager (noscript) -->
1087
1088<!-- AddShoppers -->
1089<script>
1090(function() {
1091  var script = document.createElement('script');
1092  script.id = 'minty-onsite-script';
1093  script.src = 'https://cdn.addshoppers.com/minty/shopify-onsite/executeminty.js';
1094  script.async = true;
1095  script.defer = true;
1096  document.head.appendChild(script);
1097})();
1098</script>
1098
1099<!-- End AddShoppers -->
1100
1101
1102<!-- Search Drawer -->
1103<div
1104  id='SearchBar'
1105  class='drawer drawer-top margin-promo-bar'
1106  role='dialog'
1107>
1108  <div class="predictive-search-bar-form">
1109  <form action="/search" method="get" role="search" class="search-form" id="SearchBarForm">
1110    
1111      <button type="submit" class="btn search__button" aria-label="Search">
1112        <span class="icon-fallback-text">Search</span>
1113      </button>
1114
1115      <input
1116        id="Search"
1117        type="search"
1118        name="q"
1119        value=""
1120        role="combobox"
1121        aria-expanded="false"
1122        aria-owns="predictive-search-results"
1123        aria-controls="predictive-search-results"
1124        aria-haspopup="listbox"
1125        aria-autocomplete="list"
1126        placeholder="Search by product or keyword"
1127      >
1128      <input name="options[prefix]" type="hidden" value="last">
1129
1130      <button type="reset" class="btn reset__button body-font-2 hidden" aria-label="Reset">
1131        <span class="icon-fallback-text">Clear All</span>
1132      </button>
1133
1134  </form>
1135
1136
1137  <button class="drawer-close" type="button"><span class="visually-hidden">Close drawer</span></button>
1138
1139  <div id="predictive-search" tabindex="-1" class="predictive-search predictive-search-bar--search-template"></div>
1140
1141</div>
1142
1143</div>
1144
1145<!-- Cart Drawer -->
1146<div id='MiniCart' class='drawer drawer-right' role='dialog'>
1147  <button type='button' class='drawer-close'>
1148    <span class='visually-hidden'>Close drawer</span>
1149  </button>
1150  <div class='drawer-title'>
1151    <a href='/cart'>
1152      My Bag
1153      <span
1154        >(<span class='minicart-count'>0</span>)</span
1155      >
1156    </a>
1157  </div>
1158  <div id='CartContainer' class='minicart-container'>
1159    
1160
1161
1162<div>
1163    <form class="cart cart-empty" action="/cart" method="post" novalidate>
1164        <div class="cart-items-wrapper">
1165            <div class="cart-items">
1166                <h1 class="page-title cart-only">Your cart</h1>
1167                
1168                    <p class="cart-empty-message title-font-9">Your cart is currently empty.</p>
1169                
1170                </div>
1171        </div>
1172
1173        <div class="cart-summary-wrapper">
1174            <div class="cart-summary">
1175                <h2 class="summary-title cart-only">Order Details</h2>
1176                <div class="total">
1177                    <span class="total-label">Subtotal</span>
1178                    <span class="total-price">
1179                        <div class="spinner"><div></div><div></div><div></div><div></div></div>
1180                        
1181                            <span>$0.00</span>
1182                    </span>
1183                </div>
1184                
1185                <p class="shipping-message">Shipping &amp; Taxes Calculated at Checkout</p>
1186
1187                
1188
1189                <div style="margin-top: 10px;">
1190                    <form method="post" action="/cart" id="cart_form" accept-charset="UTF-8" class="shopify-cart-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="cart" /><input type="hidden" name="utf8" value="✓" />
1191                        <!-- cart subtotal -->
1192                        
1193                      </form>
1194                </div>
1195
1196                <div class="cart-actions">
1197                    <noscript>
1198                        <button type="submit" name="update" class="cta-1 update-cart-btn" value="Update">Update</button>
1199                    </noscript>
1200                    <button type="submit" name="checkout" class="cta-1 checkout-button" value="Proceed to Checkout">Proceed to Checkout</button>
1201                </div>
1202            </div>
1203        </div>
1204    </form>
1205</div>
1206
1207  </div>
1208</div>
1209
1210<!-- Mobile Drawer -->
1211<div
1212  id='MobileNav'
1213  class='drawer drawer-left margin-promo-bar-mobile'
1214  role='dialog'
1215>
1216  <!-- Mobile Search Drawer -->
1217  <div
1218    class='mobile-search-bar hidden extra-button'
1219    role='dialog'
1220  >
1221    <div class="predictive-search-bar-form">
1222  <form action="/search" method="get" role="search" class="search-form" id="SearchBarForm">
1223    
1224      <input
1225        id="SearchMobile"
1226        type="search"
1227        name="q"
1228        value=""
1229        role="combobox"
1230        aria-expanded="false"
1231        aria-owns="predictive-search-results"
1232        aria-controls="predictive-search-results"
1233        aria-haspopup="listbox"
1234        aria-autocomplete="list"
1235        placeholder="Search by product or keyword"
1236      >
1237      <input name="options[prefix]" type="hidden" value="last">
1238
1239      <button type="reset" class="btn reset__button hidden" aria-label="Reset">
1240        <span class="icon-fallback-text">Clear All</span>
1241      </button>
1242
1243      <button type="submit" class="btn search__button" aria-label="Search">
1244        <span class="icon-fallback-text">Search</span>
1245      </button>
1246
1247  </form>
1248
1249  <button class="search-close" type="button"><span class="visually-hidden">Close drawer</span></button>
1250</div>
1251
1252  </div>
1253
1254  <div
1255    id='predictive-search'
1256    tabindex='-1'
1257    class='predictive-search predictive-search-bar--search-template hidden'
1258  ></div>
1259
1260  <div class='header-utilities margin-promo-bar'>
1261    
1262
1263    <div class='header-block block-account'>
1264      <a
1265        href='#'
1266        data-hydrogen-account-url
1267        class='block-title '
1268      >Sign In</a>
1269    </div>
1270
1271    <div class='mobile-search-trigger'>
1272      <button class='search-open'>
1273        <span>Search</span>
1274      </button>
1275    </div>
1276
1277    <div class='quiz-btn-container show-button'>
1278      
1279        <a class='extra-link cta-1' href='/pages/hair-quiz'>TAKE THE QUIZ</a>
1280      
1281    </div>
1282
1283
1284
1285  </div>
1286</div>
1287
1288<div id="shopify-section-promo-drawer" class="shopify-section">
1289<div id="PromoDrawer" class="drawer drawer-left" role="dialog">
1290  <button type="button" class="drawer-close">
1291    <span class="visually-hidden">Close drawer</span>
1292  </button>
1293  <p class="drawer-title"></p>
1294  <div class="drawer-blocks">
1295    
1296
1297        <div class="promo-drawer-block">
1298          
1299            <p class="headline">20% OFF SITEWIDE 💗 TODAY ONLY</p>
1300          
1301          
1302            <p class="subheadline">*Offer valid on eligible hair masks from 09/24/2026 10:00 am EST to 09/24/2026 11:59 pm PST. Promotion automatically applied at checkout. Promo is a one-time offer and does not apply to subsequent orders or active subscriptions. Not valid on gift cards or previous orders. Can not combine with first time subscriber intro offer. Can not be combined with any other offers except when specified. Details of the offer are subject to change. Other conditions may apply.</p>
1303          
1304          
1305          
1306        </div>
1307      
1308    
1309
1310        <div class="promo-drawer-block">
1311          
1312            <p class="headline">Subscribe &amp; Save</p>
1313          
1314          
1315            <p class="subheadline">Get 20% off your first subscription</p>
1316          
1317          
1318          
1319        </div>
1320      
1321    
1322
1323        <div class="promo-drawer-block">
1324          
1325            <p class="headline">Free Shipping on Orders Over $75</p>
1326          
1327          
1328            <p class="subheadline">Free standard shipping applies to one-off orders over $75 shipping to the United States or Canada. Offer excludes subscription orders and expedited shipping methods. Terms and conditions apply.</p>
1329          
1330          
1331          
1332        </div>
1333      
1334    
1335  </div>
1336</div>
1337
1338</div>
1339
1340<!-- Site header -->
1341<header role='banner' class='site-header style-2 '>
1342  <div id="shopify-section-promo-banner" class="shopify-section">
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354  
1355    
1356    
1357
1358
1359<style> #shopify-section-promo-banner .promo-text-wrapper {padding: 10px 0; text-align: center; font-weight: bolder; font-family: GT-America-Standard-Regular, HelveticaNeue, Helvetica Neue, Helvetica, Arial, sans-serif; font-size: 28px; line-height: 44px; letter-spacing: 0.5px;} #shopify-section-promo-banner span {font-size: 16px;} #shopify-section-promo-banner span {text-align: center;} #shopify-section-promo-banner span {padding-bottom: 20 px;} @media only screen and (max-width: 600px) {#shopify-section-promo-banner .slider-promo-banner .promo-banner-slide {height: 55px !important; padding: 0 15px; }} </style></div>
1360
1361  <div class='header-content'>
1362    
1363      <div class='h1' itemscope itemtype='http://schema.org/Organization'>
1364    
1365    <span class='screen-reader-text'>Function of Beauty</span>
1366    <a
1367      href='/'
1368      itemprop='url'
1369      aria-label='Function of Beauty Logo'
1370      class='site-logo'
1371    >
1372      
1373    </a>
1374    
1375      </div>
1376    
1377
1378    <div class='header-utilities'>
1379      
1380        <a class='extra-link cta-5' href='/pages/hair-quiz'>TAKE THE QUIZ</a>
1381      
1382      
1383  <div class='header-block block-mobile-nav'>
1384    <button class='block-title menu-toggle' aria-controls='NavDrawer' aria-label='Menu' aria-expanded='false'>
1385      <span class='animated-hamburger'> <span></span><span></span><span></span> </span>
1386    </button>
1387  </div>
1388
1389  <div class='header-block block-search has-dropdown'>
1390    <button class='block-title search-toggle'>
1391      <span class='icon-fallback-text'>Search</span>
1392    </button>
1393    <div class='block-content'>
1394      <div class="predictive-search-bar-form">
1395  <form action="/search" method="get" role="search" class="search-form" id="SearchBarForm">
1396    
1397      <button type="submit" class="btn search__button" aria-label="Search">
1398        <span class="icon-fallback-text">Search</span>
1399      </button>
1400
1401      <input
1402        id="SearchInline"
1403        type="search"
1404        name="q"
1405        value=""
1406        role="combobox"
1407        aria-expanded="false"
1408        aria-owns="predictive-search-results"
1409        aria-controls="predictive-search-results"
1410        aria-haspopup="listbox"
1411        aria-autocomplete="list"
1412        placeholder="Search by product or keyword"
1413      >
1414      <input name="options[prefix]" type="hidden" value="last">
1415
1416      <button type="reset" class="btn reset__button body-font-2 hidden" aria-label="Reset">
1417        <span class="icon-fallback-text">Clear All</span>
1418      </button>
1419
1420  </form>
1421
1422
1423  <button class="drawer-close" type="button"><span class="visually-hidden">Close drawer</span></button>
1424
1425  <div id="predictive-search" tabindex="-1" class="predictive-search predictive-search-bar--search-template"></div>
1426
1427</div>
1428
1429    </div>
1430  </div>
1431
1432    <div class='header-block block-account'>
1433      <a
1434        href='#'
1435        data-hydrogen-account-url
1436        class='block-title-flex'
1437      >
1438        <span class='user-icon'></span>
1439        <span class='user-title'>My Account</span>
1440      </a>
1441    </div>
1442
1443
1444
1445      <div
1446        class='header-block block-minicart'
1447      >
1448        <a class='block-title' href='/cart'>
1449          <span id='CartTitle'>Cart</span>
1450          <span id='CartCount' class='minicart-count'>0</span>
1451          <span id='CartCost' class='minicart-cost'>$0.00</span>
1452        </a>
1453      </div>
1454    </div>
1455    <!-- Utility End -->
1456
1457    <!-- Nav Support Nested Menu -->
1458    <div id="shopify-section-navigation" class="shopify-section">
1459
1460
1461<nav test="b" id="navBarB" class="nav-bar" role="navigation">
1462    <div class="inner-wrapper">
1463      <div class="site-nav">
1464        
1465
1466        
1467
1468        
1469
1470          
1471
1472          <div class="level-1  title-font-10"  data-link-levels="0">
1473            <a class="nav-link" href="/" data-gtm-track="navbar-item" >
1474              <span>Home</span>
1475            </a>
1476            
1477          </div>
1478        
1479
1480      </div>
1481    </div>
1482  </nav>
1483</div>
1484    <!-- Nav End -->
1485  </div>
1486</header>
1487
1488
1489<main role="main" id="MainContent" class= "main-content-margin">
1490    <div id="shopify-section-template--27717821694264__four_image_block_MbLW9c" class="shopify-section">
1491
1492
1493
1494
1495
1496
1497    <section class="landing-page four-image-block module-template--27717821694264__four_image_block_MbLW9c location ">
1498        <div class="content">
1499            
1500                <p class="title title-font-5" style="text-align:center;">Find Us Online At:</>
1501            
1502            
1503
1504            <div class="slider-container drag-to-scroll">
1505                <div class="testimonials-carousel-module-slider">
1506                
1507<div class="block category" track_id="walmart">
1508                            
1509<a href="https://www.walmart.com/brand/functionofbeauty/10041277">
1510                                    <div class="image">
1511
1512
1513<picture
1514    class="
1515        responsive"data-handle="files-appicon-walmart-250-png"
1516    data-handle-mobile="files-appicon-walmart-250-png"
1517>
1518    
1519        <source
1520            media="(max-width: 450px)"
1521            srcset="//functionofbeauty.com/cdn/shop/files/AppIcon-Walmart-250_1x.png?v=1741383526
1522"
1523            data-srcset="//functionofbeauty.com/cdn/shop/files/AppIcon-Walmart-250_768x.png?v=1741383526,
1524                    //functionofbeauty.com/cdn/shop/files/[email protected]?v=1741383526 2x"
1525        >
1526    
1527
1528    
1529        <source
1530            media="(max-width: 1024px)"
1531            srcset="//functionofbeauty.com/cdn/shop/files/AppIcon-Walmart-250_1x.png?v=1741383526
1532"
1533            data-srcset="//functionofbeauty.com/cdn/shop/files/AppIcon-Walmart-250_768x.png?v=1741383526,
1534                    //functionofbeauty.com/cdn/shop/files/[email protected]?v=1741383526 2x"
1535        >
1536    
1537
1538    <source
1539        media="(min-width: 1025px)"
1540        srcset="//functionofbeauty.com/cdn/shop/files/AppIcon-Walmart-250_1x.png?v=1741383526
1541"
1542        data-srcset="//functionofbeauty.com/cdn/shop/files/AppIcon-Walmart-250_768x.png?v=1741383526,
1543                //functionofbeauty.com/cdn/shop/files/[email protected]?v=1741383526 2x"
1544    >
1545
1546    <img
1547        class="lazy"
1548        src="//functionofbeauty.com/cdn/shop/files/AppIcon-Walmart-250_1x.png?v=1741383526
1549"
1550        data-src="//functionofbeauty.com/cdn/shop/files/AppIcon-Walmart-250_768x.png?v=1741383526
1551"
1552        alt=""
1553    >
1554
1555    
1556</picture>
1557                                    </div>
1558                                </a><div class="text">
1559                                
1560                                
1561                                    <a href="https://www.walmart.com/brand/functionofbeauty/10041277" class="cta-link-1">Walmart.com</a>
1562                                
1563                            </div>
1564                        </div>
1565<div class="block category" track_id="target">
1566                            
1567<a href="https://www.target.com/b/function-of-beauty/-/N-q643leattf0">
1568                                    <div class="image">
1569
1570
1571<picture
1572    class="
1573        responsive"data-handle="files-appicon-target-250-png"
1574    data-handle-mobile="files-appicon-target-250-png"
1575>
1576    
1577        <source
1578            media="(max-width: 450px)"
1579            srcset="//functionofbeauty.com/cdn/shop/files/AppIcon-Target-250_1x.png?v=1741383526
1580"
1581            data-srcset="//functionofbeauty.com/cdn/shop/files/AppIcon-Target-250_768x.png?v=1741383526,
1582                    //functionofbeauty.com/cdn/shop/files/[email protected]?v=1741383526 2x"
1583        >
1584    
1585
1586    
1587        <source
1588            media="(max-width: 1024px)"
1589            srcset="//functionofbeauty.com/cdn/shop/files/AppIcon-Target-250_1x.png?v=1741383526
1590"
1591            data-srcset="//functionofbeauty.com/cdn/shop/files/AppIcon-Target-250_768x.png?v=1741383526,
1592                    //functionofbeauty.com/cdn/shop/files/[email protected]?v=1741383526 2x"
1593        >
1594    
1595
1596    <source
1597        media="(min-width: 1025px)"
1598        srcset="//functionofbeauty.com/cdn/shop/files/AppIcon-Target-250_1x.png?v=1741383526
1599"
1600        data-srcset="//functionofbeauty.com/cdn/shop/files/AppIcon-Target-250_768x.png?v=1741383526,
1601                //functionofbeauty.com/cdn/shop/files/[email protected]?v=1741383526 2x"
1602    >
1603
1604    <img
1605        class="lazy"
1606        src="//functionofbeauty.com/cdn/shop/files/AppIcon-Target-250_1x.png?v=1741383526
1607"
1608        data-src="//functionofbeauty.com/cdn/shop/files/AppIcon-Target-250_768x.png?v=1741383526
1609"
1610        alt=""
1611    >
1612
1613    
1614</picture>
1615                                    </div>
1616                                </a><div class="text">
1617                                
1618                                
1619                                    <a href="https://www.target.com/b/function-of-beauty/-/N-q643leattf0" class="cta-link-1">Target.com</a>
1620                                
1621                            </div>
1622                        </div>
1623<div class="block category" track_id="amazon">
1624                            
1625<a href="https://www.amazon.com/stores/page/3307E055-BC8E-4760-ABC5-859F8F33AB59?maas=maas_adg_607B3F90B0AD45DB18D53532C25AA54B_afap_abs&ref_=aa_maas&tag=maas">
1626                                    <div class="image">
1627
1628
1629<picture
1630    class="
1631        responsive"data-handle="files-appicon-amazon-250-png"
1632    data-handle-mobile="files-appicon-amazon-250-png"
1633>
1634    
1635        <source
1636            media="(max-width: 450px)"
1637            srcset="//functionofbeauty.com/cdn/shop/files/AppIcon-Amazon-250_1x.png?v=1741383526
1638"
1639            data-srcset="//functionofbeauty.com/cdn/shop/files/AppIcon-Amazon-250_768x.png?v=1741383526,
1640                    //functionofbeauty.com/cdn/shop/files/[email protected]?v=1741383526 2x"
1641        >
1642    
1643
1644    
1645        <source
1646            media="(max-width: 1024px)"
1647            srcset="//functionofbeauty.com/cdn/shop/files/AppIcon-Amazon-250_1x.png?v=1741383526
1648"
1649            data-srcset="//functionofbeauty.com/cdn/shop/files/AppIcon-Amazon-250_768x.png?v=1741383526,
1650                    //functionofbeauty.com/cdn/shop/files/[email protected]?v=1741383526 2x"
1651        >
1652    
1653
1654    <source
1655        media="(min-width: 1025px)"
1656        srcset="//functionofbeauty.com/cdn/shop/files/AppIcon-Amazon-250_1x.png?v=1741383526
1657"
1658        data-srcset="//functionofbeauty.com/cdn/shop/files/AppIcon-Amazon-250_768x.png?v=1741383526,
1659                //functionofbeauty.com/cdn/shop/files/[email protected]?v=1741383526 2x"
1660    >
1661
1662    <img
1663        class="lazy"
1664        src="//functionofbeauty.com/cdn/shop/files/AppIcon-Amazon-250_1x.png?v=1741383526
1665"
1666        data-src="//functionofbeauty.com/cdn/shop/files/AppIcon-Amazon-250_768x.png?v=1741383526
1667"
1668        alt=""
1669    >
1670
1671    
1672</picture>
1673                                    </div>
1674                                </a><div class="text">
1675                                
1676                                
1677                                    <a href="https://www.amazon.com/stores/page/3307E055-BC8E-4760-ABC5-859F8F33AB59?maas=maas_adg_607B3F90B0AD45DB18D53532C25AA54B_afap_abs&ref_=aa_maas&tag=maas" class="cta-link-1">Amazon</a>
1678                                
1679                            </div>
1680                        </div>
1681<div class="block category" track_id="">
1682                            
1683<a href="https://www.heb.com/store-locations">
1684                                    <div class="image">
1685
1686
1687<picture
1688    class="
1689        responsive"data-handle="files-82210a6b7169e420956284f80a2f71d0-jpg"
1690    data-handle-mobile="files-82210a6b7169e420956284f80a2f71d0-jpg"
1691>
1692    
1693        <source
1694            media="(max-width: 450px)"
1695            srcset="//functionofbeauty.com/cdn/shop/files/82210a6b7169e420956284f80a2f71d0_1x.jpg?v=1741693546
1696"
1697            data-srcset="//functionofbeauty.com/cdn/shop/files/82210a6b7169e420956284f80a2f71d0_768x.jpg?v=1741693546,
1698                    //functionofbeauty.com/cdn/shop/files/[email protected]?v=1741693546 2x"
1699        >
1700    
1701
1702    
1703        <source
1704            media="(max-width: 1024px)"
1705            srcset="//functionofbeauty.com/cdn/shop/files/82210a6b7169e420956284f80a2f71d0_1x.jpg?v=1741693546
1706"
1707            data-srcset="//functionofbeauty.com/cdn/shop/files/82210a6b7169e420956284f80a2f71d0_768x.jpg?v=1741693546,
1708                    //functionofbeauty.com/cdn/shop/files/[email protected]?v=1741693546 2x"
1709        >
1710    
1711
1712    <source
1713        media="(min-width: 1025px)"
1714        srcset="//functionofbeauty.com/cdn/shop/files/82210a6b7169e420956284f80a2f71d0_1x.jpg?v=1741693546
1715"
1716        data-srcset="//functionofbeauty.com/cdn/shop/files/82210a6b7169e420956284f80a2f71d0_768x.jpg?v=1741693546,
1717                //functionofbeauty.com/cdn/shop/files/[email protected]?v=1741693546 2x"
1718    >
1719
1720    <img
1721        class="lazy"
1722        src="//functionofbeauty.com/cdn/shop/files/82210a6b7169e420956284f80a2f71d0_1x.jpg?v=1741693546
1723"
1724        data-src="//functionofbeauty.com/cdn/shop/files/82210a6b7169e420956284f80a2f71d0_768x.jpg?v=1741693546
1725"
1726        alt=""
1727    >
1728
1729    
1730</picture>
1731                                    </div>
1732                                </a><div class="text">
1733                                
1734                                
1735                                    <a href="https://www.heb.com/store-locations" class="cta-link-1">H-E-B</a>
1736                                
1737                            </div>
1738                        </div>
1739<div class="block category" track_id="">
1740                            
1741<a href="https://www.meijer.com/shopping/search.html?text=function%20of%20beauty">
1742                                    <div class="image">
1743
1744
1745<picture
1746    class="
1747        responsive"data-handle="files-meijer_logo_2-png"
1748    data-handle-mobile="files-meijer_logo_2-png"
1749>
1750    
1751        <source
1752            media="(max-width: 450px)"
1753            srcset="//functionofbeauty.com/cdn/shop/files/Meijer_Logo_2_1x.png?v=1741694733
1754"
1755            data-srcset="//functionofbeauty.com/cdn/shop/files/Meijer_Logo_2_768x.png?v=1741694733,
1756                    //functionofbeauty.com/cdn/shop/files/[email protected]?v=1741694733 2x"
1757        >
1758    
1759
1760    
1761        <source
1762            media="(max-width: 1024px)"
1763            srcset="//functionofbeauty.com/cdn/shop/files/Meijer_Logo_2_1x.png?v=1741694733
1764"
1765            data-srcset="//functionofbeauty.com/cdn/shop/files/Meijer_Logo_2_768x.png?v=1741694733,
1766                    //functionofbeauty.com/cdn/shop/files/[email protected]?v=1741694733 2x"
1767        >
1768    
1769
1770    <source
1771        media="(min-width: 1025px)"
1772        srcset="//functionofbeauty.com/cdn/shop/files/Meijer_Logo_2_1x.png?v=1741694733
1773"
1774        data-srcset="//functionofbeauty.com/cdn/shop/files/Meijer_Logo_2_768x.png?v=1741694733,
1775                //functionofbeauty.com/cdn/shop/files/[email protected]?v=1741694733 2x"
1776    >
1777
1778    <img
1779        class="lazy"
1780        src="//functionofbeauty.com/cdn/shop/files/Meijer_Logo_2_1x.png?v=1741694733
1781"
1782        data-src="//functionofbeauty.com/cdn/shop/files/Meijer_Logo_2_768x.png?v=1741694733
1783"
1784        alt=""
1785    >
1786
1787    
1788</picture>
1789                                    </div>
1790                                </a><div class="text">
1791                                
1792                                
1793                                    <a href="https://www.meijer.com/shopping/search.html?text=function%20of%20beauty" class="cta-link-1">Meijer</a>
1794                                
1795                            </div>
1796                        </div>
1797                </div>
1798            </div>
1799        </div>
1800    </section>
1801
1802
1803<style>
1804    .module-template--27717821694264__four_image_block_MbLW9c.four-image-block {
1805        background: #fbf5f0;
1806    }
1807    .four-image-block {
1808        padding: 32px 0 20px 0;
1809        .content{
1810            margin: 0 auto;
1811            max-width: 1440px;
1812            display: flex;
1813            flex-direction: column;
1814            position: relative;
1815            .title{
1816                padding: 0 12px;
1817                margin-bottom: 20px;
1818            }
1819            .subheadline{
1820                padding: 0 12px;
1821                margin-top: -8px;
1822                margin-bottom: 32px;
1823            }
1824            .slider-container{
1825                overflow: auto hidden;
1826                padding: 0 12px;
1827                &::-webkit-scrollbar {
1828                    display: none;
1829                }
1830                .testimonials-carousel-module-slider{
1831                    width: 100%;
1832                    display: grid;
1833                    grid-template-columns: 1fr 1fr;
1834                    grid-column-gap: 15px;
1835                    grid-row-gap: 15px;
1836                }
1837                .block{
1838                    width: 100%;
1839                    position: relative;
1840                    display: flex;
1841                    flex-direction: column;
1842                    &.category{
1843                        .above-image-cta{
1844                            background: $lightBlue2;
1845                            border-top-left-radius: 11px;
1846                            border-top-right-radius: 11px;
1847                            text-align: center;
1848                            padding: 10px;
1849                            a{
1850                                display: flex;
1851                                align-items: center;
1852                                justify-content: center;
1853                            }
1854                        }
1855                        .image{
1856                            position: relative;
1857                            picture{
1858                                img{
1859                                    aspect-ratio: 1;
1860                                    border-radius: 11px;
1861                                }
1862                            }
1863                        }
1864                        .text{
1865                            margin-top: 17px;
1866                            text-align: center;
1867                            a{
1868                                width: fit-content;
1869                                margin: 7px auto;
1870                            }
1871                        }
1872                        .hover-cta{
1873                            display: none;
1874                        }
1875                        .hover-overlay{
1876                            display: none;
1877                        }
1878                    }
1879                    &.you{
1880                        .link{
1881                            position: absolute;
1882                            top: 12px;
1883                            left: 12px;
1884                            color: $white;
1885                            z-index: 10;
1886                        }
1887                        .image{
1888                            min-width: 272px;
1889                            position: relative;
1890                            picture{
1891                                img{
1892                                    aspect-ratio: 0.8;
1893                                    border-top-left-radius: 11px;
1894                                    border-top-right-radius: 11px;
1895                                }
1896                            }
1897                            .video-wrapper{
1898                                border-top-left-radius: 11px;
1899                                border-top-right-radius: 11px;
1900                            }
1901                        }
1902                        .text{
1903                            padding: 25px 12px 17px 12px;
1904                            background: $cream;
1905                            border-bottom-left-radius: 11px;
1906                            border-bottom-right-radius: 11px;
1907                            text-align: center;
1908                            display: flex;
1909                            flex-direction: column;
1910                            height: 100%;
1911                            justify-content: center;
1912                            .author{
1913                                @include body-font-5;
1914                                margin-top: 22px;
1915                            }
1916                        }
1917                    }
1918
1919                }
1920            }
1921        }
1922    }
1923    @media (min-width: 1025px) {
1924        .module-template--27717821694264__four_image_block_MbLW9c.four-image-block {
1925            background: #fbf5f0;
1926        }
1927        .four-image-block
1928        .content
1929        .slider-container
1930        .testimonials-carousel-module-slider {
1931            display: flex;
1932            gap: 12px;
1933            flex-wrap: nowrap;
1934            margin: 0 auto;
1935            width: fit-content;
1936            max-width: 1440px;
1937        }
1938        .four-image-block {
1939            .content {
1940                padding: 0 48px;
1941            }
1942        }
1943
1944    }
1945</style>
1946
1947<script>
1948  document.addEventListener('DOMContentLoaded', () => {
1949    console.log("Google Tag begin");
1950    const targetElements = document.querySelectorAll('[track_id]');
1951
1952    console.log("Google Tag found", targetElements);
1953    targetElements.forEach(element => {
1954      const targetId = element.getAttribute('track_id');
1955
1956      if (targetId) {
1957        element.addEventListener('click', () => {
1958          console.log("Google Tag click");
1959
1960          if (window.dataLayer) {
1961            window.dataLayer.push({
1962              event: 'PageImageButtonClick',
1963              targetId: targetId,
1964              timestamp: new Date().toISOString()
1965            });
1966            console.log(`Google Tag event sent for targetId: ${targetId}`);
1967          } else {
1968            console.warn('Google Tag is not initialized ...');
1969          }
1970        });
1971      }
1972    });
1973
1974
1975    console.log("Meta begin")
1976
1977    console.log("Meta found", targetElements)
1978    targetElements.forEach(element => {
1979      const targetId = element.getAttribute('track_id');
1980
1981      if (targetId) {
1982        element.addEventListener('click', () => {
1983          console.log("Meta click ")
1984          if (typeof fbq === 'function') {
1985            fbq('trackCustom', 'PageImageButtonClick', {
1986              targetId,
1987              timestamp: new Date().toISOString()
1988            });
1989            console.log(`Meta Pixel event sent for targetId: ${targetId}`);
1990          } else {
1991            console.warn('Meta Pixel is not initialized ...');
1992          }
1993        });
1994      }
1995    });
1996  });
1997
1998</script>
1998
1999<style> #shopify-section-template--27717821694264__four_image_block_MbLW9c .testimonials-carousel-module-slider {display: grid; grid-template-columns: repeat(auto-fit, minmax(72px, 1fr)); gap: 16px;} @media (max-width: 767px) {#shopify-section-template--27717821694264__four_image_block_MbLW9c .testimonials-carousel-module-slider {grid-template-columns: repeat(3, 1fr); } #shopify-section-template--27717821694264__four_image_block_MbLW9c .block.category img, #shopify-section-template--27717821694264__four_image_block_MbLW9c .block.category picture img {max-width: 128px !important; max-height: 128px !important; width: auto !important; height: auto !important; object-fit: contain; }} </style></div><div id="shopify-section-template--27717821694264__additional_module_map_iGBUYn" class="shopify-section">
2000
2001
2002<section class="additional-module-map" id="map-module">
2003    <div class="content">
2004        
2005            <p class="title title-font-5">Find Us In-Store Near You:</>
2006        
2007        <div class="map">
2008            <!-- Start Stockist.co widget -->
2009<stockist-store-locator data-stockist-widget-tag="u18803">
2010  Loading store locator from <a href="https://stockist.co">Stockist store locator</a>...
2011</stockist-store-locator>
2012<script async src="https://stockist.co/embed/v1/widget.min.js"></script>
2012
2013<!-- End Stockist.co widget -->
2014        </div>
2015    </div>
2016</section>    <style> #shopify-section-template--27717821694264__additional_module_map_iGBUYn .additional-module-map {padding-top: 60px; padding-bottom: 40px; padding-left: 20px; padding-right: 20px;} </style></div>
2017</main>
2018
2019<footer class="site-footer" role="contentinfo">
2020
2021    
2022
2023    <div class="social-wrapper">
2024        <div class="social-icons">
2025
2026                
2027                    <a href="https://www.instagram.com/functionofbeauty" class="social-instagram" title="Function of Beauty on Instagram">
2028                        <span class="icon-fallback-text">Instagram</span>
2029                    </a>
2030                
2031            
2032
2033                
2034                    <a href="https://www.tiktok.com/@functionofbeauty" class="social-tiktok" title="Function of Beauty on Tiktok">
2035                        <span class="icon-fallback-text">Tiktok</span>
2036                    </a>
2037                
2038            
2039
2040                
2041                    <a href="https://www.facebook.com/functionofbeauty/" class="social-facebook" title="Function of Beauty on Facebook">
2042                        <span class="icon-fallback-text">Facebook</span>
2043                    </a>
2044                
2045            
2046
2047                
2048                    <a href="https://www.threads.net/@functionofbeauty" class="social-threads" title="Function of Beauty on Threads">
2049                        <span class="icon-fallback-text">Threads</span>
2050                    </a>
2051                
2052            
2053
2054                
2055                    <a href="https://www.youtube.com/@functionofbeauty1072" class="social-youtube" title="Function of Beauty on YouTube">
2056                        <span class="icon-fallback-text">YouTube</span>
2057                    </a>
2058                
2059            
2060
2061                
2062            
2063
2064                
2065            
2066
2067                
2068            
2069
2070                
2071            
2072
2073                
2074            
2075        </div>
2076    </div>
2077
2078  
2079
2080    <div class="footer-part footer-slim">
2081        <div class="footer-wrapper">
2082            <div class="footer-block link-wrapper"><form method="post" action="/localization" id="FooterCountryForm" accept-charset="UTF-8" class="locale-selectors__container" 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="/pages/store-locator" /><input type="hidden" name="country_code" value="US"><div class="locale-selectors__container" style="background-color: rgb(254, 235, 227);">
2083  <div class="locale-selectors__content" style="max-width: 1440px; margin-left: 35.5px; margin-right: 35.5px;">
2084    <input name="_method" type="hidden" value="PUT">
2085    <input name="source" type="hidden" value="geolocation_selector">
2086    <input name="return_to" type="hidden" value="/pages/store-locator">
2087    <label class="locale-selectors__label" id="country_code_label" for="country_code">
2088      <select id="country_code" class="locale-selectors__selector" name="country_code">
2089        
2090          
2091            <option value="AU">Australia (AUD $)</option>
2092          
2093        
2094          
2095            <option value="AT">Austria (EUR €)</option>
2096          
2097        
2098          
2099            <option value="BE">Belgium (EUR €)</option>
2100          
2101        
2102          
2103            <option value="BG">Bulgaria (EUR €)</option>
2104          
2105        
2106          
2107            <option value="CA">Canada (USD $)</option>
2108          
2109        
2110          
2111            <option value="CL">Chile (USD $)</option>
2112          
2113        
2114          
2115            <option value="CO">Colombia (USD $)</option>
2116          
2117        
2118          
2119            <option value="HR">Croatia (EUR €)</option>
2120          
2121        
2122          
2123            <option value="CY">Cyprus (EUR €)</option>
2124          
2125        
2126          
2127            <option value="CZ">Czechia (EUR €)</option>
2128          
2129        
2130          
2131            <option value="DK">Denmark (DKK kr.)</option>
2132          
2133        
2134          
2135            <option value="EE">Estonia (EUR €)</option>
2136          
2137        
2138          
2139            <option value="FI">Finland (EUR €)</option>
2140          
2141        
2142          
2143            <option value="FR">France (EUR €)</option>
2144          
2145        
2146          
2147            <option value="DE">Germany (EUR €)</option>
2148          
2149        
2150          
2151            <option value="GR">Greece (EUR €)</option>
2152          
2153        
2154          
2155            <option value="GG">Guernsey (GBP £)</option>
2156          
2157        
2158          
2159            <option value="HK">Hong Kong SAR (HKD $)</option>
2160          
2161        
2162          
2163            <option value="HU">Hungary (EUR €)</option>
2164          
2165        
2166          
2167            <option value="IS">Iceland (USD $)</option>
2168          
2169        
2170          
2171            <option value="IE">Ireland (EUR €)</option>
2172          
2173        
2174          
2175            <option value="IM">Isle of Man (GBP £)</option>
2176          
2177        
2178          
2179            <option value="IL">
2179Israel (ILS ₪)</option>
2180          
2181        
2182          
2183            <option value="IT">Italy (EUR €)</option>
2184          
2185        
2186          
2187            <option value="JP">Japan (JPY ¥)</option>
2188          
2189        
2190          
2191            <option value="JE">Jersey (GBP £)</option>
2192          
2193        
2194          
2195            <option value="LV">Latvia (EUR €)</option>
2196          
2197        
2198          
2199            <option value="LT">Lithuania (EUR €)</option>
2200          
2201        
2202          
2203            <option value="LU">Luxembourg (EUR €)</option>
2204          
2205        
2206          
2207            <option value="MT">Malta (EUR €)</option>
2208          
2209        
2210          
2211            <option value="MX">Mexico (USD $)</option>
2212          
2213        
2214          
2215            <option value="NL">Netherlands (EUR €)</option>
2216          
2217        
2218          
2219            <option value="NZ">New Zealand (NZD $)</option>
2220          
2221        
2222          
2223            <option value="NO">Norway (NOK kr)</option>
2224          
2225        
2226          
2227            <option value="PL">Poland (EUR €)</option>
2228          
2229        
2230          
2231            <option value="PT">Portugal (EUR €)</option>
2232          
2233        
2234          
2235            <option value="RO">Romania (EUR €)</option>
2236          
2237        
2238          
2239            <option value="SG">Singapore (SGD $)</option>
2240          
2241        
2242          
2243            <option value="SK">Slovakia (EUR €)</option>
2244          
2245        
2246          
2247            <option value="SI">Slovenia (EUR €)</option>
2248          
2249        
2250          
2251            <option value="KR">South Korea (USD $)</option>
2252          
2253        
2254          
2255            <option value="ES">Spain (EUR €)</option>
2256          
2257        
2258          
2259            <option value="SE">Sweden (SEK kr)</option>
2260          
2261        
2262          
2263            <option value="CH">Switzerland (CHF CHF)</option>
2264          
2265        
2266          
2267            <option value="TW">Taiwan (TWD $)</option>
2268          
2269        
2270          
2271            <option value="AE">United Arab Emirates (USD $)</option>
2272          
2273        
2274          
2275            <option value="GB">United Kingdom (GBP £)</option>
2276          
2277        
2278          
2279            <option value="US" selected>United States (USD $)</option>
2280          
2281        
2282      </select>
2283    </label>
2284  </div>
2285</div>
2286
2287<script>
2288  document.addEventListener('DOMContentLoaded', function() {
2289    const countrySelect = document.getElementById('country_code');
2290    const countryForm = document.getElementById('FooterCountryForm');
2291
2292    if (countrySelect && countryForm) {
2293      countrySelect.addEventListener('change', function(e) {
2294        // Update the hidden input value
2295        const hiddenInput = countryForm.querySelector('input[name="country_code"]');
2296        if (hiddenInput) {
2297          hiddenInput.value = e.target.value;
2298        }
2299        // Submit the form
2300        countryForm.submit();
2301      });
2302    }
2303  });
2304</script>
2304
2305</form><p class="info">&copy; 2026 All Rights Reserved</p>
2306                <a class="link osano-footer" href="#" onclick="Osano.cm.showDrawer('osano-cm-dom-info-dialog-open')">
2307                    Privacy Choices
2308                    <img src="//functionofbeauty.com/cdn/shop/files/privacyoptions_small.png?v=7275071221864303671" width="30" height="14">
2309                </a>
2310                
2311                <a class="link" href="/pages/terms-conditions">Terms & Conditions</a>
2312                
2313                <a class="link" href="/pages/privacy-policy">Privacy Policy</a>
2314                
2315                
2316            </div>
2317        </div>
2318    </div>
2319</footer>
2320
2321<div id="responsive-indicator" class="hide"></div>
2322
2323
2324<script>
2325(function(){
2326  if (window.xsellModal) { console.log('xsellModal: helper already present, skipping initialization'); return; } // don't overwrite
2327  console.log('xsellModal: helper initializing');
2328
2329  // Internal state
2330  var openCallbacks = [];
2331  var closeCallbacks = [];
2332  var currentModal = null;
2333  var attachedAddHandler = null;
2334  var tempInjectedContext = null;
2335  var originalModalBodyHTML = null;
2336  // persist modal style backups across functions so restore works
2337  var _xsell_helper_prevModalStyle = null;
2338  var _xsell_helper_prevModalEnabledAttr = null;
2339  // helpers/state for color-image syncing inside xsell modal
2340  var xsellColorHelpers = null;
2341
2342  function findModal() {
2343    return document.querySelector('.xsell__modal-content.xsell__modal-more-info-open') || document.querySelector('.xsell__modal-content.xsell__modal-more-info-open, .xsell__modal-content.xsell__modal-open');
2344  }
2345
2346  function handleModalOpen(modalEl) {
2347    currentModal = modalEl;
2348    try { console.log('xsellModal: modal opened', modalEl, window.xsellModal && window.xsellModal.getData && window.xsellModal.getData()); } catch(e){}
2349
2350
2351    // Hide the gallery div if present
2352    try {
2353      var galleryEl = modalEl.querySelector('.xsell__modal-more-info-gallery');
2354      if (galleryEl) {
2355        galleryEl.style.display = 'none';
2356        console.log('xsellModal: hid gallery element');
2357      }
2358    } catch(e) {
2359      console.warn('xsellModal: failed to hide gallery', e);
2360    }
2361
2362    // Hide the "more info" form if present
2363    try {
2364      var formEl = modalEl.querySelector('.xsell__modal-more-info-form');
2365      if (formEl) {
2366        formEl.style.display = 'none';
2367        console.log('xsellModal: hid more-info form');
2368      }
2369    } catch(e) {
2370      console.warn('xsellModal: failed to hide more-info form', e);
2371    }
2372
2373    attachAddToCartInterceptor(modalEl);
2374    openCallbacks.forEach(function(cb){ try{ cb(modalEl); }catch(e){ console.error('xsellModal.onOpen callback error', e); } });
2375  }
2376
2377  function handleModalClose() {
2378    var modalEl = currentModal;
2379    try { console.log('xsellModal: modal closed', modalEl); } catch(e){}
2380    detachAddToCartInterceptor();
2381    currentModal = null;
2382    closeCallbacks.forEach(function(cb){ try{ cb(modalEl); }catch(e){ console.error('xsellModal.onClose callback error', e); } });
2383  }
2384
2385  // Attach/Detach interceptor for #xsell__modal-add-to-cart inside the xsell modal
2386  function attachAddToCartInterceptor(modalEl) {
2387    detachAddToCartInterceptor();
2388    if (!modalEl) return;
2389    var addBtn = modalEl.querySelector('#xsell__modal-add-to-cart');
2390    if (!addBtn) {
2391      // sometimes the button may be outside or created later; try to observe few moments
2392      console.log('xsellModal: add-to-cart button not found in modal, will attempt to query later');
2393      var retryCount = 0;
2394      var retryTimer = setInterval(function(){
2395        retryCount++;
2396        addBtn = modalEl.querySelector('#xsell__modal-add-to-cart');
2397        if (addBtn) {
2398          clearInterval(retryTimer);
2399          internalAttach(addBtn);
2400        } else if (retryCount > 10) {
2401          clearInterval(retryTimer);
2402        }
2403      }, 200);
2404      return;
2405    }
2406
2407    internalAttach(addBtn);
2408
2409    function internalAttach(addBtn){
2410      attachedAddHandler = function(e){
2411        e.preventDefault();
2412        e.stopPropagation();
2413        try{
2414          handleXsellAddToCartClick(e, modalEl);
2415        }catch(err){
2416          console.error('xsellModal: error in add-to-cart interceptor', err);
2417        }
2418      };
2419      addBtn.addEventListener('click', attachedAddHandler, true);
2420      console.log('xsellModal: attached add-to-cart interceptor');
2421    }
2422  }
2423
2424  function detachAddToCartInterceptor(){
2425    if (currentModal && attachedAddHandler) {
2426      var btn = currentModal.querySelector('#xsell__modal-add-to-cart');
2427      if (btn) btn.removeEventListener('click', attachedAddHandler, true);
2428    }
2429    attachedAddHandler = null;
2430  }
2431
2432  // Main handler: show customization modal and add product on submit
2433  async function handleXsellAddToCartClick(e, modalEl){
2434    console.log('xsellModal: intercepted xsell add-to-cart click');
2435
2436    // Determine product handle
2437    var handle = window.xsellModal && window.xsellModal._lastQuickviewHandle;
2438    if (!handle) {
2439      // try to read from the link inside the card
2440      var link = modalEl.querySelector('[data-xs-link], [data-xs-quickview]');
2441      if (link) {
2442        handle = link.getAttribute('data-xs-quickview') || link.getAttribute('data-xs-link');
2443        if (handle && handle.indexOf('/products/') === 0) handle = handle.split('/products/')[1].split(/[?#]/)[0];
2444      }
2445    }
2446
2447    if (!handle) {
2448      console.warn('xsellModal: could not determine product handle for xsell add');
2449      return;
2450    }
2451
2452    // Fetch product JSON with metafields using custom template
2453    var product;
2454    var productWithMetafieldsUrl = '/products/' + handle + '?view=metafields';
2455
2456    try {
2457      console.log('xsellModal: fetching product with metafields from', productWithMetafieldsUrl);
2458      var res = await fetch(productWithMetafieldsUrl, { credentials: 'same-origin' });
2459      if (res.ok) {
2460        var text = await res.text();
2461        product = JSON.parse(text);
2462        if (product.error) {
2463          console.warn('xsellModal: product metafields endpoint returned error', product.error);
2464          product = null;
2465        } else {
2466          console.log('xsellModal: loaded product with metafields', product);
2467        }
2468      }
2469    } catch (err) {
2470      console.warn('xsellModal: failed to load product with metafields', err);
2471      product = null;
2472    }
2473
2474    // Fallback to standard .js endpoint if metafields fetch failed
2475    if (!product) {
2476      var productJsonUrl = '/products/' + handle + '.js';
2477      try {
2478        console.log('xsellModal: falling back to standard product JSON');
2479        res = await fetch(productJsonUrl, { credentials: 'same-origin' });
2480        if (!res.ok) throw new Error('Failed to fetch product JSON');
2481        product = await res.json();
2482        console.log('xsellModal: loaded product without metafields', product);
2483      } catch (err) {
2484        console.error('xsellModal: failed to load product JSON for', handle, err);
2485        return;
2486      }
2487    }
2488
2489    // Build a temporary line item representation similar to cart-context expects
2490    var variant = (product.variants && product.variants[0]) || { id: null };
2491    var fakeKey = 'xsell-temp-' + Date.now();
2492    var fakeLineItem = {
2493      id: variant.id,
2494      key: fakeKey,
2495      properties: {
2496        __product_handle: handle,
2497        __profile_type: 'hair',
2498        __profile_name: 'of beauty'
2499      },
2500      product_title: product.title,
2501      variants: product.variants || []
2502    };
2503
2504    // Instead of creating a separate customization modal, inject the customization-details component
2505    // directly inside the xsell modal's description wrapper. This avoids extra stacking contexts.
2506    var descriptionWrapper = modalEl.querySelector('.xsell__modal-more-info-description-wrapper') || modalEl.querySelector('.xsell__modal-content__body') || modalEl;
2507    if (!descriptionWrapper) {
2508      console.error('xsellModal: target description wrapper not found in xsell modal');
2509      return;
2510    }
2511
2512    // Save original HTML so we can restore later
2513    var modalBody = descriptionWrapper;
2514    if (!originalModalBodyHTML) originalModalBodyHTML = modalBody.innerHTML;
2515
2516    // IMPORTANT: Build complete HTML string with ALL attributes and data elements
2517    // BEFORE parsing, so the custom element constructor has everything it needs
2518
2519    console.log('xsellModal: preparing quiz data for', handle);
2520
2521    // Prepare product data
2522    var productsData = JSON.stringify([{
2523      productType: product.product_type || '',
2524      id: product.id,
2525      title: product.title,
2526      handle: product.handle,
2527      price: product.price,
2528      vendor: product.vendor || '',
2529      available: product.available !== false,
2530      variants: product.variants || [],
2531      images: product.images || [],
2532      tags: product.tags || [],
2533      selling_plan_groups: product.selling_plan_groups || []
2534    }]);
2535
2536    // Prepare variants data
2537    var variantsForQuiz = [];
2538    try {
2539      if (product.variants && product.variants.length > 0) {
2540        var firstOption1 = product.variants[0].option1;
2541        variantsForQuiz = product.variants
2542          .filter(function(v){ return v.option1 === firstOption1 && v.available; })
2543          .map(function(v){
2544            return {
2545              id: String(v.id),
2546              sku: v.sku || '',
2547              color: v.option2 || '',
2548              value: v.option2 || '',
2549              image: (v.featured_image && v.featured_image.src) || '',
2550              enable: v.available !== false
2551            };
2552          });
2553      }
2554    } catch(e){ console.warn('xsellModal: failed to process variants', e); }
2555    var variantsData = JSON.stringify(variantsForQuiz);
2556
2557    // Fetch metafields for quiz options
2558    // Images are already transformed to proper URLs by the Liquid template
2559    var metafields = product.metafields || {};
2560
2561    // Extract quiz data arrays directly (already formatted correctly from Liquid)
2562    var hairGoalsData = [];
2563    try {
2564      hairGoalsData = (metafields.custom && metafields.custom.mini_quiz_hair_goals) || [];
2565      if (!Array.isArray(hairGoalsData)) hairGoalsData = [];
2566    } catch(e){ console.warn('xsellModal: failed to process hair goals', e); }
2567
2568    var hairTypesData = [];
2569    try {
2570      hairTypesData = (metafields.custom && metafields.custom.mini_quiz_hair_types) || [];
2571      if (!Array.isArray(hairTypesData)) hairTypesData = [];
2572    } catch(e){ console.warn('xsellModal: failed to process hair types', e); }
2573
2574    var scalpTypeData = [];
2575    try {
2576      scalpTypeData = (metafields.custom && metafields.custom.mini_quiz_scalp_types) || [];
2577      if (!Array.isArray(scalpTypeData)) scalpTypeData = [];
2578    } catch(e){ console.warn('xsellModal: failed to process scalp types', e); }
2579
2580    var hairThicknessData = [];
2581    try {
2582      hairThicknessData = (metafields.custom && metafields.custom.mini_quiz_hair_thickness) || [];
2583      if (!Array.isArray(hairThicknessData)) hairThicknessData = [];
2584    } catch(e){ console.warn('xsellModal: failed to process hair thickness', e); }
2585
2586    var fragrancesData = [];
2587    try {
2588      fragrancesData = (metafields.custom && metafields.custom.mini_quiz_fragrances) || [];
2589      if (!Array.isArray(fragrancesData)) fragrancesData = [];
2590    } catch(e){ console.warn('xsellModal: failed to process fragrances', e); }
2591
2592    var stylingGoalsData = [];
2593    try {
2594      stylingGoalsData = (metafields.custom && metafields.custom.mini_quiz_styling_goals) || [];
2595      if (!Array.isArray(stylingGoalsData)) stylingGoalsData = [];
2596    } catch(e){ console.warn('xsellModal: failed to process styling goals', e); }
2597
2598    var holdStrengthData = [];
2599    try {
2600      holdStrengthData = (metafields.custom && metafields.custom.mini_quiz_hold_levels) || [];
2601      if (!Array.isArray(holdStrengthData)) holdStrengthData = [];
2602    } catch(e){ console.warn('xsellModal: failed to process hold strength', e); }
2603
2604    var bodyMoistureData = [];
2605    try {
2606      bodyMoistureData = (metafields.custom && metafields.custom.mini_quiz_body_moisture_level) || [];
2607      if (!Array.isArray(bodyMoistureData)) bodyMoistureData = [];
2608    } catch(e){ console.warn('xsellModal: failed to process body moisture', e); }
2609
2610    var damageData = [];
2611    try {
2612      damageData = (metafields.custom && metafields.custom.mini_quiz_damage) || [];
2613      if (!Array.isArray(damageData)) damageData = [];
2614    } catch(e){ console.warn('xsellModal: failed to process damage level', e); }
2615
2616    // Layout configuration
2617    var layoutData = [];
2618    try {
2619      var layoutMeta = metafields.custom && metafields.custom.mini_quiz_layout;
2620      if (layoutMeta && Array.isArray(layoutMeta)) {
2621        layoutData = layoutMeta;
2622      } else {
2623        // Create default layout if not specified
2624        // Standard order for hair products: hairTypes, scalpType, hairThickness, hairGoals, fragrances
2625        layoutData = [];
2626        if (hairTypesData.length > 0) {
2627          layoutData.push({ property: 'hairTypes', inputType: 'dropdown' });
2628        }
2629        if (scalpTypeData.length > 0) {
2630          layoutData.push({ property: 'scalpType', inputType: 'dropdown' });
2631        }
2632        if (hairThicknessData.length > 0) {
2633          layoutData.push({ property: 'hairThickness', inputType: 'dropdown' });
2634        }
2635        if (hairGoalsData.length > 0) {
2636          layoutData.push({ property: 'hairGoals', inputType: 'button' });
2637        }
2638        if (fragrancesData.length > 0) {
2639          layoutData.push({ property: 'fragrances', inputType: 'dropdown' });
2640        }
2641        if (stylingGoalsData.length > 0) {
2642          layoutData.push({ property: 'stylingGoals', inputType: 'button' });
2643        }
2644        if (holdStrengthData.length > 0) {
2645          layoutData.push({ property: 'holdStrength', inputType: 'dropdown' });
2646        }
2647        if (bodyMoistureData.length > 0) {
2648          layoutData.push({ property: 'bodyMoisture', inputType: 'dropdown' });
2649        }
2650        if (damageData.length > 0) {
2651          layoutData.push({ property: 'damage', inputType: 'dropdown' });
2652        }
2653        console.log('xsellModal: created default layout', layoutData);
2654      }
2655    } catch(e){ console.warn('xsellModal: failed to process layout', e); }
2656
2657    // Silicone free setting
2658    var siliconeFreeData = {};
2659    try {
2660      var siliconeFreeMeta = metafields.custom && metafields.custom.mini_quiz_silicone_free;
2661      if (siliconeFreeMeta) siliconeFreeData = siliconeFreeMeta;
2662    } catch(e){ console.warn('xsellModal: failed to process silicone free', e); }
2663
2664    // Discount subscription
2665    var discountData = '';
2666    try {
2667      var discountMeta = metafields.custom && metafields.custom.product_mini_quiz_discount;
2668      if (discountMeta) discountData = discountMeta;
2669    } catch(e){ console.warn('xsellModal: failed to process discount', e); }
2670
2671    console.log('xsellModal: quiz data prepared with', {
2672      hairGoals: hairGoalsData.length,
2673      hairTypes: hairTypesData.length,
2674      scalpType: scalpTypeData.length,
2675      hairThickness: hairThicknessData.length,
2676      fragrances: fragrancesData.length,
2677      stylingGoals: stylingGoalsData.length,
2678      holdStrength: holdStrengthData.length,
2679      bodyMoisture: bodyMoistureData.length,
2680      damage: damageData.length,
2681      variants: variantsForQuiz.length,
2682      layout: layoutData.length + ' fields'
2683    });
2684    console.log('xsellModal: layout configuration', layoutData);
2685
2686    // Build complete HTML string with actual metafield data
2687    var shortFragranceAttr = (handle && handle.includes('sos')) ? ' short-fragrance-list' : '';
2688
2689    // Check if product template_suffix is "retail" to hide profile customizations
2690    var isRetail = false;
2691    try {
2692      isRetail = product.template_suffix === 'retail';
2693      if (isRetail) {
2694        console.log('xsellModal: retail product detected, hiding profile name and customizations');
2695      }
2696    } catch(e){ console.warn('xsellModal: failed to check template_suffix', e); }
2697
2698    var retailAttrs = isRetail ? ' show-profile-name="false" show-customizations="false" force-add-to-cart="true" after-add-to-cart-action="redirect_to_checkout"' : '';
2699
2700    var quizHTMLString =
2701      '<mini-quiz-basic-component ' +
2702      'show-big-quiz-link="false" quiz-type="standard" product-handle="' + handle +
2703      '" price="' + (product.price || '') + '" variant-id="' + variant.id +
2704      '" after-add-to-cart-action="stay_on_pdp" show-quantity-input' + shortFragranceAttr + retailAttrs + '>' +
2705      '<data name="products" type="json" style="display:none">' + productsData + '</data>' +
2706      '<data name="variants" type="json" style="display:none">' + variantsData + '</data>' +
2707      '<data name="hairTypes" type="json" style="display:none">' + JSON.stringify(hairTypesData) + '</data>' +
2708      '<data name="hairThickness" type="json" style="display:none">' + JSON.stringify(hairThicknessData) + '</data>' +
2709      '<data name="scalpType" type="json" style="display:none">' + JSON.stringify(scalpTypeData) + '</data>' +
2710      '<data name="fragrances" type="json" style="display:none">' + JSON.stringify(fragrancesData) + '</data>' +
2711      '<data name="stylingGoals" type="json" style="display:none">' + JSON.stringify(stylingGoalsData) + '</data>' +
2712      '<data name="hairGoals" type="json" style="display:none">' + JSON.stringify(hairGoalsData) + '</data>' +
2713      '<data name="holdStrength" type="json" style="display:none">' + JSON.stringify(holdStrengthData) + '</data>' +
2714      '<data name="bodyMoisture" type="json" style="display:none">' + JSON.stringify(bodyMoistureData) + '</data>' +
2715      (damageData.length > 0 ? '<data name="damage" type="json" style="display:none">' + JSON.stringify(damageData) + '</data>' : '') +
2716      '<data name="defaultValuesMiniQuiz" type="json" style="display:none">{}</data>' +
2717      '<data name="metafieldLayout" type="json" style="display:none">' + JSON.stringify(layoutData) + '</data>' +
2718      '<data name="metafieldSiliconeFree" type="json" style="display:none">' + JSON.stringify(siliconeFreeData) + '</data>' +
2719      (discountData ? '<data name="discountSubscriptionMetafield" type="string" style="display:none">' + discountData + '</data>' : '') +
2720      '</mini-quiz-basic-component>';
2721
2722    // Create cart-context-xsell wrapper and parse the quiz HTML
2723    var cartContextXsellEl = document.createElement('cart-context-xsell');
2724    cartContextXsellEl.setAttribute('line-items', JSON.stringify([fakeLineItem]));
2725    cartContextXsellEl.innerHTML = quizHTMLString;
2726
2727    // Get reference to the quiz element
2728    var quizEl = cartContextXsellEl.querySelector('mini-quiz-basic-component');
2729
2730    // clear and append the wrapper
2731    modalBody.innerHTML = '';
2732    modalBody.appendChild(cartContextXsellEl);
2733
2734    // SHOW LOADER IMMEDIATELY on featured image container while components initialize
2735    // This ensures user sees loading feedback during component initialization delays
2736    try {
2737      // Use the parent images container for better visibility
2738      var featuredImageContainerImmediate = modalEl.querySelector('.xsell__modal-more-info-images');
2739      if (!featuredImageContainerImmediate) {
2740        // Fallback to featured image if parent not found
2741        featuredImageContainerImmediate = modalEl.querySelector('.xsell__modal-more-info-featured-image');
2742      }
2743      console.log('xsellModal: using loader container', featuredImageContainerImmediate ? featuredImageContainerImmediate.className : 'not found');
2744      if (featuredImageContainerImmediate) {
2745        console.log('xsellModal: showing loader immediately on modal injection');
2746        var loaderHostImmediate = featuredImageContainerImmediate;
2747
2748        // Ensure loader styles exist
2749        if (!document.getElementById('xsell-modal-loader-styles')) {
2750          var ss = document.createElement('style');
2751          ss.id = 'xsell-modal-loader-styles';
2752          ss.textContent = '.xsell-featured-image-loader{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.9); z-index:100000; } .xsell-featured-image-loader.hidden{ display:none !important; } .xsell-featured-image-loader .spinner{ width:48px; height:48px; border-radius:50%; border:5px solid rgba(0,0,0,0.1); border-top-color:rgba(0,0,0,0.7); animation:xsellSpin 0.8s linear infinite; } @keyframes xsellSpin{ to{ transform:rotate(360deg); } }';
2753          document.head.appendChild(ss);
2754        }
2755
2756        // Ensure container is positioned
2757        try {
2758          if (getComputedStyle(loaderHostImmediate).position === 'static') {
2759            loaderHostImmediate.style.position = 'relative';
2760          }
2761        } catch(e){}
2762
2763        // Create and show loader immediately
2764        var immediateLoader = loaderHostImmediate.querySelector('.xsell-featured-image-loader');
2765        if (!immediateLoader) {
2766          immediateLoader = document.createElement('div');
2767          immediateLoader.className = 'xsell-featured-image-loader';
2768          immediateLoader.innerHTML = '<div class="spinner" aria-hidden="true"></div>';
2769          loaderHostImmediate.appendChild(immediateLoader);
2770        } else {
2771          immediateLoader.classList.remove('hidden');
2772        }
2773        console.log('xsellModal: loader is now visible during component initialization on', loaderHostImmediate.className);
2774      }
2775    } catch(e) {
2776      console.warn('xsellModal: failed to show immediate loader', e);
2777    }
2778
2779    // --- FAST PATH: attach immediate click delegation to the injected cartContextXsellEl so
2780    // color clicks are handled as soon as user interacts (before web components are upgraded)
2781    try {
2782      if (!xsellColorHelpers) {
2783        xsellColorHelpers = { listeners: [], observer: null, pollTimer: null, docListener: null, prevOnSelectedMap: new WeakMap() };
2784      }
2785
2786      // parse variants quickly from the injected data (we already created variantsData above)
2787      var quickVariants = [];
2788      try { quickVariants = variantsData ? JSON.parse(variantsData) : []; } catch(e){ quickVariants = []; }
2789
2790      // Query the parent images container for better loader visibility
2791      var featuredImageContainerEarly = modalEl.querySelector('.xsell__modal-more-info-images');
2792      if (!featuredImageContainerEarly) {
2793        // Fallback to featured-image child if parent not found
2794        featuredImageContainerEarly = modalEl.querySelector('.xsell__modal-more-info-featured-image');
2795      }
2796      console.log('xsellModal: using loader container', featuredImageContainerEarly ? featuredImageContainerEarly.className : 'not found');
2797
2798      // Helper: show loader overlay immediately on featured image container/host
2799      function showImageLoaderNow(container) {
2800        try {
2801          // Try parent container first for better visibility
2802          if (!container) container = modalEl && modalEl.querySelector && modalEl.querySelector('.xsell__modal-more-info-images');
2803          if (!container) container = modalEl && modalEl.querySelector && modalEl.querySelector('.xsell__modal-more-info-featured-image');
2804          if (!container) container = document.querySelector('.xsell__modal-more-info-images');
2805          if (!container) container = document.querySelector('.xsell__modal-more-info-featured-image');
2806          if (!container) return null;
2807
2808          var host = container;
2809          // Don't try to use parent if we're already on the images container
2810          try {
2811            if (host.tagName && host.tagName.toLowerCase() === 'img') {
2812              host = host.parentElement || host;
2813            }
2814          } catch(e){}
2815
2816          if (!document.getElementById('xsell-modal-loader-styles')) {
2817            var ss = document.createElement('style');
2818            ss.id = 'xsell-modal-loader-styles';
2819            ss.textContent = '.xsell-featured-image-loader{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.9); z-index:100000; } .xsell-featured-image-loader.hidden{ display:none !important; } .xsell-featured-image-loader .spinner{ width:48px; height:48px; border-radius:50%; border:5px solid rgba(0,0,0,0.1); border-top-color:rgba(0,0,0,0.7); animation:xsellSpin 0.8s linear infinite; } @keyframes xsellSpin{ to{ transform:rotate(360deg); } }';
2820            document.head.appendChild(ss);
2821          }
2822
2823          var loader = host.querySelector('.xsell-featured-image-loader');
2824          if (!loader) {
2825            loader = document.createElement('div');
2826            loader.className = 'xsell-featured-image-loader hidden';
2827            loader.innerHTML = '<div class="spinner" aria-hidden="true"></div>';
2828            try { if (getComputedStyle(host).position === 'static') host.style.position = 'relative'; } catch(e){}
2829            try { loader.style.zIndex = '100000'; } catch(e){}
2830            host.appendChild(loader);
2831          }
2832          if (loader._hideTimer) try { clearTimeout(loader._hideTimer); } catch(e){}
2833          loader.classList.remove('hidden');
2834          loader._hideTimer = setTimeout(function(){ try { loader.classList.add('hidden'); } catch(e){} }, 6000);
2835          return loader;
2836        } catch(e){ return null; }
2837      }
2838
2839      // Show loader immediately on the featured image container if it exists
2840      // We'll show it now and let the image loading functions handle hiding it
2841      if (featuredImageContainerEarly) {
2842        try {
2843          console.log('xsellModal: initializing loader on featured image container');
2844          // Just ensure the loader element exists and is ready
2845          // Don't show it yet - let the actual image loading trigger it
2846          var loaderHost = featuredImageContainerEarly;
2847          try { if (loaderHost.tagName && loaderHost.tagName.toLowerCase() === 'img') loaderHost = loaderHost.parentElement || loaderHost; } catch(e){}
2848          var existingLoader = loaderHost.querySelector('.xsell-featured-image-loader');
2849          if (!existingLoader) {
2850            existingLoader = document.createElement('div');
2851            existingLoader.className = 'xsell-featured-image-loader hidden';
2852            existingLoader.innerHTML = '<div class="spinner" aria-hidden="true"></div>';
2853            try { if (getComputedStyle(loaderHost).position === 'static') loaderHost.style.position = 'relative'; } catch(e){}
2854            try { existingLoader.style.zIndex = '100000'; } catch(e){}
2855            loaderHost.appendChild(existingLoader);
2856            console.log('xsellModal: loader element created and ready');
2857          }
2858        } catch(e){
2859          console.warn('xsellModal: failed to initialize loader', e);
2860        }
2861      }
2862
2863      function quickSetFeaturedImageUrl(url){
2864        if (!url) return;
2865        try {
2866          // try to locate the featured image container now - prioritize parent images container
2867          var container = featuredImageContainerEarly;
2868          if (!container) container = modalEl && modalEl.querySelector && modalEl.querySelector('.xsell__modal-more-info-images');
2869          if (!container) container = modalEl && modalEl.querySelector && modalEl.querySelector('.xsell__modal-more-info-featured-image');
2870          if (!container) container = document.querySelector('.xsell__modal-more-info-images');
2871          if (!container) container = document.querySelector('.xsell__modal-more-info-featured-image');
2872          if (!container) return;
2873
2874          // ensure loader styles exist
2875          if (!document.getElementById('xsell-modal-loader-styles')) {
2876            var ss = document.createElement('style'); ss.id = 'xsell-modal-loader-styles'; ss.textContent =
2877              '.xsell-featured-image-loader{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.9); z-index:100000; }' +
2878              '.xsell-featured-image-loader.hidden{ display:none !important; }' +
2879              '.xsell-featured-image-loader .spinner{ width:48px; height:48px; border-radius:50%; border:5px solid rgba(0,0,0,0.1); border-top-color:rgba(0,0,0,0.7); animation:xsellSpin 0.8s linear infinite; }' +
2880              '@keyframes xsellSpin{ to{ transform:rotate(360deg); } }';
2881            document.head.appendChild(ss);
2882          }
2883
2884          // create or find loader overlay in the featured image container
2885          var loaderHost = container;
2886          // Only try to use parent if container is an img element
2887          try {
2888            if (loaderHost && loaderHost.tagName && loaderHost.tagName.toLowerCase() === 'img') {
2889              loaderHost = loaderHost.parentElement || loaderHost;
2890            }
2891          } catch(e){}
2892          var loaderEl = loaderHost.querySelector('.xsell-featured-image-loader');
2893          if (!loaderEl) {
2894            loaderEl = document.createElement('div');
2895            loaderEl.className = 'xsell-featured-image-loader hidden';
2896            loaderEl.innerHTML = '<div class="spinner" aria-hidden="true"></div>';
2897            // ensure the host is positioned relatively to contain the absolute loader
2898            try { if (getComputedStyle(loaderHost).position === 'static') loaderHost.style.position = 'relative'; } catch(e){}
2899            // ensure loader is above most theme elements
2900            try { loaderEl.style.zIndex = '100000'; } catch(e){}
2901            loaderHost.appendChild(loaderEl);
2902          }
2903          // show loader immediately and record show time for GUARANTEED minimum display duration
2904          loaderEl.classList.remove('hidden');
2905          console.log('xsellModal: showing image loader for', url);
2906          var loaderShowTime = Date.now();
2907          var minDisplayTime = 500; // INCREASED to 500ms for better visibility
2908
2909          // Clear any existing timers
2910          if (loaderEl._hideTimer) try { clearTimeout(loaderEl._hideTimer); } catch(e){}
2911          if (loaderEl._minDisplayTimer) try { clearTimeout(loaderEl._minDisplayTimer); } catch(e){}
2912
2913          // Safety timeout (6s)
2914          loaderEl._hideTimer = setTimeout(function(){ try { loaderEl.classList.add('hidden'); } catch(e){} }, 6000);
2915
2916          // Track if image has loaded (for both sync and async loads)
2917          var imageHasLoaded = false;
2918
2919          // GUARANTEED minimum display time - loader won't hide until this timer completes AND quiz is ready
2920          loaderEl._minDisplayTimer = setTimeout(function() {
2921            // After minimum time, hide loader only if image has loaded AND quiz is ready
2922            if (imageHasLoaded && window._xsellQuizReady !== false) {
2923              try {
2924                if (loaderEl._hideTimer) { clearTimeout(loaderEl._hideTimer); loaderEl._hideTimer = null; }
2925                loaderEl.classList.add('hidden');
2926                console.log('xsellModal: hiding image loader for', url, 'after', Date.now() - loaderShowTime, 'ms');
2927              } catch(e){}
2928            } else {
2929              // Image still loading or quiz not ready, wait for it
2930              if (!imageHasLoaded) console.log('xsellModal: minimum time passed but image still loading', url);
2931              if (window._xsellQuizReady === false) console.log('xsellModal: minimum time passed but quiz not ready yet', url);
2932
2933              // Check again after a delay
2934              setTimeout(function checkAgain() {
2935                if (imageHasLoaded && window._xsellQuizReady !== false) {
2936                  try {
2937                    if (loaderEl._hideTimer) { clearTimeout(loaderEl._hideTimer); loaderEl._hideTimer = null; }
2938                    loaderEl.classList.add('hidden');
2939                    console.log('xsellModal: hiding image loader after quiz ready for', url, 'after', Date.now() - loaderShowTime, 'ms');
2940                  } catch(e){}
2941                } else {
2942                  // Still not ready, check again
2943                  setTimeout(checkAgain, 200);
2944                }
2945              }, 200);
2946            }
2947          }, minDisplayTime);
2948
2949          // Helper to mark image as loaded and hide loader if minimum time has passed AND quiz is ready
2950          var markImageLoaded = function() {
2951            imageHasLoaded = true;
2952            var elapsed = Date.now() - loaderShowTime;
2953            if (elapsed >= minDisplayTime && window._xsellQuizReady !== false) {
2954              // Minimum time passed AND quiz ready, hide now
2955              try {
2956                if (loaderEl._hideTimer) { clearTimeout(loaderEl._hideTimer); loaderEl._hideTimer = null; }
2957                if (loaderEl._minDisplayTimer) { clearTimeout(loaderEl._minDisplayTimer); loaderEl._minDisplayTimer = null; }
2958                loaderEl.classList.add('hidden');
2959                console.log('xsellModal: hiding image loader for', url, 'after', elapsed, 'ms');
2960              } catch(e){}
2961            } else {
2962              // Either minimum time hasn't passed or quiz not ready yet
2963              if (elapsed < minDisplayTime) console.log('xsellModal: image loaded but waiting for minimum display time', url);
2964              if (window._xsellQuizReady === false) console.log('xsellModal: image loaded but waiting for quiz ready', url);
2965            }
2966            // The minDisplayTimer will handle hiding when conditions are met
2967          };
2968
2969          var imgEl = container.querySelector('img');
2970
2971          // If the img element already exists and has this exact URL and is loaded, mark as loaded
2972          try {
2973            if (imgEl && imgEl.src && imgEl.src.indexOf(url) !== -1 && imgEl.complete && imgEl.naturalHeight > 0) {
2974              console.log('xsellModal: image already showing', url);
2975              markImageLoaded();
2976              return;
2977            }
2978          } catch(e){}
2979
2980          // Update the image src immediately if element exists (browser will use cache)
2981          if (imgEl && imgEl.src !== url) {
2982            imgEl.src = url;
2983          }
2984
2985          // Wait for the image to actually load (even from cache) before marking as loaded
2986          if (imgEl) {
2987            // Use requestAnimationFrame to check after browser has a chance to load from cache
2988            requestAnimationFrame(function() {
2989              if (imgEl.complete && imgEl.naturalHeight > 0) {
2990                // Already loaded (cached) - checked after RAF
2991                console.log('xsellModal: image loaded from cache', url);
2992                markImageLoaded();
2993              } else {
2994                // Wait for load event
2995                var onLoadHandler = function() {
2996                  console.log('xsellModal: image loaded via event', url);
2997                  markImageLoaded();
2998                };
2999                imgEl.addEventListener('load', onLoadHandler, { once: true });
3000                imgEl.addEventListener('error', onLoadHandler, { once: true });
3001              }
3002            });
3003          } else {
3004            // No img element, try background image
3005            var bgTarget = container.querySelector('.background-image') || container;
3006            var tmp = new Image();
3007            tmp.onload = function(){
3008              try { bgTarget.style.backgroundImage = 'url("' + url + '")'; } catch(e){}
3009              markImageLoaded();
3010            };
3011            tmp.onerror = function(){ markImageLoaded(); };
3012            tmp.src = url;
3013          }
3014        } catch(e){}
3015      }
3016
3017      function quickNormalize(s){ return String(s || '').toLowerCase().replace(/[^a-z0-9]+/g,'').trim(); }
3018      function quickFindImageForColor(color){
3019        if (!color) return null;
3020        var c = quickNormalize(color);
3021        for (var qi = 0; qi < quickVariants.length; qi++){
3022          var vv = quickVariants[qi] || {};
3023          var raw = vv.color || vv.value || vv.title || '';
3024          var val = quickNormalize(raw);
3025          if (!val) continue;
3026          if (val === c) return (typeof vv.image === 'string') ? vv.image : (vv.image && (vv.image.src || vv.image.url)) || null;
3027          if (val.indexOf(c) !== -1) return (typeof vv.image === 'string') ? vv.image : (vv.image && (vv.image.src || vv.image.url)) || null;
3028          if (c.indexOf(val) !== -1) return (typeof vv.image === 'string') ? vv.image : (vv.image && (vv.image.src || vv.image.url)) || null;
3029        }
3030        return null;
3031      }
3032
3033      // container-level click delegation to immediately respond to color swatch clicks inside injected component
3034      var containerClickEarly = function(ev){
3035        try {
3036          var el = ev.target && ev.target.closest && ev.target.closest('[data-color], [data-value], [data-variant-option-value], .color-swatch, .swatch, button[data-color]');
3037          if (!el) return;
3038          // ensure within our injected context
3039          if (!cartContextXsellEl.contains(el)) return;
3040          var c = el.getAttribute('data-color') || el.getAttribute('data-value') || el.getAttribute('data-variant-option-value') || el.getAttribute('value') || el.getAttribute('aria-label') || el.textContent || null;
3041          if (!c) return;
3042          var img = quickFindImageForColor(c.trim());
3043          if (img) {
3044            // show loader immediately so user sees activity before image fetch completes
3045            showImageLoaderNow(featuredImageContainerEarly || modalEl && modalEl.querySelector && modalEl.querySelector('.xsell__modal-more-info-featured-image'));
3046            quickSetFeaturedImageUrl(img);
3047          }
3048        } catch(e){}
3049      };
3050      cartContextXsellEl.addEventListener('click', containerClickEarly, true);
3051      xsellColorHelpers.listeners.push({ el: cartContextXsellEl, ev: 'click', fn: containerClickEarly });
3052      console.log('xsellModal: added early container click delegation to detect colors before upgrade');
3053
3054      // Also attach pointerdown and mouseover to react faster (touch and hover) and try to set initial image
3055      try {
3056        var pointerHandler = function(ev){
3057          try {
3058            var el = ev.target && ev.target.closest && ev.target.closest('[data-color], [data-value], [data-variant-option-value], .color-swatch, .swatch, button[data-color]');
3059            if (!el) return;
3060            if (!cartContextXsellEl.contains(el)) return;
3061            var c = el.getAttribute('data-color') || el.getAttribute('data-value') || el.getAttribute('data-variant-option-value') || el.getAttribute('value') || el.getAttribute('aria-label') || el.textContent || null;
3062            if (!c) return;
3063            var img = quickFindImageForColor(c.trim());
3064            if (img) {
3065              showImageLoaderNow(featuredImageContainerEarly || modalEl && modalEl.querySelector && modalEl.querySelector('.xsell__modal-more-info-featured-image'));
3066              quickSetFeaturedImageUrl(img);
3067            }
3068          } catch(e){}
3069        };
3070        cartContextXsellEl.addEventListener('pointerdown', pointerHandler, true);
3071        xsellColorHelpers.listeners.push({ el: cartContextXsellEl, ev: 'pointerdown', fn: pointerHandler });
3072
3073        var hoverHandler = function(ev){
3074          try {
3075            var el = ev.target && ev.target.closest && ev.target.closest('[data-color], [data-value], [data-variant-option-value], .color-swatch, .swatch, button[data-color]');
3076            if (!el) return;
3077            if (!cartContextXsellEl.contains(el)) return;
3078            var c = el.getAttribute('data-color') || el.getAttribute('data-value') || el.getAttribute('data-variant-option-value') || el.getAttribute('value') || el.getAttribute('aria-label') || el.textContent || null;
3079            if (!c) return;
3080            var img = quickFindImageForColor(c.trim());
3081            if (img) {
3082              showImageLoaderNow(featuredImageContainerEarly || modalEl && modalEl.querySelector && modalEl.querySelector('.xsell__modal-more-info-featured-image'));
3083              quickSetFeaturedImageUrl(img);
3084            }
3085          } catch(e){}
3086        };
3087        cartContextXsellEl.addEventListener('mouseover', hoverHandler, true);
3088        xsellColorHelpers.listeners.push({ el: cartContextXsellEl, ev: 'mouseover', fn: hoverHandler });
3089      } catch(e){/* ignore */}
3090
3091      // Preload variant images (non-blocking) to reduce image load delay when switching
3092      try {
3093        // Start a parallel preloader with limited concurrency so image downloads start immediately
3094        xsellColorHelpers.preloaded = xsellColorHelpers.preloaded || [];
3095        xsellColorHelpers._preloadControllers = xsellColorHelpers._preloadControllers || [];
3096        xsellColorHelpers._preloadObjectUrls = xsellColorHelpers._preloadObjectUrls || [];
3097
3098        var preloadUrls = [];
3099        for (var p = 0; p < quickVariants.length; p++) {
3100          try {
3101            var _url = quickVariants[p] && (quickVariants[p].image || (quickVariants[p].image && (quickVariants[p].image.src || quickVariants[p].image.url)));
3102            if (_url) preloadUrls.push(_url);
3103          } catch(e){}
3104        }
3105
3106        function preloadImagesParallel(urls, concurrency) {
3107          if (!urls || urls.length === 0) return;
3108          concurrency = Math.max(1, concurrency || 6);
3109          var idx = 0;
3110          var active = 0;
3111
3112          function scheduleNext() {
3113            while (active < concurrency && idx < urls.length) {
3114              (function(url){
3115                idx++; active++;
3116                var controller = new AbortController();
3117                xsellColorHelpers._preloadControllers.push(controller);
3118
3119                // Try fetch -> blob -> objectURL -> Image for best parallel fetching and caching
3120                fetch(url, { signal: controller.signal, cache: 'force-cache' })
3121                .then(function(res){ if (!res.ok) throw new Error('fetch failed'); return res.blob(); })
3122                .then(function(blob){
3123                  try {
3124                    var objUrl = URL.createObjectURL(blob);
3125                    xsellColorHelpers._preloadObjectUrls.push(objUrl);
3126                    var img = new Image();
3127                    img.src = objUrl;
3128                    xsellColorHelpers.preloaded.push(img);
3129                    // record original url mapping for diagnostics
3130                    try { xsellColorHelpers.preloadedUrls = xsellColorHelpers.preloadedUrls || []; xsellColorHelpers.preloadedUrls.push(url); } catch(e){}
3131                    console.log('xsellModal: preloaded image', url);
3132                  } catch(e){
3133                    // object URL creation failed; fallback to Image src = url
3134                    try { var img2 = new Image(); img2.src = url; xsellColorHelpers.preloaded.push(img2); xsellColorHelpers.preloadedUrls = xsellColorHelpers.preloadedUrls || []; xsellColorHelpers.preloadedUrls.push(url); console.log('xsellModal: preloaded image via Image fallback', url); } catch(e){}
3135                  }
3136                })
3137                .catch(function(){
3138                  // network/fetch failed (CORS or other); fallback to classic Image() which often succeeds
3139                  try { var img3 = new Image(); img3.src = url; xsellColorHelpers.preloaded.push(img3); xsellColorHelpers.preloadedUrls = xsellColorHelpers.preloadedUrls || []; xsellColorHelpers.preloadedUrls.push(url); console.log('xsellModal: preloaded image via Image fallback (catch)', url); } catch(e){}
3140                })
3141                .finally(function(){ active--; scheduleNext(); });
3142              })(urls[idx]);
3143            }
3144          }
3145
3146          scheduleNext();
3147        }
3148
3149        // Start parallel preloading (concurrency tuned to 6-8 for browsers)
3150        preloadImagesParallel(preloadUrls, 8);
3151      } catch(e){}
3152
3153      // Try to set an initial featured image from variants data (best-effort)
3154      try {
3155        if (quickVariants && quickVariants.length > 0) {
3156          var firstWithImage = null;
3157          for (var fi = 0; fi < quickVariants.length; fi++) {
3158            var vv = quickVariants[fi] || {};
3159            var u = vv.image || (vv.image && (vv.image.src || vv.image.url)) || null;
3160            if (u) { firstWithImage = u; break; }
3161          }
3162          if (firstWithImage) {
3163            // Show loader before setting the initial image
3164            showImageLoaderNow(featuredImageContainerEarly || modalEl && modalEl.querySelector && modalEl.querySelector('.xsell__modal-more-info-featured-image'));
3165            quickSetFeaturedImageUrl(firstWithImage);
3166          }
3167        }
3168      } catch(e){}
3169
3170    } catch(e){ console.warn('xsellModal: failed to attach early color click handler', e); }
3171
3172    // Ensure the xsell modal itself is on top while we display the injected UI
3173    try {
3174      try { modalEl.style.zIndex = '2147483647'; } catch(e){}
3175      try { modalEl.style.position = modalEl.style.position || 'relative'; } catch(e){}
3176      document.body.classList.add('xsell-modal-helper-open');
3177    } catch(e) {}
3178
3179    console.log('xsellModal: injected mini-quiz-basic-component into xsell modal for', handle);
3180
3181    // Enforcement loop: some themes mutate inline styles or create new stacking contexts after we set them.
3182    // Reapply the high z-index and fixed positioning until the modal is closed (or timeout) so the helper reliably stays on top.
3183    (function startEnforcement() {
3184      var tries = 0;
3185      var maxTries = 80; // ~16 seconds
3186      var enforcementInterval = setInterval(function(){
3187        tries++;
3188        try {
3189          var portal = document.getElementById('xsell-modal-helper-portal');
3190          if (portal) {
3191            portal.style.zIndex = '2147483647';
3192            portal.style.position = 'fixed';
3193            portal.style.inset = '0';
3194            portal.style.width = '100%';
3195            portal.style.height = '100%';
3196          }
3197          // Only enforce on the xsell modal host and its body wrapper; leave the injected component in normal flow.
3198          if (modalEl && modalEl.style) {
3199            modalEl.style.zIndex = '2147483647';
3200            modalEl.style.position = modalEl.style.position || 'relative';
3201          }
3202          if (modalBody && modalBody.style) {
3203            modalBody.style.zIndex = '2147483647';
3204            modalBody.style.pointerEvents = 'auto';
3205            modalBody.style.position = modalBody.style.position || 'relative';
3206          }
3207        } catch (e) {}
3208
3209        // stop when modal removed or disabled attribute cleared
3210        var stillOpen = false;
3211        try { stillOpen = (modalEl && (modalEl.getAttribute('enabled') === 'true' || modalEl.enabled === true)); } catch(e) { stillOpen = false; }
3212        if (!stillOpen || tries > maxTries) {
3213          clearInterval(enforcementInterval);
3214        }
3215      }, 200);
3216    })();
3217
3218    console.log('xsellModal: injected temporary cart-context for', handle);
3219
3220    // Wait until mini-quiz-basic-component web component is initialized and its shadowRoot is available
3221    // Ensure the project's web components are registered/upgraded before we try to interact with them.
3222    // Many themes load the main bundle later; if the elements are not yet defined our injected
3223    // nodes won't be upgraded and will not render the shadow DOM. Wait for registration
3224    // with a small timeout fallback so we don't block forever.
3225    try {
3226      if (window.customElements && typeof window.customElements.whenDefined === 'function') {
3227        await Promise.race([
3228          (async function(){
3229            // wait for localized components we'll use for xsell
3230            await Promise.all([
3231              window.customElements.whenDefined('cart-context-xsell'),
3232              window.customElements.whenDefined('mini-quiz-basic-component')
3233            ]);
3234          })(),
3235          new Promise(function(r){ setTimeout(r, 8000); })
3236        ]);
3237      }
3238    } catch(e) { console.warn('xsellModal: error while waiting for custom elements', e); }
3239
3240    // If definitions are already present, try to upgrade the injected elements immediately so they run
3241    // their lifecycle callbacks without waiting for a later mutation.
3242    try {
3243      if (window.customElements && typeof window.customElements.get === 'function' && typeof window.customElements.upgrade === 'function') {
3244        if (window.customElements.get('mini-quiz-basic-component')) {
3245          try { window.customElements.upgrade(quizEl); } catch(e){}
3246        }
3247        if (window.customElements.get('cart-context-xsell')) {
3248          try { window.customElements.upgrade(cartContextXsellEl); } catch(e){}
3249        }
3250      }
3251    } catch(e) { console.warn('xsellModal: error while attempting to upgrade injected elements', e); }
3252
3253    await waitForElement(quizEl, 8000);
3254    // Give some time for component to initialize and render
3255    await smallDelay(200);
3256
3257    // Ensure quiz is ready: poll until shadowRoot or expected nodes exist
3258    // Set a global flag to prevent loader from hiding until quiz is ready
3259    window._xsellQuizReady = false;
3260
3261    try {
3262      var quizReady = false;
3263      var quizPollTries = 0;
3264      while (!quizReady && quizPollTries < 40) { // ~8s
3265        quizPollTries++;
3266        try {
3267          if (quizEl && (quizEl.shadowRoot || quizEl.querySelector('color-selection') || quizEl.querySelector('[data-variant-option-value]') || quizEl.querySelector('[data-color]'))) {
3268            quizReady = true; break;
3269          }
3270        } catch(e){}
3271        await smallDelay(200);
3272      }
3273      if (!quizReady) console.log('xsellModal: quiz readiness poll timed out after', quizPollTries * 200, 'ms');
3274      else console.log('xsellModal: quiz ready after', quizPollTries * 200, 'ms');
3275
3276      // Mark quiz as ready - now loaders can start their hide timers
3277      window._xsellQuizReady = true;
3278
3279
3280      // Now that quiz is ready, if there's an initial image to load, trigger it
3281      // This ensures the loader was visible during entire quiz initialization
3282      console.log('xsellModal: quiz ready, now loading initial image if needed');
3283
3284    } catch(e) {
3285      console.warn('xsellModal: quiz readiness poll failed', e);
3286      window._xsellQuizReady = true; // Allow loader to hide even on error
3287    }
3288
3289    // --- Color -> Featured Image syncing for xsell modal ---
3290    try {
3291      console.log('xsellModal: wiring color->image sync (start)');
3292      // Parse injected variants data (we injected a <data name="variants"> element earlier)
3293      var variantsDataEl = cartContextXsellEl.querySelector('data[name="variants"]');
3294      var xsellVariants = [];
3295      try { if (variantsDataEl && variantsDataEl.textContent) xsellVariants = JSON.parse(variantsDataEl.textContent); } catch(e){ xsellVariants = xsellVariants || []; console.warn('xsellModal: failed parsing variants JSON', e); }
3296      console.log('xsellModal: xsellVariants count=', (xsellVariants && xsellVariants.length) || 0);
3297
3298      // Query parent images container first, fallback to featured-image child
3299      var featuredImageContainer = modalEl.querySelector('.xsell__modal-more-info-images');
3300      if (!featuredImageContainer) {
3301        featuredImageContainer = modalEl.querySelector('.xsell__modal-more-info-featured-image');
3302      }
3303      console.log('xsellModal: featuredImageContainer=', featuredImageContainer);
3304      if (!featuredImageContainer) console.log('xsellModal: featured image container not found');
3305
3306      function setFeaturedImageUrl(url) {
3307        if (!url) return;
3308        try {
3309          // re-query the featuredImageContainer in case it's been added/changed - prioritize parent
3310          var container = featuredImageContainer;
3311          if (!container) container = currentModal && currentModal.querySelector && currentModal.querySelector('.xsell__modal-more-info-images');
3312          if (!container) container = currentModal && currentModal.querySelector && currentModal.querySelector('.xsell__modal-more-info-featured-image');
3313          if (!container) container = document.querySelector('.xsell__modal-more-info-images');
3314          if (!container) container = document.querySelector('.xsell__modal-more-info-featured-image');
3315          if (!container) return;
3316
3317          console.log('xsellModal: setFeaturedImageUrl ->', url);
3318
3319          // ensure loader styles exist
3320          if (!document.getElementById('xsell-modal-loader-styles')) {
3321            var ss = document.createElement('style'); ss.id = 'xsell-modal-loader-styles'; ss.textContent =
3322              '.xsell-featured-image-loader{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.9); z-index:100000; }' +
3323              '.xsell-featured-image-loader.hidden{ display:none !important; }' +
3324              '.xsell-featured-image-loader .spinner{ width:48px; height:48px; border-radius:50%; border:5px solid rgba(0,0,0,0.1); border-top-color:rgba(0,0,0,0.7); animation:xsellSpin 0.8s linear infinite; }' +
3325              '@keyframes xsellSpin{ to{ transform:rotate(360deg); } }';
3326            document.head.appendChild(ss);
3327          }
3328
3329          // create or find loader overlay in the featured image container
3330          var loaderHostMain = container;
3331          // Only use parent if container is an img element
3332          try {
3333            if (loaderHostMain && loaderHostMain.tagName && loaderHostMain.tagName.toLowerCase() === 'img') {
3334              loaderHostMain = loaderHostMain.parentElement || loaderHostMain;
3335            }
3336          } catch(e){}
3337          var loader = loaderHostMain.querySelector('.xsell-featured-image-loader');
3338          if (!loader) {
3339            loader = document.createElement('div');
3340            loader.className = 'xsell-featured-image-loader hidden';
3341            loader.innerHTML = '<div class="spinner" aria-hidden="true"></div>';
3342            try { if (getComputedStyle(loaderHostMain).position === 'static') loaderHostMain.style.position = 'relative'; } catch(e){}
3343            try { loader.style.zIndex = '100000'; } catch(e){}
3344            loaderHostMain.appendChild(loader);
3345          }
3346          // show loader immediately and record show time for GUARANTEED minimum display duration
3347          loader.classList.remove('hidden');
3348          console.log('xsellModal: showing image loader for', url);
3349          var loaderShowTime = Date.now();
3350          var minDisplayTime = 500; // INCREASED to 500ms for better visibility
3351
3352          // Clear any existing timers
3353          if (loader._hideTimer) try { clearTimeout(loader._hideTimer); } catch(e){}
3354          if (loader._minDisplayTimer) try { clearTimeout(loader._minDisplayTimer); } catch(e){}
3355
3356          // Safety timeout (6s)
3357          loader._hideTimer = setTimeout(function(){ try { loader.classList.add('hidden'); } catch(e){} }, 6000);
3358
3359          // Track if image has loaded (for both sync and async loads)
3360          var imageHasLoaded = false;
3361
3362          // GUARANTEED minimum display time - loader won't hide until this timer completes AND quiz is ready
3363          loader._minDisplayTimer = setTimeout(function() {
3364            // After minimum time, hide loader only if image has loaded AND quiz is ready
3365            if (imageHasLoaded && window._xsellQuizReady !== false) {
3366              try {
3367                if (loader._hideTimer) { clearTimeout(loader._hideTimer); loader._hideTimer = null; }
3368                loader.classList.add('hidden');
3369                console.log('xsellModal: hiding image loader for', url, 'after', Date.now() - loaderShowTime, 'ms');
3370              } catch(e){}
3371            } else {
3372              // Image still loading or quiz not ready, wait for it
3373              if (!imageHasLoaded) console.log('xsellModal: minimum time passed but image still loading', url);
3374              if (window._xsellQuizReady === false) console.log('xsellModal: minimum time passed but quiz not ready yet', url);
3375
3376              // Check again after a delay
3377              setTimeout(function checkAgain() {
3378                if (imageHasLoaded && window._xsellQuizReady !== false) {
3379                  try {
3380                    if (loader._hideTimer) { clearTimeout(loader._hideTimer); loader._hideTimer = null; }
3381                    loader.classList.add('hidden');
3382                    console.log('xsellModal: hiding image loader after quiz ready for', url, 'after', Date.now() - loaderShowTime, 'ms');
3383                  } catch(e){}
3384                } else {
3385                  // Still not ready, check again
3386                  setTimeout(checkAgain, 200);
3387                }
3388              }, 200);
3389            }
3390          }, minDisplayTime);
3391
3392          // Helper to mark image as loaded and hide loader if minimum time has passed AND quiz is ready
3393          var markImageLoaded = function() {
3394            imageHasLoaded = true;
3395            var elapsed = Date.now() - loaderShowTime;
3396            if (elapsed >= minDisplayTime && window._xsellQuizReady !== false) {
3397              // Minimum time passed AND quiz ready, hide now
3398              try {
3399                if (loader._hideTimer) { clearTimeout(loader._hideTimer); loader._hideTimer = null; }
3400                if (loader._minDisplayTimer) { clearTimeout(loader._minDisplayTimer); loader._minDisplayTimer = null; }
3401                loader.classList.add('hidden');
3402                console.log('xsellModal: hiding image loader for', url, 'after', elapsed, 'ms');
3403              } catch(e){}
3404            } else {
3405              // Either minimum time hasn't passed or quiz not ready yet
3406              if (elapsed < minDisplayTime) console.log('xsellModal: image loaded but waiting for minimum display time', url);
3407              if (window._xsellQuizReady === false) console.log('xsellModal: image loaded but waiting for quiz ready', url);
3408            }
3409            // The minDisplayTimer will handle hiding when conditions are met
3410          };
3411
3412          var imgEl = container.querySelector('img');
3413
3414          // If the img element already exists and has this exact URL and is loaded, mark as loaded
3415          try {
3416            if (imgEl && imgEl.src && imgEl.src.indexOf(url) !== -1 && imgEl.complete && imgEl.naturalHeight > 0) {
3417              console.log('xsellModal: image already showing', url);
3418              markImageLoaded();
3419              return;
3420            }
3421          } catch(e){}
3422
3423          // Update the image src immediately if element exists (browser will use cache)
3424          if (imgEl && imgEl.src !== url) {
3425            imgEl.src = url;
3426          }
3427
3428          // Wait for the image to actually load (even from cache) before marking as loaded
3429          if (imgEl) {
3430            // Use requestAnimationFrame to check after browser has a chance to load from cache
3431            requestAnimationFrame(function() {
3432              if (imgEl.complete && imgEl.naturalHeight > 0) {
3433                // Already loaded (cached) - checked after RAF
3434                console.log('xsellModal: image loaded from cache', url);
3435                markImageLoaded();
3436              } else {
3437                // Wait for load event
3438                var onLoadHandler = function() {
3439                  console.log('xsellModal: image loaded via event', url);
3440                  markImageLoaded();
3441                };
3442                imgEl.addEventListener('load', onLoadHandler, { once: true });
3443                imgEl.addEventListener('error', onLoadHandler, { once: true });
3444              }
3445            });
3446          } else {
3447            // No img element, try background image
3448            var bgTarget = container.querySelector('.background-image') || container;
3449            var tmp = new Image();
3450            tmp.onload = function(){
3451              try { bgTarget.style.backgroundImage = 'url("' + url + '")'; } catch(e){}
3452              markImageLoaded();
3453            };
3454            tmp.onerror = function(){ markImageLoaded(); };
3455            tmp.src = url;
3456          }
3457        } catch(e) { console.warn('xsellModal: setFeaturedImageUrl error', e); }
3458      }
3459
3460      function findImageForColor(color) {
3461        if (!color) return null;
3462        var normalize = function(s){ return String(s || '').toLowerCase().replace(/[^a-z0-9]+/g,'').trim(); };
3463        var c = normalize(color);
3464        for (var i = 0; i < xsellVariants.length; i++) {
3465          var v = xsellVariants[i] || {};
3466          // variant value may be in v.color, v.value, v.valueText, or v.title
3467          var raw = v.color || v.value || v.valueText || v.title || '';
3468          var val = normalize(raw);
3469          if (!val) continue;
3470          // exact match
3471          if (val === c) return (typeof v.image === 'string') ? v.image : (v.image && (v.image.src || v.image.url)) || null;
3472          // contains match (e.g., 'darkblonde' contains 'blonde')
3473          if (val.indexOf(c) !== -1) return (typeof v.image === 'string') ? v.image : (v.image && (v.image.src || v.image.url)) || null;
3474          // reverse contains (color contains variant value)
3475          if (c.indexOf(val) !== -1) return (typeof v.image === 'string') ? v.image : (v.image && (v.image.src || v.image.url)) || null;
3476        }
3477        return null;
3478      }
3479
3480      function handleColorSelected(color) {
3481        try {
3482          if (!color) return;
3483          console.log('xsellModal: detected color selection ->', color);
3484          var img = findImageForColor(color);
3485          if (img) {
3486            setFeaturedImageUrl(img);
3487          } else {
3488            console.log('xsellModal: no image found for color', color);
3489          }
3490        } catch(e) { console.warn('xsellModal: handleColorSelected error', e); }
3491      }
3492
3493      // prepare helpers object for cleanup (initialization moved later to include prevOnSelectedMap)
3494      // xsellColorHelpers will be created below with a WeakMap for previous handlers
3495
3496      // Strategy 1: listen to a dedicated color-selection custom element inside the quiz shadowRoot
3497      try {
3498        var colorSel = quizEl && quizEl.shadowRoot && quizEl.shadowRoot.querySelector('color-selection');
3499        if (colorSel) {
3500          console.log('xsellModal: color-selection element found inside quiz (Strategy 1)');
3501          try {
3502            // follow the same contract used inside mini-quiz: use onSelected if present, otherwise attach an event listener
3503            var handler = function(color){ try { handleColorSelected(color); } catch(e){} };
3504
3505            // If the element exposes a JS property 'onSelected', preserve and replace it
3506            try {
3507              var prev = null;
3508              try { prev = colorSel.onSelected || null; } catch(e) { prev = null; }
3509              // store per-element previous handler for robust restore
3510              try { xsellColorHelpers.prevOnSelectedMap.set(colorSel, prev); } catch(e){}
3511
3512              if (typeof colorSel.onSelected !== 'undefined') {
3513                try {
3514                  colorSel.onSelected = handler;
3515                  xsellColorHelpers.listeners.push({ el: colorSel, ev: 'onSelected', fn: handler, prev: prev });
3516                  console.log('xsellModal: assigned onSelected handler on color-selection element');
3517                } catch(e) {
3518                  console.warn('xsellModal: failed to assign onSelected property, will try event listener as fallback', e);
3519                  // fallthrough to event listener approach below
3520                }
3521              }
3522            } catch(e) { console.warn('xsellModal: error while assigning onSelected', e); }
3523
3524            // If the component dispatches a custom event when selection changes, listen for it
3525            try {
3526              // common event names: 'selected', 'change', 'colorchange'
3527              var eventNames = ['selected', 'change', 'colorchange', 'selectionchange'];
3528              var attachedEvent = false;
3529              for (var i = 0; i < eventNames.length; i++) {
3530                var evName = eventNames[i];
3531                try {
3532                  var evFn = function(e){
3533                    try {
3534                      // event detail might carry color
3535                      var color = (e && (e.detail && (e.detail.color || e.detail.value))) || null;
3536                      if (!color && e && e.target) {
3537                        color = e.target.selectedColor || e.target.getAttribute && e.target.getAttribute('selected-color');
3538                      }
3539                      if (color) handleColorSelected(color);
3540                    } catch(err){}
3541                  };
3542                  colorSel.addEventListener(evName, evFn);
3543                  xsellColorHelpers.listeners.push({ el: colorSel, ev: evName, fn: evFn });
3544                  attachedEvent = true;
3545                  console.log('xsellModal: attached event listener', evName, 'on color-selection element');
3546                } catch(err) { /* ignore and try next */ }
3547              }
3548
3549              // If we neither set onSelected nor attached any event, fallback to polling that element's properties
3550              if (!attachedEvent && (typeof colorSel.onSelected === 'undefined' || xsellColorHelpers.prevOnSelectedMap.get(colorSel) === undefined)) {
3551                try {
3552                  xsellColorHelpers.pollTimer = setInterval(function(){ try { var sc = colorSel.selectedColor || (colorSel.getAttribute && colorSel.getAttribute('selected-color')); if (sc) handleColorSelected(sc); } catch(e){} }, 250);
3553                  console.log('xsellModal: started polling color-selection element for selectedColor');
3554                } catch(e){}
3555              }
3556
3557              // initial selectedColor
3558              try {
3559                var initSc = null;
3560                try { initSc = colorSel.selectedColor || (colorSel.getAttribute && colorSel.getAttribute('selected-color')); } catch(e) { initSc = null; }
3561                if (initSc) handleColorSelected(initSc);
3562              } catch(e){}
3563
3564            } catch(e) {
3565              console.warn('xsellModal: failed to attach events to color-selection', e);
3566              // fallback to polling
3567              try { xsellColorHelpers.pollTimer = setInterval(function(){ try { var sc = colorSel.selectedColor || (colorSel.getAttribute && colorSel.getAttribute('selected-color')); if (sc) handleColorSelected(sc); } catch(e){} }, 250); } catch(e){}
3568            }
3569          } catch(e) {
3570            console.warn('xsellModal: exception while wiring color-selection', e);
3571          }
3572        }
3573      } catch(e) { console.warn('xsellModal: error querying color-selection', e); }
3574
3575      // Strategy 2: attach click listeners to likely swatch/button elements inside the quiz shadowRoot
3576      try {
3577        if (quizEl && quizEl.shadowRoot) {
3578          var swatches = quizEl.shadowRoot.querySelectorAll('[data-color], [data-value], .color-swatch, .swatch, [data-variant-option-value], button[data-color]');
3579          console.log('xsellModal: swatches found inside quiz shadowRoot:', swatches.length);
3580          if (swatches && swatches.length > 0) {
3581            Array.prototype.forEach.call(swatches, function(s){
3582              try {
3583                var fn = function(ev){
3584                  var c = s.getAttribute('data-color') || s.getAttribute('data-value') || s.getAttribute('data-variant-option-value') || s.getAttribute('value') || s.getAttribute('aria-label') || s.textContent || null;
3585                  if (c) handleColorSelected(c.trim());
3586                };
3587                s.addEventListener('click', fn);
3588                xsellColorHelpers.listeners.push({ el: s, ev: 'click', fn: fn });
3589              } catch(e){ /* ignore */ }
3590            });
3591            // attempt to derive initially selected swatch
3592            try {
3593              var sel = quizEl.shadowRoot.querySelector('.selected, .is-selected, [aria-pressed="true"]');
3594              if (sel) {
3595                var c = sel.getAttribute('data-color') || sel.getAttribute('data-value') || sel.getAttribute('data-variant-option-value') || sel.getAttribute('value') || sel.getAttribute('aria-label') || sel.textContent || null;
3596                if (c) handleColorSelected(c.trim());
3597              }
3598            } catch(e){}
3599          }
3600        }
3601      } catch(e) { console.warn('xsellModal: error wiring swatch click listeners', e); }
3602
3603      // Strategy 3: fallback observer — watch shadowRoot for changes (selected class added) and react
3604      try {
3605        if (quizEl && quizEl.shadowRoot && typeof MutationObserver === 'function') {
3606          var quizObserver = new MutationObserver(function(mutations){
3607            try {
3608              var sel = quizEl.shadowRoot.querySelector('.selected, .is-selected, [aria-pressed="true"]');
3609              if (sel) {
3610                var c = sel.getAttribute('data-color') || sel.getAttribute('data-value') || sel.getAttribute('data-variant-option-value') || sel.getAttribute('value') || sel.getAttribute('aria-label') || sel.textContent || null;
3611                if (c) handleColorSelected(c.trim());
3612              }
3613            } catch(e){}
3614          });
3615          quizObserver.observe(quizEl.shadowRoot, { childList: true, subtree: true, attributes: true, attributeFilter: ['class', 'aria-pressed'] });
3616          xsellColorHelpers.observer = quizObserver;
3617           console.log('xsellModal: mutation observer attached to quiz shadowRoot');
3618         }
3619       } catch(e) { console.warn('xsellModal: failed to attach MutationObserver inside quiz', e); }
3620
3621      // Strategy 4: as last resort, poll the component's state (if it exposes selected color or regimen object)
3622      try {
3623        if (!xsellColorHelpers.pollTimer) {
3624          xsellColorHelpers.pollTimer = setInterval(function(){
3625            try {
3626              var sc = null;
3627              if (typeof quizEl.getRegimenObject === 'function') {
3628                var ro = quizEl.getRegimenObject();
3629                if (ro && ro.color) sc = ro.color;
3630              }
3631              if (!sc && quizEl && quizEl.shadowRoot) {
3632                var sel = quizEl.shadowRoot.querySelector('.selected, .is-selected, [aria-pressed="true"]');
3633                if (sel) sc = sel.getAttribute('data-color') || sel.getAttribute('data-value') || sel.textContent;
3634              }
3635              if (sc) handleColorSelected(sc);
3636            } catch(e){}
3637          }, 350);
3638          console.log('xsellModal: started polling quiz for selected color');
3639        }
3640      } catch(e) { console.warn('xsellModal: failed to start polling', e); }
3641
3642      // Strategy 5: document-scoped click fallback — listen to clicks inside modal on elements that may represent colors
3643      try {
3644        var docFn = function(ev){
3645          try {
3646            var el = ev.target.closest && ev.target.closest('[data-color], [data-value], [data-variant-option-value], .color-swatch, .swatch, button[data-color]');
3647            if (!el) return;
3648            // ensure the clicked element is inside our modal
3649            if (!modalEl.contains(el)) return;
3650            var c = el.getAttribute('data-color') || el.getAttribute('data-value') || el.getAttribute('data-variant-option-value') || el.getAttribute('value') || el.getAttribute('aria-label') || el.textContent || null;
3651            if (c) handleColorSelected(c.trim());
3652          } catch(e){}
3653        };
3654        document.addEventListener('click', docFn, true);
3655        xsellColorHelpers.docListener = docFn;
3656        console.log('xsellModal: added document-scoped click fallback for color swatches');
3657      } catch(e) { console.warn('xsellModal: failed to attach document click fallback', e); }
3658
3659    } catch(e) { console.warn('xsellModal: failed to wire color->image sync', e); }
3660
3661    // Override the quiz button click handler to add product to cart and close modal
3662    // The mini-quiz-basic-component has a button that triggers add-to-cart
3663    var addToCartBtn = null;
3664    try {
3665      addToCartBtn = quizEl.shadowRoot && quizEl.shadowRoot.querySelector('button[type="submit"]');
3666    } catch(e){}
3667
3668    if (!addToCartBtn) {
3669      console.warn('xsellModal: could not find add-to-cart button in mini-quiz-basic-component');
3670      return;
3671    }
3672
3673    // Override button click to use our custom add-to-cart logic
3674    var originalClickHandler = async function(e){
3675      e.preventDefault();
3676      e.stopPropagation();
3677      console.log('xsellModal: mini-quiz-basic button clicked for xsell add');
3678
3679      // Update button text
3680      try { addToCartBtn.querySelector('.add-to-cart-text').innerText = 'Adding...'; } catch(e){}
3681      try { addToCartBtn.setAttribute('disabled', 'true'); } catch(e){}
3682
3683      // Use the component's built-in method to get regimen object with all quiz selections
3684      var regimenObject = {};
3685      try {
3686        if (typeof quizEl.getRegimenObject === 'function') {
3687          regimenObject = quizEl.getRegimenObject();
3688          console.log('xsellModal: got regimen object from component', regimenObject);
3689        }
3690      } catch(err){
3691        console.warn('xsellModal: failed to get regimen object, will use fallback', err);
3692      }
3693
3694      // Determine selected color variant if available
3695      var colorSelected = null;
3696      var selectedVariantId = variant.id;
3697      try {
3698        var colorSel = quizEl.shadowRoot && quizEl.shadowRoot.querySelector('color-selection');
3699        if (colorSel && colorSel.selectedColor) {
3700          colorSelected = colorSel.selectedColor;
3701          // Find variant matching the selected color
3702          var matchingVariant = product.variants.find(function(v){
3703            return v.title && v.title.includes(colorSelected);
3704          });
3705          if (matchingVariant) selectedVariantId = matchingVariant.id;
3706        }
3707      } catch(e){ console.warn('xsellModal: error getting color selection', e); }
3708
3709      // Build properties from regimen object
3710      var properties = regimenObject || {};
3711
3712      // POST to /cart/add.js
3713      try {
3714        const payload = { id: selectedVariantId, quantity: quizEl.quantity || 1, properties: properties };
3715        console.log('xsellModal: adding to cart payload', payload);
3716
3717        // Prefer using site's ShopifyAPI if available so existing side-effects (free sample, tracking)
3718        let addRes;
3719        let addedData;
3720        if (window.ShopifyAPI && typeof window.ShopifyAPI.addToCart === 'function') {
3721          addRes = await window.ShopifyAPI.addToCart({ items: [payload] });
3722          // window.ShopifyAPI.addToCart returns a fetch Response or {error}
3723          if (addRes && addRes.error) throw addRes.error;
3724          // If it's a Response, parse JSON
3725          try { addedData = addRes && typeof addRes.json === 'function' ? await addRes.json() : addRes; } catch(e) { addedData = addRes; }
3726          console.log('xsellModal: product added successfully via ShopifyAPI', addedData);
3727        } else {
3728          addRes = await fetch('/cart/add.js', {
3729            method: 'POST',
3730            headers: { 'Content-Type': 'application/json' },
3731            body: JSON.stringify(payload),
3732            credentials: 'same-origin'
3733          });
3734          if (!addRes.ok) throw new Error('Add to cart failed ' + addRes.status);
3735          addedData = await addRes.json();
3736          console.log('xsellModal: product added successfully', addedData);
3737        }
3738
3739        // Optionally trigger site cart update helpers
3740        try { if (typeof cartCountItems === 'function') cartCountItems(); } catch(e){}
3741        try { if (typeof cartInsertAttributes === 'function') cartInsertAttributes(); } catch(e){}
3742
3743        // Update button to show success
3744        try { addToCartBtn.querySelector('.add-to-cart-text').innerText = 'Added!'; } catch(e){}
3745
3746        // Close the xsell modal after adding to cart
3747        try {
3748          await smallDelay(200);
3749          // Trigger the close button click to use the same close behavior
3750          var closeBtn = modalEl.querySelector('.close-btn, .modal-close, .xsell-modal-close, .xsell__modal-close');
3751          if (closeBtn) {
3752            closeBtn.click();
3753            console.log('xsellModal: triggered close button click after adding to cart');
3754          } else {
3755            // Fallback if close button not found
3756            restoreModalBody();
3757            try { modalEl.removeAttribute('enabled'); } catch(e) {}
3758            console.log('xsellModal: closed modal directly (no close button found)');
3759          }
3760        } catch(e) {
3761          console.warn('xsellModal: failed to close modal', e);
3762        }
3763
3764      } catch (err) {
3765        console.error('xsellModal: failed to add product to cart', err);
3766        try { addToCartBtn.querySelector('.add-to-cart-text').innerText = 'Add to Cart'; } catch(e){}
3767        try { addToCartBtn.removeAttribute('disabled'); } catch(e){}
3768      }
3769    };
3770
3771    // Replace the button's click handlers with our custom one
3772    // First, clone the button to remove all existing event listeners
3773    var newAddToCartBtn = addToCartBtn.cloneNode(true);
3774    addToCartBtn.parentNode.replaceChild(newAddToCartBtn, addToCartBtn);
3775    addToCartBtn = newAddToCartBtn;
3776
3777    // Add our custom click handler
3778    addToCartBtn.addEventListener('click', originalClickHandler);
3779    console.log('xsellModal: wired custom click handler to mini-quiz-basic button');
3780
3781    // Wire close handler on the xsell modal close button to restore content
3782    var closeBtn = modalEl.querySelector('.close-btn, .modal-close, .xsell-modal-close');
3783    if (closeBtn) {
3784      var closeHandler = function(){
3785        restoreModalBody();
3786        try { if (modalEl && modalEl.removeAttribute) modalEl.removeAttribute('enabled'); } catch(e){}
3787        closeBtn.removeEventListener('click', closeHandler);
3788      };
3789      closeBtn.addEventListener('click', closeHandler);
3790    }
3791  }
3792
3793  function restoreModalBody(){
3794    // Restore the original content saved from the xsell modal description wrapper
3795    try {
3796      var modalEl = currentModal || findModal();
3797      if (!modalEl) return;
3798      var descriptionWrapper = modalEl.querySelector('.xsell__modal-more-info-description-wrapper') || modalEl.querySelector('.xsell__modal-content__body') || modalEl;
3799      if (!descriptionWrapper) return;
3800      if (originalModalBodyHTML !== null) {
3801        descriptionWrapper.innerHTML = originalModalBodyHTML;
3802      }
3803      try { cleanupXsellColorHelpers(); } catch(e){}
3804      // remove helper styling flag
3805      document.body.classList.remove('xsell-modal-helper-open');
3806    } catch(e) {
3807      console.warn('xsellModal: restore failed', e);
3808    } finally {
3809      // cleanup references
3810      tempInjectedContext = null;
3811      originalModalBodyHTML = null;
3812      _xsell_helper_prevModalStyle = null;
3813      _xsell_helper_prevModalEnabledAttr = null;
3814    }
3815  }
3816
3817  // cleanup function for color->image syncing helpers
3818  function cleanupXsellColorHelpers(){
3819    try {
3820      if (!xsellColorHelpers) return;
3821      if (xsellColorHelpers.pollTimer) try { clearInterval(xsellColorHelpers.pollTimer); } catch(e){}
3822      if (xsellColorHelpers.observer && typeof xsellColorHelpers.observer.disconnect === 'function') try { xsellColorHelpers.observer.disconnect(); } catch(e){}
3823      if (xsellColorHelpers.listeners && Array.isArray(xsellColorHelpers.listeners)) {
3824        xsellColorHelpers.listeners.forEach(function(l){
3825          try {
3826            if (!l || !l.el) return;
3827            if (l.ev === 'onSelected') {
3828              // restore previous handler if available (per-element)
3829              try {
3830                var prev = (xsellColorHelpers.prevOnSelectedMap && xsellColorHelpers.prevOnSelectedMap.get && xsellColorHelpers.prevOnSelectedMap.get(l.el)) || null;
3831                try { l.el.onSelected = prev; } catch(e) { /* ignore */ }
3832                console.log('xsellModal: restored onSelected on color-selection element', l.el, !!prev);
3833              } catch(e) { /* ignore */ }
3834            } else {
3835              try { l.el.removeEventListener(l.ev, l.fn); } catch(e) {}
3836            }
3837          } catch(e){}
3838        });
3839      }
3840      // remove document-scoped click listener
3841      try {
3842        if (xsellColorHelpers.docListener) {
3843          document.removeEventListener('click', xsellColorHelpers.docListener, true);
3844        }
3845      } catch(e){}
3846      // Abort any preloading fetches and revoke created object URLs
3847      try {
3848        if (xsellColorHelpers._preloadControllers && Array.isArray(xsellColorHelpers._preloadControllers)) {
3849          xsellColorHelpers._preloadControllers.forEach(function(c){ try { if (c && typeof c.abort === 'function') c.abort(); } catch(e){} });
3850        }
3851      } catch(e){}
3852      try {
3853        if (xsellColorHelpers._preloadObjectUrls && Array.isArray(xsellColorHelpers._preloadObjectUrls)) {
3854          xsellColorHelpers._preloadObjectUrls.forEach(function(u){ try { if (u) URL.revokeObjectURL(u); } catch(e){} });
3855        }
3856      } catch(e){}
3857      try { if (xsellColorHelpers.preloaded && Array.isArray(xsellColorHelpers.preloaded)) xsellColorHelpers.preloaded.length = 0; } catch(e){}
3858    } catch(e){}
3859    xsellColorHelpers = null;
3860  }
3861
3862  // small helper to wait for an element to be upgraded/connected
3863  function waitForElement(el, timeout) {
3864    timeout = typeof timeout === 'number' ? timeout : 2000;
3865    return new Promise(function(resolve, reject){
3866      var waited = 0;
3867      var interval = 50;
3868      var t = setInterval(function(){
3869        waited += interval;
3870        // consider ready when shadowRoot exists (web component initialized)
3871        // or when the custom element is defined and the element is connected in DOM.
3872        try {
3873          var tag = el && el.tagName && el.tagName.toLowerCase();
3874          var isDefined = window.customElements && tag && window.customElements.get(tag);
3875          if (el && el.shadowRoot) {
3876            clearInterval(t); resolve(el);
3877            return;
3878          }
3879          if (el && isDefined && document.contains(el)) {
3880            // element is upgraded (or at least the definition exists) and it's in DOM
3881            clearInterval(t); resolve(el);
3882            return;
3883          }
3884        } catch(e) {}
3885
3886        if (waited >= timeout) {
3887          clearInterval(t); resolve(el); // resolve anyway to avoid blocking
3888        }
3889      }, interval);
3890    });
3891  }
3892
3893  function smallDelay(ms){ return new Promise(r => setTimeout(r, ms)); }
3894
3895  // Observe the DOM for modal insertion / class changes
3896  var observer = new MutationObserver(function(){
3897    var modal = findModal();
3898    if (modal && modal !== currentModal) {
3899      handleModalOpen(modal);
3900    }
3901    if (!modal && currentModal) {
3902      // modal removed / closed
3903      handleModalClose();
3904    }
3905  });
3906
3907  // Start observing when DOM ready
3908  function startObserver() {
3909    try {
3910      observer.observe(document.documentElement || document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['class'] });
3911      console.log('xsellModal: observer started');
3912      // initial check
3913      var m = findModal();
3914      if (m) handleModalOpen(m);
3915    } catch (e) {
3916      console.error('xsellModal observer failed to start', e);
3917    }
3918  }
3919
3920  if (document.readyState === 'loading') {
3921    document.addEventListener('DOMContentLoaded', startObserver);
3922  } else {
3923    startObserver();
3924  }
3925
3926  // Utility helpers to access content inside the modal
3927  function getModalElement() { return currentModal || findModal(); }
3928
3929  function getContentElement() {
3930    var el = getModalElement();
3931    if (!el) return null;
3932    // common internal content container
3933    return el.querySelector('.xsell__modal-body, .xsell__modal-content__body, .xsell-modal-body') || el;
3934  }
3935
3936  function getTitleEl() {
3937    var c = getContentElement();
3938    return c && (c.querySelector('.xsell-modal-title, .modal-title, h1, h2, .producttitle') || null);
3939  }
3940
3941  function getImageEl() {
3942    var c = getContentElement();
3943    return c && (c.querySelector('img') || null);
3944  }
3945
3946  function getPriceEl() {
3947    var c = getContentElement();
3948    return c && (c.querySelector('.money, .price, .product-price') || null);
3949  }
3950
3951  function getAddToCartButton() {
3952    var c = getContentElement();
3953    return c && (c.querySelector('form[action*="cart"] [type="submit"], button.add-to-cart, button[name="add"], #xsell__modal-add-to-cart') || null);
3954  }
3955
3956  // Expose public API
3957  window.xsellModal = {
3958    // subscribe to open event: cb(modalEl)
3959    onOpen: function(cb){ if (typeof cb === 'function') openCallbacks.push(cb); },
3960    // subscribe to close event: cb(modalEl)
3961    onClose: function(cb){ if (typeof cb === 'function' ) closeCallbacks.push(cb); },
3962    // get the modal element or null
3963    getModalElement: getModalElement,
3964    // get common sub-elements
3965    getContentElement: getContentElement,
3966    getTitleEl: getTitleEl,
3967    getImageEl: getImageEl,
3968    getPriceEl: getPriceEl,
3969    getAddToCartButton: getAddToCartButton,
3970    // convenience: returns an object with discovered data (strings or null)
3971    getData: function(){
3972      var el = getModalElement();
3973      if (!el) return null;
3974      return {
3975        title: (getTitleEl() && getTitleEl().textContent.trim()) || null,
3976        imageSrc: (getImageEl() && (getImageEl().getAttribute('src') || getImageEl().getAttribute('data-src'))) || null,
3977        priceText: (getPriceEl() && getPriceEl().textContent.trim()) || null,
3978        addToCartButton: getAddToCartButton()
3979      };
3980    },
3981
3982    // Debug helper: force the injected portal/modal to the front (call from console)
3983    bringToFront: function(){
3984      try {
3985        var modalEl = currentModal || findModal();
3986        if (!modalEl) {
3987          console.warn('xsellModal: no active xsell modal to bring to front');
3988          return;
3989        }
3990        try { modalEl.style.zIndex = '2147483647'; } catch(e){}
3991        try { modalEl.style.position = modalEl.style.position || 'relative'; } catch(e){}
3992        var desc = modalEl.querySelector('.xsell__modal-more-info-description-wrapper') || modalEl.querySelector('.xsell__modal-content__body') || modalEl;
3993        if (desc) {
3994          try { desc.style.zIndex = '2147483647'; } catch(e){}
3995          try { desc.style.position = desc.style.position || 'relative'; } catch(e){}
3996          try { desc.style.pointerEvents = 'auto'; } catch(e){}
3997        }
3998        console.log('xsellModal: bringToFront applied to xsell modal');
3999      } catch(e){ console.warn('xsellModal: bringToFront failed', e); }
4000    },
4001
4002    // helper to wait for next open (returns a Promise)
4003    waitForOpen: function(timeout){
4004      timeout = typeof timeout === 'number' ? timeout : 5000;
4005      return new Promise(function(resolve, reject){
4006        var m = getModalElement();
4007        if (m) return resolve(m);
4008        var to = setTimeout(function(){
4009          // remove listener
4010          var idx = openCallbacks.indexOf(onOpenCb); if (idx !== -1) openCallbacks.splice(idx,1);
4011          reject(new Error('timeout waiting for xsell modal open'));
4012        }, timeout);
4013        function onOpenCb(modalEl){ clearTimeout(to); var idx = openCallbacks.indexOf(onOpenCb); if (idx !== -1) openCallbacks.splice(idx,1); resolve(modalEl); }
4014        openCallbacks.push(onOpenCb);
4015      });
4016    },
4017    // Debug helpers
4018    debugShowLoader: function(url){
4019      try {
4020        var container = (currentModal && currentModal.querySelector && currentModal.querySelector('.xsell__modal-more-info-featured-image')) || document.querySelector('.xsell__modal-more-info-featured-image');
4021        if (!container) { console.warn('xsellModal.debugShowLoader: featured-image container not found'); return false; }
4022        if (!document.getElementById('xsell-modal-loader-styles')) {
4023          var ss = document.createElement('style'); ss.id = 'xsell-modal-loader-styles'; ss.textContent = '.xsell-featured-image-loader{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.6); z-index:1000; } .xsell-featured-image-loader.hidden{ display:none !important; } .xsell-featured-image-loader .spinner{ width:36px; height:36px; border-radius:50%; border:4px solid rgba(0,0,0,0.12); border-top-color:rgba(0,0,0,0.6); animation:xsellSpin 0.8s linear infinite; } @keyframes xsellSpin{ to{ transform:rotate(360deg); } }';
4024          document.head.appendChild(ss);
4025        }
4026        var loader = container.querySelector('.xsell-featured-image-loader');
4027        if (!loader) { loader = document.createElement('div'); loader.className = 'xsell-featured-image-loader'; loader.innerHTML = '<div class="spinner" aria-hidden="true"></div>'; try{ if (getComputedStyle(container).position === 'static') container.style.position = 'relative'; }catch(e){} container.appendChild(loader); }
4028        loader.classList.remove('hidden');
4029        console.log('xsellModal.debugShowLoader: shown loader for', url);
4030        return true;
4031      } catch(e) { console.error('xsellModal.debugShowLoader error', e); return false; }
4032    },
4033    getPreloadedUrls: function(){ try { return (xsellColorHelpers && xsellColorHelpers.preloadedUrls) || []; } catch(e){ return []; } },
4034    // Debug: force re-evaluate and show modal loader (for diagnostics)
4035    debugForceLoader: function(){
4036      try {
4037        var modalEl = currentModal || findModal();
4038        if (!modalEl) {
4039          console.warn('xsellModal: no active xsell modal to force loader');
4040          return;
4041        }
4042        var loaderEl = modalEl.querySelector('.xsell-featured-image-loader');
4043        if (loaderEl) {
4044          loaderEl.classList.remove('hidden');
4045          console.log('xsellModal: loader forced visible');
4046        } else {
4047          console.warn('xsellModal: loader element not found');
4048        }
4049      } catch(e) {
4050        console.error('xsellModal.debugForceLoader error', e);
4051      }
4052    }
4053  };
4054
4055  // Optional: detect clicks on quickview buttons and mark last requested handle
4056  window.xsellModal._lastQuickviewHandle = null;
4057  document.addEventListener('click', function(e){
4058    var btn = e.target.closest('[data-xs-quickview], .xsell-quickview__overlay-btn');
4059    if (!btn) return;
4060    var handle = btn.getAttribute('data-xs-quickview') || btn.getAttribute('data-xs-link') || btn.getAttribute('data-qs-handle');
4061    if (handle) {
4062      // normalize to product handle if a url path is passed
4063      try{
4064        if (handle.indexOf('/products/') === 0) handle = handle.split('/products/')[1].split(/[?#]/)[0];
4065      }catch(e){}
4066      window.xsellModal._lastQuickviewHandle = handle;
4067      try { console.log('xsellModal: quickview clicked', handle, btn); } catch(e) {}
4068    }
4069  }, true);
4070
4071})();
4072</script>
4072
4073
4074
4075<script id="back-in-stock-helper">
4076  var _BISConfig = _BISConfig || {};
4077
4078
4079
4080
4081</script>
4081
4082
4083
4084<script type="text/javascript">
4085    document.documentElement.className = document.documentElement.className.replace('no-js', 'js');
4086
4087    window.theme = {
4088        configs: {
4089            cookieBannerEnabled:false},
4090        strings: {
4091            addToCart: "Add to Cart",
4092            soldOut: "Sold Out",
4093            unavailable: "Unavailable"
4094        },
4095        moneyFormat: "${{amount}}",
4096        moneyWithCurrencyFormat: "${{amount}} USD"
4097    };
4098
4099    // 1R global helper javascript
4100    var ORW = (function (ORW) { return ORW; } (ORW || {}));
4101    window.ORW = ORW;
4102    ORW.storeName = 'Function of Beauty';
4103    ORW.storeUrl = 'https://functionofbeauty.com';
4104    ORW.responsive = '';
4105    ORW.responsiveSizes = {
4106        medium : 768,
4107        large : 1024,
4108        xlarge : 1200,
4109        xxlarge : 1440
4110    };
4111    ORW.template = {
4112        directory: null,
4113        name: "page",
4114        suffix: "location",
4115    };
4116    ORW.breakpoint = '(min-width: 1025px)';
4117    ORW.hideTrailingZeros = true;
4118    ORW.placeholder = "//functionofbeauty.com/cdn/shop/files/placeholder_500x.jpg?v=110267";
4119    ORW.assetsUrl = "//functionofbeauty.com/cdn/shop/t/807/assets/theme.js?v=154669814888287452531786549189";
4120    ORW.appUrl = ORW.assetsUrl.split('theme.js')[0];
4121    ORW.appUrlHash = ORW.assetsUrl.split('theme.js')[1];
4122    ORW.performance = {
4123        webVitalsEnable: false,
4124        webVitalsClientId: '',
4125        webVitalsUrl: 'https://rum-beacon.1rw.us/',
4126        webVitalsReportType: 'logging',
4127    };
4128    ORW.routes = {
4129        cartAddURL: '/cart/add',
4130        cartChangeURL: '/cart/change',
4131        cartUpdateURL: '/cart/update',
4132        cartURL: '/cart',
4133        predictiveSearchURL: '/search/suggest',
4134    };
4135
4136
4137    ORW.formatMoney = function(money){
4138        // Reads in money in $104.00 format, not 104
4139        if(ORW.hideTrailingZeros){
4140            return money.replace(/((\,00)|(\.00))$/g, '');
4141        }else{
4142            return money;
4143        }
4144    };
4145
4146    ORW.utilities = {
4147        'isMobile' : function() {
4148            var check = false;
4149            (function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera);
4150            return check;
4151        },
4152        'isTouchEnabled' : function() {
4153            return 'ontouchstart' in document.documentElement;
4154        },
4155        'getUrlParam' : function(url, sParam, value) {
4156            var sPageURL = url != undefined ? url : decodeURIComponent(window.location.search.substring(1));
4157            if (sPageURL.indexOf("?") >= 0) { sPageURL = sPageURL.replace("?", "&"); }
4158            var sURLVariables = sPageURL.split('&'),
4159                sParameterName,
4160                i;
4161
4162            for (i = 0; i < sURLVariables.length; i++) {
4163                sParameterName = sURLVariables[i].split('=');
4164                if (sParameterName[0] === sParam) {
4165                    if (value && sParameterName[1] !== undefined) {
4166                        var st1 = sParameterName[0] + '=' + sParameterName[1];
4167                        var st2 = sParameterName[0] + '=' + value;
4168                        return url.replace(st1, st2);
4169                    } else {
4170                        return sParameterName[1] === undefined ? true : sParameterName[1];
4171                    }
4172                }
4173            }
4174        },
4175        'updateUrlParam' : function(url, sParam, value) {
4176            url = url ? url : window.location.href;
4177            var newurl = url;
4178            var currentHandle = ORW.utilities.getUrlParam(url,sParam);
4179            if (currentHandle) {
4180                // Replace
4181                newurl = ORW.utilities.getUrlParam(url,sParam,value);
4182            } else {
4183                // Create new depends on current params and url structure
4184                if (url.indexOf('?') > 0) {
4185                    newurl += '&' + sParam + '=' + value;
4186                }else{
4187                    newurl += '?' + sParam + '=' + value;
4188                }
4189            }
4190            return newurl;
4191        },
4192        'setCookie' : function(name,value,days,domain,path = null) {
4193            if (days) {
4194                var date = new Date();
4195                date.setTime(date.getTime()+(days*24*60*60*1000));
4196                var expires = "; expires="+date.toGMTString();
4197            } else {
4198                var expires = "";
4199            }
4200
4201            if (domain && path) {
4202                document.cookie = name+"="+value+expires+"; path="+path+"; domain=" + domain;
4203            } else if(domain) {
4204                document.cookie = name+"="+value+expires+"; domain=" + domain;
4205            } else {
4206                document.cookie = name+"="+value+expires+"; path=/";
4207            }
4208        },
4209        'getCookie' : function(name) {
4210            var nameEQ = name + "=";
4211            var ca = document.cookie.split(';');
4212            for(var i=0;i < ca.length;i++) {
4213                var c = ca[i];
4214                while (c.charAt(0)==' ') c = c.substring(1,c.length);
4215                if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
4216            }
4217            return null;
4218        },
4219        'deleteCookie' : function(name) {
4220            this.setCookie(name,"",-1);
4221        },
4222        'searchCookie' : function(term) {
4223            var ca = document.cookie.split(';');
4224            for(var i=0;i < ca.length;i++) {
4225                var c = ca[i];
4226                while (c.charAt(0)==' ') c = c.substring(1,c.length);
4227                var s = c.split('=');
4228                if (s.length > 0 && s[0].indexOf(term) > -1) return s[0];
4229            }
4230            return null;
4231        }
4232    }
4233
4234    // Site-wide GA4 / GTM variables
4235    ORW.enableGTM = true;
4236    ORW.marketingSettings = {
4237        promoParentClass: 'ga-promo-element',
4238        dataAttributePromo: '[data-ga-promo-json]',
4239        shopCurrency: 'USD',
4240        cartCurrency: 'USD'
4241    }
4242
4243    // GWP
4244    ORW.GWP = {
4245        enable: 'false',
4246        free_product: 'comb'
4247    }
4248
4249    // Debugging flag
4250    ORW.debugging = ORW.utilities.getCookie('1r_debugging');
4251
4252    enableLiveChat = false;
4253    ORW.enableLiveChat = !!enableLiveChat;
4254
4255    ORW.localization = ORW.utilities.getCookie('localization');
4256
4257    ORW.enable_review = true;
4258    ORW.enable_regimen_reviews = true;
4259
4260    ORW.euMarketRestrictions = {"excludedCountries":["AT","BE","BG","CY","CZ","DE","DK","EE","ES","FI","FR","GR","HR","HU","IE","IT","LT","LU","LV","MT","NL","PL","PT","RO","SE","SI","SK"],"products":[{"productHandle":"styling-primer","fragrancesToExclude":["peach"],"colorsToExclude":[]},{"productHandle":"hair-mask","fragrancesToExclude":["vanilla suede"],"colorsToExclude":[]},{"productHandle":"purple-hair-mask","fragrancesToExclude":["vanilla suede"],"colorsToExclude":[]}]};
4261    ORW.customerCountryCode = "US";
4262
4263</script>
4263
4264
4265
4266
4267
4268<script src="//functionofbeauty.com/cdn/shop/t/807/assets/vendor.js?v=47304656581546717091786549189"></script>
4268<script src="//functionofbeauty.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js"></script>
vendor: 1 bytes, line 4268
4268
4269<script defer src="//functionofbeauty.com/cdn/shop/t/807/assets/theme.js?v=154669814888287452531786549189"></script>
4269
4270
4271
4272
4273
4274<script>
4275    function checkAllHaveSOS(array) {
4276        return !array.some(item => !item.handle.includes('sos'));
4277    }
4278
4279    function checkForSOS(array) {
4280        return array.some(item => item.handle.includes('sos'));
4281    }
4282
4283    let cartUpdateExecuted = false;
4284
4285    function cartInsertAttributes() {
4286        if (cartUpdateExecuted) return;
4287
4288        cartUpdateExecuted = true;
4289
4290        fetch(`${window.location.origin}/cart.js`)
4291            .then(res => res.clone().json().then(data => {
4292
4293                if (data.items.length < 1) {
4294                    cartUpdateExecuted = false;
4295                    return;
4296                }
4297
4298                if (data.items.length >= 1) {
4299                    const containsSosProducts = checkForSOS(data?.items);
4300                    const allproductsIsSos = containsSosProducts && checkAllHaveSOS(data?.items) ? 'sos' : 'sos mixed';
4301                    const formData = new FormData();
4302                    const contains_sos_products = containsSosProducts ? allproductsIsSos : "no sos";
4303                    formData.append("attributes[Contains SOS]", contains_sos_products);
4304                    fetch(`${window.location.origin}/cart/update.js`, {
4305                        method: 'POST',
4306                        body: formData
4307                    }).finally(() => {
4308                        cartUpdateExecuted = false;
4309                    });
4310                }
4311            }));
4312    }
4313
4314    function cartCountItems() {
4315        const cartCount = document.querySelector('#CartCount')
4316        if ( cartCount ) {
4317            fetch(`${window.location.origin}/cart.js`)
4318            .then(res => res.clone().json().then(data => {
4319                cartCount.innerHTML = `${data.item_count}`
4320            }));
4321        }
4322    }
4323
4324    (function (ns, fetch) {
4325        ns.fetch = function() {
4326            const response = fetch.apply(this, arguments);
4327            response.then(res => {
4328                if (res.url.includes('cart/add') || res.url.includes('cart/update') || res.url.includes('cart/clear') || res.url.includes('cart/change') || res.url.includes('cart/checkout')) {
4329                    cartInsertAttributes();
4330                    cartCountItems();
4331                }
4332            });
4333            return response;
4334        }
4335    }(window, window.fetch));
4336</script>
4336
4337
4338
4339
4340  
4341
4342  
4343    
4344    
4345  
4346    
4347    
4348  
4349    
4350    
4351  
4352    
4353    
4354  
4355    
4356    
4357  
4358    
4359    
4360  
4361
4362    
4363
4364    
4365      
4366      
4367    
4368      
4369      
4370    
4371<style> .osano-cm-widget {display: none;} #vqb-main {scroll-margin-top: 70px;} @media (max-width: 767px) {.whai-slide.whai-slide-question, .whai-slide.whai-slide-group {margin-top: 56px; }} </style>
4372<div id="shopify-block-AVjZKZ1hoN3ZOc25Cb__8133853093390032344" class="shopify-block shopify-app-block">
4373  <askwhai-quiz></askwhai-quiz>
4374
4375
4376</div><div id="shopify-block-AdjkraUk3aFVvenQ3d__8605505498557855500" class="shopify-block shopify-app-block bogos-shopify-block">
4377
4378
4379<div id="secomapp_freegifts_version" data-version="3.0"></div>
4380
4381    <!-- BEGIN app snippet: freegifts-snippet --><link href="//cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/glider.min.css" rel="stylesheet" type="text/css" media="all" />
4382<link href="//cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/freegifts-main.min.css" rel="stylesheet" type="text/css" media="all" />
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395<style id="sca_fg_custom_style">
4396    
4397        .freegifts-main-container .fg-section-title, .freegifts-main-container .bogos-slider-info-title { color: #121212; }
4398        .freegifts-main-container .product-title, .freegifts-main-container .bogos-gift-product-title { color: #000000; }
4399        .freegifts-main-container .original-price, .freegifts-main-container .bogos-gift-item-compare-price { color: #121212; }
4400        .freegifts-main-container .gift-price, .freegifts-main-container .bogos-gift-item-price { color: #ea5455; }
4401        .freegifts-main-container .btn-add-to-cart { color: #FFFFFF; background-color: #8ae5d3; }
4402        .freegifts-main-container .bogos-slider-offer-badge { background: #FFEF9D }
4403        .freegifts-main-container .bogos-slider-offer-badge.success { background: #CDFEE1 }
4404        .freegifts-main-container .bogos-slider-offer-title { color: #000000 }
4405        .freegifts-main-container .btn-add-to-cart svg path { fill: #FFFFFF; }
4406        .bogos-gift-select-variant-title { color: #005BD3; }
4407        .bogos-gift-select-variant-title-contain::after { border-color: #005BD3; }
4408        
4409        .fg-gift-thumbnail-offer-title { color: #000000; }
4410        .fg-gift-thumbnail-container { border-color: #8A8A8A; }
4411        .fg-gift-thumbnail-offer-time { background-color: #000000; }
4412        #sca-gift-thumbnail .sca-gift-image { width: 100px; max-height: 100px; }
4413
4414        #sca-gift-icon .sca-gift-icon-img { width: 50px; max-height: 50px; }
4415        .sca-gift-icon-collection-page .sca-gift-icon-collection-img { width: 50px; max-height: 50px; }
4416
4417        #sca-promotion-glider { color: #ffffff; background-color: #F72119; }
4418        
4419        
4420        #sca-fg-today-offer-iframe .sca-fg-header { background-color: #FFFFFF; }
4421        #sca-fg-today-offer-iframe .sca-fg-body { background-color: #FFFFFF; }
4422        #sca-fg-today-offer-iframe .sca-fg-today-offer-title { color: #5E5873 !important; }
4423        #sca-fg-today-offer-iframe .sca-fg-today-offer-subtitle { color: #b9b9c3 !important; }
4424        #sca-fg-today-offer-iframe .sca-offer-title { color: #82868b; }
4425        #sca-fg-today-offer-widget { height: 70px !important; width: 70px !important; }
4426        .sca-fg-icon-success-anim { box-shadow: inset 0 0 0 #69CE82; }
4427        @-webkit-keyframes animated-checkmark-fill { to { box-shadow: inset 0 0 0 30px #69CE82; } }
4428        @keyframes animated-checkmark-fill { to { box-shadow: inset 0 0 0 30px #69CE82; } }
4429        .sca-fg-icon-success-circle { stroke: #69CE82; }
4430        #sca-fg-today-offer-iframe .sca-fg-offer .sca-offer-header-container { background-color: #ebe9f1 }
4431        #sca-fg-today-offer-iframe .sca-fg-offer.sca-offer-archived .sca-offer-header-container { background-color: #69CE8225 }
4432        #sca-fg-today-offer-iframe .sca-gift-product-title { color:  #303030}
4433        #sca-fg-today-offer-iframe .sca-gift-product-discount-price { color: #24B263 }
4434        #sca-fg-today-offer-iframe .sca-gift-product-original-price { color: #616161 }
4435        #sca-fg-today-offer-iframe .sca-offer-info .sca-offer-subtitle { color: #616161 }
4436        
4437        
4438        .bogos-bundles-widget { background-color: #F3F3F3;  }
4439        .bogos-bundles-widget-body .bogos-bundle-item { background-color: #FFFFFF; }
4440        .bogos-bundles-widget .bogos-bundles-widget-title { color: #303030; }
4441        .bogos-bundles-widget .bogos-bundles-widget-description { color: #616161; }
4442        .bogos-bundle-item .bogos-bundle-item-title { color: #303030; }
4443        .bogos-bundle-item .bogos-bundle-item-discount-price, .bogos-bundles-widget .bogos-bundles-total-discount-price { color: #005BD3; }
4444        .bogos-bundle-item .bogos-bundle-item-original-price, .bogos-bundles-widget .bogos-bundles-total-original-price { color: #005BD3; }
4445        .bogos-bundles-widget-footer .bogos-bundles-button-add { color: #FFFFFF; background-color: #303030; }
4446        .bogos-bundles-widget .bogos-bundle-shipping-discount-container { background-color: #DEE6FF; }
4447        .bogos-bundles-widget .bogos-bundle-shipping-discount-title { color: #2332D5; }
4448        
4449        .bogos-bundles-quantity-break-widget { background-color: #F3F3F3;  }
4450        .bogos-bundles-quantity-break-widget-title { color: #303030; }
4451        .bogos-bundles-quantity-break-widget-description { color: #303030; }
4452        .bogos-bundle-quantity-break-item-original-price, .bogos-bundles-quantity-break-origin-price { color: #B5B5B5; }
4453        .bogos-bundles-quantity-break-button-add { background: #303030; color: #FFFFFF; }
4454        .bogos-bundle-quantity-break_item-container { background: #FFFFFF; }
4455        .bogos-bundle-quantity-break-label { background: #303030; color: #FFFFFF; }
4456        .bogos-bundle-quantity-break-tag { background: #F1F1F1; color: #303030; }
4457        .bogos-bundle-quantity-break-sub-title { color: #616161; }
4458        .bogos-bundles-quantity-break-discount-price { color: #303030; }
4459        .bogos-bundle-quantity-break-title { color: #303030; }
4460        .bogos-bundle-quantity-break-item-discount-price { color: #303030; }
4461
4462        .bogos-volume-discount-widget.default-layout { background-color: #F3F3F3;  }
4463        .bogos-volume-discount-widget.default-layout .bogos-volume-discount-widget-title { color: #303030; }
4464        .bogos-volume-discount-widget.default-layout .bogos-volume-discount-widget-description { color: #303030; }
4465        .bogos-volume-discount-widget.default-layout .bogos-volume-discount-item-original-price , .bogos-volume-discount-origin-price { color: #303030; }
4466        .bogos-volume-discount-widget.default-layout .bogos-volume-discount-button-add { background: #303030; color: #FFFFFF; }
4467        .bogos-volume-discount-widget.default-layout .bogos-volume-discount_item-container { background: #FFFFFF; }
4468        .bogos-volume-discount-widget.default-layout .bogos-volume-discount-label { background: #303030; color: #FFFFFF; }
4469        .bogos-volume-discount-widget.default-layout .bogos-volume-discount-tag { background: #F1F1F1; color: #303030; }
4470        .bogos-volume-discount-widget.default-layout .bogos-volume-discount-sub-title { color: #616161; }
4471        .bogos-volume-discount-widget.default-layout .bogos-volume-discount-item-discount-price { color: #303030; }
4472        .bogos-volume-discount-widget.default-layout .bogos-volume-discount-tier-price-primary span { color: #303030; }
4473        .bogos-volume-discount-widget.default-layout .bogos-volume-discount-discount-price { color: #303030; }
4474        .bogos-volume-discount-widget.default-layout .bogos-volume-discount-title { color: #303030; }
4475        .bogos-volume-discount-widget.default-layout .bogos-volume-discount-origin-price, .bogos-volume-discount-widget.default-layout .bogos-volume-discount-item-original-price { color: #B5B5B5; }
4476        .bogos-volume-discount-widget.table-layout .bogos-volume-discount-widget-header { background-color: #F3F3F3; }
4477        .bogos-volume-discount-widget.table-layout .bogos-volume-discount-widget-title { color: #303030; }
4478        .bogos-volume-discount-widget.table-layout .bogos-volume-discount-widget-description { color: #303030; }
4479        .bogos-volume-discount-table-container.line-style .bogos-volume-discount-item { background-color: #FFFFFF; }
4480        .bogos-volume-discount-widget.table-layout, .bogos-volume-discount-widget.table-layout .bogos-volume-discount-item, .bogos-volume-discount-widget-body .bogos-volume-discount-tier-info, .bogos-volume-discount-widget.table-layout .bogos-volume-discount-widget-header { border-color: #E0E0E0; }
4481        .bogos-volume-discount-widget.table-layout .bogos-volume-discount-title { color: #303030; }
4482        .bogos-volume-discount-widget.table-layout .bogos-volume-discount-description { color: #616161; }
4483        .bogos-volume-discount-widget.table-layout .bogos-volume-discount-tag { background-color: #F1F1F1; color: #303030; }
4484        .bogos-volume-discount-widget.table-layout .bogos-volume-discount-tier-discount-text { color: #303030; }
4485        .bogos-volume-discount-widget.table-layout .bogos-volume-discount-tier-label { color: #FFFFFF; background-color: #303030; }
4486        .bogos-volume-discount-widget.table-layout .bogos-volume-discount-tier-discount-price { color: #303030; }
4487        .bogos-volume-discount-widget.table-layout .bogos-volume-discount-tier-price-primary span { color: #303030; }
4488        .bogos-volume-discount-widget.table-layout .bogos-volume-discount-tier-origin-price { color: #B5B5B5; }
4489        .bogos-volume-discount-table-container.is-hidden-line .bogos-volume-discount-tier-info { border-color: transparent; }
4490        .bogos-volume-discount-widget.table-layout .bogos-volume-discount-table-container.zebra-style .bogos-volume-discount-item:nth-child(odd) { background-color: #FFFFFF; }
4491        .bogos-volume-discount-widget.table-layout .bogos-volume-discount-table-container.zebra-style  .bogos-volume-discount-item:nth-child(even) { background-color: #F5F5F5; }
4492        .bogos-volume-discount-widget .bogos-vl-tb-shipping-label { color: #2332D5; }
4493        .bogos-volume-discount-widget .bogos-vl-shipping-label { color: #2332D5; }
4494        .bogos-volume-discount-widget .bogos-vl-shipping-container { background-color: DEE6FF; }
4495        .bogos-volume-discount-widget.default-layout .bogos-vl-subscription-option-title { color: #303030; }
4496        .bogos-volume-discount-widget.default-layout .bogos-vl-subscription-section-title { color: #303030; }
4497        .bogos-volume-discount-widget.default-layout .bogos-vl-subscription-input-c
4497heckbox:checked { background-color: #8051FF; border-color: #8051FF;}
4498        .bogos-volume-discount-widget.default-layout input[type=radio]:checked { background-color: #8051FF; border-color: #8051FF;}
4499        
4500        .bogos-mix-match-widget { background-color: #F3F3F3; ; }
4501        .bogos-mix-match-widget .bogos-mix-item { background-color: #FFFFFF; }
4502        .bogos-mix-match-widget .bogos-mix-match-widget-title { color: #303030; }
4503        .bogos-mix-match-widget .bogos-mix-match-widget-description { color: #616161; }
4504        .bogos-mix-match-widget .bogos-mix-item-title { color: #303030; }
4505        .bogos-mix-match-widget .bogos-mix-item-discount-price { color: #303030; }
4506        .bogos-mix-match-widget .bogos-mix-item-original-price { color: #B5B5B5; }
4507        .bogos-mix-match-widget .bogos-mix-match-button-add { color: #FFFFFF; background-color: #303030; }
4508        .bogos-mix-match-widget .bogos-mix-match-badge-item { background-color: #FFF8DB; }
4509        .bogos-mix-match-widget .bogos-mix-match-badge-item.success { background-color: #CDFEE1; }
4510        .bogos-mix-match-widget .bogos-mix-match-badge-item .bogos-mix-match-badge-title { color: #4F4700; }
4511        .bogos-mix-match-widget .bogos-mix-match-badge-item.success .bogos-mix-match-badge-title { color: #29845A; }
4512        .bogos-mix-match-widget .bogos-mix-match-shipping-discount-container { background-color: #DEE6FF; }
4513        .bogos-mix-match-widget .bogos-mix-match-shipping-discount-title { color: #2332D5; }
4514        
4515        .bogos-bundle-page-container .bogos-bp-steps-bar, .bogos-bundle-page-container .bogos-bp-step-bar-single { background-color: #F3F3F3; }
4516        .bogos-bundle-page-container .bogos-bp-step-title { color: #303030; }
4517        .bogos-bp-steps-container .bogos-bp-step-item.active { border-bottom: solid 3px #303030; }
4518        .bogos-bundle-page-container .bogos-bp-header-title { color: #303030; }
4519        .bogos-bundle-page-container .bogos-bp-header-subtitle { color: #303030; }
4520        .bogos-bundle-page-container .bogos-bp-step-header-title { color: #303030; }
4521        .bogos-bundle-page-container .bogos-bp-step-header-subtitle { color: #616161; }
4522        .bogos-bundle-page-container .bogos-bp-product-title, .bogos-step-item .bogos-step-item-title, .bogos-product-detail-modal .bogos-product-title { color:  #303030; }
4523        .bogos-step-items-container .bogos-step-item-variant-title { color: #616161; }
4524        .bogos-bundle-page-container .bogos-bp-product-price, .bogos-step-item .bogos-step-item-discount-price, .bogos-bp-widget-footer .bogos-bp-total-discount-price {  color:  #303030; }
4525        .bogos-step-item .bogos-step-item-original-price, .bogos-bp-widget-footer .bogos-bp-total-original-price { color:  #808080; }
4526        .bogos-bundle-page-container .bogos-bp-btn-add-product, .bogos-product-detail-modal .bogos-product-add-btn { background-color: #303030; color: #FFFFFF }
4527        .bogos-bp-widget-container .bogos-bp-widget { background-color: #F3F3F3; ; }
4528        .bogos-bp-widget .bogos-bp-widget-title { color: #303030; }
4529        .bogos-bp-widget .bogos-bp-widget-description { color: #303030; }
4530        .bogos-step-items-product-require.success .bogos-step-items-product-require-title { color: #2332D5; }
4531        .bogos-bp-widget .bogos-bp-button-add { background-color: #303030; color: #FFFFFF; }
4532        .bogos-bp-widget-badges-container .bogos-bp-widget-badge-item { background-color: #FFF8DB; }
4533        .bogos-bp-widget-badges-container .bogos-bp-widget-badge-item.success { background-color: #CDFEE1; }
4534        .bogos-bp-widget-badges-container .bogos-bp-widget-badge-title { color: #4F4700; }
4535        .bogos-bp-widget-badge-item.success .bogos-bp-widget-badge-title { color: #29845A; }
4536        .bogos-bp-widget .bogos-bundle-page-shipping-discount-container { background-color: #DEE6FF; }
4537        .bogos-bp-widget .bogos-bundle-page-shipping-discount-title { color: #2332D5; }
4538        
4539        .bogos-fbt-upsell-container { background: #F6F6F6; border-radius: 15px; }
4540        .bogos-fbt-header-title { color: #303030; }
4541        .bogos-fbt-header-description { color: #303030; }
4542        .bogos-fbt-footer-discounted-price { color: #303030; }
4543        .bogos-fbt-footer-original-price { color: #616161; }
4544        .bogos-fbt-footer-button-add { background: #303030; color: #FFFFFF; }
4545        .bogos-fbt-product-title {color: #303030; }
4546        .bogos-fbt-upsell-product-discounted-price {color: #303030; }
4547        .bogos-fbt-upsell-product-original-price {color: #808080; }
4548        .is-cheapest-free-label {color: #FFFFFF ;background-color: #FFAA00;}
4549        .is-cheapest-free {background-color: rgba(255, 170, 0, 0.2);}
4550        .bogos-fbt-this-item {background-color: #D1D1D1;color: #303030;}
4551        .bogos-fbt-upsell-body-item-checkbox {border-color: #303030;}
4552        .bogos-fbt-upsell-body-item-checkbox:checked {border-color: #303030; background-color: #303030;}
4553        .bogos-fbt-shipping-discount-container { background-color: #DEE6FF; }
4554        .bogos-fbt-shipping-discount-title { color: #2332D5; }
4555        .bogos-fbt-upsell-body-stack-meta .bogos-fbt-upsell-img-wrapper, .bogos-fbt-upsell-body-classic-item-img-wrapper .bogos-fbt-upsell-body-classic-item-img {width: 60px; height: 60px;}
4556        .bogos-fbt-upsell-container img.bogos-fbt-upsell-img {border-radius: 7.5px;}
4557        
4558        .bogos-cheapest-discount {background-color: #ffffff; border-color: #888888;}
4559        .bogos-cheapest-discount .bogos-cheapest-title { color: #303030; }
4560        .bogos-cheapest-list-product-modal .bogos-cheapest-title { color: #303030; }
4561        .bogos-cheapest-discount .bogos-cheapest-description { color: #616161; }
4562        .bogos-cheapest-product-card .bogos-cheapest-product-title { color: #303030; }
4563        .bogos-cheapest-product-card .bogos-cheapest-product-price { color: #303030; }
4564        .bogos-cheapest-product-card .bogos-cheapest-select-variant-title { color: #303030; }
4565        .bogos-cheapest-product-card .bogos-cheapest-product-add-btn { color: #ffffff; background-color: #303030}
4566        .bogos-cheapest-label-item.active .bogos-cheapest-label { color: #303030; }
4567        .bogos-cheapest-label-item.active #bogos-active-icon path { fill: #3
456703030; }
4568        .bogos-cheapest-label-item.excluded .bogos-cheapest-label { color: #CCCCCC; }
4569        .bogos-cheapest-label-item.excluded #bogos-excluded-icon path { fill: #CCCCCC; }
4570        .bogos-cheapest-label-item:not(.active):not(.excluded) #bogos-uncheck-icon path { fill: #4A4A4A; }
4571        .bogos-cheapest-label-item:not(.active):not(.excluded) .bogos-cheapest-label { color: #303030; }
4572        .bogos-cheapest-discount .bogos-cheapest-label-container:not(:has(.bogos-cheapest-discount-bullet-items)) {background-color: #F6F6F6;}
4573        .bogos-cheapest-discount .bogos-cheapest-discount-bullet-item {color: #808080;}
4574        .bogos-cheapest-discount .bogos-cheapest-products-describe {color: #616161;}
4575        .bogos-cheapest-discount .bogos-cheapest-products-more-btn {color: #303030;}
4576        
4577        .bogos-select-option-custom-item:not(.bogos-option-default):not(.bogos-active):not(has(.sca-d-none)) {background-color: #F0F0F0; color: #303030;}
4578        .bogos-select-option-custom-item:not(.bogos-option-default).bogos-active:not(has(.sca-d-none)) {background-color: #F0F0F0; color: #303030;}
4579        .bogos-select-option-custom-item:not(.bogos-option-default).bogos-active {border: 0.5px solid #303030;}
4580        .bogos-select-option-custom-item.bogos-option-default:not(.bogos-active) .bogos-option-value-title {background-color: #F0F0F0; color: #303030;}
4581        .bogos-select-option-custom-item.bogos-option-default.bogos-active .bogos-option-value-title {background-color: #F0F0F0; color: #303030;}
4582        .bogos-select-option-custom-item.bogos-option-default.bogos-active {border: 0.5px solid #303030;}
4583        .bogos-mix-item-select-variant-option:hover, .bogos-gift-select-variant-option:hover, .bogos-bundle-select-variant-option:hover, .bogos-vl-select-variant-option:hover, .bogos-fbt-variant-item:hover, .bogos-pa-variant-item:hover, .bogos-pa-variant-item.active {background-color: #F0F0F0;}
4584        
4585    
4586    
4587</style>
4587<script id="sca_fg_custom_script" data-cmp-vendor="bogos" data-cmp-ab="0">
4588    
4589    
4590</script>
4590
4591
4592<script src="https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/glider.min.js" defer></script>
vendor: 1 bytes, line 4592
4592
4593<script src="https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/lz-string.min.js" defer></script>
4593
4594
4595<div id="freegifts-main-popup-container" class="freegifts-main-container sca-modal-fg"
4596     data-animation="slideInOutTop"></div>
4597<div id="sca-fg-notifications" class="sca-fg-notifications"></div>
4598
4599<div id="bogos-to-widget-icon-wrap" style="display:none"></div>
4600<div id="bogos-to-widget-iframe" style="visibility:hidden;opacity:0;position:fixed"></div>
4601
4602<div id="sca-fg-today-offer-widget"></div>
4603<div id="sca-fg-today-offer-iframe"></div>
4604
4605<div id="bogos-mix-match-main-collection-popup-container" class="sca-modal-fg"></div>
4606<div id="bogos-main-popup-product-detail-container" data-animation="slideInOutTop"></div>
4607<div id="bogos-main-popup-more-product-container" data-animation="slideInOutTop"></div>
4608
4609<div id="bogos-cart-discount-congrats-msg-wrap"></div>
4610
4611<script type="text/javascript" data-cmp-vendor="bogos" data-cmp-ab="0">
4612    if (typeof Shopify === "undefined") window.Shopify = {};
4613    Shopify.cartItems = [];
4614    Shopify.current_product = {};
4615    Shopify.current_collection = {};
4616    Shopify.products = {};
4617
4618    // current product or collection
4619    Shopify.current_product = {...null};
4620    
4621
4622    Shopify.current_collection = {...null};
4623
4624    window.SECOMAPP = window.SECOMAPP || {};
4625    SECOMAPP.fg_codes = [];
4626    SECOMAPP.activateOnlyOnePromoCode = false;
4627
4628    SECOMAPP.localization = [];SECOMAPP.localization.push({
4629        ...{"shop_locale":{"locale":"en","enabled":true,"primary":true,"published":true}},
4630        root_url: "/"
4631    });
4632    
4633    SECOMAPP.fgData = {...{"appearance":{"bundle":{"color":{"theme_color":"neutral","item_name_color":"#303030","title_text_color":"#303030","button_text_color":"#FFFFFF","bundle_price_color":"#005BD3","original_price_color":"#005BD3","description_text_color":"#616161","button_background_color":"#303030","widget_background_color":"#F3F3F3","item_card_background_color":"#FFFFFF"},"content":{"button_text":"Add bundle to cart","show_description":true,"total_price_text":"Total bundle price","select_variant_text":"Select variant","show_discount_each_item":true,"show_discount_on_button":true}},"gift_icon":{"product_page":{"gift_icon":{"size":"50","status":true},"gift_thumbnail":{"size":"100","title":"Free Gift","status":true}},"gift_icon_path":"images\/fg-icons\/fg-icon-red.png","collection_page":{"size":"50","status":true},"shopify_gift_icon_path":"fg-icon-red.png"},"mix_match":{"color":{"theme_color":"neutral","item_name_color":"#303030","title_text_color":"#303030","button_text_color":"#FFFFFF","bundle_price_color":"#303030","original_price_color":"#B5B5B5","description_text_color":"#616161","button_background_color":"#303030","widget_background_color":"#F3F3F3","default_label_text_color":"#4F4700","success_label_text_color":"#29845A","item_card_background_color":"#FFFFFF","default_label_background_color":"#FFF8DB","success_label_background_color":"#CDFEE1"},"others":{"hidden_brand_mark":false},"content":{"tier_style":"label","button_text":"Add bundle to cart","out_stock_text":"Out of stock!","mix_item_header":"Mix item {{itemIndex}}","show_description":true,"total_price_text":"Total bundle price","select_product_text":"Choose from {{number}} product(s)","select_variant_title":"Variant","select_collection_text":"Choose from {{number}} collection(s)","show_discount_each_item":true,"show_discount_on_button":true}},"fbt_upsell":{"color":{"item_name":"#303030","item_price":"#303030","theme_color":"neutral","widget_title":"#303030","widget_subtitle":"#303030","atc_button_color":"#303030","item_price_after":"#303030","item_price_before":"#808080","total_price_after":"#303030","widget_background":"#F6F6F6","total_price_before":"#616161","atc_button_text_color":"#FFFFFF"},"content":{"button_text":"Add selected items","total_price_text":"Total price"},"general":{"widget_layout":"classic","maximum_display":3,"show_discount_amount":true,"show_discount_each_item":true}},"bundle_page":{"color":{"theme_color":"neutral","step_text_color":"#303030","atc_button_color":"#303030","step_title_color":"#303030","cart_button_color":"#303030","page_heading_color":"#303030","product_title_color":"#303030","required_text_color":"#2332D5","variant_title_color":"#616161","original_price_color":"#808080","side_bar_title_color":"#303030","step_highlight_color":"#303030","atc_button_text_color":"#FFFFFF","cart_button_text_color":"#FFFFFF","discounted_price_color":"#303030","page_sub_heading_color":"#303030","step_description_color":"#616161","default_label_text_color":"#4F4700","success_label_text_color":"#29845A","side_bar_background_color":"#F3F3F3","side_bar_description_color":"#303030","default_step_background_color":"#F3F3F3","default_label_background_color":"#FFF8DB","success_label_background_color":"#CDFEE1"},"others":{"hidden_brand_mark":false},"content":{"step_text":"Step {{index}}","tier_style":"progress","load_more_text":"Load more","out_stock_text":"Out of stock","read_more_text":"See more","step_icon_path":"images\/step-icons\/step-icon-1.png","atc_button_text":"Add to bundle","blank_step_text":"Add product to this step","cart_button_text":"Add bundle to cart","show_description":true,"total_price_text":"Total bundle price","summary_title_text":"Your bundle","choose_variant_text":"Choose variant","required_product_text":"{{number}} item(s) required","shopify_step_icon_path":"step-icon-1.png","summary_description_text":"Choose items from this page to make your own bundle"}},"gift_slider":{"color":{"add_to_cart_color":"#FFFFFF","offer_title_color":"#000000","product_title_color":"#000000","original_price_color":"#121212","add_to_cart_btn_color":"#8ae5d3","discounted_price_color":"#ea5455","gift_slider_title_color":"#121212","notify_add_gift_active_state_color":"#CDFEE1","notify_add_gift_normal_state_color":"#FFEF9D"},"others":{"gift_img_size":"\u0026width=480\u0026height=480","hidden_brand_mark":false,"disable_use_old_version":false},"general":{"running_text":null,"show_gift_type":"all_in_one","select_gift_btn":"Select variants","show_pagination":true,"use_old_version":false,"gift_popup_title":"Customize Your Free Body Wash","show_product_title":true,"show_variant_title":true,"add_to_cart_btn_title":"Add to cart","number_product_slider":2,"show_gift_for_customer":"by_variants","enable_add_multiple_gifts":true}
4633,"pages_display":{"pages":["cart"],"custom":[]},"notify_gift_can_add":{"enable":true,"number_gifts_added":"You have added {{number}} gift product(s)","number_gifts_can_be_added":"You can add {{number}} gift product(s)"},"notify_offer_available":{"text":"🎁 You have qualified for {{qualifiedOffers}} offer(s)!","enable":true},"disable_slider_checkbox":{"text":"Don't show this offer again","time":60,"enable":true}},"today_offer":{"widget_info":{"show_widget":false,"widget_title":"TODAY OFFER","widget_position":"bottom_right","widget_subtitle":"Claim these exclusive offers today","icon_widget_title":"Today offer","widget_icon_style":"icon"},"widget_color":{"offer_title_color":"#82868b","widget_title_color":"#5E5873","offer_default_color":"#ebe9f1","offer_success_color":"#69CE82","body_background_color":"#FFFFFF","widget_subtitle_color":"#b9b9c3","header_background_color":"#FFFFFF"},"widget_icon_path":"images\/widget-icons\/widget-icon-1.png","shopify_widget_icon_path":"widget-icon-1.png"},"cart_discount":{"color":{"widget":{"line_color":"#D0D0D0","theme_color":"blue","open_icon_color":"#616161","tier_text_color":"#303030","title_text_color":"#2332D5","active_icon_color":"#008000","excluded_tier_color":"#cccccc","widget_border_color":"#7B84E6","open_tier_text_color":"#303030","tier_background_color":"#FFFFFF","active_tier_text_color":"#008000","description_text_color":"#616161","widget_background_color":"#FFFFFF"},"congrats":{"theme_color":"blue","background_color":"#EEEFFB","title_text_color":"#2332D5","description_text_color":"#303030"}},"content":{"widget":{"icon":"https:\/\/d33a6lvgbd0fej.cloudfront.net\/bogos-images\/1772523961.png","divide_tiers":false,"widget_style":"style_1","discount_tier_style":"checklist","widget_border_radius":12},"congrats":{"title":"Congratulations!","position":"bottom_right","appear_for":5,"description":"You got {{discount_amount}} off!","border_radius":12}}},"quantity_break":{"color":{"tag_color":"#F1F1F1","tier_price":"#303030","tier_title":"#303030","label_color":"#303030","theme_color":"neutral","bundle_price":"#303030","bundle_title":"#303030","tag_text_color":"#303030","label_text_color":"#FFFFFF","tier_description":"#616161","button_text_color":"#FFFFFF","bundle_description":"#303030","button_background_color":"#303030","widget_background_color":"#F3F3F3","item_card_background_color":"#FFFFFF"},"content":{"button_text":"Add bundles to cart","show_description":true,"total_price_text":"Total price","select_variant_text":"Select variant"}},"select_variant":{"type":"variant","color":{"active_tab_text":"#303030","default_tab_text":"#303030","active_tab_border":"#303030","active_tab_background":"#F0F0F0","active_item_background":"#F0F0F0","default_tab_background":"#F0F0F0"},"config":[]},"checkout_upsell":{"color":{"button_style":"primary","widget_price_color":"base","widget_background_color":"base"},"content":{"widget_message":"You may also like","widget_button_text":"Add to cart"},"general":{"widget_layout":"carousel","widget_position ":"left","widget_active_message":true,"widget_active_compare_at_price":true}},"volume_discount":{"table":{"color":{"row_color":"#FFFFFF","tag_color":"#F1F1F1","line_color":"#E0E0E0","theme_color":"neutral","widget_title":"#303030","row_odd_color":"#FFFFFF","widget_header":"#F3F3F3","row_even_color":"#F5F5F5","tag_text_color":"#303030","label_text_color":"#FFFFFF","tier_title_color":"#303030","widget_sub_title":"#303030","discount_text_color":"#303030","original_price_color":"#B5B5B5","discounted_price_color":"#303030","label_background_color":"#303030","tier_description_color":"#616161","shipping_discount_text_color":"#2332D5"},"hide_line":false,"body_style":"line","text_align":"left","discount_text":"{{discountAmount}} OFF","discount_show_as":"discount_text","show_description":true,"show_original_price":true},"content":{"button_text":"Add bundles to cart","total_price_text":"Total price ","shipping_icon_path":"images\/shipping-icons\/shipping-icon-1.png","select_variant_text":"Select variant","shopify_shipping_icon_path":"shipping-icon-1.png"},"default":{"color":{"tag_color":"#F1F1F1","tier_price":"#303030","tier_title":"#303030","label_color":"#303030","theme_color":"neutral","bundle_price":"#303030","bundle_title":"#303030","tag_text_color":"#303030","label_text_color":"#FFFFFF","tier_description":"#616161","button_text_color":"#FFFFFF","bundle_description":"#303030","bundle_origin_price":"#B5B5B5","button_background_color":"#303030","widget_background_color":"#F3F3F3","item_card_background_color":"#FFFFFF","shipping_discount_background":"DEE6FF","shipping_discount_text_color":"#2332D5"},"show_description":true}},"cheapest_discount":{"color":{"theme_color":"neutral","see_more_color":"#303030","open_icon_color":"#4A4A4A","active_icon_color":"#303030","bullet_text_color":"#808080","widget_title_color":"#303030","product_price_color":"#303030","product_title_color":"#303030","variant_title_color":"#303030","widget_border_color":"#888888","open_tier_text_color":"#303030","button_add_text_color":"#ffffff","widget_subtitle_color":"#616161","active_tier_text_color":"#303030","tiers_background_color":"#F6F6F6","widget_background_color":"#ffffff","excluded_tier_text_color":"#CCCCCC","product_list_label_color":"#616161","button_add_background_color":"#303030"},"content":{"tier_style":"checklist","see_more_text":"See all","show_see_more":true,"number_products":4,"number_cols_mobile":2,"number_rows_mobile":2,"product_list_label":"Choose from these products to get discount","number_cols_desktop":4,"number_rows_desktop":2,"add_product_bt
4633n_text":"Add","show_add_product_btn":true}},"promotion_message":{"text_color":"#ffffff","background_color":"#F72119","show_on_cart_page":true},"thanks_page_upsell":{"color":{"button_style":"primary","widget_price_color":"base","widget_background_color":"base"},"content":{"widget_message":"You may also like","widget_button_text":"Add to cart"},"general":{"widget_layout":"carousel","widget_position ":"left","widget_active_message":true,"widget_active_compare_at_price":true}}},"settings":{"draft_order":{"discount_code":false,"automatic_discount":false},"gift_format":"same_as_original_products","auto_add_gift":true,"offer_process":"function","sale_channels":null,"sync_quantity":false,"barcode_format":"blank","fraud_protection":null,"notify_via_email":null,"cal_gift_discount":"current_price","gift_title_format":"gift","using_draft_order":false,"select_one_gift_price":true,"admin_api_access_token":null,"manual_input_inventory":false,"include_compare_at_price":false,"cart_and_checkout_validation":{"type":[],"offer":false,"value":{"max_gifts":1,"min_cart_value":1,"min_cart_quantity":1},"status":true,"condition":"and"},"fraud_protection_cancel_order":null,"other_original_product_detail":null,"compare_gift_price_with_product":false,"delete_gift_after_turn_off_offer":false,"not_show_gift_if_already_on_cart":false,"type_seo":"number_integer","mode_override_checkout":"default","publications":null},"storefront":{"access_token":"dfafb888750be782b462a1dba447b2e5","created_at":"2024-07-17T13:24:01Z"}}};
4634    
4635//liquid code to get customer history and customer tag
4636    
4637    
4638    SECOMAPP.current_template = "page";
4639    SECOMAPP.pathname = window.location.pathname;
4640    if (SECOMAPP.current_template === "404" && SECOMAPP.pathname?.includes("-sca_clone_freegift")) {
4641        window.location.replace(SECOMAPP.pathname.split("-sca_clone_freegift")[0]);
4642    } else if (SECOMAPP.current_template === "404" && SECOMAPP.pathname?.includes("/collections/sca_fg")) {
4643        window.location.replace(`${Shopify?.routes?.root ?? "/"}collections/all`);
4644    }
4645
4646    SECOMAPP.setCookie = function (e, t, o, n, r) {
4647        let i = new Date;
4648        i.setTime(i.getTime() + 24 * o * 36e5 + 60 * n * 1e3);
4649        let f = "expires=" + i.toUTCString();
4650        document.cookie = e + "=" + t + ";" + f + (r ? ";path=" + r : ";path=/");
4651    };
4652    SECOMAPP.deleteCookie = function (e, t) {
4653        document.cookie = e + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; " + (t ? ";path=" + t : ";path=/")
4654    };
4655    SECOMAPP.getCookie = function (e) {
4656        for (let t = e + "=", o = document.cookie.split(";"), n = 0; n < o.length; n++) {
4657            let r;
4658            for (r = o[n]; " " === r.charAt(0);) r = r.substring(1);
4659            if (0 === r.indexOf(t)) return r.substring(t.length, r.length)
4660        }
4661        return ""
4662    };
4663    SECOMAPP.getQueryString = function (key) {
4664        let e = {};
4665        let t = window.location.search.substring(1).split("&");
4666        let o = 0;
4667        for (; o < t.length; o++) {
4668            let n = t[o].split("=");
4669            if (void 0 === e[n[0]]) e[n[0]] = decodeURIComponent(n[1]);
4670            else if ("string" == typeof e[n[0]]) {
4671                e[n[0]] = [e[n[0]], decodeURIComponent(n[1])]
4672            } else e[n[0]].push(decodeURIComponent(n[1]))
4673        }
4674        return key ? e?.[key] : e;
4675    };
4676
4677    SECOMAPP.offer_codes = [
4678        {param: "freegifts_code", cookie: "sca_fg_codes"},
4679        {param: "bundles_code", cookie: "sca_bundle_codes"},
4680        {param: "upsells_code", cookie: "sca_upsell_codes"},
4681        {param: "discounts_code", cookie: "sca_discount_codes"},
4682    ];
4683    SECOMAPP.offer_codes.forEach(({param, cookie}) => {
4684        SECOMAPP.fg_codes = [];
4685        SECOMAPP.getCookie(cookie) && (SECOMAPP.fg_codes = JSON.parse(SECOMAPP.getCookie(cookie)));
4686        SECOMAPP.current_code = SECOMAPP.getQueryString(param);
4687        SECOMAPP.current_code && !SECOMAPP.fg_codes.includes(SECOMAPP.current_code)
4688        && (function () {
4689            SECOMAPP.activateOnlyOnePromoCode && (SECOMAPP.fg_codes = []);
4690            SECOMAPP.fg_codes.push(SECOMAPP.current_code);
4691            SECOMAPP.setCookie(cookie, JSON.stringify(SECOMAPP.fg_codes));
4692        })();
4693    });
4694
4695    SECOMAPP.customer = {};
4696    SECOMAPP.customer.orders = [];
4697    SECOMAPP.customer.freegifts = [];
4698    SECOMAPP.customer.freegifts_v2 = [];
4699    
4700    SECOMAPP.customer.email = "";
4701    SECOMAPP.customer.first_name = "";
4702    SECOMAPP.customer.last_name = "";
4703    SECOMAPP.customer.tags = Object.values({...null});
4704    SECOMAPP.customer.orders_count = "" - 0;
4705    SECOMAPP.customer.total_spent = "" - 0;
4706    SECOMAPP.customer.b2b = "" - 0;
4707    SECOMAPP.market = {
4708        id: "41125675320" - 0,
4709        handle: "us",
4710    };
4711    
4712
4713    // get class name config from settings_data.json
4714    if (!Shopify.scaHandleConfigValue) {
4715        Shopify.scaHandleConfigValue = {
4716            ...null,
4717            ...null
4718        };
4719    }
4720
4721    // add link proxy
4722    SECOMAPP.freegiftProxy = "/apps/secomapp_freegifts_get_order?ver=3.0";
4723    
4724    SECOMAPP.freegiftProxy = "/apps/secomapp_freegifts_get_order?ver=3.0";
4725    
4726    SECOMAPP.bogosCollectUrl = "https://collect.bogos.io/collect"
4727    SECOMAPP.bogosIntegrationUrl = "https://api.bogos.io/integrations"
4728
4729    // get shop locales
4730    SECOMAPP.shop_locales = Object.values({
4731        ...[{"shop_locale":{"locale":"en","enabled":true,"primary":true,"published":true}}]
4732    });
4733
4734    SECOMAPP.current_locale = { ...{"shop_locale":{"locale":"en","enabled":true,"primary":true,"published":true}} }
4735
4736    
4737    
4738    window.fgGiftIcon = "https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/fg-icon-red_small.png";
4739    window.fgWidgetIconsObj = {
4740        "widget-icon-1.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/widget-icon-1_small.png',
4741        "widget-icon-2.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/widget-icon-2_small.png',
4742        "widget-icon-3.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/widget-icon-3_small.png',
4743        "widget-icon-4.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/widget-icon-4_small.png',
4744        "widget-icon-5.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/widget-icon-5_small.png',
4745        "widget-icon-6.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/widget-icon-6_small.png',
4746        "widget-icon-7.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/widget-icon-7_small.png',
4747        "widget-icon-8.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/widget-icon-8_small.png'
4748    }
4749
4750    window.fgStepIconsObj = {
4751        "step-icon-1.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/step-icon-1_small.png',
4752        "step-icon-2.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/step-icon-2_small.png',
4753        "step-icon-3.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/step-icon-3_small.png',
4754        "step-icon-4.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/step-icon-4_small.png',
4755        "step-icon-5.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/step-icon-5_small.png',
4756        "step-icon-6.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/step-icon-6_small.png',
4757        "step-icon-7.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/step-icon-7_small.png',
4758    }
4759
4760    window.fgSummaryIconsObj = {
4761        "summary-icon-1.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/summary-icon-1_small.png',
4762        "summary-icon-2.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/summary-icon-2_small.png',
4763        "summary-icon-3.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/summary-icon-3_small.png',
4764        "summary-icon-4.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/summary-icon-4_small.png',
4765        "summary-icon-5.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/summary-icon-5_small.png',
4766        "summary-icon-6.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/summary-icon-6_small.png',
4767        "summary-icon-7.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/summary-icon-7_small.png',
4768        "summary-icon-8.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/summary-icon-8_small.png',
4769    }
4770
4771    window.fgShippingIconsObj = {
4772        "shipping-icon-1.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/shipping-icon-1_small.png',
4773        "shipping-icon-2.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/shipping-icon-2_small.png',
4774        "shipping-icon-3.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/shipping-icon-3_small.png',
4775        "shipping-icon-4.png": 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/shipping-icon-4_small.png',
4776    }
4777
4778    // variable from tools
4779    SECOMAPP.variables = {
4780        ...SECOMAPP.variables,
4781        ...null,
4782        ...[],
4783        shipping_product_img: 'https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/shipping_product_small.png'
4784    }
4785
4786    window.fgResource = {
4787        gift: {
4788            js: ["https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/gift.min.js"]
4789        },
4790        bundle: {
4791            js: ["https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/bundle.min.js"],
4792            css: ["https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/bogos.bundle.min.css"]
4793        },
4794        upsell: {
4795            js: ["https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/upsell.min.js"],
4796            css: ["https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/bogos.upsell.min.css"]
4797        },
4798        discount: {
4799            js: ["https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/discount.min.js"],
4800            css: ["https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/bogos.discount.min.css"]
4801        },
4802        "bundle-page": {
4803            js: ["https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/bundle-page.min.js"],
4804            css: ["https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/bogos.bundle-page.min.css"]
4805        },
4806        booster: {
4807            js: ["https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/booster.min.js"],
4808            css: ["https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/bogos.booster.min.css"]
4809        }
4810    }
4811</script>
4811
4812
4813<script defer src="https://cdn.bogos.io/Zm9iLWFkbWluLm15c2hvcGlmeS5jb20=/freegifts_data_1781071847.min.js"></script>
4813
4814<div id="secomapp_freegifts_url" data-url="https://cdn.bogos.io/Zm9iLWFkbWluLm15c2hvcGlmeS5jb20=/freegifts_data_1781071847.min.js"></div>
4815
4816
4817<div id="bogos-gift-script" data-url="https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/gift.min.js"></div> 
4818<div id="bogos-bundle-script" data-url="https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/bundle.min.js"></div>
4819<div id="bogos-upsell-script" data-url="https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/upsell.min.js"></div>
4820<div id="bogos-discount-script" data-url="https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/discount.min.js"></div>
4821<div id="bogos-bundle-page-script" data-url="https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/bundle-page.min.js"></div>
4822<div id="bogos-booster-script" data-url="https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/booster.min.js"></div>
4823<div id="bogos-booster-page-script" data-url="https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/booster-page.min.js"></div>
4824
4825
4826<div id="bogos-bundle-style" data-url="https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/bogos.bundle.min.css"></div>
4827<div id="bogos-upsell-style" data-url="https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/bogos.upsell.min.css"></div>
4828<div id="bogos-discount-style" data-url="https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/bogos.discount.min.css"></div>
4829<div id="bogos-bundle-page-style" data-url="https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/bogos.bundle-page.min.css"></div>
4830<div id="bogos-booster-style" data-url="https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/bogos.booster.min.css"></div>
4831<div id="bogos-booster-page-style" data-url="https://cdn.shopify.com/extensions/01a0d1bb-e419-72e0-b3db-9b9890abbb77/freegifts-231/assets/bogos.booster-page.min.css"></div>
4832<!-- END app snippet -->
4833
4834
4835<!-- BEGIN app snippet: search -->
4836<!-- END app snippet -->
4837
4838
4839
4840</div>
4840<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
4840
4841</body>
4842</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.