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