1<!DOCTYPE html> 2<!--[if IE 6]> 3<html id="ie6" lang="en-US"> 4<![endif]--> 5<!--[if IE 7]> 6<html id="ie7" lang="en-US"> 7<![endif]--> 8<!--[if IE 8]> 9<html id="ie8" lang="en-US"> 10<![endif]--> 11<!--[if !(IE 6) | !(IE 7) | !(IE 8) ]><!--> 12<html lang="en-US"> 13<!--<![endif]--> 14<head> 15<meta charset="UTF-8" /> 16<meta name="viewport" content="width=device-width" /> 17<meta name="lnm.location" content="linknowmedia.work" /> 18<title>Contact Prima Construction Corp | (403) 708-3013</title> 19<link rel="profile" href="http://gmpg.org/xfn/11" /> 20<link rel="pingback" href="https://primaconstruction.ca/xmlrpc.php" /> 21<!--[if lt IE 9]>
22<script src="https://primaconstruction.ca/wp-content/themes/gc12/scripts/html5.js" type="text/javascript"></script>
22 23<![endif]--> 24 <link rel="shortcut icon" type="image/jpg" href="https://primaconstruction.ca/wp-content/uploads/sites/2566/2024/10/favicon.jpg" /> 25 <meta name='robots' content='max-image-preview:large' /> 26<meta name="description" content="For more information on our General Contractor services, call us at (403) 708-3013 or click the link above." /><meta name="keywords" content="Calgary Remodeling Contractor, Calgary Remodeling Company, Calgary Bathroom Remodeling Contractor, Airdrie Remodeling Contractor, Airdrie Remodeling Company, Airdrie Bathroom Remodeling Contractor, Okotoks Remodeling Contractor, Okotoks Remodeling Company, Okotoks Bathroom Remodeling Contractor" /><meta name="lnm.themename" content="gc12" /><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="Prima Construction Corp » Contact Comments Feed" href="https://primaconstruction.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://primaconstruction.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='wp-lightbox-2.min.css-css' href='https://primaconstruction.ca/wp-content/plugins/wp-lightbox-2/styles/lightbox.min.css' media='all' /> 42<link rel='stylesheet' id='normalize-css' href='https://primaconstruction.ca/wp-content/themes/gc12/normalize.min.css' media='all' /> 43<link rel='stylesheet' id='foundation-css' href='https://primaconstruction.ca/wp-content/themes/gc12/foundation.css' media='all' /> 44<link rel='stylesheet' id='style-css' href='https://primaconstruction.ca/wp-content/themes/gc12/style.css' media='all' /> 45<link rel='stylesheet' id='dateTimeCss-css' href='https://primaconstruction.ca/wp-content/themes/gc12/styles/jquery.datetimepicker.css' media='all' /> 46<link rel='stylesheet' id='pagestylephp-css' href='https://primaconstruction.ca/wp-content/themes/gc12/page-css.php' media='all' /> 47<style id='wp-block-button-inline-css' type='text/css'> 48.wp-block-button__link{align-content:center;box-sizing:border-box;cursor:pointer;display:inline-block;height:100%;text-align:center;word-break:break-word}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}:where(.wp-block-button__link){border-radius:9999px;box-shadow:none;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons>.wp-block-button.has-custom-width{max-width:none}.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link{width:100%}.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{flex-basis:100%;width:100%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-25{width:25%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-50{width:50%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-75{width:75%}.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{border-radius:0}.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{border-radius:0!important}:root :where(.wp-block-button .wp-block-button__link.is-style-outline),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link){border:2px solid;padding:.667em 1.333em}:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color)),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color)){color:currentColor}:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background)),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background)){background-color:initial;background-image:none} 49/*# sourceURL=https://primaconstruction.ca/wp-includes/blocks/button/style.min.css */ 50</style> 51<style id='wp-block-search-inline-css' type='text/css'> 52.wp-block-search__button{margin-left:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{height:1.25em;min-height:24px;min-width:24px;width:1.25em;fill:currentColor;vertical-align:text-bottom}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__button{box-sizing:border-box;display:flex;flex-shrink:0;justify-content:center;margin-left:0;max-width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search.wp-block-search__button-only .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}:where(.wp-block-search__input){appearance:none;border:1px solid #949494;flex-grow:1;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important;text-transform:inherit}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){background-color:#fff;border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{float:right} 53/*# sourceURL=https://primaconstruction.ca/wp-includes/blocks/search/style.min.css */ 54</style> 55<link rel='stylesheet' id='site-reviews-css' href='https://primaconstruction.ca/wp-content/plugins/site-reviews/assets/styles/default.css' media='all' /> 56<style id='site-reviews-inline-css' type='text/css'> 57:root{--glsr-star-empty:url(https://primaconstruction.ca/wp-content/plugins/site-reviews/assets/images/stars/default/star-empty.svg);--glsr-star-error:url(https://primaconstruction.ca/wp-content/plugins/site-reviews/assets/images/stars/default/star-error.svg);--glsr-star-full:url(https://primaconstruction.ca/wp-content/plugins/site-reviews/assets/images/stars/default/star-full.svg);--glsr-star-half:url(https://primaconstruction.ca/wp-content/plugins/site-reviews/assets/images/stars/default/star-half.svg)} 58 59/*# sourceURL=site-reviews-inline-css */ 60</style>
61<script src="https://primaconstruction.ca/wp-content/themes/gc12/scripts/jquery.min.js" id="jquery-js"></script>
vendor: 1 bytes, line 61
61
62<script src="https://primaconstruction.ca/wp-content/themes/gc12/js/foundation/foundation.js" id="foundationjs-js"></script>
vendor: 1 bytes, line 62
62
63<script src="https://primaconstruction.ca/wp-content/themes/gc12/js/foundation/foundation.topbar.js" id="topbar-js"></script>
vendor: 1 bytes, line 63
63
64<script src="https://kit.fontawesome.com/f9c8f97a41.js" id="fontawesome-js"></script>
vendor: 1 bytes, line 64
64
65<script src="https://primaconstruction.ca/wp-content/themes/gc12/scripts/vendor/modernizr.js" id="modernizr-js"></script>
65 66<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://primaconstruction.ca/xmlrpc.php?rsd" /> 67<meta name="generator" content="WordPress 6.9.9" /> 68<link rel="canonical" href="https://primaconstruction.ca/contact-us/" /> 69<link rel='shortlink' href='https://primaconstruction.ca/?p=59' />
70<script src='https://primaconstruction.ca/?dm=2fcaeb13322f0c74ce3e790f51e68398&action=load&blogid=2566&siteid=1&t=1453107737&back=https%3A%2F%2Fprimaconstruction.ca%2Fcontact-us%2F' type='text/javascript'></script>
70<!-- pulled from default Schema Settings -->
70<script type="application/ld+json">{"@context":"http:\/\/schema.org\/","@type":"LocalBusiness","name":"Prima Construction Corp","description":"Remodeling Contractor, Remodeling Company and Bathroom Remodeling Contractor","image":"https:\/\/primaconstruction.ca\/wp-content\/themes\/gc12\/images\/rich-card.png","url":"https:\/\/primaconstruction.ca","logo":"https:\/\/primaconstruction.ca\/wp-content\/uploads\/sites\/2566\/2024\/10\/logo.png","faxNumber":"","email":"[email protected]","areaServed":"Calgary, Airdrie and Okotoks","paymentAccepted":"Check","address":{"@type":"PostalAddress","streetAddress":"","addressLocality":"Calgary","addressRegion":"AB","postalCode":"T2X 0C3","postOfficeBoxNumber":""},"sameAs":["https:\/\/www.facebook.com\/Prima2019\/"],"contactPoint":[{"@type":"ContactPoint","telephone":"+1-403-708-3013","contactType":"customer service"}],"telephone":"+1-403-708-3013","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":"By Appointment Only","closes":"By Appointment Only"},{"@type":"OpeningHoursSpecification","dayOfWeek":"http:\/\/schema.org\/Sunday","opens":"By Appointment Only","closes":"By Appointment Only"}]}</script>
70
70<script>
vendor: 349 bytes, lines 70-76
70 71 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 72 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 73 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 74 })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 75 76 ga('create', '
76UA-164510708-32
vendor: 44 bytes, lines 76-79
76', 'auto'); 77 ga('send', 'pageview'); 78 79
79</script>
79 80 81 <meta name="townorder" id="townorder" content="Calgary, Airdrie and Okotoks"> 82<meta name="marketspecialties" id="marketspecialties" content="Remodeling Contractor, Remodeling Company and Bathroom Remodeling Contractor"> 83<meta name="city" id="city" content="Calgary"> 84<link rel='stylesheet' id='datetimecss-css' href='https://primaconstruction.ca/wp-content/plugins/linknowmedia-email/styles/jquery.datetimepicker.css' media='all' /> 85 86</head> 87<body class="wp-singular page-template-default page page-id-59 wp-theme-gc12"> 88 89<header class="header-wrapper header-inner"> 90 <div class="mobile-menu hide-for-large-up"> 91 <span class="mobile-navigation navigation-toggle"><i class="toggle-bars"></i></span> 92 <div class="navigation-wrapper fullwidth-navigation"> 93 <nav class="top-bar fading" data-options=" custom_back_text: true; back_text: Back;" data-topbar itemscope itemtype="http://www.schema.org/SiteNavigationElement"> 94 <ul class="title-area"> 95 <li class="name"></li> 96 <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li> 97 </ul> 98 <div class="top-bar-section section"> 99 <div class="menu"><ul> 100<li class="page_item page-item-14"><a href="https://primaconstruction.ca/">Home</a></li> 101<li class="page_item page-item-15 page_item_has_children has-dropdown not-click"><a href="https://primaconstruction.ca/about-us/">About</a> 102<ul class='dropdown'> 103 <li class="page_item page-item-353"><a href="https://primaconstruction.ca/about-us/blog/">Blog</a></li> 104 <li class="page_item page-item-357"><a href="https://primaconstruction.ca/about-us/testimonials/">Testimonials</a></li> 105</ul> 106</li> 107<li class="page_item page-item-16 page_item_has_children has-dropdown not-click"><a href="https://primaconstruction.ca/services/">Services</a> 108<ul class='dropdown'> 109 <li class="page_item page-item-198"><a href="https://primaconstruction.ca/services/hvac-services/">HVAC Services</a></li> 110 <li class="page_item page-item-17"><a href="https://primaconstruction.ca/services/carpentry/">Carpentry</a></li> 111 <li class="page_item page-item-18"><a href="https://primaconstruction.ca/services/chimney-repair/">Chimney Repair</a></li> 112 <li class="page_item page-item-19"><a href="https://primaconstruction.ca/services/commercial-hvac/">Commercial HVAC</a></li> 113 <li class="page_item page-item-20"><a href="https://primaconstruction.ca/services/commercial-painting/">Commercial Painting</a></li> 114 <li class="page_item page-item-21"><a href="https://primaconstruction.ca/services/commercial-plumbing/">Commercial Plumbing</a></li> 115 <li class="page_item page-item-22"><a href="https://primaconstruction.ca/services/commercial-roof-repair/">Commercial Roof Repair</a></li> 116 <li class="page_item page-item-23"><a href="https://primaconstruction.ca/services/commercial-roofing/">Commercial Roofing</a></li> 117 <li class="page_item page-item-24"><a href="https://primaconstruction.ca/services/concrete-services/">Concrete Services</a></li> 118 <li class="page_item page-item-25"><a href="https://primaconstruction.ca/services/countertop-installation/">Countertop Installation</a></li> 119 <li class="page_item page-item-26"><a href="https://primaconstruction.ca/services/door-services/">Door Services</a></li> 120 <li class="page_item page-item-27"><a href="https://primaconstruction.ca/services/electrical-services/">Electrical Services</a></li> 121 <li class="page_item page-item-28"><a href="https://primaconstruction.ca/services/flooring-installation/">Flooring Installation</a></li> 122 <li class="page_item page-item-29"><a href="https://primaconstruction.ca/services/general-contractor/">General Contractor</a></li> 123 <li class="page_item page-item-30"><a href="https://primaconstruction.ca/services/gutter-services/">Gutter Services</a></li> 124 <li class="page_item page-item-31"><a href="https://primaconstruction.ca/services/hardwood-flooring/">Hardwood Flooring</a></li> 125 <li class="page_item page-item-32"><a href="https://primaconstruction.ca/services/home-improvement/">Home Improvement</a></li> 126 <li class="page_item page-item-33"><a href="https://primaconstruction.ca/services/home-repair/">Home Repair</a></li> 127 <li class="page_item page-item-34"><a href="https://primaconstruction.ca/services/house-painting/">House Painting</a></li> 128 <li class="page_item page-item-35"><a href="https://primaconstruction.ca/services/residential-hvac/">Residential HVAC</a></li> 129 <li class="page_item page-item-36"><a href="https://primaconstruction.ca/services/residential-plumbing/">Residential Plumbing</a></li> 130 <li class="page_item page-item-37"><a href="https://primaconstruction.ca/services/residential-roof-repair/">Residential Roof Repair</a></li> 131 <li class="page_item page-item-38"><a href="https://primaconstruction.ca/services/residential-roofing/">Residential Roofing</a></li> 132 <li class="page_item page-item-39"><a href="https://primaconstruction.ca/services/roof-waterproofing/">Roof Waterproofing</a></li> 133 <li class="page_item page-item-40"><a href="https://primaconstruction.ca/services/window-installation/">Window Installation</a></li> 134 <li class="page_item page-item-184"><a href="https://primaconstruction.ca/services/service-areas/">Service Areas</a></li> 135</ul> 136</li> 137<li class="page_item page-item-41 page_item_has_children has-dropdown not-click"><a href="https://primaconstruction.ca/remodeling/">Remodeling</a> 138<ul class='dropdown'> 139 <li class="page_item page-item-42"><a href="https://primaconstruction.ca/remodeling/basement-remodeling/">Basement Remodeling</a></li> 140 <li class="page_item page-item-43"><a href="https://primaconstruction.ca/remodeling/bathroom-remodeling/">Bathroom Remodeling</a></li> 141 <li class="page_item page-item-44"><a href="https://primaconstruction.ca/remodeling/commercial-remodeling/">Commercial Remodeling</a></li> 142 <li class="page_item page-item-45"><a href="https://primaconstruction.ca/remodeling/kitchen-remodeling/">Kitchen Remodeling</a></li> 143 <li class="page_item page-item-46"><a href="https://primaconstruction.ca/remodeling/remodeling-contractor/">Remodeling Contractor</a></li> 144 <li class="page_item page-item-47"><a href="https://primaconstruction.ca/remodeling/residential-remodeling/">Residential Remodeling</a></li> 145</ul> 146</li> 147<li class="page_item page-item-48 page_item_has_children has-dropdown not-click"><a href="https://primaconstruction.ca/construction/">Construction</a> 148<ul class='dropdown'> 149 <li class="page_item page-item-194"><a href="https://primaconstruction.ca/construction/home-builder/">
149Home Builder</a></li> 150 <li class="page_item page-item-49"><a href="https://primaconstruction.ca/construction/commercial-construction/">Commercial Construction</a></li> 151 <li class="page_item page-item-50"><a href="https://primaconstruction.ca/construction/construction-contractor/">Construction Contractor</a></li> 152 <li class="page_item page-item-51"><a href="https://primaconstruction.ca/construction/deck-construction/">Deck Construction</a></li> 153 <li class="page_item page-item-52"><a href="https://primaconstruction.ca/construction/framing/">Framing</a></li> 154 <li class="page_item page-item-53"><a href="https://primaconstruction.ca/construction/home-additions/">Home Additions</a></li> 155 <li class="page_item page-item-54"><a href="https://primaconstruction.ca/construction/patio-construction/">Patio Construction</a></li> 156 <li class="page_item page-item-55"><a href="https://primaconstruction.ca/construction/residential-construction/">Residential Construction</a></li> 157 <li class="page_item page-item-56"><a href="https://primaconstruction.ca/construction/siding/">Siding</a></li> 158</ul> 159</li> 160<li class="page_item page-item-57"><a href="https://primaconstruction.ca/faq/">FAQ</a></li> 161<li class="page_item page-item-58"><a href="https://primaconstruction.ca/gallery/">Gallery</a></li> 162<li class="page_item page-item-59 current_page_item active"><a href="https://primaconstruction.ca/contact-us/" aria-current="page">Contact</a></li> 163</ul></div> 164</div></nav> 165 </div> 166 </div> 167 <div class="content-wrapper black-bg"> 168 <div class="top-header mobile-hide"> 169 <div class="tagline"> 170 <p>Located in Calgary servicing Calgary, Airdrie, Okotoks and surrounding areas</p> 171 </div> 172 <div class="header-cta"> 173 <a class="header-cta-btn" href="tel:+14037083013">tel: (403) 708-3013 </a> 174 </div> 175 </div> 176 </div> 177 <div class="content-wrapper main-header side-buffer"> 178 <div class="flex-row nav"> 179 <div class="header-details"> 180 <div class="logo-wrapper"> 181 <a href="/" title="Prima Construction Corp"><img src="https://primaconstruction.ca/wp-content/uploads/sites/2566/2024/10/logo.png" loading="lazy" width="465" height="145" alt="Prima Construction Corp Logo"></a> 182 </div><div class="company-details"> 183 <p class="title"><a href="/" title="Prima Construction Corp"><img src="https://primaconstruction.ca/wp-content/uploads/sites/2566/2024/10/logowords.png" loading="lazy" width="427" height="113" alt="Prima Construction Corp Logo"></a></p> 184 </div> 185 </div> 186 <div class="navigation-wrapper mobile-hide"> 187 <nav class="top-bar fading" data-options=" custom_back_text: true; back_text: Back;" data-topbar itemscope itemtype="http://www.schema.org/SiteNavigationElement"> 188 <ul class="title-area"> 189 <li class="name"></li> 190 <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li> 191 </ul> 192 <div class="top-bar-section section"> 193 <div class="menu"><ul> 194<li class="page_item page-item-14"><a href="https://primaconstruction.ca/">Home</a></li> 195<li class="page_item page-item-15 page_item_has_children has-dropdown not-click"><a href="https://primaconstruction.ca/about-us/">About</a> 196<ul class='dropdown'> 197 <li class="page_item page-item-353"><a href="https://primaconstruction.ca/about-us/blog/">Blog</a></li> 198 <li class="page_item page-item-357"><a href="https://primaconstruction.ca/about-us/testimonials/">Testimonials</a></li> 199</ul> 200</li> 201<li class="page_item page-item-16 page_item_has_children has-dropdown not-click"><a href="https://primaconstruction.ca/services/">Services</a> 202<ul class='dropdown'> 203 <li class="page_item page-item-198"><a href="https://primaconstruction.ca/services/hvac-services/">HVAC Services</a></li> 204 <li class="page_item page-item-17"><a href="https://primaconstruction.ca/services/carpentry/">Carpentry</a></li> 205 <li class="page_item page-item-18"><a href="https://primaconstruction.ca/services/chimney-repair/">Chimney Repair</a></li> 206 <li class="page_item page-item-19"><a href="https://primaconstruction.ca/services/commercial-hvac/">Commercial HVAC</a></li> 207 <li class="page_item page-item-20"><a href="https://primaconstruction.ca/services/commercial-painting/">Commercial Painting</a></li> 208 <li class="page_item page-item-21"><a href="https://primaconstruction.ca/services/commercial-plumbing/">Commercial Plumbing</a></li> 209 <li class="page_item page-item-22"><a href="https://primaconstruction.ca/services/commercial-roof-repair/">Commercial Roof Repair</a></li> 210 <li class="page_item page-item-23"><a href="https://primaconstruction.ca/services/commercial-roofing/">Commercial Roofing</a></li> 211 <li class="page_item page-item-24"><a href="https://primaconstruction.ca/services/concrete-services/">Concrete Services</a></li> 212 <li class="page_item page-item-25"><a href="https://primaconstruction.ca/services/countertop-installation/">Countertop Installation</a></li> 213 <li class="page_item page-item-26"><a href="https://primaconstruction.ca/services/door-services/">Door Services</a></li> 214 <li class="page_item page-item-27"><a href="https://primaconstruction.ca/services/electrical-services/">Electrical Services</a></li> 215 <li class="page_item page-item-28"><a href="https://primaconstruction.ca/services/flooring-installation/">Flooring Installation</a></li> 216 <li class="page_item page-item-29"><a href="https://primaconstruction.ca/services/general-contractor/">General Contractor</a></li> 217 <li class="page_item page-item-30"><a href="https://primaconstruction.ca/services/gutter-services/">Gutter Services</a></li> 218 <li class="page_item page-item-31"><a href="https://primaconstruction.ca/services/hardwood-flooring/">Hardwood Flooring</a></li> 219 <li class="page_item page-item-32"><a href="https://primaconstruction.ca/services/home-improvement/">Home Improvement</a></li> 220 <li class="page_item page-item-33"><a href="https://primaconstruction.ca/services/home-repair/">Home Repair</a></li> 221 <li class="page_item page-item-34"><a href="https://primaconstruction.ca/services/house-painting/">House Painting</a></li> 222 <li class="page_item page-item-35"><a href="https://primaconstruction.ca/services/residential-hvac/">Residential HVAC</a></li> 223 <li class="page_item page-item-36"><a href="https://primaconstruction.ca/services/residential-plumbing/">Residential Plumbing</a></li> 224 <li class="page_item page-item-37"><a href="https://primaconstruction.ca/services/residential-roof-repair/">Residential Roof Repair</a></li> 225 <li class="page_item page-item-38"><a href="https://primaconstruction.ca/services/residential-roofing/">Residential Roofing</a></li> 226 <li class="page_item page-item-39"><a href="https://primaconstruction.ca/services/roof-waterproofing/">Roof Waterproofing</a></li> 227 <li class="page_item page-item-40"><a href="https://primaconstruction.ca/services/window-installation/">Window Installation</a></li> 228 <li class="page_item page-item-184"><a href="https://primaconstruction.ca/services/service-areas/">Service Areas</a></li> 229</ul> 230</li> 231<li class="page_item page-item-41 page_item_has_children has-dropdown not-click"><a href="https://primaconstruction.ca/remodeling/">Remodeling</a> 232<ul class='dropdown'> 233 <li class="page_item page-item-42"><a href="https://primaconstruction.ca/remodeling/basement-remodeling/">Basement Remodeling</a></li> 234 <li class="page_item page-item-43"><a href="https://primaconstruction.ca/remodeling/bathroom-remodeling/">Bathroom Remodeling</a></li> 235 <li class="page_item page-item-44"><a href="https://primaconstruction.ca/remodeling/commercial-remodeling/">Commercial Remodeling</a></li> 236 <li class="page_item page-item-45"><a href="https://primaconstruction.ca/remodeling/kitchen-remodeling/">Kitchen Remodeling</a></li> 237 <li class="page_item page-item-46"><a href="https://primaconstruction.ca/remodeling/remodeling-contractor/">Remodeling Contractor</a></li> 238 <li class="page_item page-item-47"><a href="https://primaconstruction.ca/remodeling/residential-remodeling/">Residential Remodeling</a></li> 239</ul> 240</li> 241<li class="page_item page-item-48 page_item_has_children has-dropdown not-click"><a href="https://primaconstruction.ca/construction/">Construction</a> 242<ul class='dropdown'> 243 <li class="page_item page-item-194"><a href="https://primaconstruction.ca/construction/home-builder/">
243Home Builder</a></li> 244 <li class="page_item page-item-49"><a href="https://primaconstruction.ca/construction/commercial-construction/">Commercial Construction</a></li> 245 <li class="page_item page-item-50"><a href="https://primaconstruction.ca/construction/construction-contractor/">Construction Contractor</a></li> 246 <li class="page_item page-item-51"><a href="https://primaconstruction.ca/construction/deck-construction/">Deck Construction</a></li> 247 <li class="page_item page-item-52"><a href="https://primaconstruction.ca/construction/framing/">Framing</a></li> 248 <li class="page_item page-item-53"><a href="https://primaconstruction.ca/construction/home-additions/">Home Additions</a></li> 249 <li class="page_item page-item-54"><a href="https://primaconstruction.ca/construction/patio-construction/">Patio Construction</a></li> 250 <li class="page_item page-item-55"><a href="https://primaconstruction.ca/construction/residential-construction/">Residential Construction</a></li> 251 <li class="page_item page-item-56"><a href="https://primaconstruction.ca/construction/siding/">Siding</a></li> 252</ul> 253</li> 254<li class="page_item page-item-57"><a href="https://primaconstruction.ca/faq/">FAQ</a></li> 255<li class="page_item page-item-58"><a href="https://primaconstruction.ca/gallery/">Gallery</a></li> 256<li class="page_item page-item-59 current_page_item active"><a href="https://primaconstruction.ca/contact-us/" aria-current="page">Contact</a></li> 257</ul></div> 258</div></nav> 259 </div> 260 </div> 261 </div> 262</header> 263<div class="mobile-header-bg hide-for-large-up"> </div> 264<div class="mobile-sticky-cta"> 265 <a class="sticky-btn" href="tel:+14037083013">Call us </a> 266 <a href="/contact-us/" class="sticky-btn alt" title="Send Us A Message">Message us</a> 267 </div><div class="clearfix"></div><main class="side-buffer"> 268 269<article class="section-article"> 270 <div class="content-wrapper"> 271 <div class="flex-row intro-row svc-inner vertical-padding-large"> 272 <div class="large-7 columns intro-text contact-body"> 273 <h1>Contact Prima Construction Corp</h1> 274 <div class="large-12 columns strip-padding contact-form"> 275 <form id="contactForm" class="contactForm" method="POST"> 276 <input type="hidden" name="submitContact"> 277 <div class="groupWrapper"> 278 <label for="fullName">Full Name:</label> 279 <input class="fancyInput validate[required] shortField" type="text" name="fullName" id="fullName" title="Full Name"> 280 </div> 281 <div class="groupWrapper"> 282 <label for="phoneNumber">Phone Number:</label> 283 <input class="fancyInput validate[required,custom[phone]]" type="text" name="phoneNumber" id="phoneNumber" title="Phone Number"> 284 </div> 285 <div class="groupWrapper"> 286 <label for="emailAddress">Email Address:</label> 287 <input class="fancyInput validate[required,custom[emailAddress]]" type="text" name="emailAddress" id="emailAddress" title="Email Address"> 288 </div> 289 <div class="groupWrapper"> 290 <label for="emailMessage">Your Message:</label> 291 <textarea class="fancyInput validate[required]" type="text" name="emailMessage" id="emailMessage" title="Your Message"></textarea> 292 </div> 293 294 295 <div class="submitWrapper"> 296 <button type="submit" class="cta-btn color-1" name="submitContact" id="submitContact">SEND</button> 297 </div> 298 <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> 299 </div> 300 301 </div> 302 303 <div class="large-5 columns bg-wrapper mobile-hide"> 304 <div class="bg-box svc-bg contact mobile-bg-remove"> </div> 305 </div> 306 </div> 307 308 </div> 309 310 </article> 311 312</main> 313<div class="clearfix"></div> 314<footer class="footer-wrapper side-buffer"> 315 <div class="content-wrapper footer-inner-wrapper black-bg"> 316 <div class="flex-row footer-row vertical-padding-large"> 317 <div class="footer-cta"> 318 <p>Connect with a qualified general contractor</p> 319 <a href="/contact-us/" title="Send us a message" class="cta-btn color-3">Contact Us</a> 320 </div> 321 <div class="footer-col-wrapper"> 322 <div class="footer-col"> 323 <div class="footer-contact"> 324 <h2>Contact Info</h2> 325 <p>Calgary, AB T2X 0C3</p> 326 <p>Phone: <a class="" href="tel:+14037083013">(403) 708-3013 </a><br>[email protected]</p> 327 </div> 328 <div class="footer-hours"> 329 <h2>Hours of Operation</h2> 330 <p>Mon - Fri: 8:00AM - 6:00PM<br>Sat & Sun: By Appointment Only</p> 331 </div> 332 </div> 333 <div class="footer-col"> 334 <div class="footer-payment"> 335 <h2>Payment Methods</h2> 336 <p class="payment-methods"><svg class="payment-icon circle" id="ci-check" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38.1 38.1"> 337 <defs> 338 <style> 339 #ci-check .cls-1 { 340 fill: #0058a0; 341 }#ci-check .cls-2 { 342 fill: #fff; 343 } 344 </style> 345 </defs> 346 <title>Check</title> 347 <g> 348 <circle class="cls-1" cx="19.1" cy="19.1" r="19.1" transform="translate(-7.9 19.1) rotate(-45)"/> 349 <g> 350 <path class="cls-2" d="M31.7,15V28.3H6.4V15Zm-1.4,1.3H8.4c-.6,0-.7.2-.7.7v9.1c0,.8.2,1,1,1H30.3Z"/> 351 <path class="cls-2" d="M28.9,9.8l.8,3.9c-1.3.2-1.3.2-1.5-.9a2.5,2.5,0,0,1-.2-.7c0-.5-.2-.7-.8-.5l-8.7,1.9c-1.1.2-2.3.2-3.4.3H11.6Z"/> 352 <path class="cls-2" d="M23.1,20.6V18.3h5.5v2.3Z"/> 353 <path class="cls-2" d="M9.5,25.2v-.9H22.9v.9Z"/> 354 <path class="cls-2" d="M9.5,21.6v-1h8.9v1Z"/> 355 </g> 356 </g> 357</svg> 358</p> 359 </div> 360 <div class="footer-social hide-if-no-social"> 361 <h2>Social</h2> 362 363 <a class="lnm-social-icon " href="https://www.facebook.com/Prima2019/" rel="noreferrer noopener" itemprop="sameAs" target="blank" title="Facebook"><i class="fa fa-facebook"></i></a> 364 <a class="lnm-social-icon " href="https://www.google.com/maps/place/Prima+Construction+Corp./@51.0112363,-114.6482414,9z/data=!3m1!4b1!4m5!3m4!1s0x0:0x189235f8ccd62cb8!8m2!3d51.0125766!4d-114.087835" rel="noreferrer noopener" itemprop="sameAs" target="blank" title="Google Maps"><i class="fa fa-map-marker"></i></a> 365 </div> 366 </div> 367 </div> 368 </div> 369 </div> 370 <div class="content-wrapper side-buffer"> 371 <div class="flex-row disclaimer"> 372 <div class="large-3 columns strip-padding text-center"> 373 <img src="https://linknow.com/linknow_images/linknow-logo-black.png" alt="Website Hosted By LinkNow⢠Media" width="200px" height="75px" loading="lazy"/> 374 </div> 375 </div> 376 </div> 377</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>
377<script type="speculationrules"> 378{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/sites/2566/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/gc12/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 379</script>
vendor: 1 bytes, line 379
379
380<script type="text/javascript">!function(){ var b=function(){ window.__AudioEyeSiteHash = "efb04460df0497c1906b548dbf04d4fa"; 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>
vendor: 67 bytes, line 380
380<script src="https://www.google.com/recaptcha/enterprise.js?render=
3806LflbUQsAAAAADQa-oHKDxYnfKpy0TfaniKv449Y
vendor: 45 bytes, line 380
380" id="lnm-recaptcha-enterprise-js"></script>
381<script id="lnm-recaptcha-enterprise-js-after"> 382/* <![CDATA[ */ 383console.log('[LNM] recaptcha inline loaded'); 384 385(function(){ 386 function ensureHidden(form){ 387 var el = form.querySelector('input[name="g-recaptcha-response"]'); 388 if(!el){ 389 el = document.createElement('input'); 390 el.type = 'hidden'; 391 el.name = 'g-recaptcha-response'; 392 form.appendChild(el); 393 } 394 return el; 395 } 396 397document.addEventListener('click', function(e){ 398 var el = e.target.closest('#contactForm #submitContact, #contactForm .submit, #requestForm #submitContact'); 399 if(!el) return; 400 401 var form = el.closest('form'); 402 if(!form) return; 403 404 // trigger a real submit event path (lets other listeners run) 405 e.preventDefault(); 406 407 if (form.requestSubmit) { 408 form.requestSubmit(); // preferred: dispatches submit event 409 } else { 410 // fallback for older browsers 411 var evt = document.createEvent('Event'); 412 evt.initEvent('submit', true, true); 413 if (form.dispatchEvent(evt)) { 414 form.submit(); 415 } 416 } 417}, true); 418 419 420 421 document.addEventListener('submit', function(e){ 422 var form = e.target; 423 if(!form || form.nodeName !== 'FORM') return; 424 425console.log('[LNM] submit captured', form); 426 427 // Only forms you explicitly mark in the HTML. 428 if(!form.querySelector('input[name="lnm_recaptcha"][value="1"]')) return; 429 430 // Prevent infinite loop: after we inject a token once, allow the submit. 431 if(form.dataset && form.dataset.lnmRecaptchaDone === '1') return; 432 433 var hidden = ensureHidden(form); 434 435 // If we already have a token, let it submit. 436 if(hidden && hidden.value) { 437 if(form.dataset) form.dataset.lnmRecaptchaDone = '1'; 438 return; 439 } 440 441 // If grecaptcha isn't available, DO NOT block submission. 442 // (Server-side enforce may still reject; but UX won't "freeze".) 443 if(!window.grecaptcha || !grecaptcha.enterprise || !grecaptcha.enterprise.execute) { 444 return; 445 } 446 447 // From this point on, we are taking over submission. 448 e.preventDefault(); 449 450 var done = false; 451 452 function finishSubmit(){ 453 if(done) return; 454 done = true; 455 if(form.dataset) form.dataset.lnmRecaptchaDone = '1'; 456 form.submit(); 457 } 458 459 // Hard safety: never allow recaptcha to stall the UX. 460 var timer = setTimeout(function(){ 461 finishSubmit(); // fallback: submit even if token never arrives 462 }, 6000); 463 464 try { 465 grecaptcha.enterprise.ready(function(){ 466 try { 467 var p = grecaptcha.enterprise.execute('6LflbUQsAAAAADQa-oHKDxYnfKpy0TfaniKv449Y', {action: 'lnm_email_00115253106'}); 468 if(p && typeof p.then === 'function'){ 469 p.then(function(token){ 470 clearTimeout(timer); 471 hidden.value = token || ''; 472 finishSubmit(); 473 }).catch(function(){ 474 clearTimeout(timer); 475 finishSubmit(); 476 }); 477 } else { 478 clearTimeout(timer); 479 finishSubmit(); 480 } 481 } catch(err){ 482 clearTimeout(timer); 483 finishSubmit(); 484 } 485 }); 486 } catch(err){ 487 clearTimeout(timer); 488 finishSubmit(); 489 } 490 }, true); 491})(); 492//# sourceURL=lnm-recaptcha-enterprise-js-after 493/* ]]> */ 494</script>
vendor: 1 bytes, line 494
494
495<script type="text/javascript" id="wp-jquery-lightbox-js-extra"> 496/* <![CDATA[ */ 497var JQLBSettings = {"fitToScreen":"0","resizeSpeed":"400","displayDownloadLink":"0","navbarOnTop":"0","loopImages":"","resizeCenter":"","marginSize":"","linkTarget":"","help":"","prevLinkTitle":"previous image","nextLinkTitle":"next image","prevLinkText":"\u00ab Previous","nextLinkText":"Next \u00bb","closeTitle":"close image gallery","image":"Image ","of":" of ","download":"Download","jqlb_overlay_opacity":"80","jqlb_overlay_color":"#000000","jqlb_overlay_close":"1","jqlb_border_width":"10","jqlb_border_color":"#ffffff","jqlb_border_radius":"0","jqlb_image_info_background_transparency":"100","jqlb_image_info_bg_color":"#ffffff","jqlb_image_info_text_color":"#000000","jqlb_image_info_text_fontsize":"10","jqlb_show_text_for_image":"1","jqlb_next_image_title":"next image","jqlb_previous_image_title":"previous image","jqlb_next_button_image":"https://primaconstruction.ca/wp-content/plugins/wp-lightbox-2/styles/images/next.gif","jqlb_previous_button_image":"https://primaconstruction.ca/wp-content/plugins/wp-lightbox-2/styles/images/prev.gif","jqlb_maximum_width":"","jqlb_maximum_height":"","jqlb_show_close_button":"1","jqlb_close_image_title":"close image gallery","jqlb_close_image_max_heght":"22","jqlb_image_for_close_lightbox":"https://primaconstruction.ca/wp-content/plugins/wp-lightbox-2/styles/images/closelabel.gif","jqlb_keyboard_navigation":"1","jqlb_popup_size_fix":"0"}; 498//# sourceURL=wp-jquery-lightbox-js-extra 499/* ]]> */ 500</script>
vendor: 1 bytes, line 500
500
501<script src="https://primaconstruction.ca/wp-content/plugins/wp-lightbox-2/js/dist/wp-lightbox-2.min.js" id="wp-jquery-lightbox-js"></script>
vendor: 1 bytes, line 501
501
502<script src="https://primaconstruction.ca/wp-content/themes/gc12/scripts/lnm-scripts.min.js" id="lnmscripts-js"></script>
vendor: 1 bytes, line 502
502
503<script id="site-reviews-js-before"> 504/* <![CDATA[ */ 505window.hasOwnProperty("GLSR")||(window.GLSR={Event:{on:()=>{}}});GLSR.action="glsr_public_action";GLSR.addons=[];GLSR.ajaxpagination=["#wpadminbar",".site-navigation-fixed"];GLSR.ajaxurl="https://primaconstruction.ca/wp-admin/admin-ajax.php";GLSR.captcha=[];GLSR.nameprefix="site-reviews";GLSR.starsconfig={"clearable":false,tooltip:"Select a Rating"};GLSR.state={"popstate":false};GLSR.text={closemodal:"Close Modal"};GLSR.urlparameter="reviews-page";GLSR.validationconfig={field:"glsr-field",form:"glsr-form","field_error":"glsr-field-is-invalid","field_hidden":"glsr-hidden","field_message":"glsr-field-error","field_required":"glsr-required","field_valid":"glsr-field-is-valid","form_error":"glsr-form-is-invalid","form_message":"glsr-form-message","form_message_failed":"glsr-form-failed","form_message_success":"glsr-form-success","input_error":"glsr-is-invalid","input_valid":"glsr-is-valid"};GLSR.validationstrings={accepted:"This field must be accepted.",between:"This field value must be between %s and %s.",betweenlength:"This field must have between %s and %s characters.",email:"This field requires a valid e-mail address.",errors:"Please fix the submission errors.",max:"Maximum value for this field is %s.",maxfiles:"This field allows a maximum of %s files.",maxlength:"This field allows a maximum of %s characters.",min:"Minimum value for this field is %s.",minfiles:"This field requires a minimum of %s files.",minlength:"This field requires a minimum of %s characters.",number:"This field requires a number.",pattern:"Please match the requested format.",regex:"Please match the requested format.",required:"This field is required.",tel:"This field requires a valid telephone number.",url:"This field requires a valid website URL (make sure it starts with http or https).",unsupported:"The review could not be submitted because this browser is too old. Please try again with a modern browser."};GLSR.version="7.2.13"; 506//# sourceURL=site-reviews-js-before 507/* ]]> */ 508</script>
vendor: 1 bytes, line 508
508
509<script src="https://primaconstruction.ca/wp-content/plugins/site-reviews/assets/scripts/site-reviews.js" id="site-reviews-js" defer="defer" data-wp-strategy="defer"></script>
vendor: 1 bytes, line 509
509
510<script src="https://primaconstruction.ca/wp-content/plugins/linknowmedia-email/scripts/compiled.js" id="formjs-js"></script>
vendor: 1 bytes, line 510
510
511<script id="formjs-js-after"> 512/* <![CDATA[ */ 513(function () { 514 function getForms() { 515 return Array.prototype.slice.call(document.querySelectorAll('form.contactForm, form#contactForm')); 516 } 517 518 function getKey(form) { 519 var host = window.location.host || ''; 520 var path = window.location.pathname || ''; 521 var formId = form ? (form.id || 'contactForm') : 'contactForm'; 522 return 'lnm_form_retention:' + host + ':' + path + ':' + formId; 523 } 524 525 function trackedNames() { 526 return ['fullName', 'phoneNumber', 'emailAddress', 'emailMessage']; 527 } 528 529 function saveForm(form) { 530 if (!form || !window.sessionStorage) return; 531 532 var data = {}; 533 trackedNames().forEach(function (name) { 534 var field = form.querySelector('[name="' + name + '"]'); 535 if (field) { 536 data[name] = field.value || ''; 537 } 538 }); 539 540 try { 541 sessionStorage.setItem(getKey(form), JSON.stringify(data)); 542 } catch (e) {} 543 } 544 545 function restoreForm(form) { 546 if (!form || !window.sessionStorage) return; 547 548 try { 549 var raw = sessionStorage.getItem(getKey(form)); 550 if (!raw) return; 551 552 var data = JSON.parse(raw); 553 if (!data || typeof data !== 'object') return; 554 555 trackedNames().forEach(function (name) { 556 var field = form.querySelector('[name="' + name + '"]'); 557 if (!field) return; 558 559 if ((field.value || '') === '' && typeof data[name] !== 'undefined') { 560 field.value = data[name]; 561 } 562 }); 563 } catch (e) {} 564 } 565 566 function clearForCurrentPage() { 567 if (!window.sessionStorage) return; 568
569 getForms().forEach(function (form) { 570 try { 571 sessionStorage.removeItem(getKey(form)); 572 } catch (e) {} 573 }); 574 575 if (!getForms().length) { 576 var host = window.location.host || ''; 577 var path = window.location.pathname || ''; 578 try { 579 sessionStorage.removeItem('lnm_form_retention:' + host + ':' + path + ':contactForm'); 580 } catch (e) {} 581 } 582 } 583 584 document.addEventListener('DOMContentLoaded', function () { 585 var retentionMeta = document.getElementById('lnm-form-retention-meta'); 586 var shouldRetain = retentionMeta && retentionMeta.getAttribute('data-retain-form') === '1'; 587 588 if (!shouldRetain && retentionMeta) { 589 clearForCurrentPage(); 590 } 591 592 getForms().forEach(function (form) { 593 restoreForm(form); 594 595 trackedNames().forEach(function (name) { 596 var field = form.querySelector('[name="' + name + '"]'); 597 if (!field) return; 598 599 field.addEventListener('input', function () { 600 saveForm(form); 601 }); 602 603 field.addEventListener('change', function () { 604 saveForm(form); 605 }); 606 }); 607 608 form.addEventListener('submit', function () { 609 saveForm(form); 610 }, true); 611 }); 612 }); 613})(); 614//# sourceURL=formjs-js-after 615/* ]]> */ 616</script>
vendor: 1 bytes, line 616
616
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.