1<!DOCTYPE html> 2<!--[if IE 6]> 3<html id="ie6" lang="en-CA"> 4<![endif]--> 5<!--[if IE 7]> 6<html id="ie7" lang="en-CA"> 7<![endif]--> 8<!--[if IE 8]> 9<html id="ie8" lang="en-CA"> 10<![endif]--> 11<!--[if !(IE 6) | !(IE 7) | !(IE 8) ]><!--> 12<html lang="en-CA"> 13<!--<![endif]--> 14<head> 15<meta charset="UTF-8" /> 16<meta name="viewport" content="width=device-width" /> 17<meta name="lnm.location" content="linknowmedia.today" /> 18<title>Capital Construction LLC | General Concrete Services</title> 19<link rel="profile" href="http://gmpg.org/xfn/11" /> 20<link rel="pingback" href="https://capitalconstructionsd.com/xmlrpc.php" /> 21<!--[if lt IE 9]>
22<script src="https://capitalconstructionsd.com/wp-content/themes/ccon2/scripts/html5.js" type="text/javascript"></script>
22 23<![endif]--> 24 <link rel="shortcut icon" type="image/png" href="https://capitalconstructionsd.com/wp-content/uploads/sites/1302/2025/08/logo.png" /> 25<link rel="preconnect" href="https://fonts.googleapis.com"> 26<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 27<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet"> 28<meta name='robots' content='max-image-preview:large' /> 29<meta name="description" content="Capital Construction LLC prides themselves on offering top of the line general concrete services. Visit our site today!" /><meta name="keywords" content="Bryant Concrete Contractor, Bryant Concrete Company, Bryant General Contractor, Watertown Concrete Contractor, Watertown Concrete Company, Watertown General Contractor, De Smet Concrete Contractor, De Smet Concrete Company, De Smet General Contractor" /><meta name="lnm.themename" content="ccon2" /><link rel='dns-prefetch' href='//www.google.com' /> 30<link rel='dns-prefetch' href='//maps.googleapis.com' /> 31<link rel='dns-prefetch' href='//kit.fontawesome.com' /> 32<link rel="alternate" type="application/rss+xml" title="Capital Construction LLC » Home Comments Feed" href="https://capitalconstructionsd.com/home/feed/" /> 33<style id='wp-img-auto-sizes-contain-inline-css' type='text/css'> 34img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 35/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 36</style> 37<link rel='stylesheet' id='wp-block-library-css' href='https://capitalconstructionsd.com/wp-includes/css/dist/block-library/style.min.css' media='all' /> 38 39<style id='global-styles-inline-css' type='text/css'> 40: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%);
40--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;}
40.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;} 41/*# sourceURL=global-styles-inline-css */ 42</style> 43 44<link rel='stylesheet' id='normalize-css' href='https://capitalconstructionsd.com/wp-content/themes/ccon2/normalize.min.css' media='all' /> 45<link rel='stylesheet' id='foundation-css' href='https://capitalconstructionsd.com/wp-content/themes/ccon2/foundation.css' media='all' /> 46<link rel='stylesheet' id='style-css' href='https://capitalconstructionsd.com/wp-content/themes/ccon2/style.css' media='all' /> 47<link rel='stylesheet' id='slick-css' href='https://capitalconstructionsd.com/wp-content/themes/ccon2/slick/slick.css' media='all' /> 48<link rel='stylesheet' id='pagestylephp-css' href='https://capitalconstructionsd.com/wp-content/themes/ccon2/page-css.php' media='all' />
49<script src="https://capitalconstructionsd.com/wp-content/themes/ccon2/scripts/jquery.min.js" id="jquery-js"></script>
vendor: 1 bytes, line 49
49
50<script src="https://capitalconstructionsd.com/wp-content/themes/ccon2/js/foundation/foundation.js" id="foundationjs-js"></script>
vendor: 1 bytes, line 50
50
51<script src="https://capitalconstructionsd.com/wp-content/themes/ccon2/js/foundation/foundation.topbar.js" id="topbar-js"></script>
vendor: 1 bytes, line 51
51
52<script src="https://kit.fontawesome.com/f9c8f97a41.js" id="fontawesome-js"></script>
vendor: 1 bytes, line 52
52
53<script src="https://capitalconstructionsd.com/wp-content/themes/ccon2/scripts/vendor/modernizr.js" id="modernizr-js"></script>
53 54<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://capitalconstructionsd.com/xmlrpc.php?rsd" /> 55<meta name="generator" content="WordPress 6.9.9" /> 56<link rel="canonical" href="https://capitalconstructionsd.com" /> 57<link rel='shortlink' href='https://capitalconstructionsd.com/?p=14' />
58<script src='https://capitalconstructionsd.com/?dm=6976c141da8fbb78fea876d5f6dfc5a6&action=load&blogid=1302&siteid=1&t=2131746618&back=https%3A%2F%2Fcapitalconstructionsd.com%2Fhome%2F' type='text/javascript'></script>
58
58<script type="text/javascript"> 59 var lnmcrAjaxUrl = "https://capitalconstructionsd.com/wp-admin/admin-ajax.php"; 60 var lnmcrNonce = "b83eb653df"; 61 62 // ultimate url regex 63 function urlRegex(string){ 64 var regex = "((?:(http|https|Http|Https|rtsp|Rtsp):\\/\\/(?:(?:[a-zA-Z0-9\\$\\-\\_\\.\\+\\!\\*\\'\\(\\)" 65 + "\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,64}(?:\\:(?:[a-zA-Z0-9\\$\\-\\_" 66 + "\\.\\+\\!\\*\\'\\(\\)\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,25})?\\@)?)?" 67 + "((?:(?:[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}\\.)+" // named host 68 + "(?:" // plus top level domain 69 + "(?:aero|arpa|asia|a[cdefgilmnoqrstuwxz])" 70 + "|(?:biz|b[abdefghijmnorstvwyz])" 71 + "|(?:cat|com|coop|c[acdfghiklmnoruvxyz])" 72 + "|d[ejkmoz]" 73 + "|(?:edu|e[cegrstu])" 74 + "|f[ijkmor]" 75 + "|(?:gov|g[abdefghilmnpqrstuwy])" 76 + "|h[kmnrtu]" 77 + "|(?:info|int|i[delmnoqrst])" 78 + "|(?:jobs|j[emop])" 79 + "|k[eghimnrwyz]" 80 + "|l[abcikrstuvy]" 81 + "|(?:mil|mobi|museum|m[acdghklmnopqrstuvwxyz])" 82 + "|(?:name|net|n[acefgilopruz])" 83 + "|(?:org|om)" 84 + "|(?:pro|p[aefghklmnrstwy])" 85 + "|qa" 86 + "|r[eouw]" 87 + "|s[abcdeghijklmnortuvyz]" 88 + "|(?:tel|travel|t[cdfghjklmnoprtvwz])" 89 + "|u[agkmsyz]" 90 + "|v[aceginu]" 91 + "|w[fs]" 92 + "|y[etu]" 93 + "|z[amw]))" 94 + "|(?:(?:25[0-5]|2[0-4]" // or ip address 95 + "[0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9])\\.(?:25[0-5]|2[0-4][0-9]" 96 + "|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(?:25[0-5]|2[0-4][0-9]|[0-1]" 97 + "[0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}" 98 + "|[1-9][0-9]|[0-9])))" 99 + "(?:\\:\\d{1,5})?)" // plus option port number 100 + "(\\/(?:(?:[a-zA-Z0-9\\;\\/\\?\\:\\@\\&\\=\\#\\~" // plus option query params 101 + "\\-\\.\\+\\!\\*\\'\\(\\)\\,\\_])|(?:\\%[a-fA-F0-9]{2}))*)?" 102 + "(?:\\b|$)"; 103 if (regex.match(string)) { 104 return 'Error: Urls are not allowed.'; 105 } else { 106 return true; // invalid email. 107 } 108 } 109 110 // detect urls in strings 111 function detectUrl(string) { 112 if (string.match(/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/)) { 113 return true; 114 } else { 115 return false; 116 } 117 } 118 119 function validateTextareaValue(textarea){ 120 if (textarea.length<8 || textarea.length>1000) { 121 return 'Error: Your review text must be between 8 and 1000 characters in length.'; 122 } else { 123 if (detectUrl(textarea) == true) { 124 // Url detected in textarea body. 125 return 'Error: Your review text must NOT contain any urls.'; 126 } else { 127 return true; 128 } 129 } 130 } 131 132 // for text 133 function reviewTextValidation(){ 134 var erriddiv = '#lnmreviewtext-error'; 135 var validate = urlRegex($('#lnmreviewtext').val()); 136 var validated = validateTextareaValue($('#lnmreviewtext').val()); 137 if (validated !== true || validate !== true) { 138 $('#lnmreviewtext').addClass('review-error'); 139 $(erriddiv).html(validated).slideDown(0); 140 return false; 141 } else { 142 return true; 143 }; 144 } 145 146 147 148 149 150 // for input name 151 function validateNameValue(name){ 152 var regex = /^[a-zA-Z\s]+$/; 153 if (name.length<3 || name.length>32) { 154 return 'Error: Your review name must be between 3 and 32 characters in length.'; 155 } else { 156 if (regex.test(name)) { 157 return true; 158 } else { 159 return 'Error: Please use only letters and spaces.'; 160 } 161 } 162 } 163 // for name 164 function reviewNameValidation(){ 165 var erriddiv = '#lnmreviewname-error'; 166 var validated = validateNameValue($('#lnmreviewname').val()); 167 if (validated !== true) { 168 $('#lnmreviewname').addClass('review-error'); 169 $(erriddiv).html(validated).slideDown(0); 170 return false; 171 } else { 172 return true; 173 }; 174 } 175 176 177 178 179 // for input email 180 function validateEmailValue(email){ 181 var regex = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 182 if (regex.test(email)) { 183 return true; 184 } else { 185 // invalid email.
186 return 'Error: The email provided is invalid.'; 187 } 188 } 189 190 // for email 191 function reviewEmailValidation(){ 192 var erriddiv = '#lnmreviewemail-error'; 193 var validated = validateEmailValue($('#lnmreviewemail').val()); 194 if (validated !== true) { 195 $('#lnmreviewemail').addClass('review-error'); 196 $(erriddiv).html(validated).slideDown(0); 197 return false; 198 } else { 199 return true; 200 }; 201 } 202 203 204 205 // for terms 206 function reviewTermsValidation(){ 207 var erriddiv = '#lnmreviewterms-error'; 208 if (!$('#lnmreviewterms').is(':checked')) { 209 $('#lnmreviewterms').addClass('review-error'); 210 $(erriddiv).html('You must agree to terms.').slideDown(0); 211 return false; 212 } else { 213 return true; 214 }; 215 } 216 217 function reviewAllValidation(){ 218 var isvalid = true; 219 220 // Validate Terms 221 var terms = reviewTermsValidation(); 222 if (terms === false) { 223 isvalid = false; 224 }; 225 226 // Validate Text 227 var text = reviewTextValidation(); 228 if (text === false) { 229 isvalid = false; 230 }; 231 // Validate Author 232 var name = reviewNameValidation(); 233 if (name === false) { 234 isvalid = false; 235 }; 236 // Validate Email 237 var email = reviewEmailValidation(); 238 if (email === false) { 239 isvalid = false; 240 }; 241 return isvalid; 242 } 243 244 245 $(function(){ 246 $('.review-error-container').slideUp(0); 247 $('.lnmcr-submit').addClass('disabled'); 248 249 250 $( '#lnmreviewform input, #lnmreviewform textarea' ).on("change", function(){ 251 var erriddiv = '#'+$(this).attr('id')+'-error'; 252 $(this).removeClass('review-error'); 253 $(erriddiv).empty().slideUp(0); 254 }); 255 $( '#lnmreviewform input, #lnmreviewform textarea' ).on("blur", function(){ 256 if ($(this).attr('type') !== 'radio') { 257 258 // lnmreviewname 259 if ($(this).attr('id') === 'lnmreviewname') { 260 reviewNameValidation(); 261 }; 262 // lnmreviewemail 263 if ($(this).attr('id') === 'lnmreviewemail') { 264 reviewEmailValidation(); 265 }; 266 // lnmreviewtext 267 if ($(this).attr('id') === 'lnmreviewtext') { 268 reviewTextValidation(); 269 }; 270 // lnmreviewterms 271 if ($(this).attr('id') === 'lnmreviewterms') { 272 reviewTermsValidation(); 273 }; 274 }; 275 }); 276 277 $('#lnmreviewterms').change(function(){ 278 if (this.checked) { 279 var isvalidreview = reviewAllValidation(); 280 if (isvalidreview === false) { 281 $(this).prop('checked', false); 282 $('.lnmcr-submit').addClass('disabled'); 283 } else { 284 $('.lnmcr-submit').removeClass('disabled'); 285 }; 286 }; 287 }); 288 289 $( '.lnmcr-submit' ).on( 'click', function(e) { 290 e.preventDefault(); 291 var isvalidreview = reviewAllValidation(); 292 if (isvalidreview === true) { 293 var serializedata = $("#lnmreviewform").serialize(); 294 serializedata = serializedata.split('&'); 295 for (var i = serializedata.length - 1; i >= 0; i--) { 296 if (!serializedata[i].startsWith('lnmcr')) { 297 delete serializedata[i]; 298 } 299 }; 300 serializedata = serializedata.flat().join("&"); 301 302 $.ajax({
303 url: lnmcrAjaxUrl, // no â?actionâ here 304 method: 'POST', 305 dataType: 'json', // expect JSON back 306 crossDomain: true, 307 xhrFields: { withCredentials: true }, // send cookies/session 308 data: { 309 action: 'lnmcr_ajax_post', 310 security: lnmcrNonce, 311 lnmreviewterms: $('#lnmreviewterms').val(), 312 lnmreviewserialized: serializedata, 313 }, 314 beforeSend() { 315 $('#lnmreviewform').slideUp(250); 316 $('#review-response-container') 317 .html('<i class="fa-solid fa-spinner fa-spin-pulse"></i>'); 318 }, 319 success(response) { 320 console.log(response); 321 setTimeout(() => { 322 $('#review-response-container').html('<span style="background:white;padding:10px;border-radius:4px;display:block">'+response.data+'<span>'); 323 }, 3500); 324 }, 325 error(xhr) { 326 console.error('AJAX error', xhr.status, xhr.responseText); 327 $('#review-response-container') 328 .html('<span style="background:white;padding:10px;border-radius:4px;display:block" class="error-message">Unexpected error occurred.</span>'); 329 } 330 }); 331 332 } 333 }); 334 }); 335 </script>
335 336<!-- pulled from default Schema Settings & Modified by LinkNow Media Customer Reviews -->
336<script type="application/ld+json">{"@context":"http:\/\/schema.org\/","@type":"LocalBusiness","name":"Capital Construction LLC","description":"Concrete Contractor, Concrete Company and General Contractor","image":"https:\/\/capitalconstructionsd.com\/wp-content\/themes\/ccon2\/images\/rich-card.png","url":"https:\/\/capitalconstructionsd.com","logo":"https:\/\/capitalconstructionsd.com\/wp-content\/uploads\/sites\/1302\/2025\/08\/logo.png","faxNumber":"","email":"[email protected]","areaServed":"Bryant, Watertown and De Smet","paymentAccepted":"","address":{"@type":"PostalAddress","streetAddress":"","addressLocality":"Lake Norden","addressRegion":"SD","postalCode":"57248","postOfficeBoxNumber":""},"sameAs":[],"contactPoint":[{"@type":"ContactPoint","telephone":"+1-605-860-9102","contactType":"customer service"}],"telephone":"+1-605-860-9102","openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":"http:\/\/schema.org\/Monday","opens":"07:00","closes":"17:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"http:\/\/schema.org\/Tuesday","opens":"07:00","closes":"17:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"http:\/\/schema.org\/Wednesday","opens":"07:00","closes":"17:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"http:\/\/schema.org\/Thursday","opens":"07:00","closes":"17:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"http:\/\/schema.org\/Friday","opens":"07:00","closes":"17:00"}],"review":[]}</script>
336 337 <!-- Google tag (gtag.js) (GA4) -->
vendor: 73 bytes, lines 337-338
337 338 <script async src="https://www.googletagmanager.com/gtag/js?id=
338G-2DTY907RWG
vendor: 21 bytes, lines 338-339
338"></script> 339
339<script> 340
vendor: 164 bytes, lines 340-343
340window.dataLayer = window.dataLayer || []; 341 function gtag(){dataLayer.push(arguments);} 342 gtag('js', new Date()); 343 gtag('config', '
343G-2DTY907RWG
vendor: 13 bytes, lines 343-344
343'); 344
344</script>
344 345 346 <meta name="townorder" id="townorder" content="Bryant, Watertown and De Smet"> 347<meta name="marketspecialties" id="marketspecialties" content="Concrete Contractor, Concrete Company and General Contractor"> 348<meta name="city" id="city" content="Lake Norden"> 349<link rel='stylesheet' id='datetimecss-css' href='https://capitalconstructionsd.com/wp-content/plugins/linknowmedia-email/styles/jquery.datetimepicker.css' media='all' /> 350 351</head> 352<body class="wp-singular page-template-default page page-id-14 wp-theme-ccon2"> 353 354<header class="header-wrapper header-home"> 355 <div class="mobile-menu hide-for-large-up"> 356 <span class="mobile-navigation navigation-toggle"><i class="toggle-bars"></i></span> 357 <div class="navigation-wrapper fullwidth-navigation"> 358 <nav class="top-bar fading" data-options=" custom_back_text: true; back_text: Back;" data-topbar itemscope itemtype="http://www.schema.org/SiteNavigationElement"> 359 <ul class="title-area"> 360 <li class="name"></li> 361 <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li> 362 </ul> 363 <div class="top-bar-section section"> 364 <div class="menu"><ul> 365<li class="page_item page-item-14 current_page_item active"><a href="https://capitalconstructionsd.com/home/" aria-current="page">Home</a></li> 366<li class="page_item page-item-15 page_item_has_children has-dropdown not-click"><a href="https://capitalconstructionsd.com/about-us/">About</a> 367<ul class='dropdown'> 368 <li class="page_item page-item-51"><a href="https://capitalconstructionsd.com/about-us/blog/">Blog</a></li> 369 <li class="page_item page-item-47"><a href="https://capitalconstructionsd.com/about-us/reviews/">Reviews</a></li> 370</ul> 371</li> 372<li class="page_item page-item-16 page_item_has_children has-dropdown not-click"><a href="https://capitalconstructionsd.com/services/">Services</a> 373<ul class='dropdown'> 374 <li class="page_item page-item-18"><a href="https://capitalconstructionsd.com/services/concrete-contractor/">Concrete Contractor</a></li> 375 <li class="page_item page-item-20"><a href="https://capitalconstructionsd.com/services/concrete-driveways/">Concrete Driveways</a></li> 376 <li class="page_item page-item-21"><a href="https://capitalconstructionsd.com/services/concrete-flooring/">Concrete Flooring</a></li> 377 <li class="page_item page-item-22"><a href="https://capitalconstructionsd.com/services/concrete-foundations/">Concrete Foundations</a></li> 378 <li class="page_item page-item-23"><a href="https://capitalconstructionsd.com/services/concrete-installation/">Concrete Installation</a></li> 379 <li class="page_item page-item-26"><a href="https://capitalconstructionsd.com/services/concrete-patios/">Concrete Patios</a></li> 380 <li class="page_item page-item-27"><a href="https://capitalconstructionsd.com/services/concrete-removal/">Concrete Removal</a></li> 381 <li class="page_item page-item-28"><a href="https://capitalconstructionsd.com/services/concrete-repair/">Concrete Repair</a></li> 382 <li class="page_item page-item-29"><a href="https://capitalconstructionsd.com/services/concrete-resurfacing/">Concrete Resurfacing</a></li> 383 <li class="page_item page-item-30"><a href="https://capitalconstructionsd.com/services/concrete-staining/">Concrete Staining</a></li> 384 <li class="page_item page-item-31"><a href="https://capitalconstructionsd.com/services/concrete-stairs/">Concrete Stairs</a></li> 385 <li class="page_item page-item-32"><a href="https://capitalconstructionsd.com/services/concrete-walkways/">Concrete Walkways</a></li> 386 <li class="page_item page-item-154"><a href="https://capitalconstructionsd.com/services/construction-contractor/">Construction Contractor</a></li> 387 <li class="page_item page-item-33"><a href="https://capitalconstructionsd.com/services/decorative-concrete/">Decorative Concrete</a></li> 388 <li class="page_item page-item-34"><a href="https://capitalconstructionsd.com/services/foundation-repair/">Foundation Repair</a></li> 389 <li class="page_item page-item-157"><a href="https://capitalconstructionsd.com/services/framing-services/">Framing Services</a></li> 390 <li class="page_item page-item-35"><a href="https://capitalconstructionsd.com/services/garage-concrete/">Garage Concrete</a></li> 391 <li class="page_item page-item-148"><a href="https://capitalconstructionsd.com/services/general-contractor/">General Contractor</a></li> 392 <li class="page_item page-item-159"><a href="https://capitalconstructionsd.com/services/patio-construction/">Patio Construction</a></li> 393 <li class="page_item page-item-37"><a href="https://capitalconstructionsd.com/services/stamped-concrete/">Stamped Concrete</a></li> 394 <li class="page_item page-item-120"><a href="https://capitalconstructionsd.com/services/service-areas/">Service Areas</a></li> 395</ul> 396</li> 397<li class="page_item page-item-38"><a href="https://capitalconstructionsd.com/faq/">FAQ</a></li> 398<li class="page_item page-item-39"><a href="https://capitalconstructionsd.com/gallery/">Gallery</a></li> 399<li class="page_item page-item-40"><a href="https://capitalconstructionsd.com/contact-us/">Contact</a></li> 400</ul></div> 401</div></nav> 402 </div> 403 </div> 404 <div class="row full header-bar animated onload-50"> 405 <div class="large-4 columns strip-padding">
406 <div class="company-details text-center"> 407 <a href="/" title="Home"><img src="https://capitalconstructionsd.com/wp-content/uploads/sites/1302/2025/08/logo.png" width="200" height="199" alt="Capital Construction LLC Logo" class="hide-for-large-up"> 408 <p class="title">Concrete Contractor and General Contractor</p> 409 </div> 410 </div> 411 <div class="large-6 columns navigation-wrapper strip-padding hide-for-medium-down"> 412 <nav class="top-bar fading" data-options=" custom_back_text: true; back_text: Back;" data-topbar itemscope itemtype="http://www.schema.org/SiteNavigationElement"> 413 <ul class="title-area"> 414 <li class="name"></li> 415 <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li> 416 </ul> 417 <div class="top-bar-section section"> 418 <div class="menu"><ul> 419<li class="page_item page-item-14 current_page_item active"><a href="https://capitalconstructionsd.com/home/" aria-current="page">Home</a></li> 420<li class="page_item page-item-15 page_item_has_children has-dropdown not-click"><a href="https://capitalconstructionsd.com/about-us/">About</a> 421<ul class='dropdown'> 422 <li class="page_item page-item-51"><a href="https://capitalconstructionsd.com/about-us/blog/">Blog</a></li> 423 <li class="page_item page-item-47"><a href="https://capitalconstructionsd.com/about-us/reviews/">Reviews</a></li> 424</ul> 425</li> 426<li class="page_item page-item-16 page_item_has_children has-dropdown not-click"><a href="https://capitalconstructionsd.com/services/">Services</a> 427<ul class='dropdown'> 428 <li class="page_item page-item-18"><a href="https://capitalconstructionsd.com/services/concrete-contractor/">Concrete Contractor</a></li> 429 <li class="page_item page-item-20"><a href="https://capitalconstructionsd.com/services/concrete-driveways/">Concrete Driveways</a></li> 430 <li class="page_item page-item-21"><a href="https://capitalconstructionsd.com/services/concrete-flooring/">Concrete Flooring</a></li> 431 <li class="page_item page-item-22"><a href="https://capitalconstructionsd.com/services/concrete-foundations/">Concrete Foundations</a></li> 432 <li class="page_item page-item-23"><a href="https://capitalconstructionsd.com/services/concrete-installation/">Concrete Installation</a></li> 433 <li class="page_item page-item-26"><a href="https://capitalconstructionsd.com/services/concrete-patios/">Concrete Patios</a></li> 434 <li class="page_item page-item-27"><a href="https://capitalconstructionsd.com/services/concrete-removal/">Concrete Removal</a></li> 435 <li class="page_item page-item-28"><a href="https://capitalconstructionsd.com/services/concrete-repair/">Concrete Repair</a></li> 436 <li class="page_item page-item-29"><a href="https://capitalconstructionsd.com/services/concrete-resurfacing/">Concrete Resurfacing</a></li> 437 <li class="page_item page-item-30"><a href="https://capitalconstructionsd.com/services/concrete-staining/">Concrete Staining</a></li> 438 <li class="page_item page-item-31"><a href="https://capitalconstructionsd.com/services/concrete-stairs/">Concrete Stairs</a></li> 439 <li class="page_item page-item-32"><a href="https://capitalconstructionsd.com/services/concrete-walkways/">Concrete Walkways</a></li> 440 <li class="page_item page-item-154"><a href="https://capitalconstructionsd.com/services/construction-contractor/">Construction Contractor</a></li> 441 <li class="page_item page-item-33"><a href="https://capitalconstructionsd.com/services/decorative-concrete/">Decorative Concrete</a></li> 442 <li class="page_item page-item-34"><a href="https://capitalconstructionsd.com/services/foundation-repair/">Foundation Repair</a></li> 443 <li class="page_item page-item-157"><a href="https://capitalconstructionsd.com/services/framing-services/">Framing Services</a></li> 444 <li class="page_item page-item-35"><a href="https://capitalconstructionsd.com/services/garage-concrete/">Garage Concrete</a></li> 445 <li class="page_item page-item-148"><a href="https://capitalconstructionsd.com/services/general-contractor/">General Contractor</a></li> 446 <li class="page_item page-item-159"><a href="https://capitalconstructionsd.com/services/patio-construction/">Patio Construction</a></li> 447 <li class="page_item page-item-37"><a href="https://capitalconstructionsd.com/services/stamped-concrete/">Stamped Concrete</a></li> 448 <li class="page_item page-item-120"><a href="https://capitalconstructionsd.com/services/service-areas/">Service Areas</a></li> 449</ul> 450</li> 451<li class="page_item page-item-38"><a href="https://capitalconstructionsd.com/faq/">FAQ</a></li> 452<li class="page_item page-item-39"><a href="https://capitalconstructionsd.com/gallery/">Gallery</a></li> 453<li class="page_item page-item-40"><a href="https://capitalconstructionsd.com/contact-us/">Contact</a></li> 454</ul></div> 455</div></nav> 456 </div> 457 <div class="large-2 columns header-cta"> 458 <a class="header-cta-btn" href="tel:+16058609102">(605) 860-9102 </a> 459 </div> 460 </div> 461</header>
462<div class="row full hero-section hide-for-medium-down" data-equalizer > 463 <div class="large-4 columns concrete-bg animated onload-50 mobile-bg-removal" data-equalizer-watch > 464 <div class="hero-caption"> 465 <img src="https://capitalconstructionsd.com/wp-content/uploads/sites/1302/2025/08/logo.png" width="200" height="199" alt="Capital Construction LLC Logo"> 466 <p class="title">Concrete Contractor and General Contractor</p> 467 </div> 468 </div> 469 <div class="large-8 columns slider-wrapper hide-for-medium-down strip-padding animated onload-50" data-equalizer-watch > 470 <div class="slick-header-slider"> 471 472 <div> 473 <img src='https://capitalconstructionsd.com/wp-content/uploads/sites/1302/2025/08/slider-1.jpg' alt='Bryant Concrete Contractor, Concrete Company and General Contractor' /> 474 </div> 475 <div> 476 <img src='https://capitalconstructionsd.com/wp-content/uploads/sites/1302/2025/08/slider-2.jpg' alt='Bryant Concrete Contractor, Concrete Company and General Contractor' /> 477 </div> 478 <div> 479 <img src='https://capitalconstructionsd.com/wp-content/uploads/sites/1302/2025/08/slider-3.jpg' alt='Bryant Concrete Contractor, Concrete Company and General Contractor' /> 480 </div></div> 481<div class="slick-button-container"></div>
481<script> 482 jQuery(function($){ 483 // Prefer the specific instance by ID, fall back to class if needed 484 var $slider = $("#slick-0"); 485 if (!$slider.length) $slider = $(".slick-header-slider").first(); 486 if (!$slider.length) return; 487 488 var hasMobileImage = true; 489 var useStatic = hasMobileImage && window.matchMedia("(max-width: 1024px)").matches; 490 491 if (useStatic) { 492 // Replace the slider container with the static image 493 var $img = $("<img>", { 494 src: "https://capitalconstructionsd.com/wp-content/themes/ccon2/images/slider/x.png", 495 alt: "Bryant, Watertown and De Smet Concrete Contractor, Concrete Company and General Contractor" 496 }); 497 $slider.replaceWith($img); 498 return; // do NOT initialize slick 499 } 500 501 // Initialize slick as usual 502 $slider.slick({ 503 slide: 'div', 504 centerMode: false, 505 focusOnSelect: false, 506 507 accessibility: true, 508 pauseOnHover: false, 509 draggable: true, 510 touchMove: true, 511 infinite: true, 512 arrows: false, 513 useCSS: true, 514 swipe: true, 515 516 pauseOnDotsHover: false, 517 adaptiveHeight: false, 518 variableWidth: false, 519 swipeToSlide: false, 520 vertical: false, 521 autoplay: true, 522 dots: false, 523 fade: true, 524 rtl: false, 525 526 appendArrows: '.slick-button-container', 527 528 autoplaySpeed: 5000, 529 easing: 'swing', 530 speed: 1000, 531 slidesToShow: 1, 532 centerPadding: '0', 533 asNavFor: '' 534 }); 535 }); 536 </script>
536 537 538 </div> 539 </div> 540<div class="row full tagline-row hide-for-medium-down animated onload-50 from-top"> 541 <div class="large-6 columns text-right right strip-padding"> 542 <span class="scroll-arrow"></span> 543 <p>Located in Lake Norden servicing Bryant, Watertown, De Smet and surrounding areas</p> 544 </div> 545 </div> 546<div class="mobile-sticky-cta"> 547 <a class="sticky-btn" href="tel:+16058609102">Call Us Now </a> 548 <a href="/contact-us/" class="sticky-btn alt" title="Send Us A Message">Send Us A Message</a> 549 </div><div class="clearfix"></div><main > 550<article class="section-article" > 551 <div class="content-wrapper side-buffer animated onload-50 from-top"> 552 <div class="row full home-bg1 mobile-bg-removal"> 553 <div class="large-6 columns end blue-overlay white-text vertical-padding-x-large strip-padding"> 554 <div class="horizontal-padding-medium"> 555 <h1>Concrete Contractor</h1> 556 <p>Capital Construction LLC is a recognized leader in the concrete construction industry. Our expertise in concrete is unparalleled. For many years, we have been providing customized and comprehensive concrete services.</p> 557 <p>If you need professional advice for your next project or would like to speak to one of our specialists, feel free to contact us at (605) 860-9102 now.</p> 558 </div> 559 <div class="top-padding-xs"> 560 <a class="cta-btn" href="tel:+16058609102">CALL NOW </a> 561 </div> 562 </div> 563 </div> 564 <div class="home-mobile-bg-1"> </div> 565 </div> 566 <div class="content-wrapper side-buffer grey-bg top-space"> 567 <div class="row vertical-padding-large scrollfade from-top" data-equalizer > 568 <div class="large-4 columns home-bg2 hide-for-medium-down mobile-bg-removal" data-equalizer-watch > 569 </div> 570 <div class="large-8 columns vertical-padding-xs mobile-vpad-none" data-equalizer-watch > 571 <h2>Capital Construction LLC: The Concrete Contractor You Can Trust</h2> 572 <p>We donât believe in a âone-size fits allâ approach. Every project we complete is unique, and so are our solutions. Our specialists are very attentive to each of our clientâs needs, and our staff makes every effort to complete all projects within the agreed-upon expectations on timing, delivery, type of service, and budget. As a trusted partner for all concreting needs, we strive to integrate sustainability into all of our practices and products. Our products are non-toxic, environmentally friendly, and sustainable. We ensure that the highest quality and safety standards are met throughout the entire duration of your project, so you have the best possible experience as a customer. 573 <h2>Customized Concrete Solutions for Any Property</h2> 574 <p>When time is of the essence and you need affordable and attractive concrete floors for your outdoor or indoor surfaces, our friendly and professional team is here to assist you. We provide all-inclusive concrete solutions and services from start to finish. We are known for our record of success in planning, executing, and finishing concrete projects of all sizes and complexities. Our concrete installation, repair, resurfacing, removal, and flooring services will enhance the look and feel of any property as well as increase the value and appeal. No matter what type of property you have, or how complex your project is, we can find solutions for every concrete challenge.</p> 575 </div> 576 </div> 577 </div> 578 <div class="content-wrapper side-buffer top-space"> 579 <div class="row full scrollfade from-top" data-equalizer > 580 <div class="large-6 columns home-bg3 hide-for-medium-down mobile-bg-removal" data-equalizer-watch > 581 </div> 582 <div class="large-6 columns grey-bg vertical-padding-medium horizontal-padding-medium" data-equalizer-watch > 583 <h2>A Wide Range of Concrete Construction Services</h2> 584 <p>Our concrete contractors will take the time to assess your specific needs, understand your requirements, and offer unique services and solutions that cater to your project. Thanks to our wide range of products, materials, and methods, we can easily adapt our services to fit your demands, budget, and schedule.</p> 585 <p>Our wide range of concrete solutions and services include but are not limited to:</p> 586 <ul class="square"> 587 <li>Installation, removal, and repair</li> 588 <li>Staining</li> 589 <li>Decorative concrete</li> 590 <li>Walkways, patios, and driveways</li> 591 <li>Stamped concrete</li> 592 <li>And more</li> 593 </ul> 594 </div> 595 </div> 596 </div> 597 <div class="content-wrapper side-buffer top-space">
598 <div class="row scrollfade from-top text-center" data-equalizer > 599 <div class="large-6 medium-6 columns"> 600 <img src="https://capitalconstructionsd.com/wp-content/uploads/sites/1302/2025/08/B1.png" width="300" height="300" loading="lazy" alt="Free Estimates"> 601 </div> 602 <div class="large-6 medium-6 columns"> 603 <img src="https://capitalconstructionsd.com/wp-content/uploads/sites/1302/2025/08/B2.png" width="300" height="300" loading="lazy" alt="Licensed and Insured"> 604 </div> 605 </div> 606 </div> 607 <div class="content-wrapper side-buffer texture-bg top-space"> 608 <div class="row vertical-padding-large scrollfade from-top" data-equalizer > 609 <div class="large-8 columns black-text vertical-padding-xs mobile-vpad-none" data-equalizer-watch > 610 <h2>Trained Concrete Contractors</h2> 611 <p>Our highly trained workforce is our major asset. In addition to being certified and insured, our concrete specialists are continually trained in acquiring the most innovative techniques and use high-quality products. We can solve various concrete problems, offer unique solutions, suggest stunning designs, and create long-lasting concrete surfaces.</p> 612 <h2>Superior and Customized Concrete Results</h2> 613 <p>Our reputation has been built on integrity and transparency. This is why we take pride in offering a detailed consultation to all our clients. Donât waste any more time looking for the best local concrete contractor in your area. Get in touch with our qualified and trusted team of concrete experts now at (605) 860-9102.</p> 614 <p><a href="/contact-us/" class="cta-link" title="Contact Us">Letâs get started on your project!</a></p> 615 </div> 616 <div class="large-4 columns home-bg4 hide-for-medium-down mobile-bg-removal" data-equalizer-watch > 617 </div> 618 </div> 619 </div> 620 </article> 621</main><div class="clearfix"></div> 622<footer class="footer-wrapper"> 623 <div class="content-wrapper side-buffer footer-bg"> 624 <div class="row wide footer-inner vertical-padding-x-large"> 625 <div class="large-4 columns footer-address"> 626 <h2>Contact Info</h2> 627 <p>Lake Norden, SD 57248</p> 628 <p>Phone: (605) 860-9102</p> 629 <p>Email: [email protected]</p> 630 </div> 631 <div class="large-4 columns footer-hours text-center"> 632 <h2>Opening Hours</h2> 633 <p>Mon - Fri: 7:00AM - 5:00PM</p> 634 <p>Sat: By Appointment Only</p> 635 <p>Sun: Closed</p> 636 </div> 637 <!-- [content class="large-4 columns footer-payment text-center"] 638 <h2>Payment Methods</h2> 639 <img src='https://capitalconstructionsd.com/wp-content/themes/ccon2/images/creditcards/Visa.png' title='Visa' alt='Visa payment icon'> <img src='https://capitalconstructionsd.com/wp-content/themes/ccon2/images/creditcards/Mastercard.png' title='Mastercard' alt='Mastercard payment icon'> <img src='https://capitalconstructionsd.com/wp-content/themes/ccon2/images/creditcards/American-Express.png' title='American Express' alt='American Express payment icon'> <img src='https://capitalconstructionsd.com/wp-content/themes/ccon2/images/creditcards/Discover.png' title='Discover' alt='Discover payment icon'> <img src='https://capitalconstructionsd.com/wp-content/themes/ccon2/images/creditcards/Cash.png' title='Cash' alt='Cash payment icon'> <img src='https://capitalconstructionsd.com/wp-content/themes/ccon2/images/creditcards/Check.png' title='Check' alt='Check payment icon'> 640 [/content] --> 641 <!-- [content class="large-2 columns text-center strip-padding footer-social hide-if-no-social"] 642 <h2>Follow Us</h2> 643 [icon link="" icon="fa fa-instagram" title="Instagram" target="blank" class=""] 644 [icon link="" icon="fa fa-facebook" title="Facebook" target="blank" class=""] 645 [icon link="" icon="fa fa-map-marker" title="Google Maps" target="blank" class=""] 646 [/content] --> 647 <div class="large-4 columns lnm-logo text-right"> 648 <img src="https://linknow.com/linknow_images/linknow-logo-grey.png" alt="Website Hosted By LinkNow⢠Media" width="200" height="75" loading="lazy" /> 649 </div> 650 </div> 651 </div> 652</footer><div class="lnm-policies text-center lnm-policy-footer-links"><ul class="lnm-policy-useful-links"><li class="lnm-policy-list-item"><a href="https://capitalconstructionsd.com/policy/privacy-policy/" class="lnm-policy-list-link">Privacy Policy</a></li></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> 653
654<div class="slide-out-wrapper hide-for-medium-down" id="slide-out"> 655 <span class="form-toggle"><i class="toggle-left"></i></span> 656 <div class="slide-out-content"> 657 <div class="slide-out-form"> 658 <h3>Contact us now to get a free estimate</h3> 659 <form id="contactForm" class="contactForm" method="POST"> 660 <input type="hidden" name="submitContact"> 661 <div class="groupWrapper"> 662 <input class="slideOutInput validate[required] shortField" type="text" name="fullName" id="fullName" title="Full Name" placeholder="Enter your full name..."> 663 </div> 664 <div class="groupWrapper"> 665 <input class="slideOutInput validate[required,custom[phone]]" type="text" name="phoneNumber" id="phoneNumber" title="Phone Number" placeholder="Enter your phone number..."> 666 </div> 667 <div class="groupWrapper"> 668 <input class="slideOutInput validate[required,custom[emailAddress]]" type="text" name="emailAddress" id="emailAddress" title="Email Address" placeholder="Enter your email address..."> 669 </div> 670 <div class="groupWrapper"> 671 <textarea class="validate[required]" type="text" name="emailMessage" id="emailMessage" title="Your Message" placeholder="Enter your message..."></textarea> 672 </div> 673 674 <div class="submitWrapper slideOut"> 675 <button type="submit" class="submit right" name="submitContact" id="submitContact">SEND</button> 676 </div> 677 <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> 678 </div> 679 680 </div> 681 682 </div>
683<script type="speculationrules"> 684{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/sites/1302/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/ccon2/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 685</script>
vendor: 1 bytes, line 685
685
686<script type="text/javascript">!function(){ var b=function(){ window.__AudioEyeSiteHash = "548b7c2dcc7a2fb25820d2cc6e545cca"; 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>
686 687<style> 688.lnmreviewform { 689 width: 750px; 690 max-width: 100%; 691 margin: 0 auto; 692} 693.lnmreviewform #lnmreviewtext { 694 min-height: 150px; 695} 696.lnmcr-review-card { 697 margin: 45px auto; 698 padding: 45px 45px 65px 45px; 699 border: 1px solid #CCCCCC; 700 width: 100%; 701 max-width: 750px; 702} 703.lnmcr-review-card-title h3 { 704 margin: 0 auto; 705 706 padding: 0 0 10px 0; 707} 708.lnmcr-review-card-rating { 709 color:#ffcc00; 710 width: 100%; 711 max-width: 165px; 712 font-size: 28px; 713 display: inline-block; 714 float: left; 715} 716.lnmcr-review-card-author { 717 display: inline-block; 718 float: right; 719 padding: 0 25px 0 0; 720 721} 722.lnmcr-review-card-text { 723 margin: 20px 0; 724} 725.lnmcr-review-card-author span { 726 text-transform: capitalize; 727 display: block; 728 position: relative; 729 font-style: italic; 730 font-weight: bold; 731} 732 733 734.lnmcr-review-card-author span::before { 735 content: ""; 736 display: block; 737 width: 15px; 738 height: 1px; 739 background: #CCCCCC; 740 position: absolute; 741 top: 14px; 742 left: -25px; 743} 744 745.lnmcr-row { 746 padding-top: 45px; 747 padding-bottom: 45px; 748} 749.star-rating { 750 font-size: 40px; 751 padding: 0.25em 0.375em; 752 display: inline-flex; 753 flex-flow: row-reverse; 754 755 overflow: hidden; 756 border-radius: 0.75em; 757 background-color: white; 758} 759.star-rating input { 760 appearance:initial; 761 cursor: pointer; 762 position: relative; 763 padding: 0; 764 width: 1em; 765 height: 1em; 766 float: left; 767 text-align: center; 768 line-height: 1em; 769} 770.star-rating input::before, 771.star-rating input::after { 772 display: block; 773 top: 0; 774 bottom: 0; 775 left: 0; 776 right: 0; 777 position: absolute; 778} 779.star-rating input::before { 780 content: ""; 781 background-color: white; 782} 783.star-rating input::after { 784 content: "\2605"; 785 color: #CCCCCC; 786-webkit-transition: color 0.2s ease; 787-moz-transition: color 0.2s ease; 788-ms-transition: color 0.2s ease; 789-o-transition: color 0.2s ease; 790transition: color 0.2s ease; 791} 792.star-rating input:checked::after, 793.star-rating input:checked ~ input::after { 794 color: #ffcc00; 795} 796input.hasError, 797textarea.hasError { 798 border-color: red; 799} 800input.lnmcr-input-error { 801 border: 1px solid red !important; 802} 803input.errorType-charlength { 804 box-shadow: 10px 5px 5px red; 805} 806 807input.error { 808 border: 1px solid red !important; 809 /*box-shadow: 10px 5px 5px red;*/ 810} 811 812.hasError.errorType-charlength::after { 813 /*content: "x";*/ 814} 815.lnmreviewtextformError { 816 display: none !important; 817} 818 819#lnmreviewform .review-error { 820 border: 1px solid red; 821} 822span.success-message { 823 background: #4BB543; 824 color: white; 825 padding: 15px; 826} 827span.error-message { 828 background: #D32F2F; 829 color: white; 830 padding: 15px; 831} 832 833 834 835 836#review-response-container i.fa-solid.fa-spinner.fa-spin-pulse { 837 font-size: 28px; 838} 839 840.lnmcr-review-pagination a, 841.lnmcr-review-pagination span.current { 842 /* padding: 5px 10px; */ 843 background: none; 844 width: 30px; 845 height: 30px; 846 line-height: 26px; 847 margin: 0 2px 0 0; 848 border: 1px solid #CCCCCC; 849 display: inline-block; 850 font-size: 16px; 851} 852.lnmcr-review-pagination span.current { 853 background: #333; 854 color: white; 855} 856.lnmcr-review-pagination a:hover { 857 background: #333; 858 color: white; 859} 860input.review-error, textarea.review-error { 861 margin-bottom: 0; 862} 863.review-error-container { 864 display: none; 865 padding: 10px; 866 border-left: 1px solid red; 867 border-bottom: ; 868 border-bottom: 1px solid red; 869 border-right: 1px solid red; 870 margin-bottom: 25px; 871 color: white; 872 font-weight: bold; 873 background: red; 874} 875 876@media only screen and (max-width: 650px) {.lnmcr-review-card {max-width: 100%;}} 877</style>
vendor: 71 bytes, lines 877-879
877 878 879<script src="https://www.google.com/recaptcha/enterprise.js?render=
8796LflbUQsAAAAADQa-oHKDxYnfKpy0TfaniKv449Y
vendor: 45 bytes, line 879
879" id="lnm-recaptcha-enterprise-js"></script>
880<script id="lnm-recaptcha-enterprise-js-after"> 881/* <![CDATA[ */ 882console.log('[LNM] recaptcha inline loaded'); 883 884(function(){ 885 function ensureHidden(form){ 886 var el = form.querySelector('input[name="g-recaptcha-response"]'); 887 if(!el){ 888 el = document.createElement('input'); 889 el.type = 'hidden'; 890 el.name = 'g-recaptcha-response'; 891 form.appendChild(el); 892 } 893 return el; 894 } 895 896document.addEventListener('click', function(e){ 897 var el = e.target.closest('#contactForm #submitContact, #contactForm .submit, #requestForm #submitContact'); 898 if(!el) return; 899 900 var form = el.closest('form'); 901 if(!form) return; 902 903 // trigger a real submit event path (lets other listeners run) 904 e.preventDefault(); 905 906 if (form.requestSubmit) { 907 form.requestSubmit(); // preferred: dispatches submit event 908 } else { 909 // fallback for older browsers 910 var evt = document.createEvent('Event'); 911 evt.initEvent('submit', true, true); 912 if (form.dispatchEvent(evt)) { 913 form.submit(); 914 } 915 } 916}, true); 917 918 919 920 document.addEventListener('submit', function(e){ 921 var form = e.target; 922 if(!form || form.nodeName !== 'FORM') return; 923 924console.log('[LNM] submit captured', form); 925 926 // Only forms you explicitly mark in the HTML. 927 if(!form.querySelector('input[name="lnm_recaptcha"][value="1"]')) return; 928 929 // Prevent infinite loop: after we inject a token once, allow the submit. 930 if(form.dataset && form.dataset.lnmRecaptchaDone === '1') return; 931 932 var hidden = ensureHidden(form); 933 934 // If we already have a token, let it submit. 935 if(hidden && hidden.value) { 936 if(form.dataset) form.dataset.lnmRecaptchaDone = '1'; 937 return; 938 } 939 940 // If grecaptcha isn't available, DO NOT block submission. 941 // (Server-side enforce may still reject; but UX won't "freeze".) 942 if(!window.grecaptcha || !grecaptcha.enterprise || !grecaptcha.enterprise.execute) { 943 return; 944 } 945 946 // From this point on, we are taking over submission. 947 e.preventDefault(); 948 949 var done = false; 950 951 function finishSubmit(){ 952 if(done) return; 953 done = true; 954 if(form.dataset) form.dataset.lnmRecaptchaDone = '1'; 955 form.submit(); 956 } 957 958 // Hard safety: never allow recaptcha to stall the UX. 959 var timer = setTimeout(function(){ 960 finishSubmit(); // fallback: submit even if token never arrives 961 }, 6000); 962 963 try { 964 grecaptcha.enterprise.ready(function(){ 965 try { 966 var p = grecaptcha.enterprise.execute('6LflbUQsAAAAADQa-oHKDxYnfKpy0TfaniKv449Y', {action: 'lnm_email_122006453'}); 967 if(p && typeof p.then === 'function'){ 968 p.then(function(token){ 969 clearTimeout(timer); 970 hidden.value = token || ''; 971 finishSubmit(); 972 }).catch(function(){ 973 clearTimeout(timer); 974 finishSubmit(); 975 }); 976 } else { 977 clearTimeout(timer); 978 finishSubmit(); 979 } 980 } catch(err){ 981 clearTimeout(timer); 982 finishSubmit(); 983 } 984 }); 985 } catch(err){ 986 clearTimeout(timer); 987 finishSubmit(); 988 } 989 }, true); 990})(); 991//# sourceURL=lnm-recaptcha-enterprise-js-after 992/* ]]> */ 993</script>
vendor: 1 bytes, line 993
993
994<script src="https://capitalconstructionsd.com/wp-content/themes/ccon2/scripts/cookie-js.min.js" id="cookiejs-js"></script>
vendor: 1 bytes, line 994
994
995<script src="https://capitalconstructionsd.com/wp-content/themes/ccon2/scripts/lnm-scripts.min.js" id="lnmscripts-js"></script>
vendor: 1 bytes, line 995
995
996<script src="https://capitalconstructionsd.com/wp-content/themes/ccon2/js/foundation/foundation.equalizer.js" id="equalizer-js"></script>
vendor: 1 bytes, line 996
996
997<script src="https://capitalconstructionsd.com/wp-content/themes/ccon2/slick/slick.js" id="slickjs-js"></script>
vendor: 1 bytes, line 997
997
998<script src="https://capitalconstructionsd.com/wp-content/plugins/linknowmedia-email/scripts/compiled.js" id="formjs-js"></script>
vendor: 1 bytes, line 998
998
999<script id="formjs-js-after"> 1000/* <![CDATA[ */ 1001(function () { 1002 function getForms() { 1003 return Array.prototype.slice.call(document.querySelectorAll('form.contactForm, form#contactForm')); 1004 } 1005 1006 function getKey(form) { 1007 var host = window.location.host || ''; 1008 var path = window.location.pathname || ''; 1009 var formId = form ? (form.id || 'contactForm') : 'contactForm'; 1010 return 'lnm_form_retention:' + host + ':' + path + ':' + formId; 1011 } 1012 1013 function trackedNames() { 1014 return ['fullName', 'phoneNumber', 'emailAddress', 'emailMessage']; 1015 } 1016 1017 function saveForm(form) { 1018 if (!form || !window.sessionStorage) return; 1019 1020 var data = {}; 1021 trackedNames().forEach(function (name) { 1022 var field = form.querySelector('[name="' + name + '"]'); 1023 if (field) { 1024 data[name] = field.value || ''; 1025 } 1026 }); 1027 1028 try { 1029 sessionStorage.setItem(getKey(form), JSON.stringify(data)); 1030 } catch (e) {} 1031 } 1032 1033 function restoreForm(form) { 1034 if (!form || !window.sessionStorage) return; 1035 1036 try { 1037 var raw = sessionStorage.getItem(getKey(form)); 1038 if (!raw) return; 1039 1040 var data = JSON.parse(raw); 1041 if (!data || typeof data !== 'object') return; 1042 1043 trackedNames().forEach(function (name) { 1044 var field = form.querySelector('[name="' + name + '"]'); 1045 if (!field) return; 1046 1047 if ((field.value || '') === '' && typeof data[name] !== 'undefined') { 1048 field.value = data[name]; 1049 } 1050 }); 1051 } catch (e) {} 1052 } 1053 1054 function clearForCurrentPage() { 1055 if (!window.sessionStorage) return; 1056
1057 getForms().forEach(function (form) { 1058 try { 1059 sessionStorage.removeItem(getKey(form)); 1060 } catch (e) {} 1061 }); 1062 1063 if (!getForms().length) { 1064 var host = window.location.host || ''; 1065 var path = window.location.pathname || ''; 1066 try { 1067 sessionStorage.removeItem('lnm_form_retention:' + host + ':' + path + ':contactForm'); 1068 } catch (e) {} 1069 } 1070 } 1071 1072 document.addEventListener('DOMContentLoaded', function () { 1073 var retentionMeta = document.getElementById('lnm-form-retention-meta'); 1074 var shouldRetain = retentionMeta && retentionMeta.getAttribute('data-retain-form') === '1'; 1075 1076 if (!shouldRetain && retentionMeta) { 1077 clearForCurrentPage(); 1078 } 1079 1080 getForms().forEach(function (form) { 1081 restoreForm(form); 1082 1083 trackedNames().forEach(function (name) { 1084 var field = form.querySelector('[name="' + name + '"]'); 1085 if (!field) return; 1086 1087 field.addEventListener('input', function () { 1088 saveForm(form); 1089 }); 1090 1091 field.addEventListener('change', function () { 1092 saveForm(form); 1093 }); 1094 }); 1095 1096 form.addEventListener('submit', function () { 1097 saveForm(form); 1098 }, true); 1099 }); 1100 }); 1101})(); 1102//# sourceURL=formjs-js-after 1103/* ]]> */ 1104</script>
vendor: 1 bytes, line 1104
1104
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.