PageSourceSearch

https://www.paintyourlife.com/user-login.php

html paintyourlife.com collected 2026-10-02 08:01:16 UTC 158,854 bytes, 2,532 lines download raw bytes

1<!DOCTYPE html>
2<html class="no-js res-view wg-chat fullwidth-3956 bootstrap5" lang="en" data-test="1" data-order-ver="order-new" dir="auto">
3<head>
3<script>var w3_googlefont=[];</script>
3<script>var w3_is_mobile=0;var w3_lazy_load_by_px=30;var blank_image_webp_url = "https://www.paintyourlife.com/cache/blank.pngw3.webp";var google_fonts_delay_load = 100;var w3_upload_path="/var/www/html/public/frontend/"; var w3_webp_path="/var/www/html/public/frontend//w3-webp";var w3_mousemoveloadimg = false;var w3_page_is_scrolled = false;var w3_lazy_load_js = 1;var w3_excluded_js=0;class w3_loadscripts{constructor(e){this.triggerEvents=e,this.eventOptions={passive:!0},this.userEventListener=this.triggerListener.bind(this),this.lazy_trigger,this.style_load_fired,this.lazy_scripts_load_fired=0,this.scripts_load_fired=0,this.scripts_load_fire=0,this.excluded_js=w3_excluded_js,this.w3_lazy_load_js=w3_lazy_load_js,this.w3_fonts="undefined"!=typeof w3_googlefont?w3_googlefont:[],this.w3_styles=[],this.w3_scripts={normal:[],async:[],defer:[],lazy:[]},this.allJQueries=[]}user_events_add(e){this.triggerEvents.forEach(t=>window.addEventListener(t,e.userEventListener,e.eventOptions))}user_events_remove(e){this.triggerEvents.forEach(t=>window.removeEventListener(t,e.userEventListener,e.eventOptions))}triggerListener_on_load(){"loading"===document.readyState?document.addEventListener("DOMContentLoaded",this.load_resources.bind(this)):this.load_resources()}triggerListener(){this.user_events_remove(this),this.lazy_scripts_load_fired=1,this.add_html_class("w3_user"),"loading"===document.readyState?(document.addEventListener("DOMContentLoaded",this.load_style_resources.bind(this)),this.scripts_load_fire||document.addEventListener("DOMContentLoaded",this.load_resources.bind(this))):(this.load_style_resources(),this.scripts_load_fire||this.load_resources())}async load_style_resources(){!this.style_load_fired&&(this.style_load_fired=!0,this.register_styles(),document.getElementsByTagName("html")[0].setAttribute("data-css",this.w3_styles.length),document.getElementsByTagName("html")[0].setAttribute("data-css-loaded",0),this.preload_scripts(this.w3_styles),this.load_styles_preloaded())}async load_styles_preloaded(){setTimeout(function(e){document.getElementsByTagName("html")[0].classList.contains("css-preloaded")?e.load_styles(e.w3_styles):e.load_styles_preloaded()},200,this)}async load_resources(){!this.scripts_load_fired&&(this.scripts_load_fired=!0,this.hold_event_listeners(),this.exe_document_write(),this.register_scripts(),this.add_html_class("w3_start"),"function"==typeof w3_events_on_start_js&&w3_events_on_start_js(),this.preload_scripts(this.w3_scripts.normal),this.preload_scripts(this.w3_scripts.defer),this.preload_scripts(this.w3_scripts.async),await this.load_scripts(this.w3_scripts.normal),await this.load_scripts(this.w3_scripts.defer),await this.load_scripts(this.w3_scripts.async),await this.execute_domcontentloaded(),await this.execute_window_load(),window.dispatchEvent(new Event("w3-scripts-loaded")),this.add_html_class("w3_js"),"function"==typeof w3_events_on_end_js&&w3_events_on_end_js(),this.lazy_trigger=setInterval(this.w3_trigger_lazy_script,500,this))}async w3_trigger_lazy_script(e){e.lazy_scripts_load_fired&&(await e.load_scripts(e.w3_scripts.lazy),e.add_html_class("jsload"),clearInterval(e.lazy_trigger))}add_html_class(e){document.getElementsByTagName("html")[0].classList.add(e)}register_scripts(){document.querySelectorAll("script[type=lazyload_int]").forEach(e=>{e.hasAttribute("data-src")?e.hasAttribute("async")&&!1!==e.async?this.w3_scripts.async.push(e):e.hasAttribute("defer")&&!1!==e.defer||"module"===e.getAttribute("data-w3-type")?this.w3_scripts.defer.push(e):this.w3_scripts.normal.push(e):this.w3_scripts.normal.push(e)}),document.querySelectorAll("script[type=lazyload_ext]").forEach(e=>{this.w3_scripts.lazy.push(e)})}register_styles(){document.querySelectorAll("link[data-href]").forEach(e=>{this.w3_styles.push(e)})}async execute_script(e){return await this.repaint_frame(),new Promise(t=>{let s=document.createElement("script"),a;[...e.attributes].forEach(e=>{let t=e.nodeName;"type"!==t&&"data-src"!==t&&("data-w3-type"===t&&(t="type",a=e.nodeValue),s.setAttribute(t,e.nodeValue))}),e.hasAttribute("data-src")?(s.setAttribute("src",e.getAttribute("data-src")),s.addEventListener("load",t),s.addEventListener("error",t)):(s.text=e.text,t()),null!==e.parentNode&&e.parentNode.replaceChild(s,e)})}async execute_styles(e){var t;(t=e).href=t.getAttribute("data-href"),t.rel="stylesheet"}async load_scripts(e){let t=e.shift();return t?(await this.execute_script(t),this.load_scripts(e)):Promise.resolve()}async load_styles(e){let t=e.shift();return t?(this.execute_styles(t),this.load_styles(e)):"loaded"}async load_fonts(e){var t=document.createDocumentFragment();
3e.forEach(e=>{let s=document.createElement("link");s.href=e,s.rel="stylesheet",t.appendChild(s)}),setTimeout(function(){document.head.appendChild(t)},google_fonts_delay_load)}preload_scripts(e){var t=document.createDocumentFragment(),s=0,a=this;[...e].forEach(i=>{let r=i.getAttribute("data-src"),n=i.getAttribute("data-href");if(r){let d=document.createElement("link");d.href=r,d.rel="preload",d.as="script",t.appendChild(d)}else if(n){let l=document.createElement("link");l.href=n,l.rel="preload",l.as="style",s++,e.length==s&&(l.dataset.last=1),t.appendChild(l),l.onload=function(){fetch(this.href).then(e=>e.blob()).then(e=>{a.update_css_loader()}).catch(e=>{a.update_css_loader()})},l.onerror=function(){a.update_css_loader()}}}),document.head.appendChild(t)}update_css_loader(){document.getElementsByTagName("html")[0].setAttribute("data-css-loaded",parseInt(document.getElementsByTagName("html")[0].getAttribute("data-css-loaded"))+1),document.getElementsByTagName("html")[0].getAttribute("data-css")==document.getElementsByTagName("html")[0].getAttribute("data-css-loaded")&&document.getElementsByTagName("html")[0].classList.add("css-preloaded")}hold_event_listeners(){let e={};function t(t,s){!function(t){function s(s){return e[t].eventsToRewrite.indexOf(s)>=0?"w3-"+s:s}e[t]||(e[t]={originalFunctions:{add:t.addEventListener,remove:t.removeEventListener},eventsToRewrite:[]},t.addEventListener=function(){arguments[0]=s(arguments[0]),e[t].originalFunctions.add.apply(t,arguments)},t.removeEventListener=function(){arguments[0]=s(arguments[0]),e[t].originalFunctions.remove.apply(t,arguments)})}(t),e[t].eventsToRewrite.push(s)}function s(e,t){let s=e[t];Object.defineProperty(e,t,{get:()=>s||function(){},set(a){e["w3"+t]=s=a}})}t(document,"DOMContentLoaded"),t(window,"DOMContentLoaded"),t(window,"load"),t(window,"pageshow"),t(document,"readystatechange"),s(document,"onreadystatechange"),s(window,"onload"),s(window,"onpageshow")}hold_jquery(e){let t=window.jQuery;Object.defineProperty(window,"jQuery",{get:()=>t,set(s){if(s&&s.fn&&!e.allJQueries.includes(s)){s.fn.ready=s.fn.init.prototype.ready=function(t){if(void 0!==t)return e.scripts_load_fired?e.domReadyFired?t.bind(document)(s):document.addEventListener("w3-DOMContentLoaded",()=>t.bind(document)(s)):t.bind(document)(s),s(document)};let a=s.fn.on;s.fn.on=s.fn.init.prototype.on=function(){if("ready"==arguments[0]){if(this[0]!==document)return a.apply(this,arguments),this;"string"!=typeof arguments[1]&&arguments[1].bind(document)(s)}if(this[0]===window){function e(e){return e.split(" ").map(e=>"load"===e||0===e.indexOf("load.")?"w3-jquery-load":e).join(" ")}"string"==typeof arguments[0]||arguments[0]instanceof String?arguments[0]=e(arguments[0]):"object"==typeof arguments[0]&&Object.keys(arguments[0]).forEach(t=>{Object.assign(arguments[0],{[e(t)]:arguments[0][t]})[t]})}return a.apply(this,arguments),this},e.allJQueries.push(s)}t=s}})}async execute_domcontentloaded(){this.domReadyFired=!0,await this.repaint_frame(),document.dispatchEvent(new Event("w3-DOMContentLoaded")),await this.repaint_frame(),window.dispatchEvent(new Event("w3-DOMContentLoaded")),await this.repaint_frame(),document.dispatchEvent(new Event("w3-readystatechange")),await this.repaint_frame(),document.w3onreadystatechange&&document.w3onreadystatechange()}async execute_window_load(){await this.repaint_frame(),setTimeout(function(){window.dispatchEvent(new Event("w3-load"))},100),await this.repaint_frame(),window.w3onload&&window.w3onload(),await this.repaint_frame(),this.allJQueries.forEach(e=>e(window).trigger("w3-jquery-load")),window.dispatchEvent(new Event("w3-pageshow")),await this.repaint_frame(),window.w3onpageshow&&window.w3onpageshow()}exe_document_write(){let e=new Map;document.write=document.writeln=function(t){let s=document.currentScript,a=document.createRange(),i=s.parentElement,r=e.get(s);void 0===r&&(r=s.nextSibling,e.set(s,r));let n=document.createDocumentFragment();a.setStart(n,0),n.appendChild(a.createContextualFragment(t)),i.insertBefore(n,r)}}async repaint_frame(){return new Promise(e=>requestAnimationFrame(e))}static execute(){let e=new w3_loadscripts(["keydown","mousemove","touchmove","touchstart","touchend","wheel"]);e.load_fonts(e.w3_fonts),e.user_events_add(e),e.excluded_js||e.hold_jquery(e),e.w3_lazy_load_js||(e.scripts_load_fire=1,e.triggerListener_on_load());let t=setInterval(function e(s){null!=document.body&&(document.body.getBoundingClientRect().top<-30&&s.triggerListener(),clearInterval(t))},500,e)}}setTimeout(function(){w3_loadscripts.execute()},1e3);</script>
3
4    
5    
6    <meta charset="utf-8">
7    <meta http-equiv="x-ua-compatible" content="ie=edge">
8    <!-- Add meta viewport to responsive on tablet and mobile -->
9    <meta name="viewport" content="width=device-width, initial-scale=1.0">
10
11    <link rel="stylesheet" type="text/css" href="/themes/newPainting/css/responsive_index.css?v=20261001024510" />
12
13<link rel="stylesheet" href="https://www.paintyourlife.com/cache/all-css/11ef72343f8aea23175f68d537a4e885.css" />
14<link rel="stylesheet" href="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/css/optimize/chat_widget.css" />
15<link rel="stylesheet" href="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/css/slick.css" />
16<link rel="stylesheet" href="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/css/slick-theme.css" />
17<link rel="stylesheet" href="https://www.paintyourlife.com/cache/all-css/e46230a89979ff975c9d27a7a6988544.css" />
18
19
20
21
22<link rel="stylesheet" href="https://www.paintyourlife.com/cache/all-css/3cee347409629f37e1422768f1a4a066.css" />
23<title>PaintYourLife - Login</title>
24    <meta content="en" name="language">
25    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
26
27            <meta name="p:domain_verify" content="db8e91eb49f2f57202e7cfb6cd26fea0"/>
28    
29    <meta name="description" content="PaintYourLife - Login"/>
30
31    <!-- Prevent auto create telephone link from string -->
32    <meta name="format-detection" content="telephone=no">
33
34    
35            <meta name="robots" content="noindex">
36    
37    
38    
39    
39<script>
40    var hasCouponApplied = 0;
41    window.hasCouponApplied = hasCouponApplied;
42</script>
42
43
44<link rel="preconnect" href="https://cdn.omniconvert.com" crossorigin>
45<link rel="preconnect" href="https://app.omniconvert.com" crossorigin>
46<link rel="dns-prefetch" href="//cdn.omniconvert.com">
47<link rel="dns-prefetch" href="//app.omniconvert.com">
48
49
50<script>
51    window._mktz = window._mktz || [];
52    _mktz.push('suppressOptin');
53
54    (function() {
55        var s = document.createElement('script');
56        s.src = 'https://cdn.omniconvert.com/js/l2ac3ab.js';
57        s.async = true;
58
59        s.onload = function() {
60            window.__omniSdkLoaded = true;
61        };
62
63        s.onerror = function() {
64            window.__omniSdkBlocked = true;
65        };
66
67        window.omni_loaded = function() {
68            window.__omniSdkReady = true;
69        };
70
71        document.head.appendChild(s);
72    })();
73</script>
73
74
75
76    <meta name="google-site-verification" content="VBBzUPYjC4EmFq80F-_a3d4X0DCjSJtfYUXMlHzC_i0"/>
77        <meta property="og:type" content="website" />
78
79    <meta property="fb:app_id" content="164916960259333">
80
81
82    
83<meta property="og:url" content="https://www.paintyourlife.com/user-login.php" />
84    <meta property="og:title" content="PaintYourLife - Login"/>
85
86    <meta property="og:description" content="PaintYourLife - Login"/>
87
88
89    <meta property="og:image:secure_url" content="https://dqhvdmwzk0rbb.cloudfront.net/pylweb/painting/meta-img-ptp.jpg" />
90    <meta property="og:image" content="https://dqhvdmwzk0rbb.cloudfront.net/pylweb/painting/meta-img-ptp.jpg"/>
91    <meta property="og:image:type" content="image/jpeg" />
92    <meta property="og:image:width" content="1200"/>
93    <meta property="og:image:height" content="630"/>
94
95
96            <link rel="canonical" href="https://www.paintyourlife.com/user-login.php" />
97        <!--DEV-3862-->
98    <link rel="preconnect" href="https://dqhvdmwzk0rbb.cloudfront.net">
99    <link rel="dns-prefetch" href="https://dqhvdmwzk0rbb.cloudfront.net">
100    <link rel="preconnect" href="https://d3pru31cczhtkp.cloudfront.net">
101    <link rel="dns-prefetch" href="https://d3pru31cczhtkp.cloudfront.net">
102
103    <link rel="icon" type="image/svg+xml" href="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/favicon_ptp.svg">
104
105
106    <link href="https://www.paintyourlife.com/themes/newPainting/font/BebasNeue.otf" crossorigin="anonymous" as="font">
107
108    <!--
109            <link rel="preload" href="" as="image">
110        -->
111    <!-- Place favicon.ico in the root directory -->
112    <link rel="dns-prefetch" href="//fonts.googleapis.com">
113    <link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin>
114    <!--<link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,700,400italic,600italic&display=swap' rel='stylesheet' type='text/css'>-->
115    <link rel="preload" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,700,400italic,600italic&display=swap" as="style">
116    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,700,400italic,600italic&display=swap" media="print" onload="this.media='all'">
117    <noscript>
118        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,700,400italic,600italic&display=swap">
119    </noscript>
120    <!--<link href="/css/lib/highslide.min.css" rel="stylesheet" type="text/css"/>-->
121    <!--<link rel="stylesheet" href="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/css/normalize.css">
122    <link rel="stylesheet" href="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/css/main.css">-->
123    <link rel="stylesheet" href="https://www.paintyourlife.com/cache/all-css/75e680ece6a172f59d710e84ee66108e.css" />
124    <link rel="stylesheet" href="https://www.paintyourlife.com/cache/all-css/cbf76e5ead300614c120990c6cf8bb60.css" />
125
126        <!--<link rel="stylesheet" href="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/css/bootstrap5.min.css" />-->
127    <!--<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css" />-->
128    <link rel="preload" href="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/css/bootstrap5.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
129    <noscript><link rel="stylesheet" href="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/css/bootstrap5.min.css" /></noscript>
130
131    <link rel="preload" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
132    <noscript><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css" /></noscript>
133
134    <link rel="preload" href="/themes/newPainting/css/style.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
135    <noscript><link rel="stylesheet" href="https://www.paintyourlife.com/cache/all-css/a2dfb22964c9a613534e90175957d00c.css" /></noscript>
136            
137            <!--<link rel="stylesheet" href="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/css/global-custom.css">-->
138    
139
140    <link rel="stylesheet" href="https://www.paintyourlife.com/cache/all-css/289ee0d760c2d87613944a5bcfc42646.css" />
141
142    <style>
143        /* New verions for mobile order process */
144            </style>
145
146    
146<script>
147        var checkingCouponText = 'Checking ...';
148        var applyCouponText = 'Apply';
149        var isDev = false;
150        var isLiveServer = true;
151        var isPYL = true;
152        var useGTM = false;
153        var fbAPI = '164916960259333';
154        var fbApiVer = 'v23.0';
155        var tmpPriceStr = '$0';
156        var currencyCode = '1';
157        var linkSendInviteOrder = 'https://www.paintyourlife.com/inviteOrder.php';
158        var linkCheckEmailInKlaviyo = 'https://www.paintyourlife.com/site/checkEmailInKlaviyo';
159        var linkAddAttentivePopupLog = 'https://www.paintyourlife.com/logsSite/addAttentivePopupLog';
160        var setCloseSessionUrl = 'https://www.paintyourlife.com/site/setCloseSession';
161        var processDynamicPromotionsGoogle = 'https://www.paintyourlife.com/site/processDynamicPromotionsGoogle';
162        var currentJwtOffer = '';
163        var cur_sym = '$';
164        var loginUrl = 'https://www.paintyourlife.com/login.php';
165        var forgotPassUrl = 'https://www.paintyourlife.com/forgot_password.php';
166        var dashboardUrl = 'https://www.paintyourlife.com/account-dashboard.php';
167        var checkoutUrl = 'https://www.paintyourlife.com/checkout-v2.php';
168        var subscribeMailChimpUrl = 'https://www.paintyourlife.com/subscribeMailChimp.php';
169        var imageUrl = 'https://www.paintyourlife.com/common/uploads/';
170        var imageThumbnailUrl = 'https://www.paintyourlife.com/common/uploads/thumbnails/';
171        var CLOUDFRONT_SAVEDCART_URL = 'https://d3pru31cczhtkp.cloudfront.net/';
172        var CLOUDFRONT_NEWPYL_URL = 'https://dqhvdmwzk0rbb.cloudfront.net/';
173        var imageUploadActionUrl = 'https://www.paintyourlife.com/upload.php';
174        var remove_cart_url = "https://www.paintyourlife.com/removeCart.php";
175        var remove_frame_url = "https://www.paintyourlife.com/site/removeFrameCart";
176        var calcTmpPricesUrl = "https://www.paintyourlife.com/calcTmpPrices.php?rID=&iID=";
177        var fromUSA = '1';
178        var fromUK = '0';
179        var fromCAD = '0';
180        var depositPercent = '20';
181        var depositDecimal = '0.2';
182        var expressPercent = '0.15';
183        var expressDecimal = '15';
184        var customer_email_order = '';
185        var SesID = 'j13vukf5skufc84hs78071db1f9g7q013ooegrj4j8hdvoes';
186        var showPopupPassword = '0';
187        var curLangCode = 'en';
188        var allowSessionStorage = true;
189        var enableNoScriptComponents = true;
190        var resView = 'true';
191        var show_new_first = '0';
192        var isOptimizedMode = '1';
193        var testTracking = '0';
194        var webpSupport = '1';
195        var pylToken = "88c6850c5883fff395b53a7ca814b41bb1d94b01";
196        var enableZeroBounce = 1;
197        var enableOrderEmailPopupOnStep4 = 0;
198        var enableDisableValidateZeroBounceEmail = 0;//DEV-2145
199        var enableExpressServiceUnificationOnTheCartPage = 0;//DEV-2444
200        var enableUpdateLogoForGreetingCard = 1;//DEV-2467
201        var enableAddCheckMarkUnderUploadButton = 0;//DEV-2561
202        // DEV-2661
203        var hasPaymentFullSession = 0;//DEV-2661
204        var enablePaymentFullOnCart = 1;//DEV-2661
205        // DEV-2698
206        var enableRework100UpfrontPayment = 1;//DEV-2698
207        // DEV-2698 Paypal 20%
208        var enableRework100UpfrontPaymentAndPaypal20 = 1;//DEV-2698 Paypal 20%
209        //DEV-2633
210        var enableTestArtworkSection = 1;//DEV-2633
211        //DEV-2796
212        var enableInitialDepositRework100Upfront = 1;//DEV-2796
213        //DEV-2796
214        var enableInitialDepositUpfrontPaypal20 = 0;//DEV-2796
215        //DEV-2796
216        var enableInitialDeposit10Percentage = 1;//DEV-2796
217
218        // DEV-2833
219        var enableOneUploadOrderStep3 = 1;
220
221        // DEV-2991 - variant 2
222        var enableOrderNewProcessSwap34StepShowContactDetailStep4 = 1;
223
224        var enableShoppingCart3147 = 1;
225
226        // DEV-3038
227        var enableAffirmDirectly = 1;
228
229        // DEV-3256
230        var enableNewSubcribe = 1;
231        // DEV-3435 + DEV-3537
232        var enableOrderOnePage = 0;
233        var enableOrderOnePageV2 = 0;
234        var enableOrderOnePageV3 = 0        //DEV-3531
235        var enableSplitOrder = 0;
236        var enableSplitOrderV2 = 0;
237        var enableSplitOrderV2Medium = 0;
238        var enableSplitOrderV3 = 0;
239        var enableSplitOrderNonUS = 0;
240        //DEV-3538
241        var enableSplitCart = 0;
242        //DEV-3665
243        var enableTestStepSize = 1;
244
245        // https://paintyourlife.atlassian.net/browse/DEV-2602?focusedCommentId=30907
246        var trackingAddVideoFromEmail = 0;
247
248        
249        var excludingJS = 1;
250
251        /** --- order page --- */
252var m_order_confirmChangeSendType = 'Are you sure you would like to remove the image you have uploaded / imported and send us your photo by email / mail instead?';
253
254/* upload */
255var m_order_uploadDirect = 'Direct Upload';
256var m_order_uploadPreviewImage = 'Your image looks great!!!';
257var m_order_uploadPreviewOtherFile = 'Preview not available for this file type';
258var m_order_uploadAcceptFileTypes = '(.gif, .jpeg, .png, .bmp, .pdf, .doc, .docx)';
259var m_order_uploadOnlyAcceptText = 'only accept' ;
260var m_order_uploadInvalidFileTypes = 'Invalid file type';
261var m_order_uploadError = 'Something went wrong.. Please try again.';
262var m_order_uploadBrowse = 'Browse';
263
264var m_order_uploadText = "Your photo looks";
265var m_order_uploadTexts = 'Your photos look';
266var m_order_greatText = 'great!';
267var m_order_greatTexts = 'Great!';
268
269var m_order_uploadedText = 'Your chosen photo';
270var m_order_uploadedTexts = 'Your uploaded photos';
271
272/** limit */
273var m_order_commentLimit = 'You have &lt;strong&gt;{characterCount}&lt;/strong&gt; characters remaining';
274
275/** --- order page.end here --- */
276var m_cart_couponInvalid = 'Invalid coupon code';
277var m_cart_couponcode1 = 'Total price for all item in cart';
278var m_cart_couponcode2 = '(not include shipping cost) must be larger';
279var m_cart_couponcode3 = 'Total price for all items in cart must be larger than {minamt}';
280var m_highslight_move = 'Move';
281var m_highslight_close = 'Close';
282var m_highslight_clossTip = 'Close (esc)';
283var m_contact_us_alert = 'None of the above. Let me fill in a contact form.';
284var m_enable_cookies1 = 'You must have cookies enabled in your browser in order to place an order at PaintYourLife.com';
285var m_enable_cookies2 = 'After you enable cookies, please refresh the page.';
286var m_note_enable_cookies = 'Note:';
287var m_cart_confirm_delete = 'Photo uploaded for this item will be deleted?';
288var zopim_chat = 'Chat with us';
289var zopim_leave = 'Leave us a message';
290var select_please = 'Please Select';
291var out_us = 'Outside the U.S';
292var state_text = 'State';
293var limit_upload = "Please upload up to 50 photos.";
294var from_text = "From ";
295var discount_percentage_text = '<span class="price-name">Discounted</span><span class="sel-price"></span><span class="price-actual">{discount}%</span>';
296var discount_percentage_text = '<span class="price-name">Discounted</span><span class="sel-price"></span><span class="price-actual">{discount}%</span>';
297
298var m_zero_bounce_email_invalid = 'Your email is invalid or not available';
299                // DEV-3956
300        var newDesktopOrderProcess = 1;
301    </script>
301
302
303    
303<script>
304        var excludingJS = 1;
305
306        function checkAllowSessionStorage() {
307            var test = 'test';
308            try {
309                sessionStorage.setItem(test, test);
310                sessionStorage.removeItem(test);
311                return true;
312            } catch(e) {
313                return false;
314            }
315        }
316
317        if (checkAllowSessionStorage() === true) {
318            allowSessionStorage = true;
319        } else {
320            console.log('checkAllowSessionStorage | denied');
321            allowSessionStorage = false;
322        }
323    </script>
323
324
325    <!-- Cookie Functions -->
326    
326<script type="application/javascript">
327        var excludedOptimizeJS = excludedOptimizeJS || [];
328        excludedOptimizeJS.push('cookieFuncs');
329
330        if ('undefined' === typeof readCookie) {
331            window.readCookie = function(name) {
332                var nameEQ = name + "=";
333                var ca = document.cookie.split(';');
334                for (var i = 0; i < ca.length; i++) {
335                    var c = ca[i];
336                    while (c.charAt(0) == ' ') c = c.substring(1, c.length);
337                    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
338                }
339                return null;
340            }
341        }
342
343        if ('undefined' === typeof createCookie) {
344            window.createCookie = function(name, value, days) {
345                if (days) {
346                    var date = new Date();
347                    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
348                    var expires = "; expires=" + date.toGMTString();
349                } else {
350                    var expires = "";
351                }
352
353                document.cookie = name + "=" + value + expires + "; path=/";
354            }
355        }
356
357        createCookie("ss_cookie_check", 1);
358
359        if ('undefined' === typeof pencilClick) {
360            window.pencilClick = function () {};
361        }
362    </script>
362
363    <!-- Cookie Functions -->
364
365    <style>iframe#launcher {bottom: -100px !important;}</style>
366
367    <!-- JS Pixels Header -->
368        <!-- Google Analytics -->
369    
369<script defer>
370        var userId = 0;
371        //var userIdVwo = '';
372
373        //google analytics split domain
374        /*
375            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
376                (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
377                m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
378            })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
379        */
380        //Re: VWO Re: (#309274) Re: A call (email)
381        /*function getUserId() {
382            return userIdVwo;
383        }*/
384    </script>
384<!-- Google Analytics -->
385    
386<script>
387    window.gtmLog = false;
388    window.gtmData = {
389        user: {"event":"userStatus","userStatus":"Guest","device":"Desktop","pageType":"UserLogin"}    };
390</script>
390
391
392            <!-- Google Tag Manager -->
393        
393<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
394                    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
395                j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
396                '/pyl-tag/?id='+i+dl;f.parentNode.insertBefore(j,f);
397            })(window,document,'script','dataLayer','GTM-57HFH9');</script>
397
398        <!-- End Google Tag Manager -->
399    
400    
400<script>
401        // Fix issue with GTM overwriting replaceState, causing url changes in IE and Edge browsers.
402        function fixHistoryMethod(name) {
403            var oldMethod = window.history[name];
404            window.history[name] = function(state, title, url) {
405                if (url === undefined) {
406                    oldMethod.apply(window.history, [state, title]);
407                } else {
408                    oldMethod.apply(window.history, [state, title, url]);
409                }
410            }
411        }
412
413        fixHistoryMethod("replaceState");
414        fixHistoryMethod("pushState");
415    </script>
415
416    <!-- Start cookieyes banner -->
417    
417<script id="cookieyes" type="lazyload_int" data-src="https://cdn-cookieyes.com/client_data/d5d8ab0d8909b137ec4c0bc7312bc24b/script.js" ></script>
417
418    <!-- End cookieyes banner -->
419<script>
420    (function(c,l,a,r,i,t,y){
421        c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
422        t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
423        y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
424    })(window, document, "clarity", "script", "p9ll6ktn6i");
425</script>
425
426
427<script>
428    if ('function' == typeof window.clarity) { //isLiveServer
429        clarityCustomIdentifiers = function (customUserEmail = '', customSessionId, customPageId = '') {
430            if (customUserEmail) {
431                window.clarity("identify", customUserEmail, customSessionId, customPageId);
432                clarityCustomTags('Email', customUserEmail);
433            } else {
434                window.clarity("identify", customSessionId, customSessionId, customPageId);
435            }
436            clarityCustomTags('Session', customSessionId);
437            //console.log('[Clarity identify]', customUserEmail, customSessionId);
438        };
439
440        clarityCustomTags = function (key, value) {
441            window.clarity("set", key, value);
442            //console.log('[Clarity tag]', key, value);
443        }
444
445        if ('function' == typeof clarityCustomIdentifiers) {
446            if (typeof customer_email_order !== "undefined") {
447                clarityCustomIdentifiers(customer_email_order, SesID, "userLogin");
448            }
449        }
450
451            }
452</script>
452    <!-- https://paintyourlife.atlassian.net/browse/DEV-2929 -->
453    
453<script async="" type="text/javascript" src="https://umzpj.paintyourlife.com/providers/atLabel/load" onerror="var fallbackScript = document.createElement('script'); fallbackScript.src='https://cdn.attn.tv/paintyourlife/dtag.js'; document.head.appendChild(fallbackScript);" ></script>
453
454
455<!-- [End] JS Pixels Header -->
456    
456<script defer="defer" type="lazyload_int" data-src="//widget.trustpilot.com/bootstrap/v5/tp.widget.sync.bootstrap.min.js" ></script>
456
457    
458            <!-- Schema Data -->
459        
459<script type="application/ld+json">{"@context":"http:\/\/schema.org","@type":"Organization","url":"https:\/\/www.paintyourlife.com\/user-login.php","image":"","name":"PaintYourLife - Login","telephone":"+1 888-600-3799","address":"PaintYourLife, 340 S LEMON AVE #2346, WALNUT, CA 91789 UNITED STATES","sameAs":["https:\/\/www.instagram.com\/paintyourlife\/","https:\/\/www.youtube.com\/user\/PaintYourLifeArt","https:\/\/pinterest.com\/paintyourlife12\/","https:\/\/www.facebook.com\/Paintyourlife\/","https:\/\/www.tiktok.com\/@paintyourlife\/","https:\/\/www.facebook.com\/groups\/paintyourlifestories\/"]}</script>
459
460        <!-- Schema Data -->
461    
462    
463    <!--
463<script src="https://cdn.userway.org/widget.js" data-account="Nuk9771z4r"></script>
463-->
464    <style id="w3_bg_load">div:not(.w3_bg), section:not(.w3_bg), iframelazy:not(.w3_bg){background-image:none !important;}</style><style id="w3speedster-custom-css">.trustmark-ft {   justify-content: left;   padding-left: 10px;   padding-top: 3px;   align-items: center;   text-align: center; } .trustedsite-trustmark{   width: 74px;   height: 30px;   display: inline-block;   background-image: url(https://cdn.ywxi.net/meter/paintyourlife.com/202.svg?ts=1661566661115&l=en-US);   background-size: contain;   background-position: center top;   background-repeat: no-repeat;   cursor: pointer; } @media screen and (min-width: 1200px){ #content.how-it-works .steps.hiw-infos {   padding: 0 40px; } .info-item {   margin: -35px 0; } .info-item:first-child {   margin: 0; } } @media (min-width: 768px) {   .res-view .item-sc-v3 .showcase_item .bg_title--full_name.has-reveal-video, .res-view .item-sc-v3 .showcase_item:hover .bg_title--full_name.has-reveal-video {  margin-right: 30px;   }   .sc-v3-header .font-baselight {  font-size: 48px;  padding-top: 15px;  color: #000;  font-weight: unset;  font-family: BebasNeue;   }   .sc-v3-header .font-source {  font-size: 25px;  line-height: 1.2;   }   #showcase_content .item-sc-v3 .showcase_item:hover .bg_title_hover {  padding-top: 0;   }   .item-sc-v3 .block_button {  margin-top: 0;   }   .sc-v3-full .product-info-sc-v3 {  margin-left: 2.5%;  float: unset;  width: 95%;   }   .item-sc-v3 .bg_title.has-msg {  padding: 2% 4% 1%;   } .sc-v3-full .showcase_header {   float: unset;   width: 95%;   border-bottom: unset; } .content-step {   width: 100%; } .language_en .hiw-infos .info-content .info-title {   font-family: 'Bebas Neue';   letter-spacing: 1px;   font-size: 40px; } .hiw-infos .info-content .info-title {   text-transform: uppercase;   font-weight: 600;   font-size: 30px;   color: #4f4f4f; } .info-item.step-left .image-info img {   margin-right: 35px; } .info-item.step-right .image-info img {   margin-left: 35px; } } .wrapper-full.sc-v3-full {   max-width: 100%; } .block-sc-v3 {   display: flex;   width: 100%;   height: 95px; } .block-sc-v3 .summary-item {   width: 20%;   display: flex;   align-self: center;   place-content: center; } .block-sc-v3 .note-price-showcase {   width: 48%;   display: flex;   flex-direction: column;   justify-content: center;   align-items: center;   border-left: 1px solid #ccc;   text-align: center; } .order_info .block-sc-v3 .right .btn-photo.pink-background {   margin: 20px 0;   padding: 10px 15px;   max-width: 300px; } .showcase_hidden .order_info .showcase-custom .medium-showcase {   margin-bottom: 25px;   margin-top: 25px; } .order-info-v3 .order-table {   margin: 5px 0; } .order-info-v3 .order-table table {   background-color: #f2f2f2;   height: 95px; } .order_info table {   width: 100%; } .order-info-v3 .order-table table {   background-color: #f2f2f2;   height: 95px; } .order_info .framing_text, .order_info .medium_text, .order_info .subject_text, .size_text {   float: left;   padding: 2% 5%;   width: 100%; } .order_info.order-info-v3 .block1.block1-v2 td {   border-bottom: 1px solid #ccc; } .order_info td .subject_text {   padding: 4px 11px; } .order_info.order-info-v3 .block1 td, .order_info.order-info-v3 .block2 td {   border-right: 1px solid #ccc; } .order_info.order-info-v3 {   border: unset;   border-top: 1px solid;   border-bottom: 1px solid; } .sc-v3-full .sort-group.has-artist-list.new-showcase-header-dtv1 .sort_theme, .sc-v3-full .sort-group.has-artist-list.new-showcase-header-dtv1 .sort_style, .sc-v3-full .sort-group.has-artist-list.new-showcase-header-dtv1 .sort_artist {   margin-top: 2%; } @media (min-width: 801px) and (max-width: 979px) { .desktop-only #top-video{height:310px!important;} .wrapper-full {   max-width: 790px!important; }} .showcase_header .select_right.new-showcase-header-dtv1 {   padding: 0 20%; } #content .sc-v3-full .head_title {   font-size: 60px; } .sc-v3-full .sort_mediums, .sc-v3-full .empty-showcase-message {   margin: 0 2.5%; } .block-sc-v3 .deposit_text.font18px {   font-size: 22px;   line-height: 1.1; } .block-sc-v3 .note-price-showcase .small {   font-size: 16px;   line-height: 1; } .block-sc-v3 .right {   width: 25%; } .sc-v3-full .sort-group.has-artist-list .sort_theme, .sc-v3-full .sort-group.has-artist-list .sort_style, .sc-v3-full .sort-group.has-artist-list .sort_artist {   margin-top: 3%; } .sc-v3-full .order_info .framing_text, .sc-v3-full .order_info .medium_text, .sc-v3-full .order_info .subject_text, .sc-v3-full .size_text {   padding-left: 60px; } .info-item .image-info img {   max-width: 265px; } .dijitTooltip {   z-index: 1 !important; } .occasion-video-banner .images-artist-new-pets, .occasion-video-banner .title-block-v5 .h1-style {   display: none; } .index-page.index-landing-v2-slider .images-artist-new-pets, .index-page.index-landing-v2-slider #to
464p-static-banner .title-block-v5 .h1-style {   display: none; } #test-hss{display:none;} .carousel-controls {   background: none;   border: none; } .slider.slider-temp {  max-width: 100%; } .slick-track{min-width: width: 8448px;} @media (min-width: 450px) { #hpau-fb-items .card-body {min-width:100%; } } .hpau-item {   min-width: 295px; } .btn-order-small {   font-size: 16px;   line-height: 20px;   border-radius: 4px;   letter-spacing: -0.4px; } .btn-orange {   background-color: #ff9c00;   border-radius: 5px;   padding: 8px 15px; } #showcase_content .panorama .front {   height: 400px;   overflow-x: scroll;   overflow-y: hidden; } #showcase_content .panorama .front img {   width: unset;   height: 100%; } @media (max-width:575px) { .photo-canvas .showcase_item.flip-images.popart_style.panorama .front {   height: auto; } .btn-order-header, .btn-resume-order {   margin: 15px 0 0 15px; } .orange_button {   border-radius: 5px;   padding: 8px 15px;   display: block; }} @media only screen and (max-width: 767px){ #price_content .left_content {  width: 100% !important; } .top-header.mobile-only {   display: block;   color: #fff;   text-align: center; } .res-view .order-content-v2 .font16px {   font-size: 18px; } .step-header.step1 {   background-color: #bca583; } .step-header {   text-align: center;   color: white;   margin-top: 12px;   padding: 10px;   line-height: 1; } .top-banner-new.slides-banner video.mobile-only { height: 100% !important; min-height: 124.3vw !important; display:block!important; } } @media screen and (min-width: 1200px) and (max-width: 1919px) {   .pricing-v5 .payment-pay-img img {  height: 34px;   } } .footer .countries span:nth-child(2){ width:100%; display: inline-flex; } .footer .currency span:nth-child(1){ display:inline-block; left:0px; } .footer .currency span:nth-child(2){ width:100%; display: inline; padding-left: 3px; } .dropdownselect{   display: inline-flex;   margin-top: 0px!important;   padding-top: 2px!important; } #main_header .btn-resume-order {   margin: 15px 0 0 15px;   display: block; } #main_header .orange_button {   padding: 8px 15px; } .btn-showcase.btn-turnaround-v2 {   color: white;   padding: 8px 64px !important;   top: 21px; } .index-2021 .btn-showcase.btn-turnaround, .index-2021 .btn-showcase.btn-turnaround-v2 {   position: unset;   margin-left: 20px; } .btn-viole-new {   background-color: var(--primary-color-v2)!important; } .btn-showcase.btn-viole-new {   background-color: var(--primary-color-v2)!important; } #footer.footer-new-v2 .subscribe-box-new {   background-color: #e8e6e3;   padding: 38px 10px; } #footer.footer-v21 .subscribe-box, #footer.footer-v21 .subscribe-box-new {   color: #000000;   margin-bottom: 20px; } #footer.footer-new .subscribe-form .button_font16 {   height: 38px;   width: 222px !important; } #footer.footer-new .subscribe-form .form-control, #footer.footer-new .subscribe-form .btn {   margin-bottom: 15px; } #footer.footer.footer-new .button_font16 {   font-size: 16px !important; } .subscribe-title-v3 {   font-size: 22px; } #footer.footer-new-v2 #before-subscribe .subscribe-box-new-subtitle {   color: black;   font-size: 18px; } #footer.footer-new-v2 .custom-input-group {   border-radius: 8px;   border: 1px solid rgb(118, 118, 118);   padding: 0px 24px;   background-color: white;   margin-bottom: 12px; } #footer.footer-new-v2 .custom-input-group .custom-input-title {   margin-bottom: -7px !important;   text-align: left;   color: rgb(166, 166, 166); } #footer.footer-new-v2 .custom-input-group .form-control {   border: none !important;   outline: none !important;   box-shadow: none !important;   padding: 0 !important;   margin-bottom: 0 !important; } .occasion_gallery_3668 .hpau-item {   min-width: 295px; }</style></head>
465<body class="photo-canvas new-painting     dev-3956   language_en  currency_usd currency_symbol   "  data-cur-code="usd" data-is-mobile="0">
466<div class="bm-overlay"></div>
467<!--URGENT: Updating GTM/gtag snippet for PYL-->
468<!-- Google Tag Manager (noscript) -->
469<!--<noscript><iframe title="Painting Google Tag Manager" src="https://www.googletagmanager.com/ns.html?id=" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>-->
470<!-- End Google Tag Manager (noscript) -->
471
472<div class="chat-widget" style="display: none;">
473            <style>
474            .chat-widget {
475                position: fixed;
476                z-index: 9998;
477                right: 7px !important;
478                bottom: 7px;
479            }
480
481            @media (max-width: 750px) {
482                .chat-widget {
483                    left: inherit !important;
484                    right: 7px !important;
485                    bottom: 85px;
486                    position: fixed;
487                    z-index: 1984;
488                }
489            }
490        </style>
491    
492    <div class="message-zp-btn zp-btn" tooltip="Chat with us"
493         tooltip-position="left" role="complementary" aria-label="Chat support">
494
495                    <span class="contain-chat-icon">
496                <img data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://dqhvdmwzk0rbb.cloudfront.net/pylweb/painting/commitment/chat_violet.png" alt="Chat with a customer support agent.">
497            </span>
498            </div>
499</div>
500
501<script>
502    var currentCustomer = {email: null, name: null};
503
504    
505    window.wgChat = {
506        isMobileDevice: '0',
507        wgcDelayLoading: '1',
508        buttons: {},
509        initied: false,
510        setCustomerInfo: function () {
511            if (typeof zE === 'function' && currentCustomer.email) {
512                zE(function () {
513                    zE.identify({name: currentCustomer.name, email: currentCustomer.email});
514                });
515            }
516        },
517        setLocale: function () {
518            if (typeof zE === 'function') {
519                zE('webWidget', 'setLocale', 'en');
520            }
521        },
522        zopimShow: function () {
523            if ('function' === typeof $zopim && 'object' === typeof $zopim.livechat && 'object' === typeof $zopim.livechat.window) {
524                wgChat.setCustomerInfo();
525                wgChat.setLocale();
526                $zopim.livechat.window.show();
527            } else {
528                console.log('[ZOPIM] is not loaded properly, trying to load it again');
529                var node = document.createElement('script');
530                node.src = 'https://static.zdassets.com/ekr/snippet.js?key=e4f56e11-447e-4c2a-ab28-590fb8d32127';
531                node.id = 'ze-snippet';
532                document.getElementsByTagName('head')[0].appendChild(node);
533
534                setTimeout(function () {
535                    console.log('[ZOPIM] try to open again', typeof $zopim);
536                    if ('function' === typeof $zopim && 'object' === typeof $zopim.livechat && 'object' === typeof $zopim.livechat.window) {
537                        wgChat.setCustomerInfo();
538                        wgChat.setLocale();
539                        $zopim.livechat.window.show();
540                    }
541                }, 1000);
542            }
543        },
544        initEvents: function () {
545            // remove the department dropdown on prechat widget
546            window.zESettings = {
547                webWidget: {
548                    chat: {
549                        departments: {
550                            enabled: []
551                        }
552                    }
553                }
554            };
555
556            if ('function' === typeof $) {
557                if (this.isMobileDevice) {
558                    $('.chat-widget:hidden').show();
559                }
560                $(document).on('click', '.message-btn', function () {
561                    var widget = $('.chat-contain');
562                    if (widget.is(":visible")) {
563                        widget.hide();
564                    } else {
565                        widget.show(200);
566                    }
567                });
568
569                $(document).on('click', '.zp-btn', function () {
570                    window.wgChat.zopimShow();
571                });
572            } else {
573                console.log('[wgc] set timeout calling wgc.initevents again');
574                var that = this;
575                setTimeout(function () {
576                    that.initEvents();
577                }, 1000);
578            }
579        },
580        init: function () {
581            if (this.initied) {
582                return false;
583            }
584
585            //console.log('wgc begin loading');
586            this.initEvents();
587            this.initied = true;
588        }
589    }
590
591    // DEV-1850
592    var waitForZopim = setInterval(function () {
593        if (window.$zopim === undefined || window.$zopim.livechat === undefined) {
594            return;
595        }
596
597        $zopim(function () {
598            $zopim.livechat.window.onShow(function () {
599                $('.contain-chat-icon').hide();
600                $('.chat-bubble-pink').hide();
601            });
602            $zopim.livechat.window.onHide(function () {
603                $('.contain-chat-icon').show();
604                $('.chat-bubble-pink').show();
605            });
606        });
607
608        clearInterval(waitForZopim);
609    }, 100);
610
611    /*if (1 == window.wgChat.wgcDelayLoading) {
612        window.wgChat.init();
613        initDidyouknowBubble();
614    } else {
615        window.addEventListener('load', function () {
616            window.wgChat.init();
617            initDidyouknowBubble();
618        });
619    }*/
620    window.addEventListener('load', function () {
621        window.wgChat.init();
622        initDidyouknowBubble();
623    });
624
625    /**
626     * init event for did you know block (bubble icon, popup text)
627     */
628    function initDidyouknowBubble() {
629        if ('function' === typeof $) {
630            //console.log('init did you know bubble');
631            var $body = $('body');
632            var $didYouKnowPopup = $('#did-you-know-popup');
633            var $divFadeIn = $('<div class="modal-backdrop fade in did-you-know-fade"></div>');
634
635            $('#did-you-know-bubble').show();
636
637            $body.on('click', '#did-you-know-bubble', function () {
638                $didYouKnowPopup.fadeIn();
639                $body.append($divFadeIn);
640            });
641
642            $body.on('click', '#did-you-know-popup .close', function () {
643                $didYouKnowPopup.fadeOut();
644                $body.find('.did-you-know-fade').remove();
645            });
646
647            $body.on('click', '.did-you-know-fade', function () {
648                $didYouKnowPopup.fadeOut();
649                $(this).remove();
650            });
651        } else {
652            console.log('no jquery init');
653        }
654    }
655</script>
655
656<div id="fb-root"></div>
657
658<div >
659    <!-- Start: The header -->
660    <!--2020-02-25 apply new de header for German(de), French(fr), Italian(it), Spanish(es) and Dutch(nl)-->
661    <!--// DEV-3999-->
662    <header role="banner">
663        
664
665
666    <div id="main_header"
667         class="header-v2      ">
668                    <header id="header" class="435-167774046-10.0.7.94 home2021" role="presentation">
669                <div class="container-fluid clearfix top-header          enable-countdownhead">
670                    
671                        <div class="top-header top-header-table color-violet-new  align-text font-sanspro clr not_login">
672                                                            <div class="top-header-banner-part top-header-banner-left" style="width: 15%;">
673                                                                    </div>
674                            
675                            <!-- Phone and coupon on header -->
676                            
677                                                            <div class="text-primary--v2 font-sanspro-bold ptp top-header-text top-header-banner-part top-header-banner-part-v2  top-header-banner-center has-coupon text-center"
678                                     dir="auto">
679                                    <!-- DEV-2860 - Enable slide for all languages. I don't change the code in enableFatherDayPromotionUpdate because it's using on other files and I am not sure for the change that they will match all case of them. 22 -->
680                                                                            <div class="owl-carousel owl-theme carousel-header-auto">
681                                                                                            <div class="non-uppercase">Free US Shipping | 100% Money Back Guarantee</div>                                                                                                                                        <!-- DEV-2860 - Header slider animation for foreign domains 222-->
682                                                                                                                                </div>
683                                                                    </div>
684                                                        <!-- End Phone and coupon on header -->
685
686                                                        <!-- DEV-3103 - new style for coupon countdown (DON'T change anything from previous tawsk DEV-2656) -->
687                                                        <!-- Get help phone number on header -->
688                                                            <div class="login_link top-header-banner-part top-header-banner-right top-header-banner-right-v3 text-uppercase ">
689                                                                        <div class="text-primary--v2 float-end ">
690                                                                            </div>
691                                </div>
692                                                    </div>
693                                    </div>
694
695                            </header>
696        
697        <a href="#content" id="skip-to-content" class="visually-hidden">Skip to main Content</a>
698
699        
700                    <div class="nav-bar clr">
701                <div class="container-fluid  clearfix">
702                    <div class="logo left col-3 col-sm-3 col-md-3">
703                        <div class="row">
704                            <a href="https://www.paintyourlife.com/" title="PaintYourLife" aria-label="Paint Your Life Homepage">
705                                <img src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/pyl_logo_2023.svg" alt="PaintYourLife" class="no-lazy xmas-logo-2022" fetchpriority="high"
706                                />
707                            </a>
708                        </div>
709                    </div>
710
711                    <nav class="nav-header nav-4-items has-gc-item col-md-6 col-sm-6 col-6 nav-header-no-login nav-header-new-bg">
712    <ul class="font16px font-sanspro "
713        role="menubar"
714        aria-label="Main navigation menu">
715
716                    <li class="showcase_menu_link has_submenu  showcase-menu" style="position: relative" role="presentation">
717                <a id="gallery-menu-trigger" class="gallery_url_new  main_link gallery_url "
718                   href="https://www.paintyourlife.com/showcase.php"
719                   aria-label="Gallery menu item"
720                   role="menuitem"
721                   aria-haspopup="true"
722                   aria-expanded="false"
723                   aria-controls="gallery-submenu-content"
724                >
725                    Gallery                    <span class="active_line"></span>
726                </a>
727                <div id="gallery-submenu-content" class="list_submenu showcase_menu hide-gallery-numbers"
728                     role="menu"
729                     aria-hidden="true"
730                     aria-labelledby="gallery-menu-trigger"
731                >
732                    
733                    <ul class="sub_menu" id="list_styles" role="none">
734                                                    <li class="header-column header-uppercase none-list-style" role="presentation">Specials</li>
735                            <li class="hasNewGallery" role="presentation">
736                                <a href="/photo-montage-people.php" role="menuitem">Compilation Portraits</a>
737                            </li>
738                            <li class="hasNewGallery" role="presentation">
739                                <a href="https://www.paintyourlife.com/painting-from-bad-photos.php" role="menuitem">From Bad Photos to Masterpieces</a>
740                            </li>
741                            <li role="presentation">
742                                <a href="https://www.paintyourlife.com/video-testimonials.php" role="menuitem">Unboxing Videos</a>
743                            </li>
744                            <li role="presentation">
745                                <a href="https://www.paintyourlife.com/photo-testimonials.php" role="menuitem">Photo Testimonials</a>
746                            </li>
747                                                            <li class="hasNewGallery" role="presentation">
748                                    <a href="/our-artists-at-work.php" role="menuitem">Our Artists At Work</a>
749                                </li>
750                                                    
751                                                    <li class="header-column header-uppercase none-list-style" role="presentation">By medium</li>
752                        
753                                                    <li role="presentation">
754                                                                <a href="https://www.paintyourlife.com/oil-portraits.php" role="menuitem">
755                                    Oil                                                                    </a>
756                            </li>
757                        
758                                                    <li role="presentation">
759                                                                <a href="https://www.paintyourlife.com/charcoal-portraits.php" role="menuitem">
760                                    Charcoal                                                                    </a>
761                            </li>
762                        
763                                                    <li role="presentation">
764                                                                <a href="https://www.paintyourlife.com/watercolor-portraits.php" role="menuitem">
765                                    Watercolor                                                                    </a>
766                            </li>
767                        
768                                                    <li role="presentation">
769                                                                <a href="https://www.paintyourlife.com/pencil-portraits.php" role="menuitem">
770                                    Black Pencil                                                                    </a>
771                            </li>
772
773                            <li role="presentation">
774                                                                <a href="https://www.paintyourlife.com/color-pencil-portraits.php" role="menuitem">
775                                    Color Pencil                                </a>
776                            </li>
777                        
778                                                    <li role="presentation">
779                                                                <a href="https://www.paintyourlife.com/pastel-portraits.php" role="menuitem">
780                                    Pastel                                                                    </a>
781                            </li>
782                        
783                                                    <li role="presentation">
784                                                                <a href="https://www.paintyourlife.com/acrylic-portraits.php" role="menuitem">
785                                    Acrylic                                                                    </a>
786                            </li>
787                                            </ul>
788                    <ul class="sub_menu" id="list_themes" role="none">
789                                                    <li class="header-column header-uppercase none-list-style" role="presentation">
790                                By subject                            </li>
791                        
792                        
793                                                    <li role="presentation">
794                                <a href="https://www.paintyourlife.com/parent-child-gallery.p
794hp" role="menuitem">
795                                    Parents & Children                                                                    </a>
796                            </li>
797                            <li role="presentation">
798                                <a href="https://www.paintyourlife.com/subject-grandparents-portraits.php" role="menuitem">
799                                    Grandparents & Grandchildren                                </a>
800                            </li>
801                        
802                                                    <li role="presentation">
803                                                                <a href="https://www.paintyourlife.com/subject-family-portraits.php" role="menuitem">
804                                    Other Family / Group                                                                    </a>
805                            </li>
806                        
807                        <li role="presentation">
808                            <a href="https://www.paintyourlife.com/subject-couples-portraits.php" role="menuitem">
809                                Couples                                                            </a>
810                        </li>
811
812                        <li role="presentation">
813                            <a href="https://www.paintyourlife.com/subject-individual-portraits.php" role="menuitem">
814                                Individuals                                                            </a>
815                        </li>
816
817                        <li role="presentation">
818                                                        <a href="https://www.paintyourlife.com/subject-child-portraits.php" role="menuitem">
819                                Children                                                            </a>
820                        </li>
821
822                        <li role="presentation">
823                                                                                        <a href="https://www.paintyourlife.com/subject-pet
823s-portraits.php" role="menuitem">
824                                Pets                                                                </a>,                                                                    <span class="italic" role="presentation">
825                                                                                <a href="https://www.paintyourlife.com/subject-dogs-portraits.php" role="menuitem">Dogs</a>,
826                                                                                <a href="https://www.paintyourlife.com/subject-cats-portraits.php" role="menuitem">Cats</a>
827                                    </span>
828                                                                                    </li>
829
830                        <li role="presentation">
831                                                        <a href="https://www.paintyourlife.com/subject-wedding-portraits.php" role="menuitem">
832                                Weddings                                                            </a>
833                        </li>
834
835                        
836                                                    <li role="presentation">
837                                                                <a href="https://www.paintyourlife.com/subject-houses-portraits.php" role="menuitem">
838                                    Houses                                </a>
839                            </li>
840                                                                            <li role="presentation">
841                                                                <a href="https://www.paintyourlife.com/gifts-for-loss-of-loved-one.php" role="menuitem">
842                                    Memorial                                </a>
843                            </li>
844                                            </ul>
845
846                                        <ul class="sub_menu" id="list_styles-2" role="none">
847                        <li class="header-column header-uppercase none-list-style" role="presentation">By occasion</li>
848
849                                                    <li role="presentation">
850                                <a href="https://www.paintyourlife.com/birthday-gifts.php" role="menuitem">
851                                    Birthday                                </a>
852                            </li>
853                            <li role="presentation">
854                                <a href="https://www.paintyourlife.com/christmas-gifts.php" role="menuitem">
855                                    Christmas                                </a>
856                            </li>
857                            <li role="presentation">
858                                <a href="https://www.paintyourlife.com/father-day-gifts.php" role="menuitem">
859                                    Father's Day                                </a>
860                            </li>
861                                                            <li role="presentation">
862                                    <a href="https://www.paintyourlife.com/graduation-gifts.php" role="menuitem">
863                                        Graduation                                    </a>
864                                </li>
865                                                    
866                        <li role="presentation">
867                            <a href="https://www.paintyourlife.com/mother-day-gifts.php" role="menuitem">
868                                Mother's Day                            </a>
869                        </li>
870
871                                                    <li role="presentation">
872                                                                <a href="https://www.paintyourlife.com/gifts-for-loss-of-loved-one.php" role="menuitem">
873                                    Loss Of Loved One                                </a>
874                            </li>
875                        
876                        <li role="presentation">
877                            <a href="https://www.paintyourlife.com/pet-loss-memorial-gifts.php" role="menuitem">
878                                Pet Loss                            </a>
879                        </li>
880
881                        <li role="presentation">
882                                                        <a href="https://www.paintyourlife.com/valentine-day-gifts.php" role="menuitem">
883                                Valentine's Day                            </a>
884                        </li>
885
886                                                    <li role="presentation">
887                                <a href="https://www.paintyourlife.com/wedding-anniversary-gifts.php" role="menuitem">
888                                    Wedding Anniversary                                </a>
889                            </li>
890                            <li role="presentation">
891                                <a href="https://www.paintyourlife.com/wedding-gifts.php" role="menuitem">
892                                    Weddings                                </a>
893                            </li>
894                                            </ul>
895                                    </div>
896            </li>
897        
898                    <li role="presentation" class="">
899                <a class="gallery_url_new main_link"
900                   href="https://www.paintyourlife.com/how-it-works.php" role="menuitem">
901                    How it works                    <span class="active_line"></span>
902                </a>
903            </li>
904        
905                                    <li class="showcase_menu_link has_submenu  inspiration-menu" style="position: relative" role="presentation">
906                    <a id="gallery-inspiration-trigger"  class="gallery_url_new main_link gallery_url "
907                       href="https://www.paintyourlife.com/inspiration"
908                       aria-label="Inspiration & Ideas menu item"
909                        role="menuitem"
910                        aria-haspopup="true"
911                        aria-expanded="false"
912                        aria-controls="inspiration-ideas"
913                    >
914                        Inspiration & Ideas                        <span class="active_line"></span>
915                    </a>
916                    <div id="inspiration-ideas" class="list_submenu showcase_menu hide-gallery-numbers"
917                         role="menu"
918                        aria-hidden="true"
919                         aria-labelledby="gallery-inspiration-trigger"
920                    >
921                        <div class="header-column header-uppercase" style="margin-left: 10px;" role="presentation">Inspiration & Ideas</div>
922                        <ul class="sub_menu" id="list_1" role="none">
923                            <li role="presentation">
924                                <a href="/connectgenerations-paintings.php" role="menuitem">
925                                    Connect Generations</a>
926                            </li>
927                            <li role="presentation">
928                                <a href="/bringthefamilytogether-paintings.php" role="menuitem">
929                                    Bring The Family Together</a>
930                            </li>
931                            <li role="presentation">
932                                <a href="/beunique-paintings.php" role="menuitem">
933                                    Be Unique</a>
934                            </li>
935                            <li role="presentation">
936                                <a href="/addawrittenmessage-paintings.php" role="menuitem">
937                                    Add A Written Message</a>
938                            </li>
939                            <li role="presentation">
940                                <a href="/jesus-paintings.php" role="menuitem">
941                                    In The Arms Of Jesus In Heaven</a>
942                            </li>
943                        </ul>
944                        <ul class="sub_menu" id="list_2" role="none">
945                            <li role="presentation">
946                                <a href="/cherishspecialmoments-paintings.php" role="menuitem">Cherish Special Moments</a>
947                            </li>
948                            <li role="presentation">
949                                <a href="/allyourlovedonestogether-paintings.php" role="menuitem">Put All Your Loved Ones Together</a>
950                            </li>
951                            <li role="presentation">
952                                <a href="/completeweddingcelebration-paintings.php" role="menuitem">Complete Your Wedding Celebration</a>
953                            </li>
954                            <li role="presentation">
955                                <a href="/makegraduationdaycomplete-paintings.php" role="menuitem">Make Graduation Day Complete</a>
956                            </li>
957                            <li role="presentation">
958                                <a href="/Enhancewithembellishments-paintings.php" role="menuitem">Enhance With Embellishments</a>
959                            </li>
960                        </ul>
961                    </div>
962                </li>
963                    
964            </ul>
965</nav>
966                    <div class="cart cart-wrapper-v2 right col-3 col-sm-3 col-md-3 float-end cart-auto-width  ">
967                                                                        <a id="link_order_header" data-cy="cta-create-order-top-header-desktop"
968                                                   class="resume-btn uppercase  btn-order-v2 color-primary--v2 uppercase color-primary--v2 uppercase klaviyo-track-btn-order btn-pink btn-order-header btn-order-small font-sanspro-bold font16px"
969                                                   href="https://www.paintyourlife.com/order.php"
970                                                   aria-label="Start a Portrait">
971                                                    Create Now                                                </a>
972                                                                    </div>
973                </div>
974
975                            </div>
976                        <!-- DEV-4081 - Move urgency countdown bar inside #main_header on desktop to prevent overlap and scroll issues -->
977                    </div>
978
979        <!-- DEV-4081 - Render countdown bar outside #main_header for mobile homepage, cart, and checkout -->
980        
981        <div class="clr"></div>
982
983
984    
984<script>
985        // DEV-2889
986        var webhookGenerateUpsellPreviewImageEvent = 'https://www.paintyourlife.com/webhook/generateUpsellPreviewImageEvent';
987        var ajaxAddUpsellProduct = 'https://www.paintyourlife.com/upsell/ajaxAddUpsellToOrder';
988        var ajaxAddNewUpsellProduct = 'https://www.paintyourlife.com/upsell/ajaxAddNewUpsellToOrder';
989        var ajaxRemoveUpsellCartItem = 'https://www.paintyourlife.com/upsell/ajaxRemoveCartItem';
990        var transUpsell = {
991            no_item: "You don't have any gift on your Cart",
992            noted: "Noted",
993            rm_cart_error: 'Your cart got the errors in pictures! Please refresh page for loading new section.',
994            add_item_success: "Added to cart successfully"
995        };
996    </script>
996
997    </header>
998    <!-- End: The header -->
999
1000    
1001    <!-- Start: The content -->
1002    <div class="clearfix" aria-hidden="true"></div>
1003
1004    <main id="main-content" role="main" aria-label="Main Content">
1005        <div id="content" class="inner">
1006    <h1 class="sr-only">User Login</h1>
1007    <div class="wrapper account col-xs-12">
1008        <div class="content">
1009            
1010            <div id="loginBox1" class="row">
1011                <div class="col-xs-12 col-sm-4"></div>
1012                <div class="col-xs-12 col-sm-4 boxLogin">
1013                    <div class="font42px desktop-only login_header">Sign In</div>
1014                    <div class="font18px login_header mobile-only">Sign In</div>
1015                    <form autocomplete="off" name="frmloginp" id="frmloginp"
1016                          action="https://www.paintyourlife.com/login.php" onsubmit="return false;" method="post"
1017                          enctype="multipart/form-data">
1018                        <input type="hidden" name="rnd" value="2"/>
1019                        <input type="hidden" name="section" value="">
1020                        <div id="loginForm">
1021                            <div class="width_full">
1022                                <label for="loginUsername">
1023                                    <div class="title-login">Email</div>
1024                                </label>
1025                                <input id="loginUsername" class="width_full" autocomplete="off" type="email" name="username">
1026
1027                                <div id="emailp_required" style="display:none; color: var(--error-color);">
1028                                    Required                                </div>
1029
1030                                <label for="loginPassword" style="padding-top:12px;">
1031                                    <div class="title-login">Password</div>
1032                                </label>
1033                                <input id="loginPassword" class="width_full" autocomplete="off" type="password" name="password">
1034
1035                                <div id="passp_required" style="display:none; color: var(--error-color);">
1036                                    Required                                </div>
1037
1038                                <div id="msg" style="display:none;">
1039                                    Email and password don't match                                </div>
1040                            </div>
1041                        </div>
1042                        <div class="clear"></div>
1043                        <br/>
1044                        <div id="loginSubmit">
1045                            <div class="signInWrapper"><input class="color-primary--v2 btn btn-pink bold" type="submit"
1046                                                              onclick="return ('function' == typeof validateloginp) ? validateloginp(document.frmloginp, 'b') : false;"
1047                                                              id="signInButton"
1048                                                              value="Sign In">
1049                            </div>
1050                            <div id="forgotPassowrd"><a
1051                                        href="https://www.paintyourlife.com/forgot_password.php" class="text-primary--v2"> Forgot password? </a></div>
1052                        </div>
1053                    </form>
1054                </div>
1055                <div class="col-xs-12 col-sm-4"></div>
1056
1057            </div>
1058        </div>
1059
1060        <div class="clear"></div>
1061    </div>
1062</div>    </main>
1063    <!-- End: The content -->
1064    <div class="clearfix" aria-hidden="true"></div>
1065
1066    <footer role="contentinfo">
1067        <!-- Start: The footer -->
1068
1069        
1070        
1071        <!--DEV-3552-->
1072        
1073        <!-- DEV-2783 -->
1074            <style>
1075      .footer-text-empty {
1076        height: 37px !important;
1077      }
1078    </style>
1079<script>
1080    var cartStepData = JSON.parse("[]");
1081</script>
1081
1082    <div id="footer"
1083         class="footer footer-new clearfix footer-v21 footer-new-v2  ">
1084                    <div class=" subscribe-box-new w3_bg">
1085                <div id="before-subscribe" class="container-fluid">
1086                                        <div class="subscribe-title-v3">Subscribe and Get 25% Off</div>
1087
1088                    <div class="hide subscribe_box_new subscribe-box-new-subtitle">Our hand-painted portraits are a work of heart</div>
1089
1090                    <div class="clearfix"></div>
1091                                            <div class="desc font16px" style="margin-bottom: 20px"></div>
1092                    
1093                    <div class="subscribe-form col-md-10 offset-md-1 new-subscribe">
1094                        <form method="post" name="newsletter" novalidate="novalidate" class="row">
1095                            <input type="hidden" name="url" value="https://www.paintyourlife.com">
1096                            <input type="hidden" name="PYL_TOKEN" value="88c6850c5883fff395b53a7ca814b41bb1d94b01">
1097                            <input type="hidden" name="from" value="footer">
1098                                                        <div class="col-md-3 clearfix">
1099                                <div class="custom-input-group">
1100                                    <label for="name-subscribe" id="custom-input-title-newsfname" class="custom-input-title hidden">Your First Name</label>
1101                                    <input id="name-subscribe" type="text" name="newsfname" onkeyup="funcFooterFirstNameOnchange(this)"
1102                                           class="footer-text-empty custom-input_font18 form-control font-sanspro font18px"
1103                                           autocomplete="on"                                            placeholder="Your first name *"
1104                                           aria-label="Your First Name"
1105                                           aria-invalid="false"
1106                                           aria-describedby="name-subscribe-error"
1107                                    >
1108                                </div>
1109                            </div>
1110
1111                            <div class="col-md-3 clearfix">
1112                                <div class="custom-input-group">
1113                                    <label for="newsemail" id="custom-input-title-newsemail" class="custom-input-title hidden">Your Email</label>
1114                                    <input id="newsemail" type="email" name="newsemail" onkeyup="funcFooterEmailOnchange(this)"
1115                                           class="footer-text-empty custom-input_font18 form-control font-sanspro font18px"
1116                                           autocomplete="on"                                            placeholder="Your email*"
1117                                           aria-label="Your Email"
1118                                           aria-invalid="false"
1119                                           aria-describedby="newsemail-error"
1120                                    >
1121                                </div>
1122                            </div>
1123
1124                                                            <div class="col-md-3 clearfix">
1125                                    <div class="custom-input-group custom-input-group2">
1126                                        <label for="newsphone" id="custom-input-title-newsphone" class="custom-input-title hidden">Your phone</label>
1127                                        <input id="newsphone" type="text" name="newsphone" data-current-country-code="us"
1128                                               class="footer-text-empty custom-input_font18 form-control font-sanspro font18px"
1129                                               autocomplete="on" placeholder="Your mobile number (optional)"
1130                                               aria-label="Your phone"
1131                                               aria-invalid="false"
1132                                               aria-describedby="newsphone-error"
1133                                        >
1134                                    </div>
1135                                </div>
1136                                                            <div class="col-md-3">
1137                                    <button type="button" class="button_font16 color-primary--v2 btn btn-blue font-sanspro font18px"
1138                                            onclick="$('form[name=newsletter]').submit()"
1139                                            aria-label="Click to subscribe">Click to subscribe</button>
1140                                </div>
1141                                                    </form>
1142
1143                                                        <div class="mailing-condition-container" style="line-height: 1.6;">
1144                                    <p>
1145                                                                                    By entering your phone number, you agree to re
1145ceive marketing messages at the number provided.
1146                                            Consent is not a condition of purchase. Message and data rates may apply. Message frequency varies.
1147                                            Reply HELP for help or STOP to cancel. View our <a href="https://www.paintyourlife.com/terms.php">Terms of Use</a> and
1148                                            <a href="https://www.paintyourlife.com/privacy-policy.php">Privacy Policy</a>.
1149                                                                            </p>
1150                                </div>
1151                                                </div>
1152                    <div class="clearfix"></div>
1153                    <div class="newsletter" id="newsletter_tks" style="display: none;">
1154                        <form method="post" name="newsletter1" class="text-center">
1155                            <div class="font20px">Thank you for subscribing to our newsletter!</div>
1156                            <div class="clear"></div>
1157                        </form>
1158                    </div>
1159                </div>
1160                <!-- 2019-11-21 custom post_mailchimp to show please wai +  thank-you -->
1161                <div id="complete-subscribe">
1162                    <div class="title">Thank you!</div>
1163                    <i class="fa fa-check-circle-o fa-5x"></i>
1164                                            <br><br>
1165                        <div class="desc font16px">You've been successfully subscribed to Paint Your Life's newsletter</div>
1166                                    </div>
1167            </div>
1168                <!-- // DEV-2473-->
1169
1170                    <div class=" footer-row clearfix satisfaction-trustpilot ">
1171                                    <div class="trustpilot-footer ">
1172                        <div class="title-trustpilot">
1173                            17,000+ 5-Star Customer Reviews                        </div>
1174                    </div>
1175
1176                        <div class="trustpilot-local ">
1177        <iframe title="Trust Pilot Reviews"
1178                src="https://www.paintyourlife.com/trustpilotWidgetReviewsV2.php?theme=light&position=top-homepage&enableNewFooter="
1179                width="100%" height="240px;>" frameborder="0" loading="lazy" style="padding: 0 10px;" onload="resizeTrustpilotIframe(this)"></iframe>
1180    </div>
1181
1182<script>
1183    function resizeTrustpilotIframe(obj) {
1184        try {
1185            const internalHeight = obj.contentWindow.document.body.scrollHeight;
1186            obj.style.height = (internalHeight + 5) + 'px';
1187        } catch (e) {
1188            console.error("Cannot access iframe content", e);
1189        }
1190    }
1191</script>
1191
1192                                                </div>
1193                        <div class="footer-row menus font-sanspro clearfix">
1194                <div class="container-fluid footer-row-new">
1195                    <div class="sub-menu col-sm-3 menu-help collapsed">
1196                        <div class="title font18px">Help</div>
1197                        <div role="button" tabindex="0" class="title title-collapse font18px title-collapse-new" aria-expanded="false" aria-controls="footer-help-panel">
1198                            Help                            <span class="fa fa-chevron-down" aria-hidden="true"></span>
1199                            <span class="fa fa-chevron-up" aria-hidden="true"></span>
1200                        </div>
1201                        <div class="menu-items font16px clearfix text-capitalize" id="footer-help-panel" style="display: none;">
1202                                                            <a href="https://paintyourlife.zendesk.com/hc/en-us" title="Help center" target="_blank">Help center</a>
1203                                                        <a href="https://www.paintyourlife.com/privacy-policy.php" title="Privacy Policy">Privacy Policy</a>
1204                                                            <a href="https://www.paintyourlife.com/ccpa-privacy-notice.php" title="CCPA Privacy Notice">CCPA Privacy Notice</a>
1205                                                        <!-- DEV-3012 SHow CCPA in US visitor for the spainish -->
1206                                                        <a href="https://www.paintyourlife.com/cookie-policy.php"
1207                               title="Cookies Policy">Cookies Policy</a>
1208                            <a href="https://www.paintyourlife.com/terms.php" title="Terms & Conditions">Terms & Conditions</a>
1209                            <a href="https://www.paintyourlife.com/guarantee.php" title="Guarantee">Guarantee</a>
1210                                                            <a href="https://www.paintyourlife.com/about.php" title="About us">About us</a>
1211                                                                                        <a href="https://www.paintyourlife.com/user-login.php" title="Login">Login</a>
1212                                                    </div>
1213                    </div>
1214
1215                    <div class="sub-menu col-sm-3 menu-gallery collapsed">
1216                        <div class="title font18px">Browse</div>
1217                        <div role="button" tabindex="0" class="title title-collapse font18px title-collapse-new" aria-expanded="false" aria-controls="footer-browse-panel">
1218                            Browse                            <span class="fa fa-chevron-down" aria-hidden="true"></span>
1219                            <span class="fa fa-chevron-up" aria-hidden="true"></span>
1220                        </div>
1221                        <div class="menu-items font16px clearfix" id="footer-browse-panel" style="display: none;">
1222                            <a href="https://www.paintyourlife.com/showcase.php">Portraits</a>
1223                                                            <a href="https://www.paintyourlife.com/video-testimonials.php">Unboxing Videos</a>
1224                                                            <a href="https://www.paintyourlife.com/photo-testimonials.php">Photo Testimonials</a>
1225                                                            <a href="/our-artists-at-work.php">Our Artists At Work</a>
1226                                                                                        <a href="https://www.paintyourlife.com/inspiration">Inspiration & Ideas</a>
1227                                                                                        <a href="https://www.paintyourlife.com/reviews.php">Reviews</a>
1228                                                        <a href="https://www.paintyourlife.com/sitemap.php">Sitemap</a>
1229                            <!-- Show Painting & Timing link on footer Desktop version -->
1230                                                            <a class="gallery_url_new main_link" href="https://www.paintyourlife.com/prices.php"
1231                                   aria-label="Pricing & Timing">
1231Pricing & Timing                                    <span class="active_line"></span>
1232                                </a>
1233                                                    </div>
1234                    </div>
1235
1236                                            <div class="sub-menu collapsed mobile-only">
1237                            <div class="title font18px">Inspiration & Ideas</div>
1238                            <div role="button" tabindex="0" class="title title-collapse font18px title-collapse-new" aria-expanded="false" aria-controls="footer-inspiration-panel">
1239                                Inspiration & Ideas                                <span class="fa fa-chevron-down" aria-hidden="true"></span>
1240                                <span class="fa fa-chevron-up" aria-hidden="true"></span>
1241                            </div>
1242                            <div class="menu-items font16px clearfix" id="footer-inspiration-panel" style="display: none;">
1243                                <a href="/connectgenerations-paintings.php">Connect Generations</a>
1244                                <a href="/bringthefamilytogether-paintings.php">Bring the family together</a>
1245                                <a href="/beunique-paintings.php">Be Unique</a>
1246                                <a href="/addawrittenmessage-paintings.php">Add a written message</a>
1247                                <a href="/jesus-paintings.php">In the arms of Jesus in heaven</a>
1248                                <a href="/cherishspecialmoments-paintings.php">Cherish special moments</a>
1249                                <a href="/allyourlovedonestogether-paintings.php">Put All Your Loved Ones Together</a>
1250                                <a href="/completeweddingcelebration-paintings.php">Complete your Wedding Celebration</a>
1251                                <a href="/makegraduationdaycomplete-paintings.php">Make Graduation Day complete</a>
1252                                <a href="/Enhancewithembellishments-paintings.php">Enhance with embellishments</a>
1253
1254                            </div>
1255                        </div>
1256                    
1257                     <!-- END Hide menus on Mobile Ar, Ko, Ja. -->
1258
1259                    <div class="sub-menu col-sm-1 menu-recent-blog-posts collapsed">
1260                    </div>
1261
1262                    <div class="sub-menu col-sm-5 menu-social-contact collapsed">
1263                        <div class="social-footer-wrapper">
1264                            <div class="sub-menu menu-social-links desktop-only collapsed">
1265                                <div class="title font18px">Follow Us On</div>
1266                                <div role="button" tabindex="0" class="title title-collapse font18px" aria-expanded="false" aria-controls="footer-social-panel">
1267                                    Follow Us On                                    <span class="fa fa-chevron-down" aria-hidden="true"></span>
1268                                    <span class="fa fa-chevron-up" aria-hidden="true"></span>
1269                                </div>
1270                                <div class="menu-items font16px clearfix social-items" id="footer-social-panel" style="display: none;">
1271                                    <meta content="PaintYourLife"/>
1272                                    <link href="https://www.paintyourlife.com">
1273
1274                                                                            <a href="https://www.facebook.com/Paintyourlife/" aria-label="Facebook" target="_blank">
1275                                            <img width="32"
1276                                                 data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/icon-footer/fb.png"
1277                                                 alt="Facebook">
1278                                        </a>
1279                                                                                <a href="https://www.instagram.com/paintyourlife/" aria-label="Instagram" target="_blank">
1280                                            <img width="32"
1281                                                 data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/icon-footer/ins.png"
1282                                                 alt="Instagram">
1283                                        </a>
1284                                                                                <a href="https://www.youtube.com/user/PaintYourLifeArt" aria-label="Youtube" target="_blank">
1285                                            <img width="32"
1286                                                 data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/icon-footer/youtube.png"
1287                                                 alt="YouTube">
1288                                        </a>
1289                                                                                <a href="https://www.tiktok.com/@paintyourlife/" aria-label="Tiktok" class="tiktok-link" target="_blank">
1290                                            <img width="32" data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/icon-footer/tittox.png" alt="TikTok">
1291                                        </a>
1292                                                                        </div>
1293                            </div>
1294
1295                                                            <div class="sub-menu menu-localization-settings collapsed">
1296                                    <div class="title font18px">Localization</div>
1297                                    <div role="button" tabindex="0" class="title title-collapse font18px title-collapse-new" aria-expanded="false" aria-controls="footer-localization-panel">
1298                                        Localization                                        <sp
1298an class="fa fa-chevron-down" aria-hidden="true"></span>
1299                                        <span class="fa fa-chevron-up" aria-hidden="true"></span>
1300                                    </div>
1301
1302                                    <div class="menu-items font16px clearfix" id="footer-localization-panel" style="display: none;">
1303                                        <div class="countries header-dropdown header-dropdown-localization-new"
1304                                             role="combobox"
1305                                             title="Select Country"
1306                                             aria-label="Select Country"
1307                                             aria-expanded="false"
1308                                             aria-controls="country-listbox"
1309                                             tabindex="0">
1310                                            <span class="icon-country">
1311                                                                                                <img width="20px" data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://hatscripts.github.io/circle-flags/flags/us.svg" alt="">
1312                                            </span>
1313                                            <span class="selected-value">
1314                                                United States                                            </span>
1315
1316                                            <span class="arrow-down fa fa-chevron-down"></span>
1317                                            <ul id="country-listbox" class="countries_dropdown"
1318                                                role="listbox"
1319                                                aria-hidden="true"
1320                                                style="display: none;">
1321                                                                                                        <li id="country-option-435"
1322                                                            role="option"
1323                                                            aria-selected="true"
1324                                                            tabindex="0"
1325                                                            onclick="set_country(435)"
1326                                                            onkeydown="if (event.keyCode === 13) set_country(435)">
1327                                                            United States                                                        </li>
1328                                                                                                            <li id="country-option-434"
1329                                                            role="option"
1330                                                            aria-selected="false"
1331                                                            tabindex="0"
1332                                                            onclick="set_country(434)"
1333                                                            onkeydown="if (event.keyCode === 13) set_country(434)">
1334                                                            United Kingdom                                                        </li>
1335                                                                                                            <li id="country-option-265"
1336                                                            role="option"
1337                                                            aria-selected="false"
1338                                                            tabindex="0"
1339                                                            onclick="set_country(265)"
1340                                                            onkeydown="if (event.keyCode === 13) set_country(265)">
1341                                                            Canada                                                        </li>
1342                                                                                                            <li id="country-option-240"
1343                                                            role="option"
1344                                                            aria-selected="false"
1345                                                            tabindex="0"
1346                                                            onclick="set_country(240)"
1347                                                            onkeydown="if (event.keyCode === 13) set_country(240)">
1348                                                            Australia                                                        </li>
1349                                                                                                    </ul>
1350                                            </div>
1351
1352                                        
1353                                                                                <div class="currency header-dropdown header-dropdown-localization-new"
1354                                             role="combobox"
1355                                             title="Select Currency"
1356                                             aria-label="Select Currency"
1357                                             aria-expanded="false"
1358                                             aria-controls="currency-listbox"
1359                                             tabindex="0">
1360                                            <span>$</span>
1361                                            <span>USD</span>
1362                                            <span class="arrow-down fa fa-chevron-down"></span>
1363                                            <ul id="currency-listbox" style="max-height: 116px; overflow-y: scroll; display: none;"
1364                                                role="listbox"
1365                                                aria-hidden="true">
1366                                                                                                <li id="currency-option-3"
1367                                                        role="option"
1368                                                        aria-selected="false"
1369                                                        tabindex="0"
1370                                                        onclick="set_currency(3)"
1371                                                        onkeydown="if (event.keyCode === 13) set_currency(3)">
1372                                                            <span>$</span>
1373                                                        AUD                                                    </li>
1374                                                                                                    <li id="currency-option-4"
1375                                                        role="option"
1376                                                        aria-selected="false"
1377                                                        tabindex="0"
1378                                                        onclick="set_currency(4)"
1379                                                        onkeydown="if (event.keyCode === 13) set_currency(4)">
1380                                                            <span>$</span>
1381                                                        CAD                                                    </li>
1382                                                                                                    <li id="currency-option-5"
1383                                                        role="option"
1384                                                        aria-selected="false"
1385                                                        tabindex="0"
1386                                                        onclick="set_currency(5)"
1387                                                        onkeydown="if (event.keyCode === 13) set_currency(5)">
1388                                                            <span>£</span>
1389                                                        GBP                                                    </li>
1390                                                                                            </ul>
1391                                        </div>
1392                                                                            </div>
1393                                </div>
1394                                                    </div>
1395
1396                                                    <div class="divider-contact-footer desktop-only"></div>
1397                        
1398                                                    <div class="sub-menu menu-contacts collapsed">
1399                                <div class="title font18px">Contacts</div>
1400                                <div role="button" tabindex="0" class="title title-collapse font18px title-collapse-new" aria-expanded="false" aria-controls="footer-contacts-panel">
1401                                    Contacts                                    <span class="fa fa-chevron-down" aria-hidden="true"></span>
1402                                    <span class="fa fa-chevron-up" aria-hidden="true"></span>
1403                                </div>
1404                                <div class="menu-items font16px clearfix" id="footer-contacts-panel" style="display: none;">
1405                                    <div class="contact-footer-wrapper">
1406                                        <div>
1407                                            <a class="message-zp-btn zp-btn" href="javascript:void(0)">
1408                                                <img class="icon-contact" data-org="png" loading="lazy"
1409                                                     data-class="LazyLoad" src="https://dqhvdmwzk0rbb.cloudfront.net/pylweb/painting/commitment/24_7_footer_new.png"
1410                                                     data-src="https://dqhvdmwzk0rbb.cloudfront.net/pylweb/painting/commitment/24_7_footer_new.png" alt="24/7 customer support available"
1411                                                     style="margin-right: 5px;">Start Live Chat</a>
1412                                            <p class="message_text_time">Monday-Friday 09:00AM - 06:00PM (CT)</p>
1413                                        </div>
1414                                                                                    <div>
1415                                                                                                    <a href="tel:+1-888-600-3799">
1416                                                        <img class="icon-contact" data-org="png"
1417                                                             data-class="LazyLoad" src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/phone_icon.png"
1418                                                             data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/phone_icon.png" alt="Phone icon for customer support"
1419                                                             style="margin-right: 10px;">(888) 600-3799</a>
1420                                                    <p class="message_text_24h">Monday-Friday 09:00AM - 06:00PM (CT)</p>
1421                                                                                            </div>
1422                                                                            </div>
1423
1424                                                                    </div>
1425                            </div>
1426                                            </div>
1427                </div>
1428            </div>
1429        
1430        <div class="wrapper-full mobile-only">
1431    <div class="sub-menu menu-social-links collapsed">
1432        <div class="title title-collapse font18px">
1433            Follow Us        </div>
1434        <div class="menu-items font16px clearfix social-items">
1435            <meta content="PaintYourLife"/>
1436            <link href="https://www.paintyourlife.com">
1437                                <a href="https://www.facebook.com/Paintyourlife/" target="_blank"><img width="32" data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/icon-footer/fb.png" alt="Facebook"></a>
1438                                        <a href="https://www.instagram.com/paintyourlife/" target="_blank"><img width="32" data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/icon-footer/ins.png" alt="Instagram"></a>
1439                                        <a href="https://www.youtube.com/user/PaintYourLifeArt" target="_blank"><img width="32" data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/icon-footer/youtube.png" alt="YouTube"></a>
1440                                        <a href="https://www.tiktok.com/@paintyourlife/" class="tiktok-link" target="_blank"><img width="32" data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/icon-footer/tittox.png" alt="TikTok"></a>
1441                            </div>
1442    </div>
1443</div>
1444        <div class="footer-row_new footer-row clearfix copyright font-sanspro font16px  ">
1445            <div class="container-fluid">
1446                                    <div class="right payment-row">
1447                                                    
1448<div class="payment-icons">
1449            <img data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/payments/visa-icon.png" class="pay-icon" width="45" height="28" alt="visa payment method logo"/>            <img data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/payments/master-icon.png" class="pay-icon" width="45" height="28" alt="master card logo"/>            <img data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/payments/amex-icon-2.jpg" class="pay-icon" width="45" height="28" alt="amex payment method logo"/>            <img data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/payments/jcb-icon.png" class="pay-icon" width="45" height="28" alt="jcb payment method logo"/>            <img data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/payments/paypal-icon.png" class="pay-icon" width="45" height="28" alt="paypal payment method logo"/>            <img data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/payments/applepay-icon-2.jpg" class="pay-icon" width="45" height="28" alt="apple pay logo"/>            <img data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/payments/klama-icon-2.jpg" class="pay-icon" width="45" height="28" alt="klarna payment method logo"/>            <img data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/payments/gpay-icon-2.jpg" class="pay-icon" width="45" height="28" alt="google pay logo"/>            <img data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/payments/affirm-icon.png" class="pay-icon" width="45" height="28" alt="affirm payment method logo"/>            <img data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/payments/afterpay.svg" class="pay-icon" height="28" alt="afterpay payment method logo"/>    </div>
1450
1451<style>
1452    .icon-discover {
1453        width: 45px;
1454        height: 28px;
1455        background-color: white;
1456    }
1457</style>                                                
1457<script async="" type="lazyload_int" data-src="https://cdn.ywxi.net/js/1.js" ></script>
1457
1458                    </div>
1459                
1460                                    <div class="left" dir="auto">
1461                        Copyright 2006-2026 ©PaintYourLife.com                        <div class="acsb-trigger-custom">
1462    <span class="acsb-trigger-icon" data-acsb-custom-trigger="true">
1463                            <a href="https://www.paintyourlife.com/accessibility-statement.php"
1464               aria-label="Read our Accessibility Statement" title="Accessibility Statement">
1465                <img alt="Accessibility options" data-class="LazyLoad" src="https://www.paintyourlife.com/cache/blank.png" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/img/icon-accessibility.svg" width="46" height="23" aria-hidden="true" role="presentation">
1466            </a>
1467            </span>
1468</div>                    </div>
1469                            </div>
1470                            <div class="trustmark-ft">
1471                                            <span class="secure-text">Secured by:</span>
1472                                        <!--https://paintyourlife.atlassian.net/browse/DEV-65-->
1473                    <div class="trustedsite-trustmark" data-type="202" data-width="74" dataheight="30" aria-label="TrustedSite Certified" role="button" tabindex="0"></div>
1474                </div>
1475                    </div>
1476    </div>
1477
1478<script>
1479    // DEV-3256
1480    var enableNewSubcribe = 1;
1481</script>
1481
1482        <!-- End: The footer -->
1483    </footer>
1484</div>
1485
1486
1487<style>
1488    .popup_email.has-name-field .custom_input {
1489        width: 100%;
1490    }
1491</style>
1492    <input type="hidden" name="empty_field" value="0">
1493    <input type="hidden" name="empty_field_no_popup" value="0">
1494    <input type="hidden" name="custom_email_popup" value="0">
1495    <input type="hidden" name="show_popup_step4_mobile" value="0">
1496    <input type="hidden" name="required_contact_information" value="0">
1497<!-- Modal Check Cookie Enabled -->
1498<div id="checkCookieEnabled" class="modal fade" role="dialog">
1499    <div class="modal-dialog" style="width: 630px;">
1500        <!-- Modal content-->
1501        <div class="modal-content">
1502            <div class="modal-header">
1503                <span class="modal-header-content">Header</span>
1504                <button type="button" class="close" data-bs-dismiss="modal" data-dismiss="modal"></button>
1505            </div>
1506            <div class="modal-body"></div>
1507        </div>
1508    </div>
1509</div>
1510
1511<!-- Modal -->
1512<div id="forgotPasswordModal" class="modal fade" role="dialog">
1513    <div class="modal-dialog modal-lg">
1514        <!-- Modal content-->
1515        <div class="modal-content">
1516            <button type="button" class="close" data-bs-dismiss="modal" data-dismiss="modal">&times;</button>
1517            <div id="forgotPass">
1518                
1519<!--Content Start-->
1520<div id="forgotPasswordBox">
1521    <div class="forgot-text font24px">
1522        Please enter your email to restore your password    </div>
1523    <form name="frmforgotPass1" method="post" id="frmforgotPass" onsubmit="return false;">
1524        <label>
1525            <div style="float:left;">Email</div>
1526        </label>
1527        <div class="form_field">
1528            <span class="i_mail"></span>
1529            <input type="email" autocomplete="off" value="" name="forgotemail1" id="forgotemail"/>
1530        </div>
1531
1532        <div class="signInWrapper">
1533            <input onClick="validate_fpwd()" value="Submit" type="submit"/>
1534        </div>
1535        <span id="msg_error">This email address is not registered with us. Please re-try.</span>
1536        <div class="note-pass1"><span class="msg_success">We have emailed your password. Please check your Inbox. </span></div>
1537    </form>
1538</div>
1539            </div>
1540        </div>
1541    </div>
1542</div>
1543<div id="popup_showcase_thankyou" class="modal fade" role="dialog">
1544    <div class="modal-dialog">
1545        <!-- Modal content-->
1546        <div class="modal-content">
1547            <button type="button" class="close btn_close_popup" data-bs-dismiss="modal" data-dismiss="modal">&times;</button>
1548            <div style="margin: 20px;">
1549                <div>
1550                    <div class="forgot-text font20px">
1551                        <div class="display_block font-sanspro-bold font28px align_center">Thank You For Your Testimonial</div>
1552                        <p class="display_block align_center">We will review it and will contact you once we add it to our testimonial pages. Thanks again!</p>
1553                    </div>
1554                </div>
1555            </div>
1556        </div>
1557    </div>
1558</div>
1559    <div id="popup-reveal-video-thankyou" class="modal fade" role="dialog">
1560        <div class="modal-dialog">
1561            <!-- Modal content-->
1562            <div class="modal-content">
1563                <button type="button" class="close btn_close_popup" data-bs-dismiss="modal" data-dismiss="modal">&times;</button>
1564                <div style="margin: 20px;">
1565                    <div>
1566                        <div class="forgot-text font20px">
1567                            <div class="display_block align_center font28px">Thank You For Submitting Your Reveal Video!</div>
1568                            <p class="display_block align_center">
1569                                If our marketing team decides to use your video, you will receive $80 store credit on your PaintYourLife account.                            </p>
1570                        </div>
1571                    </div>
1572                </div>
1573            </div>
1574        </div>
1575    </div>
1576
1577    
1578<div id="popup_updated_profile" class="modal fade" role="dialog">
1579    <div class="modal-dialog">
1580        <!-- Modal content-->
1581        <div class="modal-content">
1582            <button type="button" class="close btn_close_popup" data-bs-dismiss="modal" data-dismiss="modal">&times;</button>
1583            <div style="margin: 20px;">
1584                <div>
1585                    <div class="forgot-text font20px">
1586                        <p dir="auto">Your profile has been updated!</p>
1587                    </div>
1588                </div>
1589            </div>
1590        </div>
1591    </div>
1592</div>
1593
1594
1595
1596<div id="popup_artist_success" class="modal fade" role="dialog">
1597    <div class="modal-dialog">
1598        <!-- Modal content-->
1599        <div class="modal-content">
1600            <button type="button" class="close btn_close_popup" data-dismiss="modal">&times;</button>
1601            <div style="margin: 20px;">
1602                <div>
1603                    <div class="forgot-text font20px">
1604                        <div class="display_block font-sanspro-bold font28px align_center">Thank you for contacting us</div>
1605                        <p class="display_block align_center">We've received your request and will be in touch soon.</p>
1606                    </div>
1607                </div>
1608            </div>
1609        </div>
1610    </div>
1611</div>
1612
1613<style>
1614    /*#modal-wire-transfer table > tbody > tr:first-child > td {border: none;}*/
1615    #modal-wire-transfer table > tbody > tr > td:first-child {font-weight: 500;}
1616</style>
1617
1618
1619<!-- Modal dynamic content -->
1620<div id="modal-dynamic-content" class="modal fade" role="dialog">
1621    <div class="modal-dialog font-sanspro font16px" role="document">
1622        <div class="modal-content">
1623            <div class="modal-header">
1624                <button type="button" class="close btn-close" data-bs-dismiss="modal" data-dismiss="modal" aria-label="Close"></button>
1625                <h4 class="modal-title"></h4>
1626            </div>
1627            <div class="modal-body"></div>
1628            <div class="modal-footer">
1629                <button type="button" class="btn-modal-close btn btn-ptp-default font-sanspro font16px bold btn-secondary" data-bs-dismiss="modal" data-dismiss="modal">Close</button>
1630            </div>
1631        </div>
1632    </div>
1633</div><!-- Modal dynamic content -->
1634
1635<!-- section to show popup frame preview -->
1636
1637<!-- Add your site or application content here -->
1638
1639    
1639<script src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/js/lib/jquery-base/jquery-3.5.1.min.js" ></script>
1639
1640    
1640<script src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/js/lib/jquery-base/jquery-ui.min.js" ></script>
1640
1641    
1641<script src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/js/lib/jquery-base/jquery-migrate-3.3.0.min.js" ></script>
1641
1642
1643<script type="lazyload_int" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/js/vendor/bioep.full.js" ></script>
1643
1644    
1644<script src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/js/lib/jquery.bxSlider.min.js" ></script>
1644
1645
1646<script src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/js/popper.min.js" ></script>
vendor: 1 bytes, line 1646
1646
1647<script src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/js/bootstrap5.min.js" ></script>
1647
1648
1649<script type="lazyload_int" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/js/vendor/modernizr-2.8.3.min.js" ></script>
vendor: 1 bytes, line 1649
1649
1650<script type="lazyload_int" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/js/plugins.min.js" ></script>
vendor: 1 bytes, line 1650
1650
1651<script type="lazyload_int" data-src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/js/lib/purify.min.js" ></script>
vendor: 1 bytes, line 1651
1651
1652<script type="lazyload_int" data-src="https://www.paintyourlife.com/cache/all-js/0b97bc026c4c58e993e8fb2e2fda8543.js"></script>
vendor: 1 bytes, line 1652
1652
1653<script src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/js/jquery.validate.min.js" type="text/javascript" ></script>
vendor: 1 bytes, line 1653
1653
1654<script>
1655    // iOS Safari retry mechanism for critical JS files
1656    window._pylRetryLoadScript = function(src, maxRetries, delay) {
1657        var attempts = 0;
1658        function tryLoad() {
1659            attempts++;
1660            var s = document.createElement('script');
1661            s.src = src;
1662            s.onerror = function() {
1663                if (attempts < maxRetries) {
1664                    console.warn('[PYL] Retry loading (' + attempts + '/' + maxRetries + '): ' + src);
1665                    setTimeout(tryLoad, delay);
1666                } else {
1667                    console.error('[PYL] Failed to load after ' + maxRetries + ' attempts: ' + src);
1668                }
1669            };
1670            document.head.appendChild(s);
1671        }
1672        tryLoad();
1673    };
1674</script>
vendor: 1 bytes, line 1674
1674
1675<script src="https://www.paintyourlife.com/cache/js/86c374a34e0456b4e92c217d4abf61af.js" onerror="window._pylRetryLoadScript && window._pylRetryLoadScript(this.src, 2, 1000)" ></script>
vendor: 1 bytes, line 1675
1675
1676<script src="https://www.paintyourlife.com/cache/js/efe97b6db400da4ed6d5176a06cfaaf1.js" onerror="window._pylRetryLoadScript && window._pylRetryLoadScript(this.src, 2, 1000)" ></script>
1676
1677
1678
1679<script>// When the DOM is ready, run this function
1680    var subscribeErrMsg = {"required":"Error: This field is required!","email":"Please enter a valid email address!"};
1681    var customMessageErrorPhoneNumber = "Please enter a valid phone number (numbers only)";
1682    // DEV-3795
1683    var useBootstrap5 = true;
1684
1685    jQuery(window).load(function () {
1686        var elQouteCarousel = jQuery('#quote-carousel');
1687        //Set the carousel options
1688        if (elQouteCarousel.length > 0 && 'function' === typeof elQouteCarousel.carousel) {
1689            elQouteCarousel.carousel({
1690                pauseOnHover: true,
1691                interval: 5000
1692            });
1693        }
1694    });
1695
1696    jQuery(document).ready(function() {
1697        // DEV-3256
1698        // DEV-3999: Fix ADA compliance for intlTelInput component
1699        function fixIntlTelInputADA() {
1700            $('.iti').each(function() {
1701                var $wrapper = $(this);
1702                var $combobox = $wrapper.find('.iti__selected-flag');
1703                var $listbox = $wrapper.find('.iti__country-list');
1704
1705                // Generate a unique ID for the listbox if it doesn't have one
1706                // to ensure aria-controls points to a valid target element
1707                var listboxId = $listbox.attr('id') || 'country-listbox-' + Math.floor(Math.random() * 1000);
1708                $listbox.attr('id', listboxId);
1709
1710                if ($combobox.length) {
1711                    // 1. Initial setup of ARIA 1.2 attributes
1712                    $combobox.attr({
1713                        'role': 'combobox',
1714                        'aria-haspopup': 'listbox',
1715                        'aria-expanded': 'false',
1716                        'aria-controls': listboxId,
1717                        'aria-label': 'Country Code Picker' // Provides context for screen reader users
1718                    });
1719
1720                    // Remove aria-owns if added by the library as it can cause
1721                    // validation issues if the DOM structure is not strictly parent-child
1722                    $combobox.removeAttr('aria-owns');
1723
1724                    // 2. Update aria-expanded state based on actual visibility
1725                    $combobox.off('click keydown.ada').on('click keydown.ada', function(e) {
1726                        // Trigger for Click, Enter (13), or Space (32) keys
1727                        if (e.type === 'click' || e.which === 13 || e.which === 32) {
1728                            setTimeout(function() {
1729                                // intlTelInput usually toggles visibility via the .iti__hide class
1730                                var isOpen = $listbox.hasClass('iti__hide') === false;
1731                                $combobox.attr('aria-expanded', isOpen ? 'true' : 'false');
1732                            }, 100);
1733                        }
1734                    });
1735                }
1736            });
1737
1738            // 3. Reset state when clicking outside the component
1739            $(document).off('click.ada').on('click.ada', function(e) {
1740                if (!$(e.target).closest('.iti').length) {
1741                    $('.iti__selected-flag').attr('aria-expanded', 'false');
1742                }
1743            });
1744        }
1745
1746        if ($("input[name=newsphone]").length > 0 && $("input[name=newsphone]").is(":visible")) {
1747            if (typeof window.intlTelInput != 'undefined') {
1748                var phoneInput7 = document.querySelector("[name=newsphone]");
1749                window.phoneErrorMap = ["Invalid number", "Invalid country code", "Too short", "Too long"];
1750                window.iti7 = window.intlTelInput(phoneInput7, {
1751                    autoPlaceholder: "off",
1752                    hiddenInput: "newsphone",
1753                    nationalMode: true,
1754                    separateDialCode: false,
1755                    allowDropdown: false,
1756                    onlyCountries: ["us"],
1757                    initialCountry: "us",
1758                    utilsScript: "/js/lib/intl-tel-input/utils.js",
1759                });
1760
1761                var countryData2 = window.iti7.getSelectedCountryData();
1762
1763                if ("object" !== typeof countryData2 || "string" !== typeof countryData2.iso2) {
1764                    //set country based on localization settings
1765                    var curCtryShort2 = phoneInput7.getAttribute("data-current-country-code");
1766
1767                    if ("string" === typeof curCtryShort2 && "" != curCtryShort2) {
1768                        window.iti7.setCountry(curCtryShort2);
1769                    }
1770                }
1771                
1772                // Immediately fix ADA attributes after initialization
1773                fixIntlTelInputADA();
1774            }
1775        }
1776        
1777        // Also keep window on load for fallback
1778        $(window).on('load', fixIntlTelInputADA);
1779
1780        $(".buy-cart").click(function (e) {
1781            // link to shopping cart
1782            if (!$(e.target).closest('.show-cart').length) {
1783                location.href = 'https://www.paintyourlife.com/shopping-cart.php';
1784            }
1785        });
1786        if( !(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) ) {
1787            $(".buy-cart").hover(function () {
1788                $(this).addClass('actived');
1789            }, function() {
1790                $(this).removeClass('actived');
1791            });
1792        }
1793        jQuery(function () {
1794            var formRules = {
1795                newsfname: {
1796                    required: true,
1797                },
1798                newsemail: {
1799                    required: true,
1800                    email: true,
1801                },
1802                newsphone: {
1803                    validatePhoneNumber: true,
1804                }
1805            };
1806
1807            var formErrorMessages = {
1808                newsfname: {
1809                    required: subscribeErrMsg.required,
1810                },
1811                newsemail: {
1812                    required: subscribeErrMsg.required,
1813                    email: subscribeErrMsg.email,
1814                }
1815            };
1816
1817            if (typeof enableZeroBounce != 'undefined' && enableZeroBounce) {
1818                formRules['newsemail']['remote'] = {
1819                    url: "/api/validateZeroBounce",
1820                    data: {
1821                        email: function() {
1822                            return jQuery("input[name=newsemail]").val();
1823                        }
1824                    }
1825                };
1826                var errorMessage = "Your email is invalid or not available";
1827                if (typeof m_zero_bounce_email_invalid != 'undefined' && m_zero_bounce_email_invalid) {
1828                    errorMessage = m_zero_bounce_email_invalid;
1829                }
1830                formErrorMessages['newsemail']['remote'] = errorMessage;
1831            }
1832
1833            jQuery("form[name='newsletter']").validate({
1834                rules: formRules,
1835                messages: formErrorMessages,
1836                // DEV-3815
1837                /*onkeyup: false,
1838                onclick: false,
1839                onfocusout: true,*/
1840                errorPlacement: function (error, element) {
1841                    // DEV-3815
1842                    element.attr('aria-invalid', 'true');
1843                    if (!error.html()) return;
1844                    if (!element.attr('id')) element.attr('id', (new Date()).getTime());
1845                    customMessage = "";
1846                    if(element.attr('id') === "newsphone") {
1847                        customMessage = customMessageErrorPhoneNumber;
1848                    }
1849                    createToolTip2({
1850                        owner: element,
1851                        position: 'below',
1852                        message: error,
1853                        customClass: "error",
1854                        customMessage: customMessage
1855                    });
1856                },
1857                success: function (obj) {
1858                    // DEV-3815
1859                    var elementId = obj.attr('for');
1860                    var errorLabelId = '';
1861                    if(elementId) {
1862                        var $element = jQuery('#' + elementId);
1863                        errorLabelId = elementId + '-error';
1864                        jQuery("DIV.dijitTooltip.error[src='" + obj.attr('for') + "']").remove();
1865                    } else {
1866                        elementId = obj.attr('id');
1867                        errorLabelId = elementId;
1868                        var inputId = elementId.replace('-error', '');
1869                        var $element = jQuery('#' + inputId);
1870                        jQuery("DIV.dijitTooltip.error[src='" + inputId + "']").remove();
1871                    }
1872                    $element.attr('aria-invalid', 'false');
1873                    // 5. Clean up ARIA-DESCRIBEDBY: Remove the link to the error message.
1874                    var currentAriaDescribedBy = $element.attr('aria-describedby');
1875                    if (currentAriaDescribedBy) {
1876                        // Replace the specific error ID with an empty string and trim whitespace
1877                        var newAriaDescribedBy = currentAriaDescribedBy.replace(errorLabelId, '').trim();
1878
1879                        // Update the attribute on the input field
1880                        $element.attr('aria-describedby', newAriaDescribedBy);
1881                    }
1882                },
1883                submitHandler: function () {
1884                    // DEV-3256
1885                    if (enableNewSubcribe == 1) {
1886                        var phoneNumber = typeof window.iti7 == 'object' && window.iti7.getNumber() ? window.iti7.getNumber() : '';
1887                        post_mailchimp2(jQuery("input[name=newsemail]").val(), jQuery("input[name=url]").val(), jQuery("input[name=newsfname]").val(), phoneNumber);
1888                    } else {
1889                        post_mailchimp(jQuery("input[name=newsemail]").val(), jQuery("input[name=url]").val(), jQuery("input[name=newsfname]").val());
1890                    }
1891                }
1892            });
1893        });
1894        // DEV-3256
1895        jQuery.validator.addMethod('validatePhoneNumber', function(value, element) {
1896            if (value.length > 0) {
1897                if (typeof window.iti7 == 'object' && !window.iti7.isValidNumber()) {
1898                    var errorCode = window.iti7.getValidationError();
1899                    jQuery.validator.messages["validatePhoneNumber"] = phoneErrorMap[errorCode];
1900                    return false;
1901                } else {
1902                    return true;
1903                }
1904            } else {
1905                return true;
1906            }
1907        }, '');
1908    });</script>
1908
1909
1910<script>
1911    var is_new_layout = 1;
1912    var logged_in = 0;
1913    var isSubmit = 0;
1914    var show_popup_exit = 0;
1915    var forceStopExitIntent = 1;
1916    var submit_exit_partner = 0;
1917    var close_exit = 0;
1918    var shareUser = 0;
1919    var hasExitIntentPopup = '0';
1920    var rDomain   = 'paintyourlife.com';
1921    var rController = 'site';
1922    var rAction = 'userLogin';
1923    var gaPageName = 'Desktop | userlogin';
1924    var pageName = 'userlogin';
1925    var excludingJS = 1;
1926    // DEV-3335
1927    //var enablePL2Figures = 0;
1928    //var enablePL3Figures = 0;
1929    var enableNewPaintingLayoutOrderStep4 = 0;
1930    // DEV-3398
1931    var enableConfirmSectionOrderStep4 = 0;
1932    // DEV-3429
1933    var enableUploadPreviousPhotos = 0;
1934</script>
1934
1935
1936<!--
1936<script async src="/js/fbjdk.full.js?v=1.0.5"></script>
1936-->
1937
1938
1939<script>
1940    //Apply enter keypress for submit email in popup email
1941    $(document).keypress(function (e) {
1942        if (e.which == 13 && document.getElementById("popup_block_order") && document.getElementById("popup_block_order").style.display == 'block') {
1943            var emailField = $('.popup_email #order_email1');
1944            var functionName = emailField.attr('data-function-name');
1945            if (emailField.is(':focus')) {
1946                if (functionName == 'validate') {
1947                    return validate_email_form();
1948                } else if (functionName == 'update') {
1949                    return update_email();
1950                }
1951            }
1952        } else if (e.which == 13 && document.getElementById("popup_block") && document.getElementById("popup_block").style.display == 'block') {
1953            var emailField = $('.popup_email #order_email');
1954            var functionName = emailField.attr('data-function-name');
1955            if (emailField.is(':focus')) {
1956                if (functionName == 'validate') {
1957                    return validate_email_form();
1958                } else if (functionName == 'validate1') {
1959                    return validate_email_form1();
1960                } else if (functionName == 'update') {
1961                    return update_email();
1962                }
1963            }
1964        }
1965    });
1966    //END Apply enter keypress for submit email in popup email
1967
1968            $(document).ready(function () {
1969            $('.add').click(function () {
1970                $(this).parent('.more_info').find('.img_upload').toggle();
1971                $(this).parent('.remm').find('.img_remm').toggle();
1972            });
1973
1974            $(".order_blue_small")
1975                .hover(function () {
1976                    var childs = $(this).children();
1977                    $(childs[2]).show();
1978                }, function () {
1979                    var childs = $(this).children();
1980                    $(childs[2]).hide();
1981                })
1982                .click(function () {
1983                    var childs = $(this).children();
1984                    $(childs[2]).show();
1985                }, function () {
1986                    var childs = $(this).children();
1987                    $(childs[2]).hide();
1988                });
1989
1990            $(".remm")
1991                .hover(function () {
1992                    //Get the children
1993                    var childs = $(this).children();
1994                    $(childs[1]).show();
1995                }, function () {
1996                    var childs = $(this).children();
1997                    $(childs[1]).hide();
1998                })
1999                .click(function () {
2000                    //Get the childs
2001                    var childs = $(this).children();
2002                    $(childs[1]).show();
2003                }, function () {
2004                    var childs = $(this).children();
2005                    $(childs[1]).hide();
2006                });
2007
2008            $('.add_white')
2009                .hover(function () {
2010                    $(this).parent('.more_info').find('.img_upload').show();
2011                }, function () {
2012                    $(this).parent('.more_info').find('.img_upload').hide();
2013                })
2014                .click(function () {
2015                    $(this).parent('.more_info').find('.img_upload').show();
2016                }, function () {
2017                    $(this).parent('.more_info').find('.img_upload').hide();
2018                });
2019            $('.h-info')
2020                .hover(function () {
2021                    $(this).find('.img_upload').show();
2022                }, function () {
2023                    $(this).find('.img_upload').hide();
2024                })
2025                .click(function () {
2026                    $(this).find('.img_upload').show();
2027                }, function () {
2028                    $(this).find('.img_upload').hide();
2029                });
2030            $('.checkout_toggle')
2031                .hover(function () {
2032                    $(this).parent('label').find('.checkout_toggle_show').show();
2033                }, function () {
2034                    $(this).parent('label').find('.checkout_toggle_show').hide();
2035                });
2036        });
2037    </script>
2037
2038
2039<!-- JS Pixels Footer -->
2040<script>
2041    /**
2042     * Push payment info to dataLayer with payment type
2043     * @param {string} paymentType Payment type identifier
2044     */
2045    function pushPaymentInfoToDataLayer(paymentType) {
2046        if (window.gtmNewData.paymentInfoPushed) {
2047            return;
2048        }
2049
2050        var paymentInfoNotEmpty = window.gtmNewData.paymentInfo && Object.keys(window.gtmNewData.paymentInfo).length > 0;
2051
2052        if (window.gtmNewData && paymentInfoNotEmpty && window.gtmNewData.paymentInfo['event'] === 'add_payment_info') {
2053            window.gtmNewData.paymentInfo.ecommerce.payment_type = paymentType;
2054            dataLayer.push({ecommerce: null});  // Clear the previous ecommerce object
2055            dataLayer.push(window.gtmNewData.paymentInfo); window.gtmNewData.paymentInfo = {};
2056            window.gtmNewData.paymentInfoPushed = 1;
2057        }
2058    }
2059
2060    /**
2061     * DEV-3048: Add events click buy button in shopping cart. Push to TikTok and Facebook
2062     * @param {string} btnName Button name
2063     */
2064    function pushEventFBAndTiktok(btnName) {
2065        if (window.gtmNewData.buttonPaymentInfo['event'] !== 'add_payment_info') {
2066            return;
2067        }
2068
2069        var contents = {contents: [{content_name: btnName}]};
2070        var fbEventId = '';
2071        var ttEventId = '30546abf64cbc1849';
2072
2073        // TikTok browser
2074        if (typeof ttq === 'object') {
2075            ttq.track('AddPaymentInfo', contents, {event_id: ttEventId});
2076        }
2077
2078        // Facebook browser
2079        //Dima - remove from script
2080        /*if (typeof fbq === 'function' && fbEventId) {
2081            fbq('trackCustom', 'InitiatedPayment', {}, {eventID: fbEventId});
2082        }*/
2083
2084        // TikTok/Facebook S2S
2085        if (typeof pylToken !== 'undefined') {
2086            $.ajax({
2087                type: 'POST',
2088                url: '/api/trackAddPaymentInfo',
2089                data: {
2090                    PYL_TOKEN: pylToken,
2091                    contents: contents,
2092                    fbEventId: fbEventId,
2093                    ttEventId: ttEventId
2094                }
2095            });
2096        }
2097
2098        window.gtmNewData.buttonPaymentInfo = {};
2099    }
2100
2101    /**
2102     * Push event to dataLayer if valid
2103     * @param {Object} eventData Event data object
2104     * @param {string} eventName Event name to check
2105     */
2106    function pushEventToDataLayer(eventData, eventName) {
2107        if (eventData['event'] === eventName && typeof eventData['event'] === 'string') {
2108            dataLayer.push(eventData);
2109            return true;
2110        }
2111        return false;
2112    }
2113
2114    $(document).ready(function () {
2115        // Initialize GTM data object
2116        window.gtmNewData = {
2117            user: {"event":"GTM page to GA","userID":null,"isLoggedIn":"no","ip_address":"104.234.32.4","sessionID":"j13vukf5skufc84hs78071db1f9g7q013ooegrj4j8hdvoes"},
2118            purchase: [],
2119            registration: [],
2120            addCart: [],
2121            checkout: [],
2122            stepTheme: [],
2123            stepSubject: [],
2124            stepMedium: [],
2125            stepContact: [],
2126            stepArtwork: [],
2127            stepVideo: [],
2128            stepPhotos: [],
2129            stepBackground: [],
2130            stepDesign: [],
2131            stepSize: [],
2132            resume: [],
2133            paymentInfo: [],
2134            buttonPaymentInfo: [],
2135            paymentInfoPushed: 0,
2136        };
2137
2138        window.dataLayer = window.dataLayer || [];
2139
2140        // Push base user data
2141        dataLayer.push(window.gtmNewData.user);
2142
2143        // Push purchase event
2144        if (pushEventToDataLayer(window.gtmNewData.purchase, 'purchase')) {
2145            dataLayer.push({ecommerce: null});  // Clear the previous ecommerce object
2146            dataLayer.push(window.gtmNewData.purchase);
2147
2148            $.ajax({
2149                type: 'POST',
2150                url: '/api/trackPixel',
2151                data: {
2152                    order_id: '',
2153                    pixel: 'gtm_datalayer',
2154                }
2155            });
2156        }
2157
2158        // Push registration event
2159        if (window.gtmNewData.registration['GA_event_category'] === 'registration') {
2160            dataLayer.push(window.gtmNewData.registration);
2161        }
2162
2163        // Push step events
2164        pushEventToDataLayer(window.gtmNewData.stepTheme, 'theme_submit');
2165        pushEventToDataLayer(window.gtmNewData.stepSubject, 'subject_submit');
2166        pushEventToDataLayer(window.gtmNewData.stepMedium, 'medium_submit');
2167        pushEventToDataLayer(window.gtmNewData.stepContact, 'contact_submit');
2168        pushEventToDataLayer(window.gtmNewData.stepArtwork, 'artwork_submit');
2169
2170        if (window.gtmNewData.stepVideo && typeof window.gtmNewData.stepVideo !== "undefined") {
2171            pushEventToDataLayer(window.gtmNewData.stepVideo, 'video_submit');
2172        }
2173
2174        pushEventToDataLayer(window.gtmNewData.stepPhotos, 'photos_submit');
2175        pushEventToDataLayer(window.gtmNewData.stepBackground, 'background_submit');
2176        pushEventToDataLayer(window.gtmNewData.stepDesign, 'design_submit');
2177        pushEventToDataLayer(window.gtmNewData.stepSize, 'size_submit');
2178        pushEventToDataLayer(window.gtmNewData.resume, 'resume_order');
2179
2180        // Push add to cart event
2181        if (pushEventToDataLayer(window.gtmNewData.addCart, 'add_to_cart')) {
2182            $.ajax({
2183                type: 'POST',
2184                url: '/api/trackAddToCart',
2185                data: {type: 'js_gtm_added_cart_item_id'}
2186            });
2187        }
2188
2189        // Push checkout event (with delay)
2190        if (window.gtmNewData.checkout['event'] === 'begin_checkout') {
2191            setTimeout(function () {
2192                dataLayer.push({ecommerce: null});  // Clear the previous ecommerce object
2193                dataLayer.push(window.gtmNewData.checkout);
2194
2195                $.ajax({
2196                    type: 'POST',
2197                    url: '/api/trackAddToCart',
2198                    data: {type: 'js_gtm_sent_checkout'}
2199                });
2200            }, 2000);
2201        }
2202
2203        // Payment method click handlers
2204        $("#quadpay").click(function () {
2205            pushPaymentInfoToDataLayer('quadpay');
2206        });
2207
2208        $('#paypalForm1').click(function () {
2209            pushPaymentInfoToDataLayer('paypal-uk');
2210        });
2211    });
2212</script>
2212
2213    <!-- Zaius Update Coupons -->
2214    
2214<script>
2215        var zaiusUpdateCouponsUrl = 'https://www.paintyourlife.com/api/zaiusUpdateCoupons';
2216        var trackStartCheckoutUrl = 'https://www.paintyourlife.com/api/trackStartCheckout';
2217        var enableTrackStartCheckout = '';
2218        var enableUpdateCoupons = '';
2219        var popupCstEl = '0';
2220        if (enableTrackStartCheckout) {
2221            window.addEventListener('load', function () {
2222                $.ajax({
2223                    url: trackStartCheckoutUrl,
2224                    type: 'POST',
2225                    timeout: 5000,
2226                    data: {
2227                        customer_email: '',
2228                        customer_phone: '',
2229                        customer_name: ``,
2230                        customer_phone_validate: '',
2231                        stepId: null,
2232                        popup_cst_el: popupCstEl,
2233                        visitorId: 'function' === typeof window.getCookie ? window.getCookie('__attentive_id') : '',
2234                    }
2235                }).done(function (res) {
2236                    // Add the following snippet to trigger this event
2237                    /*window.VWO = window.VWO || [];
2238                    VWO.event = VWO.event || function () {VWO.push(["event"].concat([].slice.call(arguments)))};
2239                    VWO.event("leadCapturedOrder");
2240
2241                    console.log('VWO - leadCapturedOrder');*/
2242
2243                    //add a Lead goal to OmniConvert
2244                    if ('object' === typeof _mktz) {
2245                        _mktz.push(['_Goal', 'lead-captured-order', 0]);
2246                        console.log('_mktz - leadCapturedOrder');
2247                    }
2248
2249                    /*if (enableUpdateCoupons) {
2250                        $.ajax({
2251                            url: zaiusUpdateCouponsUrl,
2252                            type: 'POST',
2253                            data: {email: '', name: ``}
2254                        });
2255
2256                        $.ajax({
2257                            url: '/api/addShoppersUpdateToList',
2258                            type: 'POST',
2259                            data: {email: ''}
2260                        });
2261                    }*/
2262                });
2263            });
2264        }
2265    </script>
2265
2266    <!-- [End] Zaius Update Coupons -->
2267
2268<!-- [START] Send tracking blue scripts -->
2269<!-- [End] Send tracking blue scripts -->
2270
2271<!-- [End] JS Pixels Footer -->
2272<script>
2273    var hasUserInfo = 0;
2274    var userEmail = '';
2275    var userPhone = '';
2276    if ('function' === typeof getCookie) {
2277        var attentiveCookie = getCookie('__attentive_id');
2278        window.addEventListener('load', function () {
2279            if (hasUserInfo && 'object' === typeof window.attentive && 'function' === typeof window.attentive.analytics.identify && isLiveServer) {
2280                //console.log('attentiveCookie', attentiveCookie);
2281                if (userPhone) {
2282                    window.attentive.analytics.identify(
2283                        {
2284                            phone: userPhone,
2285                            email: userEmail,
2286                            externalIdentifiers: [
2287                                {
2288                                    name: 'visitor_id',
2289                                    value: attentiveCookie
2290                                }
2291                            ]
2292                        }
2293                    )
2294                } else {
2295                    window.attentive.analytics.identify(
2296                        {
2297                            email: userEmail,
2298                            externalIdentifiers: [
2299                                {
2300                                    name: 'visitor_id',
2301                                    value: attentiveCookie
2302                                }
2303                            ]
2304                        }
2305                    )
2306                }
2307            }
2308        });
2309    }
2310</script>
2310
2311
2312        <!-- Start of paintyourlife Zendesk Widget script -->
2313        
2313<script defer>
2314            window.addEventListener('load', function () {
2315                var node = document.createElement('script');
2316                node.src = 'https://static.zdassets.com/ekr/snippet.js?key=e4f56e11-447e-4c2a-ab28-590fb8d32127';
2317                node.id = 'ze-snippet';
2318                node.async = true;
2319                document.getElementsByTagName('head')[0].appendChild(node);
2320            });
2321        </script>
2321
2322        <!-- End of paintyourlife Zendesk Widget script -->
2323    
2324<script>
2325    window.addEventListener('load', function () {
2326        if ('function' === typeof $ && 'function' === typeof $.fn.slick && $('#hpau-items .slick-initialized').length < 1) {
2327            var hpauItemsNum = 4;
2328            var docWidth     = $(document).width();
2329
2330            if (window.outerWidth <= 768) {
2331                hpauItemsNum = 3;
2332            } else if ($('#hpau-items').closest('.cst-wrapper-full').length > 0) {
2333                if (docWidth >= 1700) {
2334                    hpauItemsNum = 6;
2335                } else if (docWidth >= 1500) {
2336                    hpauItemsNum = 5;
2337                }
2338            }
2339
2340            if ('function' === typeof $.fn.slick) {
2341                $('#hpau-items .slider').slick({
2342                    infinite: true,
2343                    prevArrow: $('#hpau-items .prev'),
2344                    nextArrow: $('#hpau-items .next'),
2345                    slidesToShow: hpauItemsNum,
2346                    slidesToScroll: 1,
2347                });
2348            }
2349        }
2350    });
2351</script>
2351
2352<!-- Dev-2241 -->
2353<script src="https://dqhvdmwzk0rbb.cloudfront.net/cdn/themes/newPainting/js/slick.min.js" ></script>
vendor: 1 bytes, line 2353
2353
2354<script src="https://www.paintyourlife.com/cache/js/d020197788fa639b91e34fa4e60369ff.js" ></script>
vendor: 1 bytes, line 2354
2354
2355<script type="lazyload_int" data-src="https://www.paintyourlife.com/cache/all-js/fc8d38f8ec40017b269de2808cec7de5.js"></script>
vendor: 1 bytes, line 2355
2355
2356<script src="https://www.paintyourlife.com/cache/js/bb603c6e270500053a33bb9d72d2be76.js" ></script>
vendor: 1 bytes, line 2356
2356
2357<script type="lazyload_int" data-src="https://www.paintyourlife.com/cache/all-js/028784da3549c812ebb9e727abdec71c.js"></script>
vendor: 1 bytes, line 2357
2357
2358<script>
2359/*<![CDATA[*/
2360
2361    $(document).ready(function(){
2362        $("a[data-target='#popup-turnaround-table']").on("click", function() {
2363            console.log("turnaround title focus");
2364            $("#title-turnaround-popup").focus();
2365        });
2366    });
2367
2368
2369    window.subscribeErrMsg = {"required":"Error: This field is required!","email":"Please enter a valid email address!"};
2370
2371    if ('function' === typeof $) {
2372        $('#footer.footer-new .menus .title.title-collapse').on('click keydown', function (e) {
2373            if (e.type === 'keydown' && e.key !== 'Enter' && e.key !== ' ') {
2374                return;
2375            }
2376            if (e.type === 'keydown') {
2377                e.preventDefault();
2378            }
2379            var parentEl = $(this).parent();
2380            var content = $(parentEl).find('.menu-items');
2381
2382            $(this).attr('aria-expanded', $(this).attr('aria-expanded') === 'true' ? 'false' : 'true');
2383
2384            if ($(parentEl).hasClass('collapsed')) {
2385                $(parentEl).removeClass('collapsed');
2386                $(content).show('slow');
2387            } else {
2388                $(parentEl).addClass('collapsed');
2389                $(content).hide('slow');
2390            }
2391        });
2392    }
2393    
2394    $('.message-zp-btn').on('click', function () {
2395        focusChatLive();
2396    });
2397    
2398    $('.message-zp-btn').on('keydown', function (e) {
2399        if (e.keyCode === 13) {
2400            focusChatLive();
2401        }
2402    });
2403    
2404    function focusChatLive() {
2405        var interval = setInterval(() => {
2406            var webWidget = $('#webWidget');
2407            if (webWidget.length > 0) {
2408                webWidget.focus();
2409                clearInterval(interval);
2410            }
2411        }, 100);
2412    }
2413    
2414    $('.header-dropdown-localization-new').on('keydown', function (e) {
2415       if (e.keyCode === 13) {
2416            if ($(this).hasClass('language-footer')) {
2417               $(this).find('ul').toggle();
2418            } else {
2419               $(this).click(); 
2420            }
2421       }
2422       
2423       var items = $(this).find('li');
2424       var currentIndex = items.index(document.activeElement);
2425        
2426       if (e.key === 'ArrowDown') {
2427            e.preventDefault();
2428            var nextIndex = (currentIndex + 1) % items.length;
2429            items.eq(nextIndex).focus();
2430       } else if (e.key === 'ArrowUp') {
2431            e.preventDefault();
2432            var prevIndex = (currentIndex - 1 + items.length) % items.length;
2433            items.eq(prevIndex).focus();
2434       } else if (e.key === 'Escape') { //DEV-3815
2435           $(this).find('ul').toggle();
2436            $(this).focus();
2437       }
2438    });
2439    
2440    $('.header-dropdown-localization-new li').on('keydown', function (e) {
2441        if (e.keyCode === 13) {
2442            var url = $(this).attr('data-url');
2443            if (url !== undefined && url != '') {
2444                window.location.href = url;
2445            }
2446        } else if (e.key === 'Escape') { // DEV-3815
2447            let parent = $(this).parent(); 
2448            parent.toggle();
2449            parent.focus();
2450            
2451            if (parent.is(':visible')) {
2452                parent.hide()
2453            } else {
2454                $('.header-dropdown ul:visible').hide();
2455                parent.show();
2456            }
2457       }
2458    });
2459
2460
2461
2462    function removeSpecialCharacterForNameField(str) {
2463        return str.replace(/[!@#$%^&*()_+\-=\[\]{};':"\\`~|,.<>\/?1234567890]+/gi, '');
2464    }
2465    
2466    $('#name-subscribe').on('keyup', function() {
2467        $(this).val(removeSpecialCharacterForNameField($(this).val()))
2468    })
2469
2470    function funcFooterFirstNameOnchange(item) {
2471      const isEmpty = $(item).val() === '';
2472      $('#custom-input-title-newsfname').toggleClass('hidden', isEmpty);
2473      $(item).toggleClass('footer-text-empty', isEmpty);
2474    }
2475    
2476    function funcFooterEmailOnchange(item) {
2477      const isEmpty = $(item).val() === '';
2478      $('#custom-input-title-newsemail').toggleClass('hidden', isEmpty);
2479      $(item).toggleClass('footer-text-empty', isEmpty);
2480    }
2481
2482    if ("function" === typeof $) {
2483        $(document).ready(function() {
2484            if ($("#popup_updated_password").length > 0 && 1 == showPopupPassword) {
2485                $("#popup_updated_password").modal("show");
2486            }
2487        });
2488    }
2489
2490
2491function removeSpecialCharacterForNameField(str) {
2492    return str.replace(/[!@#$%^&*()_+\-=\[\]{};':"\\`~|,.<>\/?1234567890]+/gi, '');
2493}
2494
2495$('#order_name').on('keyup', function() {
2496    $(this).val(removeSpecialCharacterForNameField($(this).val()))
2497})
2498
2499/*]]>*/
2500</script>
vendor: 1 bytes, line 2500
2500
2501<script type="lazyload_int" data-src="https://www.paintyourlife.com/cache/all-js/8090bd9b46ec3ca609c1873fac9f4eef.js"></script>
2501<script>function w3_to_webp(elementImg){for(var ig=0;ig<elementImg.length;ig++){if(elementImg[ig].getAttribute("data-src")!=null&&elementImg[ig].getAttribute("data-src")!=""){var datasrc=elementImg[ig].getAttribute("data-src");elementImg[ig].setAttribute("data-src",datasrc.replace("w3.webp","").replace(w3_webp_path,w3_upload_path));}
2502if(elementImg[ig].getAttribute("data-srcset")!=null&&elementImg[ig].getAttribute("data-srcset")!=""){var datasrcset=elementImg[ig].getAttribute("data-srcset");elementImg[ig].setAttribute("data-srcset",datasrcset.replace(/w3.webp/g,"").split(w3_webp_path).join(w3_upload_path));}
2503if(elementImg[ig].src!=null&&elementImg[ig].src!=""){var src=elementImg[ig].src;elementImg[ig].src=src.replace("w3.webp","").replace(w3_webp_path,w3_upload_path);}
2504if(elementImg[ig].srcset!=null&&elementImg[ig].srcset!=""){var srcset=elementImg[ig].srcset;elementImg[ig].srcset=srcset.replace(/w3.webp/g,"").split(w3_webp_path).join(w3_upload_path);}}}
2505function fixwebp(){if(!w3_hasWebP){var elementNames=["*"];w3_to_webp(document.querySelectorAll("img[data-src$='w3.webp']"));w3_to_webp(document.querySelectorAll("img[src$='w3.webp']"));elementNames.forEach(function(tagName){var tags=document.getElementsByTagName(tagName);var numTags=tags.length;for(var i=0;i<numTags;i++){var tag=tags[i];var style=tag.currentStyle||window.getComputedStyle(tag,false);var bg=style.backgroundImage;if(bg.match("w3.webp")){if(document.all){tag.style.setAttribute("cssText",";background-image: "+bg.replace("w3.webp","").replace(w3_webp_path,w3_upload_path)+" !important;");}else{tag.setAttribute("style",tag.getAttribute("style")+";background-image: "+bg.replace("w3.webp","").replace(w3_webp_path,w3_upload_path)+" !important;");}}}});}}
2506function w3_change_webp(){if(bg.match("w3.webp")){var style1={};if(document.all){tag.style.setAttribute("cssText","background-image: "+bg.replace("w3.webp","").replace(w3_webp_path,w3_upload_path)+" !important");style1=tag.currentStyle||window.getComputedStyle(tag,false);}else{tag.setAttribute("style","background-image: "+bg.replace("w3.webp","").replace(w3_webp_path,w3_upload_path)+" !important");style1=tag.currentStyle||window.getComputedStyle(tag,false);}}}
2507var w3_hasWebP=false,w3_bglazyload=1;(function(){var img=new Image();img.onload=function(){w3_hasWebP=!!(img.height>0&&img.width>0);};img.onerror=function(){w3_hasWebP=false;fixwebp();};img.src=blank_image_webp_url;})();function w3_events_on_end_js(){const lazy_bg_style=document.getElementById("w3_bg_load");if(lazy_bg_style){lazy_bg_style.remove();}
2508w3_bglazyload=0;lazyloadimages(0);}
2509function w3_start_img_load(){var top=this.scrollY;lazyloadimages(top);lazyloadiframes(top);}
2510function w3_events_on_start_js(){var lazyvideos=document.getElementsByTagName("videolazy");convert_to_video_tag(lazyvideos);w3_start_img_load();}
2511window.addEventListener("scroll",function(event){w3_start_img_load();},{passive:true});var win_width=screen.availWidth;var bodyRectMain={};bodyRectMain.top=1;setInterval(function(){lazyloadiframes(top);},8000);setInterval(function(){lazyloadimages(0);fixwebp();},3000);document.addEventListener("click",function(){lazyloadimages(0);});function getDataUrl(img1,width,height){var myCanvas=document.createElement("canvas");var ctx=myCanvas.getContext("2d");var img=new Image();myCanvas.width=parseInt(width);myCanvas.height=parseInt(height);ctx.drawImage(img,0,0);img1.src=myCanvas.toDataURL("image/png");}
2512function lazyload_img(imgs,bodyRect,window_height,win_width){for(var i=0;i<imgs.length;i++){if(imgs[i].getAttribute("data-class")=="LazyLoad"){var elem=imgs[i],elemRect=imgs[i].getBoundingClientRect();if(elemRect.top!=0&&(elemRect.top-(window_height-bodyRect.top))<w3_lazy_load_by_px){compStyles=window.getComputedStyle(imgs[i]);if(compStyles.getPropertyValue("opacity")==0){continue;}
2513if(elem.tagName=="IFRAMELAZY"){var elem=document.createElement("iframe");var index;for(index=imgs[i].attributes.length-1;index>=0;--index){elem.attributes.setNamedItem(imgs[i].attributes[index].cloneNode());}
2514imgs[i].parentNode.replaceChild(elem,imgs[i]);}
2515var src=elem.getAttribute("data-src")?elem.getAttribute("data-src"):elem.src;var srcset=elem.getAttribute("data-srcset")?elem.getAttribute("data-srcset"):"";if(!srcset){elem.onload=function(){this.setAttribute("data-done","Loaded");
2515if(typeof(w3speedup_after_iframe_img_load)=="function"){w3speedup_after_iframe_img_load(this);}}}
2516elem.src=src;if(srcset!=null&srcset!=""){elem.srcset=srcset;}
2517delete elem.dataset.class;}}}}
2518function w3_load_dynamic_blank_img(imgs){for(var i=0;i<imgs.length;i++){if(imgs[i].getAttribute("data-class")=="LazyLoad"){var blanksrc=imgs[i].src;if(typeof(blanksrc)!="undefined"&&blanksrc.indexOf("data:")==-1){if(imgs[i].getAttribute("width")!=null&&imgs[i].getAttribute("height")!=null){var width=parseInt(imgs[i].getAttribute("width"));var height=parseInt(imgs[i].getAttribute("height"));getDataUrl(imgs[i],width,height);}}}}}
2519function convert_to_video_tag(imgs){const t=imgs.length>0?imgs[0]:"";if(t){delete imgs[0];var newelem=document.createElement("video");var index;for(index=t.attributes.length-1;index>=0;--index){newelem.attributes.setNamedItem(t.attributes[index].cloneNode());}
2520newelem.innerHTML=t.innerHTML;t.parentNode.replaceChild(newelem,t);if(typeof(newelem.getAttribute("data-poster"))=="string"){newelem.setAttribute("poster",newelem.getAttribute("data-poster"));}
2521convert_to_video_tag(imgs);}}
2522function lazyload_video(imgs,bodyRect,top,window_height,win_width){for(var i=0;i<imgs.length;i++){var elem=imgs[i],elemRect=imgs[i].getBoundingClientRect();if(elemRect.top!=0&&(elemRect.top-(window_height-bodyRect.top))<w3_lazy_load_by_px){if(typeof(imgs[i].getElementsByTagName("source")[0])=="undefined"){lazyload_video_source(imgs[i],top,window_height,win_width,elemRect,bodyRect);}else{var sources=imgs[i].getElementsByTagName("source");for(var j=0;j<sources.length;j++){var source=sources[j];lazyload_video_source(source,top,window_height,win_width,elemRect,bodyRect);}}}}}
2523function lazyload_video_source(source,top,window_height,win_width,elemRect,bodyRect){if(typeof source!="undefined"&&source.getAttribute("data-class")=="LazyLoad"){if(elemRect.top!=0&&(elemRect.top-(window_height-bodyRect.top))<w3_lazy_load_by_px){var src=source.getAttribute("data-src")?source.getAttribute("data-src"):source.src;var srcset=source.getAttribute("data-srcset")?source.getAttribute("data-srcset"):"";if(source.srcset!=null&source.srcset!=""){source.srcset=srcset;}
2524if(typeof(source.getElementsByTagName("source")[0])=="undefined"){if(source.tagName=="SOURCE"){source.parentNode.src=src;source.parentNode.load();if(source.parentNode.getAttribute("autoplay")!==null){source.parentNode.play();}}else{source.src=src;source.load();if(source.getAttribute("autoplay")!==null){source.play();}}}else{source.parentNode.src=src;}
2525delete source.dataset.class;source.setAttribute("data-done","Loaded");}}}
2526function lazyload_imgbgs(imgbgs,bodyRect,window_height,win_width){for(var i=0;i<imgbgs.length;i++){var elem=imgbgs[i],elemRect=imgbgs[i].getBoundingClientRect(),offset=elemRect.top-bodyRect.top;if((elemRect.top-(window_height-bodyRect.top))<w3_lazy_load_by_px){}}}
2527function lazyloadimages(top){var imgs=document.querySelectorAll("img[data-class=LazyLoad]");var imgbgs=document.querySelectorAll("div:not(.w3_js), section:not(.w3_js), iframe:not(.w3_js)");var sources=document.getElementsByTagName("video");var sources_audio=document.getElementsByTagName("audio");var bodyRect=document.body.getBoundingClientRect();var window_height=window.innerHeight;var win_width=screen.availWidth;if(typeof(load_dynamic_img)!="undefined"){w3_load_dynamic_blank_img(imgs);delete load_dynamic_img;}
2528if(w3_bglazyload&&((bodyRect.top<50&&bodyRectMain.top==1)||Math.abs(bodyRectMain.top)-Math.abs(bodyRect.top)<-50||Math.abs(bodyRectMain.top)-Math.abs(bodyRect.top)>50)){bodyRectMain=bodyRect;lazyload_imgbgs(imgbgs,bodyRect,window_height,win_width);}
2529lazyload_img(imgs,bodyRect,window_height,win_width);lazyload_video(sources,bodyRect,top,window_height,win_width);lazyload_video(sources_audio,bodyRect,top,window_height,win_width);}
2530lazyloadimages(0);function lazyloadiframes(top){var bodyRect=document.body.getBoundingClientRect();var window_height=window.innerHeight;var win_width=screen.availWidth;var iframes=document.querySelectorAll("iframe[data-class=LazyLoad]");lazyload_img(iframes,bodyRect,window_height,win_width);}</script>
2530</body>
2531</html>
2532<!--- optimized by W3 Speedup Controller - Kamalkant ver 2 --->

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.