PageSourceSearch

https://primaconstruction.ca/contact-us/

html primaconstruction.ca collected 2026-09-29 20:31:22 UTC 55,272 bytes, 616 lines download raw bytes

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 &raquo; 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&amp;action=load&amp;blogid=2566&amp;siteid=1&amp;t=1453107737&amp;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.