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 | Painting Contractor</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="Mustang Painting Ltd is the top-rated painting contractor in the community. Contact us at (780) 695-8770 for all your painting needs." /><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 » Home Comments Feed" href="https://mustangpaintingltd.ca/home/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='slick-css' href='https://mustangpaintingltd.ca/wp-content/themes/rpai6/slick/slick.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/" /> 54<link rel='shortlink' href='https://mustangpaintingltd.ca/' />
55<script src='https://mustangpaintingltd.ca/?dm=6976c141da8fbb78fea876d5f6dfc5a6&action=load&blogid=1838&siteid=1&t=563931176&back=https%3A%2F%2Fmustangpaintingltd.ca%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="home wp-singular page-template-default page page-id-15 wp-theme-rpai6"> 350 351<header class="header-wrapper 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 current_page_item active"><a href="https://mustangpaintingltd.ca/" aria-current="page">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"><a href="https://mustangpaintingltd.ca/contact-us/">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 hide-for-medium-down"> 426 <div class="large-12 columns navigation-wrapper box-shadow"> 427 <nav class="top-bar fading" data-options=" custom_back_text: true; back_text: Back;" data-topbar itemscope itemtype="http://www.schema.org/SiteNavigationElement"> 428 <ul class="title-area"> 429 <li class="name"></li> 430 <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li> 431 </ul> 432 <div class="top-bar-section section"> 433 <div class="menu"><ul> 434<li class="page_item page-item-15 current_page_item active"><a href="https://mustangpaintingltd.ca/" aria-current="page">Home</a></li> 435<li class="page_item page-item-16 page_item_has_children has-dropdown not-click"><a href="https://mustangpaintingltd.ca/about-us/">About</a> 436<ul class='dropdown'> 437 <li class="page_item page-item-130"><a href="https://mustangpaintingltd.ca/about-us/blog/">Blog</a></li> 438 <li class="page_item page-item-52"><a href="https://mustangpaintingltd.ca/about-us/reviews/">Reviews</a></li> 439</ul> 440</li> 441<li class="page_item page-item-17 page_item_has_children has-dropdown not-click"><a href="https://mustangpaintingltd.ca/painting/">Painting</a> 442<ul class='dropdown'> 443 <li class="page_item page-item-18"><a href="https://mustangpaintingltd.ca/painting/commercial-painting/">Commercial Painting</a></li> 444 <li class="page_item page-item-19"><a href="https://mustangpaintingltd.ca/painting/deck-painting/">Deck Painting</a></li> 445 <li class="page_item page-item-20"><a href="https://mustangpaintingltd.ca/painting/deck-staining/">Deck Staining</a></li> 446 <li class="page_item page-item-21"><a href="https://mustangpaintingltd.ca/painting/exterior-brick-painters/">Exterior Brick Painters</a></li> 447 <li class="page_item page-item-22"><a href="https://mustangpaintingltd.ca/painting/exterior-painting/">Exterior Painting</a></li> 448 <li class="page_item page-item-23"><a href="https://mustangpaintingltd.ca/painting/faux-painting/">Faux Painting</a></li> 449 <li class="page_item page-item-24"><a href="https://mustangpaintingltd.ca/painting/fence-painters/">Fence Painters</a></li> 450 <li class="page_item page-item-25"><a href="https://mustangpaintingltd.ca/painting/house-painting/">House Painting</a></li> 451 <li class="page_item page-item-26"><a href="https://mustangpaintingltd.ca/painting/industrial-painting/">Industrial Painting</a></li> 452 <li class="page_item page-item-27"><a href="https://mustangpaintingltd.ca/painting/interior-painting/">Interior Painting</a></li> 453 <li class="page_item page-item-28"><a href="https://mustangpaintingltd.ca/painting/kitchen-cabinet-painting/">Kitchen Cabinet Painting</a></li> 454 <li class="page_item page-item-29"><a href="https://mustangpaintingltd.ca/painting/painting-company/">Painting Company</a></li> 455 <li class="page_item page-item-30"><a href="https://mustangpaintingltd.ca/painting/painting-estimates/">Painting Estimates</a></li> 456 <li class="page_item page-item-31"><a href="https://mustangpaintingltd.ca/painting/spray-applied-exterior-painting/">Spray-Applied Exterior Painting</a></li> 457 <li class="page_item page-item-128"><a href="https://mustangpaintingltd.ca/painting/service-areas/">Service Areas</a></li> 458</ul> 459</li> 460<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> 461<ul class='dropdown'> 462 <li class="page_item page-item-33"><a href="https://mustangpaintingltd.ca/other-services/drywall-installation/">Drywall Installation</a></li> 463 <li class="page_item page-item-34"><a href="https://mustangpaintingltd.ca/other-services/drywall-repair-services/">Drywall Repair Services</a></li> 464 <li class="page_item page-item-35"><a href="https://mustangpaintingltd.ca/other-services/epoxy-flooring/">Epoxy Flooring</a></li> 465 <li class="page_item page-item-36"><a href="https://mustangpaintingltd.ca/other-services/power-washing-services/">Power Washing Services</a></li> 466 <li class="page_item page-item-37"><a href="https://mustangpaintingltd.ca/other-services/pressure-washing-services/">Pressure Washing Services</a></li> 467 <li class="page_item page-item-38"><a href="https://mustangpaintingltd.ca/other-services/stucco-installation/">Stucco Installation</a></li> 468 <li class="page_item page-item-39"><a href="https://mustangpaintingltd.ca/other-services/stucco-repair/">Stucco Repair</a></li> 469 <li class="page_item page-item-40"><a href="https://mustangpaintingltd.ca/other-services/wallpaper-installation-services/">Wallpaper Installation Services</a></li> 470 <li class="page_item page-item-41"><a href="https://mustangpaintingltd.ca/other-services/wallpaper-removal-services/">Wallpaper Removal Services</a></li> 471 <li class="page_item page-item-245"><a href="https://mustangpaintingltd.ca/other-services/graffiti-removal/">Graffiti Removal</a></li> 472 <li class="page_item page-item-241"><a href="https://mustangpaintingltd.ca/other-services/sheetrock-repair/">Sheetrock Repair</a></li> 473</ul> 474</li> 475<li class="page_item page-item-42"><a href="https://mustangpaintingltd.ca/faq/">FAQ</a></li> 476<li class="page_item page-item-43"><a href="https://mustangpaintingltd.ca/gallery/">Gallery</a></li> 477<li class="page_item page-item-54"><a href="https://mustangpaintingltd.ca/apply-now/">Apply Now</a></li> 478<li class="page_item page-item-44"><a href="https://mustangpaintingltd.ca/contact-us/">Contact</a></li> 479</ul></div> 480</div></nav> 481 </div> 482 </div>
483 <div class="row slider-row hide-for-medium-down"> 484 <div class="large-12 columns slider-wrapper strip-padding"> 485 <div class="slick-header-slider"> 486 487 <div> 488 <img src='https://mustangpaintingltd.ca/wp-content/uploads/sites/1838/2025/07/slide1.jpg' alt='Black and white painted living room' /> 489 </div> 490 <div> 491 <img src='https://mustangpaintingltd.ca/wp-content/uploads/sites/1838/2025/07/slide2.jpg' alt='Turquoise marble and peach' /> 492 </div> 493 <div> 494 <img src='https://mustangpaintingltd.ca/wp-content/uploads/sites/1838/2025/07/slide3.jpg' alt='Seamless wall painting' /> 495 </div></div> 496<div class="slick-button-container"></div>
496<script> 497 jQuery(function($){ 498 // Prefer the specific instance by ID, fall back to class if needed 499 var $slider = $("#slick-0"); 500 if (!$slider.length) $slider = $(".slick-header-slider").first(); 501 if (!$slider.length) return; 502 503 var hasMobileImage = true; 504 var useStatic = hasMobileImage && window.matchMedia("(max-width: 1024px)").matches; 505 506 if (useStatic) { 507 // Replace the slider container with the static image 508 var $img = $("<img>", { 509 src: "https://mustangpaintingltd.ca/wp-content/themes/rpai6/images/x.png", 510 alt: "Edmonton Painting Contractor, Painting Company and Commercial Painting" 511 }); 512 $slider.replaceWith($img); 513 return; // do NOT initialize slick 514 } 515 516 // Initialize slick as usual 517 $slider.slick({ 518 slide: 'div', 519 centerMode: false, 520 focusOnSelect: false, 521 522 accessibility: true, 523 pauseOnHover: false, 524 draggable: true, 525 touchMove: true, 526 infinite: true, 527 arrows: false, 528 useCSS: true, 529 swipe: true, 530 531 pauseOnDotsHover: false, 532 adaptiveHeight: false, 533 variableWidth: false, 534 swipeToSlide: false, 535 vertical: false, 536 autoplay: true, 537 dots: false, 538 fade: true, 539 rtl: false, 540 541 appendArrows: '.slick-button-container', 542 543 autoplaySpeed: 2500, 544 easing: 'swing', 545 speed: 1000, 546 slidesToShow: 1, 547 centerPadding: '0', 548 asNavFor: '' 549 }); 550 }); 551 </script>
551 552 553 </div> 554 </div> 555 <div class="row slider-row show-for-medium-down"> 556 <div class="large-12 columns mobile-slider-wrapper strip-padding"> 557 <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" /> 558 </div> 559 </div> 560 <div class="row"> 561 <div class="large-12 columns text-right tagline"> 562 <p class="located-in">Located in Edmonton servicing Edmonton, Spruce Grove, Leduc and surrounding areas</p> 563 </div> 564 </div> 565</header> 566<div class="mobile-sticky-cta"> 567 <a class="sticky-btn-1" href="tel:+17806958770">Call Us </a> 568 <a href="/contact-us/" class="sticky-btn-2" title="Send Us A Message">Message Us</a> 569 </div><div class="clearfix"></div><main > 570 <article class="section-article" > 571 <section class="large-12 columns home-first-strip strip-padding"> 572 <div class="row"> 573 <div class="large-12 columns strip-padding" data-equalizer > 574 <div class="large-8 columns home-left-border home-right-border box-padding" data-equalizer-watch > 575 <h1>Local Industry Leader</h1> 576 <p>Mustang Painting Ltd has made a name for itself as an industry leader in the local area. Our team has provided property owners of all kinds with picture-perfect painting results, and weâre always looking forward to our next project.</p> 577 <p>From design to execution, we streamline every task to get the job done swiftly and efficiently. Whatâs more, we take care to communicate with you consistently to ensure that you are satisfied with the finished product.</p> 578 <p>For top-quality painting services at competitive rates, get in touch with us now at (780) 695-8770.</p> 579 <a class="button btn-1 strip-margin-bottom" href="tel:+17806958770">CALL NOW </a> 580 </div> 581 <div class="large-4 columns strip-padding home-right-border vertical-center" data-equalizer-watch > 582 <img src="https://mustangpaintingltd.ca/wp-content/themes/rpai6/images/home-img1.jpg" class="home-img-01" alt="Wall Painting" width="438" height="411" loading="lazy" /> 583 </div> 584 </div> 585 </div> 586 </section> 587 <section class="large-12 columns badge-strip text-center"> 588 <div class="badge-holder"> 589 <img src="https://mustangpaintingltd.ca/wp-content/uploads/sites/1838/2025/12/customer.png" alt="Customer Services Specialist" width="300" height="276" loading="lazy"/> 590 <img src="https://mustangpaintingltd.ca/wp-content/uploads/sites/1838/2025/12/locally-owned.png" alt="Locally Owned & Operated" width="300" height="276" loading="lazy"/> 591 <img src="https://mustangpaintingltd.ca/wp-content/uploads/sites/1838/2025/12/free-estimate.png" alt="Free Estimate" width="300" height="276" loading="lazy"/> 592 <img src="https://mustangpaintingltd.ca/wp-content/uploads/sites/1838/2025/12/licensed.png" alt="Licensed & Insured" width="300" height="276" loading="lazy"/> 593 <img src="https://mustangpaintingltd.ca/wp-content/uploads/sites/1838/2025/12/seniors.png" alt="Seniors discount" width="300" height="276" loading="lazy"/> 594 </div> 595 </section> 596 <section class="large-12 columns vertical-padding-large"> 597 <div class="row"> 598 <div class="large-4 columns"> 599 <h2 class="like-h3">A Full-Service Painting Company</h2> 600 <p>From start to finish, we have you covered for all your painting needs. We are skilled, precise, and highly qualified to bring your project to life first on paper, and then in real life.</p> 601 <p>We offer a full range of painting services, including:</p> 602 <ul class="icon"> 603 <li>House painting</li> 604 <li>Commercial painting</li> 605 <li>Interior painting</li> 606 <li>Exterior painting</li> 607 <li>Drywall repair and installation</li> 608 <li>Epoxy flooring</li> 609 <li>Wallpaper installation and removal</li> 610 <li>And much more!</li> 611 </ul> 612 </div> 613 <div class="large-4 columns"> 614 <h3>Consult with Professional Painters</h3> 615 <p>When you want to redefine your property with fresh paint, the first step is to schedule a <strong>commitment-free consultation </strong>
615with us. Our professionals will meet with you to discuss the details of your project, whether you have an idea in mind or not.</p> 616 <p>From there, we will provide you with a transparent estimate that clearly outlines the services, the cost, and the timeline. To avoid unnecessary confusion, we will go over it with you to confirm any specifications. With us, the painting process is as smooth as it can be.</p> 617 </div> 618 <div class="large-4 columns"> 619 <h3>Mustang Painting Ltdâs Customized Painting Services</h3> 620 <p>Itâs your property, so letâs paint it your way. Our team listens attentively to your wants, needs, and budget requirements before suggesting a plan of action customized to you.</p> 621 <p>If youâre not sure what you want, we always recommend doing a little research to find inspiration on your own so that you can feel confident in your decisions for your property.</p> 622 <p>Rest assured, if you arenât looking to change furniture or décor, we will advise you on which colors match best. Similarly, when it comes to exterior painting, we can match your paint colors to your windows, trims, roof, and whatever else that may apply.</p> 623 </div> 624 </div> 625 </section> 626 <section class="large-12 columns strip-padding"> 627 <div class="row home-background-strip"> 628 <div class="large-6 columns white-box"> 629 <h3>Detail-Oriented, Experienced Painters</h3> 630 <h4>Top-Quality Results</h4> 631 <p>With many years of experience and training under their belts, our professional painters are second to none in the local community. From color selection to paint touch-ups, we work quickly yet meticulously to get the job done to your liking.</p> 632 <p>No matter the job, we use top of the line paints, primers, brushes, and rollers to provide the highest standard of quality. For beautiful, long-term results, our team knows to prime the walls well before applying a precise number of coats.</p> 633 <p>You will be sure to adore how your property looks once weâve completed the job.</p> 634 <a href="https://g.page/r/Cdoy8xrZKtGtEBM/review" target="_blank" rel="noreferrer noopener" title="Google Review"><img src="https://mustangpaintingltd.ca/wp-content/uploads/sites/1838/2026/03/leave-us-a-google-review-button.png" alt="Leave A Google Review"></a> 635 </div> 636 </div> 637 </section> 638 <section class="large-12 columns strip-padding"> 639 <div class="row cta-strip text-center"> 640 <div class="large-9 columns large-centered cta-text"> 641 <h2>Your Top Local Painting Contractors</h2> 642 <span class="sub-heading">Get in Touch Today</span> 643 <p>When you choose Mustang Painting Ltd, youâre choosing quality, integrity, and reliability. Youâre choosing prompt, professional painters who donât cut corners. Youâre choosing the best painting contractors around.</p> 644 <p>Contact us now at (780) 695-8770 for exceptional paintwork.</p> 645 </div> 646 <a class="button btn-2 strip-margin-bottom" href="tel:+17806958770">CALL US NOW </a> 647 <a href="/contact-us/" class="button btn-2 strip-margin-bottom">MESSAGE US</a> 648 </div> 649 </section> 650 </article> 651</main><div class="clearfix"></div> 652<footer class="footer-wrapper"> 653 <div class="large-10 medium-10 large-centered medium-centered columns"> 654 <div class="row footer-inner"> 655 <div class="large-4 columns footer-address strip-padding-left"> 656 <h2>Contact Info</h2> 657 <p>Edmonton, AB T5T 0B6</p> 658 <p>Phone: (780) 695-8770</p> 659 <p>Email: [email protected]</p> 660 </div> 661 <div class="large-4 columns strip-padding footer-hours"> 662 <h2>Hours of Operation</h2> 663 <p>Mon - Sun: 8:00AM - 6:00PM</p> 664 <p><em>Emergency services upon request</em></p> 665 <br> 666 </div> 667 <div class="large-2 columns strip-padding text-center footer-address"> 668 <h2>Social</h2> 669 <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> 670 </div> 671 <div class="large-2 columns lnm-logo text-center strip-padding-right"> 672 <img src="https://linknow.com/linknow_images/linknow-logo-black.png" alt="Website Hosted By LinkNow⢠Media" width="200" height="75" loading="lazy" /> 673 </div> 674 </div> 675 </div> 676</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> 677 678<!-------The form------>
679<div class="custom-slide-out-wrapper hide-for-medium-down" id="slide-out"> 680 <span class="custom-form-toggle"><i class="fa fa-angle-left"></i></span> 681 <div class="custom-slide-out-content"> 682 <span class="slide-out-title">Contact Us For A Free Estimate</span> 683 <div class="custom-slide-out-form"> 684 <form id="contactForm" class="contactForm" method="POST"> 685 <input type="hidden" name="submitContact"> 686 <div class="groupWrapper"> 687 <label for="fullName">Full name</label> 688 <input class="slideOutInput validate[required] shortField" type="text" name="fullName" id="fullName" title="Full Name"> 689 </div> 690 <div class="groupWrapper"> 691 <label for="phoneNumber">Phone number</label> 692 <input class="slideOutInput validate[required,custom[phone]]" type="text" name="phoneNumber" id="phoneNumber" title="Phone Number"> 693 </div> 694 <div class="groupWrapper"> 695 <label for="emailAddress">email address</label> 696 <input class="slideOutInput validate[required,custom[emailAddress]]" type="text" name="emailAddress" id="emailAddress" title="Email Address"> 697 </div> 698 <div class="groupWrapper"> 699 <label for="emailMessage">Message</label> 700 <textarea class="validate[required]" type="text" name="emailMessage" id="emailMessage" title="Enter your message"></textarea> 701 </div> 702 703 704 <div class="submitWrapper slideOut"> 705 <button class="submit right" name="submitContact" id="submitContact" type="submit">SEND</button> 706 </div> 707 <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> 708<!----- end of form ---> 709 </div> 710 711 </div> 712 713 </div>
714<script type="speculationrules"> 715{"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"}]} 716</script>
vendor: 1 bytes, line 716
716
717<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>
717 718<style> 719.lnmreviewform { 720 width: 750px; 721 max-width: 100%; 722 margin: 0 auto; 723} 724.lnmreviewform #lnmreviewtext { 725 min-height: 150px; 726} 727.lnmcr-review-card { 728 margin: 45px auto; 729 padding: 45px 45px 65px 45px; 730 border: 1px solid #CCCCCC; 731 width: 100%; 732 max-width: 750px; 733} 734.lnmcr-review-card-title h3 { 735 margin: 0 auto; 736 737 padding: 0 0 10px 0; 738} 739.lnmcr-review-card-rating { 740 color:#ffcc00; 741 width: 100%; 742 max-width: 165px; 743 font-size: 28px; 744 display: inline-block; 745 float: left; 746} 747.lnmcr-review-card-author { 748 display: inline-block; 749 float: right; 750 padding: 0 25px 0 0; 751 752} 753.lnmcr-review-card-text { 754 margin: 20px 0; 755} 756.lnmcr-review-card-author span { 757 text-transform: capitalize; 758 display: block; 759 position: relative; 760 font-style: italic; 761 font-weight: bold; 762} 763 764 765.lnmcr-review-card-author span::before { 766 content: ""; 767 display: block; 768 width: 15px; 769 height: 1px; 770 background: #CCCCCC; 771 position: absolute; 772 top: 14px; 773 left: -25px; 774} 775 776.lnmcr-row { 777 padding-top: 45px; 778 padding-bottom: 45px; 779} 780.star-rating { 781 font-size: 40px; 782 padding: 0.25em 0.375em; 783 display: inline-flex; 784 flex-flow: row-reverse; 785 786 overflow: hidden; 787 border-radius: 0.75em; 788 background-color: white; 789} 790.star-rating input { 791 appearance:initial; 792 cursor: pointer; 793 position: relative; 794 padding: 0; 795 width: 1em; 796 height: 1em; 797 float: left; 798 text-align: center; 799 line-height: 1em; 800} 801.star-rating input::before, 802.star-rating input::after { 803 display: block; 804 top: 0; 805 bottom: 0; 806 left: 0; 807 right: 0; 808 position: absolute; 809} 810.star-rating input::before { 811 content: ""; 812 background-color: white; 813} 814.star-rating input::after { 815 content: "\2605"; 816 color: #CCCCCC; 817-webkit-transition: color 0.2s ease; 818-moz-transition: color 0.2s ease; 819-ms-transition: color 0.2s ease; 820-o-transition: color 0.2s ease; 821transition: color 0.2s ease; 822} 823.star-rating input:checked::after, 824.star-rating input:checked ~ input::after { 825 color: #ffcc00; 826} 827input.hasError, 828textarea.hasError { 829 border-color: red; 830} 831input.lnmcr-input-error { 832 border: 1px solid red !important; 833} 834input.errorType-charlength { 835 box-shadow: 10px 5px 5px red; 836} 837 838input.error { 839 border: 1px solid red !important; 840 /*box-shadow: 10px 5px 5px red;*/ 841} 842 843.hasError.errorType-charlength::after { 844 /*content: "x";*/ 845} 846.lnmreviewtextformError { 847 display: none !important; 848} 849 850#lnmreviewform .review-error { 851 border: 1px solid red; 852} 853span.success-message { 854 background: #4BB543; 855 color: white; 856 padding: 15px; 857} 858span.error-message { 859 background: #D32F2F; 860 color: white; 861 padding: 15px; 862} 863 864 865 866 867#review-response-container i.fa-solid.fa-spinner.fa-spin-pulse { 868 font-size: 28px; 869} 870 871.lnmcr-review-pagination a, 872.lnmcr-review-pagination span.current { 873 /* padding: 5px 10px; */ 874 background: none; 875 width: 30px; 876 height: 30px; 877 line-height: 26px; 878 margin: 0 2px 0 0; 879 border: 1px solid #CCCCCC; 880 display: inline-block; 881 font-size: 16px; 882} 883.lnmcr-review-pagination span.current { 884 background: #333; 885 color: white; 886} 887.lnmcr-review-pagination a:hover { 888 background: #333; 889 color: white; 890} 891input.review-error, textarea.review-error { 892 margin-bottom: 0; 893} 894.review-error-container { 895 display: none; 896 padding: 10px; 897 border-left: 1px solid red; 898 border-bottom: ; 899 border-bottom: 1px solid red; 900 border-right: 1px solid red; 901 margin-bottom: 25px; 902 color: white; 903 font-weight: bold; 904 background: red; 905} 906 907@media only screen and (max-width: 650px) {.lnmcr-review-card {max-width: 100%;}} 908</style>
vendor: 71 bytes, lines 908-910
908 909 910<script src="https://www.google.com/recaptcha/enterprise.js?render=
9106LflbUQsAAAAADQa-oHKDxYnfKpy0TfaniKv449Y
vendor: 45 bytes, line 910
910" id="lnm-recaptcha-enterprise-js"></script>
911<script id="lnm-recaptcha-enterprise-js-after"> 912/* <![CDATA[ */ 913console.log('[LNM] recaptcha inline loaded'); 914 915(function(){ 916 function ensureHidden(form){ 917 var el = form.querySelector('input[name="g-recaptcha-response"]'); 918 if(!el){ 919 el = document.createElement('input'); 920 el.type = 'hidden'; 921 el.name = 'g-recaptcha-response'; 922 form.appendChild(el); 923 } 924 return el; 925 } 926 927document.addEventListener('click', function(e){ 928 var el = e.target.closest('#contactForm #submitContact, #contactForm .submit, #requestForm #submitContact'); 929 if(!el) return; 930 931 var form = el.closest('form'); 932 if(!form) return; 933 934 // trigger a real submit event path (lets other listeners run) 935 e.preventDefault(); 936 937 if (form.requestSubmit) { 938 form.requestSubmit(); // preferred: dispatches submit event 939 } else { 940 // fallback for older browsers 941 var evt = document.createEvent('Event'); 942 evt.initEvent('submit', true, true); 943 if (form.dispatchEvent(evt)) { 944 form.submit(); 945 } 946 } 947}, true); 948 949 950 951 document.addEventListener('submit', function(e){ 952 var form = e.target; 953 if(!form || form.nodeName !== 'FORM') return; 954 955console.log('[LNM] submit captured', form); 956 957 // Only forms you explicitly mark in the HTML. 958 if(!form.querySelector('input[name="lnm_recaptcha"][value="1"]')) return; 959 960 // Prevent infinite loop: after we inject a token once, allow the submit. 961 if(form.dataset && form.dataset.lnmRecaptchaDone === '1') return; 962 963 var hidden = ensureHidden(form); 964 965 // If we already have a token, let it submit. 966 if(hidden && hidden.value) { 967 if(form.dataset) form.dataset.lnmRecaptchaDone = '1'; 968 return; 969 } 970 971 // If grecaptcha isn't available, DO NOT block submission. 972 // (Server-side enforce may still reject; but UX won't "freeze".) 973 if(!window.grecaptcha || !grecaptcha.enterprise || !grecaptcha.enterprise.execute) { 974 return; 975 } 976 977 // From this point on, we are taking over submission. 978 e.preventDefault(); 979 980 var done = false; 981 982 function finishSubmit(){ 983 if(done) return; 984 done = true; 985 if(form.dataset) form.dataset.lnmRecaptchaDone = '1'; 986 form.submit(); 987 } 988 989 // Hard safety: never allow recaptcha to stall the UX. 990 var timer = setTimeout(function(){ 991 finishSubmit(); // fallback: submit even if token never arrives 992 }, 6000); 993 994 try { 995 grecaptcha.enterprise.ready(function(){ 996 try { 997 var p = grecaptcha.enterprise.execute('6LflbUQsAAAAADQa-oHKDxYnfKpy0TfaniKv449Y', {action: 'lnm_email_121014245'}); 998 if(p && typeof p.then === 'function'){ 999 p.then(function(token){ 1000 clearTimeout(timer); 1001 hidden.value = token || ''; 1002 finishSubmit(); 1003 }).catch(function(){ 1004 clearTimeout(timer); 1005 finishSubmit(); 1006 }); 1007 } else { 1008 clearTimeout(timer); 1009 finishSubmit(); 1010 } 1011 } catch(err){ 1012 clearTimeout(timer); 1013 finishSubmit(); 1014 } 1015 }); 1016 } catch(err){ 1017 clearTimeout(timer); 1018 finishSubmit(); 1019 } 1020 }, true); 1021})(); 1022//# sourceURL=lnm-recaptcha-enterprise-js-after 1023/* ]]> */ 1024</script>
vendor: 1 bytes, line 1024
1024
1025<script src="https://mustangpaintingltd.ca/wp-content/themes/rpai6/scripts/lnm-scripts.min.js" id="lnmscripts-js"></script>
vendor: 1 bytes, line 1025
1025
1026<script src="https://mustangpaintingltd.ca/wp-content/themes/rpai6/slick/slick.js" id="slickjs-js"></script>
vendor: 1 bytes, line 1026
1026
1027<script src="https://mustangpaintingltd.ca/wp-content/themes/rpai6/js/foundation/foundation.equalizer.js" id="equalizer-js"></script>
vendor: 1 bytes, line 1027
1027
1028<script src="https://mustangpaintingltd.ca/wp-content/plugins/linknowmedia-email/scripts/compiled.js" id="formjs-js"></script>
vendor: 1 bytes, line 1028
1028
1029<script id="formjs-js-after"> 1030/* <![CDATA[ */ 1031(function () { 1032 function getForms() { 1033 return Array.prototype.slice.call(document.querySelectorAll('form.contactForm, form#contactForm')); 1034 } 1035 1036 function getKey(form) { 1037 var host = window.location.host || ''; 1038 var path = window.location.pathname || ''; 1039 var formId = form ? (form.id || 'contactForm') : 'contactForm'; 1040 return 'lnm_form_retention:' + host + ':' + path + ':' + formId; 1041 } 1042 1043 function trackedNames() { 1044 return ['fullName', 'phoneNumber', 'emailAddress', 'emailMessage']; 1045 } 1046 1047 function saveForm(form) { 1048 if (!form || !window.sessionStorage) return; 1049 1050 var data = {}; 1051 trackedNames().forEach(function (name) { 1052 var field = form.querySelector('[name="' + name + '"]'); 1053 if (field) { 1054 data[name] = field.value || ''; 1055 } 1056 }); 1057 1058 try { 1059 sessionStorage.setItem(getKey(form), JSON.stringify(data)); 1060 } catch (e) {} 1061 } 1062 1063 function restoreForm(form) { 1064 if (!form || !window.sessionStorage) return; 1065 1066 try { 1067 var raw = sessionStorage.getItem(getKey(form)); 1068 if (!raw) return; 1069 1070 var data = JSON.parse(raw); 1071 if (!data || typeof data !== 'object') return; 1072 1073 trackedNames().forEach(function (name) { 1074 var field = form.querySelector('[name="' + name + '"]'); 1075 if (!field) return; 1076 1077 if ((field.value || '') === '' && typeof data[name] !== 'undefined') { 1078 field.value = data[name]; 1079 } 1080 }); 1081 } catch (e) {} 1082 } 1083 1084 function clearForCurrentPage() { 1085 if (!window.sessionStorage) return; 1086
1087 getForms().forEach(function (form) { 1088 try { 1089 sessionStorage.removeItem(getKey(form)); 1090 } catch (e) {} 1091 }); 1092 1093 if (!getForms().length) { 1094 var host = window.location.host || ''; 1095 var path = window.location.pathname || ''; 1096 try { 1097 sessionStorage.removeItem('lnm_form_retention:' + host + ':' + path + ':contactForm'); 1098 } catch (e) {} 1099 } 1100 } 1101 1102 document.addEventListener('DOMContentLoaded', function () { 1103 var retentionMeta = document.getElementById('lnm-form-retention-meta'); 1104 var shouldRetain = retentionMeta && retentionMeta.getAttribute('data-retain-form') === '1'; 1105 1106 if (!shouldRetain && retentionMeta) { 1107 clearForCurrentPage(); 1108 } 1109 1110 getForms().forEach(function (form) { 1111 restoreForm(form); 1112 1113 trackedNames().forEach(function (name) { 1114 var field = form.querySelector('[name="' + name + '"]'); 1115 if (!field) return; 1116 1117 field.addEventListener('input', function () { 1118 saveForm(form); 1119 }); 1120 1121 field.addEventListener('change', function () { 1122 saveForm(form); 1123 }); 1124 }); 1125 1126 form.addEventListener('submit', function () { 1127 saveForm(form); 1128 }, true); 1129 }); 1130 }); 1131})(); 1132//# sourceURL=formjs-js-after 1133/* ]]> */ 1134</script>
1134 1135 1136 <style> 1137 body.covid-banner { 1138 padding-top: 50px !important; 1139 } 1140 #covid-banner { 1141 display: none; 1142 } 1143 .covid-banner #covid-banner { 1144 background: #960000; 1145 display: block; 1146 border-bottom: 1px solid #960000; 1147 position: fixed; 1148 width: 100%; 1149 height: 50px; 1150 text-align: center; 1151 font-family: "Arial"; 1152 display: block; 1153 top: 0px; 1154 z-index: 9999999999999; 1155 } 1156 .covid-banner #covid-readmore { 1157 position: absolute; 1158 width: 0; 1159 height: 0; 1160 top: 0; 1161 left: 0; 1162 overflow: hidden; 1163 text-align: left; 1164 } 1165 .covid-banner p.banner-toggle { 1166 /*cursor: pointer;*/ 1167 font-family: "Arial"; 1168 font-size: 18px; 1169 font-weight: lighter; 1170 line-height: 45px; 1171 margin: 3px; 1172 color:white; 1173 } 1174 .covid-banner #covid-readmore.active { 1175 width: 100%; 1176 min-height: 100vh; 1177 position: relative; 1178 background: white; 1179 padding: 15%; 1180 } 1181 .covid-banner #close-covid-banner { 1182 position: absolute; 1183 display: none; 1184 right: 10px; 1185 font-size: 27px; 1186 color: white; 1187 cursor: pointer; 1188 width: 50px; 1189 height: 50px; 1190 text-align: center; 1191 line-height: 50px; 1192 } 1193 .covid-banner #close-covid-banner.visible { 1194 display: block; 1195 } 1196 .read-more-banner-button { 1197 cursor: pointer; 1198 display: inline-block; 1199 border: 1px solid #ffff; 1200 line-height: 35px; 1201 margin: 0 15px; 1202 padding: 0 15px; 1203 border-radius: 10px; 1204 font-weight: lighter; 1205 } 1206 </style> 1207
1207<script> 1208 $(function(){ 1209 $("body").addClass("covid-banner"); 1210 $(".read-more-banner-button").on("click", function(){ 1211 $("#covid-readmore").toggleClass("active"); 1212 $("#close-covid-banner").toggleClass("visible"); 1213 }); 1214 $("#close-covid-banner").on("click", function(){ 1215 $("#covid-readmore").toggleClass("active"); 1216 $("#close-covid-banner").toggleClass("visible"); 1217 }); 1218 }); 1219 </script>
1219 1220 1221 1222 1223 1224 <div id='covid-banner'> 1225 <span id='close-covid-banner'> 1226 <i class='fa fa-close'></i> 1227 </span> 1228 <p class='banner-toggle'> 1229 Hiring Now <span class='read-more-banner-button'> Read More</span> 1230 </p> 1231 <div id='covid-readmore'> 1232 <p>Hiring Now!</p> 1233 </div> 1234 </div> 1235 1236 1237
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.