1<!DOCTYPE html> 2<!--[if IE 6]> 3<html id="ie6" lang="en-CA"> 4<![endif]--> 5<!--[if IE 7]> 6<html id="ie7" lang="en-CA"> 7<![endif]--> 8<!--[if IE 8]> 9<html id="ie8" lang="en-CA"> 10<![endif]--> 11<!--[if !(IE 6) | !(IE 7) | !(IE 8) ]><!--> 12<html lang="en-CA"> 13<!--<![endif]--> 14<head> 15<meta charset="UTF-8" /> 16<meta name="viewport" content="width=device-width" /> 17<meta name="lnm.location" content="linknowmedia.today" /> 18<title>Reviews | Edmonton, Spruce Grove and Leduc Painting Contractor, Painting Company and Commercial Painting</title> 19<link rel="profile" href="http://gmpg.org/xfn/11" /> 20<link rel="pingback" href="https://mustangpaintingltd.ca/xmlrpc.php" /> 21<!--[if lt IE 9]>
22<script src="https://mustangpaintingltd.ca/wp-content/themes/rpai6/scripts/html5.js" type="text/javascript"></script>
22 23<![endif]--> 24 25<meta name='robots' content='max-image-preview:large' /> 26<meta name="description" content="Reviews | Painting Contractor, Painting Company and Commercial Painting" /><meta name="keywords" content="Edmonton Painting Contractor, Edmonton Painting Company, Edmonton Commercial Painting, Spruce Grove Painting Contractor, Spruce Grove Painting Company, Spruce Grove Commercial Painting, Leduc Painting Contractor, Leduc Painting Company, Leduc Commercial Painting" /><meta name="lnm.themename" content="rpai6" /><link rel='dns-prefetch' href='//www.google.com' /> 27<link rel='dns-prefetch' href='//maps.googleapis.com' /> 28<link rel='dns-prefetch' href='//kit.fontawesome.com' /> 29<style id='wp-img-auto-sizes-contain-inline-css' type='text/css'> 30img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 31/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 32</style> 33<link rel='stylesheet' id='wp-block-library-css' href='https://mustangpaintingltd.ca/wp-includes/css/dist/block-library/style.min.css' media='all' /> 34 35<style id='global-styles-inline-css' type='text/css'> 36:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
36--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
36.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 37/*# sourceURL=global-styles-inline-css */ 38</style> 39 40<link rel='stylesheet' id='normalize-css' href='https://mustangpaintingltd.ca/wp-content/themes/rpai6/normalize.min.css' media='all' /> 41<link rel='stylesheet' id='foundation-css' href='https://mustangpaintingltd.ca/wp-content/themes/rpai6/foundation.css' media='all' /> 42<link rel='stylesheet' id='style-css' href='https://mustangpaintingltd.ca/wp-content/themes/rpai6/style.css' media='all' /> 43<link rel='stylesheet' id='pagestylephp-css' href='https://mustangpaintingltd.ca/wp-content/themes/rpai6/page-css.php' media='all' />
44<script src="https://mustangpaintingltd.ca/wp-content/themes/rpai6/scripts/jquery.min.js" id="jquery-js"></script>
vendor: 1 bytes, line 44
44
45<script src="https://mustangpaintingltd.ca/wp-content/themes/rpai6/js/foundation/foundation.js" id="foundationjs-js"></script>
vendor: 1 bytes, line 45
45
46<script src="https://mustangpaintingltd.ca/wp-content/themes/rpai6/js/foundation/foundation.topbar.js" id="topbar-js"></script>
vendor: 1 bytes, line 46
46
47<script src="https://kit.fontawesome.com/f9c8f97a41.js" id="fontawesome-js"></script>
vendor: 1 bytes, line 47
47
48<script src="https://mustangpaintingltd.ca/wp-content/themes/rpai6/scripts/vendor/modernizr.js" id="modernizr-js"></script>
48 49<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://mustangpaintingltd.ca/xmlrpc.php?rsd" /> 50<meta name="generator" content="WordPress 6.9.9" /> 51<link rel="canonical" href="https://mustangpaintingltd.ca/about-us/reviews/" /> 52<link rel='shortlink' href='https://mustangpaintingltd.ca/?p=52' />
53<script src='https://mustangpaintingltd.ca/?dm=6976c141da8fbb78fea876d5f6dfc5a6&action=load&blogid=1838&siteid=1&t=591449001&back=https%3A%2F%2Fmustangpaintingltd.ca%2Fabout-us%2Freviews%2F' type='text/javascript'></script>
53
53<script type="text/javascript"> 54 var lnmcrAjaxUrl = "https://mustangpaintingltd.ca/wp-admin/admin-ajax.php"; 55 var lnmcrNonce = "b83eb653df"; 56 57 // ultimate url regex 58 function urlRegex(string){ 59 var regex = "((?:(http|https|Http|Https|rtsp|Rtsp):\\/\\/(?:(?:[a-zA-Z0-9\\$\\-\\_\\.\\+\\!\\*\\'\\(\\)" 60 + "\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,64}(?:\\:(?:[a-zA-Z0-9\\$\\-\\_" 61 + "\\.\\+\\!\\*\\'\\(\\)\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,25})?\\@)?)?" 62 + "((?:(?:[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}\\.)+" // named host 63 + "(?:" // plus top level domain 64 + "(?:aero|arpa|asia|a[cdefgilmnoqrstuwxz])" 65 + "|(?:biz|b[abdefghijmnorstvwyz])" 66 + "|(?:cat|com|coop|c[acdfghiklmnoruvxyz])" 67 + "|d[ejkmoz]" 68 + "|(?:edu|e[cegrstu])" 69 + "|f[ijkmor]" 70 + "|(?:gov|g[abdefghilmnpqrstuwy])" 71 + "|h[kmnrtu]" 72 + "|(?:info|int|i[delmnoqrst])" 73 + "|(?:jobs|j[emop])" 74 + "|k[eghimnrwyz]" 75 + "|l[abcikrstuvy]" 76 + "|(?:mil|mobi|museum|m[acdghklmnopqrstuvwxyz])" 77 + "|(?:name|net|n[acefgilopruz])" 78 + "|(?:org|om)" 79 + "|(?:pro|p[aefghklmnrstwy])" 80 + "|qa" 81 + "|r[eouw]" 82 + "|s[abcdeghijklmnortuvyz]" 83 + "|(?:tel|travel|t[cdfghjklmnoprtvwz])" 84 + "|u[agkmsyz]" 85 + "|v[aceginu]" 86 + "|w[fs]" 87 + "|y[etu]" 88 + "|z[amw]))" 89 + "|(?:(?:25[0-5]|2[0-4]" // or ip address 90 + "[0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9])\\.(?:25[0-5]|2[0-4][0-9]" 91 + "|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(?:25[0-5]|2[0-4][0-9]|[0-1]" 92 + "[0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}" 93 + "|[1-9][0-9]|[0-9])))" 94 + "(?:\\:\\d{1,5})?)" // plus option port number 95 + "(\\/(?:(?:[a-zA-Z0-9\\;\\/\\?\\:\\@\\&\\=\\#\\~" // plus option query params 96 + "\\-\\.\\+\\!\\*\\'\\(\\)\\,\\_])|(?:\\%[a-fA-F0-9]{2}))*)?" 97 + "(?:\\b|$)"; 98 if (regex.match(string)) { 99 return 'Error: Urls are not allowed.'; 100 } else { 101 return true; // invalid email. 102 } 103 } 104 105 // detect urls in strings 106 function detectUrl(string) { 107 if (string.match(/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/)) { 108 return true; 109 } else { 110 return false; 111 } 112 } 113 114 function validateTextareaValue(textarea){ 115 if (textarea.length<8 || textarea.length>1000) { 116 return 'Error: Your review text must be between 8 and 1000 characters in length.'; 117 } else { 118 if (detectUrl(textarea) == true) { 119 // Url detected in textarea body. 120 return 'Error: Your review text must NOT contain any urls.'; 121 } else { 122 return true; 123 } 124 } 125 } 126 127 // for text 128 function reviewTextValidation(){ 129 var erriddiv = '#lnmreviewtext-error'; 130 var validate = urlRegex($('#lnmreviewtext').val()); 131 var validated = validateTextareaValue($('#lnmreviewtext').val()); 132 if (validated !== true || validate !== true) { 133 $('#lnmreviewtext').addClass('review-error'); 134 $(erriddiv).html(validated).slideDown(0); 135 return false; 136 } else { 137 return true; 138 }; 139 } 140 141 142 143 144 145 // for input name 146 function validateNameValue(name){ 147 var regex = /^[a-zA-Z\s]+$/; 148 if (name.length<3 || name.length>32) { 149 return 'Error: Your review name must be between 3 and 32 characters in length.'; 150 } else { 151 if (regex.test(name)) { 152 return true; 153 } else { 154 return 'Error: Please use only letters and spaces.'; 155 } 156 } 157 } 158 // for name 159 function reviewNameValidation(){ 160 var erriddiv = '#lnmreviewname-error'; 161 var validated = validateNameValue($('#lnmreviewname').val()); 162 if (validated !== true) { 163 $('#lnmreviewname').addClass('review-error'); 164 $(erriddiv).html(validated).slideDown(0); 165 return false; 166 } else { 167 return true; 168 }; 169 } 170 171 172 173 174 // for input email 175 function validateEmailValue(email){ 176 var regex = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 177 if (regex.test(email)) { 178 return true; 179 } else { 180 // invalid email.
181 return 'Error: The email provided is invalid.'; 182 } 183 } 184 185 // for email 186 function reviewEmailValidation(){ 187 var erriddiv = '#lnmreviewemail-error'; 188 var validated = validateEmailValue($('#lnmreviewemail').val()); 189 if (validated !== true) { 190 $('#lnmreviewemail').addClass('review-error'); 191 $(erriddiv).html(validated).slideDown(0); 192 return false; 193 } else { 194 return true; 195 }; 196 } 197 198 199 200 // for terms 201 function reviewTermsValidation(){ 202 var erriddiv = '#lnmreviewterms-error'; 203 if (!$('#lnmreviewterms').is(':checked')) { 204 $('#lnmreviewterms').addClass('review-error'); 205 $(erriddiv).html('You must agree to terms.').slideDown(0); 206 return false; 207 } else { 208 return true; 209 }; 210 } 211 212 function reviewAllValidation(){ 213 var isvalid = true; 214 215 // Validate Terms 216 var terms = reviewTermsValidation(); 217 if (terms === false) { 218 isvalid = false; 219 }; 220 221 // Validate Text 222 var text = reviewTextValidation(); 223 if (text === false) { 224 isvalid = false; 225 }; 226 // Validate Author 227 var name = reviewNameValidation(); 228 if (name === false) { 229 isvalid = false; 230 }; 231 // Validate Email 232 var email = reviewEmailValidation(); 233 if (email === false) { 234 isvalid = false; 235 }; 236 return isvalid; 237 } 238 239 240 $(function(){ 241 $('.review-error-container').slideUp(0); 242 $('.lnmcr-submit').addClass('disabled'); 243 244 245 $( '#lnmreviewform input, #lnmreviewform textarea' ).on("change", function(){ 246 var erriddiv = '#'+$(this).attr('id')+'-error'; 247 $(this).removeClass('review-error'); 248 $(erriddiv).empty().slideUp(0); 249 }); 250 $( '#lnmreviewform input, #lnmreviewform textarea' ).on("blur", function(){ 251 if ($(this).attr('type') !== 'radio') { 252 253 // lnmreviewname 254 if ($(this).attr('id') === 'lnmreviewname') { 255 reviewNameValidation(); 256 }; 257 // lnmreviewemail 258 if ($(this).attr('id') === 'lnmreviewemail') { 259 reviewEmailValidation(); 260 }; 261 // lnmreviewtext 262 if ($(this).attr('id') === 'lnmreviewtext') { 263 reviewTextValidation(); 264 }; 265 // lnmreviewterms 266 if ($(this).attr('id') === 'lnmreviewterms') { 267 reviewTermsValidation(); 268 }; 269 }; 270 }); 271 272 $('#lnmreviewterms').change(function(){ 273 if (this.checked) { 274 var isvalidreview = reviewAllValidation(); 275 if (isvalidreview === false) { 276 $(this).prop('checked', false); 277 $('.lnmcr-submit').addClass('disabled'); 278 } else { 279 $('.lnmcr-submit').removeClass('disabled'); 280 }; 281 }; 282 }); 283 284 $( '.lnmcr-submit' ).on( 'click', function(e) { 285 e.preventDefault(); 286 var isvalidreview = reviewAllValidation(); 287 if (isvalidreview === true) { 288 var serializedata = $("#lnmreviewform").serialize(); 289 serializedata = serializedata.split('&'); 290 for (var i = serializedata.length - 1; i >= 0; i--) { 291 if (!serializedata[i].startsWith('lnmcr')) { 292 delete serializedata[i]; 293 } 294 }; 295 serializedata = serializedata.flat().join("&"); 296 297 $.ajax({
298 url: lnmcrAjaxUrl, // no â?actionâ here 299 method: 'POST', 300 dataType: 'json', // expect JSON back 301 crossDomain: true, 302 xhrFields: { withCredentials: true }, // send cookies/session 303 data: { 304 action: 'lnmcr_ajax_post', 305 security: lnmcrNonce, 306 lnmreviewterms: $('#lnmreviewterms').val(), 307 lnmreviewserialized: serializedata, 308 }, 309 beforeSend() { 310 $('#lnmreviewform').slideUp(250); 311 $('#review-response-container') 312 .html('<i class="fa-solid fa-spinner fa-spin-pulse"></i>'); 313 }, 314 success(response) { 315 console.log(response); 316 setTimeout(() => { 317 $('#review-response-container').html('<span style="background:white;padding:10px;border-radius:4px;display:block">'+response.data+'<span>'); 318 }, 3500); 319 }, 320 error(xhr) { 321 console.error('AJAX error', xhr.status, xhr.responseText); 322 $('#review-response-container') 323 .html('<span style="background:white;padding:10px;border-radius:4px;display:block" class="error-message">Unexpected error occurred.</span>'); 324 } 325 }); 326 327 } 328 }); 329 }); 330 </script>
330 331<!-- pulled from default Schema Settings & Modified by LinkNow Media Customer Reviews -->
331<script type="application/ld+json">{"@context":"http:\/\/schema.org\/","@type":"LocalBusiness","name":"Mustang Painting Ltd","description":"Painting Contractor, Painting Company and Commercial Painting","image":"https:\/\/mustangpaintingltd.ca\/wp-content\/themes\/rpai6\/images\/rich-card.png","url":"https:\/\/mustangpaintingltd.ca","logo":"","faxNumber":"","email":"[email protected]","areaServed":"Edmonton, Spruce Grove and Leduc","paymentAccepted":"","address":{"@type":"PostalAddress","streetAddress":"","addressLocality":"Edmonton","addressRegion":"AB","postalCode":"T5T 0B6","postOfficeBoxNumber":""},"sameAs":["https:\/\/www.google.com\/maps?cid=12524839150642475738"],"contactPoint":[{"@type":"ContactPoint","telephone":"+1-780-695-8770","contactType":"customer service"}],"telephone":"+1-780-695-8770","openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":"http:\/\/schema.org\/Monday","opens":"08:00","closes":"18:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"http:\/\/schema.org\/Tuesday","opens":"08:00","closes":"18:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"http:\/\/schema.org\/Wednesday","opens":"08:00","closes":"18:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"http:\/\/schema.org\/Thursday","opens":"08:00","closes":"18:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"http:\/\/schema.org\/Friday","opens":"08:00","closes":"18:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"http:\/\/schema.org\/Saturday","opens":"08:00","closes":"18:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"http:\/\/schema.org\/Sunday","opens":"08:00","closes":"18:00"}],"aggregateRating":{"@type":"AggregateRating","ratingValue":5,"reviewCount":1},"review":[{"@type":"Review","author":{"@type":"Person","name":"Brenda Bailey"}
331,"datePublished":"2026-05-19 08:18:57","description":"Excellent team. Great money saving tips and completed ahead of schedule. Also cleaned up after.","name":"default review title","reviewRating":{"@type":"Rating","bestRating":"5","ratingValue":"5","worstRating":"1"}}]}</script>
331 332 <!-- Google tag (gtag.js) (GA4) -->
vendor: 73 bytes, lines 332-333
332 333 <script async src="https://www.googletagmanager.com/gtag/js?id=
333G-VYZMBW2ZV9
vendor: 21 bytes, lines 333-334
333"></script> 334
334<script> 335
vendor: 164 bytes, lines 335-338
335window.dataLayer = window.dataLayer || []; 336 function gtag(){dataLayer.push(arguments);} 337 gtag('js', new Date()); 338 gtag('config', '
338G-VYZMBW2ZV9
vendor: 13 bytes, lines 338-339
338'); 339
339</script>
339 340 341 <meta name="townorder" id="townorder" content="Edmonton, Spruce Grove and Leduc"> 342<meta name="marketspecialties" id="marketspecialties" content="Painting Contractor, Painting Company and Commercial Painting"> 343<meta name="city" id="city" content="Edmonton"> 344<link rel='stylesheet' id='datetimecss-css' href='https://mustangpaintingltd.ca/wp-content/plugins/linknowmedia-email/styles/jquery.datetimepicker.css' media='all' /> 345 346</head> 347<body class="wp-singular page-template-default page page-id-52 page-child parent-pageid-16 wp-theme-rpai6"> 348 349<header class="header-wrapper header-inner animated onload-0"> 350 <div class="mobile-menu hide-for-large-up"> 351 <span class="mobile-navigation navigation-toggle"><i class="toggle-bars fa fa-bars"></i></span> 352 <div class="navigation-wrapper fullwidth-navigation"> 353 <nav class="top-bar fading" data-options=" custom_back_text: true; back_text: Back;" data-topbar itemscope itemtype="http://www.schema.org/SiteNavigationElement"> 354 <ul class="title-area"> 355 <li class="name"></li> 356 <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li> 357 </ul> 358 <div class="top-bar-section section"> 359 <div class="menu"><ul> 360<li class="page_item page-item-15"><a href="https://mustangpaintingltd.ca/">Home</a></li> 361<li class="page_item page-item-16 page_item_has_children current_page_ancestor current_page_parent active has-dropdown not-click has-dropdown not-click"><a href="https://mustangpaintingltd.ca/about-us/">About</a> 362<ul class='dropdown'> 363 <li class="page_item page-item-130"><a href="https://mustangpaintingltd.ca/about-us/blog/">Blog</a></li> 364 <li class="page_item page-item-52 current_page_item active"><a href="https://mustangpaintingltd.ca/about-us/reviews/" aria-current="page">Reviews</a></li> 365</ul> 366</li> 367<li class="page_item page-item-17 page_item_has_children has-dropdown not-click"><a href="https://mustangpaintingltd.ca/painting/">Painting</a> 368<ul class='dropdown'> 369 <li class="page_item page-item-18"><a href="https://mustangpaintingltd.ca/painting/commercial-painting/">Commercial Painting</a></li> 370 <li class="page_item page-item-19"><a href="https://mustangpaintingltd.ca/painting/deck-painting/">Deck Painting</a></li> 371 <li class="page_item page-item-20"><a href="https://mustangpaintingltd.ca/painting/deck-staining/">Deck Staining</a></li> 372 <li class="page_item page-item-21"><a href="https://mustangpaintingltd.ca/painting/exterior-brick-painters/">Exterior Brick Painters</a></li> 373 <li class="page_item page-item-22"><a href="https://mustangpaintingltd.ca/painting/exterior-painting/">Exterior Painting</a></li> 374 <li class="page_item page-item-23"><a href="https://mustangpaintingltd.ca/painting/faux-painting/">Faux Painting</a></li> 375 <li class="page_item page-item-24"><a href="https://mustangpaintingltd.ca/painting/fence-painters/">Fence Painters</a></li> 376 <li class="page_item page-item-25"><a href="https://mustangpaintingltd.ca/painting/house-painting/">House Painting</a></li> 377 <li class="page_item page-item-26"><a href="https://mustangpaintingltd.ca/painting/industrial-painting/">Industrial Painting</a></li> 378 <li class="page_item page-item-27"><a href="https://mustangpaintingltd.ca/painting/interior-painting/">Interior Painting</a></li> 379 <li class="page_item page-item-28"><a href="https://mustangpaintingltd.ca/painting/kitchen-cabinet-painting/">Kitchen Cabinet Painting</a></li> 380 <li class="page_item page-item-29"><a href="https://mustangpaintingltd.ca/painting/painting-company/">Painting Company</a></li> 381 <li class="page_item page-item-30"><a href="https://mustangpaintingltd.ca/painting/painting-estimates/">Painting Estimates</a></li> 382 <li class="page_item page-item-31"><a href="https://mustangpaintingltd.ca/painting/spray-applied-exterior-painting/">Spray-Applied Exterior Painting</a></li> 383 <li class="page_item page-item-128"><a href="https://mustangpaintingltd.ca/painting/service-areas/">Service Areas</a></li> 384</ul> 385</li> 386<li class="page_item page-item-32 page_item_has_children has-dropdown not-click"><a href="https://mustangpaintingltd.ca/other-services/">Other Services</a> 387<ul class='dropdown'> 388 <li class="page_item page-item-33"><a href="https://mustangpaintingltd.ca/other-services/drywall-installation/">Drywall Installation</a></li> 389 <li class="page_item page-item-34"><a href="https://mustangpaintingltd.ca/other-services/drywall-repair-services/">Drywall Repair Services</a></li> 390 <li class="page_item page-item-35"><a href="https://mustangpaintingltd.ca/other-services/epoxy-flooring/">Epoxy Flooring</a></li> 391 <li class="page_item page-item-36"><a href="https://mustangpaintingltd.ca/other-services/power-washing-services/">Power Washing Services</a></li> 392 <li class="page_item page-item-37"><a href="https://mustangpaintingltd.ca/other-services/pressure-washing-services/">Pressure Washing Services</a></li> 393 <li class="page_item page-item-38"><a href="https://mustangpaintingltd.ca/other-services/stucco-installation/">Stucco Installation</a></li> 394 <li class="page_item page-item-39"><a href="https://mustangpaintingltd.ca/other-services/stucco-repair/">Stucco Repair</a></li> 395 <li class="page_item page-item-40"><a href="https://mustangpaintingltd.ca/other-services/wallpaper-installation-services/">Wallpaper Installation Services</a></li> 396 <li class="page_item page-item-41"><a href="https://mustangpaintingltd.ca/other-services/wallpaper-removal-services/">Wallpaper Removal Services</a></li> 397 <li class="page_item page-item-245"><a href="https://mustangpaintingltd.ca/other-services/graffiti-removal/">Graffiti Removal</a></li> 398 <li class="page_item page-item-241"><a href="https://mustangpaintingltd.ca/other-services/sheetrock-repair/">Sheetrock Repair</a></li> 399</ul> 400</li> 401<li class="page_item page-item-42"><a href="https://mustangpaintingltd.ca/faq/">FAQ</a></li> 402<li class="page_item page-item-43"><a href="https://mustangpaintingltd.ca/gallery/">Gallery</a></li> 403<li class="page_item page-item-54"><a href="https://mustangpaintingltd.ca/apply-now/">Apply Now</a></li> 404<li class="page_item page-item-44"><a href="https://mustangpaintingltd.ca/contact-us/">Contact</a></li> 405</ul></div> 406</div></nav> 407 </div> 408 </div> 409 <div class="row header-bar"> 410 <div class="large-8 small-12 columns header-details"> 411 <div class="logo-wrapper"> 412 <a href="/" title="Mustang Painting Ltd"><img src="https://mustangpaintingltd.ca/wp-content/themes/rpai6/images/logo.png" alt="Mustang Painting Ltd Logo" width="163" height="200"></a> 413 </div>
414 <div class="company-details text-center"> 415 <p class="title"><a href="/" title="Mustang Painting Ltd">Mustang Painting Ltd</a></p> 416 <p class="header-company-serviceorder">Edmonton Painting Contractor, Painting Company and Commercial Painting</p> 417 </div> 418 </div> 419 <div class="large-4 columns header-cta hide-for-medium-down"> 420 <span>Call Us Now:</span> <a class="header-phone" href="tel:+17806958770">(780) 695-8770 </a> 421 </div> 422 </div> 423 <div class="row slider-row show-for-medium-down"> 424 <div class="large-12 columns mobile-slider-wrapper strip-padding"> 425 <img src="https://mustangpaintingltd.ca/wp-content/uploads/sites/1838/2025/07/mobile-slide.jpg" alt="Mustang Painting Ltd Painting Contractor, Painting Company and Commercial Painting" width="1024" height="298" /> 426 </div> 427 </div> 428 <div class="row hide-for-medium-down"> 429 <div class="large-12 columns navigation-wrapper box-shadow"> 430 <nav class="top-bar fading" data-options=" custom_back_text: true; back_text: Back;" data-topbar itemscope itemtype="http://www.schema.org/SiteNavigationElement"> 431 <ul class="title-area"> 432 <li class="name"></li> 433 <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li> 434 </ul> 435 <div class="top-bar-section section"> 436 <div class="menu"><ul> 437<li class="page_item page-item-15"><a href="https://mustangpaintingltd.ca/">Home</a></li> 438<li class="page_item page-item-16 page_item_has_children current_page_ancestor current_page_parent active has-dropdown not-click has-dropdown not-click"><a href="https://mustangpaintingltd.ca/about-us/">About</a> 439<ul class='dropdown'> 440 <li class="page_item page-item-130"><a href="https://mustangpaintingltd.ca/about-us/blog/">Blog</a></li> 441 <li class="page_item page-item-52 current_page_item active"><a href="https://mustangpaintingltd.ca/about-us/reviews/" aria-current="page">Reviews</a></li> 442</ul> 443</li> 444<li class="page_item page-item-17 page_item_has_children has-dropdown not-click"><a href="https://mustangpaintingltd.ca/painting/">Painting</a> 445<ul class='dropdown'> 446 <li class="page_item page-item-18"><a href="https://mustangpaintingltd.ca/painting/commercial-painting/">Commercial Painting</a></li> 447 <li class="page_item page-item-19"><a href="https://mustangpaintingltd.ca/painting/deck-painting/">Deck Painting</a></li> 448 <li class="page_item page-item-20"><a href="https://mustangpaintingltd.ca/painting/deck-staining/">Deck Staining</a></li> 449 <li class="page_item page-item-21"><a href="https://mustangpaintingltd.ca/painting/exterior-brick-painters/">Exterior Brick Painters</a></li> 450 <li class="page_item page-item-22"><a href="https://mustangpaintingltd.ca/painting/exterior-painting/">Exterior Painting</a></li> 451 <li class="page_item page-item-23"><a href="https://mustangpaintingltd.ca/painting/faux-painting/">Faux Painting</a></li> 452 <li class="page_item page-item-24"><a href="https://mustangpaintingltd.ca/painting/fence-painters/">Fence Painters</a></li> 453 <li class="page_item page-item-25"><a href="https://mustangpaintingltd.ca/painting/house-painting/">House Painting</a></li> 454 <li class="page_item page-item-26"><a href="https://mustangpaintingltd.ca/painting/industrial-painting/">Industrial Painting</a></li> 455 <li class="page_item page-item-27"><a href="https://mustangpaintingltd.ca/painting/interior-painting/">Interior Painting</a></li> 456 <li class="page_item page-item-28"><a href="https://mustangpaintingltd.ca/painting/kitchen-cabinet-painting/">Kitchen Cabinet Painting</a></li> 457 <li class="page_item page-item-29"><a href="https://mustangpaintingltd.ca/painting/painting-company/">Painting Company</a></li> 458 <li class="page_item page-item-30"><a href="https://mustangpaintingltd.ca/painting/painting-estimates/">Painting Estimates</a></li> 459 <li class="page_item page-item-31"><a href="https://mustangpaintingltd.ca/painting/spray-applied-exterior-painting/">Spray-Applied Exterior Painting</a></li> 460 <li class="page_item page-item-128"><a href="https://mustangpaintingltd.ca/painting/service-areas/">Service Areas</a></li> 461</ul> 462</li> 463<li class="page_item page-item-32 page_item_has_children has-dropdown not-click"><a href="https://mustangpaintingltd.ca/other-services/">Other Services</a> 464<ul class='dropdown'> 465 <li class="page_item page-item-33"><a href="https://mustangpaintingltd.ca/other-services/drywall-installation/">Drywall Installation</a></li> 466 <li class="page_item page-item-34"><a href="https://mustangpaintingltd.ca/other-services/drywall-repair-services/">Drywall Repair Services</a></li> 467 <li class="page_item page-item-35"><a href="https://mustangpaintingltd.ca/other-services/epoxy-flooring/">Epoxy Flooring</a></li> 468 <li class="page_item page-item-36"><a href="https://mustangpaintingltd.ca/other-services/power-washing-services/">Power Washing Services</a></li> 469 <li class="page_item page-item-37"><a href="https://mustangpaintingltd.ca/other-services/pressure-washing-services/">Pressure Washing Services</a></li> 470 <li class="page_item page-item-38"><a href="https://mustangpaintingltd.ca/other-services/stucco-installation/">Stucco Installation</a></li> 471 <li class="page_item page-item-39"><a href="https://mustangpaintingltd.ca/other-services/stucco-repair/">Stucco Repair</a></li> 472 <li class="page_item page-item-40"><a href="https://mustangpaintingltd.ca/other-services/wallpaper-installation-services/">Wallpaper Installation Services</a></li> 473 <li class="page_item page-item-41"><a href="https://mustangpaintingltd.ca/other-services/wallpaper-removal-services/">Wallpaper Removal Services</a></li> 474 <li class="page_item page-item-245"><a href="https://mustangpaintingltd.ca/other-services/graffiti-removal/">Graffiti Removal</a></li> 475 <li class="page_item page-item-241"><a href="https://mustangpaintingltd.ca/other-services/sheetrock-repair/">Sheetrock Repair</a></li> 476</ul> 477</li> 478<li class="page_item page-item-42"><a href="https://mustangpaintingltd.ca/faq/">FAQ</a></li> 479<li class="page_item page-item-43"><a href="https://mustangpaintingltd.ca/gallery/">Gallery</a></li> 480<li class="page_item page-item-54"><a href="https://mustangpaintingltd.ca/apply-now/">Apply Now</a></li> 481<li class="page_item page-item-44"><a href="https://mustangpaintingltd.ca/contact-us/">Contact</a></li> 482</ul></div> 483</div></nav> 484 </div> 485 </div> 486</header> 487<div class="mobile-sticky-cta"> 488 <a class="sticky-btn-1" href="tel:+17806958770">Call Us </a> 489 <a href="/contact-us/" class="sticky-btn-2" title="Send Us A Message">Message Us</a> 490 </div><div class="clearfix"></div><main> 491<div class="row lnmcr-row"> 492 <div class="large-12 columns"> 493 <h1 class="text-center">Mustang Painting Ltd Reviews</h1> 494 <div class="large-6 columns"> 495 <div class="row lnmcr-row"><div class="lnmcr-container large-12 columns"><form id="lnmreviewform" class="lnmreviewform" name="lnmreviewform" method="post" action="https://mustangpaintingltd.ca/about-us/reviews/"><h3 class="text-center">Leave a Review</h3><label for="lnmreviewtext">Review Text</label><textarea id="lnmreviewtext" class="validate[false]" name="lnmcrtext" placeholder="Please leave your review here."></textarea>
495<div id="lnmreviewtext-error" class="review-error-container"></div><label for="lnmreviewrating">Rating</label><div class="star-rating"><input class="radiostar" type="radio" name="lnmcrrating" value="5" checked><input class="radiostar" type="radio" name="lnmcrrating" value="4"><input class="radiostar" type="radio" name="lnmcrrating" value="3"><input class="radiostar" type="radio" name="lnmcrrating" value="2"><input class="radiostar" type="radio" name="lnmcrrating" value="1"></div><div id="lnmreviewrating-error" class="review-error-container"></div><label for="lnmreviewname">Your Name</label><input id="lnmreviewname" type="text" name="lnmcrname"><div id="lnmreviewname-error" class="review-error-container"></div><label for="lnmreviewemail">Your Email</label><input id="lnmreviewemail" type="text" name="lnmcremail"><div id="lnmreviewemail-error" class="review-error-container"></div><label for="lnmreviewterms"><input id="lnmreviewterms" name="lnmreviewterms" type="checkbox" required="" value="1"> This review is based on my own experience and is my genuine opinion.</label><div id="lnmreviewterms-error" class="review-error-container"></div><input style="display:none;" id="lnmcrhp" type="checkbox" name="lnmcrhp"><button class="button lnmcr-submit">submit</button><input type="hidden" name="akismet_check" value="1"><input type="hidden" name="lnm_recaptcha" value="1"><input type="hidden" name="g-recaptcha-response" value=""></form><div id="review-response-container" class="large-12 columns large-centered text-center"></div></div></div> 496 497 </div> 498 499 <div class="large-6 columns"> 500 <div class="lnmreviews"> 501 <div class="lnmcr-review-card glsr-review"> 502 <div class="lnmcr-review-card-text glsr-review-excerpt"> 503 <p>Excellent team. Great money saving tips and completed ahead of schedule. Also cleaned up after.</p> 504 505 </div> 506 <div class="lnmcr-review-card-rating large-12 columns strip-padding"> 507 ★★★★★ 508 </div> 509 <div class="lnmcr-review-card-author glsr-review-author"> 510 <span>Brenda Bailey</span> 511 </div> 512 <p class="large-12 columns text-center"><sup>19 May 2026</sup><br></p> 513 </div> 514 </div> 515 </div> 516 </div> 517 518 </div> 519 520</main><div class="clearfix"></div> 521<footer class="footer-wrapper"> 522 <div class="large-10 medium-10 large-centered medium-centered columns"> 523 <div class="row footer-inner"> 524 <div class="large-4 columns footer-address strip-padding-left"> 525 <h2>Contact Info</h2> 526 <p>Edmonton, AB T5T 0B6</p> 527 <p>Phone: (780) 695-8770</p> 528 <p>Email: [email protected]</p> 529 </div> 530 <div class="large-4 columns strip-padding footer-hours"> 531 <h2>Hours of Operation</h2> 532 <p>Mon - Sun: 8:00AM - 6:00PM</p> 533 <p><em>Emergency services upon request</em></p> 534 <br> 535 </div> 536 <div class="large-2 columns strip-padding text-center footer-address"> 537 <h2>Social</h2> 538 <a href="https://www.google.com/maps?cid=12524839150642475738" title="Mustang Painting Ltd's Google Maps" target="_blank" rel="noopener noreferrer"><i class="fa fa-map-marker" aria-hidden="true"></i></a><br><br> 539 </div> 540 <div class="large-2 columns lnm-logo text-center strip-padding-right"> 541 <img src="https://linknow.com/linknow_images/linknow-logo-black.png" alt="Website Hosted By LinkNow⢠Media" width="200" height="75" loading="lazy" /> 542 </div> 543 </div> 544 </div> 545</footer><div class="lnm-policies text-center lnm-policy-footer-links"><ul class="lnm-policy-useful-links"></ul></div><style>.lnm-policies {background: white;}.lnm-policies li, .lnm-policies li.lnm-policy-list-item{display: inline-block;padding: 5px;}.lnm-policies a, .lnm-policies a.lnm-policy-list-link {color:#333333;}.lnm-policies ul.useful-links, .lnm-policies ul.lnm-policy-useful-links {color:#333333;}cmp-toolbar {display: inline-block !important;}@media (width <= 767px) {.lnm-policies { padding-bottom:100px;}}</style> 546 547<!-------The form------>
548<div class="custom-slide-out-wrapper hide-for-medium-down" id="slide-out"> 549 <span class="custom-form-toggle"><i class="fa fa-angle-left"></i></span> 550 <div class="custom-slide-out-content"> 551 <span class="slide-out-title">Contact Us For A Free Estimate</span> 552 <div class="custom-slide-out-form"> 553 <form id="contactForm" class="contactForm" method="POST"> 554 <input type="hidden" name="submitContact"> 555 <div class="groupWrapper"> 556 <label for="fullName">Full name</label> 557 <input class="slideOutInput validate[required] shortField" type="text" name="fullName" id="fullName" title="Full Name"> 558 </div> 559 <div class="groupWrapper"> 560 <label for="phoneNumber">Phone number</label> 561 <input class="slideOutInput validate[required,custom[phone]]" type="text" name="phoneNumber" id="phoneNumber" title="Phone Number"> 562 </div> 563 <div class="groupWrapper"> 564 <label for="emailAddress">email address</label> 565 <input class="slideOutInput validate[required,custom[emailAddress]]" type="text" name="emailAddress" id="emailAddress" title="Email Address"> 566 </div> 567 <div class="groupWrapper"> 568 <label for="emailMessage">Message</label> 569 <textarea class="validate[required]" type="text" name="emailMessage" id="emailMessage" title="Enter your message"></textarea> 570 </div> 571 572 573 <div class="submitWrapper slideOut"> 574 <button class="submit right" name="submitContact" id="submitContact" type="submit">SEND</button> 575 </div> 576 <input type="hidden" name="akismet_check" value="1"><input type="hidden" name="lnm_recaptcha" value="1"><input type="hidden" name="g-recaptcha-response" value=""></form> 577<!----- end of form ---> 578 </div> 579 580 </div> 581 582 </div>
583<script type="speculationrules"> 584{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/sites/1838/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/rpai6/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 585</script>
vendor: 1 bytes, line 585
585
586<script type="text/javascript">!function(){ var b=function(){ window.__AudioEyeSiteHash = "dc4b14b250158a08beb24b73449ab0a5"; var a=document.createElement("script"); a.src="https://wsmcdn.audioeye.com/aem.js"; a.type="text/javascript"; a.setAttribute("async",""); document.getElementsByTagName("body")[0].appendChild(a)}; "complete"!==document.readyState?window.addEventListener?window.addEventListener("load",b):window.attachEvent&&window.attachEvent("onload",b):b()}(); </script>
586 587<style> 588.lnmreviewform { 589 width: 750px; 590 max-width: 100%; 591 margin: 0 auto; 592} 593.lnmreviewform #lnmreviewtext { 594 min-height: 150px; 595} 596.lnmcr-review-card { 597 margin: 45px auto; 598 padding: 45px 45px 65px 45px; 599 border: 1px solid #CCCCCC; 600 width: 100%; 601 max-width: 750px; 602} 603.lnmcr-review-card-title h3 { 604 margin: 0 auto; 605 606 padding: 0 0 10px 0; 607} 608.lnmcr-review-card-rating { 609 color:#ffcc00; 610 width: 100%; 611 max-width: 165px; 612 font-size: 28px; 613 display: inline-block; 614 float: left; 615} 616.lnmcr-review-card-author { 617 display: inline-block; 618 float: right; 619 padding: 0 25px 0 0; 620 621} 622.lnmcr-review-card-text { 623 margin: 20px 0; 624} 625.lnmcr-review-card-author span { 626 text-transform: capitalize; 627 display: block; 628 position: relative; 629 font-style: italic; 630 font-weight: bold; 631} 632 633 634.lnmcr-review-card-author span::before { 635 content: ""; 636 display: block; 637 width: 15px; 638 height: 1px; 639 background: #CCCCCC; 640 position: absolute; 641 top: 14px; 642 left: -25px; 643} 644 645.lnmcr-row { 646 padding-top: 45px; 647 padding-bottom: 45px; 648} 649.star-rating { 650 font-size: 40px; 651 padding: 0.25em 0.375em; 652 display: inline-flex; 653 flex-flow: row-reverse; 654 655 overflow: hidden; 656 border-radius: 0.75em; 657 background-color: white; 658} 659.star-rating input { 660 appearance:initial; 661 cursor: pointer; 662 position: relative; 663 padding: 0; 664 width: 1em; 665 height: 1em; 666 float: left; 667 text-align: center; 668 line-height: 1em; 669} 670.star-rating input::before, 671.star-rating input::after { 672 display: block; 673 top: 0; 674 bottom: 0; 675 left: 0; 676 right: 0; 677 position: absolute; 678} 679.star-rating input::before { 680 content: ""; 681 background-color: white; 682} 683.star-rating input::after { 684 content: "\2605"; 685 color: #CCCCCC; 686-webkit-transition: color 0.2s ease; 687-moz-transition: color 0.2s ease; 688-ms-transition: color 0.2s ease; 689-o-transition: color 0.2s ease; 690transition: color 0.2s ease; 691} 692.star-rating input:checked::after, 693.star-rating input:checked ~ input::after { 694 color: #ffcc00; 695} 696input.hasError, 697textarea.hasError { 698 border-color: red; 699} 700input.lnmcr-input-error { 701 border: 1px solid red !important; 702} 703input.errorType-charlength { 704 box-shadow: 10px 5px 5px red; 705} 706 707input.error { 708 border: 1px solid red !important; 709 /*box-shadow: 10px 5px 5px red;*/ 710} 711 712.hasError.errorType-charlength::after { 713 /*content: "x";*/ 714} 715.lnmreviewtextformError { 716 display: none !important; 717} 718 719#lnmreviewform .review-error { 720 border: 1px solid red; 721} 722span.success-message { 723 background: #4BB543; 724 color: white; 725 padding: 15px; 726} 727span.error-message { 728 background: #D32F2F; 729 color: white; 730 padding: 15px; 731} 732 733 734 735 736#review-response-container i.fa-solid.fa-spinner.fa-spin-pulse { 737 font-size: 28px; 738} 739 740.lnmcr-review-pagination a, 741.lnmcr-review-pagination span.current { 742 /* padding: 5px 10px; */ 743 background: none; 744 width: 30px; 745 height: 30px; 746 line-height: 26px; 747 margin: 0 2px 0 0; 748 border: 1px solid #CCCCCC; 749 display: inline-block; 750 font-size: 16px; 751} 752.lnmcr-review-pagination span.current { 753 background: #333; 754 color: white; 755} 756.lnmcr-review-pagination a:hover { 757 background: #333; 758 color: white; 759} 760input.review-error, textarea.review-error { 761 margin-bottom: 0; 762} 763.review-error-container { 764 display: none; 765 padding: 10px; 766 border-left: 1px solid red; 767 border-bottom: ; 768 border-bottom: 1px solid red; 769 border-right: 1px solid red; 770 margin-bottom: 25px; 771 color: white; 772 font-weight: bold; 773 background: red; 774} 775 776@media only screen and (max-width: 650px) {.lnmcr-review-card {max-width: 100%;}} 777</style>
vendor: 71 bytes, lines 777-779
777 778 779<script src="https://www.google.com/recaptcha/enterprise.js?render=
7796LflbUQsAAAAADQa-oHKDxYnfKpy0TfaniKv449Y
vendor: 45 bytes, line 779
779" id="lnm-recaptcha-enterprise-js"></script>
780<script id="lnm-recaptcha-enterprise-js-after"> 781/* <![CDATA[ */ 782console.log('[LNM] recaptcha inline loaded'); 783 784(function(){ 785 function ensureHidden(form){ 786 var el = form.querySelector('input[name="g-recaptcha-response"]'); 787 if(!el){ 788 el = document.createElement('input'); 789 el.type = 'hidden'; 790 el.name = 'g-recaptcha-response'; 791 form.appendChild(el); 792 } 793 return el; 794 } 795 796document.addEventListener('click', function(e){ 797 var el = e.target.closest('#contactForm #submitContact, #contactForm .submit, #requestForm #submitContact'); 798 if(!el) return; 799 800 var form = el.closest('form'); 801 if(!form) return; 802 803 // trigger a real submit event path (lets other listeners run) 804 e.preventDefault(); 805 806 if (form.requestSubmit) { 807 form.requestSubmit(); // preferred: dispatches submit event 808 } else { 809 // fallback for older browsers 810 var evt = document.createEvent('Event'); 811 evt.initEvent('submit', true, true); 812 if (form.dispatchEvent(evt)) { 813 form.submit(); 814 } 815 } 816}, true); 817 818 819 820 document.addEventListener('submit', function(e){ 821 var form = e.target; 822 if(!form || form.nodeName !== 'FORM') return; 823 824console.log('[LNM] submit captured', form); 825 826 // Only forms you explicitly mark in the HTML. 827 if(!form.querySelector('input[name="lnm_recaptcha"][value="1"]')) return; 828 829 // Prevent infinite loop: after we inject a token once, allow the submit. 830 if(form.dataset && form.dataset.lnmRecaptchaDone === '1') return; 831 832 var hidden = ensureHidden(form); 833 834 // If we already have a token, let it submit. 835 if(hidden && hidden.value) { 836 if(form.dataset) form.dataset.lnmRecaptchaDone = '1'; 837 return; 838 } 839 840 // If grecaptcha isn't available, DO NOT block submission. 841 // (Server-side enforce may still reject; but UX won't "freeze".) 842 if(!window.grecaptcha || !grecaptcha.enterprise || !grecaptcha.enterprise.execute) { 843 return; 844 } 845 846 // From this point on, we are taking over submission. 847 e.preventDefault(); 848 849 var done = false; 850 851 function finishSubmit(){ 852 if(done) return; 853 done = true; 854 if(form.dataset) form.dataset.lnmRecaptchaDone = '1'; 855 form.submit(); 856 } 857 858 // Hard safety: never allow recaptcha to stall the UX. 859 var timer = setTimeout(function(){ 860 finishSubmit(); // fallback: submit even if token never arrives 861 }, 6000); 862 863 try { 864 grecaptcha.enterprise.ready(function(){ 865 try { 866 var p = grecaptcha.enterprise.execute('6LflbUQsAAAAADQa-oHKDxYnfKpy0TfaniKv449Y', {action: 'lnm_email_121014245'}); 867 if(p && typeof p.then === 'function'){ 868 p.then(function(token){ 869 clearTimeout(timer); 870 hidden.value = token || ''; 871 finishSubmit(); 872 }).catch(function(){ 873 clearTimeout(timer); 874 finishSubmit(); 875 }); 876 } else { 877 clearTimeout(timer); 878 finishSubmit(); 879 } 880 } catch(err){ 881 clearTimeout(timer); 882 finishSubmit(); 883 } 884 }); 885 } catch(err){ 886 clearTimeout(timer); 887 finishSubmit(); 888 } 889 }, true); 890})(); 891//# sourceURL=lnm-recaptcha-enterprise-js-after 892/* ]]> */ 893</script>
vendor: 1 bytes, line 893
893
894<script src="https://mustangpaintingltd.ca/wp-content/themes/rpai6/scripts/lnm-scripts.min.js" id="lnmscripts-js"></script>
vendor: 1 bytes, line 894
894
895<script src="https://mustangpaintingltd.ca/wp-content/plugins/linknowmedia-email/scripts/compiled.js" id="formjs-js"></script>
vendor: 1 bytes, line 895
895
896<script id="formjs-js-after"> 897/* <![CDATA[ */ 898(function () { 899 function getForms() { 900 return Array.prototype.slice.call(document.querySelectorAll('form.contactForm, form#contactForm')); 901 } 902 903 function getKey(form) { 904 var host = window.location.host || ''; 905 var path = window.location.pathname || ''; 906 var formId = form ? (form.id || 'contactForm') : 'contactForm'; 907 return 'lnm_form_retention:' + host + ':' + path + ':' + formId; 908 } 909 910 function trackedNames() { 911 return ['fullName', 'phoneNumber', 'emailAddress', 'emailMessage']; 912 } 913 914 function saveForm(form) { 915 if (!form || !window.sessionStorage) return; 916 917 var data = {}; 918 trackedNames().forEach(function (name) { 919 var field = form.querySelector('[name="' + name + '"]'); 920 if (field) { 921 data[name] = field.value || ''; 922 } 923 }); 924 925 try { 926 sessionStorage.setItem(getKey(form), JSON.stringify(data)); 927 } catch (e) {} 928 } 929 930 function restoreForm(form) { 931 if (!form || !window.sessionStorage) return; 932 933 try { 934 var raw = sessionStorage.getItem(getKey(form)); 935 if (!raw) return; 936 937 var data = JSON.parse(raw); 938 if (!data || typeof data !== 'object') return; 939 940 trackedNames().forEach(function (name) { 941 var field = form.querySelector('[name="' + name + '"]'); 942 if (!field) return; 943 944 if ((field.value || '') === '' && typeof data[name] !== 'undefined') { 945 field.value = data[name]; 946 } 947 }); 948 } catch (e) {} 949 } 950 951 function clearForCurrentPage() { 952 if (!window.sessionStorage) return; 953
954 getForms().forEach(function (form) { 955 try { 956 sessionStorage.removeItem(getKey(form)); 957 } catch (e) {} 958 }); 959 960 if (!getForms().length) { 961 var host = window.location.host || ''; 962 var path = window.location.pathname || ''; 963 try { 964 sessionStorage.removeItem('lnm_form_retention:' + host + ':' + path + ':contactForm'); 965 } catch (e) {} 966 } 967 } 968 969 document.addEventListener('DOMContentLoaded', function () { 970 var retentionMeta = document.getElementById('lnm-form-retention-meta'); 971 var shouldRetain = retentionMeta && retentionMeta.getAttribute('data-retain-form') === '1'; 972 973 if (!shouldRetain && retentionMeta) { 974 clearForCurrentPage(); 975 } 976 977 getForms().forEach(function (form) { 978 restoreForm(form); 979 980 trackedNames().forEach(function (name) { 981 var field = form.querySelector('[name="' + name + '"]'); 982 if (!field) return; 983 984 field.addEventListener('input', function () { 985 saveForm(form); 986 }); 987 988 field.addEventListener('change', function () { 989 saveForm(form); 990 }); 991 }); 992 993 form.addEventListener('submit', function () { 994 saveForm(form); 995 }, true); 996 }); 997 }); 998})(); 999//# sourceURL=formjs-js-after 1000/* ]]> */ 1001</script>
1001 1002 1003 <style> 1004 body.covid-banner { 1005 padding-top: 50px !important; 1006 } 1007 #covid-banner { 1008 display: none; 1009 } 1010 .covid-banner #covid-banner { 1011 background: #960000; 1012 display: block; 1013 border-bottom: 1px solid #960000; 1014 position: fixed; 1015 width: 100%; 1016 height: 50px; 1017 text-align: center; 1018 font-family: "Arial"; 1019 display: block; 1020 top: 0px; 1021 z-index: 9999999999999; 1022 } 1023 .covid-banner #covid-readmore { 1024 position: absolute; 1025 width: 0; 1026 height: 0; 1027 top: 0; 1028 left: 0; 1029 overflow: hidden; 1030 text-align: left; 1031 } 1032 .covid-banner p.banner-toggle { 1033 /*cursor: pointer;*/ 1034 font-family: "Arial"; 1035 font-size: 18px; 1036 font-weight: lighter; 1037 line-height: 45px; 1038 margin: 3px; 1039 color:white; 1040 } 1041 .covid-banner #covid-readmore.active { 1042 width: 100%; 1043 min-height: 100vh; 1044 position: relative; 1045 background: white; 1046 padding: 15%; 1047 } 1048 .covid-banner #close-covid-banner { 1049 position: absolute; 1050 display: none; 1051 right: 10px; 1052 font-size: 27px; 1053 color: white; 1054 cursor: pointer; 1055 width: 50px; 1056 height: 50px; 1057 text-align: center; 1058 line-height: 50px; 1059 } 1060 .covid-banner #close-covid-banner.visible { 1061 display: block; 1062 } 1063 .read-more-banner-button { 1064 cursor: pointer; 1065 display: inline-block; 1066 border: 1px solid #ffff; 1067 line-height: 35px; 1068 margin: 0 15px; 1069 padding: 0 15px; 1070 border-radius: 10px; 1071 font-weight: lighter; 1072 } 1073 </style> 1074
1074<script> 1075 $(function(){ 1076 $("body").addClass("covid-banner"); 1077 $(".read-more-banner-button").on("click", function(){ 1078 $("#covid-readmore").toggleClass("active"); 1079 $("#close-covid-banner").toggleClass("visible"); 1080 }); 1081 $("#close-covid-banner").on("click", function(){ 1082 $("#covid-readmore").toggleClass("active"); 1083 $("#close-covid-banner").toggleClass("visible"); 1084 }); 1085 }); 1086 </script>
1086 1087 1088 1089 1090 1091 <div id='covid-banner'> 1092 <span id='close-covid-banner'> 1093 <i class='fa fa-close'></i> 1094 </span> 1095 <p class='banner-toggle'> 1096 Hiring Now <span class='read-more-banner-button'> Read More</span> 1097 </p> 1098 <div id='covid-readmore'> 1099 <p>Hiring Now!</p> 1100 </div> 1101 </div> 1102 1103 1104
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.