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 <strong>{characterCount}</strong> 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">×</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">×</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">×</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">×</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">×</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.